mediawiki/extensions/Math: main (log #2042718)

sourcepatches

This run took 92 seconds.

From 36bdb04c19b51c87e6355680a6f0438c6f9ccf24 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Fri, 8 Aug 2025 03:02:33 +0000
Subject: [PATCH] build: Updating @wdio/cli to 9.18.4

Change-Id: Ieb6e4046c08dbdc0373ced84914d69911b3f7b45
---
 package-lock.json | 2052 +++++++++++++++++++++++++++++++--------------
 package.json      |    2 +-
 2 files changed, 1427 insertions(+), 627 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index d370231..3c16355 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,7 +6,7 @@
 		"": {
 			"name": "Math",
 			"devDependencies": {
-				"@wdio/cli": "9.15.0",
+				"@wdio/cli": "9.18.4",
 				"@wdio/junit-reporter": "9.15.0",
 				"@wdio/local-runner": "9.15.0",
 				"@wdio/mocha-framework": "9.15.0",
@@ -642,64 +642,75 @@
 			"dev": true
 		},
 		"node_modules/@inquirer/checkbox": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-3.0.1.tgz",
-			"integrity": "sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==",
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.2.0.tgz",
+			"integrity": "sha512-fdSw07FLJEU5vbpOPzXo5c6xmMGDzbZE2+niuDHX5N6mc6V0Ebso/q3xiHra4D73+PMsC8MJmcaZKuAAoaQsSA==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/figures": "^1.0.6",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/figures": "^1.0.13",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2",
 				"yoctocolors-cjs": "^2.1.2"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/confirm": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-4.0.1.tgz",
-			"integrity": "sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==",
+			"version": "5.1.14",
+			"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.14.tgz",
+			"integrity": "sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0"
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/core": {
-			"version": "9.2.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz",
-			"integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==",
+			"version": "10.1.15",
+			"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.15.tgz",
+			"integrity": "sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/figures": "^1.0.6",
-				"@inquirer/type": "^2.0.0",
-				"@types/mute-stream": "^0.0.4",
-				"@types/node": "^22.5.5",
-				"@types/wrap-ansi": "^3.0.0",
+				"@inquirer/figures": "^1.0.13",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2",
 				"cli-width": "^4.1.0",
-				"mute-stream": "^1.0.0",
+				"mute-stream": "^2.0.0",
 				"signal-exit": "^4.1.0",
-				"strip-ansi": "^6.0.1",
 				"wrap-ansi": "^6.2.0",
 				"yoctocolors-cjs": "^2.1.2"
 			},
 			"engines": {
 				"node": ">=18"
-			}
-		},
-		"node_modules/@inquirer/core/node_modules/@types/node": {
-			"version": "22.15.31",
-			"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.31.tgz",
-			"integrity": "sha512-jnVe5ULKl6tijxUhvQeNbQG/84fHfg+yMak02cT8QVhBx/F05rAVxCGBYYTh2EKz22D6JF5ktXuNwdx7b9iEGw==",
-			"dev": true,
-			"dependencies": {
-				"undici-types": "~6.21.0"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/core/node_modules/wrap-ansi": {
@@ -717,158 +728,235 @@
 			}
 		},
 		"node_modules/@inquirer/editor": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-3.0.1.tgz",
-			"integrity": "sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==",
+			"version": "4.2.15",
+			"resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.15.tgz",
+			"integrity": "sha512-wst31XT8DnGOSS4nNJDIklGKnf+8shuauVrWzgKegWUe28zfCftcWZ2vktGdzJgcylWSS2SrDnYUb6alZcwnCQ==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8",
 				"external-editor": "^3.1.0"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/expand": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-3.0.1.tgz",
-			"integrity": "sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==",
+			"version": "4.0.17",
+			"resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.17.tgz",
+			"integrity": "sha512-PSqy9VmJx/VbE3CT453yOfNa+PykpKg/0SYP7odez1/NWBGuDXgPhp4AeGYYKjhLn5lUUavVS/JbeYMPdH50Mw==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8",
 				"yoctocolors-cjs": "^2.1.2"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/figures": {
-			"version": "1.0.12",
-			"resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.12.tgz",
-			"integrity": "sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==",
+			"version": "1.0.13",
+			"resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.13.tgz",
+			"integrity": "sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==",
 			"dev": true,
 			"engines": {
 				"node": ">=18"
 			}
 		},
 		"node_modules/@inquirer/input": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/input/-/input-3.0.1.tgz",
-			"integrity": "sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==",
+			"version": "4.2.1",
+			"resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.1.tgz",
+			"integrity": "sha512-tVC+O1rBl0lJpoUZv4xY+WGWY8V5b0zxU1XDsMsIHYregdh7bN5X5QnIONNBAl0K765FYlAfNHS2Bhn7SSOVow==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0"
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/number": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/number/-/number-2.0.1.tgz",
-			"integrity": "sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==",
+			"version": "3.0.17",
+			"resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.17.tgz",
+			"integrity": "sha512-GcvGHkyIgfZgVnnimURdOueMk0CztycfC8NZTiIY9arIAkeOgt6zG57G+7vC59Jns3UX27LMkPKnKWAOF5xEYg==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0"
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/password": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/password/-/password-3.0.1.tgz",
-			"integrity": "sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==",
+			"version": "4.0.17",
+			"resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.17.tgz",
+			"integrity": "sha512-DJolTnNeZ00E1+1TW+8614F7rOJJCM4y4BAGQ3Gq6kQIG+OJ4zr3GLjIjVVJCbKsk2jmkmv6v2kQuN/vriHdZA==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/prompts": {
-			"version": "6.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-6.0.1.tgz",
-			"integrity": "sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.0.tgz",
+			"integrity": "sha512-JHwGbQ6wjf1dxxnalDYpZwZxUEosT+6CPGD9Zh4sm9WXdtUp9XODCQD3NjSTmu+0OAyxWXNOqf0spjIymJa2Tw==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/checkbox": "^3.0.1",
-				"@inquirer/confirm": "^4.0.1",
-				"@inquirer/editor": "^3.0.1",
-				"@inquirer/expand": "^3.0.1",
-				"@inquirer/input": "^3.0.1",
-				"@inquirer/number": "^2.0.1",
-				"@inquirer/password": "^3.0.1",
-				"@inquirer/rawlist": "^3.0.1",
-				"@inquirer/search": "^2.0.1",
-				"@inquirer/select": "^3.0.1"
+				"@inquirer/checkbox": "^4.2.0",
+				"@inquirer/confirm": "^5.1.14",
+				"@inquirer/editor": "^4.2.15",
+				"@inquirer/expand": "^4.0.17",
+				"@inquirer/input": "^4.2.1",
+				"@inquirer/number": "^3.0.17",
+				"@inquirer/password": "^4.0.17",
+				"@inquirer/rawlist": "^4.1.5",
+				"@inquirer/search": "^3.1.0",
+				"@inquirer/select": "^4.3.1"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/rawlist": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-3.0.1.tgz",
-			"integrity": "sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==",
+			"version": "4.1.5",
+			"resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.5.tgz",
+			"integrity": "sha512-R5qMyGJqtDdi4Ht521iAkNqyB6p2UPuZUbMifakg1sWtu24gc2Z8CJuw8rP081OckNDMgtDCuLe42Q2Kr3BolA==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8",
 				"yoctocolors-cjs": "^2.1.2"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/search": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/search/-/search-2.0.1.tgz",
-			"integrity": "sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.1.0.tgz",
+			"integrity": "sha512-PMk1+O/WBcYJDq2H7foV0aAZSmDdkzZB9Mw2v/DmONRJopwA/128cS9M/TXWLKKdEQKZnKwBzqu2G4x/2Nqx8Q==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/figures": "^1.0.6",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/figures": "^1.0.13",
+				"@inquirer/type": "^3.0.8",
 				"yoctocolors-cjs": "^2.1.2"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/select": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/select/-/select-3.0.1.tgz",
-			"integrity": "sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==",
+			"version": "4.3.1",
+			"resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.3.1.tgz",
+			"integrity": "sha512-Gfl/5sqOF5vS/LIrSndFgOh7jgoe0UXEizDqahFRkq5aJBLegZ6WjuMh/hVEJwlFQjyLq1z9fRtvUMkb7jM1LA==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/figures": "^1.0.6",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/figures": "^1.0.13",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2",
 				"yoctocolors-cjs": "^2.1.2"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/type": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz",
-			"integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==",
+			"version": "3.0.8",
+			"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.8.tgz",
+			"integrity": "sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==",
 			"dev": true,
-			"dependencies": {
-				"mute-stream": "^1.0.0"
-			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@isaacs/cliui": {
@@ -967,45 +1055,77 @@
 				"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
 			}
 		},
+		"node_modules/@jest/diff-sequences": {
+			"version": "30.0.1",
+			"resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz",
+			"integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==",
+			"dev": true,
+			"engines": {
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+			}
+		},
 		"node_modules/@jest/expect-utils": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
-			"integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.0.5.tgz",
+			"integrity": "sha512-F3lmTT7CXWYywoVUGTCmom0vXq3HTTkaZyTAzIy+bXSBizB7o5qzlC9VCtq0arOa8GqmNsbg/cE9C6HLn7Szew==",
+			"dev": true,
+			"dependencies": {
+				"@jest/get-type": "30.0.1"
+			},
+			"engines": {
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+			}
+		},
+		"node_modules/@jest/get-type": {
+			"version": "30.0.1",
+			"resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.0.1.tgz",
+			"integrity": "sha512-AyYdemXCptSRFirI5EPazNxyPwAL0jXt3zceFjaj8NFiKP9pOi0bfXonf6qkf82z2t3QWPeLCWWw4stPBzctLw==",
+			"dev": true,
+			"engines": {
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+			}
+		},
+		"node_modules/@jest/pattern": {
+			"version": "30.0.1",
+			"resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz",
+			"integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==",
 			"dev": true,
 			"dependencies": {
-				"jest-get-type": "^29.6.3"
+				"@types/node": "*",
+				"jest-regex-util": "30.0.1"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
 		"node_modules/@jest/schemas": {
-			"version": "29.6.3",
-			"resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
-			"integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz",
+			"integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==",
 			"dev": true,
 			"dependencies": {
-				"@sinclair/typebox": "^0.27.8"
+				"@sinclair/typebox": "^0.34.0"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
 		"node_modules/@jest/types": {
-			"version": "29.6.3",
-			"resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
-			"integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz",
+			"integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==",
 			"dev": true,
 			"dependencies": {
-				"@jest/schemas": "^29.6.3",
-				"@types/istanbul-lib-coverage": "^2.0.0",
-				"@types/istanbul-reports": "^3.0.0",
+				"@jest/pattern": "30.0.1",
+				"@jest/schemas": "30.0.5",
+				"@types/istanbul-lib-coverage": "^2.0.6",
+				"@types/istanbul-reports": "^3.0.4",
 				"@types/node": "*",
-				"@types/yargs": "^17.0.8",
-				"chalk": "^4.0.0"
+				"@types/yargs": "^17.0.33",
+				"chalk": "^4.1.2"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
 		"node_modules/@jridgewell/sourcemap-codec": {
@@ -1145,9 +1265,9 @@
 			"dev": true
 		},
 		"node_modules/@sinclair/typebox": {
-			"version": "0.27.8",
-			"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
-			"integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
+			"version": "0.34.38",
+			"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz",
+			"integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==",
 			"dev": true
 		},
 		"node_modules/@sindresorhus/merge-streams": {
@@ -1491,15 +1611,6 @@
 			"integrity": "sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==",
 			"dev": true
 		},
-		"node_modules/@types/mute-stream": {
-			"version": "0.0.4",
-			"resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz",
-			"integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==",
-			"dev": true,
-			"dependencies": {
-				"@types/node": "*"
-			}
-		},
 		"node_modules/@types/node": {
 			"version": "20.19.0",
 			"resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.0.tgz",
@@ -1533,12 +1644,6 @@
 			"integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
 			"dev": true
 		},
-		"node_modules/@types/wrap-ansi": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz",
-			"integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==",
-			"dev": true
-		},
 		"node_modules/@types/ws": {
 			"version": "8.18.1",
 			"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
@@ -1950,34 +2055,30 @@
 			}
 		},
 		"node_modules/@wdio/cli": {
-			"version": "9.15.0",
-			"resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-9.15.0.tgz",
-			"integrity": "sha512-51fuO5nalIFMay94VrAl11hLwcUVrfKZ+4+2lmEtaZKpfTLUj6ugp9ls3suBPgrhWQimikICc1oIs5TmwXHQGg==",
+			"version": "9.18.4",
+			"resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-9.18.4.tgz",
+			"integrity": "sha512-nSCMxko+g91KvUhIvUBp3ULnCDTBD8D5ma7LbPBDr7j72mQyXlQoNamKRCNsNVaFEXA/FtCmPXc1m/ynQDgeaA==",
 			"dev": true,
 			"dependencies": {
-				"@types/node": "^20.1.1",
 				"@vitest/snapshot": "^2.1.1",
-				"@wdio/config": "9.15.0",
-				"@wdio/globals": "9.15.0",
-				"@wdio/logger": "9.15.0",
-				"@wdio/protocols": "9.15.0",
-				"@wdio/types": "9.15.0",
-				"@wdio/utils": "9.15.0",
+				"@wdio/config": "9.18.0",
+				"@wdio/globals": "9.17.0",
+				"@wdio/logger": "9.18.0",
+				"@wdio/protocols": "9.16.2",
+				"@wdio/types": "9.16.2",
+				"@wdio/utils": "9.18.0",
 				"async-exit-hook": "^2.0.1",
-				"chalk": "^5.2.0",
+				"chalk": "^5.4.1",
 				"chokidar": "^4.0.0",
-				"dotenv": "^16.3.1",
-				"ejs": "^3.1.9",
-				"execa": "^9.2.0",
+				"create-wdio": "9.18.2",
+				"dotenv": "^17.2.0",
 				"import-meta-resolve": "^4.0.0",
-				"inquirer": "^11.0.1",
 				"lodash.flattendeep": "^4.4.0",
 				"lodash.pickby": "^4.6.0",
 				"lodash.union": "^4.6.0",
 				"read-pkg-up": "^10.0.0",
-				"recursive-readdir": "^2.2.3",
 				"tsx": "^4.7.2",
-				"webdriverio": "9.15.0",
+				"webdriverio": "9.18.4",
 				"yargs": "^17.7.2"
 			},
 			"bin": {
@@ -1987,6 +2088,136 @@
 				"node": ">=18.20.0"
 			}
 		},
+		"node_modules/@wdio/cli/node_modules/@wdio/config": {
+			"version": "9.18.0",
+			"resolved": "https://registry.npmjs.org/@wdio/config/-/config-9.18.0.tgz",
+			"integrity": "sha512-fN+Z7SkKjb0u3UUMSxMN4d+CCZQKZhm/tx3eX7Rv+3T78LtpOjlesBYQ7Ax3tQ3tp8hgEo+CoOXU0jHEYubFrg==",
+			"dev": true,
+			"dependencies": {
+				"@wdio/logger": "9.18.0",
+				"@wdio/types": "9.16.2",
+				"@wdio/utils": "9.18.0",
+				"deepmerge-ts": "^7.0.3",
+				"glob": "^10.2.2",
+				"import-meta-resolve": "^4.0.0"
+			},
+			"engines": {
+				"node": ">=18.20.0"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/@wdio/globals": {
+			"version": "9.17.0",
+			"resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-9.17.0.tgz",
+			"integrity": "sha512-i38o7wlipLllNrk2hzdDfAmk6nrqm3lR2MtAgWgtHbwznZAKkB84KpkNFfmUXw5Kg3iP1zKlSjwZpKqenuLc+Q==",
+			"dev": true,
+			"engines": {
+				"node": ">=18.20.0"
+			},
+			"peerDependencies": {
+				"expect-webdriverio": "^5.3.4",
+				"webdriverio": "^9.0.0"
+			},
+			"peerDependenciesMeta": {
+				"expect-webdriverio": {
+					"optional": false
+				},
+				"webdriverio": {
+					"optional": false
+				}
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/@wdio/logger": {
+			"version": "9.18.0",
+			"resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-9.18.0.tgz",
+			"integrity": "sha512-HdzDrRs+ywAqbXGKqe1i/bLtCv47plz4TvsHFH3j729OooT5VH38ctFn5aLXgECmiAKDkmH/A6kOq2Zh5DIxww==",
+			"dev": true,
+			"dependencies": {
+				"chalk": "^5.1.2",
+				"loglevel": "^1.6.0",
+				"loglevel-plugin-prefix": "^0.8.4",
+				"safe-regex2": "^5.0.0",
+				"strip-ansi": "^7.1.0"
+			},
+			"engines": {
+				"node": ">=18.20.0"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/@wdio/protocols": {
+			"version": "9.16.2",
+			"resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-9.16.2.tgz",
+			"integrity": "sha512-h3k97/lzmyw5MowqceAuY3HX/wGJojXHkiPXA3WlhGPCaa2h4+GovV2nJtRvknCKsE7UHA1xB5SWeI8MzloBew==",
+			"dev": true
+		},
+		"node_modules/@wdio/cli/node_modules/@wdio/repl": {
+			"version": "9.16.2",
+			"resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-9.16.2.tgz",
+			"integrity": "sha512-FLTF0VL6+o5BSTCO7yLSXocm3kUnu31zYwzdsz4n9s5YWt83sCtzGZlZpt7TaTzb3jVUfxuHNQDTb8UMkCu0lQ==",
+			"dev": true,
+			"dependencies": {
+				"@types/node": "^20.1.0"
+			},
+			"engines": {
+				"node": ">=18.20.0"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/@wdio/types": {
+			"version": "9.16.2",
+			"resolved": "https://registry.npmjs.org/@wdio/types/-/types-9.16.2.tgz",
+			"integrity": "sha512-P86FvM/4XQGpJKwlC2RKF3I21TglPvPOozJGG9HoL0Jmt6jRF20ggO/nRTxU0XiWkRdqESUTmfA87bdCO4GRkQ==",
+			"dev": true,
+			"dependencies": {
+				"@types/node": "^20.1.0"
+			},
+			"engines": {
+				"node": ">=18.20.0"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/@wdio/utils": {
+			"version": "9.18.0",
+			"resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-9.18.0.tgz",
+			"integrity": "sha512-M+QH05FUw25aFXZfjb+V16ydKoURgV61zeZrMjQdW2aAiks3F5iiI9pgqYT5kr1kHZcMy8gawGqQQ+RVfKYscQ==",
+			"dev": true,
+			"dependencies": {
+				"@puppeteer/browsers": "^2.2.0",
+				"@wdio/logger": "9.18.0",
+				"@wdio/types": "9.16.2",
+				"decamelize": "^6.0.0",
+				"deepmerge-ts": "^7.0.3",
+				"edgedriver": "^6.1.2",
+				"geckodriver": "^5.0.0",
+				"get-port": "^7.0.0",
+				"import-meta-resolve": "^4.0.0",
+				"locate-app": "^2.2.24",
+				"mitt": "^3.0.1",
+				"safaridriver": "^1.0.0",
+				"split2": "^4.2.0",
+				"wait-port": "^1.1.0"
+			},
+			"engines": {
+				"node": ">=18.20.0"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/ansi-regex": {
+			"version": "6.1.0",
+			"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+			"integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/chalk/ansi-regex?sponsor=1"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/brace-expansion": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+			"dev": true,
+			"dependencies": {
+				"balanced-match": "^1.0.0"
+			}
+		},
 		"node_modules/@wdio/cli/node_modules/chalk": {
 			"version": "5.4.1",
 			"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz",
@@ -2014,17 +2245,178 @@
 				"url": "https://paulmillr.com/funding/"
 			}
 		},
+		"node_modules/@wdio/cli/node_modules/decamelize": {
+			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz",
+			"integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==",
+			"dev": true,
+			"engines": {
+				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/glob": {
+			"version": "10.4.5",
+			"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+			"integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+			"dev": true,
+			"dependencies": {
+				"foreground-child": "^3.1.0",
+				"jackspeak": "^3.1.2",
+				"minimatch": "^9.0.4",
+				"minipass": "^7.1.2",
+				"package-json-from-dist": "^1.0.0",
+				"path-scurry": "^1.11.1"
+			},
+			"bin": {
+				"glob": "dist/esm/bin.mjs"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/htmlfy": {
+			"version": "0.8.1",
+			"resolved": "https://registry.npmjs.org/htmlfy/-/htmlfy-0.8.1.tgz",
+			"integrity": "sha512-xWROBw9+MEGwxpotll0h672KCaLrKKiCYzsyN8ZgL9cQbVumFnyvsk2JqiB9ELAV1GLj1GG/jxZUjV9OZZi/yQ==",
+			"dev": true
+		},
+		"node_modules/@wdio/cli/node_modules/is-plain-obj": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+			"integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/minimatch": {
+			"version": "9.0.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+			"dev": true,
+			"dependencies": {
+				"brace-expansion": "^2.0.1"
+			},
+			"engines": {
+				"node": ">=16 || 14 >=14.17"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
+			}
+		},
 		"node_modules/@wdio/cli/node_modules/readdirp": {
 			"version": "4.1.2",
 			"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
 			"integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
 			"dev": true,
 			"engines": {
-				"node": ">= 14.18.0"
+				"node": ">= 14.18.0"
+			},
+			"funding": {
+				"type": "individual",
+				"url": "https://paulmillr.com/funding/"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/serialize-error": {
+			"version": "12.0.0",
+			"resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-12.0.0.tgz",
+			"integrity": "sha512-ZYkZLAvKTKQXWuh5XpBw7CdbSzagarX39WyZ2H07CDLC5/KfsRGlIXV8d4+tfqX1M7916mRqR1QfNHSij+c9Pw==",
+			"dev": true,
+			"dependencies": {
+				"type-fest": "^4.31.0"
+			},
+			"engines": {
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/strip-ansi": {
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+			"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+			"dev": true,
+			"dependencies": {
+				"ansi-regex": "^6.0.1"
+			},
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/chalk/strip-ansi?sponsor=1"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/webdriver": {
+			"version": "9.18.0",
+			"resolved": "https://registry.npmjs.org/webdriver/-/webdriver-9.18.0.tgz",
+			"integrity": "sha512-07lC4FLj45lHJo0FvLjUp5qkjzEGWJWKGsxLoe9rQ2Fg88iYsqgr9JfSj8qxHpazBaBd+77+ZtpmMZ2X2D1Zuw==",
+			"dev": true,
+			"dependencies": {
+				"@types/node": "^20.1.0",
+				"@types/ws": "^8.5.3",
+				"@wdio/config": "9.18.0",
+				"@wdio/logger": "9.18.0",
+				"@wdio/protocols": "9.16.2",
+				"@wdio/types": "9.16.2",
+				"@wdio/utils": "9.18.0",
+				"deepmerge-ts": "^7.0.3",
+				"https-proxy-agent": "^7.0.6",
+				"undici": "^6.21.3",
+				"ws": "^8.8.0"
+			},
+			"engines": {
+				"node": ">=18.20.0"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/webdriverio": {
+			"version": "9.18.4",
+			"resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-9.18.4.tgz",
+			"integrity": "sha512-Q/gghz/Zt7EhTnbDQfLb61WgSwCksXZE60lEzmDXe4fULCH/6Js5IWUsne3W+BRy6nXeVvFscHD/d7S77dbamw==",
+			"dev": true,
+			"dependencies": {
+				"@types/node": "^20.11.30",
+				"@types/sinonjs__fake-timers": "^8.1.5",
+				"@wdio/config": "9.18.0",
+				"@wdio/logger": "9.18.0",
+				"@wdio/protocols": "9.16.2",
+				"@wdio/repl": "9.16.2",
+				"@wdio/types": "9.16.2",
+				"@wdio/utils": "9.18.0",
+				"archiver": "^7.0.1",
+				"aria-query": "^5.3.0",
+				"cheerio": "^1.0.0-rc.12",
+				"css-shorthand-properties": "^1.1.1",
+				"css-value": "^0.0.1",
+				"grapheme-splitter": "^1.0.4",
+				"htmlfy": "^0.8.1",
+				"is-plain-obj": "^4.1.0",
+				"jszip": "^3.10.1",
+				"lodash.clonedeep": "^4.5.0",
+				"lodash.zip": "^4.2.0",
+				"query-selector-shadow-dom": "^1.0.1",
+				"resq": "^1.11.0",
+				"rgb2hex": "0.2.5",
+				"serialize-error": "^12.0.0",
+				"urlpattern-polyfill": "^10.0.0",
+				"webdriver": "9.18.0"
+			},
+			"engines": {
+				"node": ">=18.20.0"
 			},
-			"funding": {
-				"type": "individual",
-				"url": "https://paulmillr.com/funding/"
+			"peerDependencies": {
+				"puppeteer-core": ">=22.x || <=24.x"
+			},
+			"peerDependenciesMeta": {
+				"puppeteer-core": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@wdio/config": {
@@ -2705,6 +3097,18 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/ansi-escapes/node_modules/type-fest": {
+			"version": "0.21.3",
+			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+			"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+			"dev": true,
+			"engines": {
+				"node": ">=10"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/ansi-regex": {
 			"version": "5.0.1",
 			"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
@@ -3031,9 +3435,9 @@
 			}
 		},
 		"node_modules/async": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
-			"integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
+			"integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
 			"dev": true
 		},
 		"node_modules/async-exit-hook": {
@@ -3566,9 +3970,9 @@
 			}
 		},
 		"node_modules/ci-info": {
-			"version": "3.9.0",
-			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
-			"integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+			"version": "4.3.0",
+			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz",
+			"integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==",
 			"dev": true,
 			"funding": [
 				{
@@ -3860,6 +4264,98 @@
 				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
 			}
 		},
+		"node_modules/create-wdio": {
+			"version": "9.18.2",
+			"resolved": "https://registry.npmjs.org/create-wdio/-/create-wdio-9.18.2.tgz",
+			"integrity": "sha512-atf81YJfyTNAJXsNu3qhpqF4OO43tHGTpr88duAc1Hk4a0uXJAPUYLnYxshOuMnfmeAxlWD+NqGU7orRiXEuJg==",
+			"dev": true,
+			"dependencies": {
+				"chalk": "^5.3.0",
+				"commander": "^14.0.0",
+				"cross-spawn": "^7.0.3",
+				"ejs": "^3.1.10",
+				"execa": "^9.6.0",
+				"import-meta-resolve": "^4.1.0",
+				"inquirer": "^12.7.0",
+				"normalize-package-data": "^7.0.0",
+				"read-pkg-up": "^10.1.0",
+				"recursive-readdir": "^2.2.3",
+				"semver": "^7.6.3",
+				"type-fest": "^4.41.0",
+				"yargs": "^17.7.2"
+			},
+			"bin": {
+				"create-wdio": "bin/wdio.js"
+			},
+			"engines": {
+				"node": ">=12.0.0"
+			}
+		},
+		"node_modules/create-wdio/node_modules/chalk": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.5.0.tgz",
+			"integrity": "sha512-1tm8DTaJhPBG3bIkVeZt1iZM9GfSX2lzOeDVZH9R9ffRHpmHvxZ/QhgQH/aDTkswQVt+YHdXAdS/In/30OjCbg==",
+			"dev": true,
+			"engines": {
+				"node": "^12.17.0 || ^14.13 || >=16.0.0"
+			},
+			"funding": {
+				"url": "https://github.com/chalk/chalk?sponsor=1"
+			}
+		},
+		"node_modules/create-wdio/node_modules/commander": {
+			"version": "14.0.0",
+			"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz",
+			"integrity": "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==",
+			"dev": true,
+			"engines": {
+				"node": ">=20"
+			}
+		},
+		"node_modules/create-wdio/node_modules/hosted-git-info": {
+			"version": "8.1.0",
+			"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz",
+			"integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==",
+			"dev": true,
+			"dependencies": {
+				"lru-cache": "^10.0.1"
+			},
+			"engines": {
+				"node": "^18.17.0 || >=20.5.0"
+			}
+		},
+		"node_modules/create-wdio/node_modules/lru-cache": {
+			"version": "10.4.3",
+			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+			"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+			"dev": true
+		},
+		"node_modules/create-wdio/node_modules/normalize-package-data": {
+			"version": "7.0.1",
+			"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-7.0.1.tgz",
+			"integrity": "sha512-linxNAT6M0ebEYZOx2tO6vBEFsVgnPpv+AVjk0wJHfaUIbq31Jm3T6vvZaarnOeWDh8ShnwXuaAyM7WT3RzErA==",
+			"dev": true,
+			"dependencies": {
+				"hosted-git-info": "^8.0.0",
+				"semver": "^7.3.5",
+				"validate-npm-package-license": "^3.0.4"
+			},
+			"engines": {
+				"node": "^18.17.0 || >=20.5.0"
+			}
+		},
+		"node_modules/create-wdio/node_modules/semver": {
+			"version": "7.7.2",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+			"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+			"dev": true,
+			"bin": {
+				"semver": "bin/semver.js"
+			},
+			"engines": {
+				"node": ">=10"
+			}
+		},
 		"node_modules/cross-spawn": {
 			"version": "7.0.6",
 			"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -4165,15 +4661,6 @@
 				"node": ">=0.3.1"
 			}
 		},
-		"node_modules/diff-sequences": {
-			"version": "29.6.3",
-			"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
-			"integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
-			"dev": true,
-			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
-			}
-		},
 		"node_modules/dir-glob": {
 			"version": "3.0.1",
 			"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -4285,9 +4772,9 @@
 			}
 		},
 		"node_modules/dotenv": {
-			"version": "16.5.0",
-			"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz",
-			"integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==",
+			"version": "17.2.1",
+			"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.1.tgz",
+			"integrity": "sha512-kQhDYKZecqnM0fCnzI5eIv5L4cAe/iRI+HqMbO/hbRdTAeXDG+M9FjipUxNfbARuEg4iHIbhnhs78BCHNbSxEQ==",
 			"dev": true,
 			"engines": {
 				"node": ">=12"
@@ -4367,9 +4854,9 @@
 			}
 		},
 		"node_modules/edgedriver": {
-			"version": "6.1.1",
-			"resolved": "https://registry.npmjs.org/edgedriver/-/edgedriver-6.1.1.tgz",
-			"integrity": "sha512-/dM/PoBf22Xg3yypMWkmRQrBKEnSyNaZ7wHGCT9+qqT14izwtFT+QvdR89rjNkMfXwW+bSFoqOfbcvM+2Cyc7w==",
+			"version": "6.1.2",
+			"resolved": "https://registry.npmjs.org/edgedriver/-/edgedriver-6.1.2.tgz",
+			"integrity": "sha512-UvFqd/IR81iPyWMcxXbUNi+xKWR7JjfoHjfuwjqsj9UHQKn80RpQmS0jf+U25IPi+gKVPcpOSKm0XkqgGMq4zQ==",
 			"dev": true,
 			"hasInstallScript": true,
 			"dependencies": {
@@ -4377,7 +4864,7 @@
 				"@zip.js/zip.js": "^2.7.53",
 				"decamelize": "^6.0.0",
 				"edge-paths": "^3.0.5",
-				"fast-xml-parser": "^4.5.0",
+				"fast-xml-parser": "^5.0.8",
 				"http-proxy-agent": "^7.0.2",
 				"https-proxy-agent": "^7.0.5",
 				"node-fetch": "^3.3.2",
@@ -5586,21 +6073,6 @@
 				"url": "https://opencollective.com/eslint"
 			}
 		},
-		"node_modules/eslint-plugin-unicorn/node_modules/ci-info": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz",
-			"integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/sibiraj-s"
-				}
-			],
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/eslint-plugin-unicorn/node_modules/eslint-visitor-keys": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
@@ -6098,30 +6570,31 @@
 			}
 		},
 		"node_modules/expect": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz",
-			"integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/expect/-/expect-30.0.5.tgz",
+			"integrity": "sha512-P0te2pt+hHI5qLJkIR+iMvS+lYUZml8rKKsohVHAGY+uClp9XVbdyYNJOIjSRpHVp8s8YqxJCiHUkSYZGr8rtQ==",
 			"dev": true,
 			"dependencies": {
-				"@jest/expect-utils": "^29.7.0",
-				"jest-get-type": "^29.6.3",
-				"jest-matcher-utils": "^29.7.0",
-				"jest-message-util": "^29.7.0",
-				"jest-util": "^29.7.0"
+				"@jest/expect-utils": "30.0.5",
+				"@jest/get-type": "30.0.1",
+				"jest-matcher-utils": "30.0.5",
+				"jest-message-util": "30.0.5",
+				"jest-mock": "30.0.5",
+				"jest-util": "30.0.5"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
 		"node_modules/expect-webdriverio": {
-			"version": "5.3.0",
-			"resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-5.3.0.tgz",
-			"integrity": "sha512-EUiibBYXWzSn9mJFuF914yeKUxvRxrhR9nImfe0YttG+wVg0v5jY1DPPnRz8sE0wlmoLHyLr155b5/d1+oZmxg==",
+			"version": "5.4.1",
+			"resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-5.4.1.tgz",
+			"integrity": "sha512-jH4qhahRNGPWbCCVcCpLDl/kvFJ1eOzVnrd1K/sG1RhKr6bZsgZQUiOE3bafVqSOfKP+ay8bM/VagP4+XsO9Xw==",
 			"dev": true,
 			"dependencies": {
-				"@vitest/snapshot": "^3.2.1",
-				"expect": "^29.7.0",
-				"jest-matcher-utils": "^29.7.0",
+				"@vitest/snapshot": "^3.2.4",
+				"expect": "^30.0.0",
+				"jest-matcher-utils": "^30.0.0",
 				"lodash.isequal": "^4.5.0"
 			},
 			"engines": {
@@ -6145,9 +6618,9 @@
 			}
 		},
 		"node_modules/expect-webdriverio/node_modules/@vitest/pretty-format": {
-			"version": "3.2.3",
-			"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.3.tgz",
-			"integrity": "sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==",
+			"version": "3.2.4",
+			"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz",
+			"integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==",
 			"dev": true,
 			"dependencies": {
 				"tinyrainbow": "^2.0.0"
@@ -6157,12 +6630,12 @@
 			}
 		},
 		"node_modules/expect-webdriverio/node_modules/@vitest/snapshot": {
-			"version": "3.2.3",
-			"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.3.tgz",
-			"integrity": "sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==",
+			"version": "3.2.4",
+			"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz",
+			"integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==",
 			"dev": true,
 			"dependencies": {
-				"@vitest/pretty-format": "3.2.3",
+				"@vitest/pretty-format": "3.2.4",
 				"magic-string": "^0.30.17",
 				"pathe": "^2.0.3"
 			},
@@ -6312,9 +6785,9 @@
 			]
 		},
 		"node_modules/fast-xml-parser": {
-			"version": "4.5.3",
-			"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz",
-			"integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==",
+			"version": "5.2.5",
+			"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz",
+			"integrity": "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==",
 			"dev": true,
 			"funding": [
 				{
@@ -6323,7 +6796,7 @@
 				}
 			],
 			"dependencies": {
-				"strnum": "^1.1.1"
+				"strnum": "^2.1.0"
 			},
 			"bin": {
 				"fxparser": "src/cli/cli.js"
@@ -6449,9 +6922,9 @@
 			}
 		},
 		"node_modules/filelist/node_modules/minimatch": {
-			"version": "5.1.0",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
-			"integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+			"version": "5.1.6",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+			"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^2.0.1"
@@ -7112,9 +7585,9 @@
 			}
 		},
 		"node_modules/graceful-fs": {
-			"version": "4.2.10",
-			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
-			"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+			"version": "4.2.11",
+			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+			"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
 			"dev": true
 		},
 		"node_modules/grapheme-splitter": {
@@ -7756,22 +8229,29 @@
 			"dev": true
 		},
 		"node_modules/inquirer": {
-			"version": "11.1.0",
-			"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-11.1.0.tgz",
-			"integrity": "sha512-CmLAZT65GG/v30c+D2Fk8+ceP6pxD6RL+hIUOWAltCmeyEqWYwqu9v76q03OvjyZ3AB0C1Ala2stn1z/rMqGEw==",
+			"version": "12.9.0",
+			"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-12.9.0.tgz",
+			"integrity": "sha512-LlFVmvWVCun7uEgPB3vups9NzBrjJn48kRNtFGw3xU1H5UXExTEz/oF1JGLaB0fvlkUB+W6JfgLcSEaSdH7RPA==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/prompts": "^6.0.1",
-				"@inquirer/type": "^2.0.0",
-				"@types/mute-stream": "^0.0.4",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/prompts": "^7.8.0",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2",
-				"mute-stream": "^1.0.0",
-				"run-async": "^3.0.0",
-				"rxjs": "^7.8.1"
+				"mute-stream": "^2.0.0",
+				"run-async": "^4.0.5",
+				"rxjs": "^7.8.2"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/internal-slot": {
@@ -8221,15 +8701,14 @@
 			}
 		},
 		"node_modules/jake": {
-			"version": "10.8.5",
-			"resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
-			"integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==",
+			"version": "10.9.4",
+			"resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz",
+			"integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==",
 			"dev": true,
 			"dependencies": {
-				"async": "^3.2.3",
-				"chalk": "^4.0.2",
-				"filelist": "^1.0.1",
-				"minimatch": "^3.0.4"
+				"async": "^3.2.6",
+				"filelist": "^1.0.4",
+				"picocolors": "^1.1.1"
 			},
 			"bin": {
 				"jake": "bin/cli.js"
@@ -8239,79 +8718,105 @@
 			}
 		},
 		"node_modules/jest-diff": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
-			"integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.0.5.tgz",
+			"integrity": "sha512-1UIqE9PoEKaHcIKvq2vbibrCog4Y8G0zmOxgQUVEiTqwR5hJVMCoDsN1vFvI5JvwD37hjueZ1C4l2FyGnfpE0A==",
 			"dev": true,
 			"dependencies": {
-				"chalk": "^4.0.0",
-				"diff-sequences": "^29.6.3",
-				"jest-get-type": "^29.6.3",
-				"pretty-format": "^29.7.0"
+				"@jest/diff-sequences": "30.0.1",
+				"@jest/get-type": "30.0.1",
+				"chalk": "^4.1.2",
+				"pretty-format": "30.0.5"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
-		"node_modules/jest-get-type": {
-			"version": "29.6.3",
-			"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
-			"integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
+		"node_modules/jest-matcher-utils": {
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.0.5.tgz",
+			"integrity": "sha512-uQgGWt7GOrRLP1P7IwNWwK1WAQbq+m//ZY0yXygyfWp0rJlksMSLQAA4wYQC3b6wl3zfnchyTx+k3HZ5aPtCbQ==",
 			"dev": true,
+			"dependencies": {
+				"@jest/get-type": "30.0.1",
+				"chalk": "^4.1.2",
+				"jest-diff": "30.0.5",
+				"pretty-format": "30.0.5"
+			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
-		"node_modules/jest-matcher-utils": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz",
-			"integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==",
+		"node_modules/jest-message-util": {
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz",
+			"integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==",
 			"dev": true,
 			"dependencies": {
-				"chalk": "^4.0.0",
-				"jest-diff": "^29.7.0",
-				"jest-get-type": "^29.6.3",
-				"pretty-format": "^29.7.0"
+				"@babel/code-frame": "^7.27.1",
+				"@jest/types": "30.0.5",
+				"@types/stack-utils": "^2.0.3",
+				"chalk": "^4.1.2",
+				"graceful-fs": "^4.2.11",
+				"micromatch": "^4.0.8",
+				"pretty-format": "30.0.5",
+				"slash": "^3.0.0",
+				"stack-utils": "^2.0.6"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
-		"node_modules/jest-message-util": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
-			"integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
+		"node_modules/jest-mock": {
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.5.tgz",
+			"integrity": "sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==",
 			"dev": true,
 			"dependencies": {
-				"@babel/code-frame": "^7.12.13",
-				"@jest/types": "^29.6.3",
-				"@types/stack-utils": "^2.0.0",
-				"chalk": "^4.0.0",
-				"graceful-fs": "^4.2.9",
-				"micromatch": "^4.0.4",
-				"pretty-format": "^29.7.0",
-				"slash": "^3.0.0",
-				"stack-utils": "^2.0.3"
+				"@jest/types": "30.0.5",
+				"@types/node": "*",
+				"jest-util": "30.0.5"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+			}
+		},
+		"node_modules/jest-regex-util": {
+			"version": "30.0.1",
+			"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz",
+			"integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==",
+			"dev": true,
+			"engines": {
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
 		"node_modules/jest-util": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
-			"integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz",
+			"integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==",
 			"dev": true,
 			"dependencies": {
-				"@jest/types": "^29.6.3",
+				"@jest/types": "30.0.5",
 				"@types/node": "*",
-				"chalk": "^4.0.0",
-				"ci-info": "^3.2.0",
-				"graceful-fs": "^4.2.9",
-				"picomatch": "^2.2.3"
+				"chalk": "^4.1.2",
+				"ci-info": "^4.2.0",
+				"graceful-fs": "^4.2.11",
+				"picomatch": "^4.0.2"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+			}
+		},
+		"node_modules/jest-util/node_modules/picomatch": {
+			"version": "4.0.3",
+			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+			"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/jonschlinkert"
 			}
 		},
 		"node_modules/js-tokens": {
@@ -8950,6 +9455,12 @@
 				"node": ">=16 || 14 >=14.17"
 			}
 		},
+		"node_modules/mitt": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
+			"integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
+			"dev": true
+		},
 		"node_modules/mocha": {
 			"version": "7.2.0",
 			"resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz",
@@ -9449,12 +9960,12 @@
 			}
 		},
 		"node_modules/mute-stream": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
-			"integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
+			"integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
 			"dev": true,
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^18.17.0 || >=20.5.0"
 			}
 		},
 		"node_modules/mwbot": {
@@ -10316,17 +10827,17 @@
 			}
 		},
 		"node_modules/pretty-format": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
-			"integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz",
+			"integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==",
 			"dev": true,
 			"dependencies": {
-				"@jest/schemas": "^29.6.3",
-				"ansi-styles": "^5.0.0",
-				"react-is": "^18.0.0"
+				"@jest/schemas": "30.0.5",
+				"ansi-styles": "^5.2.0",
+				"react-is": "^18.3.1"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
 		"node_modules/pretty-format/node_modules/ansi-styles": {
@@ -10552,14 +11063,14 @@
 			}
 		},
 		"node_modules/read-pkg-up": {
-			"version": "10.0.0",
-			"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.0.0.tgz",
-			"integrity": "sha512-jgmKiS//w2Zs+YbX039CorlkOp8FIVbSAN8r8GJHDsGlmNPXo+VeHkqAwCiQVTTx5/LwLZTcEw59z3DvcLbr0g==",
+			"version": "10.1.0",
+			"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.1.0.tgz",
+			"integrity": "sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==",
 			"dev": true,
 			"dependencies": {
 				"find-up": "^6.3.0",
-				"read-pkg": "^8.0.0",
-				"type-fest": "^3.12.0"
+				"read-pkg": "^8.1.0",
+				"type-fest": "^4.2.0"
 			},
 			"engines": {
 				"node": ">=16"
@@ -10638,18 +11149,6 @@
 				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
 			}
 		},
-		"node_modules/read-pkg-up/node_modules/type-fest": {
-			"version": "3.13.1",
-			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
-			"integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
-			"dev": true,
-			"engines": {
-				"node": ">=14.16"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
 		"node_modules/read-pkg-up/node_modules/yocto-queue": {
 			"version": "1.2.1",
 			"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz",
@@ -10706,18 +11205,6 @@
 				"node": ">=10"
 			}
 		},
-		"node_modules/read-pkg/node_modules/type-fest": {
-			"version": "4.41.0",
-			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
-			"integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
-			"dev": true,
-			"engines": {
-				"node": ">=16"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
 		"node_modules/readable-stream": {
 			"version": "3.6.0",
 			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
@@ -11000,6 +11487,15 @@
 				"fast-deep-equal": "^2.0.1"
 			}
 		},
+		"node_modules/ret": {
+			"version": "0.5.0",
+			"resolved": "https://registry.npmjs.org/ret/-/ret-0.5.0.tgz",
+			"integrity": "sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==",
+			"dev": true,
+			"engines": {
+				"node": ">=10"
+			}
+		},
 		"node_modules/reusify": {
 			"version": "1.0.4",
 			"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
@@ -11032,9 +11528,9 @@
 			}
 		},
 		"node_modules/run-async": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz",
-			"integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==",
+			"version": "4.0.5",
+			"resolved": "https://registry.npmjs.org/run-async/-/run-async-4.0.5.tgz",
+			"integrity": "sha512-oN9GTgxUNDBumHTTDmQ8dep6VIJbgj9S3dPP+9XylVLIK4xB9XTXtKWROd5pnhdXR9k0EgO1JRcNh0T+Ny2FsA==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.12.0"
@@ -11116,6 +11612,25 @@
 				"regexp-tree": "~0.1.1"
 			}
 		},
+		"node_modules/safe-regex2": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-5.0.0.tgz",
+			"integrity": "sha512-YwJwe5a51WlK7KbOJREPdjNrpViQBI3p4T50lfwPuDhZnE3XGVTlGvi+aolc5+RvxDD6bnUmjVsU9n1eboLUYw==",
+			"dev": true,
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/fastify"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/fastify"
+				}
+			],
+			"dependencies": {
+				"ret": "~0.5.0"
+			}
+		},
 		"node_modules/safer-buffer": {
 			"version": "2.1.2",
 			"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -11661,9 +12176,9 @@
 			}
 		},
 		"node_modules/strnum": {
-			"version": "1.1.2",
-			"resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
-			"integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz",
+			"integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==",
 			"dev": true,
 			"funding": [
 				{
@@ -12295,12 +12810,12 @@
 			}
 		},
 		"node_modules/type-fest": {
-			"version": "0.21.3",
-			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
-			"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+			"version": "4.41.0",
+			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
+			"integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
 			"dev": true,
 			"engines": {
-				"node": ">=10"
+				"node": ">=16"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
@@ -13578,57 +14093,44 @@
 			"dev": true
 		},
 		"@inquirer/checkbox": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-3.0.1.tgz",
-			"integrity": "sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==",
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.2.0.tgz",
+			"integrity": "sha512-fdSw07FLJEU5vbpOPzXo5c6xmMGDzbZE2+niuDHX5N6mc6V0Ebso/q3xiHra4D73+PMsC8MJmcaZKuAAoaQsSA==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/figures": "^1.0.6",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/figures": "^1.0.13",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2",
 				"yoctocolors-cjs": "^2.1.2"
 			}
 		},
 		"@inquirer/confirm": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-4.0.1.tgz",
-			"integrity": "sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==",
+			"version": "5.1.14",
+			"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.14.tgz",
+			"integrity": "sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0"
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8"
 			}
 		},
 		"@inquirer/core": {
-			"version": "9.2.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz",
-			"integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==",
+			"version": "10.1.15",
+			"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.15.tgz",
+			"integrity": "sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==",
 			"dev": true,
 			"requires": {
-				"@inquirer/figures": "^1.0.6",
-				"@inquirer/type": "^2.0.0",
-				"@types/mute-stream": "^0.0.4",
-				"@types/node": "^22.5.5",
-				"@types/wrap-ansi": "^3.0.0",
+				"@inquirer/figures": "^1.0.13",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2",
 				"cli-width": "^4.1.0",
-				"mute-stream": "^1.0.0",
+				"mute-stream": "^2.0.0",
 				"signal-exit": "^4.1.0",
-				"strip-ansi": "^6.0.1",
 				"wrap-ansi": "^6.2.0",
 				"yoctocolors-cjs": "^2.1.2"
 			},
 			"dependencies": {
-				"@types/node": {
-					"version": "22.15.31",
-					"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.31.tgz",
-					"integrity": "sha512-jnVe5ULKl6tijxUhvQeNbQG/84fHfg+yMak02cT8QVhBx/F05rAVxCGBYYTh2EKz22D6JF5ktXuNwdx7b9iEGw==",
-					"dev": true,
-					"requires": {
-						"undici-types": "~6.21.0"
-					}
-				},
 				"wrap-ansi": {
 					"version": "6.2.0",
 					"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
@@ -13643,126 +14145,124 @@
 			}
 		},
 		"@inquirer/editor": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-3.0.1.tgz",
-			"integrity": "sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==",
+			"version": "4.2.15",
+			"resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.15.tgz",
+			"integrity": "sha512-wst31XT8DnGOSS4nNJDIklGKnf+8shuauVrWzgKegWUe28zfCftcWZ2vktGdzJgcylWSS2SrDnYUb6alZcwnCQ==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8",
 				"external-editor": "^3.1.0"
 			}
 		},
 		"@inquirer/expand": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-3.0.1.tgz",
-			"integrity": "sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==",
+			"version": "4.0.17",
+			"resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.17.tgz",
+			"integrity": "sha512-PSqy9VmJx/VbE3CT453yOfNa+PykpKg/0SYP7odez1/NWBGuDXgPhp4AeGYYKjhLn5lUUavVS/JbeYMPdH50Mw==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8",
 				"yoctocolors-cjs": "^2.1.2"
 			}
 		},
 		"@inquirer/figures": {
-			"version": "1.0.12",
-			"resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.12.tgz",
-			"integrity": "sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==",
+			"version": "1.0.13",
+			"resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.13.tgz",
+			"integrity": "sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==",
 			"dev": true
 		},
 		"@inquirer/input": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/input/-/input-3.0.1.tgz",
-			"integrity": "sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==",
+			"version": "4.2.1",
+			"resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.1.tgz",
+			"integrity": "sha512-tVC+O1rBl0lJpoUZv4xY+WGWY8V5b0zxU1XDsMsIHYregdh7bN5X5QnIONNBAl0K765FYlAfNHS2Bhn7SSOVow==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0"
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8"
 			}
 		},
 		"@inquirer/number": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/number/-/number-2.0.1.tgz",
-			"integrity": "sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==",
+			"version": "3.0.17",
+			"resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.17.tgz",
+			"integrity": "sha512-GcvGHkyIgfZgVnnimURdOueMk0CztycfC8NZTiIY9arIAkeOgt6zG57G+7vC59Jns3UX27LMkPKnKWAOF5xEYg==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0"
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8"
 			}
 		},
 		"@inquirer/password": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/password/-/password-3.0.1.tgz",
-			"integrity": "sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==",
+			"version": "4.0.17",
+			"resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.17.tgz",
+			"integrity": "sha512-DJolTnNeZ00E1+1TW+8614F7rOJJCM4y4BAGQ3Gq6kQIG+OJ4zr3GLjIjVVJCbKsk2jmkmv6v2kQuN/vriHdZA==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2"
 			}
 		},
 		"@inquirer/prompts": {
-			"version": "6.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-6.0.1.tgz",
-			"integrity": "sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.0.tgz",
+			"integrity": "sha512-JHwGbQ6wjf1dxxnalDYpZwZxUEosT+6CPGD9Zh4sm9WXdtUp9XODCQD3NjSTmu+0OAyxWXNOqf0spjIymJa2Tw==",
 			"dev": true,
 			"requires": {
-				"@inquirer/checkbox": "^3.0.1",
-				"@inquirer/confirm": "^4.0.1",
-				"@inquirer/editor": "^3.0.1",
-				"@inquirer/expand": "^3.0.1",
-				"@inquirer/input": "^3.0.1",
-				"@inquirer/number": "^2.0.1",
-				"@inquirer/password": "^3.0.1",
-				"@inquirer/rawlist": "^3.0.1",
-				"@inquirer/search": "^2.0.1",
-				"@inquirer/select": "^3.0.1"
+				"@inquirer/checkbox": "^4.2.0",
+				"@inquirer/confirm": "^5.1.14",
+				"@inquirer/editor": "^4.2.15",
+				"@inquirer/expand": "^4.0.17",
+				"@inquirer/input": "^4.2.1",
+				"@inquirer/number": "^3.0.17",
+				"@inquirer/password": "^4.0.17",
+				"@inquirer/rawlist": "^4.1.5",
+				"@inquirer/search": "^3.1.0",
+				"@inquirer/select": "^4.3.1"
 			}
 		},
 		"@inquirer/rawlist": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-3.0.1.tgz",
-			"integrity": "sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==",
+			"version": "4.1.5",
+			"resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.5.tgz",
+			"integrity": "sha512-R5qMyGJqtDdi4Ht521iAkNqyB6p2UPuZUbMifakg1sWtu24gc2Z8CJuw8rP081OckNDMgtDCuLe42Q2Kr3BolA==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8",
 				"yoctocolors-cjs": "^2.1.2"
 			}
 		},
 		"@inquirer/search": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/search/-/search-2.0.1.tgz",
-			"integrity": "sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.1.0.tgz",
+			"integrity": "sha512-PMk1+O/WBcYJDq2H7foV0aAZSmDdkzZB9Mw2v/DmONRJopwA/128cS9M/TXWLKKdEQKZnKwBzqu2G4x/2Nqx8Q==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/figures": "^1.0.6",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/figures": "^1.0.13",
+				"@inquirer/type": "^3.0.8",
 				"yoctocolors-cjs": "^2.1.2"
 			}
 		},
 		"@inquirer/select": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/select/-/select-3.0.1.tgz",
-			"integrity": "sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==",
+			"version": "4.3.1",
+			"resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.3.1.tgz",
+			"integrity": "sha512-Gfl/5sqOF5vS/LIrSndFgOh7jgoe0UXEizDqahFRkq5aJBLegZ6WjuMh/hVEJwlFQjyLq1z9fRtvUMkb7jM1LA==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/figures": "^1.0.6",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/figures": "^1.0.13",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2",
 				"yoctocolors-cjs": "^2.1.2"
 			}
 		},
 		"@inquirer/type": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz",
-			"integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==",
+			"version": "3.0.8",
+			"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.8.tgz",
+			"integrity": "sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==",
 			"dev": true,
-			"requires": {
-				"mute-stream": "^1.0.0"
-			}
+			"requires": {}
 		},
 		"@isaacs/cliui": {
 			"version": "8.0.2",
@@ -13829,36 +14329,59 @@
 				}
 			}
 		},
+		"@jest/diff-sequences": {
+			"version": "30.0.1",
+			"resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz",
+			"integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==",
+			"dev": true
+		},
 		"@jest/expect-utils": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
-			"integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.0.5.tgz",
+			"integrity": "sha512-F3lmTT7CXWYywoVUGTCmom0vXq3HTTkaZyTAzIy+bXSBizB7o5qzlC9VCtq0arOa8GqmNsbg/cE9C6HLn7Szew==",
+			"dev": true,
+			"requires": {
+				"@jest/get-type": "30.0.1"
+			}
+		},
+		"@jest/get-type": {
+			"version": "30.0.1",
+			"resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.0.1.tgz",
+			"integrity": "sha512-AyYdemXCptSRFirI5EPazNxyPwAL0jXt3zceFjaj8NFiKP9pOi0bfXonf6qkf82z2t3QWPeLCWWw4stPBzctLw==",
+			"dev": true
+		},
+		"@jest/pattern": {
+			"version": "30.0.1",
+			"resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz",
+			"integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==",
 			"dev": true,
 			"requires": {
-				"jest-get-type": "^29.6.3"
+				"@types/node": "*",
+				"jest-regex-util": "30.0.1"
 			}
 		},
 		"@jest/schemas": {
-			"version": "29.6.3",
-			"resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
-			"integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz",
+			"integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==",
 			"dev": true,
 			"requires": {
-				"@sinclair/typebox": "^0.27.8"
+				"@sinclair/typebox": "^0.34.0"
 			}
 		},
 		"@jest/types": {
-			"version": "29.6.3",
-			"resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
-			"integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz",
+			"integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==",
 			"dev": true,
 			"requires": {
-				"@jest/schemas": "^29.6.3",
-				"@types/istanbul-lib-coverage": "^2.0.0",
-				"@types/istanbul-reports": "^3.0.0",
+				"@jest/pattern": "30.0.1",
+				"@jest/schemas": "30.0.5",
+				"@types/istanbul-lib-coverage": "^2.0.6",
+				"@types/istanbul-reports": "^3.0.4",
 				"@types/node": "*",
-				"@types/yargs": "^17.0.8",
-				"chalk": "^4.0.0"
+				"@types/yargs": "^17.0.33",
+				"chalk": "^4.1.2"
 			}
 		},
 		"@jridgewell/sourcemap-codec": {
@@ -13960,9 +14483,9 @@
 			"dev": true
 		},
 		"@sinclair/typebox": {
-			"version": "0.27.8",
-			"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
-			"integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
+			"version": "0.34.38",
+			"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz",
+			"integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==",
 			"dev": true
 		},
 		"@sindresorhus/merge-streams": {
@@ -14203,15 +14726,6 @@
 			"integrity": "sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==",
 			"dev": true
 		},
-		"@types/mute-stream": {
-			"version": "0.0.4",
-			"resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz",
-			"integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==",
-			"dev": true,
-			"requires": {
-				"@types/node": "*"
-			}
-		},
 		"@types/node": {
 			"version": "20.19.0",
 			"resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.0.tgz",
@@ -14245,12 +14759,6 @@
 			"integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
 			"dev": true
 		},
-		"@types/wrap-ansi": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz",
-			"integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==",
-			"dev": true
-		},
 		"@types/ws": {
 			"version": "8.18.1",
 			"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
@@ -14506,37 +15014,128 @@
 			}
 		},
 		"@wdio/cli": {
-			"version": "9.15.0",
-			"resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-9.15.0.tgz",
-			"integrity": "sha512-51fuO5nalIFMay94VrAl11hLwcUVrfKZ+4+2lmEtaZKpfTLUj6ugp9ls3suBPgrhWQimikICc1oIs5TmwXHQGg==",
+			"version": "9.18.4",
+			"resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-9.18.4.tgz",
+			"integrity": "sha512-nSCMxko+g91KvUhIvUBp3ULnCDTBD8D5ma7LbPBDr7j72mQyXlQoNamKRCNsNVaFEXA/FtCmPXc1m/ynQDgeaA==",
 			"dev": true,
 			"requires": {
-				"@types/node": "^20.1.1",
 				"@vitest/snapshot": "^2.1.1",
-				"@wdio/config": "9.15.0",
-				"@wdio/globals": "9.15.0",
-				"@wdio/logger": "9.15.0",
-				"@wdio/protocols": "9.15.0",
-				"@wdio/types": "9.15.0",
-				"@wdio/utils": "9.15.0",
+				"@wdio/config": "9.18.0",
+				"@wdio/globals": "9.17.0",
+				"@wdio/logger": "9.18.0",
+				"@wdio/protocols": "9.16.2",
+				"@wdio/types": "9.16.2",
+				"@wdio/utils": "9.18.0",
 				"async-exit-hook": "^2.0.1",
-				"chalk": "^5.2.0",
+				"chalk": "^5.4.1",
 				"chokidar": "^4.0.0",
-				"dotenv": "^16.3.1",
-				"ejs": "^3.1.9",
-				"execa": "^9.2.0",
+				"create-wdio": "9.18.2",
+				"dotenv": "^17.2.0",
 				"import-meta-resolve": "^4.0.0",
-				"inquirer": "^11.0.1",
 				"lodash.flattendeep": "^4.4.0",
 				"lodash.pickby": "^4.6.0",
 				"lodash.union": "^4.6.0",
 				"read-pkg-up": "^10.0.0",
-				"recursive-readdir": "^2.2.3",
 				"tsx": "^4.7.2",
-				"webdriverio": "9.15.0",
+				"webdriverio": "9.18.4",
 				"yargs": "^17.7.2"
 			},
 			"dependencies": {
+				"@wdio/config": {
+					"version": "9.18.0",
+					"resolved": "https://registry.npmjs.org/@wdio/config/-/config-9.18.0.tgz",
+					"integrity": "sha512-fN+Z7SkKjb0u3UUMSxMN4d+CCZQKZhm/tx3eX7Rv+3T78LtpOjlesBYQ7Ax3tQ3tp8hgEo+CoOXU0jHEYubFrg==",
+					"dev": true,
+					"requires": {
+						"@wdio/logger": "9.18.0",
+						"@wdio/types": "9.16.2",
+						"@wdio/utils": "9.18.0",
+						"deepmerge-ts": "^7.0.3",
+						"glob": "^10.2.2",
+						"import-meta-resolve": "^4.0.0"
+					}
+				},
+				"@wdio/globals": {
+					"version": "9.17.0",
+					"resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-9.17.0.tgz",
+					"integrity": "sha512-i38o7wlipLllNrk2hzdDfAmk6nrqm3lR2MtAgWgtHbwznZAKkB84KpkNFfmUXw5Kg3iP1zKlSjwZpKqenuLc+Q==",
+					"dev": true,
+					"requires": {}
+				},
+				"@wdio/logger": {
+					"version": "9.18.0",
+					"resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-9.18.0.tgz",
+					"integrity": "sha512-HdzDrRs+ywAqbXGKqe1i/bLtCv47plz4TvsHFH3j729OooT5VH38ctFn5aLXgECmiAKDkmH/A6kOq2Zh5DIxww==",
+					"dev": true,
+					"requires": {
+						"chalk": "^5.1.2",
+						"loglevel": "^1.6.0",
+						"loglevel-plugin-prefix": "^0.8.4",
+						"safe-regex2": "^5.0.0",
+						"strip-ansi": "^7.1.0"
+					}
+				},
+				"@wdio/protocols": {
+					"version": "9.16.2",
+					"resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-9.16.2.tgz",
+					"integrity": "sha512-h3k97/lzmyw5MowqceAuY3HX/wGJojXHkiPXA3WlhGPCaa2h4+GovV2nJtRvknCKsE7UHA1xB5SWeI8MzloBew==",
+					"dev": true
+				},
+				"@wdio/repl": {
+					"version": "9.16.2",
+					"resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-9.16.2.tgz",
+					"integrity": "sha512-FLTF0VL6+o5BSTCO7yLSXocm3kUnu31zYwzdsz4n9s5YWt83sCtzGZlZpt7TaTzb3jVUfxuHNQDTb8UMkCu0lQ==",
+					"dev": true,
+					"requires": {
+						"@types/node": "^20.1.0"
+					}
+				},
+				"@wdio/types": {
+					"version": "9.16.2",
+					"resolved": "https://registry.npmjs.org/@wdio/types/-/types-9.16.2.tgz",
+					"integrity": "sha512-P86FvM/4XQGpJKwlC2RKF3I21TglPvPOozJGG9HoL0Jmt6jRF20ggO/nRTxU0XiWkRdqESUTmfA87bdCO4GRkQ==",
+					"dev": true,
+					"requires": {
+						"@types/node": "^20.1.0"
+					}
+				},
+				"@wdio/utils": {
+					"version": "9.18.0",
+					"resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-9.18.0.tgz",
+					"integrity": "sha512-M+QH05FUw25aFXZfjb+V16ydKoURgV61zeZrMjQdW2aAiks3F5iiI9pgqYT5kr1kHZcMy8gawGqQQ+RVfKYscQ==",
+					"dev": true,
+					"requires": {
+						"@puppeteer/browsers": "^2.2.0",
+						"@wdio/logger": "9.18.0",
+						"@wdio/types": "9.16.2",
+						"decamelize": "^6.0.0",
+						"deepmerge-ts": "^7.0.3",
+						"edgedriver": "^6.1.2",
+						"geckodriver": "^5.0.0",
+						"get-port": "^7.0.0",
+						"import-meta-resolve": "^4.0.0",
+						"locate-app": "^2.2.24",
+						"mitt": "^3.0.1",
+						"safaridriver": "^1.0.0",
+						"split2": "^4.2.0",
+						"wait-port": "^1.1.0"
+					}
+				},
+				"ansi-regex": {
+					"version": "6.1.0",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+					"integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+					"dev": true
+				},
+				"brace-expansion": {
+					"version": "2.0.2",
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+					"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+					"dev": true,
+					"requires": {
+						"balanced-match": "^1.0.0"
+					}
+				},
 				"chalk": {
 					"version": "5.4.1",
 					"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz",
@@ -14552,11 +15151,122 @@
 						"readdirp": "^4.0.1"
 					}
 				},
+				"decamelize": {
+					"version": "6.0.0",
+					"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz",
+					"integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==",
+					"dev": true
+				},
+				"glob": {
+					"version": "10.4.5",
+					"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+					"integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+					"dev": true,
+					"requires": {
+						"foreground-child": "^3.1.0",
+						"jackspeak": "^3.1.2",
+						"minimatch": "^9.0.4",
+						"minipass": "^7.1.2",
+						"package-json-from-dist": "^1.0.0",
+						"path-scurry": "^1.11.1"
+					}
+				},
+				"htmlfy": {
+					"version": "0.8.1",
+					"resolved": "https://registry.npmjs.org/htmlfy/-/htmlfy-0.8.1.tgz",
+					"integrity": "sha512-xWROBw9+MEGwxpotll0h672KCaLrKKiCYzsyN8ZgL9cQbVumFnyvsk2JqiB9ELAV1GLj1GG/jxZUjV9OZZi/yQ==",
+					"dev": true
+				},
+				"is-plain-obj": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+					"integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
+					"dev": true
+				},
+				"minimatch": {
+					"version": "9.0.5",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^2.0.1"
+					}
+				},
 				"readdirp": {
 					"version": "4.1.2",
 					"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
 					"integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
 					"dev": true
+				},
+				"serialize-error": {
+					"version": "12.0.0",
+					"resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-12.0.0.tgz",
+					"integrity": "sha512-ZYkZLAvKTKQXWuh5XpBw7CdbSzagarX39WyZ2H07CDLC5/KfsRGlIXV8d4+tfqX1M7916mRqR1QfNHSij+c9Pw==",
+					"dev": true,
+					"requires": {
+						"type-fest": "^4.31.0"
+					}
+				},
+				"strip-ansi": {
+					"version": "7.1.0",
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+					"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+					"dev": true,
+					"requires": {
+						"ansi-regex": "^6.0.1"
+					}
+				},
+				"webdriver": {
+					"version": "9.18.0",
+					"resolved": "https://registry.npmjs.org/webdriver/-/webdriver-9.18.0.tgz",
+					"integrity": "sha512-07lC4FLj45lHJo0FvLjUp5qkjzEGWJWKGsxLoe9rQ2Fg88iYsqgr9JfSj8qxHpazBaBd+77+ZtpmMZ2X2D1Zuw==",
+					"dev": true,
+					"requires": {
+						"@types/node": "^20.1.0",
+						"@types/ws": "^8.5.3",
+						"@wdio/config": "9.18.0",
+						"@wdio/logger": "9.18.0",
+						"@wdio/protocols": "9.16.2",
+						"@wdio/types": "9.16.2",
+						"@wdio/utils": "9.18.0",
+						"deepmerge-ts": "^7.0.3",
+						"https-proxy-agent": "^7.0.6",
+						"undici": "^6.21.3",
+						"ws": "^8.8.0"
+					}
+				},
+				"webdriverio": {
+					"version": "9.18.4",
+					"resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-9.18.4.tgz",
+					"integrity": "sha512-Q/gghz/Zt7EhTnbDQfLb61WgSwCksXZE60lEzmDXe4fULCH/6Js5IWUsne3W+BRy6nXeVvFscHD/d7S77dbamw==",
+					"dev": true,
+					"requires": {
+						"@types/node": "^20.11.30",
+						"@types/sinonjs__fake-timers": "^8.1.5",
+						"@wdio/config": "9.18.0",
+						"@wdio/logger": "9.18.0",
+						"@wdio/protocols": "9.16.2",
+						"@wdio/repl": "9.16.2",
+						"@wdio/types": "9.16.2",
+						"@wdio/utils": "9.18.0",
+						"archiver": "^7.0.1",
+						"aria-query": "^5.3.0",
+						"cheerio": "^1.0.0-rc.12",
+						"css-shorthand-properties": "^1.1.1",
+						"css-value": "^0.0.1",
+						"grapheme-splitter": "^1.0.4",
+						"htmlfy": "^0.8.1",
+						"is-plain-obj": "^4.1.0",
+						"jszip": "^3.10.1",
+						"lodash.clonedeep": "^4.5.0",
+						"lodash.zip": "^4.2.0",
+						"query-selector-shadow-dom": "^1.0.1",
+						"resq": "^1.11.0",
+						"rgb2hex": "0.2.5",
+						"serialize-error": "^12.0.0",
+						"urlpattern-polyfill": "^10.0.0",
+						"webdriver": "9.18.0"
+					}
 				}
 			}
 		},
@@ -15059,6 +15769,14 @@
 			"dev": true,
 			"requires": {
 				"type-fest": "^0.21.3"
+			},
+			"dependencies": {
+				"type-fest": {
+					"version": "0.21.3",
+					"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+					"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+					"dev": true
+				}
 			}
 		},
 		"ansi-regex": {
@@ -15307,9 +16025,9 @@
 			"dev": true
 		},
 		"async": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
-			"integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
+			"integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
 			"dev": true
 		},
 		"async-exit-hook": {
@@ -15672,9 +16390,9 @@
 			}
 		},
 		"ci-info": {
-			"version": "3.9.0",
-			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
-			"integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+			"version": "4.3.0",
+			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz",
+			"integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==",
 			"dev": true
 		},
 		"clean-regexp": {
@@ -15888,6 +16606,73 @@
 				}
 			}
 		},
+		"create-wdio": {
+			"version": "9.18.2",
+			"resolved": "https://registry.npmjs.org/create-wdio/-/create-wdio-9.18.2.tgz",
+			"integrity": "sha512-atf81YJfyTNAJXsNu3qhpqF4OO43tHGTpr88duAc1Hk4a0uXJAPUYLnYxshOuMnfmeAxlWD+NqGU7orRiXEuJg==",
+			"dev": true,
+			"requires": {
+				"chalk": "^5.3.0",
+				"commander": "^14.0.0",
+				"cross-spawn": "^7.0.3",
+				"ejs": "^3.1.10",
+				"execa": "^9.6.0",
+				"import-meta-resolve": "^4.1.0",
+				"inquirer": "^12.7.0",
+				"normalize-package-data": "^7.0.0",
+				"read-pkg-up": "^10.1.0",
+				"recursive-readdir": "^2.2.3",
+				"semver": "^7.6.3",
+				"type-fest": "^4.41.0",
+				"yargs": "^17.7.2"
+			},
+			"dependencies": {
+				"chalk": {
+					"version": "5.5.0",
+					"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.5.0.tgz",
+					"integrity": "sha512-1tm8DTaJhPBG3bIkVeZt1iZM9GfSX2lzOeDVZH9R9ffRHpmHvxZ/QhgQH/aDTkswQVt+YHdXAdS/In/30OjCbg==",
+					"dev": true
+				},
+				"commander": {
+					"version": "14.0.0",
+					"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz",
+					"integrity": "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==",
+					"dev": true
+				},
+				"hosted-git-info": {
+					"version": "8.1.0",
+					"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz",
+					"integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==",
+					"dev": true,
+					"requires": {
+						"lru-cache": "^10.0.1"
+					}
+				},
+				"lru-cache": {
+					"version": "10.4.3",
+					"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+					"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+					"dev": true
+				},
+				"normalize-package-data": {
+					"version": "7.0.1",
+					"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-7.0.1.tgz",
+					"integrity": "sha512-linxNAT6M0ebEYZOx2tO6vBEFsVgnPpv+AVjk0wJHfaUIbq31Jm3T6vvZaarnOeWDh8ShnwXuaAyM7WT3RzErA==",
+					"dev": true,
+					"requires": {
+						"hosted-git-info": "^8.0.0",
+						"semver": "^7.3.5",
+						"validate-npm-package-license": "^3.0.4"
+					}
+				},
+				"semver": {
+					"version": "7.7.2",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+					"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+					"dev": true
+				}
+			}
+		},
 		"cross-spawn": {
 			"version": "7.0.6",
 			"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -16115,12 +16900,6 @@
 			"integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
 			"dev": true
 		},
-		"diff-sequences": {
-			"version": "29.6.3",
-			"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
-			"integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
-			"dev": true
-		},
 		"dir-glob": {
 			"version": "3.0.1",
 			"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -16201,9 +16980,9 @@
 			}
 		},
 		"dotenv": {
-			"version": "16.5.0",
-			"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz",
-			"integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==",
+			"version": "17.2.1",
+			"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.1.tgz",
+			"integrity": "sha512-kQhDYKZecqnM0fCnzI5eIv5L4cAe/iRI+HqMbO/hbRdTAeXDG+M9FjipUxNfbARuEg4iHIbhnhs78BCHNbSxEQ==",
 			"dev": true
 		},
 		"dunder-proto": {
@@ -16266,16 +17045,16 @@
 			}
 		},
 		"edgedriver": {
-			"version": "6.1.1",
-			"resolved": "https://registry.npmjs.org/edgedriver/-/edgedriver-6.1.1.tgz",
-			"integrity": "sha512-/dM/PoBf22Xg3yypMWkmRQrBKEnSyNaZ7wHGCT9+qqT14izwtFT+QvdR89rjNkMfXwW+bSFoqOfbcvM+2Cyc7w==",
+			"version": "6.1.2",
+			"resolved": "https://registry.npmjs.org/edgedriver/-/edgedriver-6.1.2.tgz",
+			"integrity": "sha512-UvFqd/IR81iPyWMcxXbUNi+xKWR7JjfoHjfuwjqsj9UHQKn80RpQmS0jf+U25IPi+gKVPcpOSKm0XkqgGMq4zQ==",
 			"dev": true,
 			"requires": {
 				"@wdio/logger": "^9.1.3",
 				"@zip.js/zip.js": "^2.7.53",
 				"decamelize": "^6.0.0",
 				"edge-paths": "^3.0.5",
-				"fast-xml-parser": "^4.5.0",
+				"fast-xml-parser": "^5.0.8",
 				"http-proxy-agent": "^7.0.2",
 				"https-proxy-agent": "^7.0.5",
 				"node-fetch": "^3.3.2",
@@ -17174,12 +17953,6 @@
 						"strip-json-comments": "^3.1.1"
 					}
 				},
-				"ci-info": {
-					"version": "4.0.0",
-					"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz",
-					"integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==",
-					"dev": true
-				},
 				"eslint-visitor-keys": {
 					"version": "4.0.0",
 					"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
@@ -17451,46 +18224,47 @@
 			}
 		},
 		"expect": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz",
-			"integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/expect/-/expect-30.0.5.tgz",
+			"integrity": "sha512-P0te2pt+hHI5qLJkIR+iMvS+lYUZml8rKKsohVHAGY+uClp9XVbdyYNJOIjSRpHVp8s8YqxJCiHUkSYZGr8rtQ==",
 			"dev": true,
 			"requires": {
-				"@jest/expect-utils": "^29.7.0",
-				"jest-get-type": "^29.6.3",
-				"jest-matcher-utils": "^29.7.0",
-				"jest-message-util": "^29.7.0",
-				"jest-util": "^29.7.0"
+				"@jest/expect-utils": "30.0.5",
+				"@jest/get-type": "30.0.1",
+				"jest-matcher-utils": "30.0.5",
+				"jest-message-util": "30.0.5",
+				"jest-mock": "30.0.5",
+				"jest-util": "30.0.5"
 			}
 		},
 		"expect-webdriverio": {
-			"version": "5.3.0",
-			"resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-5.3.0.tgz",
-			"integrity": "sha512-EUiibBYXWzSn9mJFuF914yeKUxvRxrhR9nImfe0YttG+wVg0v5jY1DPPnRz8sE0wlmoLHyLr155b5/d1+oZmxg==",
+			"version": "5.4.1",
+			"resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-5.4.1.tgz",
+			"integrity": "sha512-jH4qhahRNGPWbCCVcCpLDl/kvFJ1eOzVnrd1K/sG1RhKr6bZsgZQUiOE3bafVqSOfKP+ay8bM/VagP4+XsO9Xw==",
 			"dev": true,
 			"requires": {
-				"@vitest/snapshot": "^3.2.1",
-				"expect": "^29.7.0",
-				"jest-matcher-utils": "^29.7.0",
+				"@vitest/snapshot": "^3.2.4",
+				"expect": "^30.0.0",
+				"jest-matcher-utils": "^30.0.0",
 				"lodash.isequal": "^4.5.0"
 			},
 			"dependencies": {
 				"@vitest/pretty-format": {
-					"version": "3.2.3",
-					"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.3.tgz",
-					"integrity": "sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==",
+					"version": "3.2.4",
+					"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz",
+					"integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==",
 					"dev": true,
 					"requires": {
 						"tinyrainbow": "^2.0.0"
 					}
 				},
 				"@vitest/snapshot": {
-					"version": "3.2.3",
-					"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.3.tgz",
-					"integrity": "sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==",
+					"version": "3.2.4",
+					"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz",
+					"integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==",
 					"dev": true,
 					"requires": {
-						"@vitest/pretty-format": "3.2.3",
+						"@vitest/pretty-format": "3.2.4",
 						"magic-string": "^0.30.17",
 						"pathe": "^2.0.3"
 					}
@@ -17605,12 +18379,12 @@
 			"dev": true
 		},
 		"fast-xml-parser": {
-			"version": "4.5.3",
-			"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz",
-			"integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==",
+			"version": "5.2.5",
+			"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz",
+			"integrity": "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==",
 			"dev": true,
 			"requires": {
-				"strnum": "^1.1.1"
+				"strnum": "^2.1.0"
 			}
 		},
 		"fastest-levenshtein": {
@@ -17701,9 +18475,9 @@
 					}
 				},
 				"minimatch": {
-					"version": "5.1.0",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
-					"integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+					"version": "5.1.6",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+					"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
 					"dev": true,
 					"requires": {
 						"brace-expansion": "^2.0.1"
@@ -18182,9 +18956,9 @@
 			"dev": true
 		},
 		"graceful-fs": {
-			"version": "4.2.10",
-			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
-			"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+			"version": "4.2.11",
+			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+			"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
 			"dev": true
 		},
 		"grapheme-splitter": {
@@ -18657,19 +19431,18 @@
 			"dev": true
 		},
 		"inquirer": {
-			"version": "11.1.0",
-			"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-11.1.0.tgz",
-			"integrity": "sha512-CmLAZT65GG/v30c+D2Fk8+ceP6pxD6RL+hIUOWAltCmeyEqWYwqu9v76q03OvjyZ3AB0C1Ala2stn1z/rMqGEw==",
+			"version": "12.9.0",
+			"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-12.9.0.tgz",
+			"integrity": "sha512-LlFVmvWVCun7uEgPB3vups9NzBrjJn48kRNtFGw3xU1H5UXExTEz/oF1JGLaB0fvlkUB+W6JfgLcSEaSdH7RPA==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/prompts": "^6.0.1",
-				"@inquirer/type": "^2.0.0",
-				"@types/mute-stream": "^0.0.4",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/prompts": "^7.8.0",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2",
-				"mute-stream": "^1.0.0",
-				"run-async": "^3.0.0",
-				"rxjs": "^7.8.1"
+				"mute-stream": "^2.0.0",
+				"run-async": "^4.0.5",
+				"rxjs": "^7.8.2"
 			}
 		},
 		"internal-slot": {
@@ -18976,76 +19749,94 @@
 			}
 		},
 		"jake": {
-			"version": "10.8.5",
-			"resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
-			"integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==",
+			"version": "10.9.4",
+			"resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz",
+			"integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==",
 			"dev": true,
 			"requires": {
-				"async": "^3.2.3",
-				"chalk": "^4.0.2",
-				"filelist": "^1.0.1",
-				"minimatch": "^3.0.4"
+				"async": "^3.2.6",
+				"filelist": "^1.0.4",
+				"picocolors": "^1.1.1"
 			}
 		},
 		"jest-diff": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
-			"integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.0.5.tgz",
+			"integrity": "sha512-1UIqE9PoEKaHcIKvq2vbibrCog4Y8G0zmOxgQUVEiTqwR5hJVMCoDsN1vFvI5JvwD37hjueZ1C4l2FyGnfpE0A==",
 			"dev": true,
 			"requires": {
-				"chalk": "^4.0.0",
-				"diff-sequences": "^29.6.3",
-				"jest-get-type": "^29.6.3",
-				"pretty-format": "^29.7.0"
+				"@jest/diff-sequences": "30.0.1",
+				"@jest/get-type": "30.0.1",
+				"chalk": "^4.1.2",
+				"pretty-format": "30.0.5"
 			}
 		},
-		"jest-get-type": {
-			"version": "29.6.3",
-			"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
-			"integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
-			"dev": true
-		},
 		"jest-matcher-utils": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz",
-			"integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.0.5.tgz",
+			"integrity": "sha512-uQgGWt7GOrRLP1P7IwNWwK1WAQbq+m//ZY0yXygyfWp0rJlksMSLQAA4wYQC3b6wl3zfnchyTx+k3HZ5aPtCbQ==",
 			"dev": true,
 			"requires": {
-				"chalk": "^4.0.0",
-				"jest-diff": "^29.7.0",
-				"jest-get-type": "^29.6.3",
-				"pretty-format": "^29.7.0"
+				"@jest/get-type": "30.0.1",
+				"chalk": "^4.1.2",
+				"jest-diff": "30.0.5",
+				"pretty-format": "30.0.5"
 			}
 		},
 		"jest-message-util": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
-			"integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz",
+			"integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==",
 			"dev": true,
 			"requires": {
-				"@babel/code-frame": "^7.12.13",
-				"@jest/types": "^29.6.3",
-				"@types/stack-utils": "^2.0.0",
-				"chalk": "^4.0.0",
-				"graceful-fs": "^4.2.9",
-				"micromatch": "^4.0.4",
-				"pretty-format": "^29.7.0",
+				"@babel/code-frame": "^7.27.1",
+				"@jest/types": "30.0.5",
+				"@types/stack-utils": "^2.0.3",
+				"chalk": "^4.1.2",
+				"graceful-fs": "^4.2.11",
+				"micromatch": "^4.0.8",
+				"pretty-format": "30.0.5",
 				"slash": "^3.0.0",
-				"stack-utils": "^2.0.3"
+				"stack-utils": "^2.0.6"
+			}
+		},
+		"jest-mock": {
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.5.tgz",
+			"integrity": "sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==",
+			"dev": true,
+			"requires": {
+				"@jest/types": "30.0.5",
+				"@types/node": "*",
+				"jest-util": "30.0.5"
 			}
 		},
+		"jest-regex-util": {
+			"version": "30.0.1",
+			"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz",
+			"integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==",
+			"dev": true
+		},
 		"jest-util": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
-			"integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz",
+			"integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^29.6.3",
+				"@jest/types": "30.0.5",
 				"@types/node": "*",
-				"chalk": "^4.0.0",
-				"ci-info": "^3.2.0",
-				"graceful-fs": "^4.2.9",
-				"picomatch": "^2.2.3"
+				"chalk": "^4.1.2",
+				"ci-info": "^4.2.0",
+				"graceful-fs": "^4.2.11",
+				"picomatch": "^4.0.2"
+			},
+			"dependencies": {
+				"picomatch": {
+					"version": "4.0.3",
+					"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+					"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+					"dev": true
+				}
 			}
 		},
 		"js-tokens": {
@@ -19567,6 +20358,12 @@
 			"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
 			"dev": true
 		},
+		"mitt": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
+			"integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
+			"dev": true
+		},
 		"mocha": {
 			"version": "7.2.0",
 			"resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz",
@@ -19962,9 +20759,9 @@
 			}
 		},
 		"mute-stream": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
-			"integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
+			"integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
 			"dev": true
 		},
 		"mwbot": {
@@ -20583,14 +21380,14 @@
 			"dev": true
 		},
 		"pretty-format": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
-			"integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz",
+			"integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==",
 			"dev": true,
 			"requires": {
-				"@jest/schemas": "^29.6.3",
-				"ansi-styles": "^5.0.0",
-				"react-is": "^18.0.0"
+				"@jest/schemas": "30.0.5",
+				"ansi-styles": "^5.2.0",
+				"react-is": "^18.3.1"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -20793,24 +21590,18 @@
 					"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
 					"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
 					"dev": true
-				},
-				"type-fest": {
-					"version": "4.41.0",
-					"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
-					"integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
-					"dev": true
 				}
 			}
 		},
 		"read-pkg-up": {
-			"version": "10.0.0",
-			"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.0.0.tgz",
-			"integrity": "sha512-jgmKiS//w2Zs+YbX039CorlkOp8FIVbSAN8r8GJHDsGlmNPXo+VeHkqAwCiQVTTx5/LwLZTcEw59z3DvcLbr0g==",
+			"version": "10.1.0",
+			"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.1.0.tgz",
+			"integrity": "sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==",
 			"dev": true,
 			"requires": {
 				"find-up": "^6.3.0",
-				"read-pkg": "^8.0.0",
-				"type-fest": "^3.12.0"
+				"read-pkg": "^8.1.0",
+				"type-fest": "^4.2.0"
 			},
 			"dependencies": {
 				"find-up": {
@@ -20856,12 +21647,6 @@
 					"integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
 					"dev": true
 				},
-				"type-fest": {
-					"version": "3.13.1",
-					"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
-					"integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
-					"dev": true
-				},
 				"yocto-queue": {
 					"version": "1.2.1",
 					"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz",
@@ -21090,6 +21875,12 @@
 				"fast-deep-equal": "^2.0.1"
 			}
 		},
+		"ret": {
+			"version": "0.5.0",
+			"resolved": "https://registry.npmjs.org/ret/-/ret-0.5.0.tgz",
+			"integrity": "sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==",
+			"dev": true
+		},
 		"reusify": {
 			"version": "1.0.4",
 			"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
@@ -21112,9 +21903,9 @@
 			}
 		},
 		"run-async": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz",
-			"integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==",
+			"version": "4.0.5",
+			"resolved": "https://registry.npmjs.org/run-async/-/run-async-4.0.5.tgz",
+			"integrity": "sha512-oN9GTgxUNDBumHTTDmQ8dep6VIJbgj9S3dPP+9XylVLIK4xB9XTXtKWROd5pnhdXR9k0EgO1JRcNh0T+Ny2FsA==",
 			"dev": true
 		},
 		"run-parallel": {
@@ -21162,6 +21953,15 @@
 				"regexp-tree": "~0.1.1"
 			}
 		},
+		"safe-regex2": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-5.0.0.tgz",
+			"integrity": "sha512-YwJwe5a51WlK7KbOJREPdjNrpViQBI3p4T50lfwPuDhZnE3XGVTlGvi+aolc5+RvxDD6bnUmjVsU9n1eboLUYw==",
+			"dev": true,
+			"requires": {
+				"ret": "~0.5.0"
+			}
+		},
 		"safer-buffer": {
 			"version": "2.1.2",
 			"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -21572,9 +22372,9 @@
 			"dev": true
 		},
 		"strnum": {
-			"version": "1.1.2",
-			"resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
-			"integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz",
+			"integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==",
 			"dev": true
 		},
 		"style-search": {
@@ -22022,9 +22822,9 @@
 			"dev": true
 		},
 		"type-fest": {
-			"version": "0.21.3",
-			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
-			"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+			"version": "4.41.0",
+			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
+			"integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
 			"dev": true
 		},
 		"typescript": {
diff --git a/package.json b/package.json
index 176b915..9bbbacc 100644
--- a/package.json
+++ b/package.json
@@ -10,7 +10,7 @@
 		"build": "./maintenance/buildPHPparser.js"
 	},
 	"devDependencies": {
-		"@wdio/cli": "9.15.0",
+		"@wdio/cli": "9.18.4",
 		"@wdio/junit-reporter": "9.15.0",
 		"@wdio/local-runner": "9.15.0",
 		"@wdio/mocha-framework": "9.15.0",
-- 
2.39.5

$ date
--- stdout ---
Fri Aug  8 03:01:19 UTC 2025

--- end ---
$ git clone file:///srv/git/mediawiki-extensions-Math.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 ---
51b36a20794ab20f4634b420d2449039823c49a1 refs/heads/master

--- end ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@inquirer/editor": {
      "name": "@inquirer/editor",
      "severity": "low",
      "isDirect": false,
      "via": [
        "external-editor"
      ],
      "effects": [
        "@inquirer/prompts"
      ],
      "range": "*",
      "nodes": [
        "node_modules/@inquirer/editor"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.18.4",
        "isSemVerMajor": false
      }
    },
    "@inquirer/prompts": {
      "name": "@inquirer/prompts",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@inquirer/editor"
      ],
      "effects": [
        "inquirer"
      ],
      "range": "*",
      "nodes": [
        "node_modules/@inquirer/prompts"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.18.4",
        "isSemVerMajor": false
      }
    },
    "@wdio/cli": {
      "name": "@wdio/cli",
      "severity": "low",
      "isDirect": true,
      "via": [
        "inquirer"
      ],
      "effects": [],
      "range": "9.0.0-alpha.0 - 9.17.1",
      "nodes": [
        "node_modules/@wdio/cli"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.18.4",
        "isSemVerMajor": false
      }
    },
    "debug": {
      "name": "debug",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1096793,
          "name": "debug",
          "dependency": "debug",
          "title": "Regular Expression Denial of Service in debug",
          "url": "https://github.com/advisories/GHSA-gxpj-cx7g-858c",
          "severity": "low",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 3.7,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=3.2.0 <3.2.7"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "3.2.0 - 3.2.6",
      "nodes": [
        "node_modules/mocha/node_modules/debug"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "11.7.1",
        "isSemVerMajor": true
      }
    },
    "external-editor": {
      "name": "external-editor",
      "severity": "low",
      "isDirect": false,
      "via": [
        "tmp"
      ],
      "effects": [
        "@inquirer/editor"
      ],
      "range": ">=1.1.1",
      "nodes": [
        "node_modules/external-editor"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.18.4",
        "isSemVerMajor": false
      }
    },
    "flat": {
      "name": "flat",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1089152,
          "name": "flat",
          "dependency": "flat",
          "title": "flat vulnerable to Prototype Pollution",
          "url": "https://github.com/advisories/GHSA-2j2x-2gpw-g8fm",
          "severity": "critical",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<5.0.1"
        }
      ],
      "effects": [
        "yargs-unparser"
      ],
      "range": "<5.0.1",
      "nodes": [
        "node_modules/flat"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "11.7.1",
        "isSemVerMajor": true
      }
    },
    "form-data": {
      "name": "form-data",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1106509,
          "name": "form-data",
          "dependency": "form-data",
          "title": "form-data uses unsafe random function in form-data for choosing boundary",
          "url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4",
          "severity": "critical",
          "cwe": [
            "CWE-330"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<2.5.4"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<2.5.4",
      "nodes": [
        "node_modules/request/node_modules/form-data"
      ],
      "fixAvailable": false
    },
    "inquirer": {
      "name": "inquirer",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@inquirer/prompts"
      ],
      "effects": [
        "@wdio/cli"
      ],
      "range": ">=10.0.0",
      "nodes": [
        "node_modules/inquirer"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.18.4",
        "isSemVerMajor": false
      }
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1096485,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch ReDoS vulnerability",
          "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "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": "<3.0.5"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "<3.0.5",
      "nodes": [
        "node_modules/mocha/node_modules/minimatch"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "11.7.1",
        "isSemVerMajor": true
      }
    },
    "mocha": {
      "name": "mocha",
      "severity": "critical",
      "isDirect": true,
      "via": [
        "debug",
        "minimatch",
        "yargs-unparser"
      ],
      "effects": [],
      "range": "5.1.0 - 9.2.1",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "11.7.1",
        "isSemVerMajor": true
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": false
    },
    "request": {
      "name": "request",
      "severity": "critical",
      "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"
        },
        "form-data",
        "tough-cookie"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": false
    },
    "tmp": {
      "name": "tmp",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1106849,
          "name": "tmp",
          "dependency": "tmp",
          "title": "tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter",
          "url": "https://github.com/advisories/GHSA-52f5-9888-hmc6",
          "severity": "low",
          "cwe": [
            "CWE-59"
          ],
          "cvss": {
            "score": 2.5,
            "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<=0.2.3"
        }
      ],
      "effects": [
        "external-editor"
      ],
      "range": "<=0.2.3",
      "nodes": [
        "node_modules/tmp"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.18.4",
        "isSemVerMajor": 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
    },
    "yargs-unparser": {
      "name": "yargs-unparser",
      "severity": "critical",
      "isDirect": false,
      "via": [
        "flat"
      ],
      "effects": [
        "mocha"
      ],
      "range": "<=1.6.3",
      "nodes": [
        "node_modules/yargs-unparser"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "11.7.1",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 7,
      "moderate": 3,
      "high": 1,
      "critical": 5,
      "total": 16
    },
    "dependencies": {
      "prod": 1,
      "dev": 1062,
      "optional": 42,
      "peer": 5,
      "peerOptional": 0,
      "total": 1062
    }
  }
}

--- 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: 38 installs, 0 updates, 0 removals
  - Locking composer/pcre (3.3.2)
  - Locking composer/semver (3.4.3)
  - Locking composer/spdx-licenses (1.5.9)
  - Locking composer/xdebug-handler (3.0.5)
  - Locking dealerdirect/phpcodesniffer-composer-installer (v1.1.2)
  - Locking doctrine/deprecations (1.1.5)
  - Locking felixfbecker/advanced-json-rpc (v3.2.1)
  - Locking mediawiki/mediawiki-codesniffer (v47.0.0)
  - Locking mediawiki/mediawiki-phan-config (0.16.0)
  - Locking mediawiki/minus-x (1.1.3)
  - Locking mediawiki/phan-taint-check-plugin (6.2.1)
  - Locking microsoft/tolerant-php-parser (v0.1.2)
  - Locking netresearch/jsonmapper (v4.5.0)
  - Locking phan/phan (5.5.0)
  - 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.2)
  - Locking phpdocumentor/type-resolver (1.10.0)
  - Locking phpstan/phpdoc-parser (2.2.0)
  - Locking psr/container (2.0.2)
  - Locking psr/log (3.0.2)
  - Locking sabre/event (5.1.7)
  - Locking squizlabs/php_codesniffer (3.12.2)
  - Locking symfony/console (v7.3.2)
  - Locking symfony/deprecation-contracts (v3.6.0)
  - Locking symfony/polyfill-ctype (v1.32.0)
  - Locking symfony/polyfill-intl-grapheme (v1.32.0)
  - Locking symfony/polyfill-intl-normalizer (v1.32.0)
  - Locking symfony/polyfill-mbstring (v1.32.0)
  - Locking symfony/polyfill-php80 (v1.32.0)
  - Locking symfony/service-contracts (v3.6.0)
  - Locking symfony/string (v7.3.2)
  - Locking tysonandre/var_representation_polyfill (0.1.3)
  - Locking webmozart/assert (1.11.0)
Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 38 installs, 0 updates, 0 removals
    0 [>---------------------------]    0 [->--------------------------]
  - Installing squizlabs/php_codesniffer (3.12.2): Extracting archive
  - Installing dealerdirect/phpcodesniffer-composer-installer (v1.1.2): Extracting archive
  - Installing composer/pcre (3.3.2): Extracting archive
  - Installing symfony/polyfill-php80 (v1.32.0): Extracting archive
  - Installing phpcsstandards/phpcsutils (1.0.12): Extracting archive
  - Installing phpcsstandards/phpcsextra (1.2.1): Extracting archive
  - Installing symfony/polyfill-mbstring (v1.32.0): Extracting archive
  - Installing composer/spdx-licenses (1.5.9): Extracting archive
  - Installing composer/semver (3.4.3): Extracting archive
  - Installing mediawiki/mediawiki-codesniffer (v47.0.0): Extracting archive
  - Installing tysonandre/var_representation_polyfill (0.1.3): Extracting archive
  - Installing symfony/polyfill-intl-normalizer (v1.32.0): Extracting archive
  - Installing symfony/polyfill-intl-grapheme (v1.32.0): Extracting archive
  - Installing symfony/polyfill-ctype (v1.32.0): Extracting archive
  - Installing symfony/string (v7.3.2): Extracting archive
  - Installing symfony/deprecation-contracts (v3.6.0): Extracting archive
  - Installing psr/container (2.0.2): Extracting archive
  - Installing symfony/service-contracts (v3.6.0): Extracting archive
  - Installing symfony/console (v7.3.2): 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.2.0): Extracting archive
  - Installing phpdocumentor/reflection-common (2.2.0): Extracting archive
  - Installing doctrine/deprecations (1.1.5): Extracting archive
  - Installing phpdocumentor/type-resolver (1.10.0): Extracting archive
  - Installing phpdocumentor/reflection-docblock (5.6.2): 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.5.0): Extracting archive
  - Installing mediawiki/phan-taint-check-plugin (6.2.1): Extracting archive
  - Installing mediawiki/mediawiki-phan-config (0.16.0): 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
  0/36 [>---------------------------]   0%
 20/36 [===============>------------]  55%
 35/36 [===========================>]  97%
 36/36 [============================] 100%
1 package suggestions were added by new dependencies, use `composer suggest` to see details.
Generating autoload files
17 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 ---
$ /usr/bin/npm audit --json
--- stdout ---
{
  "auditReportVersion": 2,
  "vulnerabilities": {
    "@inquirer/editor": {
      "name": "@inquirer/editor",
      "severity": "low",
      "isDirect": false,
      "via": [
        "external-editor"
      ],
      "effects": [
        "@inquirer/prompts"
      ],
      "range": "*",
      "nodes": [
        "node_modules/@inquirer/editor"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.18.4",
        "isSemVerMajor": false
      }
    },
    "@inquirer/prompts": {
      "name": "@inquirer/prompts",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@inquirer/editor"
      ],
      "effects": [
        "inquirer"
      ],
      "range": "*",
      "nodes": [
        "node_modules/@inquirer/prompts"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.18.4",
        "isSemVerMajor": false
      }
    },
    "@wdio/cli": {
      "name": "@wdio/cli",
      "severity": "low",
      "isDirect": true,
      "via": [
        "inquirer"
      ],
      "effects": [],
      "range": "9.0.0-alpha.0 - 9.17.1",
      "nodes": [
        "node_modules/@wdio/cli"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.18.4",
        "isSemVerMajor": false
      }
    },
    "debug": {
      "name": "debug",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1096793,
          "name": "debug",
          "dependency": "debug",
          "title": "Regular Expression Denial of Service in debug",
          "url": "https://github.com/advisories/GHSA-gxpj-cx7g-858c",
          "severity": "low",
          "cwe": [
            "CWE-400"
          ],
          "cvss": {
            "score": 3.7,
            "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L"
          },
          "range": ">=3.2.0 <3.2.7"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "3.2.0 - 3.2.6",
      "nodes": [
        "node_modules/mocha/node_modules/debug"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "11.7.1",
        "isSemVerMajor": true
      }
    },
    "external-editor": {
      "name": "external-editor",
      "severity": "low",
      "isDirect": false,
      "via": [
        "tmp"
      ],
      "effects": [
        "@inquirer/editor"
      ],
      "range": ">=1.1.1",
      "nodes": [
        "node_modules/external-editor"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.18.4",
        "isSemVerMajor": false
      }
    },
    "flat": {
      "name": "flat",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1089152,
          "name": "flat",
          "dependency": "flat",
          "title": "flat vulnerable to Prototype Pollution",
          "url": "https://github.com/advisories/GHSA-2j2x-2gpw-g8fm",
          "severity": "critical",
          "cwe": [
            "CWE-1321"
          ],
          "cvss": {
            "score": 9.8,
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
          },
          "range": "<5.0.1"
        }
      ],
      "effects": [
        "yargs-unparser"
      ],
      "range": "<5.0.1",
      "nodes": [
        "node_modules/flat"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "11.7.1",
        "isSemVerMajor": true
      }
    },
    "form-data": {
      "name": "form-data",
      "severity": "critical",
      "isDirect": false,
      "via": [
        {
          "source": 1106509,
          "name": "form-data",
          "dependency": "form-data",
          "title": "form-data uses unsafe random function in form-data for choosing boundary",
          "url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4",
          "severity": "critical",
          "cwe": [
            "CWE-330"
          ],
          "cvss": {
            "score": 0,
            "vectorString": null
          },
          "range": "<2.5.4"
        }
      ],
      "effects": [
        "request"
      ],
      "range": "<2.5.4",
      "nodes": [
        "node_modules/request/node_modules/form-data"
      ],
      "fixAvailable": false
    },
    "inquirer": {
      "name": "inquirer",
      "severity": "low",
      "isDirect": false,
      "via": [
        "@inquirer/prompts"
      ],
      "effects": [
        "@wdio/cli"
      ],
      "range": ">=10.0.0",
      "nodes": [
        "node_modules/inquirer"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.18.4",
        "isSemVerMajor": false
      }
    },
    "minimatch": {
      "name": "minimatch",
      "severity": "high",
      "isDirect": false,
      "via": [
        {
          "source": 1096485,
          "name": "minimatch",
          "dependency": "minimatch",
          "title": "minimatch ReDoS vulnerability",
          "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3",
          "severity": "high",
          "cwe": [
            "CWE-400",
            "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": "<3.0.5"
        }
      ],
      "effects": [
        "mocha"
      ],
      "range": "<3.0.5",
      "nodes": [
        "node_modules/mocha/node_modules/minimatch"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "11.7.1",
        "isSemVerMajor": true
      }
    },
    "mocha": {
      "name": "mocha",
      "severity": "critical",
      "isDirect": true,
      "via": [
        "debug",
        "minimatch",
        "yargs-unparser"
      ],
      "effects": [],
      "range": "5.1.0 - 9.2.1",
      "nodes": [
        "node_modules/mocha"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "11.7.1",
        "isSemVerMajor": true
      }
    },
    "mwbot": {
      "name": "mwbot",
      "severity": "moderate",
      "isDirect": false,
      "via": [
        "request"
      ],
      "effects": [
        "wdio-mediawiki"
      ],
      "range": ">=0.1.6",
      "nodes": [
        "node_modules/mwbot"
      ],
      "fixAvailable": false
    },
    "request": {
      "name": "request",
      "severity": "critical",
      "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"
        },
        "form-data",
        "tough-cookie"
      ],
      "effects": [
        "mwbot"
      ],
      "range": "*",
      "nodes": [
        "node_modules/request"
      ],
      "fixAvailable": false
    },
    "tmp": {
      "name": "tmp",
      "severity": "low",
      "isDirect": false,
      "via": [
        {
          "source": 1106849,
          "name": "tmp",
          "dependency": "tmp",
          "title": "tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter",
          "url": "https://github.com/advisories/GHSA-52f5-9888-hmc6",
          "severity": "low",
          "cwe": [
            "CWE-59"
          ],
          "cvss": {
            "score": 2.5,
            "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"
          },
          "range": "<=0.2.3"
        }
      ],
      "effects": [
        "external-editor"
      ],
      "range": "<=0.2.3",
      "nodes": [
        "node_modules/tmp"
      ],
      "fixAvailable": {
        "name": "@wdio/cli",
        "version": "9.18.4",
        "isSemVerMajor": 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
    },
    "yargs-unparser": {
      "name": "yargs-unparser",
      "severity": "critical",
      "isDirect": false,
      "via": [
        "flat"
      ],
      "effects": [
        "mocha"
      ],
      "range": "<=1.6.3",
      "nodes": [
        "node_modules/yargs-unparser"
      ],
      "fixAvailable": {
        "name": "mocha",
        "version": "11.7.1",
        "isSemVerMajor": true
      }
    }
  },
  "metadata": {
    "vulnerabilities": {
      "info": 0,
      "low": 7,
      "moderate": 3,
      "high": 1,
      "critical": 5,
      "total": 16
    },
    "dependencies": {
      "prod": 1,
      "dev": 1062,
      "optional": 42,
      "peer": 5,
      "peerOptional": 0,
      "total": 1062
    }
  }
}

--- 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
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/cli@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/config@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/dot-reporter@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/globals@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/junit-reporter@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/local-runner@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/logger@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/mocha-framework@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/repl@9.4.4',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/reporter@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/runner@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/spec-reporter@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/types@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/utils@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'undici@7.10.0',
npm WARN EBADENGINE   required: { node: '>=20.18.1' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'webdriver@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'webdriverio@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
--- stdout ---
{
  "added": 1062,
  "removed": 0,
  "changed": 0,
  "audited": 1063,
  "funding": 245,
  "audit": {
    "auditReportVersion": 2,
    "vulnerabilities": {
      "@inquirer/editor": {
        "name": "@inquirer/editor",
        "severity": "low",
        "isDirect": false,
        "via": [
          "external-editor"
        ],
        "effects": [
          "@inquirer/prompts"
        ],
        "range": "*",
        "nodes": [
          "node_modules/@inquirer/editor"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.18.4",
          "isSemVerMajor": false
        }
      },
      "@inquirer/prompts": {
        "name": "@inquirer/prompts",
        "severity": "low",
        "isDirect": false,
        "via": [
          "@inquirer/editor"
        ],
        "effects": [
          "inquirer"
        ],
        "range": "*",
        "nodes": [
          "node_modules/@inquirer/prompts"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.18.4",
          "isSemVerMajor": false
        }
      },
      "@wdio/cli": {
        "name": "@wdio/cli",
        "severity": "low",
        "isDirect": true,
        "via": [
          "inquirer"
        ],
        "effects": [],
        "range": "9.0.0-alpha.0 - 9.17.1",
        "nodes": [
          "node_modules/@wdio/cli"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.18.4",
          "isSemVerMajor": false
        }
      },
      "debug": {
        "name": "debug",
        "severity": "low",
        "isDirect": false,
        "via": [
          {
            "source": 1096793,
            "name": "debug",
            "dependency": "debug",
            "title": "Regular Expression Denial of Service in debug",
            "url": "https://github.com/advisories/GHSA-gxpj-cx7g-858c",
            "severity": "low",
            "cwe": [
              "CWE-400"
            ],
            "cvss": {
              "score": 3.7,
              "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L"
            },
            "range": ">=3.2.0 <3.2.7"
          }
        ],
        "effects": [
          "mocha"
        ],
        "range": "3.2.0 - 3.2.6",
        "nodes": [
          "node_modules/mocha/node_modules/debug"
        ],
        "fixAvailable": {
          "name": "mocha",
          "version": "11.7.1",
          "isSemVerMajor": true
        }
      },
      "external-editor": {
        "name": "external-editor",
        "severity": "low",
        "isDirect": false,
        "via": [
          "tmp"
        ],
        "effects": [
          "@inquirer/editor"
        ],
        "range": ">=1.1.1",
        "nodes": [
          "node_modules/external-editor"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.18.4",
          "isSemVerMajor": false
        }
      },
      "flat": {
        "name": "flat",
        "severity": "critical",
        "isDirect": false,
        "via": [
          {
            "source": 1089152,
            "name": "flat",
            "dependency": "flat",
            "title": "flat vulnerable to Prototype Pollution",
            "url": "https://github.com/advisories/GHSA-2j2x-2gpw-g8fm",
            "severity": "critical",
            "cwe": [
              "CWE-1321"
            ],
            "cvss": {
              "score": 9.8,
              "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"
            },
            "range": "<5.0.1"
          }
        ],
        "effects": [
          "yargs-unparser"
        ],
        "range": "<5.0.1",
        "nodes": [
          "node_modules/flat"
        ],
        "fixAvailable": {
          "name": "mocha",
          "version": "11.7.1",
          "isSemVerMajor": true
        }
      },
      "form-data": {
        "name": "form-data",
        "severity": "critical",
        "isDirect": false,
        "via": [
          {
            "source": 1106509,
            "name": "form-data",
            "dependency": "form-data",
            "title": "form-data uses unsafe random function in form-data for choosing boundary",
            "url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4",
            "severity": "critical",
            "cwe": [
              "CWE-330"
            ],
            "cvss": {
              "score": 0,
              "vectorString": null
            },
            "range": "<2.5.4"
          }
        ],
        "effects": [
          "request"
        ],
        "range": "<2.5.4",
        "nodes": [
          "node_modules/request/node_modules/form-data"
        ],
        "fixAvailable": false
      },
      "inquirer": {
        "name": "inquirer",
        "severity": "low",
        "isDirect": false,
        "via": [
          "@inquirer/prompts"
        ],
        "effects": [
          "@wdio/cli"
        ],
        "range": ">=10.0.0",
        "nodes": [
          "node_modules/inquirer"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.18.4",
          "isSemVerMajor": false
        }
      },
      "minimatch": {
        "name": "minimatch",
        "severity": "high",
        "isDirect": false,
        "via": [
          {
            "source": 1096485,
            "name": "minimatch",
            "dependency": "minimatch",
            "title": "minimatch ReDoS vulnerability",
            "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3",
            "severity": "high",
            "cwe": [
              "CWE-400",
              "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": "<3.0.5"
          }
        ],
        "effects": [
          "mocha"
        ],
        "range": "<3.0.5",
        "nodes": [
          "node_modules/mocha/node_modules/minimatch"
        ],
        "fixAvailable": {
          "name": "mocha",
          "version": "11.7.1",
          "isSemVerMajor": true
        }
      },
      "mocha": {
        "name": "mocha",
        "severity": "critical",
        "isDirect": true,
        "via": [
          "debug",
          "minimatch",
          "yargs-unparser"
        ],
        "effects": [],
        "range": "5.1.0 - 9.2.1",
        "nodes": [
          "node_modules/mocha"
        ],
        "fixAvailable": {
          "name": "mocha",
          "version": "11.7.1",
          "isSemVerMajor": true
        }
      },
      "mwbot": {
        "name": "mwbot",
        "severity": "moderate",
        "isDirect": false,
        "via": [
          "request"
        ],
        "effects": [
          "wdio-mediawiki"
        ],
        "range": ">=0.1.6",
        "nodes": [
          "node_modules/mwbot"
        ],
        "fixAvailable": false
      },
      "request": {
        "name": "request",
        "severity": "critical",
        "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"
          },
          "form-data",
          "tough-cookie"
        ],
        "effects": [
          "mwbot"
        ],
        "range": "*",
        "nodes": [
          "node_modules/request"
        ],
        "fixAvailable": false
      },
      "tmp": {
        "name": "tmp",
        "severity": "low",
        "isDirect": false,
        "via": [
          {
            "source": 1106849,
            "name": "tmp",
            "dependency": "tmp",
            "title": "tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter",
            "url": "https://github.com/advisories/GHSA-52f5-9888-hmc6",
            "severity": "low",
            "cwe": [
              "CWE-59"
            ],
            "cvss": {
              "score": 2.5,
              "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"
            },
            "range": "<=0.2.3"
          }
        ],
        "effects": [
          "external-editor"
        ],
        "range": "<=0.2.3",
        "nodes": [
          "node_modules/tmp"
        ],
        "fixAvailable": {
          "name": "@wdio/cli",
          "version": "9.18.4",
          "isSemVerMajor": 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
      },
      "yargs-unparser": {
        "name": "yargs-unparser",
        "severity": "critical",
        "isDirect": false,
        "via": [
          "flat"
        ],
        "effects": [
          "mocha"
        ],
        "range": "<=1.6.3",
        "nodes": [
          "node_modules/yargs-unparser"
        ],
        "fixAvailable": {
          "name": "mocha",
          "version": "11.7.1",
          "isSemVerMajor": true
        }
      }
    },
    "metadata": {
      "vulnerabilities": {
        "info": 0,
        "low": 7,
        "moderate": 3,
        "high": 1,
        "critical": 5,
        "total": 16
      },
      "dependencies": {
        "prod": 1,
        "dev": 1062,
        "optional": 42,
        "peer": 5,
        "peerOptional": 0,
        "total": 1062
      }
    }
  }
}

--- end ---
{"added": 1062, "removed": 0, "changed": 0, "audited": 1063, "funding": 245, "audit": {"auditReportVersion": 2, "vulnerabilities": {"@inquirer/editor": {"name": "@inquirer/editor", "severity": "low", "isDirect": false, "via": ["external-editor"], "effects": ["@inquirer/prompts"], "range": "*", "nodes": ["node_modules/@inquirer/editor"], "fixAvailable": {"name": "@wdio/cli", "version": "9.18.4", "isSemVerMajor": false}}, "@inquirer/prompts": {"name": "@inquirer/prompts", "severity": "low", "isDirect": false, "via": ["@inquirer/editor"], "effects": ["inquirer"], "range": "*", "nodes": ["node_modules/@inquirer/prompts"], "fixAvailable": {"name": "@wdio/cli", "version": "9.18.4", "isSemVerMajor": false}}, "@wdio/cli": {"name": "@wdio/cli", "severity": "low", "isDirect": true, "via": ["inquirer"], "effects": [], "range": "9.0.0-alpha.0 - 9.17.1", "nodes": ["node_modules/@wdio/cli"], "fixAvailable": {"name": "@wdio/cli", "version": "9.18.4", "isSemVerMajor": false}}, "debug": {"name": "debug", "severity": "low", "isDirect": false, "via": [{"source": 1096793, "name": "debug", "dependency": "debug", "title": "Regular Expression Denial of Service in debug", "url": "https://github.com/advisories/GHSA-gxpj-cx7g-858c", "severity": "low", "cwe": ["CWE-400"], "cvss": {"score": 3.7, "vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L"}, "range": ">=3.2.0 <3.2.7"}], "effects": ["mocha"], "range": "3.2.0 - 3.2.6", "nodes": ["node_modules/mocha/node_modules/debug"], "fixAvailable": {"name": "mocha", "version": "11.7.1", "isSemVerMajor": true}}, "external-editor": {"name": "external-editor", "severity": "low", "isDirect": false, "via": ["tmp"], "effects": ["@inquirer/editor"], "range": ">=1.1.1", "nodes": ["node_modules/external-editor"], "fixAvailable": {"name": "@wdio/cli", "version": "9.18.4", "isSemVerMajor": false}}, "flat": {"name": "flat", "severity": "critical", "isDirect": false, "via": [{"source": 1089152, "name": "flat", "dependency": "flat", "title": "flat vulnerable to Prototype Pollution", "url": "https://github.com/advisories/GHSA-2j2x-2gpw-g8fm", "severity": "critical", "cwe": ["CWE-1321"], "cvss": {"score": 9.8, "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H"}, "range": "<5.0.1"}], "effects": ["yargs-unparser"], "range": "<5.0.1", "nodes": ["node_modules/flat"], "fixAvailable": {"name": "mocha", "version": "11.7.1", "isSemVerMajor": true}}, "form-data": {"name": "form-data", "severity": "critical", "isDirect": false, "via": [{"source": 1106509, "name": "form-data", "dependency": "form-data", "title": "form-data uses unsafe random function in form-data for choosing boundary", "url": "https://github.com/advisories/GHSA-fjxv-7rqg-78g4", "severity": "critical", "cwe": ["CWE-330"], "cvss": {"score": 0, "vectorString": null}, "range": "<2.5.4"}], "effects": ["request"], "range": "<2.5.4", "nodes": ["node_modules/request/node_modules/form-data"], "fixAvailable": false}, "inquirer": {"name": "inquirer", "severity": "low", "isDirect": false, "via": ["@inquirer/prompts"], "effects": ["@wdio/cli"], "range": ">=10.0.0", "nodes": ["node_modules/inquirer"], "fixAvailable": {"name": "@wdio/cli", "version": "9.18.4", "isSemVerMajor": false}}, "minimatch": {"name": "minimatch", "severity": "high", "isDirect": false, "via": [{"source": 1096485, "name": "minimatch", "dependency": "minimatch", "title": "minimatch ReDoS vulnerability", "url": "https://github.com/advisories/GHSA-f8q6-p94x-37v3", "severity": "high", "cwe": ["CWE-400", "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": "<3.0.5"}], "effects": ["mocha"], "range": "<3.0.5", "nodes": ["node_modules/mocha/node_modules/minimatch"], "fixAvailable": {"name": "mocha", "version": "11.7.1", "isSemVerMajor": true}}, "mocha": {"name": "mocha", "severity": "critical", "isDirect": true, "via": ["debug", "minimatch", "yargs-unparser"], "effects": [], "range": "5.1.0 - 9.2.1", "nodes": ["node_modules/mocha"], "fixAvailable": {"name": "mocha", "version": "11.7.1", "isSemVerMajor": true}}, "mwbot": {"name": "mwbot", "severity": "moderate", "isDirect": false, "via": ["request"], "effects": ["wdio-mediawiki"], "range": ">=0.1.6", "nodes": ["node_modules/mwbot"], "fixAvailable": false}, "request": {"name": "request", "severity": "critical", "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"}, "form-data", "tough-cookie"], "effects": ["mwbot"], "range": "*", "nodes": ["node_modules/request"], "fixAvailable": false}, "tmp": {"name": "tmp", "severity": "low", "isDirect": false, "via": [{"source": 1106849, "name": "tmp", "dependency": "tmp", "title": "tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter", "url": "https://github.com/advisories/GHSA-52f5-9888-hmc6", "severity": "low", "cwe": ["CWE-59"], "cvss": {"score": 2.5, "vectorString": "CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:L/A:N"}, "range": "<=0.2.3"}], "effects": ["external-editor"], "range": "<=0.2.3", "nodes": ["node_modules/tmp"], "fixAvailable": {"name": "@wdio/cli", "version": "9.18.4", "isSemVerMajor": 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}, "yargs-unparser": {"name": "yargs-unparser", "severity": "critical", "isDirect": false, "via": ["flat"], "effects": ["mocha"], "range": "<=1.6.3", "nodes": ["node_modules/yargs-unparser"], "fixAvailable": {"name": "mocha", "version": "11.7.1", "isSemVerMajor": true}}}, "metadata": {"vulnerabilities": {"info": 0, "low": 7, "moderate": 3, "high": 1, "critical": 5, "total": 16}, "dependencies": {"prod": 1, "dev": 1062, "optional": 42, "peer": 5, "peerOptional": 0, "total": 1062}}}}
{}
Upgrading n:@wdio/cli from 9.15.0 -> 9.18.4
$ /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
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/config@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/dot-reporter@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/globals@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/junit-reporter@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/local-runner@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/logger@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/mocha-framework@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/repl@9.4.4',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/reporter@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/runner@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/spec-reporter@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/types@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/utils@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'undici@7.10.0',
npm WARN EBADENGINE   required: { node: '>=20.18.1' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'webdriver@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'webdriverio@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/cli@9.18.4',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/config@9.18.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/globals@9.17.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/logger@9.18.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/types@9.16.2',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/utils@9.18.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'webdriverio@9.18.4',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'commander@14.0.0',
npm WARN EBADENGINE   required: { node: '>=20' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/repl@9.16.2',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'webdriver@9.18.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated lodash.isequal@4.5.0: This package is deprecated. Use require('node:util').isDeepStrictEqual instead.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated debug@3.2.6: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
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
npm WARN deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
--- stdout ---

added 1063 packages, and audited 1064 packages in 17s

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

# npm audit report

debug  3.2.0 - 3.2.6
Regular Expression Denial of Service in debug - https://github.com/advisories/GHSA-gxpj-cx7g-858c
fix available via `npm audit fix --force`
Will install mocha@11.7.1, which is a breaking change
node_modules/mocha/node_modules/debug
  mocha  5.1.0 - 9.2.1
  Depends on vulnerable versions of debug
  Depends on vulnerable versions of minimatch
  Depends on vulnerable versions of yargs-unparser
  node_modules/mocha

flat  <5.0.1
Severity: critical
flat vulnerable to Prototype Pollution - https://github.com/advisories/GHSA-2j2x-2gpw-g8fm
fix available via `npm audit fix --force`
Will install mocha@11.7.1, which is a breaking change
node_modules/flat
  yargs-unparser  <=1.6.3
  Depends on vulnerable versions of flat
  node_modules/yargs-unparser

form-data  <2.5.4
Severity: critical
form-data uses unsafe random function in form-data for choosing boundary - https://github.com/advisories/GHSA-fjxv-7rqg-78g4
No fix available
node_modules/request/node_modules/form-data
  request  *
  Depends on vulnerable versions of form-data
  Depends on vulnerable versions of tough-cookie
  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

minimatch  <3.0.5
Severity: high
minimatch ReDoS vulnerability - https://github.com/advisories/GHSA-f8q6-p94x-37v3
fix available via `npm audit fix --force`
Will install mocha@11.7.1, which is a breaking change
node_modules/mocha/node_modules/minimatch


tmp  <=0.2.3
tmp allows arbitrary temporary file / directory write via symbolic link `dir` parameter - https://github.com/advisories/GHSA-52f5-9888-hmc6
fix available via `npm audit fix --force`
Will install @wdio/cli@9.0.7, which is a breaking change
node_modules/tmp
  external-editor  >=1.1.1
  Depends on vulnerable versions of tmp
  node_modules/external-editor
    @inquirer/editor  *
    Depends on vulnerable versions of external-editor
    node_modules/@inquirer/editor
      @inquirer/prompts  *
      Depends on vulnerable versions of @inquirer/editor
      node_modules/@inquirer/prompts
        inquirer  >=10.0.0
        Depends on vulnerable versions of @inquirer/prompts
        node_modules/inquirer
          create-wdio  >=9.17.0
          Depends on vulnerable versions of inquirer
          node_modules/create-wdio
            @wdio/cli  >=9.17.0
            Depends on vulnerable versions of create-wdio
            node_modules/@wdio/cli

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

17 vulnerabilities (8 low, 3 moderate, 1 high, 5 critical)

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 EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/cli@9.18.4',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/config@9.18.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/globals@9.17.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/logger@9.18.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/repl@9.16.2',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/types@9.16.2',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/utils@9.18.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'webdriver@9.18.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'webdriverio@9.18.4',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/config@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/dot-reporter@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/globals@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/junit-reporter@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/local-runner@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/logger@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/mocha-framework@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/repl@9.4.4',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/reporter@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/runner@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/spec-reporter@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/types@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: '@wdio/utils@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'undici@7.10.0',
npm WARN EBADENGINE   required: { node: '>=20.18.1' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'commander@14.0.0',
npm WARN EBADENGINE   required: { node: '>=20' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'webdriver@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE   package: 'webdriverio@9.15.0',
npm WARN EBADENGINE   required: { node: '>=18.20.0' },
npm WARN EBADENGINE   current: { node: 'v18.19.0', npm: '9.2.0' }
npm WARN EBADENGINE }
npm WARN deprecated lodash.isequal@4.5.0: This package is deprecated. Use require('node:util').isDeepStrictEqual instead.
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
npm WARN deprecated debug@3.2.6: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
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
npm WARN deprecated node-domexception@1.0.0: Use your platform's native DOMException instead
--- stdout ---

added 1063 packages, and audited 1064 packages in 26s

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

17 vulnerabilities (8 low, 3 moderate, 1 high, 5 critical)

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/ve-math/ve.ui.MWLatexDialog.js
  136:24  warning  Prefer .then to .done  no-jquery/no-done-fail
  313:4   warning  Prefer .then to .done  no-jquery/no-done-fail
  313:4   warning  Prefer .then to .fail  no-jquery/no-done-fail

✖ 3 problems (0 errors, 3 warnings)


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

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

Done.

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

--- end ---
build: Updating @wdio/cli to 9.18.4

$ git add .
--- stdout ---

--- end ---
$ git commit -F /tmp/tmp00ud5mpf
--- stdout ---
[master 36bdb04] build: Updating @wdio/cli to 9.18.4
 2 files changed, 1427 insertions(+), 627 deletions(-)

--- end ---
$ git format-patch HEAD~1 --stdout
--- stdout ---
From 36bdb04c19b51c87e6355680a6f0438c6f9ccf24 Mon Sep 17 00:00:00 2001
From: libraryupgrader <tools.libraryupgrader@tools.wmflabs.org>
Date: Fri, 8 Aug 2025 03:02:33 +0000
Subject: [PATCH] build: Updating @wdio/cli to 9.18.4

Change-Id: Ieb6e4046c08dbdc0373ced84914d69911b3f7b45
---
 package-lock.json | 2052 +++++++++++++++++++++++++++++++--------------
 package.json      |    2 +-
 2 files changed, 1427 insertions(+), 627 deletions(-)

diff --git a/package-lock.json b/package-lock.json
index d370231..3c16355 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -6,7 +6,7 @@
 		"": {
 			"name": "Math",
 			"devDependencies": {
-				"@wdio/cli": "9.15.0",
+				"@wdio/cli": "9.18.4",
 				"@wdio/junit-reporter": "9.15.0",
 				"@wdio/local-runner": "9.15.0",
 				"@wdio/mocha-framework": "9.15.0",
@@ -642,64 +642,75 @@
 			"dev": true
 		},
 		"node_modules/@inquirer/checkbox": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-3.0.1.tgz",
-			"integrity": "sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==",
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.2.0.tgz",
+			"integrity": "sha512-fdSw07FLJEU5vbpOPzXo5c6xmMGDzbZE2+niuDHX5N6mc6V0Ebso/q3xiHra4D73+PMsC8MJmcaZKuAAoaQsSA==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/figures": "^1.0.6",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/figures": "^1.0.13",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2",
 				"yoctocolors-cjs": "^2.1.2"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/confirm": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-4.0.1.tgz",
-			"integrity": "sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==",
+			"version": "5.1.14",
+			"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.14.tgz",
+			"integrity": "sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0"
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/core": {
-			"version": "9.2.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz",
-			"integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==",
+			"version": "10.1.15",
+			"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.15.tgz",
+			"integrity": "sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/figures": "^1.0.6",
-				"@inquirer/type": "^2.0.0",
-				"@types/mute-stream": "^0.0.4",
-				"@types/node": "^22.5.5",
-				"@types/wrap-ansi": "^3.0.0",
+				"@inquirer/figures": "^1.0.13",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2",
 				"cli-width": "^4.1.0",
-				"mute-stream": "^1.0.0",
+				"mute-stream": "^2.0.0",
 				"signal-exit": "^4.1.0",
-				"strip-ansi": "^6.0.1",
 				"wrap-ansi": "^6.2.0",
 				"yoctocolors-cjs": "^2.1.2"
 			},
 			"engines": {
 				"node": ">=18"
-			}
-		},
-		"node_modules/@inquirer/core/node_modules/@types/node": {
-			"version": "22.15.31",
-			"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.31.tgz",
-			"integrity": "sha512-jnVe5ULKl6tijxUhvQeNbQG/84fHfg+yMak02cT8QVhBx/F05rAVxCGBYYTh2EKz22D6JF5ktXuNwdx7b9iEGw==",
-			"dev": true,
-			"dependencies": {
-				"undici-types": "~6.21.0"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/core/node_modules/wrap-ansi": {
@@ -717,158 +728,235 @@
 			}
 		},
 		"node_modules/@inquirer/editor": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-3.0.1.tgz",
-			"integrity": "sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==",
+			"version": "4.2.15",
+			"resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.15.tgz",
+			"integrity": "sha512-wst31XT8DnGOSS4nNJDIklGKnf+8shuauVrWzgKegWUe28zfCftcWZ2vktGdzJgcylWSS2SrDnYUb6alZcwnCQ==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8",
 				"external-editor": "^3.1.0"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/expand": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-3.0.1.tgz",
-			"integrity": "sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==",
+			"version": "4.0.17",
+			"resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.17.tgz",
+			"integrity": "sha512-PSqy9VmJx/VbE3CT453yOfNa+PykpKg/0SYP7odez1/NWBGuDXgPhp4AeGYYKjhLn5lUUavVS/JbeYMPdH50Mw==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8",
 				"yoctocolors-cjs": "^2.1.2"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/figures": {
-			"version": "1.0.12",
-			"resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.12.tgz",
-			"integrity": "sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==",
+			"version": "1.0.13",
+			"resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.13.tgz",
+			"integrity": "sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==",
 			"dev": true,
 			"engines": {
 				"node": ">=18"
 			}
 		},
 		"node_modules/@inquirer/input": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/input/-/input-3.0.1.tgz",
-			"integrity": "sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==",
+			"version": "4.2.1",
+			"resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.1.tgz",
+			"integrity": "sha512-tVC+O1rBl0lJpoUZv4xY+WGWY8V5b0zxU1XDsMsIHYregdh7bN5X5QnIONNBAl0K765FYlAfNHS2Bhn7SSOVow==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0"
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/number": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/number/-/number-2.0.1.tgz",
-			"integrity": "sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==",
+			"version": "3.0.17",
+			"resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.17.tgz",
+			"integrity": "sha512-GcvGHkyIgfZgVnnimURdOueMk0CztycfC8NZTiIY9arIAkeOgt6zG57G+7vC59Jns3UX27LMkPKnKWAOF5xEYg==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0"
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/password": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/password/-/password-3.0.1.tgz",
-			"integrity": "sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==",
+			"version": "4.0.17",
+			"resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.17.tgz",
+			"integrity": "sha512-DJolTnNeZ00E1+1TW+8614F7rOJJCM4y4BAGQ3Gq6kQIG+OJ4zr3GLjIjVVJCbKsk2jmkmv6v2kQuN/vriHdZA==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/prompts": {
-			"version": "6.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-6.0.1.tgz",
-			"integrity": "sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.0.tgz",
+			"integrity": "sha512-JHwGbQ6wjf1dxxnalDYpZwZxUEosT+6CPGD9Zh4sm9WXdtUp9XODCQD3NjSTmu+0OAyxWXNOqf0spjIymJa2Tw==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/checkbox": "^3.0.1",
-				"@inquirer/confirm": "^4.0.1",
-				"@inquirer/editor": "^3.0.1",
-				"@inquirer/expand": "^3.0.1",
-				"@inquirer/input": "^3.0.1",
-				"@inquirer/number": "^2.0.1",
-				"@inquirer/password": "^3.0.1",
-				"@inquirer/rawlist": "^3.0.1",
-				"@inquirer/search": "^2.0.1",
-				"@inquirer/select": "^3.0.1"
+				"@inquirer/checkbox": "^4.2.0",
+				"@inquirer/confirm": "^5.1.14",
+				"@inquirer/editor": "^4.2.15",
+				"@inquirer/expand": "^4.0.17",
+				"@inquirer/input": "^4.2.1",
+				"@inquirer/number": "^3.0.17",
+				"@inquirer/password": "^4.0.17",
+				"@inquirer/rawlist": "^4.1.5",
+				"@inquirer/search": "^3.1.0",
+				"@inquirer/select": "^4.3.1"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/rawlist": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-3.0.1.tgz",
-			"integrity": "sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==",
+			"version": "4.1.5",
+			"resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.5.tgz",
+			"integrity": "sha512-R5qMyGJqtDdi4Ht521iAkNqyB6p2UPuZUbMifakg1sWtu24gc2Z8CJuw8rP081OckNDMgtDCuLe42Q2Kr3BolA==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8",
 				"yoctocolors-cjs": "^2.1.2"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/search": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/search/-/search-2.0.1.tgz",
-			"integrity": "sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.1.0.tgz",
+			"integrity": "sha512-PMk1+O/WBcYJDq2H7foV0aAZSmDdkzZB9Mw2v/DmONRJopwA/128cS9M/TXWLKKdEQKZnKwBzqu2G4x/2Nqx8Q==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/figures": "^1.0.6",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/figures": "^1.0.13",
+				"@inquirer/type": "^3.0.8",
 				"yoctocolors-cjs": "^2.1.2"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/select": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/select/-/select-3.0.1.tgz",
-			"integrity": "sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==",
+			"version": "4.3.1",
+			"resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.3.1.tgz",
+			"integrity": "sha512-Gfl/5sqOF5vS/LIrSndFgOh7jgoe0UXEizDqahFRkq5aJBLegZ6WjuMh/hVEJwlFQjyLq1z9fRtvUMkb7jM1LA==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/figures": "^1.0.6",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/figures": "^1.0.13",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2",
 				"yoctocolors-cjs": "^2.1.2"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@inquirer/type": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz",
-			"integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==",
+			"version": "3.0.8",
+			"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.8.tgz",
+			"integrity": "sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==",
 			"dev": true,
-			"dependencies": {
-				"mute-stream": "^1.0.0"
-			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@isaacs/cliui": {
@@ -967,45 +1055,77 @@
 				"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
 			}
 		},
+		"node_modules/@jest/diff-sequences": {
+			"version": "30.0.1",
+			"resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz",
+			"integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==",
+			"dev": true,
+			"engines": {
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+			}
+		},
 		"node_modules/@jest/expect-utils": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
-			"integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.0.5.tgz",
+			"integrity": "sha512-F3lmTT7CXWYywoVUGTCmom0vXq3HTTkaZyTAzIy+bXSBizB7o5qzlC9VCtq0arOa8GqmNsbg/cE9C6HLn7Szew==",
+			"dev": true,
+			"dependencies": {
+				"@jest/get-type": "30.0.1"
+			},
+			"engines": {
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+			}
+		},
+		"node_modules/@jest/get-type": {
+			"version": "30.0.1",
+			"resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.0.1.tgz",
+			"integrity": "sha512-AyYdemXCptSRFirI5EPazNxyPwAL0jXt3zceFjaj8NFiKP9pOi0bfXonf6qkf82z2t3QWPeLCWWw4stPBzctLw==",
+			"dev": true,
+			"engines": {
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+			}
+		},
+		"node_modules/@jest/pattern": {
+			"version": "30.0.1",
+			"resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz",
+			"integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==",
 			"dev": true,
 			"dependencies": {
-				"jest-get-type": "^29.6.3"
+				"@types/node": "*",
+				"jest-regex-util": "30.0.1"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
 		"node_modules/@jest/schemas": {
-			"version": "29.6.3",
-			"resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
-			"integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz",
+			"integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==",
 			"dev": true,
 			"dependencies": {
-				"@sinclair/typebox": "^0.27.8"
+				"@sinclair/typebox": "^0.34.0"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
 		"node_modules/@jest/types": {
-			"version": "29.6.3",
-			"resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
-			"integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz",
+			"integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==",
 			"dev": true,
 			"dependencies": {
-				"@jest/schemas": "^29.6.3",
-				"@types/istanbul-lib-coverage": "^2.0.0",
-				"@types/istanbul-reports": "^3.0.0",
+				"@jest/pattern": "30.0.1",
+				"@jest/schemas": "30.0.5",
+				"@types/istanbul-lib-coverage": "^2.0.6",
+				"@types/istanbul-reports": "^3.0.4",
 				"@types/node": "*",
-				"@types/yargs": "^17.0.8",
-				"chalk": "^4.0.0"
+				"@types/yargs": "^17.0.33",
+				"chalk": "^4.1.2"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
 		"node_modules/@jridgewell/sourcemap-codec": {
@@ -1145,9 +1265,9 @@
 			"dev": true
 		},
 		"node_modules/@sinclair/typebox": {
-			"version": "0.27.8",
-			"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
-			"integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
+			"version": "0.34.38",
+			"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz",
+			"integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==",
 			"dev": true
 		},
 		"node_modules/@sindresorhus/merge-streams": {
@@ -1491,15 +1611,6 @@
 			"integrity": "sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==",
 			"dev": true
 		},
-		"node_modules/@types/mute-stream": {
-			"version": "0.0.4",
-			"resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz",
-			"integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==",
-			"dev": true,
-			"dependencies": {
-				"@types/node": "*"
-			}
-		},
 		"node_modules/@types/node": {
 			"version": "20.19.0",
 			"resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.0.tgz",
@@ -1533,12 +1644,6 @@
 			"integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
 			"dev": true
 		},
-		"node_modules/@types/wrap-ansi": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz",
-			"integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==",
-			"dev": true
-		},
 		"node_modules/@types/ws": {
 			"version": "8.18.1",
 			"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
@@ -1950,34 +2055,30 @@
 			}
 		},
 		"node_modules/@wdio/cli": {
-			"version": "9.15.0",
-			"resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-9.15.0.tgz",
-			"integrity": "sha512-51fuO5nalIFMay94VrAl11hLwcUVrfKZ+4+2lmEtaZKpfTLUj6ugp9ls3suBPgrhWQimikICc1oIs5TmwXHQGg==",
+			"version": "9.18.4",
+			"resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-9.18.4.tgz",
+			"integrity": "sha512-nSCMxko+g91KvUhIvUBp3ULnCDTBD8D5ma7LbPBDr7j72mQyXlQoNamKRCNsNVaFEXA/FtCmPXc1m/ynQDgeaA==",
 			"dev": true,
 			"dependencies": {
-				"@types/node": "^20.1.1",
 				"@vitest/snapshot": "^2.1.1",
-				"@wdio/config": "9.15.0",
-				"@wdio/globals": "9.15.0",
-				"@wdio/logger": "9.15.0",
-				"@wdio/protocols": "9.15.0",
-				"@wdio/types": "9.15.0",
-				"@wdio/utils": "9.15.0",
+				"@wdio/config": "9.18.0",
+				"@wdio/globals": "9.17.0",
+				"@wdio/logger": "9.18.0",
+				"@wdio/protocols": "9.16.2",
+				"@wdio/types": "9.16.2",
+				"@wdio/utils": "9.18.0",
 				"async-exit-hook": "^2.0.1",
-				"chalk": "^5.2.0",
+				"chalk": "^5.4.1",
 				"chokidar": "^4.0.0",
-				"dotenv": "^16.3.1",
-				"ejs": "^3.1.9",
-				"execa": "^9.2.0",
+				"create-wdio": "9.18.2",
+				"dotenv": "^17.2.0",
 				"import-meta-resolve": "^4.0.0",
-				"inquirer": "^11.0.1",
 				"lodash.flattendeep": "^4.4.0",
 				"lodash.pickby": "^4.6.0",
 				"lodash.union": "^4.6.0",
 				"read-pkg-up": "^10.0.0",
-				"recursive-readdir": "^2.2.3",
 				"tsx": "^4.7.2",
-				"webdriverio": "9.15.0",
+				"webdriverio": "9.18.4",
 				"yargs": "^17.7.2"
 			},
 			"bin": {
@@ -1987,6 +2088,136 @@
 				"node": ">=18.20.0"
 			}
 		},
+		"node_modules/@wdio/cli/node_modules/@wdio/config": {
+			"version": "9.18.0",
+			"resolved": "https://registry.npmjs.org/@wdio/config/-/config-9.18.0.tgz",
+			"integrity": "sha512-fN+Z7SkKjb0u3UUMSxMN4d+CCZQKZhm/tx3eX7Rv+3T78LtpOjlesBYQ7Ax3tQ3tp8hgEo+CoOXU0jHEYubFrg==",
+			"dev": true,
+			"dependencies": {
+				"@wdio/logger": "9.18.0",
+				"@wdio/types": "9.16.2",
+				"@wdio/utils": "9.18.0",
+				"deepmerge-ts": "^7.0.3",
+				"glob": "^10.2.2",
+				"import-meta-resolve": "^4.0.0"
+			},
+			"engines": {
+				"node": ">=18.20.0"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/@wdio/globals": {
+			"version": "9.17.0",
+			"resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-9.17.0.tgz",
+			"integrity": "sha512-i38o7wlipLllNrk2hzdDfAmk6nrqm3lR2MtAgWgtHbwznZAKkB84KpkNFfmUXw5Kg3iP1zKlSjwZpKqenuLc+Q==",
+			"dev": true,
+			"engines": {
+				"node": ">=18.20.0"
+			},
+			"peerDependencies": {
+				"expect-webdriverio": "^5.3.4",
+				"webdriverio": "^9.0.0"
+			},
+			"peerDependenciesMeta": {
+				"expect-webdriverio": {
+					"optional": false
+				},
+				"webdriverio": {
+					"optional": false
+				}
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/@wdio/logger": {
+			"version": "9.18.0",
+			"resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-9.18.0.tgz",
+			"integrity": "sha512-HdzDrRs+ywAqbXGKqe1i/bLtCv47plz4TvsHFH3j729OooT5VH38ctFn5aLXgECmiAKDkmH/A6kOq2Zh5DIxww==",
+			"dev": true,
+			"dependencies": {
+				"chalk": "^5.1.2",
+				"loglevel": "^1.6.0",
+				"loglevel-plugin-prefix": "^0.8.4",
+				"safe-regex2": "^5.0.0",
+				"strip-ansi": "^7.1.0"
+			},
+			"engines": {
+				"node": ">=18.20.0"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/@wdio/protocols": {
+			"version": "9.16.2",
+			"resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-9.16.2.tgz",
+			"integrity": "sha512-h3k97/lzmyw5MowqceAuY3HX/wGJojXHkiPXA3WlhGPCaa2h4+GovV2nJtRvknCKsE7UHA1xB5SWeI8MzloBew==",
+			"dev": true
+		},
+		"node_modules/@wdio/cli/node_modules/@wdio/repl": {
+			"version": "9.16.2",
+			"resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-9.16.2.tgz",
+			"integrity": "sha512-FLTF0VL6+o5BSTCO7yLSXocm3kUnu31zYwzdsz4n9s5YWt83sCtzGZlZpt7TaTzb3jVUfxuHNQDTb8UMkCu0lQ==",
+			"dev": true,
+			"dependencies": {
+				"@types/node": "^20.1.0"
+			},
+			"engines": {
+				"node": ">=18.20.0"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/@wdio/types": {
+			"version": "9.16.2",
+			"resolved": "https://registry.npmjs.org/@wdio/types/-/types-9.16.2.tgz",
+			"integrity": "sha512-P86FvM/4XQGpJKwlC2RKF3I21TglPvPOozJGG9HoL0Jmt6jRF20ggO/nRTxU0XiWkRdqESUTmfA87bdCO4GRkQ==",
+			"dev": true,
+			"dependencies": {
+				"@types/node": "^20.1.0"
+			},
+			"engines": {
+				"node": ">=18.20.0"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/@wdio/utils": {
+			"version": "9.18.0",
+			"resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-9.18.0.tgz",
+			"integrity": "sha512-M+QH05FUw25aFXZfjb+V16ydKoURgV61zeZrMjQdW2aAiks3F5iiI9pgqYT5kr1kHZcMy8gawGqQQ+RVfKYscQ==",
+			"dev": true,
+			"dependencies": {
+				"@puppeteer/browsers": "^2.2.0",
+				"@wdio/logger": "9.18.0",
+				"@wdio/types": "9.16.2",
+				"decamelize": "^6.0.0",
+				"deepmerge-ts": "^7.0.3",
+				"edgedriver": "^6.1.2",
+				"geckodriver": "^5.0.0",
+				"get-port": "^7.0.0",
+				"import-meta-resolve": "^4.0.0",
+				"locate-app": "^2.2.24",
+				"mitt": "^3.0.1",
+				"safaridriver": "^1.0.0",
+				"split2": "^4.2.0",
+				"wait-port": "^1.1.0"
+			},
+			"engines": {
+				"node": ">=18.20.0"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/ansi-regex": {
+			"version": "6.1.0",
+			"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+			"integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/chalk/ansi-regex?sponsor=1"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/brace-expansion": {
+			"version": "2.0.2",
+			"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+			"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+			"dev": true,
+			"dependencies": {
+				"balanced-match": "^1.0.0"
+			}
+		},
 		"node_modules/@wdio/cli/node_modules/chalk": {
 			"version": "5.4.1",
 			"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz",
@@ -2014,17 +2245,178 @@
 				"url": "https://paulmillr.com/funding/"
 			}
 		},
+		"node_modules/@wdio/cli/node_modules/decamelize": {
+			"version": "6.0.0",
+			"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz",
+			"integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==",
+			"dev": true,
+			"engines": {
+				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/glob": {
+			"version": "10.4.5",
+			"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+			"integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+			"dev": true,
+			"dependencies": {
+				"foreground-child": "^3.1.0",
+				"jackspeak": "^3.1.2",
+				"minimatch": "^9.0.4",
+				"minipass": "^7.1.2",
+				"package-json-from-dist": "^1.0.0",
+				"path-scurry": "^1.11.1"
+			},
+			"bin": {
+				"glob": "dist/esm/bin.mjs"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/htmlfy": {
+			"version": "0.8.1",
+			"resolved": "https://registry.npmjs.org/htmlfy/-/htmlfy-0.8.1.tgz",
+			"integrity": "sha512-xWROBw9+MEGwxpotll0h672KCaLrKKiCYzsyN8ZgL9cQbVumFnyvsk2JqiB9ELAV1GLj1GG/jxZUjV9OZZi/yQ==",
+			"dev": true
+		},
+		"node_modules/@wdio/cli/node_modules/is-plain-obj": {
+			"version": "4.1.0",
+			"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+			"integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/minimatch": {
+			"version": "9.0.5",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+			"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+			"dev": true,
+			"dependencies": {
+				"brace-expansion": "^2.0.1"
+			},
+			"engines": {
+				"node": ">=16 || 14 >=14.17"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/isaacs"
+			}
+		},
 		"node_modules/@wdio/cli/node_modules/readdirp": {
 			"version": "4.1.2",
 			"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
 			"integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
 			"dev": true,
 			"engines": {
-				"node": ">= 14.18.0"
+				"node": ">= 14.18.0"
+			},
+			"funding": {
+				"type": "individual",
+				"url": "https://paulmillr.com/funding/"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/serialize-error": {
+			"version": "12.0.0",
+			"resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-12.0.0.tgz",
+			"integrity": "sha512-ZYkZLAvKTKQXWuh5XpBw7CdbSzagarX39WyZ2H07CDLC5/KfsRGlIXV8d4+tfqX1M7916mRqR1QfNHSij+c9Pw==",
+			"dev": true,
+			"dependencies": {
+				"type-fest": "^4.31.0"
+			},
+			"engines": {
+				"node": ">=18"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/strip-ansi": {
+			"version": "7.1.0",
+			"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+			"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+			"dev": true,
+			"dependencies": {
+				"ansi-regex": "^6.0.1"
+			},
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/chalk/strip-ansi?sponsor=1"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/webdriver": {
+			"version": "9.18.0",
+			"resolved": "https://registry.npmjs.org/webdriver/-/webdriver-9.18.0.tgz",
+			"integrity": "sha512-07lC4FLj45lHJo0FvLjUp5qkjzEGWJWKGsxLoe9rQ2Fg88iYsqgr9JfSj8qxHpazBaBd+77+ZtpmMZ2X2D1Zuw==",
+			"dev": true,
+			"dependencies": {
+				"@types/node": "^20.1.0",
+				"@types/ws": "^8.5.3",
+				"@wdio/config": "9.18.0",
+				"@wdio/logger": "9.18.0",
+				"@wdio/protocols": "9.16.2",
+				"@wdio/types": "9.16.2",
+				"@wdio/utils": "9.18.0",
+				"deepmerge-ts": "^7.0.3",
+				"https-proxy-agent": "^7.0.6",
+				"undici": "^6.21.3",
+				"ws": "^8.8.0"
+			},
+			"engines": {
+				"node": ">=18.20.0"
+			}
+		},
+		"node_modules/@wdio/cli/node_modules/webdriverio": {
+			"version": "9.18.4",
+			"resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-9.18.4.tgz",
+			"integrity": "sha512-Q/gghz/Zt7EhTnbDQfLb61WgSwCksXZE60lEzmDXe4fULCH/6Js5IWUsne3W+BRy6nXeVvFscHD/d7S77dbamw==",
+			"dev": true,
+			"dependencies": {
+				"@types/node": "^20.11.30",
+				"@types/sinonjs__fake-timers": "^8.1.5",
+				"@wdio/config": "9.18.0",
+				"@wdio/logger": "9.18.0",
+				"@wdio/protocols": "9.16.2",
+				"@wdio/repl": "9.16.2",
+				"@wdio/types": "9.16.2",
+				"@wdio/utils": "9.18.0",
+				"archiver": "^7.0.1",
+				"aria-query": "^5.3.0",
+				"cheerio": "^1.0.0-rc.12",
+				"css-shorthand-properties": "^1.1.1",
+				"css-value": "^0.0.1",
+				"grapheme-splitter": "^1.0.4",
+				"htmlfy": "^0.8.1",
+				"is-plain-obj": "^4.1.0",
+				"jszip": "^3.10.1",
+				"lodash.clonedeep": "^4.5.0",
+				"lodash.zip": "^4.2.0",
+				"query-selector-shadow-dom": "^1.0.1",
+				"resq": "^1.11.0",
+				"rgb2hex": "0.2.5",
+				"serialize-error": "^12.0.0",
+				"urlpattern-polyfill": "^10.0.0",
+				"webdriver": "9.18.0"
+			},
+			"engines": {
+				"node": ">=18.20.0"
 			},
-			"funding": {
-				"type": "individual",
-				"url": "https://paulmillr.com/funding/"
+			"peerDependencies": {
+				"puppeteer-core": ">=22.x || <=24.x"
+			},
+			"peerDependenciesMeta": {
+				"puppeteer-core": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/@wdio/config": {
@@ -2705,6 +3097,18 @@
 				"url": "https://github.com/sponsors/sindresorhus"
 			}
 		},
+		"node_modules/ansi-escapes/node_modules/type-fest": {
+			"version": "0.21.3",
+			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+			"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+			"dev": true,
+			"engines": {
+				"node": ">=10"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/sindresorhus"
+			}
+		},
 		"node_modules/ansi-regex": {
 			"version": "5.0.1",
 			"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
@@ -3031,9 +3435,9 @@
 			}
 		},
 		"node_modules/async": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
-			"integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
+			"integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
 			"dev": true
 		},
 		"node_modules/async-exit-hook": {
@@ -3566,9 +3970,9 @@
 			}
 		},
 		"node_modules/ci-info": {
-			"version": "3.9.0",
-			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
-			"integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+			"version": "4.3.0",
+			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz",
+			"integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==",
 			"dev": true,
 			"funding": [
 				{
@@ -3860,6 +4264,98 @@
 				"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
 			}
 		},
+		"node_modules/create-wdio": {
+			"version": "9.18.2",
+			"resolved": "https://registry.npmjs.org/create-wdio/-/create-wdio-9.18.2.tgz",
+			"integrity": "sha512-atf81YJfyTNAJXsNu3qhpqF4OO43tHGTpr88duAc1Hk4a0uXJAPUYLnYxshOuMnfmeAxlWD+NqGU7orRiXEuJg==",
+			"dev": true,
+			"dependencies": {
+				"chalk": "^5.3.0",
+				"commander": "^14.0.0",
+				"cross-spawn": "^7.0.3",
+				"ejs": "^3.1.10",
+				"execa": "^9.6.0",
+				"import-meta-resolve": "^4.1.0",
+				"inquirer": "^12.7.0",
+				"normalize-package-data": "^7.0.0",
+				"read-pkg-up": "^10.1.0",
+				"recursive-readdir": "^2.2.3",
+				"semver": "^7.6.3",
+				"type-fest": "^4.41.0",
+				"yargs": "^17.7.2"
+			},
+			"bin": {
+				"create-wdio": "bin/wdio.js"
+			},
+			"engines": {
+				"node": ">=12.0.0"
+			}
+		},
+		"node_modules/create-wdio/node_modules/chalk": {
+			"version": "5.5.0",
+			"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.5.0.tgz",
+			"integrity": "sha512-1tm8DTaJhPBG3bIkVeZt1iZM9GfSX2lzOeDVZH9R9ffRHpmHvxZ/QhgQH/aDTkswQVt+YHdXAdS/In/30OjCbg==",
+			"dev": true,
+			"engines": {
+				"node": "^12.17.0 || ^14.13 || >=16.0.0"
+			},
+			"funding": {
+				"url": "https://github.com/chalk/chalk?sponsor=1"
+			}
+		},
+		"node_modules/create-wdio/node_modules/commander": {
+			"version": "14.0.0",
+			"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz",
+			"integrity": "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==",
+			"dev": true,
+			"engines": {
+				"node": ">=20"
+			}
+		},
+		"node_modules/create-wdio/node_modules/hosted-git-info": {
+			"version": "8.1.0",
+			"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz",
+			"integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==",
+			"dev": true,
+			"dependencies": {
+				"lru-cache": "^10.0.1"
+			},
+			"engines": {
+				"node": "^18.17.0 || >=20.5.0"
+			}
+		},
+		"node_modules/create-wdio/node_modules/lru-cache": {
+			"version": "10.4.3",
+			"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+			"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+			"dev": true
+		},
+		"node_modules/create-wdio/node_modules/normalize-package-data": {
+			"version": "7.0.1",
+			"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-7.0.1.tgz",
+			"integrity": "sha512-linxNAT6M0ebEYZOx2tO6vBEFsVgnPpv+AVjk0wJHfaUIbq31Jm3T6vvZaarnOeWDh8ShnwXuaAyM7WT3RzErA==",
+			"dev": true,
+			"dependencies": {
+				"hosted-git-info": "^8.0.0",
+				"semver": "^7.3.5",
+				"validate-npm-package-license": "^3.0.4"
+			},
+			"engines": {
+				"node": "^18.17.0 || >=20.5.0"
+			}
+		},
+		"node_modules/create-wdio/node_modules/semver": {
+			"version": "7.7.2",
+			"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+			"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+			"dev": true,
+			"bin": {
+				"semver": "bin/semver.js"
+			},
+			"engines": {
+				"node": ">=10"
+			}
+		},
 		"node_modules/cross-spawn": {
 			"version": "7.0.6",
 			"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -4165,15 +4661,6 @@
 				"node": ">=0.3.1"
 			}
 		},
-		"node_modules/diff-sequences": {
-			"version": "29.6.3",
-			"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
-			"integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
-			"dev": true,
-			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
-			}
-		},
 		"node_modules/dir-glob": {
 			"version": "3.0.1",
 			"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -4285,9 +4772,9 @@
 			}
 		},
 		"node_modules/dotenv": {
-			"version": "16.5.0",
-			"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz",
-			"integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==",
+			"version": "17.2.1",
+			"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.1.tgz",
+			"integrity": "sha512-kQhDYKZecqnM0fCnzI5eIv5L4cAe/iRI+HqMbO/hbRdTAeXDG+M9FjipUxNfbARuEg4iHIbhnhs78BCHNbSxEQ==",
 			"dev": true,
 			"engines": {
 				"node": ">=12"
@@ -4367,9 +4854,9 @@
 			}
 		},
 		"node_modules/edgedriver": {
-			"version": "6.1.1",
-			"resolved": "https://registry.npmjs.org/edgedriver/-/edgedriver-6.1.1.tgz",
-			"integrity": "sha512-/dM/PoBf22Xg3yypMWkmRQrBKEnSyNaZ7wHGCT9+qqT14izwtFT+QvdR89rjNkMfXwW+bSFoqOfbcvM+2Cyc7w==",
+			"version": "6.1.2",
+			"resolved": "https://registry.npmjs.org/edgedriver/-/edgedriver-6.1.2.tgz",
+			"integrity": "sha512-UvFqd/IR81iPyWMcxXbUNi+xKWR7JjfoHjfuwjqsj9UHQKn80RpQmS0jf+U25IPi+gKVPcpOSKm0XkqgGMq4zQ==",
 			"dev": true,
 			"hasInstallScript": true,
 			"dependencies": {
@@ -4377,7 +4864,7 @@
 				"@zip.js/zip.js": "^2.7.53",
 				"decamelize": "^6.0.0",
 				"edge-paths": "^3.0.5",
-				"fast-xml-parser": "^4.5.0",
+				"fast-xml-parser": "^5.0.8",
 				"http-proxy-agent": "^7.0.2",
 				"https-proxy-agent": "^7.0.5",
 				"node-fetch": "^3.3.2",
@@ -5586,21 +6073,6 @@
 				"url": "https://opencollective.com/eslint"
 			}
 		},
-		"node_modules/eslint-plugin-unicorn/node_modules/ci-info": {
-			"version": "4.0.0",
-			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz",
-			"integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==",
-			"dev": true,
-			"funding": [
-				{
-					"type": "github",
-					"url": "https://github.com/sponsors/sibiraj-s"
-				}
-			],
-			"engines": {
-				"node": ">=8"
-			}
-		},
 		"node_modules/eslint-plugin-unicorn/node_modules/eslint-visitor-keys": {
 			"version": "4.0.0",
 			"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
@@ -6098,30 +6570,31 @@
 			}
 		},
 		"node_modules/expect": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz",
-			"integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/expect/-/expect-30.0.5.tgz",
+			"integrity": "sha512-P0te2pt+hHI5qLJkIR+iMvS+lYUZml8rKKsohVHAGY+uClp9XVbdyYNJOIjSRpHVp8s8YqxJCiHUkSYZGr8rtQ==",
 			"dev": true,
 			"dependencies": {
-				"@jest/expect-utils": "^29.7.0",
-				"jest-get-type": "^29.6.3",
-				"jest-matcher-utils": "^29.7.0",
-				"jest-message-util": "^29.7.0",
-				"jest-util": "^29.7.0"
+				"@jest/expect-utils": "30.0.5",
+				"@jest/get-type": "30.0.1",
+				"jest-matcher-utils": "30.0.5",
+				"jest-message-util": "30.0.5",
+				"jest-mock": "30.0.5",
+				"jest-util": "30.0.5"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
 		"node_modules/expect-webdriverio": {
-			"version": "5.3.0",
-			"resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-5.3.0.tgz",
-			"integrity": "sha512-EUiibBYXWzSn9mJFuF914yeKUxvRxrhR9nImfe0YttG+wVg0v5jY1DPPnRz8sE0wlmoLHyLr155b5/d1+oZmxg==",
+			"version": "5.4.1",
+			"resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-5.4.1.tgz",
+			"integrity": "sha512-jH4qhahRNGPWbCCVcCpLDl/kvFJ1eOzVnrd1K/sG1RhKr6bZsgZQUiOE3bafVqSOfKP+ay8bM/VagP4+XsO9Xw==",
 			"dev": true,
 			"dependencies": {
-				"@vitest/snapshot": "^3.2.1",
-				"expect": "^29.7.0",
-				"jest-matcher-utils": "^29.7.0",
+				"@vitest/snapshot": "^3.2.4",
+				"expect": "^30.0.0",
+				"jest-matcher-utils": "^30.0.0",
 				"lodash.isequal": "^4.5.0"
 			},
 			"engines": {
@@ -6145,9 +6618,9 @@
 			}
 		},
 		"node_modules/expect-webdriverio/node_modules/@vitest/pretty-format": {
-			"version": "3.2.3",
-			"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.3.tgz",
-			"integrity": "sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==",
+			"version": "3.2.4",
+			"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz",
+			"integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==",
 			"dev": true,
 			"dependencies": {
 				"tinyrainbow": "^2.0.0"
@@ -6157,12 +6630,12 @@
 			}
 		},
 		"node_modules/expect-webdriverio/node_modules/@vitest/snapshot": {
-			"version": "3.2.3",
-			"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.3.tgz",
-			"integrity": "sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==",
+			"version": "3.2.4",
+			"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz",
+			"integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==",
 			"dev": true,
 			"dependencies": {
-				"@vitest/pretty-format": "3.2.3",
+				"@vitest/pretty-format": "3.2.4",
 				"magic-string": "^0.30.17",
 				"pathe": "^2.0.3"
 			},
@@ -6312,9 +6785,9 @@
 			]
 		},
 		"node_modules/fast-xml-parser": {
-			"version": "4.5.3",
-			"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz",
-			"integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==",
+			"version": "5.2.5",
+			"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz",
+			"integrity": "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==",
 			"dev": true,
 			"funding": [
 				{
@@ -6323,7 +6796,7 @@
 				}
 			],
 			"dependencies": {
-				"strnum": "^1.1.1"
+				"strnum": "^2.1.0"
 			},
 			"bin": {
 				"fxparser": "src/cli/cli.js"
@@ -6449,9 +6922,9 @@
 			}
 		},
 		"node_modules/filelist/node_modules/minimatch": {
-			"version": "5.1.0",
-			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
-			"integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+			"version": "5.1.6",
+			"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+			"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
 			"dev": true,
 			"dependencies": {
 				"brace-expansion": "^2.0.1"
@@ -7112,9 +7585,9 @@
 			}
 		},
 		"node_modules/graceful-fs": {
-			"version": "4.2.10",
-			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
-			"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+			"version": "4.2.11",
+			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+			"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
 			"dev": true
 		},
 		"node_modules/grapheme-splitter": {
@@ -7756,22 +8229,29 @@
 			"dev": true
 		},
 		"node_modules/inquirer": {
-			"version": "11.1.0",
-			"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-11.1.0.tgz",
-			"integrity": "sha512-CmLAZT65GG/v30c+D2Fk8+ceP6pxD6RL+hIUOWAltCmeyEqWYwqu9v76q03OvjyZ3AB0C1Ala2stn1z/rMqGEw==",
+			"version": "12.9.0",
+			"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-12.9.0.tgz",
+			"integrity": "sha512-LlFVmvWVCun7uEgPB3vups9NzBrjJn48kRNtFGw3xU1H5UXExTEz/oF1JGLaB0fvlkUB+W6JfgLcSEaSdH7RPA==",
 			"dev": true,
 			"dependencies": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/prompts": "^6.0.1",
-				"@inquirer/type": "^2.0.0",
-				"@types/mute-stream": "^0.0.4",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/prompts": "^7.8.0",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2",
-				"mute-stream": "^1.0.0",
-				"run-async": "^3.0.0",
-				"rxjs": "^7.8.1"
+				"mute-stream": "^2.0.0",
+				"run-async": "^4.0.5",
+				"rxjs": "^7.8.2"
 			},
 			"engines": {
 				"node": ">=18"
+			},
+			"peerDependencies": {
+				"@types/node": ">=18"
+			},
+			"peerDependenciesMeta": {
+				"@types/node": {
+					"optional": true
+				}
 			}
 		},
 		"node_modules/internal-slot": {
@@ -8221,15 +8701,14 @@
 			}
 		},
 		"node_modules/jake": {
-			"version": "10.8.5",
-			"resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
-			"integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==",
+			"version": "10.9.4",
+			"resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz",
+			"integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==",
 			"dev": true,
 			"dependencies": {
-				"async": "^3.2.3",
-				"chalk": "^4.0.2",
-				"filelist": "^1.0.1",
-				"minimatch": "^3.0.4"
+				"async": "^3.2.6",
+				"filelist": "^1.0.4",
+				"picocolors": "^1.1.1"
 			},
 			"bin": {
 				"jake": "bin/cli.js"
@@ -8239,79 +8718,105 @@
 			}
 		},
 		"node_modules/jest-diff": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
-			"integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.0.5.tgz",
+			"integrity": "sha512-1UIqE9PoEKaHcIKvq2vbibrCog4Y8G0zmOxgQUVEiTqwR5hJVMCoDsN1vFvI5JvwD37hjueZ1C4l2FyGnfpE0A==",
 			"dev": true,
 			"dependencies": {
-				"chalk": "^4.0.0",
-				"diff-sequences": "^29.6.3",
-				"jest-get-type": "^29.6.3",
-				"pretty-format": "^29.7.0"
+				"@jest/diff-sequences": "30.0.1",
+				"@jest/get-type": "30.0.1",
+				"chalk": "^4.1.2",
+				"pretty-format": "30.0.5"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
-		"node_modules/jest-get-type": {
-			"version": "29.6.3",
-			"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
-			"integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
+		"node_modules/jest-matcher-utils": {
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.0.5.tgz",
+			"integrity": "sha512-uQgGWt7GOrRLP1P7IwNWwK1WAQbq+m//ZY0yXygyfWp0rJlksMSLQAA4wYQC3b6wl3zfnchyTx+k3HZ5aPtCbQ==",
 			"dev": true,
+			"dependencies": {
+				"@jest/get-type": "30.0.1",
+				"chalk": "^4.1.2",
+				"jest-diff": "30.0.5",
+				"pretty-format": "30.0.5"
+			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
-		"node_modules/jest-matcher-utils": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz",
-			"integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==",
+		"node_modules/jest-message-util": {
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz",
+			"integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==",
 			"dev": true,
 			"dependencies": {
-				"chalk": "^4.0.0",
-				"jest-diff": "^29.7.0",
-				"jest-get-type": "^29.6.3",
-				"pretty-format": "^29.7.0"
+				"@babel/code-frame": "^7.27.1",
+				"@jest/types": "30.0.5",
+				"@types/stack-utils": "^2.0.3",
+				"chalk": "^4.1.2",
+				"graceful-fs": "^4.2.11",
+				"micromatch": "^4.0.8",
+				"pretty-format": "30.0.5",
+				"slash": "^3.0.0",
+				"stack-utils": "^2.0.6"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
-		"node_modules/jest-message-util": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
-			"integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
+		"node_modules/jest-mock": {
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.5.tgz",
+			"integrity": "sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==",
 			"dev": true,
 			"dependencies": {
-				"@babel/code-frame": "^7.12.13",
-				"@jest/types": "^29.6.3",
-				"@types/stack-utils": "^2.0.0",
-				"chalk": "^4.0.0",
-				"graceful-fs": "^4.2.9",
-				"micromatch": "^4.0.4",
-				"pretty-format": "^29.7.0",
-				"slash": "^3.0.0",
-				"stack-utils": "^2.0.3"
+				"@jest/types": "30.0.5",
+				"@types/node": "*",
+				"jest-util": "30.0.5"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+			}
+		},
+		"node_modules/jest-regex-util": {
+			"version": "30.0.1",
+			"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz",
+			"integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==",
+			"dev": true,
+			"engines": {
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
 		"node_modules/jest-util": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
-			"integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz",
+			"integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==",
 			"dev": true,
 			"dependencies": {
-				"@jest/types": "^29.6.3",
+				"@jest/types": "30.0.5",
 				"@types/node": "*",
-				"chalk": "^4.0.0",
-				"ci-info": "^3.2.0",
-				"graceful-fs": "^4.2.9",
-				"picomatch": "^2.2.3"
+				"chalk": "^4.1.2",
+				"ci-info": "^4.2.0",
+				"graceful-fs": "^4.2.11",
+				"picomatch": "^4.0.2"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+			}
+		},
+		"node_modules/jest-util/node_modules/picomatch": {
+			"version": "4.0.3",
+			"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+			"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+			"dev": true,
+			"engines": {
+				"node": ">=12"
+			},
+			"funding": {
+				"url": "https://github.com/sponsors/jonschlinkert"
 			}
 		},
 		"node_modules/js-tokens": {
@@ -8950,6 +9455,12 @@
 				"node": ">=16 || 14 >=14.17"
 			}
 		},
+		"node_modules/mitt": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
+			"integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
+			"dev": true
+		},
 		"node_modules/mocha": {
 			"version": "7.2.0",
 			"resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz",
@@ -9449,12 +9960,12 @@
 			}
 		},
 		"node_modules/mute-stream": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
-			"integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
+			"integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
 			"dev": true,
 			"engines": {
-				"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+				"node": "^18.17.0 || >=20.5.0"
 			}
 		},
 		"node_modules/mwbot": {
@@ -10316,17 +10827,17 @@
 			}
 		},
 		"node_modules/pretty-format": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
-			"integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz",
+			"integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==",
 			"dev": true,
 			"dependencies": {
-				"@jest/schemas": "^29.6.3",
-				"ansi-styles": "^5.0.0",
-				"react-is": "^18.0.0"
+				"@jest/schemas": "30.0.5",
+				"ansi-styles": "^5.2.0",
+				"react-is": "^18.3.1"
 			},
 			"engines": {
-				"node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+				"node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
 			}
 		},
 		"node_modules/pretty-format/node_modules/ansi-styles": {
@@ -10552,14 +11063,14 @@
 			}
 		},
 		"node_modules/read-pkg-up": {
-			"version": "10.0.0",
-			"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.0.0.tgz",
-			"integrity": "sha512-jgmKiS//w2Zs+YbX039CorlkOp8FIVbSAN8r8GJHDsGlmNPXo+VeHkqAwCiQVTTx5/LwLZTcEw59z3DvcLbr0g==",
+			"version": "10.1.0",
+			"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.1.0.tgz",
+			"integrity": "sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==",
 			"dev": true,
 			"dependencies": {
 				"find-up": "^6.3.0",
-				"read-pkg": "^8.0.0",
-				"type-fest": "^3.12.0"
+				"read-pkg": "^8.1.0",
+				"type-fest": "^4.2.0"
 			},
 			"engines": {
 				"node": ">=16"
@@ -10638,18 +11149,6 @@
 				"node": "^12.20.0 || ^14.13.1 || >=16.0.0"
 			}
 		},
-		"node_modules/read-pkg-up/node_modules/type-fest": {
-			"version": "3.13.1",
-			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
-			"integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
-			"dev": true,
-			"engines": {
-				"node": ">=14.16"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
 		"node_modules/read-pkg-up/node_modules/yocto-queue": {
 			"version": "1.2.1",
 			"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz",
@@ -10706,18 +11205,6 @@
 				"node": ">=10"
 			}
 		},
-		"node_modules/read-pkg/node_modules/type-fest": {
-			"version": "4.41.0",
-			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
-			"integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
-			"dev": true,
-			"engines": {
-				"node": ">=16"
-			},
-			"funding": {
-				"url": "https://github.com/sponsors/sindresorhus"
-			}
-		},
 		"node_modules/readable-stream": {
 			"version": "3.6.0",
 			"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz",
@@ -11000,6 +11487,15 @@
 				"fast-deep-equal": "^2.0.1"
 			}
 		},
+		"node_modules/ret": {
+			"version": "0.5.0",
+			"resolved": "https://registry.npmjs.org/ret/-/ret-0.5.0.tgz",
+			"integrity": "sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==",
+			"dev": true,
+			"engines": {
+				"node": ">=10"
+			}
+		},
 		"node_modules/reusify": {
 			"version": "1.0.4",
 			"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
@@ -11032,9 +11528,9 @@
 			}
 		},
 		"node_modules/run-async": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz",
-			"integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==",
+			"version": "4.0.5",
+			"resolved": "https://registry.npmjs.org/run-async/-/run-async-4.0.5.tgz",
+			"integrity": "sha512-oN9GTgxUNDBumHTTDmQ8dep6VIJbgj9S3dPP+9XylVLIK4xB9XTXtKWROd5pnhdXR9k0EgO1JRcNh0T+Ny2FsA==",
 			"dev": true,
 			"engines": {
 				"node": ">=0.12.0"
@@ -11116,6 +11612,25 @@
 				"regexp-tree": "~0.1.1"
 			}
 		},
+		"node_modules/safe-regex2": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-5.0.0.tgz",
+			"integrity": "sha512-YwJwe5a51WlK7KbOJREPdjNrpViQBI3p4T50lfwPuDhZnE3XGVTlGvi+aolc5+RvxDD6bnUmjVsU9n1eboLUYw==",
+			"dev": true,
+			"funding": [
+				{
+					"type": "github",
+					"url": "https://github.com/sponsors/fastify"
+				},
+				{
+					"type": "opencollective",
+					"url": "https://opencollective.com/fastify"
+				}
+			],
+			"dependencies": {
+				"ret": "~0.5.0"
+			}
+		},
 		"node_modules/safer-buffer": {
 			"version": "2.1.2",
 			"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -11661,9 +12176,9 @@
 			}
 		},
 		"node_modules/strnum": {
-			"version": "1.1.2",
-			"resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
-			"integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz",
+			"integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==",
 			"dev": true,
 			"funding": [
 				{
@@ -12295,12 +12810,12 @@
 			}
 		},
 		"node_modules/type-fest": {
-			"version": "0.21.3",
-			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
-			"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+			"version": "4.41.0",
+			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
+			"integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
 			"dev": true,
 			"engines": {
-				"node": ">=10"
+				"node": ">=16"
 			},
 			"funding": {
 				"url": "https://github.com/sponsors/sindresorhus"
@@ -13578,57 +14093,44 @@
 			"dev": true
 		},
 		"@inquirer/checkbox": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-3.0.1.tgz",
-			"integrity": "sha512-0hm2nrToWUdD6/UHnel/UKGdk1//ke5zGUpHIvk5ZWmaKezlGxZkOJXNSWsdxO/rEqTkbB3lNC2J6nBElV2aAQ==",
+			"version": "4.2.0",
+			"resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.2.0.tgz",
+			"integrity": "sha512-fdSw07FLJEU5vbpOPzXo5c6xmMGDzbZE2+niuDHX5N6mc6V0Ebso/q3xiHra4D73+PMsC8MJmcaZKuAAoaQsSA==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/figures": "^1.0.6",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/figures": "^1.0.13",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2",
 				"yoctocolors-cjs": "^2.1.2"
 			}
 		},
 		"@inquirer/confirm": {
-			"version": "4.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-4.0.1.tgz",
-			"integrity": "sha512-46yL28o2NJ9doViqOy0VDcoTzng7rAb6yPQKU7VDLqkmbCaH4JqK4yk4XqlzNWy9PVC5pG1ZUXPBQv+VqnYs2w==",
+			"version": "5.1.14",
+			"resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.14.tgz",
+			"integrity": "sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0"
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8"
 			}
 		},
 		"@inquirer/core": {
-			"version": "9.2.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz",
-			"integrity": "sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg==",
+			"version": "10.1.15",
+			"resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.15.tgz",
+			"integrity": "sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==",
 			"dev": true,
 			"requires": {
-				"@inquirer/figures": "^1.0.6",
-				"@inquirer/type": "^2.0.0",
-				"@types/mute-stream": "^0.0.4",
-				"@types/node": "^22.5.5",
-				"@types/wrap-ansi": "^3.0.0",
+				"@inquirer/figures": "^1.0.13",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2",
 				"cli-width": "^4.1.0",
-				"mute-stream": "^1.0.0",
+				"mute-stream": "^2.0.0",
 				"signal-exit": "^4.1.0",
-				"strip-ansi": "^6.0.1",
 				"wrap-ansi": "^6.2.0",
 				"yoctocolors-cjs": "^2.1.2"
 			},
 			"dependencies": {
-				"@types/node": {
-					"version": "22.15.31",
-					"resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.31.tgz",
-					"integrity": "sha512-jnVe5ULKl6tijxUhvQeNbQG/84fHfg+yMak02cT8QVhBx/F05rAVxCGBYYTh2EKz22D6JF5ktXuNwdx7b9iEGw==",
-					"dev": true,
-					"requires": {
-						"undici-types": "~6.21.0"
-					}
-				},
 				"wrap-ansi": {
 					"version": "6.2.0",
 					"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz",
@@ -13643,126 +14145,124 @@
 			}
 		},
 		"@inquirer/editor": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-3.0.1.tgz",
-			"integrity": "sha512-VA96GPFaSOVudjKFraokEEmUQg/Lub6OXvbIEZU1SDCmBzRkHGhxoFAVaF30nyiB4m5cEbDgiI2QRacXZ2hw9Q==",
+			"version": "4.2.15",
+			"resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.15.tgz",
+			"integrity": "sha512-wst31XT8DnGOSS4nNJDIklGKnf+8shuauVrWzgKegWUe28zfCftcWZ2vktGdzJgcylWSS2SrDnYUb6alZcwnCQ==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8",
 				"external-editor": "^3.1.0"
 			}
 		},
 		"@inquirer/expand": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-3.0.1.tgz",
-			"integrity": "sha512-ToG8d6RIbnVpbdPdiN7BCxZGiHOTomOX94C2FaT5KOHupV40tKEDozp12res6cMIfRKrXLJyexAZhWVHgbALSQ==",
+			"version": "4.0.17",
+			"resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.17.tgz",
+			"integrity": "sha512-PSqy9VmJx/VbE3CT453yOfNa+PykpKg/0SYP7odez1/NWBGuDXgPhp4AeGYYKjhLn5lUUavVS/JbeYMPdH50Mw==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8",
 				"yoctocolors-cjs": "^2.1.2"
 			}
 		},
 		"@inquirer/figures": {
-			"version": "1.0.12",
-			"resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.12.tgz",
-			"integrity": "sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==",
+			"version": "1.0.13",
+			"resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.13.tgz",
+			"integrity": "sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==",
 			"dev": true
 		},
 		"@inquirer/input": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/input/-/input-3.0.1.tgz",
-			"integrity": "sha512-BDuPBmpvi8eMCxqC5iacloWqv+5tQSJlUafYWUe31ow1BVXjW2a5qe3dh4X/Z25Wp22RwvcaLCc2siHobEOfzg==",
+			"version": "4.2.1",
+			"resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.1.tgz",
+			"integrity": "sha512-tVC+O1rBl0lJpoUZv4xY+WGWY8V5b0zxU1XDsMsIHYregdh7bN5X5QnIONNBAl0K765FYlAfNHS2Bhn7SSOVow==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0"
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8"
 			}
 		},
 		"@inquirer/number": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/number/-/number-2.0.1.tgz",
-			"integrity": "sha512-QpR8jPhRjSmlr/mD2cw3IR8HRO7lSVOnqUvQa8scv1Lsr3xoAMMworcYW3J13z3ppjBFBD2ef1Ci6AE5Qn8goQ==",
+			"version": "3.0.17",
+			"resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.17.tgz",
+			"integrity": "sha512-GcvGHkyIgfZgVnnimURdOueMk0CztycfC8NZTiIY9arIAkeOgt6zG57G+7vC59Jns3UX27LMkPKnKWAOF5xEYg==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0"
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8"
 			}
 		},
 		"@inquirer/password": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/password/-/password-3.0.1.tgz",
-			"integrity": "sha512-haoeEPUisD1NeE2IanLOiFr4wcTXGWrBOyAyPZi1FfLJuXOzNmxCJPgUrGYKVh+Y8hfGJenIfz5Wb/DkE9KkMQ==",
+			"version": "4.0.17",
+			"resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.17.tgz",
+			"integrity": "sha512-DJolTnNeZ00E1+1TW+8614F7rOJJCM4y4BAGQ3Gq6kQIG+OJ4zr3GLjIjVVJCbKsk2jmkmv6v2kQuN/vriHdZA==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2"
 			}
 		},
 		"@inquirer/prompts": {
-			"version": "6.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-6.0.1.tgz",
-			"integrity": "sha512-yl43JD/86CIj3Mz5mvvLJqAOfIup7ncxfJ0Btnl0/v5TouVUyeEdcpknfgc+yMevS/48oH9WAkkw93m7otLb/A==",
+			"version": "7.8.0",
+			"resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.0.tgz",
+			"integrity": "sha512-JHwGbQ6wjf1dxxnalDYpZwZxUEosT+6CPGD9Zh4sm9WXdtUp9XODCQD3NjSTmu+0OAyxWXNOqf0spjIymJa2Tw==",
 			"dev": true,
 			"requires": {
-				"@inquirer/checkbox": "^3.0.1",
-				"@inquirer/confirm": "^4.0.1",
-				"@inquirer/editor": "^3.0.1",
-				"@inquirer/expand": "^3.0.1",
-				"@inquirer/input": "^3.0.1",
-				"@inquirer/number": "^2.0.1",
-				"@inquirer/password": "^3.0.1",
-				"@inquirer/rawlist": "^3.0.1",
-				"@inquirer/search": "^2.0.1",
-				"@inquirer/select": "^3.0.1"
+				"@inquirer/checkbox": "^4.2.0",
+				"@inquirer/confirm": "^5.1.14",
+				"@inquirer/editor": "^4.2.15",
+				"@inquirer/expand": "^4.0.17",
+				"@inquirer/input": "^4.2.1",
+				"@inquirer/number": "^3.0.17",
+				"@inquirer/password": "^4.0.17",
+				"@inquirer/rawlist": "^4.1.5",
+				"@inquirer/search": "^3.1.0",
+				"@inquirer/select": "^4.3.1"
 			}
 		},
 		"@inquirer/rawlist": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-3.0.1.tgz",
-			"integrity": "sha512-VgRtFIwZInUzTiPLSfDXK5jLrnpkuSOh1ctfaoygKAdPqjcjKYmGh6sCY1pb0aGnCGsmhUxoqLDUAU0ud+lGXQ==",
+			"version": "4.1.5",
+			"resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.5.tgz",
+			"integrity": "sha512-R5qMyGJqtDdi4Ht521iAkNqyB6p2UPuZUbMifakg1sWtu24gc2Z8CJuw8rP081OckNDMgtDCuLe42Q2Kr3BolA==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/type": "^3.0.8",
 				"yoctocolors-cjs": "^2.1.2"
 			}
 		},
 		"@inquirer/search": {
-			"version": "2.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/search/-/search-2.0.1.tgz",
-			"integrity": "sha512-r5hBKZk3g5MkIzLVoSgE4evypGqtOannnB3PKTG9NRZxyFRKcfzrdxXXPcoJQsxJPzvdSU2Rn7pB7lw0GCmGAg==",
+			"version": "3.1.0",
+			"resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.1.0.tgz",
+			"integrity": "sha512-PMk1+O/WBcYJDq2H7foV0aAZSmDdkzZB9Mw2v/DmONRJopwA/128cS9M/TXWLKKdEQKZnKwBzqu2G4x/2Nqx8Q==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/figures": "^1.0.6",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/figures": "^1.0.13",
+				"@inquirer/type": "^3.0.8",
 				"yoctocolors-cjs": "^2.1.2"
 			}
 		},
 		"@inquirer/select": {
-			"version": "3.0.1",
-			"resolved": "https://registry.npmjs.org/@inquirer/select/-/select-3.0.1.tgz",
-			"integrity": "sha512-lUDGUxPhdWMkN/fHy1Lk7pF3nK1fh/gqeyWXmctefhxLYxlDsc7vsPBEpxrfVGDsVdyYJsiJoD4bJ1b623cV1Q==",
+			"version": "4.3.1",
+			"resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.3.1.tgz",
+			"integrity": "sha512-Gfl/5sqOF5vS/LIrSndFgOh7jgoe0UXEizDqahFRkq5aJBLegZ6WjuMh/hVEJwlFQjyLq1z9fRtvUMkb7jM1LA==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/figures": "^1.0.6",
-				"@inquirer/type": "^2.0.0",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/figures": "^1.0.13",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2",
 				"yoctocolors-cjs": "^2.1.2"
 			}
 		},
 		"@inquirer/type": {
-			"version": "2.0.0",
-			"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz",
-			"integrity": "sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag==",
+			"version": "3.0.8",
+			"resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.8.tgz",
+			"integrity": "sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==",
 			"dev": true,
-			"requires": {
-				"mute-stream": "^1.0.0"
-			}
+			"requires": {}
 		},
 		"@isaacs/cliui": {
 			"version": "8.0.2",
@@ -13829,36 +14329,59 @@
 				}
 			}
 		},
+		"@jest/diff-sequences": {
+			"version": "30.0.1",
+			"resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz",
+			"integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==",
+			"dev": true
+		},
 		"@jest/expect-utils": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
-			"integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.0.5.tgz",
+			"integrity": "sha512-F3lmTT7CXWYywoVUGTCmom0vXq3HTTkaZyTAzIy+bXSBizB7o5qzlC9VCtq0arOa8GqmNsbg/cE9C6HLn7Szew==",
+			"dev": true,
+			"requires": {
+				"@jest/get-type": "30.0.1"
+			}
+		},
+		"@jest/get-type": {
+			"version": "30.0.1",
+			"resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.0.1.tgz",
+			"integrity": "sha512-AyYdemXCptSRFirI5EPazNxyPwAL0jXt3zceFjaj8NFiKP9pOi0bfXonf6qkf82z2t3QWPeLCWWw4stPBzctLw==",
+			"dev": true
+		},
+		"@jest/pattern": {
+			"version": "30.0.1",
+			"resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz",
+			"integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==",
 			"dev": true,
 			"requires": {
-				"jest-get-type": "^29.6.3"
+				"@types/node": "*",
+				"jest-regex-util": "30.0.1"
 			}
 		},
 		"@jest/schemas": {
-			"version": "29.6.3",
-			"resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
-			"integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz",
+			"integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==",
 			"dev": true,
 			"requires": {
-				"@sinclair/typebox": "^0.27.8"
+				"@sinclair/typebox": "^0.34.0"
 			}
 		},
 		"@jest/types": {
-			"version": "29.6.3",
-			"resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
-			"integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/@jest/types/-/types-30.0.5.tgz",
+			"integrity": "sha512-aREYa3aku9SSnea4aX6bhKn4bgv3AXkgijoQgbYV3yvbiGt6z+MQ85+6mIhx9DsKW2BuB/cLR/A+tcMThx+KLQ==",
 			"dev": true,
 			"requires": {
-				"@jest/schemas": "^29.6.3",
-				"@types/istanbul-lib-coverage": "^2.0.0",
-				"@types/istanbul-reports": "^3.0.0",
+				"@jest/pattern": "30.0.1",
+				"@jest/schemas": "30.0.5",
+				"@types/istanbul-lib-coverage": "^2.0.6",
+				"@types/istanbul-reports": "^3.0.4",
 				"@types/node": "*",
-				"@types/yargs": "^17.0.8",
-				"chalk": "^4.0.0"
+				"@types/yargs": "^17.0.33",
+				"chalk": "^4.1.2"
 			}
 		},
 		"@jridgewell/sourcemap-codec": {
@@ -13960,9 +14483,9 @@
 			"dev": true
 		},
 		"@sinclair/typebox": {
-			"version": "0.27.8",
-			"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
-			"integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
+			"version": "0.34.38",
+			"resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.34.38.tgz",
+			"integrity": "sha512-HpkxMmc2XmZKhvaKIZZThlHmx1L0I/V1hWK1NubtlFnr6ZqdiOpV72TKudZUNQjZNsyDBay72qFEhEvb+bcwcA==",
 			"dev": true
 		},
 		"@sindresorhus/merge-streams": {
@@ -14203,15 +14726,6 @@
 			"integrity": "sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==",
 			"dev": true
 		},
-		"@types/mute-stream": {
-			"version": "0.0.4",
-			"resolved": "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz",
-			"integrity": "sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==",
-			"dev": true,
-			"requires": {
-				"@types/node": "*"
-			}
-		},
 		"@types/node": {
 			"version": "20.19.0",
 			"resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.0.tgz",
@@ -14245,12 +14759,6 @@
 			"integrity": "sha512-113D3mDkZDjo+EeUEHCFy0qniNc1ZpecGiAU7WSo7YDoSzolZIQKpYFHrPpjkB2nuyahcKfrmLXeQlh7gqJYdw==",
 			"dev": true
 		},
-		"@types/wrap-ansi": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/@types/wrap-ansi/-/wrap-ansi-3.0.0.tgz",
-			"integrity": "sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==",
-			"dev": true
-		},
 		"@types/ws": {
 			"version": "8.18.1",
 			"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz",
@@ -14506,37 +15014,128 @@
 			}
 		},
 		"@wdio/cli": {
-			"version": "9.15.0",
-			"resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-9.15.0.tgz",
-			"integrity": "sha512-51fuO5nalIFMay94VrAl11hLwcUVrfKZ+4+2lmEtaZKpfTLUj6ugp9ls3suBPgrhWQimikICc1oIs5TmwXHQGg==",
+			"version": "9.18.4",
+			"resolved": "https://registry.npmjs.org/@wdio/cli/-/cli-9.18.4.tgz",
+			"integrity": "sha512-nSCMxko+g91KvUhIvUBp3ULnCDTBD8D5ma7LbPBDr7j72mQyXlQoNamKRCNsNVaFEXA/FtCmPXc1m/ynQDgeaA==",
 			"dev": true,
 			"requires": {
-				"@types/node": "^20.1.1",
 				"@vitest/snapshot": "^2.1.1",
-				"@wdio/config": "9.15.0",
-				"@wdio/globals": "9.15.0",
-				"@wdio/logger": "9.15.0",
-				"@wdio/protocols": "9.15.0",
-				"@wdio/types": "9.15.0",
-				"@wdio/utils": "9.15.0",
+				"@wdio/config": "9.18.0",
+				"@wdio/globals": "9.17.0",
+				"@wdio/logger": "9.18.0",
+				"@wdio/protocols": "9.16.2",
+				"@wdio/types": "9.16.2",
+				"@wdio/utils": "9.18.0",
 				"async-exit-hook": "^2.0.1",
-				"chalk": "^5.2.0",
+				"chalk": "^5.4.1",
 				"chokidar": "^4.0.0",
-				"dotenv": "^16.3.1",
-				"ejs": "^3.1.9",
-				"execa": "^9.2.0",
+				"create-wdio": "9.18.2",
+				"dotenv": "^17.2.0",
 				"import-meta-resolve": "^4.0.0",
-				"inquirer": "^11.0.1",
 				"lodash.flattendeep": "^4.4.0",
 				"lodash.pickby": "^4.6.0",
 				"lodash.union": "^4.6.0",
 				"read-pkg-up": "^10.0.0",
-				"recursive-readdir": "^2.2.3",
 				"tsx": "^4.7.2",
-				"webdriverio": "9.15.0",
+				"webdriverio": "9.18.4",
 				"yargs": "^17.7.2"
 			},
 			"dependencies": {
+				"@wdio/config": {
+					"version": "9.18.0",
+					"resolved": "https://registry.npmjs.org/@wdio/config/-/config-9.18.0.tgz",
+					"integrity": "sha512-fN+Z7SkKjb0u3UUMSxMN4d+CCZQKZhm/tx3eX7Rv+3T78LtpOjlesBYQ7Ax3tQ3tp8hgEo+CoOXU0jHEYubFrg==",
+					"dev": true,
+					"requires": {
+						"@wdio/logger": "9.18.0",
+						"@wdio/types": "9.16.2",
+						"@wdio/utils": "9.18.0",
+						"deepmerge-ts": "^7.0.3",
+						"glob": "^10.2.2",
+						"import-meta-resolve": "^4.0.0"
+					}
+				},
+				"@wdio/globals": {
+					"version": "9.17.0",
+					"resolved": "https://registry.npmjs.org/@wdio/globals/-/globals-9.17.0.tgz",
+					"integrity": "sha512-i38o7wlipLllNrk2hzdDfAmk6nrqm3lR2MtAgWgtHbwznZAKkB84KpkNFfmUXw5Kg3iP1zKlSjwZpKqenuLc+Q==",
+					"dev": true,
+					"requires": {}
+				},
+				"@wdio/logger": {
+					"version": "9.18.0",
+					"resolved": "https://registry.npmjs.org/@wdio/logger/-/logger-9.18.0.tgz",
+					"integrity": "sha512-HdzDrRs+ywAqbXGKqe1i/bLtCv47plz4TvsHFH3j729OooT5VH38ctFn5aLXgECmiAKDkmH/A6kOq2Zh5DIxww==",
+					"dev": true,
+					"requires": {
+						"chalk": "^5.1.2",
+						"loglevel": "^1.6.0",
+						"loglevel-plugin-prefix": "^0.8.4",
+						"safe-regex2": "^5.0.0",
+						"strip-ansi": "^7.1.0"
+					}
+				},
+				"@wdio/protocols": {
+					"version": "9.16.2",
+					"resolved": "https://registry.npmjs.org/@wdio/protocols/-/protocols-9.16.2.tgz",
+					"integrity": "sha512-h3k97/lzmyw5MowqceAuY3HX/wGJojXHkiPXA3WlhGPCaa2h4+GovV2nJtRvknCKsE7UHA1xB5SWeI8MzloBew==",
+					"dev": true
+				},
+				"@wdio/repl": {
+					"version": "9.16.2",
+					"resolved": "https://registry.npmjs.org/@wdio/repl/-/repl-9.16.2.tgz",
+					"integrity": "sha512-FLTF0VL6+o5BSTCO7yLSXocm3kUnu31zYwzdsz4n9s5YWt83sCtzGZlZpt7TaTzb3jVUfxuHNQDTb8UMkCu0lQ==",
+					"dev": true,
+					"requires": {
+						"@types/node": "^20.1.0"
+					}
+				},
+				"@wdio/types": {
+					"version": "9.16.2",
+					"resolved": "https://registry.npmjs.org/@wdio/types/-/types-9.16.2.tgz",
+					"integrity": "sha512-P86FvM/4XQGpJKwlC2RKF3I21TglPvPOozJGG9HoL0Jmt6jRF20ggO/nRTxU0XiWkRdqESUTmfA87bdCO4GRkQ==",
+					"dev": true,
+					"requires": {
+						"@types/node": "^20.1.0"
+					}
+				},
+				"@wdio/utils": {
+					"version": "9.18.0",
+					"resolved": "https://registry.npmjs.org/@wdio/utils/-/utils-9.18.0.tgz",
+					"integrity": "sha512-M+QH05FUw25aFXZfjb+V16ydKoURgV61zeZrMjQdW2aAiks3F5iiI9pgqYT5kr1kHZcMy8gawGqQQ+RVfKYscQ==",
+					"dev": true,
+					"requires": {
+						"@puppeteer/browsers": "^2.2.0",
+						"@wdio/logger": "9.18.0",
+						"@wdio/types": "9.16.2",
+						"decamelize": "^6.0.0",
+						"deepmerge-ts": "^7.0.3",
+						"edgedriver": "^6.1.2",
+						"geckodriver": "^5.0.0",
+						"get-port": "^7.0.0",
+						"import-meta-resolve": "^4.0.0",
+						"locate-app": "^2.2.24",
+						"mitt": "^3.0.1",
+						"safaridriver": "^1.0.0",
+						"split2": "^4.2.0",
+						"wait-port": "^1.1.0"
+					}
+				},
+				"ansi-regex": {
+					"version": "6.1.0",
+					"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+					"integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+					"dev": true
+				},
+				"brace-expansion": {
+					"version": "2.0.2",
+					"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+					"integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
+					"dev": true,
+					"requires": {
+						"balanced-match": "^1.0.0"
+					}
+				},
 				"chalk": {
 					"version": "5.4.1",
 					"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz",
@@ -14552,11 +15151,122 @@
 						"readdirp": "^4.0.1"
 					}
 				},
+				"decamelize": {
+					"version": "6.0.0",
+					"resolved": "https://registry.npmjs.org/decamelize/-/decamelize-6.0.0.tgz",
+					"integrity": "sha512-Fv96DCsdOgB6mdGl67MT5JaTNKRzrzill5OH5s8bjYJXVlcXyPYGyPsUkWyGV5p1TXI5esYIYMMeDJL0hEIwaA==",
+					"dev": true
+				},
+				"glob": {
+					"version": "10.4.5",
+					"resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+					"integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+					"dev": true,
+					"requires": {
+						"foreground-child": "^3.1.0",
+						"jackspeak": "^3.1.2",
+						"minimatch": "^9.0.4",
+						"minipass": "^7.1.2",
+						"package-json-from-dist": "^1.0.0",
+						"path-scurry": "^1.11.1"
+					}
+				},
+				"htmlfy": {
+					"version": "0.8.1",
+					"resolved": "https://registry.npmjs.org/htmlfy/-/htmlfy-0.8.1.tgz",
+					"integrity": "sha512-xWROBw9+MEGwxpotll0h672KCaLrKKiCYzsyN8ZgL9cQbVumFnyvsk2JqiB9ELAV1GLj1GG/jxZUjV9OZZi/yQ==",
+					"dev": true
+				},
+				"is-plain-obj": {
+					"version": "4.1.0",
+					"resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+					"integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
+					"dev": true
+				},
+				"minimatch": {
+					"version": "9.0.5",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz",
+					"integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==",
+					"dev": true,
+					"requires": {
+						"brace-expansion": "^2.0.1"
+					}
+				},
 				"readdirp": {
 					"version": "4.1.2",
 					"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
 					"integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==",
 					"dev": true
+				},
+				"serialize-error": {
+					"version": "12.0.0",
+					"resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-12.0.0.tgz",
+					"integrity": "sha512-ZYkZLAvKTKQXWuh5XpBw7CdbSzagarX39WyZ2H07CDLC5/KfsRGlIXV8d4+tfqX1M7916mRqR1QfNHSij+c9Pw==",
+					"dev": true,
+					"requires": {
+						"type-fest": "^4.31.0"
+					}
+				},
+				"strip-ansi": {
+					"version": "7.1.0",
+					"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+					"integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+					"dev": true,
+					"requires": {
+						"ansi-regex": "^6.0.1"
+					}
+				},
+				"webdriver": {
+					"version": "9.18.0",
+					"resolved": "https://registry.npmjs.org/webdriver/-/webdriver-9.18.0.tgz",
+					"integrity": "sha512-07lC4FLj45lHJo0FvLjUp5qkjzEGWJWKGsxLoe9rQ2Fg88iYsqgr9JfSj8qxHpazBaBd+77+ZtpmMZ2X2D1Zuw==",
+					"dev": true,
+					"requires": {
+						"@types/node": "^20.1.0",
+						"@types/ws": "^8.5.3",
+						"@wdio/config": "9.18.0",
+						"@wdio/logger": "9.18.0",
+						"@wdio/protocols": "9.16.2",
+						"@wdio/types": "9.16.2",
+						"@wdio/utils": "9.18.0",
+						"deepmerge-ts": "^7.0.3",
+						"https-proxy-agent": "^7.0.6",
+						"undici": "^6.21.3",
+						"ws": "^8.8.0"
+					}
+				},
+				"webdriverio": {
+					"version": "9.18.4",
+					"resolved": "https://registry.npmjs.org/webdriverio/-/webdriverio-9.18.4.tgz",
+					"integrity": "sha512-Q/gghz/Zt7EhTnbDQfLb61WgSwCksXZE60lEzmDXe4fULCH/6Js5IWUsne3W+BRy6nXeVvFscHD/d7S77dbamw==",
+					"dev": true,
+					"requires": {
+						"@types/node": "^20.11.30",
+						"@types/sinonjs__fake-timers": "^8.1.5",
+						"@wdio/config": "9.18.0",
+						"@wdio/logger": "9.18.0",
+						"@wdio/protocols": "9.16.2",
+						"@wdio/repl": "9.16.2",
+						"@wdio/types": "9.16.2",
+						"@wdio/utils": "9.18.0",
+						"archiver": "^7.0.1",
+						"aria-query": "^5.3.0",
+						"cheerio": "^1.0.0-rc.12",
+						"css-shorthand-properties": "^1.1.1",
+						"css-value": "^0.0.1",
+						"grapheme-splitter": "^1.0.4",
+						"htmlfy": "^0.8.1",
+						"is-plain-obj": "^4.1.0",
+						"jszip": "^3.10.1",
+						"lodash.clonedeep": "^4.5.0",
+						"lodash.zip": "^4.2.0",
+						"query-selector-shadow-dom": "^1.0.1",
+						"resq": "^1.11.0",
+						"rgb2hex": "0.2.5",
+						"serialize-error": "^12.0.0",
+						"urlpattern-polyfill": "^10.0.0",
+						"webdriver": "9.18.0"
+					}
 				}
 			}
 		},
@@ -15059,6 +15769,14 @@
 			"dev": true,
 			"requires": {
 				"type-fest": "^0.21.3"
+			},
+			"dependencies": {
+				"type-fest": {
+					"version": "0.21.3",
+					"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+					"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+					"dev": true
+				}
 			}
 		},
 		"ansi-regex": {
@@ -15307,9 +16025,9 @@
 			"dev": true
 		},
 		"async": {
-			"version": "3.2.4",
-			"resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz",
-			"integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==",
+			"version": "3.2.6",
+			"resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz",
+			"integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==",
 			"dev": true
 		},
 		"async-exit-hook": {
@@ -15672,9 +16390,9 @@
 			}
 		},
 		"ci-info": {
-			"version": "3.9.0",
-			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
-			"integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+			"version": "4.3.0",
+			"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz",
+			"integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==",
 			"dev": true
 		},
 		"clean-regexp": {
@@ -15888,6 +16606,73 @@
 				}
 			}
 		},
+		"create-wdio": {
+			"version": "9.18.2",
+			"resolved": "https://registry.npmjs.org/create-wdio/-/create-wdio-9.18.2.tgz",
+			"integrity": "sha512-atf81YJfyTNAJXsNu3qhpqF4OO43tHGTpr88duAc1Hk4a0uXJAPUYLnYxshOuMnfmeAxlWD+NqGU7orRiXEuJg==",
+			"dev": true,
+			"requires": {
+				"chalk": "^5.3.0",
+				"commander": "^14.0.0",
+				"cross-spawn": "^7.0.3",
+				"ejs": "^3.1.10",
+				"execa": "^9.6.0",
+				"import-meta-resolve": "^4.1.0",
+				"inquirer": "^12.7.0",
+				"normalize-package-data": "^7.0.0",
+				"read-pkg-up": "^10.1.0",
+				"recursive-readdir": "^2.2.3",
+				"semver": "^7.6.3",
+				"type-fest": "^4.41.0",
+				"yargs": "^17.7.2"
+			},
+			"dependencies": {
+				"chalk": {
+					"version": "5.5.0",
+					"resolved": "https://registry.npmjs.org/chalk/-/chalk-5.5.0.tgz",
+					"integrity": "sha512-1tm8DTaJhPBG3bIkVeZt1iZM9GfSX2lzOeDVZH9R9ffRHpmHvxZ/QhgQH/aDTkswQVt+YHdXAdS/In/30OjCbg==",
+					"dev": true
+				},
+				"commander": {
+					"version": "14.0.0",
+					"resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz",
+					"integrity": "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==",
+					"dev": true
+				},
+				"hosted-git-info": {
+					"version": "8.1.0",
+					"resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz",
+					"integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==",
+					"dev": true,
+					"requires": {
+						"lru-cache": "^10.0.1"
+					}
+				},
+				"lru-cache": {
+					"version": "10.4.3",
+					"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz",
+					"integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==",
+					"dev": true
+				},
+				"normalize-package-data": {
+					"version": "7.0.1",
+					"resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-7.0.1.tgz",
+					"integrity": "sha512-linxNAT6M0ebEYZOx2tO6vBEFsVgnPpv+AVjk0wJHfaUIbq31Jm3T6vvZaarnOeWDh8ShnwXuaAyM7WT3RzErA==",
+					"dev": true,
+					"requires": {
+						"hosted-git-info": "^8.0.0",
+						"semver": "^7.3.5",
+						"validate-npm-package-license": "^3.0.4"
+					}
+				},
+				"semver": {
+					"version": "7.7.2",
+					"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+					"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+					"dev": true
+				}
+			}
+		},
 		"cross-spawn": {
 			"version": "7.0.6",
 			"resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
@@ -16115,12 +16900,6 @@
 			"integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==",
 			"dev": true
 		},
-		"diff-sequences": {
-			"version": "29.6.3",
-			"resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
-			"integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
-			"dev": true
-		},
 		"dir-glob": {
 			"version": "3.0.1",
 			"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
@@ -16201,9 +16980,9 @@
 			}
 		},
 		"dotenv": {
-			"version": "16.5.0",
-			"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.5.0.tgz",
-			"integrity": "sha512-m/C+AwOAr9/W1UOIZUo232ejMNnJAJtYQjUbHoNTBNTJSvqzzDh7vnrei3o3r3m9blf6ZoDkvcw0VmozNRFJxg==",
+			"version": "17.2.1",
+			"resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.1.tgz",
+			"integrity": "sha512-kQhDYKZecqnM0fCnzI5eIv5L4cAe/iRI+HqMbO/hbRdTAeXDG+M9FjipUxNfbARuEg4iHIbhnhs78BCHNbSxEQ==",
 			"dev": true
 		},
 		"dunder-proto": {
@@ -16266,16 +17045,16 @@
 			}
 		},
 		"edgedriver": {
-			"version": "6.1.1",
-			"resolved": "https://registry.npmjs.org/edgedriver/-/edgedriver-6.1.1.tgz",
-			"integrity": "sha512-/dM/PoBf22Xg3yypMWkmRQrBKEnSyNaZ7wHGCT9+qqT14izwtFT+QvdR89rjNkMfXwW+bSFoqOfbcvM+2Cyc7w==",
+			"version": "6.1.2",
+			"resolved": "https://registry.npmjs.org/edgedriver/-/edgedriver-6.1.2.tgz",
+			"integrity": "sha512-UvFqd/IR81iPyWMcxXbUNi+xKWR7JjfoHjfuwjqsj9UHQKn80RpQmS0jf+U25IPi+gKVPcpOSKm0XkqgGMq4zQ==",
 			"dev": true,
 			"requires": {
 				"@wdio/logger": "^9.1.3",
 				"@zip.js/zip.js": "^2.7.53",
 				"decamelize": "^6.0.0",
 				"edge-paths": "^3.0.5",
-				"fast-xml-parser": "^4.5.0",
+				"fast-xml-parser": "^5.0.8",
 				"http-proxy-agent": "^7.0.2",
 				"https-proxy-agent": "^7.0.5",
 				"node-fetch": "^3.3.2",
@@ -17174,12 +17953,6 @@
 						"strip-json-comments": "^3.1.1"
 					}
 				},
-				"ci-info": {
-					"version": "4.0.0",
-					"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.0.0.tgz",
-					"integrity": "sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==",
-					"dev": true
-				},
 				"eslint-visitor-keys": {
 					"version": "4.0.0",
 					"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz",
@@ -17451,46 +18224,47 @@
 			}
 		},
 		"expect": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz",
-			"integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/expect/-/expect-30.0.5.tgz",
+			"integrity": "sha512-P0te2pt+hHI5qLJkIR+iMvS+lYUZml8rKKsohVHAGY+uClp9XVbdyYNJOIjSRpHVp8s8YqxJCiHUkSYZGr8rtQ==",
 			"dev": true,
 			"requires": {
-				"@jest/expect-utils": "^29.7.0",
-				"jest-get-type": "^29.6.3",
-				"jest-matcher-utils": "^29.7.0",
-				"jest-message-util": "^29.7.0",
-				"jest-util": "^29.7.0"
+				"@jest/expect-utils": "30.0.5",
+				"@jest/get-type": "30.0.1",
+				"jest-matcher-utils": "30.0.5",
+				"jest-message-util": "30.0.5",
+				"jest-mock": "30.0.5",
+				"jest-util": "30.0.5"
 			}
 		},
 		"expect-webdriverio": {
-			"version": "5.3.0",
-			"resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-5.3.0.tgz",
-			"integrity": "sha512-EUiibBYXWzSn9mJFuF914yeKUxvRxrhR9nImfe0YttG+wVg0v5jY1DPPnRz8sE0wlmoLHyLr155b5/d1+oZmxg==",
+			"version": "5.4.1",
+			"resolved": "https://registry.npmjs.org/expect-webdriverio/-/expect-webdriverio-5.4.1.tgz",
+			"integrity": "sha512-jH4qhahRNGPWbCCVcCpLDl/kvFJ1eOzVnrd1K/sG1RhKr6bZsgZQUiOE3bafVqSOfKP+ay8bM/VagP4+XsO9Xw==",
 			"dev": true,
 			"requires": {
-				"@vitest/snapshot": "^3.2.1",
-				"expect": "^29.7.0",
-				"jest-matcher-utils": "^29.7.0",
+				"@vitest/snapshot": "^3.2.4",
+				"expect": "^30.0.0",
+				"jest-matcher-utils": "^30.0.0",
 				"lodash.isequal": "^4.5.0"
 			},
 			"dependencies": {
 				"@vitest/pretty-format": {
-					"version": "3.2.3",
-					"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.3.tgz",
-					"integrity": "sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==",
+					"version": "3.2.4",
+					"resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz",
+					"integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==",
 					"dev": true,
 					"requires": {
 						"tinyrainbow": "^2.0.0"
 					}
 				},
 				"@vitest/snapshot": {
-					"version": "3.2.3",
-					"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.3.tgz",
-					"integrity": "sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==",
+					"version": "3.2.4",
+					"resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz",
+					"integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==",
 					"dev": true,
 					"requires": {
-						"@vitest/pretty-format": "3.2.3",
+						"@vitest/pretty-format": "3.2.4",
 						"magic-string": "^0.30.17",
 						"pathe": "^2.0.3"
 					}
@@ -17605,12 +18379,12 @@
 			"dev": true
 		},
 		"fast-xml-parser": {
-			"version": "4.5.3",
-			"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.5.3.tgz",
-			"integrity": "sha512-RKihhV+SHsIUGXObeVy9AXiBbFwkVk7Syp8XgwN5U3JV416+Gwp/GO9i0JYKmikykgz/UHRrrV4ROuZEo/T0ig==",
+			"version": "5.2.5",
+			"resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz",
+			"integrity": "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==",
 			"dev": true,
 			"requires": {
-				"strnum": "^1.1.1"
+				"strnum": "^2.1.0"
 			}
 		},
 		"fastest-levenshtein": {
@@ -17701,9 +18475,9 @@
 					}
 				},
 				"minimatch": {
-					"version": "5.1.0",
-					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz",
-					"integrity": "sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==",
+					"version": "5.1.6",
+					"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz",
+					"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
 					"dev": true,
 					"requires": {
 						"brace-expansion": "^2.0.1"
@@ -18182,9 +18956,9 @@
 			"dev": true
 		},
 		"graceful-fs": {
-			"version": "4.2.10",
-			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
-			"integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+			"version": "4.2.11",
+			"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+			"integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
 			"dev": true
 		},
 		"grapheme-splitter": {
@@ -18657,19 +19431,18 @@
 			"dev": true
 		},
 		"inquirer": {
-			"version": "11.1.0",
-			"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-11.1.0.tgz",
-			"integrity": "sha512-CmLAZT65GG/v30c+D2Fk8+ceP6pxD6RL+hIUOWAltCmeyEqWYwqu9v76q03OvjyZ3AB0C1Ala2stn1z/rMqGEw==",
+			"version": "12.9.0",
+			"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-12.9.0.tgz",
+			"integrity": "sha512-LlFVmvWVCun7uEgPB3vups9NzBrjJn48kRNtFGw3xU1H5UXExTEz/oF1JGLaB0fvlkUB+W6JfgLcSEaSdH7RPA==",
 			"dev": true,
 			"requires": {
-				"@inquirer/core": "^9.2.1",
-				"@inquirer/prompts": "^6.0.1",
-				"@inquirer/type": "^2.0.0",
-				"@types/mute-stream": "^0.0.4",
+				"@inquirer/core": "^10.1.15",
+				"@inquirer/prompts": "^7.8.0",
+				"@inquirer/type": "^3.0.8",
 				"ansi-escapes": "^4.3.2",
-				"mute-stream": "^1.0.0",
-				"run-async": "^3.0.0",
-				"rxjs": "^7.8.1"
+				"mute-stream": "^2.0.0",
+				"run-async": "^4.0.5",
+				"rxjs": "^7.8.2"
 			}
 		},
 		"internal-slot": {
@@ -18976,76 +19749,94 @@
 			}
 		},
 		"jake": {
-			"version": "10.8.5",
-			"resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz",
-			"integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==",
+			"version": "10.9.4",
+			"resolved": "https://registry.npmjs.org/jake/-/jake-10.9.4.tgz",
+			"integrity": "sha512-wpHYzhxiVQL+IV05BLE2Xn34zW1S223hvjtqk0+gsPrwd/8JNLXJgZZM/iPFsYc1xyphF+6M6EvdE5E9MBGkDA==",
 			"dev": true,
 			"requires": {
-				"async": "^3.2.3",
-				"chalk": "^4.0.2",
-				"filelist": "^1.0.1",
-				"minimatch": "^3.0.4"
+				"async": "^3.2.6",
+				"filelist": "^1.0.4",
+				"picocolors": "^1.1.1"
 			}
 		},
 		"jest-diff": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
-			"integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-30.0.5.tgz",
+			"integrity": "sha512-1UIqE9PoEKaHcIKvq2vbibrCog4Y8G0zmOxgQUVEiTqwR5hJVMCoDsN1vFvI5JvwD37hjueZ1C4l2FyGnfpE0A==",
 			"dev": true,
 			"requires": {
-				"chalk": "^4.0.0",
-				"diff-sequences": "^29.6.3",
-				"jest-get-type": "^29.6.3",
-				"pretty-format": "^29.7.0"
+				"@jest/diff-sequences": "30.0.1",
+				"@jest/get-type": "30.0.1",
+				"chalk": "^4.1.2",
+				"pretty-format": "30.0.5"
 			}
 		},
-		"jest-get-type": {
-			"version": "29.6.3",
-			"resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
-			"integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
-			"dev": true
-		},
 		"jest-matcher-utils": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz",
-			"integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-30.0.5.tgz",
+			"integrity": "sha512-uQgGWt7GOrRLP1P7IwNWwK1WAQbq+m//ZY0yXygyfWp0rJlksMSLQAA4wYQC3b6wl3zfnchyTx+k3HZ5aPtCbQ==",
 			"dev": true,
 			"requires": {
-				"chalk": "^4.0.0",
-				"jest-diff": "^29.7.0",
-				"jest-get-type": "^29.6.3",
-				"pretty-format": "^29.7.0"
+				"@jest/get-type": "30.0.1",
+				"chalk": "^4.1.2",
+				"jest-diff": "30.0.5",
+				"pretty-format": "30.0.5"
 			}
 		},
 		"jest-message-util": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
-			"integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-30.0.5.tgz",
+			"integrity": "sha512-NAiDOhsK3V7RU0Aa/HnrQo+E4JlbarbmI3q6Pi4KcxicdtjV82gcIUrejOtczChtVQR4kddu1E1EJlW6EN9IyA==",
 			"dev": true,
 			"requires": {
-				"@babel/code-frame": "^7.12.13",
-				"@jest/types": "^29.6.3",
-				"@types/stack-utils": "^2.0.0",
-				"chalk": "^4.0.0",
-				"graceful-fs": "^4.2.9",
-				"micromatch": "^4.0.4",
-				"pretty-format": "^29.7.0",
+				"@babel/code-frame": "^7.27.1",
+				"@jest/types": "30.0.5",
+				"@types/stack-utils": "^2.0.3",
+				"chalk": "^4.1.2",
+				"graceful-fs": "^4.2.11",
+				"micromatch": "^4.0.8",
+				"pretty-format": "30.0.5",
 				"slash": "^3.0.0",
-				"stack-utils": "^2.0.3"
+				"stack-utils": "^2.0.6"
+			}
+		},
+		"jest-mock": {
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-30.0.5.tgz",
+			"integrity": "sha512-Od7TyasAAQX/6S+QCbN6vZoWOMwlTtzzGuxJku1GhGanAjz9y+QsQkpScDmETvdc9aSXyJ/Op4rhpMYBWW91wQ==",
+			"dev": true,
+			"requires": {
+				"@jest/types": "30.0.5",
+				"@types/node": "*",
+				"jest-util": "30.0.5"
 			}
 		},
+		"jest-regex-util": {
+			"version": "30.0.1",
+			"resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-30.0.1.tgz",
+			"integrity": "sha512-jHEQgBXAgc+Gh4g0p3bCevgRCVRkB4VB70zhoAE48gxeSr1hfUOsM/C2WoJgVL7Eyg//hudYENbm3Ne+/dRVVA==",
+			"dev": true
+		},
 		"jest-util": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
-			"integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/jest-util/-/jest-util-30.0.5.tgz",
+			"integrity": "sha512-pvyPWssDZR0FlfMxCBoc0tvM8iUEskaRFALUtGQYzVEAqisAztmy+R8LnU14KT4XA0H/a5HMVTXat1jLne010g==",
 			"dev": true,
 			"requires": {
-				"@jest/types": "^29.6.3",
+				"@jest/types": "30.0.5",
 				"@types/node": "*",
-				"chalk": "^4.0.0",
-				"ci-info": "^3.2.0",
-				"graceful-fs": "^4.2.9",
-				"picomatch": "^2.2.3"
+				"chalk": "^4.1.2",
+				"ci-info": "^4.2.0",
+				"graceful-fs": "^4.2.11",
+				"picomatch": "^4.0.2"
+			},
+			"dependencies": {
+				"picomatch": {
+					"version": "4.0.3",
+					"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+					"integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
+					"dev": true
+				}
 			}
 		},
 		"js-tokens": {
@@ -19567,6 +20358,12 @@
 			"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
 			"dev": true
 		},
+		"mitt": {
+			"version": "3.0.1",
+			"resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
+			"integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==",
+			"dev": true
+		},
 		"mocha": {
 			"version": "7.2.0",
 			"resolved": "https://registry.npmjs.org/mocha/-/mocha-7.2.0.tgz",
@@ -19962,9 +20759,9 @@
 			}
 		},
 		"mute-stream": {
-			"version": "1.0.0",
-			"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz",
-			"integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==",
+			"version": "2.0.0",
+			"resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz",
+			"integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==",
 			"dev": true
 		},
 		"mwbot": {
@@ -20583,14 +21380,14 @@
 			"dev": true
 		},
 		"pretty-format": {
-			"version": "29.7.0",
-			"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
-			"integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+			"version": "30.0.5",
+			"resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-30.0.5.tgz",
+			"integrity": "sha512-D1tKtYvByrBkFLe2wHJl2bwMJIiT8rW+XA+TiataH79/FszLQMrpGEvzUVkzPau7OCO0Qnrhpe87PqtOAIB8Yw==",
 			"dev": true,
 			"requires": {
-				"@jest/schemas": "^29.6.3",
-				"ansi-styles": "^5.0.0",
-				"react-is": "^18.0.0"
+				"@jest/schemas": "30.0.5",
+				"ansi-styles": "^5.2.0",
+				"react-is": "^18.3.1"
 			},
 			"dependencies": {
 				"ansi-styles": {
@@ -20793,24 +21590,18 @@
 					"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
 					"integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
 					"dev": true
-				},
-				"type-fest": {
-					"version": "4.41.0",
-					"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
-					"integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
-					"dev": true
 				}
 			}
 		},
 		"read-pkg-up": {
-			"version": "10.0.0",
-			"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.0.0.tgz",
-			"integrity": "sha512-jgmKiS//w2Zs+YbX039CorlkOp8FIVbSAN8r8GJHDsGlmNPXo+VeHkqAwCiQVTTx5/LwLZTcEw59z3DvcLbr0g==",
+			"version": "10.1.0",
+			"resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-10.1.0.tgz",
+			"integrity": "sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==",
 			"dev": true,
 			"requires": {
 				"find-up": "^6.3.0",
-				"read-pkg": "^8.0.0",
-				"type-fest": "^3.12.0"
+				"read-pkg": "^8.1.0",
+				"type-fest": "^4.2.0"
 			},
 			"dependencies": {
 				"find-up": {
@@ -20856,12 +21647,6 @@
 					"integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==",
 					"dev": true
 				},
-				"type-fest": {
-					"version": "3.13.1",
-					"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz",
-					"integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==",
-					"dev": true
-				},
 				"yocto-queue": {
 					"version": "1.2.1",
 					"resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz",
@@ -21090,6 +21875,12 @@
 				"fast-deep-equal": "^2.0.1"
 			}
 		},
+		"ret": {
+			"version": "0.5.0",
+			"resolved": "https://registry.npmjs.org/ret/-/ret-0.5.0.tgz",
+			"integrity": "sha512-I1XxrZSQ+oErkRR4jYbAyEEu2I0avBvvMM5JN+6EBprOGRCs63ENqZ3vjavq8fBw2+62G5LF5XelKwuJpcvcxw==",
+			"dev": true
+		},
 		"reusify": {
 			"version": "1.0.4",
 			"resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
@@ -21112,9 +21903,9 @@
 			}
 		},
 		"run-async": {
-			"version": "3.0.0",
-			"resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz",
-			"integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==",
+			"version": "4.0.5",
+			"resolved": "https://registry.npmjs.org/run-async/-/run-async-4.0.5.tgz",
+			"integrity": "sha512-oN9GTgxUNDBumHTTDmQ8dep6VIJbgj9S3dPP+9XylVLIK4xB9XTXtKWROd5pnhdXR9k0EgO1JRcNh0T+Ny2FsA==",
 			"dev": true
 		},
 		"run-parallel": {
@@ -21162,6 +21953,15 @@
 				"regexp-tree": "~0.1.1"
 			}
 		},
+		"safe-regex2": {
+			"version": "5.0.0",
+			"resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-5.0.0.tgz",
+			"integrity": "sha512-YwJwe5a51WlK7KbOJREPdjNrpViQBI3p4T50lfwPuDhZnE3XGVTlGvi+aolc5+RvxDD6bnUmjVsU9n1eboLUYw==",
+			"dev": true,
+			"requires": {
+				"ret": "~0.5.0"
+			}
+		},
 		"safer-buffer": {
 			"version": "2.1.2",
 			"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
@@ -21572,9 +22372,9 @@
 			"dev": true
 		},
 		"strnum": {
-			"version": "1.1.2",
-			"resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
-			"integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
+			"version": "2.1.1",
+			"resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz",
+			"integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==",
 			"dev": true
 		},
 		"style-search": {
@@ -22022,9 +22822,9 @@
 			"dev": true
 		},
 		"type-fest": {
-			"version": "0.21.3",
-			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
-			"integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+			"version": "4.41.0",
+			"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.41.0.tgz",
+			"integrity": "sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==",
 			"dev": true
 		},
 		"typescript": {
diff --git a/package.json b/package.json
index 176b915..9bbbacc 100644
--- a/package.json
+++ b/package.json
@@ -10,7 +10,7 @@
 		"build": "./maintenance/buildPHPparser.js"
 	},
 	"devDependencies": {
-		"@wdio/cli": "9.15.0",
+		"@wdio/cli": "9.18.4",
 		"@wdio/junit-reporter": "9.15.0",
 		"@wdio/local-runner": "9.15.0",
 		"@wdio/mocha-framework": "9.15.0",
-- 
2.39.5


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