mediawiki/extensions/AbuseFilter: main (log #1821153)

sourcepatches

This run took 79 seconds.

From f1a0af6c72ed6074100f83d2e3ac4820c0ab9552 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Wed, 26 Mar 2025 00:14:21 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* @wdio/cli: 7.30.2 → 7.40.0
* @wdio/local-runner: 7.30.2 → 7.40.0
* @wdio/mocha-framework: 7.30.2 → 7.40.0
* @wdio/junit-reporter: 7.30.2 → 7.40.0
* @wdio/spec-reporter: 7.30.2 → 7.40.0

Change-Id: I8843225d24bda928027529aec429db345bf96815
---
 package-lock.json | 512 ++++++++++++++++++++++++++++++----------------
 package.json      |  10 +-
 2 files changed, 339 insertions(+), 183 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 7f5aad7..cd65ff3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,11 +6,11 @@
 		"": {
 			"name": "AbuseFilter",
 			"devDependencies": {
-				"@wdio/cli": "7.30.2",
-				"@wdio/junit-reporter": "7.30.2",
-				"@wdio/local-runner": "7.30.2",
-				"@wdio/mocha-framework": "7.30.2",
-				"@wdio/spec-reporter": "7.30.2",
+				"@wdio/cli": "7.40.0",
+				"@wdio/junit-reporter": "7.40.0",
+				"@wdio/local-runner": "7.40.0",
+				"@wdio/mocha-framework": "7.40.0",
+				"@wdio/spec-reporter": "7.40.0",
 				"eslint-config-wikimedia": "0.29.1",
 				"grunt": "1.6.1",
 				"grunt-banana-checker": "0.13.0",
@@ -487,9 +487,9 @@
 			}
 		},
 		"node_modules/@types/aria-query": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz",
-			"integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==",
+			"version": "5.0.4",
+			"resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz",
+			"integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==",
 			"dev": true
 		},
 		"node_modules/@types/cacheable-request": {
@@ -505,9 +505,9 @@
 			}
 		},
 		"node_modules/@types/diff": {
-			"version": "5.0.3",
-			"resolved": "https://registry.npmjs.org/@types/diff/-/diff-5.0.3.tgz",
-			"integrity": "sha512-amrLbRqTU9bXMCc6uX0sWpxsQzRIo9z6MJPkH1pkez/qOxuqSZVuryJAWoBRq94CeG8JxY+VK4Le9HtjQR5T9A==",
+			"version": "5.2.3",
+			"resolved": "https://registry.npmjs.org/@types/diff/-/diff-5.2.3.tgz",
+			"integrity": "sha512-K0Oqlrq3kQMaO2RhfrNQX5trmt+XLyom88zS0u84nnIcLvFnRUMRRHmrGny5GSM+kNO9IZLARsdQHDzkhAgmrQ==",
 			"dev": true
 		},
 		"node_modules/@types/easy-table": {
@@ -543,18 +543,35 @@
 			"dev": true
 		},
 		"node_modules/@types/fs-extra": {
-			"version": "9.0.13",
-			"resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz",
-			"integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==",
+			"version": "11.0.4",
+			"resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.4.tgz",
+			"integrity": "sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==",
+			"dev": true,
+			"dependencies": {
+				"@types/jsonfile": "*",
+				"@types/node": "*"
+			}
+		},
+		"node_modules/@types/glob": {
+			"version": "8.1.0",
+			"resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz",
+			"integrity": "sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==",
 			"dev": true,
 			"dependencies": {
+				"@types/minimatch": "^5.1.2",
 				"@types/node": "*"
 			}
 		},
+		"node_modules/@types/glob/node_modules/@types/minimatch": {
+			"version": "5.1.2",
+			"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
+			"integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
+			"dev": true
+		},
 		"node_modules/@types/http-cache-semantics": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz",
-			"integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==",
+			"version": "4.0.4",
+			"resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz",
+			"integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==",
 			"dev": true
 		},
 		"node_modules/@types/inquirer": {
@@ -603,6 +620,15 @@
 			"integrity": "sha512-UUA1sH0RSRROdInuDOA1yoRzbi5xVFD1RHCoOvNRPTNwR8zBkJ/84PZ6NhKVDtKp0FTeIccJCdQz1X2aJPr4uw==",
 			"dev": true
 		},
+		"node_modules/@types/jsonfile": {
+			"version": "6.1.4",
+			"resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.4.tgz",
+			"integrity": "sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==",
+			"dev": true,
+			"dependencies": {
+				"@types/node": "*"
+			}
+		},
 		"node_modules/@types/keyv": {
 			"version": "3.1.4",
 			"resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
@@ -670,9 +696,9 @@
 			"dev": true
 		},
 		"node_modules/@types/object-inspect": {
-			"version": "1.8.1",
-			"resolved": "https://registry.npmjs.org/@types/object-inspect/-/object-inspect-1.8.1.tgz",
-			"integrity": "sha512-0JTdf3CGV0oWzE6Wa40Ayv2e2GhpP3pEJMcrlM74vBSJPuuNkVwfDnl0SZxyFCXETcB4oKA/MpTVfuYSMOelBg==",
+			"version": "1.13.0",
+			"resolved": "https://registry.npmjs.org/@types/object-inspect/-/object-inspect-1.13.0.tgz",
+			"integrity": "sha512-lwGTVESDDV+XsQ1pH4UifpJ1f7OtXzQ6QBOX2Afq2bM/T3oOt8hF6exJMjjIjtEWeAN2YAo25J7HxWh97CCz9w==",
 			"dev": true
 		},
 		"node_modules/@types/recursive-readdir": {
@@ -685,9 +711,9 @@
 			}
 		},
 		"node_modules/@types/responselike": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
-			"integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz",
+			"integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==",
 			"dev": true,
 			"dependencies": {
 				"@types/node": "*"
@@ -709,9 +735,9 @@
 			}
 		},
 		"node_modules/@types/supports-color": {
-			"version": "8.1.1",
-			"resolved": "https://registry.npmjs.org/@types/supports-color/-/supports-color-8.1.1.tgz",
-			"integrity": "sha512-dPWnWsf+kzIG140B8z2w3fr5D03TLWbOAFQl45xUpI3vcizeXriNR5VYkWZ+WTMsUHqZ9Xlt3hrxGNANFyNQfw==",
+			"version": "8.1.3",
+			"resolved": "https://registry.npmjs.org/@types/supports-color/-/supports-color-8.1.3.tgz",
+			"integrity": "sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==",
 			"dev": true
 		},
 		"node_modules/@types/through": {
@@ -724,15 +750,15 @@
 			}
 		},
 		"node_modules/@types/tmp": {
-			"version": "0.2.3",
-			"resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.3.tgz",
-			"integrity": "sha512-dDZH/tXzwjutnuk4UacGgFRwV+JSLaXL1ikvidfJprkb7L9Nx1njcRHHmi3Dsvt7pgqqTEeucQuOrWHPFgzVHA==",
+			"version": "0.2.6",
+			"resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.6.tgz",
+			"integrity": "sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==",
 			"dev": true
 		},
 		"node_modules/@types/ua-parser-js": {
-			"version": "0.7.36",
-			"resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz",
-			"integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==",
+			"version": "0.7.39",
+			"resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.39.tgz",
+			"integrity": "sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==",
 			"dev": true
 		},
 		"node_modules/@types/validator": {
@@ -763,9 +789,9 @@
 			"dev": true
 		},
 		"node_modules/@types/yauzl": {
-			"version": "2.10.0",
-			"resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
-			"integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
+			"version": "2.10.3",
+			"resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
+			"integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
 			"dev": true,
 			"optional": true,
 			"dependencies": {
@@ -900,37 +926,37 @@
 			"dev": true
 		},
 		"node_modules/@wdio/cli": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-7.30.2.tgz",
-			"integrity": "sha512-UZn90hVNmVybvVWM3jkvho7hgPnjcDX/Yn2TnNMLVJbPLX+s5m08yOs1opKrpTFSU6gQho1aKv36LbVQyIK9eA==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-7.40.0.tgz",
+			"integrity": "sha512-M0txYEqqamBvJe4FEuqwWq1jd879sElF047BXSv2GRu4R1/iEBPYJHjn9KuL60Fkkpp/L1NMHTl7gW9i445edQ==",
 			"dev": true,
 			"dependencies": {
 				"@types/ejs": "^3.0.5",
-				"@types/fs-extra": "^9.0.4",
+				"@types/fs-extra": "^11.0.1",
 				"@types/inquirer": "^8.1.2",
 				"@types/lodash.flattendeep": "^4.4.6",
 				"@types/lodash.pickby": "^4.6.6",
 				"@types/lodash.union": "^4.6.6",
 				"@types/node": "^18.0.0",
 				"@types/recursive-readdir": "^2.2.0",
-				"@wdio/config": "7.30.2",
+				"@wdio/config": "7.40.0",
 				"@wdio/logger": "7.26.0",
 				"@wdio/protocols": "7.27.0",
-				"@wdio/types": "7.30.2",
-				"@wdio/utils": "7.30.2",
+				"@wdio/types": "7.40.0",
+				"@wdio/utils": "7.40.0",
 				"async-exit-hook": "^2.0.1",
 				"chalk": "^4.0.0",
 				"chokidar": "^3.0.0",
 				"cli-spinners": "^2.1.0",
 				"ejs": "^3.0.1",
-				"fs-extra": "^10.0.0",
+				"fs-extra": "^11.1.1",
 				"inquirer": "8.2.4",
 				"lodash.flattendeep": "^4.4.0",
 				"lodash.pickby": "^4.6.0",
 				"lodash.union": "^4.6.0",
-				"mkdirp": "^2.1.5",
+				"mkdirp": "^3.0.0",
 				"recursive-readdir": "^2.2.2",
-				"webdriverio": "7.30.2",
+				"webdriverio": "7.40.0",
 				"yargs": "^17.0.0",
 				"yarn-install": "^1.0.0"
 			},
@@ -942,14 +968,15 @@
 			}
 		},
 		"node_modules/@wdio/config": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.30.2.tgz",
-			"integrity": "sha512-34r7Hp7cLjYRakkpyHPDgUyGPWJNkJpku5WuEH4RJYffGGDjijaYjem+DbI6NQjO8r6RbIJqxpG5xpZ+2xbP+A==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.40.0.tgz",
+			"integrity": "sha512-ayQELXyxa+k9/2a509F5a1oTsCa/w8D1nDrd+hzm+1mYb4Te2lceWCCzm+atGKkMpvjLH4GvhrEBYLh3rIWk2A==",
 			"dev": true,
 			"dependencies": {
+				"@types/glob": "^8.1.0",
 				"@wdio/logger": "7.26.0",
-				"@wdio/types": "7.30.2",
-				"@wdio/utils": "7.30.2",
+				"@wdio/types": "7.40.0",
+				"@wdio/utils": "7.40.0",
 				"deepmerge": "^4.0.0",
 				"glob": "^8.0.3"
 			},
@@ -958,15 +985,15 @@
 			}
 		},
 		"node_modules/@wdio/junit-reporter": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/junit-reporter/-/junit-reporter-7.30.2.tgz",
-			"integrity": "sha512-9jhgZFztnUeNhE2PuJSolD3aJHeYRirmWfjzHEF7efNG8G0DfzqeSpuD0bdBC4r9HUc+IHqRWrwPlIaVWy7CpQ==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/junit-reporter/-/junit-reporter-7.40.0.tgz",
+			"integrity": "sha512-nGxzvdCBHUQOtKbCrihO+MjLdfyeYPVeoCAWBNbPHP06nnjsoVDT7k1Ic7BwAbrDZn1SUOVhwdGOxqDdc1E8Fg==",
 			"dev": true,
 			"dependencies": {
 				"@types/json-stringify-safe": "^5.0.0",
 				"@types/validator": "^13.1.3",
-				"@wdio/reporter": "7.30.2",
-				"@wdio/types": "7.30.2",
+				"@wdio/reporter": "7.40.0",
+				"@wdio/types": "7.40.0",
 				"json-stringify-safe": "^5.0.1",
 				"junit-report-builder": "^3.0.0",
 				"validator": "^13.0.0"
@@ -979,16 +1006,16 @@
 			}
 		},
 		"node_modules/@wdio/local-runner": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-7.30.2.tgz",
-			"integrity": "sha512-R/D21/3p9nl6DKaTVXCijxbetGvg9BDRRU8B8xD/HK+D4FFYtqeA9nYkWTcdiSgZWT/8p0xI28JyOtTivXJG2w==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-7.40.0.tgz",
+			"integrity": "sha512-OBuN7TlFhbPUH7Wbh2S8OKZOjeW4rHXOfuGzJfaKkzjHje2Dqide/uC3Gd25MwmzgZcVkOo9DUYiGFCHXc44ug==",
 			"dev": true,
 			"dependencies": {
 				"@types/stream-buffers": "^3.0.3",
 				"@wdio/logger": "7.26.0",
-				"@wdio/repl": "7.30.2",
-				"@wdio/runner": "7.30.2",
-				"@wdio/types": "7.30.2",
+				"@wdio/repl": "7.40.0",
+				"@wdio/runner": "7.40.0",
+				"@wdio/types": "7.40.0",
 				"async-exit-hook": "^2.0.1",
 				"split2": "^4.0.0",
 				"stream-buffers": "^3.0.2"
@@ -1016,15 +1043,15 @@
 			}
 		},
 		"node_modules/@wdio/mocha-framework": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-7.30.2.tgz",
-			"integrity": "sha512-4D9g1F+7r94Xp0oav7MFGtaQXdRDFFac5IFn9aaxlSHRyee4QTtBk8nx5dsDkleafzZyg4r3TeWMadydRKZZ5Q==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-7.40.0.tgz",
+			"integrity": "sha512-Pc+c4M07qhz3CdhitETWq8htMPb3xwmmQF5CKUpcy+F6nBTy4Q3wDOSLRQnFD7iP+JqnpJ2o3k1NPeuNYc7+CQ==",
 			"dev": true,
 			"dependencies": {
 				"@types/mocha": "^10.0.0",
 				"@wdio/logger": "7.26.0",
-				"@wdio/types": "7.30.2",
-				"@wdio/utils": "7.30.2",
+				"@wdio/types": "7.40.0",
+				"@wdio/utils": "7.40.0",
 				"expect-webdriverio": "^3.0.0",
 				"mocha": "^10.0.0"
 			},
@@ -1042,21 +1069,21 @@
 			}
 		},
 		"node_modules/@wdio/repl": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-7.30.2.tgz",
-			"integrity": "sha512-aW4nuMI+gbRmxmL4jMarBjuiQ+cFscr/8jHDt5hGx/gc/f7ifrZa4t6M5H8vFIKsvjUwl9lZRiVO4NVvvp6+cg==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-7.40.0.tgz",
+			"integrity": "sha512-6tzT7lOMxBwdqMVdW4QxlzrQadGPta4HedFcJo4LyRz9PkXPTF68qeIGs0GyZvy/5AqspNWaAJvIR7f3T3tCyw==",
 			"dev": true,
 			"dependencies": {
-				"@wdio/utils": "7.30.2"
+				"@wdio/utils": "7.40.0"
 			},
 			"engines": {
 				"node": ">=12.0.0"
 			}
 		},
 		"node_modules/@wdio/reporter": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-7.30.2.tgz",
-			"integrity": "sha512-3HHRbD10c8D0wvej4PBSjA92eafNX5itZSZxFPYostVrW6VvwF1G43mEn5fkRa2bAoU+6pshiOAthREFzFE8hg==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-7.40.0.tgz",
+			"integrity": "sha512-nWVh20JONsN4xf2PRWAS+81r1a6t6M5OtlVOti7G8/pODCul1kxmi9l07s0JaU9g64C1nDc4bOxvAPOWR3/wIw==",
 			"dev": true,
 			"dependencies": {
 				"@types/diff": "^5.0.0",
@@ -1064,9 +1091,9 @@
 				"@types/object-inspect": "^1.8.0",
 				"@types/supports-color": "^8.1.0",
 				"@types/tmp": "^0.2.0",
-				"@wdio/types": "7.30.2",
+				"@wdio/types": "7.40.0",
 				"diff": "^5.0.0",
-				"fs-extra": "^10.0.0",
+				"fs-extra": "^11.1.1",
 				"object-inspect": "^1.10.3",
 				"supports-color": "8.1.1"
 			},
@@ -1075,33 +1102,33 @@
 			}
 		},
 		"node_modules/@wdio/runner": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-7.30.2.tgz",
-			"integrity": "sha512-oKgDCf11/p4h1tQodQR/Avmaid0LxiADVedim5i5l9mzotyuE7ePIyz/Pg87GNLeq1jGGvOekcKWlEkE4atpTA==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-7.40.0.tgz",
+			"integrity": "sha512-3dGn8sU9Oc0kTq+hcxNSqkF1acqiTAzamyNWsWXAX7V0FOfZxp0wmD9aMqY+sVT6g8mUE5aePT1ydONE5o+6QA==",
 			"dev": true,
 			"dependencies": {
-				"@wdio/config": "7.30.2",
+				"@wdio/config": "7.40.0",
 				"@wdio/logger": "7.26.0",
-				"@wdio/types": "7.30.2",
-				"@wdio/utils": "7.30.2",
+				"@wdio/types": "7.40.0",
+				"@wdio/utils": "7.40.0",
 				"deepmerge": "^4.0.0",
 				"gaze": "^1.1.2",
-				"webdriver": "7.30.2",
-				"webdriverio": "7.30.2"
+				"webdriver": "7.40.0",
+				"webdriverio": "7.40.0"
 			},
 			"engines": {
 				"node": ">=12.0.0"
 			}
 		},
 		"node_modules/@wdio/spec-reporter": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-7.30.2.tgz",
-			"integrity": "sha512-mWcQPQ47W17uT8+uxjurf/SruHE1b6YdzsrH5Fxepgr80i6bz4Xaxva9Sq6v2Dk+ZqBezULfGhf1KGf0c1uDnw==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-7.40.0.tgz",
+			"integrity": "sha512-DhkfnWrN/X0DKpj/maIsk76yr5iG0t/ZbbajtBXLv9lMn8j+ALY34dfj0mvvTKX77wlzDtgeuC+8BzxPKBWU6g==",
 			"dev": true,
 			"dependencies": {
 				"@types/easy-table": "^1.2.0",
-				"@wdio/reporter": "7.30.2",
-				"@wdio/types": "7.30.2",
+				"@wdio/reporter": "7.40.0",
+				"@wdio/types": "7.40.0",
 				"chalk": "^4.0.0",
 				"easy-table": "^1.1.1",
 				"pretty-ms": "^7.0.0"
@@ -1114,9 +1141,9 @@
 			}
 		},
 		"node_modules/@wdio/types": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.30.2.tgz",
-			"integrity": "sha512-uZ8o7FX8RyBsaXiOWa59UKTCHTtADNvOArYTcHNEIzt+rh4JdB/uwqfc8y4TCNA2kYm7PWaQpUFwpStLeg0H1Q==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz",
+			"integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==",
 			"dev": true,
 			"dependencies": {
 				"@types/node": "^18.0.0",
@@ -1135,13 +1162,13 @@
 			}
 		},
 		"node_modules/@wdio/utils": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.30.2.tgz",
-			"integrity": "sha512-np7I+smszFUennbQKdzbMN/zUL3s3EZq9pCCUcTRjjs9TE4tnn0wfmGdoz2o7REYu6kn9NfFFJyVIM2VtBbKEA==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz",
+			"integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==",
 			"dev": true,
 			"dependencies": {
 				"@wdio/logger": "7.26.0",
-				"@wdio/types": "7.30.2",
+				"@wdio/types": "7.40.0",
 				"p-iteration": "^1.1.8"
 			},
 			"engines": {
@@ -1277,16 +1304,16 @@
 			}
 		},
 		"node_modules/archiver": {
-			"version": "5.3.1",
-			"resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz",
-			"integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz",
+			"integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==",
 			"dev": true,
 			"dependencies": {
 				"archiver-utils": "^2.1.0",
-				"async": "^3.2.3",
+				"async": "^3.2.4",
 				"buffer-crc32": "^0.2.1",
 				"readable-stream": "^3.6.0",
-				"readdir-glob": "^1.0.0",
+				"readdir-glob": "^1.1.2",
 				"tar-stream": "^2.2.0",
 				"zip-stream": "^4.1.0"
 			},
@@ -1319,6 +1346,7 @@
 			"version": "7.2.3",
 			"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
 			"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+			"deprecated": "Glob versions prior to v9 are no longer supported",
 			"dev": true,
 			"dependencies": {
 				"fs.realpath": "^1.0.0",
@@ -1381,12 +1409,12 @@
 			"dev": true
 		},
 		"node_modules/aria-query": {
-			"version": "5.3.0",
-			"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
-			"integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
+			"integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==",
 			"dev": true,
-			"dependencies": {
-				"dequal": "^2.0.3"
+			"engines": {
+				"node": ">= 0.4"
 			}
 		},
 		"node_modules/array-differ": {
@@ -2190,9 +2218,9 @@
 			}
 		},
 		"node_modules/compress-commons": {
-			"version": "4.1.1",
-			"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz",
-			"integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==",
+			"version": "4.1.2",
+			"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz",
+			"integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==",
 			"dev": true,
 			"dependencies": {
 				"buffer-crc32": "^0.2.13",
@@ -2268,9 +2296,9 @@
 			}
 		},
 		"node_modules/crc32-stream": {
-			"version": "4.0.2",
-			"resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz",
-			"integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==",
+			"version": "4.0.3",
+			"resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz",
+			"integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==",
 			"dev": true,
 			"dependencies": {
 				"crc-32": "^1.2.0",
@@ -2313,9 +2341,9 @@
 			}
 		},
 		"node_modules/css-shorthand-properties": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/css-shorthand-properties/-/css-shorthand-properties-1.1.1.tgz",
-			"integrity": "sha512-Md+Juc7M3uOdbAFwOYlTrccIZ7oCFuzrhKYQjdeUEW/sE1hv17Jp/Bws+ReOPpGVBTYCBoYo+G17V5Qo8QQ75A==",
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/css-shorthand-properties/-/css-shorthand-properties-1.1.2.tgz",
+			"integrity": "sha512-C2AugXIpRGQTxaCW0N7n5jD/p5irUmCrwl03TrnMFBHDbdq44CFWR2zO7rK9xPN4Eo3pUxC4vQzQgbIpzrD1PQ==",
 			"dev": true
 		},
 		"node_modules/css-tokenize": {
@@ -2502,15 +2530,6 @@
 				"node": ">=0.4.0"
 			}
 		},
-		"node_modules/dequal": {
-			"version": "2.0.3",
-			"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
-			"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
-			"dev": true,
-			"engines": {
-				"node": ">=6"
-			}
-		},
 		"node_modules/detect-file": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
@@ -2521,21 +2540,21 @@
 			}
 		},
 		"node_modules/devtools": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/devtools/-/devtools-7.30.2.tgz",
-			"integrity": "sha512-aDcSj/L5Z+JPUW9qY9HD+64/HbWmgBpi/9ev6q4e5MHv8CnL5wXQqF7icrJfZOsIl7JC81z8aVUFCPwIjbhgxg==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/devtools/-/devtools-7.40.0.tgz",
+			"integrity": "sha512-hiDPCNG/mpD+bSgegxoe5nwyxWav+QpIvT+7H9D0dUwjB0q04OF473qGflSQ1QpGig6l4qG92tA7dVnLsdP75A==",
 			"dev": true,
 			"dependencies": {
 				"@types/node": "^18.0.0",
 				"@types/ua-parser-js": "^0.7.33",
-				"@wdio/config": "7.30.2",
+				"@wdio/config": "7.40.0",
 				"@wdio/logger": "7.26.0",
 				"@wdio/protocols": "7.27.0",
-				"@wdio/types": "7.30.2",
-				"@wdio/utils": "7.30.2",
+				"@wdio/types": "7.40.0",
+				"@wdio/utils": "7.40.0",
 				"chrome-launcher": "^0.15.0",
 				"edge-paths": "^2.1.0",
-				"puppeteer-core": "^13.1.3",
+				"puppeteer-core": "13.1.3",
 				"query-selector-shadow-dom": "^1.0.0",
 				"ua-parser-js": "^1.0.1",
 				"uuid": "^9.0.0"
@@ -2545,20 +2564,104 @@
 			}
 		},
 		"node_modules/devtools-protocol": {
-			"version": "0.0.1113120",
-			"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1113120.tgz",
-			"integrity": "sha512-jQ+n75ixpBT5aktBmsI/FQx5d26bSuXBd/fe9/bKIIAiKTfFNRT33nOJuBJMZNvxDNA7Wih/QFiIya1K1rdqKQ==",
+			"version": "0.0.1260888",
+			"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1260888.tgz",
+			"integrity": "sha512-9rTIZ4ZjWwalCPiaY+kPiALLfOKgAz5CTi/Zb1L+qSZ8PH3zVo1T8JcgXIIqg1iM3pZ6hF+n9xO5r2jZ/SF+jg==",
+			"dev": true
+		},
+		"node_modules/devtools/node_modules/debug": {
+			"version": "4.3.2",
+			"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+			"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+			"dev": true,
+			"dependencies": {
+				"ms": "2.1.2"
+			},
+			"engines": {
+				"node": ">=6.0"
+			},
+			"peerDependenciesMeta": {
+				"supports-color": {
+					"optional": true
+				}
+			}
+		},
+		"node_modules/devtools/node_modules/devtools-protocol": {
+			"version": "0.0.948846",
+			"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.948846.tgz",
+			"integrity": "sha512-5fGyt9xmMqUl2VI7+rnUkKCiAQIpLns8sfQtTENy5L70ktbNw0Z3TFJ1JoFNYdx/jffz4YXU45VF75wKZD7sZQ==",
 			"dev": true
 		},
+		"node_modules/devtools/node_modules/https-proxy-agent": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
+			"integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+			"dev": true,
+			"dependencies": {
+				"agent-base": "6",
+				"debug": "4"
+			},
+			"engines": {
+				"node": ">= 6"
+			}
+		},
+		"node_modules/devtools/node_modules/puppeteer-core": {
+			"version": "13.1.3",
+			"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-13.1.3.tgz",
+			"integrity": "sha512-96pzvVBzq5lUGt3L/QrIH3mxn3NfZylHeusNhq06xBAHPI0Upc0SC/9u7tXjL0oRnmcExeVRJivr1lj7Ah/yDQ==",
+			"dev": true,
+			"dependencies": {
+				"debug": "4.3.2",
+				"devtools-protocol": "0.0.948846",
+				"extract-zip": "2.0.1",
+				"https-proxy-agent": "5.0.0",
+				"node-fetch": "2.6.7",
+				"pkg-dir": "4.2.0",
+				"progress": "2.0.3",
+				"proxy-from-env": "1.1.0",
+				"rimraf": "3.0.2",
+				"tar-fs": "2.1.1",
+				"unbzip2-stream": "1.4.3",
+				"ws": "8.2.3"
+			},
+			"engines": {
+				"node": ">=10.18.1"
+			}
+		},
 		"node_modules/devtools/node_modules/uuid": {
-			"version": "9.0.0",
-			"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
-			"integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
+			"version": "9.0.1",
+			"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+			"integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
 			"dev": true,
+			"funding": [
+				"https://github.com/sponsors/broofa",
+				"https://github.com/sponsors/ctavan"
+			],
 			"bin": {
 				"uuid": "dist/bin/uuid"
 			}
 		},
+		"node_modules/devtools/node_modules/ws": {
+			"version": "8.2.3",
+			"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
+			"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
+			"dev": true,
+			"engines": {
+				"node": ">=10.0.0"
+			},
+			"peerDependencies": {
+				"bufferutil": "^4.0.1",
+				"utf-8-validate": "^5.0.2"
+			},
+			"peerDependenciesMeta": {
+				"bufferutil": {
+					"optional": true
+				},
+				"utf-8-validate": {
+					"optional": true
+				}
+			}
+		},
 		"node_modules/diff": {
 			"version": "5.2.0",
 			"resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
@@ -3853,9 +3956,9 @@
 			"dev": true
 		},
 		"node_modules/fs-extra": {
-			"version": "10.1.0",
-			"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
-			"integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+			"version": "11.3.0",
+			"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz",
+			"integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==",
 			"dev": true,
 			"dependencies": {
 				"graceful-fs": "^4.2.0",
@@ -3863,7 +3966,7 @@
 				"universalify": "^2.0.0"
 			},
 			"engines": {
-				"node": ">=12"
+				"node": ">=14.14"
 			}
 		},
 		"node_modules/fs.realpath": {
@@ -4111,6 +4214,7 @@
 			"version": "7.1.7",
 			"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
 			"integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+			"deprecated": "Glob versions prior to v9 are no longer supported",
 			"dev": true,
 			"dependencies": {
 				"fs.realpath": "^1.0.0",
@@ -5666,9 +5770,9 @@
 			}
 		},
 		"node_modules/mkdirp": {
-			"version": "2.1.6",
-			"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz",
-			"integrity": "sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==",
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz",
+			"integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==",
 			"dev": true,
 			"bin": {
 				"mkdirp": "dist/cjs/src/bin.js"
@@ -5966,10 +6070,13 @@
 			}
 		},
 		"node_modules/object-inspect": {
-			"version": "1.12.3",
-			"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
-			"integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
+			"version": "1.13.4",
+			"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+			"integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
 			"dev": true,
+			"engines": {
+				"node": ">= 0.4"
+			},
 			"funding": {
 				"url": "https://github.com/sponsors/ljharb"
 			}
@@ -6630,9 +6737,9 @@
 			"dev": true
 		},
 		"node_modules/pump": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
-			"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz",
+			"integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==",
 			"dev": true,
 			"dependencies": {
 				"end-of-stream": "^1.1.0",
@@ -8200,9 +8307,9 @@
 			}
 		},
 		"node_modules/ua-parser-js": {
-			"version": "1.0.35",
-			"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz",
-			"integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==",
+			"version": "1.0.40",
+			"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.40.tgz",
+			"integrity": "sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==",
 			"dev": true,
 			"funding": [
 				{
@@ -8212,8 +8319,15 @@
 				{
 					"type": "paypal",
 					"url": "https://paypal.me/faisalman"
+				},
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/faisalman"
 				}
 			],
+			"bin": {
+				"ua-parser-js": "script/cli.js"
+			},
 			"engines": {
 				"node": "*"
 			}
@@ -8251,9 +8365,9 @@
 			}
 		},
 		"node_modules/universalify": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
-			"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+			"integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
 			"dev": true,
 			"engines": {
 				"node": ">= 10.0.0"
@@ -8412,17 +8526,17 @@
 			}
 		},
 		"node_modules/webdriver": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/webdriver/-/webdriver-7.30.2.tgz",
-			"integrity": "sha512-enUQgJZKKyKTrW100iy5YFPb0kv1v922MJoLCA8uNwBTbW8nq6n7+QzUXWnl+NYUWCEyo/Cs39IKIevwxv36Zg==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/webdriver/-/webdriver-7.40.0.tgz",
+			"integrity": "sha512-CKi3cDWgNVE/ibcsBfdtA+pQVeZ4oYlecLlwemulVxJdgr4l5bv+nXuoIhnYeVb6aAI4naK772vmWQ0XuRYhDQ==",
 			"dev": true,
 			"dependencies": {
 				"@types/node": "^18.0.0",
-				"@wdio/config": "7.30.2",
+				"@wdio/config": "7.40.0",
 				"@wdio/logger": "7.26.0",
 				"@wdio/protocols": "7.27.0",
-				"@wdio/types": "7.30.2",
-				"@wdio/utils": "7.30.2",
+				"@wdio/types": "7.40.0",
+				"@wdio/utils": "7.40.0",
 				"got": "^11.0.2",
 				"ky": "0.30.0",
 				"lodash.merge": "^4.6.1"
@@ -8432,26 +8546,26 @@
 			}
 		},
 		"node_modules/webdriverio": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-7.30.2.tgz",
-			"integrity": "sha512-VwOfPVHZILpnPrtckBjoBl14amW85r/ANIGpcKYfeu/IIRxN5iFjhc+/+AMk4Z3FSG5nx8VuyyULsjU5kuJTUQ==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-7.40.0.tgz",
+			"integrity": "sha512-UswBOjpWwk7ziGi9beZGX/XFrp4m1Ws0ni5HI9mzAkOlpKKKWhnX6i95pWQV6sPF4Urv4RJf8WXayHhTbzXzdA==",
 			"dev": true,
 			"dependencies": {
 				"@types/aria-query": "^5.0.0",
 				"@types/node": "^18.0.0",
-				"@wdio/config": "7.30.2",
+				"@wdio/config": "7.40.0",
 				"@wdio/logger": "7.26.0",
 				"@wdio/protocols": "7.27.0",
-				"@wdio/repl": "7.30.2",
-				"@wdio/types": "7.30.2",
-				"@wdio/utils": "7.30.2",
+				"@wdio/repl": "7.40.0",
+				"@wdio/types": "7.40.0",
+				"@wdio/utils": "7.40.0",
 				"archiver": "^5.0.0",
-				"aria-query": "^5.0.0",
+				"aria-query": "^5.2.1",
 				"css-shorthand-properties": "^1.1.1",
 				"css-value": "^0.0.1",
-				"devtools": "7.30.2",
-				"devtools-protocol": "^0.0.1113120",
-				"fs-extra": "^10.0.0",
+				"devtools": "7.40.0",
+				"devtools-protocol": "^0.0.1260888",
+				"fs-extra": "^11.1.1",
 				"grapheme-splitter": "^1.0.2",
 				"lodash.clonedeep": "^4.5.0",
 				"lodash.isobject": "^3.0.2",
@@ -8463,7 +8577,7 @@
 				"resq": "^1.9.1",
 				"rgb2hex": "0.2.5",
 				"serialize-error": "^8.0.0",
-				"webdriver": "7.30.2"
+				"webdriver": "7.40.0"
 			},
 			"engines": {
 				"node": ">=12.0.0"
@@ -8870,18 +8984,60 @@
 			}
 		},
 		"node_modules/zip-stream": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",
-			"integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz",
+			"integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==",
 			"dev": true,
 			"dependencies": {
-				"archiver-utils": "^2.1.0",
-				"compress-commons": "^4.1.0",
+				"archiver-utils": "^3.0.4",
+				"compress-commons": "^4.1.2",
+				"readable-stream": "^3.6.0"
+			},
+			"engines": {
+				"node": ">= 10"
+			}
+		},
+		"node_modules/zip-stream/node_modules/archiver-utils": {
+			"version": "3.0.4",
+			"resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz",
+			"integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==",
+			"dev": true,
+			"dependencies": {
+				"glob": "^7.2.3",
+				"graceful-fs": "^4.2.0",
+				"lazystream": "^1.0.0",
+				"lodash.defaults": "^4.2.0",
+				"lodash.difference": "^4.5.0",
+				"lodash.flatten": "^4.4.0",
+				"lodash.isplainobject": "^4.0.6",
+				"lodash.union": "^4.6.0",
+				"normalize-path": "^3.0.0",
 				"readable-stream": "^3.6.0"
 			},
 			"engines": {
 				"node": ">= 10"
 			}
+		},
+		"node_modules/zip-stream/node_modules/glob": {
+			"version": "7.2.3",
+			"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+			"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+			"deprecated": "Glob versions prior to v9 are no longer supported",
+			"dev": true,
+			"dependencies": {
+				"fs.realpath": "^1.0.0",
+				"inflight": "^1.0.4",
+				"inherits": "2",
+				"minimatch": "^3.1.1",
+				"once": "^1.3.0",
+				"path-is-absolute": "^1.0.0"
+			},
+			"engines": {
+				"node": "*"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
+			}
 		}
 	}
 }
diff --git a/package.json b/package.json
index 75a6caf..568b639 100644
--- a/package.json
+++ b/package.json
@@ -8,11 +8,11 @@
 		"selenium-test": "wdio tests/selenium/wdio.conf.js"
 	},
 	"devDependencies": {
-		"@wdio/cli": "7.30.2",
-		"@wdio/junit-reporter": "7.30.2",
-		"@wdio/local-runner": "7.30.2",
-		"@wdio/mocha-framework": "7.30.2",
-		"@wdio/spec-reporter": "7.30.2",
+		"@wdio/cli": "7.40.0",
+		"@wdio/junit-reporter": "7.40.0",
+		"@wdio/local-runner": "7.40.0",
+		"@wdio/mocha-framework": "7.40.0",
+		"@wdio/spec-reporter": "7.40.0",
 		"eslint-config-wikimedia": "0.29.1",
 		"grunt": "1.6.1",
 		"grunt-banana-checker": "0.13.0",
-- 
2.39.2

$ date
--- stdout ---
Wed Mar 26 00:13:09 UTC 2025

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-AbuseFilter.git repo --depth=1 -b master
--- stderr ---
Cloning into 'repo'...
--- stdout ---

--- end ---
$ git config user.name libraryupgrader
--- stdout ---

--- end ---
$ git config user.email tools.libraryupgrader@tools.wmflabs.org
--- stdout ---

--- end ---
$ git submodule update --init
--- stdout ---

--- end ---
$ grr init
--- stdout ---
Installed commit-msg hook.

--- end ---
$ git show-ref refs/heads/master
--- stdout ---
8a9bd30265587b3105621508d52babbc838db64f refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@wdio/cli": {
      "name": "@wdio/cli",
      "severity": "high",
      "isDirect": true,
      "via": [
        "webdriverio",
        "yarn-install"
      ],
      "effects": [
        "@wdio/junit-reporter",
        "@wdio/local-runner",
        "@wdio/spec-reporter"
      ],
      "range": "5.4.10 - 8.43.0",
      "nodes": [
        "node_modules/@wdio/cli"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "@wdio/junit-reporter": {
      "name": "@wdio/junit-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/junit-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/junit-reporter",
        "version": "9.11.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/local-runner": {
      "name": "@wdio/local-runner",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "effects": [],
      "range": "6.0.4 - 8.43.0",
      "nodes": [
        "node_modules/@wdio/local-runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "@wdio/runner": {
      "name": "@wdio/runner",
      "severity": "high",
      "isDirect": false,
      "via": [
        "webdriverio"
      ],
      "effects": [
        "@wdio/local-runner"
      ],
      "range": "7.16.5 - 8.43.0",
      "nodes": [
        "node_modules/@wdio/runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "@wdio/spec-reporter": {
      "name": "@wdio/spec-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/spec-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/spec-reporter",
        "version": "9.11.0",
        "isSemVerMajor": true
      }
    },
    "cross-spawn": {
      "name": "cross-spawn",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1100562,
          "name": "cross-spawn",
          "dependency": "cross-spawn",
          "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn",
          "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<6.0.6"
        }
      ],
      "effects": [
        "yarn-install"
      ],
      "range": "<6.0.6",
      "nodes": [
        "node_modules/yarn-install/node_modules/cross-spawn"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "devtools": {
      "name": "devtools",
      "severity": "high",
      "isDirect": false,
      "via": [
        "puppeteer-core"
      ],
      "effects": [],
      "range": ">=7.16.5",
      "nodes": [
        "node_modules/devtools"
      ],
      "fixAvailable": true
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": false
    },
    "puppeteer-core": {
      "name": "puppeteer-core",
      "severity": "high",
      "isDirect": false,
      "via": [
        "ws"
      ],
      "effects": [
        "devtools",
        "webdriverio"
      ],
      "range": "11.0.0 - 22.11.1",
      "nodes": [
        "node_modules/puppeteer-core"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "tough-cookie"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": false
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/tough-cookie"
      ],
      "fixAvailable": false
    },
    "wdio-mediawiki": {
      "name": "wdio-mediawiki",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mwbot"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/wdio-mediawiki"
      ],
      "fixAvailable": false
    },
    "webdriverio": {
      "name": "webdriverio",
      "severity": "high",
      "isDirect": false,
      "via": [
        "devtools",
        "puppeteer-core"
      ],
      "effects": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "range": "7.16.5 - 8.43.0",
      "nodes": [
        "node_modules/webdriverio"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "ws": {
      "name": "ws",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098392,
          "name": "ws",
          "dependency": "ws",
          "title": "ws affected by a DoS when handling a request with many HTTP headers",
          "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
          "severity": "high",
          "cwe": [
            "CWE-476"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=8.0.0 <8.17.1"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "8.0.0 - 8.17.0",
      "nodes": [
        "node_modules/ws"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "yarn-install": {
      "name": "yarn-install",
      "severity": "high",
      "isDirect": false,
      "via": [
        "cross-spawn"
      ],
      "effects": [
        "@wdio/cli"
      ],
      "range": "*",
      "nodes": [
        "node_modules/yarn-install"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 4,
      "high": 11,
      "critical": 0,
      "total": 15
    },
    "dependencies": {
      "prod": 1,
      "dev": 756,
      "optional": 2,
      "peer": 1,
      "peerOptional": 0,
      "total": 756
    }
  }
}

--- end ---
$ /usr/bin/composer install
--- stderr ---
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.
Loading composer repositories with package information
Updating dependencies
Lock file operations: 39 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.3)
  - Locking composer/spdx-licenses (1.5.8)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.0.0)
  - Locking doctrine/deprecations (1.1.4)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v46.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.15.1)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking mediawiki/phan-taint-check-plugin (6.1.0)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.5.0)
  - Locking phan/phan (5.4.5)
  - Locking php-parallel-lint/php-console-color (v1.0.1)
  - Locking php-parallel-lint/php-console-highlighter (v1.0.0)
  - Locking php-parallel-lint/php-parallel-lint (v1.4.0)
  - Locking phpcsstandards/phpcsextra (1.2.1)
  - Locking phpcsstandards/phpcsutils (1.0.12)
  - Locking phpdocumentor/reflection-common (2.2.0)
  - Locking phpdocumentor/reflection-docblock (5.6.1)
  - Locking phpdocumentor/type-resolver (1.10.0)
  - Locking phpstan/phpdoc-parser (2.1.0)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.2)
  - Locking sabre/event (5.1.7)
  - Locking squizlabs/php_codesniffer (3.11.3)
  - Locking symfony/console (v7.2.1)
  - Locking symfony/deprecation-contracts (v3.5.1)
  - Locking symfony/polyfill-ctype (v1.31.0)
  - Locking symfony/polyfill-intl-grapheme (v1.31.0)
  - Locking symfony/polyfill-intl-normalizer (v1.31.0)
  - Locking symfony/polyfill-mbstring (v1.31.0)
  - Locking symfony/polyfill-php80 (v1.31.0)
  - Locking symfony/service-contracts (v3.5.1)
  - Locking symfony/string (v7.2.0)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
  - Locking wikimedia/equivset (1.7.1)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 39 installs, 0 updates, 0 removals
  - Downloading wikimedia/equivset (1.7.1)
 0/1 [>---------------------------]   0%
 1/1 [============================] 100%
  - Installing squizlabs/php_codesniffer (3.11.3): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.0.0): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing symfony/polyfill-php80 (v1.31.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.12): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.31.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.8): Extracting archive
  - Installing composer/semver (3.4.3): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v46.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.31.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.31.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.31.0): Extracting archive
  - Installing symfony/string (v7.2.0): Extracting archive
  - Installing symfony/deprecation-contracts (v3.5.1): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.5.1): Extracting archive
  - Installing symfony/console (v7.2.1): Extracting archive
  - Installing sabre/event (5.1.7): Extracting archive
  - Installing netresearch/jsonmapper (v4.5.0): Extracting archive
  - Installing microsoft/tolerant-php-parser (v0.1.2): Extracting archive
  - Installing webmozart/assert (1.11.0): Extracting archive
  - Installing phpstan/phpdoc-parser (2.1.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.4): Extracting archive
  - Installing phpdocumentor/type-resolver (1.10.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.6.1): Extracting archive
  - Installing felixfbecker/advanced-json-rpc (v3.2.1): Extracting archive
  - Installing psr/log (3.0.2): Extracting archive
  - Installing composer/xdebug-handler (3.0.5): Extracting archive
  - Installing phan/phan (5.4.5): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (6.1.0): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.15.1): Extracting archive
  - Installing mediawiki/minus-x (1.1.3): Extracting archive
  - Installing php-parallel-lint/php-console-color (v1.0.1): Extracting archive
  - Installing php-parallel-lint/php-console-highlighter (v1.0.0): Extracting archive
  - Installing php-parallel-lint/php-parallel-lint (v1.4.0): Extracting archive
  - Installing wikimedia/equivset (1.7.1): Extracting archive
  0/37 [>---------------------------]   0%
 20/37 [===============>------------]  54%
 34/37 [=========================>--]  91%
 37/37 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
16 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
--- stdout ---
PHP CodeSniffer Config installed_paths set to ../../mediawiki/mediawiki-codesniffer,../../phpcsstandards/phpcsextra,../../phpcsstandards/phpcsutils

--- end ---
Upgrading n:@wdio/cli from 7.30.2 -> 7.40.0
Upgrading n:@wdio/local-runner from 7.30.2 -> 7.40.0
Upgrading n:@wdio/mocha-framework from 7.30.2 -> 7.40.0
Upgrading n:@wdio/junit-reporter from 7.30.2 -> 7.40.0
Upgrading n:@wdio/spec-reporter from 7.30.2 -> 7.40.0
$ /usr/bin/npm install
--- stderr ---
npm WARN deprecated @types/easy-table@1.2.0: This is a stub types definition. easy-table provides its own type definitions, so you do not need this installed.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
--- stdout ---

added 764 packages, and audited 765 packages in 11s

130 packages are looking for funding
  run `npm fund` for details

15 vulnerabilities (4 moderate, 11 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

--- end ---
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
$ /usr/bin/npm ci
--- stderr ---
npm WARN deprecated @types/easy-table@1.2.0: This is a stub types definition. easy-table provides its own type definitions, so you do not need this installed.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
--- stdout ---

added 764 packages, and audited 765 packages in 11s

130 packages are looking for funding
  run `npm fund` for details

15 vulnerabilities (4 moderate, 11 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/modules/ext.abuseFilter.edit.js
  144:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  144:3  warning  Prefer .then to .fail  no-jquery/no-done-fail
  191:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  255:4  warning  Prefer .then to .done  no-jquery/no-done-fail
  262:6  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ext.abuseFilter.examine.js
  91:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  91:3  warning  Prefer .then to .fail  no-jquery/no-done-fail

/src/repo/modules/ext.abuseFilter.tools.js
   22:3  warning  Prefer .then to .fail  no-jquery/no-done-fail
   22:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  117:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  117:3  warning  Prefer .then to .fail  no-jquery/no-done-fail

✖ 11 problems (0 errors, 11 warnings)


Running "stylelint:all" (stylelint) task
>> Linted 1 files without errors

Running "banana:AbuseFilter" (banana) task
>> 2 message directories checked.

Done.

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@wdio/cli": {
      "name": "@wdio/cli",
      "severity": "high",
      "isDirect": true,
      "via": [
        "webdriverio",
        "yarn-install"
      ],
      "effects": [
        "@wdio/junit-reporter",
        "@wdio/local-runner",
        "@wdio/spec-reporter"
      ],
      "range": "5.4.10 - 8.43.0",
      "nodes": [
        "node_modules/@wdio/cli"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "@wdio/junit-reporter": {
      "name": "@wdio/junit-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/junit-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/junit-reporter",
        "version": "9.11.0",
        "isSemVerMajor": true
      }
    },
    "@wdio/local-runner": {
      "name": "@wdio/local-runner",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "effects": [],
      "range": "6.0.4 - 8.43.0",
      "nodes": [
        "node_modules/@wdio/local-runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "@wdio/runner": {
      "name": "@wdio/runner",
      "severity": "high",
      "isDirect": false,
      "via": [
        "webdriverio"
      ],
      "effects": [
        "@wdio/local-runner"
      ],
      "range": "7.16.5 - 8.43.0",
      "nodes": [
        "node_modules/@wdio/runner"
      ],
      "fixAvailable": {
        "name": "@wdio/local-runner",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "@wdio/spec-reporter": {
      "name": "@wdio/spec-reporter",
      "severity": "high",
      "isDirect": true,
      "via": [
        "@wdio/cli"
      ],
      "effects": [],
      "range": "6.0.4 - 8.0.0-alpha.631",
      "nodes": [
        "node_modules/@wdio/spec-reporter"
      ],
      "fixAvailable": {
        "name": "@wdio/spec-reporter",
        "version": "9.11.0",
        "isSemVerMajor": true
      }
    },
    "cross-spawn": {
      "name": "cross-spawn",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1100562,
          "name": "cross-spawn",
          "dependency": "cross-spawn",
          "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn",
          "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275",
          "severity": "high",
          "cwe": [
            "CWE-1333"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": "<6.0.6"
        }
      ],
      "effects": [
        "yarn-install"
      ],
      "range": "<6.0.6",
      "nodes": [
        "node_modules/yarn-install/node_modules/cross-spawn"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "devtools": {
      "name": "devtools",
      "severity": "high",
      "isDirect": false,
      "via": [
        "puppeteer-core"
      ],
      "effects": [],
      "range": ">=7.16.5",
      "nodes": [
        "node_modules/devtools"
      ],
      "fixAvailable": true
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": false
    },
    "puppeteer-core": {
      "name": "puppeteer-core",
      "severity": "high",
      "isDirect": false,
      "via": [
        "ws"
      ],
      "effects": [
        "devtools",
        "webdriverio"
      ],
      "range": "11.0.0 - 22.11.1",
      "nodes": [
        "node_modules/devtools/node_modules/puppeteer-core",
        "node_modules/puppeteer-core"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "request": {
      "name": "request",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1096727,
          "name": "request",
          "dependency": "request",
          "title": "Server-Side Request Forgery in Request",
          "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
          "severity": "moderate",
          "cwe": [
            "CWE-918"
          ],
          "cvss": {
            "score": 6.1,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
          },
          "range": "<=2.88.2"
        },
        "tough-cookie"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": false
    },
    "tough-cookie": {
      "name": "tough-cookie",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        {
          "source": 1097682,
          "name": "tough-cookie",
          "dependency": "tough-cookie",
          "title": "tough-cookie Prototype Pollution vulnerability",
          "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
          "severity": "moderate",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 6.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
          },
          "range": "<4.1.3"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<4.1.3",
      "nodes": [
        "node_modules/tough-cookie"
      ],
      "fixAvailable": false
    },
    "wdio-mediawiki": {
      "name": "wdio-mediawiki",
      "severity": "moderate",
      "isDirect": true,
      "via": [
        "mwbot"
      ],
      "effects": [],
      "range": "*",
      "nodes": [
        "node_modules/wdio-mediawiki"
      ],
      "fixAvailable": false
    },
    "webdriverio": {
      "name": "webdriverio",
      "severity": "high",
      "isDirect": false,
      "via": [
        "devtools",
        "puppeteer-core"
      ],
      "effects": [
        "@wdio/cli",
        "@wdio/runner"
      ],
      "range": "7.16.5 - 8.43.0",
      "nodes": [
        "node_modules/webdriverio"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "ws": {
      "name": "ws",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1098392,
          "name": "ws",
          "dependency": "ws",
          "title": "ws affected by a DoS when handling a request with many HTTP headers",
          "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
          "severity": "high",
          "cwe": [
            "CWE-476"
          ],
          "cvss": {
            "score": 7.5,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
          },
          "range": ">=8.0.0 <8.17.1"
        }
      ],
      "effects": [
        "puppeteer-core"
      ],
      "range": "8.0.0 - 8.17.0",
      "nodes": [
        "node_modules/devtools/node_modules/ws",
        "node_modules/ws"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    },
    "yarn-install": {
      "name": "yarn-install",
      "severity": "high",
      "isDirect": false,
      "via": [
        "cross-spawn"
      ],
      "effects": [
        "@wdio/cli"
      ],
      "range": "*",
      "nodes": [
        "node_modules/yarn-install"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.12.1",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 0,
      "moderate": 4,
      "high": 11,
      "critical": 0,
      "total": 15
    },
    "dependencies": {
      "prod": 1,
      "dev": 765,
      "optional": 2,
      "peer": 1,
      "peerOptional": 0,
      "total": 765
    }
  }
}

--- end ---
Attempting to npm audit fix
$ /usr/bin/npm audit fix --dry-run --only=dev --json
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---
{
  "added": 1,
  "removed": 0,
  "changed": 0,
  "audited": 766,
  "funding": 130,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "@wdio/cli": {
        "name": "@wdio/cli",
        "severity": "high",
        "isDirect": true,
        "via": [
          "webdriverio",
          "yarn-install"
        ],
        "effects": [
          "@wdio/junit-reporter",
          "@wdio/local-runner",
          "@wdio/spec-reporter"
        ],
        "range": "5.4.10 - 8.43.0",
        "nodes": [
          "node_modules/@wdio/cli"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.12.1",
          "isSemVerMajor": true
        }
      },
      "@wdio/junit-reporter": {
        "name": "@wdio/junit-reporter",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@wdio/cli"
        ],
        "effects": [],
        "range": "6.0.4 - 8.0.0-alpha.631",
        "nodes": [
          "node_modules/@wdio/junit-reporter"
        ],
        "fixAvailable": {
          "name": "@wdio/junit-reporter",
          "version": "9.11.0",
          "isSemVerMajor": true
        }
      },
      "@wdio/local-runner": {
        "name": "@wdio/local-runner",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@wdio/cli",
          "@wdio/runner"
        ],
        "effects": [],
        "range": "6.0.4 - 8.43.0",
        "nodes": [
          "node_modules/@wdio/local-runner"
        ],
        "fixAvailable": {
          "name": "@wdio/local-runner",
          "version": "9.12.1",
          "isSemVerMajor": true
        }
      },
      "@wdio/runner": {
        "name": "@wdio/runner",
        "severity": "high",
        "isDirect": false,
        "via": [
          "webdriverio"
        ],
        "effects": [
          "@wdio/local-runner"
        ],
        "range": "7.16.5 - 8.43.0",
        "nodes": [
          "node_modules/@wdio/runner"
        ],
        "fixAvailable": {
          "name": "@wdio/local-runner",
          "version": "9.12.1",
          "isSemVerMajor": true
        }
      },
      "@wdio/spec-reporter": {
        "name": "@wdio/spec-reporter",
        "severity": "high",
        "isDirect": true,
        "via": [
          "@wdio/cli"
        ],
        "effects": [],
        "range": "6.0.4 - 8.0.0-alpha.631",
        "nodes": [
          "node_modules/@wdio/spec-reporter"
        ],
        "fixAvailable": {
          "name": "@wdio/spec-reporter",
          "version": "9.11.0",
          "isSemVerMajor": true
        }
      },
      "cross-spawn": {
        "name": "cross-spawn",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1100562,
            "name": "cross-spawn",
            "dependency": "cross-spawn",
            "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn",
            "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275",
            "severity": "high",
            "cwe": [
              "CWE-1333"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": "<6.0.6"
          }
        ],
        "effects": [
          "yarn-install"
        ],
        "range": "<6.0.6",
        "nodes": [
          "node_modules/yarn-install/node_modules/cross-spawn"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.12.1",
          "isSemVerMajor": true
        }
      },
      "devtools": {
        "name": "devtools",
        "severity": "high",
        "isDirect": false,
        "via": [
          "puppeteer-core"
        ],
        "effects": [],
        "range": ">=7.16.5",
        "nodes": [
          "node_modules/devtools"
        ],
        "fixAvailable": true
      },
      "mwbot": {
        "name": "mwbot",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "request"
        ],
        "effects": [
          "wdio-mediawiki"
        ],
        "range": ">=0.1.6",
        "nodes": [
          "node_modules/mwbot"
        ],
        "fixAvailable": false
      },
      "puppeteer-core": {
        "name": "puppeteer-core",
        "severity": "high",
        "isDirect": false,
        "via": [
          "ws"
        ],
        "effects": [
          "devtools",
          "webdriverio"
        ],
        "range": "11.0.0 - 22.11.1",
        "nodes": [
          "node_modules/devtools/node_modules/puppeteer-core",
          "node_modules/puppeteer-core"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.12.1",
          "isSemVerMajor": true
        }
      },
      "request": {
        "name": "request",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1096727,
            "name": "request",
            "dependency": "request",
            "title": "Server-Side Request Forgery in Request",
            "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6",
            "severity": "moderate",
            "cwe": [
              "CWE-918"
            ],
            "cvss": {
              "score": 6.1,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"
            },
            "range": "<=2.88.2"
          },
          "tough-cookie"
        ],
        "effects": [
          "mwbot"
        ],
        "range": "*",
        "nodes": [
          "node_modules/request"
        ],
        "fixAvailable": false
      },
      "tough-cookie": {
        "name": "tough-cookie",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          {
            "source": 1097682,
            "name": "tough-cookie",
            "dependency": "tough-cookie",
            "title": "tough-cookie Prototype Pollution vulnerability",
            "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3",
            "severity": "moderate",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 6.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"
            },
            "range": "<4.1.3"
          }
        ],
        "effects": [
          "request"
        ],
        "range": "<4.1.3",
        "nodes": [
          "node_modules/tough-cookie"
        ],
        "fixAvailable": false
      },
      "wdio-mediawiki": {
        "name": "wdio-mediawiki",
        "severity": "moderate",
        "isDirect": true,
        "via": [
          "mwbot"
        ],
        "effects": [],
        "range": "*",
        "nodes": [
          "node_modules/wdio-mediawiki"
        ],
        "fixAvailable": false
      },
      "webdriverio": {
        "name": "webdriverio",
        "severity": "high",
        "isDirect": false,
        "via": [
          "devtools",
          "puppeteer-core"
        ],
        "effects": [
          "@wdio/cli",
          "@wdio/runner"
        ],
        "range": "7.16.5 - 8.43.0",
        "nodes": [
          "node_modules/webdriverio"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.12.1",
          "isSemVerMajor": true
        }
      },
      "ws": {
        "name": "ws",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1098392,
            "name": "ws",
            "dependency": "ws",
            "title": "ws affected by a DoS when handling a request with many HTTP headers",
            "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q",
            "severity": "high",
            "cwe": [
              "CWE-476"
            ],
            "cvss": {
              "score": 7.5,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"
            },
            "range": ">=8.0.0 <8.17.1"
          }
        ],
        "effects": [
          "puppeteer-core"
        ],
        "range": "8.0.0 - 8.17.0",
        "nodes": [
          "node_modules/devtools/node_modules/ws",
          "node_modules/ws"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.12.1",
          "isSemVerMajor": true
        }
      },
      "yarn-install": {
        "name": "yarn-install",
        "severity": "high",
        "isDirect": false,
        "via": [
          "cross-spawn"
        ],
        "effects": [
          "@wdio/cli"
        ],
        "range": "*",
        "nodes": [
          "node_modules/yarn-install"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.12.1",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 0,
        "moderate": 4,
        "high": 11,
        "critical": 0,
        "total": 15
      },
      "dependencies": {
        "prod": 1,
        "dev": 765,
        "optional": 2,
        "peer": 1,
        "peerOptional": 0,
        "total": 765
      }
    }
  }
}

--- end ---
{"added": 1, "removed": 0, "changed": 0, "audited": 766, "funding": 130, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@wdio/cli": {"name": "@wdio/cli", "severity": "high", "isDirect": true, "via": ["webdriverio", "yarn-install"], "effects": ["@wdio/junit-reporter", "@wdio/local-runner", "@wdio/spec-reporter"], "range": "5.4.10 - 8.43.0", "nodes": ["node_modules/@wdio/cli"], "fixAvailable": {"name": "@wdio/cli", "version": "9.12.1", "isSemVerMajor": true}}, "@wdio/junit-reporter": {"name": "@wdio/junit-reporter", "severity": "high", "isDirect": true, "via": ["@wdio/cli"], "effects": [], "range": "6.0.4 - 8.0.0-alpha.631", "nodes": ["node_modules/@wdio/junit-reporter"], "fixAvailable": {"name": "@wdio/junit-reporter", "version": "9.11.0", "isSemVerMajor": true}}, "@wdio/local-runner": {"name": "@wdio/local-runner", "severity": "high", "isDirect": true, "via": ["@wdio/cli", "@wdio/runner"], "effects": [], "range": "6.0.4 - 8.43.0", "nodes": ["node_modules/@wdio/local-runner"], "fixAvailable": {"name": "@wdio/local-runner", "version": "9.12.1", "isSemVerMajor": true}}, "@wdio/runner": {"name": "@wdio/runner", "severity": "high", "isDirect": false, "via": ["webdriverio"], "effects": ["@wdio/local-runner"], "range": "7.16.5 - 8.43.0", "nodes": ["node_modules/@wdio/runner"], "fixAvailable": {"name": "@wdio/local-runner", "version": "9.12.1", "isSemVerMajor": true}}, "@wdio/spec-reporter": {"name": "@wdio/spec-reporter", "severity": "high", "isDirect": true, "via": ["@wdio/cli"], "effects": [], "range": "6.0.4 - 8.0.0-alpha.631", "nodes": ["node_modules/@wdio/spec-reporter"], "fixAvailable": {"name": "@wdio/spec-reporter", "version": "9.11.0", "isSemVerMajor": true}}, "cross-spawn": {"name": "cross-spawn", "severity": "high", "isDirect": false, "via": [{"source": 1100562, "name": "cross-spawn", "dependency": "cross-spawn", "title": "Regular Expression Denial of Service (ReDoS) in cross-spawn", "url": "https://github.com/advisories/GHSA-3xgq-45jj-v275", "severity": "high", "cwe": ["CWE-1333"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": "<6.0.6"}], "effects": ["yarn-install"], "range": "<6.0.6", "nodes": ["node_modules/yarn-install/node_modules/cross-spawn"], "fixAvailable": {"name": "@wdio/cli", "version": "9.12.1", "isSemVerMajor": true}}, "devtools": {"name": "devtools", "severity": "high", "isDirect": false, "via": ["puppeteer-core"], "effects": [], "range": ">=7.16.5", "nodes": ["node_modules/devtools"], "fixAvailable": true}, "mwbot": {"name": "mwbot", "severity": "moderate", "isDirect": false, "via": ["request"], "effects": ["wdio-mediawiki"], "range": ">=0.1.6", "nodes": ["node_modules/mwbot"], "fixAvailable": false}, "puppeteer-core": {"name": "puppeteer-core", "severity": "high", "isDirect": false, "via": ["ws"], "effects": ["devtools", "webdriverio"], "range": "11.0.0 - 22.11.1", "nodes": ["node_modules/devtools/node_modules/puppeteer-core", "node_modules/puppeteer-core"], "fixAvailable": {"name": "@wdio/cli", "version": "9.12.1", "isSemVerMajor": true}}, "request": {"name": "request", "severity": "moderate", "isDirect": false, "via": [{"source": 1096727, "name": "request", "dependency": "request", "title": "Server-Side Request Forgery in Request", "url": "https://github.com/advisories/GHSA-p8p7-x288-28g6", "severity": "moderate", "cwe": ["CWE-918"], "cvss": {"score": 6.1, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N"}, "range": "<=2.88.2"}, "tough-cookie"], "effects": ["mwbot"], "range": "*", "nodes": ["node_modules/request"], "fixAvailable": false}, "tough-cookie": {"name": "tough-cookie", "severity": "moderate", "isDirect": false, "via": [{"source": 1097682, "name": "tough-cookie", "dependency": "tough-cookie", "title": "tough-cookie Prototype Pollution vulnerability", "url": "https://github.com/advisories/GHSA-72xf-g2v4-qvf3", "severity": "moderate", "cwe": ["CWE-1321"], "cvss": {"score": 6.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N"}, "range": "<4.1.3"}], "effects": ["request"], "range": "<4.1.3", "nodes": ["node_modules/tough-cookie"], "fixAvailable": false}, "wdio-mediawiki": {"name": "wdio-mediawiki", "severity": "moderate", "isDirect": true, "via": ["mwbot"], "effects": [], "range": "*", "nodes": ["node_modules/wdio-mediawiki"], "fixAvailable": false}, "webdriverio": {"name": "webdriverio", "severity": "high", "isDirect": false, "via": ["devtools", "puppeteer-core"], "effects": ["@wdio/cli", "@wdio/runner"], "range": "7.16.5 - 8.43.0", "nodes": ["node_modules/webdriverio"], "fixAvailable": {"name": "@wdio/cli", "version": "9.12.1", "isSemVerMajor": true}}, "ws": {"name": "ws", "severity": "high", "isDirect": false, "via": [{"source": 1098392, "name": "ws", "dependency": "ws", "title": "ws affected by a DoS when handling a request with many HTTP headers", "url": "https://github.com/advisories/GHSA-3h5v-q93c-6h6q", "severity": "high", "cwe": ["CWE-476"], "cvss": {"score": 7.5, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H"}, "range": ">=8.0.0 <8.17.1"}], "effects": ["puppeteer-core"], "range": "8.0.0 - 8.17.0", "nodes": ["node_modules/devtools/node_modules/ws", "node_modules/ws"], "fixAvailable": {"name": "@wdio/cli", "version": "9.12.1", "isSemVerMajor": true}}, "yarn-install": {"name": "yarn-install", "severity": "high", "isDirect": false, "via": ["cross-spawn"], "effects": ["@wdio/cli"], "range": "*", "nodes": ["node_modules/yarn-install"], "fixAvailable": {"name": "@wdio/cli", "version": "9.12.1", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 0, "moderate": 4, "high": 11, "critical": 0, "total": 15}, "dependencies": {"prod": 1, "dev": 765, "optional": 2, "peer": 1, "peerOptional": 0, "total": 765}}}}
$ /usr/bin/npm audit fix --only=dev
--- stderr ---
npm WARN invalid config only="dev" set in command line options
npm WARN invalid config Must be one of: null, prod, production
--- stdout ---

up to date, audited 765 packages in 3s

130 packages are looking for funding
  run `npm fund` for details

# npm audit report

cross-spawn  <6.0.6
Severity: high
Regular Expression Denial of Service (ReDoS) in cross-spawn - https://github.com/advisories/GHSA-3xgq-45jj-v275
fix available via `npm audit fix --force`
Will install @wdio/cli@9.12.1, which is a breaking change
node_modules/yarn-install/node_modules/cross-spawn
  yarn-install  *
  Depends on vulnerable versions of cross-spawn
  node_modules/yarn-install
    @wdio/cli  5.4.10 - 8.43.0
    Depends on vulnerable versions of webdriverio
    Depends on vulnerable versions of yarn-install
    node_modules/@wdio/cli
      @wdio/junit-reporter  6.0.4 - 8.0.0-alpha.631
      Depends on vulnerable versions of @wdio/cli
      node_modules/@wdio/junit-reporter
      @wdio/local-runner  6.0.4 - 8.43.0
      Depends on vulnerable versions of @wdio/cli
      Depends on vulnerable versions of @wdio/runner
      node_modules/@wdio/local-runner
      @wdio/spec-reporter  6.0.4 - 8.0.0-alpha.631
      Depends on vulnerable versions of @wdio/cli
      node_modules/@wdio/spec-reporter

request  *
Severity: moderate
Server-Side Request Forgery in Request - https://github.com/advisories/GHSA-p8p7-x288-28g6
Depends on vulnerable versions of tough-cookie
No fix available
node_modules/request
  mwbot  >=0.1.6
  Depends on vulnerable versions of request
  node_modules/mwbot
    wdio-mediawiki  *
    Depends on vulnerable versions of mwbot
    node_modules/wdio-mediawiki

tough-cookie  <4.1.3
Severity: moderate
tough-cookie Prototype Pollution vulnerability - https://github.com/advisories/GHSA-72xf-g2v4-qvf3
No fix available
node_modules/tough-cookie

ws  8.0.0 - 8.17.0
Severity: high
ws affected by a DoS when handling a request with many HTTP headers - https://github.com/advisories/GHSA-3h5v-q93c-6h6q
fix available via `npm audit fix --force`
Will install @wdio/cli@9.12.1, which is a breaking change
node_modules/devtools/node_modules/ws
node_modules/ws
  puppeteer-core  11.0.0 - 22.11.1
  Depends on vulnerable versions of ws
  node_modules/devtools/node_modules/puppeteer-core
  node_modules/puppeteer-core
    devtools  >=7.16.5
    Depends on vulnerable versions of puppeteer-core
    node_modules/devtools
    webdriverio  7.16.5 - 8.43.0
    Depends on vulnerable versions of devtools
    Depends on vulnerable versions of puppeteer-core
    node_modules/webdriverio
      @wdio/runner  7.16.5 - 8.43.0
      Depends on vulnerable versions of webdriverio
      node_modules/@wdio/runner

15 vulnerabilities (4 moderate, 11 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

--- end ---
Verifying that tests still pass
$ /usr/bin/npm ci
--- stderr ---
npm WARN deprecated @types/easy-table@1.2.0: This is a stub types definition. easy-table provides its own type definitions, so you do not need this installed.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.2.3: Glob versions prior to v9 are no longer supported
npm WARN deprecated glob@7.1.7: Glob versions prior to v9 are no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
--- stdout ---

added 764 packages, and audited 765 packages in 9s

130 packages are looking for funding
  run `npm fund` for details

15 vulnerabilities (4 moderate, 11 high)

To address issues that do not require attention, run:
  npm audit fix

To address all issues possible (including breaking changes), run:
  npm audit fix --force

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

--- end ---
$ /usr/bin/npm test
--- stdout ---

> test
> grunt test

Running "eslint:all" (eslint) task

/src/repo/modules/ext.abuseFilter.edit.js
  144:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  144:3  warning  Prefer .then to .fail  no-jquery/no-done-fail
  191:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  255:4  warning  Prefer .then to .done  no-jquery/no-done-fail
  262:6  warning  Prefer .then to .done  no-jquery/no-done-fail

/src/repo/modules/ext.abuseFilter.examine.js
  91:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  91:3  warning  Prefer .then to .fail  no-jquery/no-done-fail

/src/repo/modules/ext.abuseFilter.tools.js
   22:3  warning  Prefer .then to .fail  no-jquery/no-done-fail
   22:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  117:3  warning  Prefer .then to .done  no-jquery/no-done-fail
  117:3  warning  Prefer .then to .fail  no-jquery/no-done-fail

✖ 11 problems (0 errors, 11 warnings)


Running "stylelint:all" (stylelint) task
>> Linted 1 files without errors

Running "banana:AbuseFilter" (banana) task
>> 2 message directories checked.

Done.

--- end ---
{}
$ package-lock-lint package-lock.json
--- stdout ---
Checking package-lock.json

--- end ---
build: Updating npm dependencies

* @wdio/cli: 7.30.2 → 7.40.0
* @wdio/local-runner: 7.30.2 → 7.40.0
* @wdio/mocha-framework: 7.30.2 → 7.40.0
* @wdio/junit-reporter: 7.30.2 → 7.40.0
* @wdio/spec-reporter: 7.30.2 → 7.40.0

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmp_0fk3d6e
--- stdout ---
[master f1a0af6] build: Updating npm dependencies
 2 files changed, 339 insertions(+), 183 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From f1a0af6c72ed6074100f83d2e3ac4820c0ab9552 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Wed, 26 Mar 2025 00:14:21 +0000
Subject: [PATCH] build: Updating npm dependencies
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

* @wdio/cli: 7.30.2 → 7.40.0
* @wdio/local-runner: 7.30.2 → 7.40.0
* @wdio/mocha-framework: 7.30.2 → 7.40.0
* @wdio/junit-reporter: 7.30.2 → 7.40.0
* @wdio/spec-reporter: 7.30.2 → 7.40.0

Change-Id: I8843225d24bda928027529aec429db345bf96815
---
 package-lock.json | 512 ++++++++++++++++++++++++++++++----------------
 package.json      |  10 +-
 2 files changed, 339 insertions(+), 183 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index 7f5aad7..cd65ff3 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,11 +6,11 @@
 		"": {
 			"name": "AbuseFilter",
 			"devDependencies": {
-				"@wdio/cli": "7.30.2",
-				"@wdio/junit-reporter": "7.30.2",
-				"@wdio/local-runner": "7.30.2",
-				"@wdio/mocha-framework": "7.30.2",
-				"@wdio/spec-reporter": "7.30.2",
+				"@wdio/cli": "7.40.0",
+				"@wdio/junit-reporter": "7.40.0",
+				"@wdio/local-runner": "7.40.0",
+				"@wdio/mocha-framework": "7.40.0",
+				"@wdio/spec-reporter": "7.40.0",
 				"eslint-config-wikimedia": "0.29.1",
 				"grunt": "1.6.1",
 				"grunt-banana-checker": "0.13.0",
@@ -487,9 +487,9 @@
 			}
 		},
 		"node_modules/@types/aria-query": {
-			"version": "5.0.1",
-			"resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.1.tgz",
-			"integrity": "sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==",
+			"version": "5.0.4",
+			"resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz",
+			"integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==",
 			"dev": true
 		},
 		"node_modules/@types/cacheable-request": {
@@ -505,9 +505,9 @@
 			}
 		},
 		"node_modules/@types/diff": {
-			"version": "5.0.3",
-			"resolved": "https://registry.npmjs.org/@types/diff/-/diff-5.0.3.tgz",
-			"integrity": "sha512-amrLbRqTU9bXMCc6uX0sWpxsQzRIo9z6MJPkH1pkez/qOxuqSZVuryJAWoBRq94CeG8JxY+VK4Le9HtjQR5T9A==",
+			"version": "5.2.3",
+			"resolved": "https://registry.npmjs.org/@types/diff/-/diff-5.2.3.tgz",
+			"integrity": "sha512-K0Oqlrq3kQMaO2RhfrNQX5trmt+XLyom88zS0u84nnIcLvFnRUMRRHmrGny5GSM+kNO9IZLARsdQHDzkhAgmrQ==",
 			"dev": true
 		},
 		"node_modules/@types/easy-table": {
@@ -543,18 +543,35 @@
 			"dev": true
 		},
 		"node_modules/@types/fs-extra": {
-			"version": "9.0.13",
-			"resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.13.tgz",
-			"integrity": "sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==",
+			"version": "11.0.4",
+			"resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-11.0.4.tgz",
+			"integrity": "sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==",
+			"dev": true,
+			"dependencies": {
+				"@types/jsonfile": "*",
+				"@types/node": "*"
+			}
+		},
+		"node_modules/@types/glob": {
+			"version": "8.1.0",
+			"resolved": "https://registry.npmjs.org/@types/glob/-/glob-8.1.0.tgz",
+			"integrity": "sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==",
 			"dev": true,
 			"dependencies": {
+				"@types/minimatch": "^5.1.2",
 				"@types/node": "*"
 			}
 		},
+		"node_modules/@types/glob/node_modules/@types/minimatch": {
+			"version": "5.1.2",
+			"resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
+			"integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
+			"dev": true
+		},
 		"node_modules/@types/http-cache-semantics": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz",
-			"integrity": "sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==",
+			"version": "4.0.4",
+			"resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz",
+			"integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==",
 			"dev": true
 		},
 		"node_modules/@types/inquirer": {
@@ -603,6 +620,15 @@
 			"integrity": "sha512-UUA1sH0RSRROdInuDOA1yoRzbi5xVFD1RHCoOvNRPTNwR8zBkJ/84PZ6NhKVDtKp0FTeIccJCdQz1X2aJPr4uw==",
 			"dev": true
 		},
+		"node_modules/@types/jsonfile": {
+			"version": "6.1.4",
+			"resolved": "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.4.tgz",
+			"integrity": "sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==",
+			"dev": true,
+			"dependencies": {
+				"@types/node": "*"
+			}
+		},
 		"node_modules/@types/keyv": {
 			"version": "3.1.4",
 			"resolved": "https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz",
@@ -670,9 +696,9 @@
 			"dev": true
 		},
 		"node_modules/@types/object-inspect": {
-			"version": "1.8.1",
-			"resolved": "https://registry.npmjs.org/@types/object-inspect/-/object-inspect-1.8.1.tgz",
-			"integrity": "sha512-0JTdf3CGV0oWzE6Wa40Ayv2e2GhpP3pEJMcrlM74vBSJPuuNkVwfDnl0SZxyFCXETcB4oKA/MpTVfuYSMOelBg==",
+			"version": "1.13.0",
+			"resolved": "https://registry.npmjs.org/@types/object-inspect/-/object-inspect-1.13.0.tgz",
+			"integrity": "sha512-lwGTVESDDV+XsQ1pH4UifpJ1f7OtXzQ6QBOX2Afq2bM/T3oOt8hF6exJMjjIjtEWeAN2YAo25J7HxWh97CCz9w==",
 			"dev": true
 		},
 		"node_modules/@types/recursive-readdir": {
@@ -685,9 +711,9 @@
 			}
 		},
 		"node_modules/@types/responselike": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz",
-			"integrity": "sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==",
+			"version": "1.0.3",
+			"resolved": "https://registry.npmjs.org/@types/responselike/-/responselike-1.0.3.tgz",
+			"integrity": "sha512-H/+L+UkTV33uf49PH5pCAUBVPNj2nDBXTN+qS1dOwyyg24l3CcicicCA7ca+HMvJBZcFgl5r8e+RR6elsb4Lyw==",
 			"dev": true,
 			"dependencies": {
 				"@types/node": "*"
@@ -709,9 +735,9 @@
 			}
 		},
 		"node_modules/@types/supports-color": {
-			"version": "8.1.1",
-			"resolved": "https://registry.npmjs.org/@types/supports-color/-/supports-color-8.1.1.tgz",
-			"integrity": "sha512-dPWnWsf+kzIG140B8z2w3fr5D03TLWbOAFQl45xUpI3vcizeXriNR5VYkWZ+WTMsUHqZ9Xlt3hrxGNANFyNQfw==",
+			"version": "8.1.3",
+			"resolved": "https://registry.npmjs.org/@types/supports-color/-/supports-color-8.1.3.tgz",
+			"integrity": "sha512-Hy6UMpxhE3j1tLpl27exp1XqHD7n8chAiNPzWfz16LPZoMMoSc4dzLl6w9qijkEb/r5O1ozdu1CWGA2L83ZeZg==",
 			"dev": true
 		},
 		"node_modules/@types/through": {
@@ -724,15 +750,15 @@
 			}
 		},
 		"node_modules/@types/tmp": {
-			"version": "0.2.3",
-			"resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.3.tgz",
-			"integrity": "sha512-dDZH/tXzwjutnuk4UacGgFRwV+JSLaXL1ikvidfJprkb7L9Nx1njcRHHmi3Dsvt7pgqqTEeucQuOrWHPFgzVHA==",
+			"version": "0.2.6",
+			"resolved": "https://registry.npmjs.org/@types/tmp/-/tmp-0.2.6.tgz",
+			"integrity": "sha512-chhaNf2oKHlRkDGt+tiKE2Z5aJ6qalm7Z9rlLdBwmOiAAf09YQvvoLXjWK4HWPF1xU/fqvMgfNfpVoBscA/tKA==",
 			"dev": true
 		},
 		"node_modules/@types/ua-parser-js": {
-			"version": "0.7.36",
-			"resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.36.tgz",
-			"integrity": "sha512-N1rW+njavs70y2cApeIw1vLMYXRwfBy+7trgavGuuTfOd7j1Yh7QTRc/yqsPl6ncokt72ZXuxEU0PiCp9bSwNQ==",
+			"version": "0.7.39",
+			"resolved": "https://registry.npmjs.org/@types/ua-parser-js/-/ua-parser-js-0.7.39.tgz",
+			"integrity": "sha512-P/oDfpofrdtF5xw433SPALpdSchtJmY7nsJItf8h3KXqOslkbySh8zq4dSWXH2oTjRvJ5PczVEoCZPow6GicLg==",
 			"dev": true
 		},
 		"node_modules/@types/validator": {
@@ -763,9 +789,9 @@
 			"dev": true
 		},
 		"node_modules/@types/yauzl": {
-			"version": "2.10.0",
-			"resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
-			"integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
+			"version": "2.10.3",
+			"resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz",
+			"integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==",
 			"dev": true,
 			"optional": true,
 			"dependencies": {
@@ -900,37 +926,37 @@
 			"dev": true
 		},
 		"node_modules/@wdio/cli": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-7.30.2.tgz",
-			"integrity": "sha512-UZn90hVNmVybvVWM3jkvho7hgPnjcDX/Yn2TnNMLVJbPLX+s5m08yOs1opKrpTFSU6gQho1aKv36LbVQyIK9eA==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-7.40.0.tgz",
+			"integrity": "sha512-M0txYEqqamBvJe4FEuqwWq1jd879sElF047BXSv2GRu4R1/iEBPYJHjn9KuL60Fkkpp/L1NMHTl7gW9i445edQ==",
 			"dev": true,
 			"dependencies": {
 				"@types/ejs": "^3.0.5",
-				"@types/fs-extra": "^9.0.4",
+				"@types/fs-extra": "^11.0.1",
 				"@types/inquirer": "^8.1.2",
 				"@types/lodash.flattendeep": "^4.4.6",
 				"@types/lodash.pickby": "^4.6.6",
 				"@types/lodash.union": "^4.6.6",
 				"@types/node": "^18.0.0",
 				"@types/recursive-readdir": "^2.2.0",
-				"@wdio/config": "7.30.2",
+				"@wdio/config": "7.40.0",
 				"@wdio/logger": "7.26.0",
 				"@wdio/protocols": "7.27.0",
-				"@wdio/types": "7.30.2",
-				"@wdio/utils": "7.30.2",
+				"@wdio/types": "7.40.0",
+				"@wdio/utils": "7.40.0",
 				"async-exit-hook": "^2.0.1",
 				"chalk": "^4.0.0",
 				"chokidar": "^3.0.0",
 				"cli-spinners": "^2.1.0",
 				"ejs": "^3.0.1",
-				"fs-extra": "^10.0.0",
+				"fs-extra": "^11.1.1",
 				"inquirer": "8.2.4",
 				"lodash.flattendeep": "^4.4.0",
 				"lodash.pickby": "^4.6.0",
 				"lodash.union": "^4.6.0",
-				"mkdirp": "^2.1.5",
+				"mkdirp": "^3.0.0",
 				"recursive-readdir": "^2.2.2",
-				"webdriverio": "7.30.2",
+				"webdriverio": "7.40.0",
 				"yargs": "^17.0.0",
 				"yarn-install": "^1.0.0"
 			},
@@ -942,14 +968,15 @@
 			}
 		},
 		"node_modules/@wdio/config": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.30.2.tgz",
-			"integrity": "sha512-34r7Hp7cLjYRakkpyHPDgUyGPWJNkJpku5WuEH4RJYffGGDjijaYjem+DbI6NQjO8r6RbIJqxpG5xpZ+2xbP+A==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/config/-/config-7.40.0.tgz",
+			"integrity": "sha512-ayQELXyxa+k9/2a509F5a1oTsCa/w8D1nDrd+hzm+1mYb4Te2lceWCCzm+atGKkMpvjLH4GvhrEBYLh3rIWk2A==",
 			"dev": true,
 			"dependencies": {
+				"@types/glob": "^8.1.0",
 				"@wdio/logger": "7.26.0",
-				"@wdio/types": "7.30.2",
-				"@wdio/utils": "7.30.2",
+				"@wdio/types": "7.40.0",
+				"@wdio/utils": "7.40.0",
 				"deepmerge": "^4.0.0",
 				"glob": "^8.0.3"
 			},
@@ -958,15 +985,15 @@
 			}
 		},
 		"node_modules/@wdio/junit-reporter": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/junit-reporter/-/junit-reporter-7.30.2.tgz",
-			"integrity": "sha512-9jhgZFztnUeNhE2PuJSolD3aJHeYRirmWfjzHEF7efNG8G0DfzqeSpuD0bdBC4r9HUc+IHqRWrwPlIaVWy7CpQ==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/junit-reporter/-/junit-reporter-7.40.0.tgz",
+			"integrity": "sha512-nGxzvdCBHUQOtKbCrihO+MjLdfyeYPVeoCAWBNbPHP06nnjsoVDT7k1Ic7BwAbrDZn1SUOVhwdGOxqDdc1E8Fg==",
 			"dev": true,
 			"dependencies": {
 				"@types/json-stringify-safe": "^5.0.0",
 				"@types/validator": "^13.1.3",
-				"@wdio/reporter": "7.30.2",
-				"@wdio/types": "7.30.2",
+				"@wdio/reporter": "7.40.0",
+				"@wdio/types": "7.40.0",
 				"json-stringify-safe": "^5.0.1",
 				"junit-report-builder": "^3.0.0",
 				"validator": "^13.0.0"
@@ -979,16 +1006,16 @@
 			}
 		},
 		"node_modules/@wdio/local-runner": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-7.30.2.tgz",
-			"integrity": "sha512-R/D21/3p9nl6DKaTVXCijxbetGvg9BDRRU8B8xD/HK+D4FFYtqeA9nYkWTcdiSgZWT/8p0xI28JyOtTivXJG2w==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/local-runner/-/local-runner-7.40.0.tgz",
+			"integrity": "sha512-OBuN7TlFhbPUH7Wbh2S8OKZOjeW4rHXOfuGzJfaKkzjHje2Dqide/uC3Gd25MwmzgZcVkOo9DUYiGFCHXc44ug==",
 			"dev": true,
 			"dependencies": {
 				"@types/stream-buffers": "^3.0.3",
 				"@wdio/logger": "7.26.0",
-				"@wdio/repl": "7.30.2",
-				"@wdio/runner": "7.30.2",
-				"@wdio/types": "7.30.2",
+				"@wdio/repl": "7.40.0",
+				"@wdio/runner": "7.40.0",
+				"@wdio/types": "7.40.0",
 				"async-exit-hook": "^2.0.1",
 				"split2": "^4.0.0",
 				"stream-buffers": "^3.0.2"
@@ -1016,15 +1043,15 @@
 			}
 		},
 		"node_modules/@wdio/mocha-framework": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-7.30.2.tgz",
-			"integrity": "sha512-4D9g1F+7r94Xp0oav7MFGtaQXdRDFFac5IFn9aaxlSHRyee4QTtBk8nx5dsDkleafzZyg4r3TeWMadydRKZZ5Q==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/mocha-framework/-/mocha-framework-7.40.0.tgz",
+			"integrity": "sha512-Pc+c4M07qhz3CdhitETWq8htMPb3xwmmQF5CKUpcy+F6nBTy4Q3wDOSLRQnFD7iP+JqnpJ2o3k1NPeuNYc7+CQ==",
 			"dev": true,
 			"dependencies": {
 				"@types/mocha": "^10.0.0",
 				"@wdio/logger": "7.26.0",
-				"@wdio/types": "7.30.2",
-				"@wdio/utils": "7.30.2",
+				"@wdio/types": "7.40.0",
+				"@wdio/utils": "7.40.0",
 				"expect-webdriverio": "^3.0.0",
 				"mocha": "^10.0.0"
 			},
@@ -1042,21 +1069,21 @@
 			}
 		},
 		"node_modules/@wdio/repl": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-7.30.2.tgz",
-			"integrity": "sha512-aW4nuMI+gbRmxmL4jMarBjuiQ+cFscr/8jHDt5hGx/gc/f7ifrZa4t6M5H8vFIKsvjUwl9lZRiVO4NVvvp6+cg==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-7.40.0.tgz",
+			"integrity": "sha512-6tzT7lOMxBwdqMVdW4QxlzrQadGPta4HedFcJo4LyRz9PkXPTF68qeIGs0GyZvy/5AqspNWaAJvIR7f3T3tCyw==",
 			"dev": true,
 			"dependencies": {
-				"@wdio/utils": "7.30.2"
+				"@wdio/utils": "7.40.0"
 			},
 			"engines": {
 				"node": ">=12.0.0"
 			}
 		},
 		"node_modules/@wdio/reporter": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-7.30.2.tgz",
-			"integrity": "sha512-3HHRbD10c8D0wvej4PBSjA92eafNX5itZSZxFPYostVrW6VvwF1G43mEn5fkRa2bAoU+6pshiOAthREFzFE8hg==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/reporter/-/reporter-7.40.0.tgz",
+			"integrity": "sha512-nWVh20JONsN4xf2PRWAS+81r1a6t6M5OtlVOti7G8/pODCul1kxmi9l07s0JaU9g64C1nDc4bOxvAPOWR3/wIw==",
 			"dev": true,
 			"dependencies": {
 				"@types/diff": "^5.0.0",
@@ -1064,9 +1091,9 @@
 				"@types/object-inspect": "^1.8.0",
 				"@types/supports-color": "^8.1.0",
 				"@types/tmp": "^0.2.0",
-				"@wdio/types": "7.30.2",
+				"@wdio/types": "7.40.0",
 				"diff": "^5.0.0",
-				"fs-extra": "^10.0.0",
+				"fs-extra": "^11.1.1",
 				"object-inspect": "^1.10.3",
 				"supports-color": "8.1.1"
 			},
@@ -1075,33 +1102,33 @@
 			}
 		},
 		"node_modules/@wdio/runner": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-7.30.2.tgz",
-			"integrity": "sha512-oKgDCf11/p4h1tQodQR/Avmaid0LxiADVedim5i5l9mzotyuE7ePIyz/Pg87GNLeq1jGGvOekcKWlEkE4atpTA==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/runner/-/runner-7.40.0.tgz",
+			"integrity": "sha512-3dGn8sU9Oc0kTq+hcxNSqkF1acqiTAzamyNWsWXAX7V0FOfZxp0wmD9aMqY+sVT6g8mUE5aePT1ydONE5o+6QA==",
 			"dev": true,
 			"dependencies": {
-				"@wdio/config": "7.30.2",
+				"@wdio/config": "7.40.0",
 				"@wdio/logger": "7.26.0",
-				"@wdio/types": "7.30.2",
-				"@wdio/utils": "7.30.2",
+				"@wdio/types": "7.40.0",
+				"@wdio/utils": "7.40.0",
 				"deepmerge": "^4.0.0",
 				"gaze": "^1.1.2",
-				"webdriver": "7.30.2",
-				"webdriverio": "7.30.2"
+				"webdriver": "7.40.0",
+				"webdriverio": "7.40.0"
 			},
 			"engines": {
 				"node": ">=12.0.0"
 			}
 		},
 		"node_modules/@wdio/spec-reporter": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-7.30.2.tgz",
-			"integrity": "sha512-mWcQPQ47W17uT8+uxjurf/SruHE1b6YdzsrH5Fxepgr80i6bz4Xaxva9Sq6v2Dk+ZqBezULfGhf1KGf0c1uDnw==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/spec-reporter/-/spec-reporter-7.40.0.tgz",
+			"integrity": "sha512-DhkfnWrN/X0DKpj/maIsk76yr5iG0t/ZbbajtBXLv9lMn8j+ALY34dfj0mvvTKX77wlzDtgeuC+8BzxPKBWU6g==",
 			"dev": true,
 			"dependencies": {
 				"@types/easy-table": "^1.2.0",
-				"@wdio/reporter": "7.30.2",
-				"@wdio/types": "7.30.2",
+				"@wdio/reporter": "7.40.0",
+				"@wdio/types": "7.40.0",
 				"chalk": "^4.0.0",
 				"easy-table": "^1.1.1",
 				"pretty-ms": "^7.0.0"
@@ -1114,9 +1141,9 @@
 			}
 		},
 		"node_modules/@wdio/types": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.30.2.tgz",
-			"integrity": "sha512-uZ8o7FX8RyBsaXiOWa59UKTCHTtADNvOArYTcHNEIzt+rh4JdB/uwqfc8y4TCNA2kYm7PWaQpUFwpStLeg0H1Q==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/types/-/types-7.40.0.tgz",
+			"integrity": "sha512-MWMbU+8uk+JrF7ygP/TJDsaSvFozKauiW6EnG7rxx9+GvU1Q1B3l4UjAc7GDbgLKjwt8T2y5GDRiDoD3UOjVyw==",
 			"dev": true,
 			"dependencies": {
 				"@types/node": "^18.0.0",
@@ -1135,13 +1162,13 @@
 			}
 		},
 		"node_modules/@wdio/utils": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.30.2.tgz",
-			"integrity": "sha512-np7I+smszFUennbQKdzbMN/zUL3s3EZq9pCCUcTRjjs9TE4tnn0wfmGdoz2o7REYu6kn9NfFFJyVIM2VtBbKEA==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-7.40.0.tgz",
+			"integrity": "sha512-jLF57xHmz5nnGuM6ZRWjVYa/LQb22CS7yG50dUFa9wJ509mC1HlUzaA01Gjk9TV5jf9vnwE/yZfUMCoecTgG9w==",
 			"dev": true,
 			"dependencies": {
 				"@wdio/logger": "7.26.0",
-				"@wdio/types": "7.30.2",
+				"@wdio/types": "7.40.0",
 				"p-iteration": "^1.1.8"
 			},
 			"engines": {
@@ -1277,16 +1304,16 @@
 			}
 		},
 		"node_modules/archiver": {
-			"version": "5.3.1",
-			"resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.1.tgz",
-			"integrity": "sha512-8KyabkmbYrH+9ibcTScQ1xCJC/CGcugdVIwB+53f5sZziXgwUh3iXlAlANMxcZyDEfTHMe6+Z5FofV8nopXP7w==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/archiver/-/archiver-5.3.2.tgz",
+			"integrity": "sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==",
 			"dev": true,
 			"dependencies": {
 				"archiver-utils": "^2.1.0",
-				"async": "^3.2.3",
+				"async": "^3.2.4",
 				"buffer-crc32": "^0.2.1",
 				"readable-stream": "^3.6.0",
-				"readdir-glob": "^1.0.0",
+				"readdir-glob": "^1.1.2",
 				"tar-stream": "^2.2.0",
 				"zip-stream": "^4.1.0"
 			},
@@ -1319,6 +1346,7 @@
 			"version": "7.2.3",
 			"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
 			"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+			"deprecated": "Glob versions prior to v9 are no longer supported",
 			"dev": true,
 			"dependencies": {
 				"fs.realpath": "^1.0.0",
@@ -1381,12 +1409,12 @@
 			"dev": true
 		},
 		"node_modules/aria-query": {
-			"version": "5.3.0",
-			"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz",
-			"integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==",
+			"version": "5.3.2",
+			"resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz",
+			"integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==",
 			"dev": true,
-			"dependencies": {
-				"dequal": "^2.0.3"
+			"engines": {
+				"node": ">= 0.4"
 			}
 		},
 		"node_modules/array-differ": {
@@ -2190,9 +2218,9 @@
 			}
 		},
 		"node_modules/compress-commons": {
-			"version": "4.1.1",
-			"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.1.tgz",
-			"integrity": "sha512-QLdDLCKNV2dtoTorqgxngQCMA+gWXkM/Nwu7FpeBhk/RdkzimqC3jueb/FDmaZeXh+uby1jkBqE3xArsLBE5wQ==",
+			"version": "4.1.2",
+			"resolved": "https://registry.npmjs.org/compress-commons/-/compress-commons-4.1.2.tgz",
+			"integrity": "sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==",
 			"dev": true,
 			"dependencies": {
 				"buffer-crc32": "^0.2.13",
@@ -2268,9 +2296,9 @@
 			}
 		},
 		"node_modules/crc32-stream": {
-			"version": "4.0.2",
-			"resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.2.tgz",
-			"integrity": "sha512-DxFZ/Hk473b/muq1VJ///PMNLj0ZMnzye9thBpmjpJKCc5eMgB95aK8zCGrGfQ90cWo561Te6HK9D+j4KPdM6w==",
+			"version": "4.0.3",
+			"resolved": "https://registry.npmjs.org/crc32-stream/-/crc32-stream-4.0.3.tgz",
+			"integrity": "sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==",
 			"dev": true,
 			"dependencies": {
 				"crc-32": "^1.2.0",
@@ -2313,9 +2341,9 @@
 			}
 		},
 		"node_modules/css-shorthand-properties": {
-			"version": "1.1.1",
-			"resolved": "https://registry.npmjs.org/css-shorthand-properties/-/css-shorthand-properties-1.1.1.tgz",
-			"integrity": "sha512-Md+Juc7M3uOdbAFwOYlTrccIZ7oCFuzrhKYQjdeUEW/sE1hv17Jp/Bws+ReOPpGVBTYCBoYo+G17V5Qo8QQ75A==",
+			"version": "1.1.2",
+			"resolved": "https://registry.npmjs.org/css-shorthand-properties/-/css-shorthand-properties-1.1.2.tgz",
+			"integrity": "sha512-C2AugXIpRGQTxaCW0N7n5jD/p5irUmCrwl03TrnMFBHDbdq44CFWR2zO7rK9xPN4Eo3pUxC4vQzQgbIpzrD1PQ==",
 			"dev": true
 		},
 		"node_modules/css-tokenize": {
@@ -2502,15 +2530,6 @@
 				"node": ">=0.4.0"
 			}
 		},
-		"node_modules/dequal": {
-			"version": "2.0.3",
-			"resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
-			"integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
-			"dev": true,
-			"engines": {
-				"node": ">=6"
-			}
-		},
 		"node_modules/detect-file": {
 			"version": "1.0.0",
 			"resolved": "https://registry.npmjs.org/detect-file/-/detect-file-1.0.0.tgz",
@@ -2521,21 +2540,21 @@
 			}
 		},
 		"node_modules/devtools": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/devtools/-/devtools-7.30.2.tgz",
-			"integrity": "sha512-aDcSj/L5Z+JPUW9qY9HD+64/HbWmgBpi/9ev6q4e5MHv8CnL5wXQqF7icrJfZOsIl7JC81z8aVUFCPwIjbhgxg==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/devtools/-/devtools-7.40.0.tgz",
+			"integrity": "sha512-hiDPCNG/mpD+bSgegxoe5nwyxWav+QpIvT+7H9D0dUwjB0q04OF473qGflSQ1QpGig6l4qG92tA7dVnLsdP75A==",
 			"dev": true,
 			"dependencies": {
 				"@types/node": "^18.0.0",
 				"@types/ua-parser-js": "^0.7.33",
-				"@wdio/config": "7.30.2",
+				"@wdio/config": "7.40.0",
 				"@wdio/logger": "7.26.0",
 				"@wdio/protocols": "7.27.0",
-				"@wdio/types": "7.30.2",
-				"@wdio/utils": "7.30.2",
+				"@wdio/types": "7.40.0",
+				"@wdio/utils": "7.40.0",
 				"chrome-launcher": "^0.15.0",
 				"edge-paths": "^2.1.0",
-				"puppeteer-core": "^13.1.3",
+				"puppeteer-core": "13.1.3",
 				"query-selector-shadow-dom": "^1.0.0",
 				"ua-parser-js": "^1.0.1",
 				"uuid": "^9.0.0"
@@ -2545,20 +2564,104 @@
 			}
 		},
 		"node_modules/devtools-protocol": {
-			"version": "0.0.1113120",
-			"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1113120.tgz",
-			"integrity": "sha512-jQ+n75ixpBT5aktBmsI/FQx5d26bSuXBd/fe9/bKIIAiKTfFNRT33nOJuBJMZNvxDNA7Wih/QFiIya1K1rdqKQ==",
+			"version": "0.0.1260888",
+			"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1260888.tgz",
+			"integrity": "sha512-9rTIZ4ZjWwalCPiaY+kPiALLfOKgAz5CTi/Zb1L+qSZ8PH3zVo1T8JcgXIIqg1iM3pZ6hF+n9xO5r2jZ/SF+jg==",
+			"dev": true
+		},
+		"node_modules/devtools/node_modules/debug": {
+			"version": "4.3.2",
+			"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz",
+			"integrity": "sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==",
+			"dev": true,
+			"dependencies": {
+				"ms": "2.1.2"
+			},
+			"engines": {
+				"node": ">=6.0"
+			},
+			"peerDependenciesMeta": {
+				"supports-color": {
+					"optional": true
+				}
+			}
+		},
+		"node_modules/devtools/node_modules/devtools-protocol": {
+			"version": "0.0.948846",
+			"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.948846.tgz",
+			"integrity": "sha512-5fGyt9xmMqUl2VI7+rnUkKCiAQIpLns8sfQtTENy5L70ktbNw0Z3TFJ1JoFNYdx/jffz4YXU45VF75wKZD7sZQ==",
 			"dev": true
 		},
+		"node_modules/devtools/node_modules/https-proxy-agent": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz",
+			"integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==",
+			"dev": true,
+			"dependencies": {
+				"agent-base": "6",
+				"debug": "4"
+			},
+			"engines": {
+				"node": ">= 6"
+			}
+		},
+		"node_modules/devtools/node_modules/puppeteer-core": {
+			"version": "13.1.3",
+			"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-13.1.3.tgz",
+			"integrity": "sha512-96pzvVBzq5lUGt3L/QrIH3mxn3NfZylHeusNhq06xBAHPI0Upc0SC/9u7tXjL0oRnmcExeVRJivr1lj7Ah/yDQ==",
+			"dev": true,
+			"dependencies": {
+				"debug": "4.3.2",
+				"devtools-protocol": "0.0.948846",
+				"extract-zip": "2.0.1",
+				"https-proxy-agent": "5.0.0",
+				"node-fetch": "2.6.7",
+				"pkg-dir": "4.2.0",
+				"progress": "2.0.3",
+				"proxy-from-env": "1.1.0",
+				"rimraf": "3.0.2",
+				"tar-fs": "2.1.1",
+				"unbzip2-stream": "1.4.3",
+				"ws": "8.2.3"
+			},
+			"engines": {
+				"node": ">=10.18.1"
+			}
+		},
 		"node_modules/devtools/node_modules/uuid": {
-			"version": "9.0.0",
-			"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.0.tgz",
-			"integrity": "sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg==",
+			"version": "9.0.1",
+			"resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
+			"integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
 			"dev": true,
+			"funding": [
+				"https://github.com/sponsors/broofa",
+				"https://github.com/sponsors/ctavan"
+			],
 			"bin": {
 				"uuid": "dist/bin/uuid"
 			}
 		},
+		"node_modules/devtools/node_modules/ws": {
+			"version": "8.2.3",
+			"resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
+			"integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
+			"dev": true,
+			"engines": {
+				"node": ">=10.0.0"
+			},
+			"peerDependencies": {
+				"bufferutil": "^4.0.1",
+				"utf-8-validate": "^5.0.2"
+			},
+			"peerDependenciesMeta": {
+				"bufferutil": {
+					"optional": true
+				},
+				"utf-8-validate": {
+					"optional": true
+				}
+			}
+		},
 		"node_modules/diff": {
 			"version": "5.2.0",
 			"resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
@@ -3853,9 +3956,9 @@
 			"dev": true
 		},
 		"node_modules/fs-extra": {
-			"version": "10.1.0",
-			"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
-			"integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
+			"version": "11.3.0",
+			"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.0.tgz",
+			"integrity": "sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==",
 			"dev": true,
 			"dependencies": {
 				"graceful-fs": "^4.2.0",
@@ -3863,7 +3966,7 @@
 				"universalify": "^2.0.0"
 			},
 			"engines": {
-				"node": ">=12"
+				"node": ">=14.14"
 			}
 		},
 		"node_modules/fs.realpath": {
@@ -4111,6 +4214,7 @@
 			"version": "7.1.7",
 			"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz",
 			"integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==",
+			"deprecated": "Glob versions prior to v9 are no longer supported",
 			"dev": true,
 			"dependencies": {
 				"fs.realpath": "^1.0.0",
@@ -5666,9 +5770,9 @@
 			}
 		},
 		"node_modules/mkdirp": {
-			"version": "2.1.6",
-			"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-2.1.6.tgz",
-			"integrity": "sha512-+hEnITedc8LAtIP9u3HJDFIdcLV2vXP33sqLLIzkv1Db1zO/1OxbvYf0Y1OC/S/Qo5dxHXepofhmxL02PsKe+A==",
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz",
+			"integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==",
 			"dev": true,
 			"bin": {
 				"mkdirp": "dist/cjs/src/bin.js"
@@ -5966,10 +6070,13 @@
 			}
 		},
 		"node_modules/object-inspect": {
-			"version": "1.12.3",
-			"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
-			"integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==",
+			"version": "1.13.4",
+			"resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+			"integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
 			"dev": true,
+			"engines": {
+				"node": ">= 0.4"
+			},
 			"funding": {
 				"url": "https://github.com/sponsors/ljharb"
 			}
@@ -6630,9 +6737,9 @@
 			"dev": true
 		},
 		"node_modules/pump": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
-			"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+			"version": "3.0.2",
+			"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz",
+			"integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==",
 			"dev": true,
 			"dependencies": {
 				"end-of-stream": "^1.1.0",
@@ -8200,9 +8307,9 @@
 			}
 		},
 		"node_modules/ua-parser-js": {
-			"version": "1.0.35",
-			"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.35.tgz",
-			"integrity": "sha512-fKnGuqmTBnIE+/KXSzCn4db8RTigUzw1AN0DmdU6hJovUTbYJKyqj+8Mt1c4VfRDnOVJnENmfYkIPZ946UrSAA==",
+			"version": "1.0.40",
+			"resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.40.tgz",
+			"integrity": "sha512-z6PJ8Lml+v3ichVojCiB8toQJBuwR42ySM4ezjXIqXK3M0HczmKQ3LF4rhU55PfD99KEEXQG6yb7iOMyvYuHew==",
 			"dev": true,
 			"funding": [
 				{
@@ -8212,8 +8319,15 @@
 				{
 					"type": "paypal",
 					"url": "https://paypal.me/faisalman"
+				},
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/faisalman"
 				}
 			],
+			"bin": {
+				"ua-parser-js": "script/cli.js"
+			},
 			"engines": {
 				"node": "*"
 			}
@@ -8251,9 +8365,9 @@
 			}
 		},
 		"node_modules/universalify": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
-			"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+			"version": "2.0.1",
+			"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+			"integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
 			"dev": true,
 			"engines": {
 				"node": ">= 10.0.0"
@@ -8412,17 +8526,17 @@
 			}
 		},
 		"node_modules/webdriver": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/webdriver/-/webdriver-7.30.2.tgz",
-			"integrity": "sha512-enUQgJZKKyKTrW100iy5YFPb0kv1v922MJoLCA8uNwBTbW8nq6n7+QzUXWnl+NYUWCEyo/Cs39IKIevwxv36Zg==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/webdriver/-/webdriver-7.40.0.tgz",
+			"integrity": "sha512-CKi3cDWgNVE/ibcsBfdtA+pQVeZ4oYlecLlwemulVxJdgr4l5bv+nXuoIhnYeVb6aAI4naK772vmWQ0XuRYhDQ==",
 			"dev": true,
 			"dependencies": {
 				"@types/node": "^18.0.0",
-				"@wdio/config": "7.30.2",
+				"@wdio/config": "7.40.0",
 				"@wdio/logger": "7.26.0",
 				"@wdio/protocols": "7.27.0",
-				"@wdio/types": "7.30.2",
-				"@wdio/utils": "7.30.2",
+				"@wdio/types": "7.40.0",
+				"@wdio/utils": "7.40.0",
 				"got": "^11.0.2",
 				"ky": "0.30.0",
 				"lodash.merge": "^4.6.1"
@@ -8432,26 +8546,26 @@
 			}
 		},
 		"node_modules/webdriverio": {
-			"version": "7.30.2",
-			"resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-7.30.2.tgz",
-			"integrity": "sha512-VwOfPVHZILpnPrtckBjoBl14amW85r/ANIGpcKYfeu/IIRxN5iFjhc+/+AMk4Z3FSG5nx8VuyyULsjU5kuJTUQ==",
+			"version": "7.40.0",
+			"resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-7.40.0.tgz",
+			"integrity": "sha512-UswBOjpWwk7ziGi9beZGX/XFrp4m1Ws0ni5HI9mzAkOlpKKKWhnX6i95pWQV6sPF4Urv4RJf8WXayHhTbzXzdA==",
 			"dev": true,
 			"dependencies": {
 				"@types/aria-query": "^5.0.0",
 				"@types/node": "^18.0.0",
-				"@wdio/config": "7.30.2",
+				"@wdio/config": "7.40.0",
 				"@wdio/logger": "7.26.0",
 				"@wdio/protocols": "7.27.0",
-				"@wdio/repl": "7.30.2",
-				"@wdio/types": "7.30.2",
-				"@wdio/utils": "7.30.2",
+				"@wdio/repl": "7.40.0",
+				"@wdio/types": "7.40.0",
+				"@wdio/utils": "7.40.0",
 				"archiver": "^5.0.0",
-				"aria-query": "^5.0.0",
+				"aria-query": "^5.2.1",
 				"css-shorthand-properties": "^1.1.1",
 				"css-value": "^0.0.1",
-				"devtools": "7.30.2",
-				"devtools-protocol": "^0.0.1113120",
-				"fs-extra": "^10.0.0",
+				"devtools": "7.40.0",
+				"devtools-protocol": "^0.0.1260888",
+				"fs-extra": "^11.1.1",
 				"grapheme-splitter": "^1.0.2",
 				"lodash.clonedeep": "^4.5.0",
 				"lodash.isobject": "^3.0.2",
@@ -8463,7 +8577,7 @@
 				"resq": "^1.9.1",
 				"rgb2hex": "0.2.5",
 				"serialize-error": "^8.0.0",
-				"webdriver": "7.30.2"
+				"webdriver": "7.40.0"
 			},
 			"engines": {
 				"node": ">=12.0.0"
@@ -8870,18 +8984,60 @@
 			}
 		},
 		"node_modules/zip-stream": {
-			"version": "4.1.0",
-			"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.0.tgz",
-			"integrity": "sha512-zshzwQW7gG7hjpBlgeQP9RuyPGNxvJdzR8SUM3QhxCnLjWN2E7j3dOvpeDcQoETfHx0urRS7EtmVToql7YpU4A==",
+			"version": "4.1.1",
+			"resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz",
+			"integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==",
 			"dev": true,
 			"dependencies": {
-				"archiver-utils": "^2.1.0",
-				"compress-commons": "^4.1.0",
+				"archiver-utils": "^3.0.4",
+				"compress-commons": "^4.1.2",
+				"readable-stream": "^3.6.0"
+			},
+			"engines": {
+				"node": ">= 10"
+			}
+		},
+		"node_modules/zip-stream/node_modules/archiver-utils": {
+			"version": "3.0.4",
+			"resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz",
+			"integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==",
+			"dev": true,
+			"dependencies": {
+				"glob": "^7.2.3",
+				"graceful-fs": "^4.2.0",
+				"lazystream": "^1.0.0",
+				"lodash.defaults": "^4.2.0",
+				"lodash.difference": "^4.5.0",
+				"lodash.flatten": "^4.4.0",
+				"lodash.isplainobject": "^4.0.6",
+				"lodash.union": "^4.6.0",
+				"normalize-path": "^3.0.0",
 				"readable-stream": "^3.6.0"
 			},
 			"engines": {
 				"node": ">= 10"
 			}
+		},
+		"node_modules/zip-stream/node_modules/glob": {
+			"version": "7.2.3",
+			"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+			"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+			"deprecated": "Glob versions prior to v9 are no longer supported",
+			"dev": true,
+			"dependencies": {
+				"fs.realpath": "^1.0.0",
+				"inflight": "^1.0.4",
+				"inherits": "2",
+				"minimatch": "^3.1.1",
+				"once": "^1.3.0",
+				"path-is-absolute": "^1.0.0"
+			},
+			"engines": {
+				"node": "*"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
+			}
 		}
 	}
 }
diff --git a/package.json b/package.json
index 75a6caf..568b639 100644
--- a/package.json
+++ b/package.json
@@ -8,11 +8,11 @@
 		"selenium-test": "wdio tests/selenium/wdio.conf.js"
 	},
 	"devDependencies": {
-		"@wdio/cli": "7.30.2",
-		"@wdio/junit-reporter": "7.30.2",
-		"@wdio/local-runner": "7.30.2",
-		"@wdio/mocha-framework": "7.30.2",
-		"@wdio/spec-reporter": "7.30.2",
+		"@wdio/cli": "7.40.0",
+		"@wdio/junit-reporter": "7.40.0",
+		"@wdio/local-runner": "7.40.0",
+		"@wdio/mocha-framework": "7.40.0",
+		"@wdio/spec-reporter": "7.40.0",
 		"eslint-config-wikimedia": "0.29.1",
 		"grunt": "1.6.1",
 		"grunt-banana-checker": "0.13.0",
-- 
2.39.2


--- end ---
Source code is licensed under the AGPL.