Explorar o código

feat(1.105): update patches (#2529)

Baptiste Augrain hai 2 semanas
pai
achega
a69d10fa91

+ 1 - 1
.nvmrc

@@ -1 +1 @@
-22.18.0
+22.19.0

+ 96 - 81
patches/brand.patch

@@ -73,37 +73,37 @@ index be7eea1..0737bab 100644
 +const bumpEngineForImplicitActivationEvents = l10n.t("This activation event can be removed for extensions targeting engine version ^1.75 as !!APP_NAME!! will generate these automatically from your package.json contribution declarations.");
  const starActivation = l10n.t("Using '*' activation is usually a bad idea as it impacts performance.");
 diff --git a/extensions/git/package.nls.json b/extensions/git/package.nls.json
-index 8e2d58e..01218da 100644
+index ae4159e..93d74ae 100644
 --- a/extensions/git/package.nls.json
 +++ b/extensions/git/package.nls.json
-@@ -236,3 +236,3 @@
+@@ -237,3 +237,3 @@
  			"{Locked='](command:git.showOutput'}",
 -			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
 +			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
  			"Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"
-@@ -264,4 +264,4 @@
+@@ -265,4 +265,4 @@
  	"config.showCommitInput": "Controls whether to show the commit input in the Git source control panel.",
 -	"config.terminalAuthentication": "Controls whether to enable VS Code to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.",
 -	"config.terminalGitEditor": "Controls whether to enable VS Code to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.",
 +	"config.terminalAuthentication": "Controls whether to enable !!APP_NAME!! to be the authentication handler for Git processes spawned in the Integrated Terminal. Note: Terminals need to be restarted to pick up a change in this setting.",
 +	"config.terminalGitEditor": "Controls whether to enable !!APP_NAME!! to be the Git editor for Git processes spawned in the integrated terminal. Note: Terminals need to be restarted to pick up a change in this setting.",
  	"config.timeline.showAuthor": "Controls whether to show the commit author in the Timeline view.",
-@@ -333,3 +333,3 @@
+@@ -334,3 +334,3 @@
  			"{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}",
 -			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
 +			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
  			"Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"
-@@ -343,3 +343,3 @@
+@@ -344,3 +344,3 @@
  			"{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}",
 -			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
 +			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
  			"Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"
-@@ -353,3 +353,3 @@
+@@ -354,3 +354,3 @@
  			"{Locked='](command:workbench.extensions.search?%22%40category%3A%5C%22scm%20providers%5C%22%22'}",
 -			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
 +			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
  			"Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"
-@@ -365,6 +365,6 @@
+@@ -366,6 +366,6 @@
  	"view.workbench.scm.disabled": {
 -		"message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
 +		"message": "If you would like to use Git features, please enable Git in your [settings](command:workbench.action.openSettings?%5B%22git.enabled%22%5D).\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -112,7 +112,7 @@ index 8e2d58e..01218da 100644
 -			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
 +			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
  			"Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"
-@@ -373,6 +373,6 @@
+@@ -374,6 +374,6 @@
  	"view.workbench.scm.empty": {
 -		"message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
 +		"message": "In order to use Git features, you can open a folder containing a Git repository or clone from a URL.\n[Open Folder](command:vscode.openFolder)\n[Clone Repository](command:git.cloneRecursive)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -121,7 +121,7 @@ index 8e2d58e..01218da 100644
 -			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
 +			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
  			"Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"
-@@ -381,6 +381,6 @@
+@@ -382,6 +382,6 @@
  	"view.workbench.scm.folder": {
 -		"message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
 +		"message": "The folder currently open doesn't have a Git repository. You can initialize a repository which will enable source control features powered by Git.\n[Initialize Repository](command:git.init?%5Btrue%5D)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -130,7 +130,7 @@ index 8e2d58e..01218da 100644
 -			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
 +			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
  			"Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"
-@@ -389,6 +389,6 @@
+@@ -390,6 +390,6 @@
  	"view.workbench.scm.workspace": {
 -		"message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
 +		"message": "The workspace currently open doesn't have any folders containing Git repositories. You can initialize a repository on a folder which will enable source control features powered by Git.\n[Initialize Repository](command:git.init)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -139,7 +139,7 @@ index 8e2d58e..01218da 100644
 -			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
 +			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
  			"Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"
-@@ -397,6 +397,6 @@
+@@ -398,6 +398,6 @@
  	"view.workbench.scm.emptyWorkspace": {
 -		"message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
 +		"message": "The workspace currently open doesn't have any folders containing Git repositories.\n[Add Folder to Workspace](command:workbench.action.addRootFolder)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -148,27 +148,27 @@ index 8e2d58e..01218da 100644
 -			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
 +			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
  			"Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"
-@@ -415,3 +415,3 @@
+@@ -416,3 +416,3 @@
  			"{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}",
 -			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
 +			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
  			"Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"
-@@ -424,3 +424,3 @@
+@@ -425,3 +425,3 @@
  			"{Locked='](command:workbench.action.openSettings?%5B%22git.openRepositoryInParentFolders%22%5D'}",
 -			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
 +			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
  			"Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"
-@@ -432,3 +432,3 @@
+@@ -433,3 +433,3 @@
  			"{Locked='](command:git.manageUnsafeRepositories'}",
 -			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
 +			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
  			"Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"
-@@ -440,3 +440,3 @@
+@@ -441,3 +441,3 @@
  			"{Locked='](command:git.manageUnsafeRepositories'}",
 -			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
 +			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
  			"Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"
-@@ -445,6 +445,6 @@
+@@ -446,6 +446,6 @@
  	"view.workbench.scm.closedRepository": {
 -		"message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
 +		"message": "A Git repository was found that was previously closed.\n[Reopen Closed Repository](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -177,7 +177,7 @@ index 8e2d58e..01218da 100644
 -			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
 +			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
  			"Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"
-@@ -453,6 +453,6 @@
+@@ -454,6 +454,6 @@
  	"view.workbench.scm.closedRepositories": {
 -		"message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm).",
 +		"message": "Git repositories were found that were previously closed.\n[Reopen Closed Repositories](command:git.reopenClosedRepositories)\nTo learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm).",
@@ -186,12 +186,12 @@ index 8e2d58e..01218da 100644
 -			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
 +			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
  			"Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"
-@@ -464,3 +464,3 @@
+@@ -465,3 +465,3 @@
  			"{Locked='](command:git.clone'}",
 -			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for VS Code",
 +			"Do not translate the 'command:*' part inside of the '(..)'. It is an internal command syntax for !!APP_NAME!!",
  			"Please make sure there is no space between the right bracket and left parenthesis:  ]( this is an internal syntax for links"
-@@ -468,3 +468,3 @@
+@@ -469,3 +469,3 @@
  	},
 -	"view.workbench.learnMore": "To learn more about how to use Git and source control in VS Code [read our docs](https://aka.ms/vscode-scm)."
 +	"view.workbench.learnMore": "To learn more about how to use Git and source control in !!APP_NAME!! [read our docs](https://aka.ms/vscode-scm)."
@@ -275,7 +275,7 @@ index e82030e..ac999f6 100644
 +	"displayName": "Jake support for !!APP_NAME!!",
  	"jake.taskDefinition.type.description": "The Jake task to customize.",
 diff --git a/extensions/json-language-features/package.nls.json b/extensions/json-language-features/package.nls.json
-index af6c9d8..36e64cf 100644
+index abc07c9..2a6de09 100644
 --- a/extensions/json-language-features/package.nls.json
 +++ b/extensions/json-language-features/package.nls.json
 @@ -11,3 +11,3 @@
@@ -433,26 +433,26 @@ index 9905fd5..62c2e3c 100644
 +			vscode.l10n.t("Please open a folder in !!APP_NAME!! to use a TypeScript or JavaScript project"));
  		return;
 diff --git a/extensions/typescript-language-features/src/typescriptServiceClient.ts b/extensions/typescript-language-features/src/typescriptServiceClient.ts
-index 4201d6d..ded6803 100644
+index 57395ce..c2b706a 100644
 --- a/extensions/typescript-language-features/src/typescriptServiceClient.ts
 +++ b/extensions/typescript-language-features/src/typescriptServiceClient.ts
-@@ -653,3 +653,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
+@@ -656,3 +656,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
  						prompt = vscode.window.showErrorMessage<vscode.MessageItem>(
 -							vscode.l10n.t("The JS/TS language service immediately crashed 5 times. The service will not be restarted.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against VS Code.", pluginExtensionList));
 +							vscode.l10n.t("The JS/TS language service immediately crashed 5 times. The service will not be restarted.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against !!APP_NAME!!.", pluginExtensionList));
  					} else {
-@@ -674,3 +674,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
+@@ -677,3 +677,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
  							prompt = vscode.window.showWarningMessage<vscode.MessageItem>(
 -								vscode.l10n.t("The JS/TS language service crashed 5 times in the last 5 Minutes.\nThis may be caused by a plugin contributed by one of these extensions: {0}\nPlease try disabling these extensions before filing an issue against VS Code.", pluginExtensionList));
 +								vscode.l10n.t("The JS/TS language service crashed 5 times in the last 5 Minutes.\nThis may be caused by a plugin contributed by one of these extensions: {0}\nPlease try disabling these extensions before filing an issue against !!APP_NAME!!.", pluginExtensionList));
  						} else {
-@@ -688,3 +688,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
+@@ -691,3 +691,3 @@ export default class TypeScriptServiceClient extends Disposable implements IType
  						prompt = vscode.window.showWarningMessage<vscode.MessageItem>(
 -							vscode.l10n.t("The JS/TS language service crashed.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against VS Code.", pluginExtensionList));
 +							vscode.l10n.t("The JS/TS language service crashed.\nThis may be caused by a plugin contributed by one of these extensions: {0}.\nPlease try disabling these extensions before filing an issue against !!APP_NAME!!.", pluginExtensionList));
  					} else {
 diff --git a/extensions/vscode-api-tests/package.json b/extensions/vscode-api-tests/package.json
-index 28005be..306c04a 100644
+index 250ec7a..74bdbdf 100644
 --- a/extensions/vscode-api-tests/package.json
 +++ b/extensions/vscode-api-tests/package.json
 @@ -2,3 +2,3 @@
@@ -603,7 +603,7 @@ index 0b2e320..a6a37d1 100644
 +					throw new Error(nls.localize('restartCode', "Please restart !!APP_NAME!! before reinstalling {0}.", this.manifest.displayName || this.manifest.name));
  				}
 diff --git a/src/vs/platform/extensions/common/extensionValidator.ts b/src/vs/platform/extensions/common/extensionValidator.ts
-index 87a9288..dcbbf0a 100644
+index 0683f68..7e27873 100644
 --- a/src/vs/platform/extensions/common/extensionValidator.ts
 +++ b/src/vs/platform/extensions/common/extensionValidator.ts
 @@ -374,5 +374,5 @@ export function areApiProposalsCompatible(apiProposals: string[], arg1?: any): b
@@ -624,7 +624,7 @@ index ca6c82b..56fab2c 100644
 +const TERMINAL_TITLE = nls.localize('console.title', "!!APP_NAME!! Console");
  
 diff --git a/src/vs/platform/terminal/common/terminalPlatformConfiguration.ts b/src/vs/platform/terminal/common/terminalPlatformConfiguration.ts
-index 7d8d78b..d39dad4 100644
+index e6e4d48..f5ea42a 100644
 --- a/src/vs/platform/terminal/common/terminalPlatformConfiguration.ts
 +++ b/src/vs/platform/terminal/common/terminalPlatformConfiguration.ts
 @@ -338,3 +338,3 @@ const terminalPlatformConfiguration: IConfigurationNode = {
@@ -671,16 +671,16 @@ index 0535ddd..2478997 100644
 +	console.error('Unable to connect to !!APP_NAME!! server: ' + message);
  	console.error(err);
 diff --git a/src/vs/workbench/api/browser/mainThreadAuthentication.ts b/src/vs/workbench/api/browser/mainThreadAuthentication.ts
-index 902230b..8fa914c 100644
+index 8e75416..8223245 100644
 --- a/src/vs/workbench/api/browser/mainThreadAuthentication.ts
 +++ b/src/vs/workbench/api/browser/mainThreadAuthentication.ts
-@@ -490,3 +490,3 @@ export class MainThreadAuthentication extends Disposable implements MainThreadAu
+@@ -498,3 +498,3 @@ export class MainThreadAuthentication extends Disposable implements MainThreadAu
  				owner: 'TylerLeonhardt';
 -				comment: 'Used to see which extensions are using the VSCode client id override';
 +				comment: 'Used to see which extensions are using the !!APP_NAME!! client id override';
  				extensionId: { classification: 'SystemMetaData'; purpose: 'FeatureInsight'; comment: 'The extension id.' };
 diff --git a/src/vs/workbench/api/browser/viewsExtensionPoint.ts b/src/vs/workbench/api/browser/viewsExtensionPoint.ts
-index 7695758..735d45f 100644
+index 0674b8f..7bf3dd4 100644
 --- a/src/vs/workbench/api/browser/viewsExtensionPoint.ts
 +++ b/src/vs/workbench/api/browser/viewsExtensionPoint.ts
 @@ -43,3 +43,3 @@ const viewsContainerSchema: IJSONSchema = {
@@ -736,7 +736,7 @@ index 0ebe271..20974b2 100644
 +		throw new Error('Unable to create the !!APP_NAME!! workbench more than once.');
  	} else {
 diff --git a/src/vs/workbench/browser/workbench.contribution.ts b/src/vs/workbench/browser/workbench.contribution.ts
-index 06911cb..9498377 100644
+index d09ab3f..24e5f8d 100644
 --- a/src/vs/workbench/browser/workbench.contribution.ts
 +++ b/src/vs/workbench/browser/workbench.contribution.ts
 @@ -712,3 +712,3 @@ const registry = Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Con
@@ -745,15 +745,15 @@ index 06911cb..9498377 100644
 +		localize('appName', "`${appName}`: e.g. !!APP_NAME!!."),
  		localize('remoteName', "`${remoteName}`: e.g. SSH"),
 diff --git a/src/vs/workbench/contrib/chat/browser/chatSetup.ts b/src/vs/workbench/contrib/chat/browser/chatSetup.ts
-index a19380c..1b08415 100644
+index c576fa9..4724edd 100644
 --- a/src/vs/workbench/contrib/chat/browser/chatSetup.ts
 +++ b/src/vs/workbench/contrib/chat/browser/chatSetup.ts
-@@ -147,3 +147,3 @@ class SetupAgent extends Disposable implements IChatAgentImplementation {
+@@ -148,3 +148,3 @@ class SetupAgent extends Disposable implements IChatAgentImplementation {
  			// Register VSCode agent
--			const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about VS Code").value, ChatAgentLocation.Panel, undefined, context, controller);
-+			const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about !!APP_NAME!!").value, ChatAgentLocation.Panel, undefined, context, controller);
+-			const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about VS Code").value, ChatAgentLocation.Chat, undefined, context, controller);
++			const { disposable: vscodeDisposable } = SetupAgent.doRegisterAgent(instantiationService, chatAgentService, 'setup.vscode', 'vscode', false, localize2('vscodeAgentDescription', "Ask questions about !!APP_NAME!!").value, ChatAgentLocation.Chat, undefined, context, controller);
  			disposables.add(vscodeDisposable);
-@@ -164,4 +164,4 @@ class SetupAgent extends Disposable implements IChatAgentImplementation {
+@@ -165,4 +165,4 @@ class SetupAgent extends Disposable implements IChatAgentImplementation {
  				displayName: localize('setupToolDisplayName', "New Workspace"),
 -				modelDescription: localize('setupToolsDescription', "Scaffold a new workspace in VS Code"),
 -				userDescription: localize('setupToolsDescription', "Scaffold a new workspace in VS Code"),
@@ -801,7 +801,7 @@ index 1bc0b4b..89330c0 100644
 +							: localize('InstallVSIXAction.successReload', "Completed installing extension. Please reload VSCodium to enable it."),
  						[{
 diff --git a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
-index 27b428a..ab75e58 100644
+index a84f2db..9df8237 100644
 --- a/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
 +++ b/src/vs/workbench/contrib/extensions/browser/extensionsActions.ts
 @@ -109,3 +109,3 @@ export class PromptExtensionInstallFailureAction extends Action {
@@ -820,7 +820,7 @@ index 27b428a..ab75e58 100644
 +			alert(localize('uninstallExtensionComplete', "Please reload !!APP_NAME!! to complete the uninstallation of the extension {0}.", this.extension.displayName));
  		} catch (error) {
 @@ -2599,3 +2599,3 @@ export class ExtensionStatusAction extends ExtensionAction {
- 				const link = `[${localize('settings', "settings")}](${URI.parse(`command:workbench.action.openSettings?${encodeURIComponent(JSON.stringify([this.extension.deprecationInfo.settings.map(setting => `@id:${setting}`).join(' ')]))}`)})`;
+ 				const link = `[${localize('settings', "settings")}](${createCommandUri('workbench.action.openSettings', this.extension.deprecationInfo.settings.map(setting => `@id:${setting}`).join(' '))}})`;
 -				this.updateStatus({ icon: warningIcon, message: new MarkdownString(localize('deprecated with alternate settings tooltip', "This extension is deprecated as this functionality is now built-in to VS Code. Configure these {0} to use this functionality.", link)) }, true);
 +				this.updateStatus({ icon: warningIcon, message: new MarkdownString(localize('deprecated with alternate settings tooltip', "This extension is deprecated as this functionality is now built-in to !!APP_NAME!!. Configure these {0} to use this functionality.", link)) }, true);
  			} else {
@@ -862,7 +862,7 @@ index f54ddfe..946de6b 100644
 +						enumDescriptions: [nls.localize('externalUriOpeners.defaultId', "Open using !!APP_NAME!!'s standard opener.")],
  					},
 diff --git a/src/vs/workbench/contrib/localization/common/localization.contribution.ts b/src/vs/workbench/contrib/localization/common/localization.contribution.ts
-index b89d74b..2a06ffb 100644
+index bd73995..61b7d12 100644
 --- a/src/vs/workbench/contrib/localization/common/localization.contribution.ts
 +++ b/src/vs/workbench/contrib/localization/common/localization.contribution.ts
 @@ -58,5 +58,5 @@ export class BaseLocalizationWorkbenchContribution extends Disposable implements
@@ -894,10 +894,10 @@ index b533feb..112d695 100644
 +	`// ${nls.localize('doc', 'Open !!APP_NAME!! and run "Developer: Inspect Key Mappings (JSON)" from Command Palette.')}`,
  	``,
 diff --git a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
-index 631d969..22432b6 100644
+index 6c6a8f9..35d3c9a 100644
 --- a/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
 +++ b/src/vs/workbench/contrib/tasks/browser/abstractTaskService.ts
-@@ -3341,3 +3341,3 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
+@@ -3441,3 +3441,3 @@ export abstract class AbstractTaskService extends Disposable implements ITaskSer
  						if (response.code && response.code === TerminateResponseCode.ProcessNotFound) {
 -							this._notificationService.error(nls.localize('TerminateAction.noProcess', 'The launched process doesn\'t exist anymore. If the task spawned background tasks exiting VS Code might result in orphaned processes.'));
 +							this._notificationService.error(nls.localize('TerminateAction.noProcess', 'The launched process doesn\'t exist anymore. If the task spawned background tasks exiting !!APP_NAME!! might result in orphaned processes.'));
@@ -917,10 +917,10 @@ index 9db6b8a..cecac9f 100644
 +					description: nls.localize('JsonSchema.promptOnClose', 'Whether the user is prompted when !!APP_NAME!! closes with a running background task.'),
  					default: false
 diff --git a/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.ts b/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.ts
-index e698eb9..b2a6e63 100644
+index d917ab2..bb39d83 100644
 --- a/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.ts
 +++ b/src/vs/workbench/contrib/tasks/common/jsonSchema_v2.ts
-@@ -424,3 +424,3 @@ const taskConfiguration: IJSONSchema = {
+@@ -429,3 +429,3 @@ const taskConfiguration: IJSONSchema = {
  			type: 'boolean',
 -			description: nls.localize('JsonSchema.tasks.promptOnClose', 'Whether the user is prompted when VS Code closes with a running task.'),
 +			description: nls.localize('JsonSchema.tasks.promptOnClose', 'Whether the user is prompted when !!APP_NAME!! closes with a running task.'),
@@ -1037,7 +1037,7 @@ index 57b91bd..89c2b68 100644
 +				localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.welcomePage' }, "Open the Welcome page, with content to aid in getting started with !!APP_NAME!! and extensions."),
  				localize({ comment: ['This is the description for a setting. Values surrounded by single quotes are not to be translated.'], key: 'workbench.startupEditor.readme' }, "Open the README when opening a folder that contains one, fallback to 'welcomePage' otherwise. Note: This is only observed as a global configuration, it will be ignored if set in a workspace or folder configuration."),
 diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.ts b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.ts
-index 3f1c098..26bf670 100644
+index 297598e..1fc5b45 100644
 --- a/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.ts
 +++ b/src/vs/workbench/contrib/welcomeGettingStarted/browser/gettingStartedExtensionPoint.ts
 @@ -161,3 +161,3 @@ export const walkthroughsExtensionPoint = ExtensionsRegistry.registerExtensionPo
@@ -1046,10 +1046,10 @@ index 3f1c098..26bf670 100644
 +											description: localize('walkthroughs.steps.completionEvents.onCommand', 'Check off step when a given command is executed anywhere in !!APP_NAME!!.'),
  											body: 'onCommand:${1:commandId}'
 diff --git a/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts b/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts
-index 3826aa8..b2803d8 100644
+index ce5f54d..07b88d6 100644
 --- a/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts
 +++ b/src/vs/workbench/contrib/welcomeGettingStarted/common/gettingStartedContent.ts
-@@ -209,13 +209,2 @@ export const startEntries: GettingStartedStartEntryContent = [
+@@ -211,13 +211,2 @@ export const startEntries: GettingStartedStartEntryContent = [
  	},
 -	{
 -		id: 'topLevelNewWorkspaceChat',
@@ -1063,17 +1063,19 @@ index 3826aa8..b2803d8 100644
 -		}
 -	},
  ];
-@@ -224,24 +213,2 @@ const Button = (title: string, href: string) => `[${title}](${href})`;
+@@ -226,66 +215,6 @@ const Button = (title: string, href: string) => `[${title}](${href})`;
  
 -const CopilotStepTitle = localize('gettingStarted.copilotSetup.title', "Use AI features with Copilot for free");
--const CopilotDescription = localize({ key: 'gettingStarted.copilotSetup.description', comment: ['{Locked="["}', '{Locked="]({0})"}'] }, "You can use [Copilot]({0}) to generate code across multiple files, fix errors, ask questions about your code and much more using natural language.", defaultChat.documentationUrl ?? '');
--const CopilotSignedOutButton = Button(localize('setupCopilotButton.signIn', "Set up Copilot"), `command:workbench.action.chat.triggerSetup`);
+-const CopilotDescription = localize({ key: 'gettingStarted.copilotSetup.description', comment: ['{Locked="["}', '{Locked="]({0})"}'] }, "You can use [Copilot]({0}) to generate code across multiple files, fix errors, ask questions about your code, and much more using natural language.", defaultChat.documentationUrl ?? '');
+-const CopilotTermsString = localize({ key: 'gettingStarted.copilotSetup.terms', comment: ['{Locked="]({2})"}', '{Locked="]({3})"}'] }, "By continuing with {0} Copilot, you agree to {1}'s [Terms]({2}) and [Privacy Statement]({3})", defaultChat.provider.default.name, defaultChat.provider.default.name, defaultChat.termsStatementUrl, defaultChat.privacyStatementUrl);
+-const CopilotAnonymousButton = Button(localize('setupCopilotButton.setup', "Set up Copilot"), `command:workbench.action.chat.triggerSetupAnonymously`);
+-const CopilotSignedOutButton = Button(localize('setupCopilotButton.setup', "Set up Copilot"), `command:workbench.action.chat.triggerSetup`);
 -const CopilotSignedInButton = Button(localize('setupCopilotButton.setup', "Set up Copilot"), `command:workbench.action.chat.triggerSetup`);
 -const CopilotCompleteButton = Button(localize('setupCopilotButton.chatWithCopilot', "Chat with Copilot"), 'command:workbench.action.chat.open');
 -
 -function createCopilotSetupStep(id: string, button: string, when: string, includeTerms: boolean): BuiltinGettingStartedStep {
 -	const description = includeTerms ?
--		`${CopilotDescription}\n\n${button}` :
+-		`${CopilotDescription}\n${CopilotTermsString}\n${button}` :
 -		`${CopilotDescription}\n${button}`;
 -
 -	return {
@@ -1088,40 +1090,53 @@ index 3826aa8..b2803d8 100644
 -}
 -
  export const walkthroughs: GettingStartedWalkthroughContent = [
-@@ -249,3 +216,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
- 		id: 'Setup',
+-	{
+-		id: 'Setup',
 -		title: localize('gettingStarted.setup.title', "Get started with VS Code"),
-+		title: localize('gettingStarted.setup.title', "Get started with !!APP_NAME!!"),
- 		description: localize('gettingStarted.setup.description', "Customize your editor, learn the basics, and start coding"),
-@@ -254,3 +221,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
- 		when: '!isWeb',
+-		description: localize('gettingStarted.setup.description', "Customize your editor, learn the basics, and start coding"),
+-		isFeatured: true,
+-		icon: setupIcon,
+-		when: '!isWeb',
 -		walkthroughPageTitle: localize('gettingStarted.setup.walkthroughPageTitle', 'Setup VS Code'),
-+		walkthroughPageTitle: localize('gettingStarted.setup.walkthroughPageTitle', 'Setup !!APP_NAME!!'),
- 		next: 'Beginner',
-@@ -259,5 +226,2 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
- 			steps: [
--				createCopilotSetupStep('CopilotSetupSignedOut', CopilotSignedOutButton, 'chatEntitlementSignedOut', true),
--				createCopilotSetupStep('CopilotSetupComplete', CopilotCompleteButton, 'chatSetupInstalled && !chatSetupDisabled && (chatPlanPro || chatPlanProPlus || chatPlanBusiness || chatPlanEnterprise || chatPlanFree)', false),
--				createCopilotSetupStep('CopilotSetupSignedIn', CopilotSignedInButton, '!chatEntitlementSignedOut && (!chatSetupInstalled || chatSetupDisabled || chatPlanCanSignUp)', true),
- 				{
-@@ -275,4 +239,4 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
- 					title: localize('gettingStarted.videoTutorial.title', "Watch video tutorials"),
+-		next: 'Beginner',
+-		content: {
+-			type: 'steps',
+-			steps: [
+-				createCopilotSetupStep('CopilotSetupAnonymous', CopilotAnonymousButton, 'chatAnonymous && !chatSetupInstalled', true),
+-				createCopilotSetupStep('CopilotSetupSignedOut', CopilotSignedOutButton, 'chatEntitlementSignedOut && !chatAnonymous', false),
+-				createCopilotSetupStep('CopilotSetupComplete', CopilotCompleteButton, 'chatSetupInstalled && !chatSetupDisabled && (chatAnonymous || chatPlanPro || chatPlanProPlus || chatPlanBusiness || chatPlanEnterprise || chatPlanFree)', false),
+-				createCopilotSetupStep('CopilotSetupSignedIn', CopilotSignedInButton, '!chatEntitlementSignedOut && (!chatSetupInstalled || chatSetupDisabled || chatPlanCanSignUp)', false),
+-				{
+-					id: 'pickColorTheme',
+-					title: localize('gettingStarted.pickColor.title', "Choose your theme"),
+-					description: localize('gettingStarted.pickColor.description.interpolated', "The right theme helps you focus on your code, is easy on your eyes, and is simply more fun to use.\n{0}", Button(localize('titleID', "Browse Color Themes"), 'command:workbench.action.selectTheme')),
+-					completionEvents: [
+-						'onSettingChanged:workbench.colorTheme',
+-						'onCommand:workbench.action.selectTheme'
+-					],
+-					media: { type: 'markdown', path: 'theme_picker', }
+-				},
+-				{
+-					id: 'videoTutorial',
+-					title: localize('gettingStarted.videoTutorial.title', "Watch video tutorials"),
 -					description: localize('gettingStarted.videoTutorial.description.interpolated', "Watch the first in a series of short & practical video tutorials for VS Code's key features.\n{0}", Button(localize('watch', "Watch Tutorial"), 'https://aka.ms/vscode-getting-started-video')),
 -					media: { type: 'svg', altText: 'VS Code Settings', path: 'learn.svg' },
-+					description: localize('gettingStarted.videoTutorial.description.interpolated', "Watch the first in a series of short & practical video tutorials for !!APP_NAME!!'s key features.\n{0}", Button(localize('watch', "Watch Tutorial"), 'https://aka.ms/vscode-getting-started-video')),
-+					media: { type: 'svg', altText: '!!APP_NAME!! Settings', path: 'learn.svg' },
- 				}
-@@ -284,3 +248,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
+-				}
+-			]
+-		}
+-	},
+-
+ 	{
  		id: 'SetupWeb',
 -		title: localize('gettingStarted.setupWeb.title', "Get Started with VS Code for the Web"),
 +		title: localize('gettingStarted.setupWeb.title', "Get Started with !!APP_NAME!! for the Web"),
  		description: localize('gettingStarted.setupWeb.description', "Customize your editor, learn the basics, and start coding"),
-@@ -290,3 +254,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
+@@ -295,3 +224,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
  		next: 'Beginner',
 -		walkthroughPageTitle: localize('gettingStarted.setupWeb.walkthroughPageTitle', 'Setup VS Code Web'),
 +		walkthroughPageTitle: localize('gettingStarted.setupWeb.walkthroughPageTitle', 'Setup !!APP_NAME!! Web'),
  		content: {
-@@ -316,6 +280,6 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
+@@ -321,6 +250,6 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
  					title: localize('gettingStarted.extensions.title', "Code with extensions"),
 -					description: localize('gettingStarted.extensionsWeb.description.interpolated', "Extensions are VS Code's power-ups. A growing number are becoming available in the web.\n{0}", Button(localize('browsePopularWeb', "Browse Popular Web Extensions"), 'command:workbench.extensions.action.showPopularExtensions')),
 +					description: localize('gettingStarted.extensionsWeb.description.interpolated', "Extensions are !!APP_NAME!!'s power-ups. A growing number are becoming available in the web.\n{0}", Button(localize('browsePopularWeb', "Browse Popular Web Extensions"), 'command:workbench.extensions.action.showPopularExtensions')),
@@ -1130,7 +1145,7 @@ index 3826aa8..b2803d8 100644
 -						type: 'svg', altText: 'VS Code extension marketplace with featured language extensions', path: 'extensions-web.svg'
 +						type: 'svg', altText: '!!APP_NAME!! extension marketplace with featured language extensions', path: 'extensions-web.svg'
  					},
-@@ -331,12 +295,2 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
+@@ -336,12 +265,2 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
  				},
 -				{
 -					id: 'settingsSyncWeb',
@@ -1143,37 +1158,37 @@ index 3826aa8..b2803d8 100644
 -					},
 -				},
  				{
-@@ -344,3 +298,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
+@@ -349,3 +268,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
  					title: localize('gettingStarted.commandPalette.title', "Unlock productivity with the Command Palette "),
 -					description: localize('gettingStarted.commandPalette.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in VS Code.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
 +					description: localize('gettingStarted.commandPalette.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in !!APP_NAME!!.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
  					media: { type: 'svg', altText: 'Command Palette overlay for searching and executing commands.', path: 'commandPalette.svg' },
-@@ -350,3 +304,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
+@@ -355,3 +274,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
  					title: localize('gettingStarted.setup.OpenFolder.title', "Open up your code"),
 -					description: localize('gettingStarted.setup.OpenFolderWeb.description.interpolated', "You're all set to start coding. You can open a local project or a remote repository to get your files into VS Code.\n{0}\n{1}", Button(localize('openFolder', "Open Folder"), 'command:workbench.action.addRootFolder'), Button(localize('openRepository', "Open Repository"), 'command:remoteHub.openRepository')),
 +					description: localize('gettingStarted.setup.OpenFolderWeb.description.interpolated', "You're all set to start coding. You can open a local project or a remote repository to get your files into !!APP_NAME!!.\n{0}\n{1}", Button(localize('openFolder', "Open Folder"), 'command:workbench.action.addRootFolder'), Button(localize('openRepository', "Open Repository"), 'command:remoteHub.openRepository')),
  					when: 'workspaceFolderCount == 0',
-@@ -371,3 +325,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
+@@ -376,3 +295,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
  		title: localize('gettingStarted.setupAccessibility.title', "Get Started with Accessibility Features"),
 -		description: localize('gettingStarted.setupAccessibility.description', "Learn the tools and shortcuts that make VS Code accessible. Note that some actions are not actionable from within the context of the walkthrough."),
 +		description: localize('gettingStarted.setupAccessibility.description', "Learn the tools and shortcuts that make !!APP_NAME!! accessible. Note that some actions are not actionable from within the context of the walkthrough."),
  		isFeatured: true,
-@@ -376,3 +330,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
+@@ -381,3 +300,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
  		next: 'Setup',
 -		walkthroughPageTitle: localize('gettingStarted.setupAccessibility.walkthroughPageTitle', 'Setup VS Code Accessibility'),
 +		walkthroughPageTitle: localize('gettingStarted.setupAccessibility.walkthroughPageTitle', 'Setup !!APP_NAME!! Accessibility'),
  		content: {
-@@ -407,3 +361,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
+@@ -412,3 +331,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
  					title: localize('gettingStarted.commandPaletteAccessibility.title', "Unlock productivity with the Command Palette "),
 -					description: localize('gettingStarted.commandPaletteAccessibility.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in VS Code.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
 +					description: localize('gettingStarted.commandPaletteAccessibility.description.interpolated', "Run commands without reaching for your mouse to accomplish any task in !!APP_NAME!!.\n{0}", Button(localize('commandPalette', "Open Command Palette"), 'command:workbench.action.showCommands')),
  					media: { type: 'markdown', path: 'empty' },
-@@ -484,3 +438,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
+@@ -496,3 +415,3 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
  					media: {
 -						type: 'svg', altText: 'VS Code Settings', path: 'settings.svg'
 +						type: 'svg', altText: '!!APP_NAME!! Settings', path: 'settings.svg'
  					},
-@@ -490,6 +444,6 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
+@@ -502,6 +421,6 @@ export const walkthroughs: GettingStartedWalkthroughContent = [
  					title: localize('gettingStarted.extensions.title', "Code with extensions"),
 -					description: localize('gettingStarted.extensions.description.interpolated', "Extensions are VS Code's power-ups. They range from handy productivity hacks, expanding out-of-the-box features, to adding completely new capabilities.\n{0}", Button(localize('browsePopular', "Browse Popular Extensions"), 'command:workbench.extensions.action.showPopularExtensions')),
 +					description: localize('gettingStarted.extensions.description.interpolated', "Extensions are !!APP_NAME!!'s power-ups. They range from handy productivity hacks, expanding out-of-the-box features, to adding completely new capabilities.\n{0}", Button(localize('browsePopular', "Browse Popular Extensions"), 'command:workbench.extensions.action.showPopularExtensions')),
@@ -1221,7 +1236,7 @@ index c512b64..dfa2150 100644
 +				markdownDescription: localize('workspace.trust.emptyWindow.description', "Controls whether or not the empty window is trusted by default within !!APP_NAME!!. When used with `#{0}#`, you can enable the full functionality of !!APP_NAME!! without prompting in an empty window.", WORKSPACE_TRUST_UNTRUSTED_FILES),
  				tags: [WORKSPACE_TRUST_SETTING_TAG],
 diff --git a/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts b/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts
-index e6805ca..f61cecc 100644
+index df1a6e3..14db691 100644
 --- a/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts
 +++ b/src/vs/workbench/services/extensionManagement/common/extensionManagementService.ts
 @@ -1044,3 +1044,3 @@ export class ExtensionManagementService extends CommontExtensionManagementServic

+ 3 - 3
patches/linux/fix-build.patch

@@ -1,19 +1,19 @@
 diff --git a/build/linux/dependencies-generator.js b/build/linux/dependencies-generator.js
-index b544223..e9063ec 100644
+index ae05d17..c692141 100644
 --- a/build/linux/dependencies-generator.js
 +++ b/build/linux/dependencies-generator.js
 @@ -27,3 +27,3 @@ const product = require("../../product.json");
  // are valid, are in dep-lists.ts
 -const FAIL_BUILD_FOR_NEW_DEPENDENCIES = true;
 +const FAIL_BUILD_FOR_NEW_DEPENDENCIES = false;
- // Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/138.0.7204.235:chrome/installer/linux/BUILD.gn;l=64-80
+ // Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/138.0.7204.251:chrome/installer/linux/BUILD.gn;l=64-80
 @@ -60,3 +60,3 @@ async function getDependencies(packageType, buildDir, applicationName, arch) {
      // Add the tunnel binary.
 -    files.push(path_1.default.join(buildDir, 'bin', product.tunnelApplicationName));
 +    // files.push(path_1.default.join(buildDir, 'bin', product.tunnelApplicationName));
      // Add the main executable.
 diff --git a/build/linux/dependencies-generator.ts b/build/linux/dependencies-generator.ts
-index 00d7bc6..a5e256c 100644
+index 46c6d6c..23ae589 100644
 --- a/build/linux/dependencies-generator.ts
 +++ b/build/linux/dependencies-generator.ts
 @@ -25,3 +25,3 @@ import product = require('../../product.json');

+ 3508 - 0
patches/linux/fix-dependencies.patch

@@ -0,0 +1,3508 @@
+diff --git a/build/package-lock.json b/build/package-lock.json
+index c86e870..4a68865 100644
+--- a/build/package-lock.json
++++ b/build/package-lock.json
+@@ -17,3 +17,2 @@
+         "@electron/get": "^2.0.0",
+-        "@electron/osx-sign": "^2.0.0",
+         "@types/ansi-colors": "^3.2.0",
+@@ -51,3 +50,3 @@
+         "@vscode/ripgrep": "^1.15.13",
+-        "@vscode/vsce": "3.6.1",
++        "@vscode/vsce": "2.20.1",
+         "ansi-colors": "^3.2.3",
+@@ -75,19 +74,2 @@
+     },
+-    "node_modules/@azu/format-text": {
+-      "version": "1.0.2",
+-      "resolved": "https://registry.npmjs.org/@azu/format-text/-/format-text-1.0.2.tgz",
+-      "integrity": "sha512-Swi4N7Edy1Eqq82GxgEECXSSLyn6GOb5htRFPzBDdUkECGXtlf12ynO5oJSpWKPwCaUssOu7NfhDcCWpIC6Ywg==",
+-      "dev": true,
+-      "license": "BSD-3-Clause"
+-    },
+-    "node_modules/@azu/style-format": {
+-      "version": "1.0.1",
+-      "resolved": "https://registry.npmjs.org/@azu/style-format/-/style-format-1.0.1.tgz",
+-      "integrity": "sha512-AHcTojlNBdD/3/KxIKlg8sxIWHfOtQszLvOpagLTO+bjC3u7SAszu1lf//u7JJC50aUSH+BVWDD/KvaA6Gfn5g==",
+-      "dev": true,
+-      "license": "WTFPL",
+-      "dependencies": {
+-        "@azu/format-text": "^1.0.1"
+-      }
+-    },
+     "node_modules/@azure/abort-controller": {
+@@ -465,27 +447,2 @@
+     },
+-    "node_modules/@babel/code-frame": {
+-      "version": "7.27.1",
+-      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
+-      "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "@babel/helper-validator-identifier": "^7.27.1",
+-        "js-tokens": "^4.0.0",
+-        "picocolors": "^1.1.1"
+-      },
+-      "engines": {
+-        "node": ">=6.9.0"
+-      }
+-    },
+-    "node_modules/@babel/helper-validator-identifier": {
+-      "version": "7.27.1",
+-      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
+-      "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=6.9.0"
+-      }
+-    },
+     "node_modules/@electron/asar": {
+@@ -537,50 +494,2 @@
+     },
+-    "node_modules/@electron/osx-sign": {
+-      "version": "2.0.0",
+-      "resolved": "https://registry.npmjs.org/@electron/osx-sign/-/osx-sign-2.0.0.tgz",
+-      "integrity": "sha512-jZSzWH21QYbdTy2QxMMtRFlMafyuBRH5EnpC1LJU3uaQV05oo7ldtBRcSI/Eznhw9kFWjjCf2RvC+Nxc1/kQyA==",
+-      "dev": true,
+-      "license": "BSD-2-Clause",
+-      "dependencies": {
+-        "@types/graceful-fs": "^4.1.9",
+-        "debug": "^4.3.4",
+-        "graceful-fs": "^4.2.11",
+-        "isbinaryfile": "^4.0.8",
+-        "plist": "^3.0.5",
+-        "semver": "^7.7.1"
+-      },
+-      "bin": {
+-        "electron-osx-flat": "bin/electron-osx-flat.mjs",
+-        "electron-osx-sign": "bin/electron-osx-sign.mjs"
+-      },
+-      "engines": {
+-        "node": ">=22.12.0"
+-      }
+-    },
+-    "node_modules/@electron/osx-sign/node_modules/isbinaryfile": {
+-      "version": "4.0.10",
+-      "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz",
+-      "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">= 8.0.0"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/gjtorikian/"
+-      }
+-    },
+-    "node_modules/@electron/osx-sign/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,
+-      "license": "ISC",
+-      "bin": {
+-        "semver": "bin/semver.js"
+-      },
+-      "engines": {
+-        "node": ">=10"
+-      }
+-    },
+     "node_modules/@esbuild/aix-ppc64": {
+@@ -1010,68 +919,2 @@
+     },
+-    "node_modules/@isaacs/balanced-match": {
+-      "version": "4.0.1",
+-      "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
+-      "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": "20 || >=22"
+-      }
+-    },
+-    "node_modules/@isaacs/brace-expansion": {
+-      "version": "5.0.0",
+-      "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz",
+-      "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "@isaacs/balanced-match": "^4.0.1"
+-      },
+-      "engines": {
+-        "node": "20 || >=22"
+-      }
+-    },
+-    "node_modules/@isaacs/cliui": {
+-      "version": "8.0.2",
+-      "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+-      "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
+-      "dev": true,
+-      "license": "ISC",
+-      "dependencies": {
+-        "string-width": "^5.1.2",
+-        "string-width-cjs": "npm:string-width@^4.2.0",
+-        "strip-ansi": "^7.0.1",
+-        "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+-        "wrap-ansi": "^8.1.0",
+-        "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+-      },
+-      "engines": {
+-        "node": ">=12"
+-      }
+-    },
+-    "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
+-      "version": "9.2.2",
+-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+-      "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+-    "node_modules/@isaacs/cliui/node_modules/string-width": {
+-      "version": "5.1.2",
+-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+-      "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "eastasianwidth": "^0.2.0",
+-        "emoji-regex": "^9.2.2",
+-        "strip-ansi": "^7.0.1"
+-      },
+-      "engines": {
+-        "node": ">=12"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+     "node_modules/@malept/cross-spawn-promise": {
+@@ -1098,171 +941,143 @@
+     },
+-    "node_modules/@nodelib/fs.scandir": {
+-      "version": "2.1.5",
+-      "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+-      "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "@nodelib/fs.stat": "2.0.5",
+-        "run-parallel": "^1.1.9"
+-      },
+-      "engines": {
+-        "node": ">= 8"
+-      }
+-    },
+-    "node_modules/@nodelib/fs.stat": {
+-      "version": "2.0.5",
+-      "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+-      "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
++    "node_modules/@sindresorhus/is": {
++      "version": "4.6.0",
++      "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
++      "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
+       "dev": true,
+-      "license": "MIT",
+       "engines": {
+-        "node": ">= 8"
++        "node": ">=10"
++      },
++      "funding": {
++        "url": "https://github.com/sindresorhus/is?sponsor=1"
+       }
+     },
+-    "node_modules/@nodelib/fs.walk": {
+-      "version": "1.2.8",
+-      "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+-      "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
++    "node_modules/@szmarczak/http-timer": {
++      "version": "4.0.6",
++      "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
++      "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
+       "dev": true,
+-      "license": "MIT",
+       "dependencies": {
+-        "@nodelib/fs.scandir": "2.1.5",
+-        "fastq": "^1.6.0"
++        "defer-to-connect": "^2.0.0"
+       },
+       "engines": {
+-        "node": ">= 8"
++        "node": ">=10"
+       }
+     },
+-    "node_modules/@secretlint/config-creator": {
+-      "version": "10.2.2",
+-      "resolved": "https://registry.npmjs.org/@secretlint/config-creator/-/config-creator-10.2.2.tgz",
+-      "integrity": "sha512-BynOBe7Hn3LJjb3CqCHZjeNB09s/vgf0baBaHVw67w7gHF0d25c3ZsZ5+vv8TgwSchRdUCRrbbcq5i2B1fJ2QQ==",
++    "node_modules/@types/ansi-colors": {
++      "version": "3.2.0",
++      "resolved": "https://registry.npmjs.org/@types/ansi-colors/-/ansi-colors-3.2.0.tgz",
++      "integrity": "sha512-0caWAhXht9N2lOdMzJLXybsSkYCx1QOdxx6pae48tswI9QV3DFX26AoOpy0JxwhCb+zISTqmd6H8t9Zby9BoZg==",
++      "dev": true
++    },
++    "node_modules/@types/byline": {
++      "version": "4.2.32",
++      "resolved": "https://registry.npmjs.org/@types/byline/-/byline-4.2.32.tgz",
++      "integrity": "sha512-qtlm/J6XOO9p+Ep/ZB5+mCFEDhzWDDHWU4a1eReN7lkPZXW9rkloq2jcAhvKKmlO5tL2GSvKROb+PTsNVhBiyQ==",
+       "dev": true,
+-      "license": "MIT",
+       "dependencies": {
+-        "@secretlint/types": "^10.2.2"
+-      },
+-      "engines": {
+-        "node": ">=20.0.0"
++        "@types/node": "*"
+       }
+     },
+-    "node_modules/@secretlint/config-loader": {
+-      "version": "10.2.2",
+-      "resolved": "https://registry.npmjs.org/@secretlint/config-loader/-/config-loader-10.2.2.tgz",
+-      "integrity": "sha512-ndjjQNgLg4DIcMJp4iaRD6xb9ijWQZVbd9694Ol2IszBIbGPPkwZHzJYKICbTBmh6AH/pLr0CiCaWdGJU7RbpQ==",
++    "node_modules/@types/cacheable-request": {
++      "version": "6.0.3",
++      "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz",
++      "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==",
+       "dev": true,
+-      "license": "MIT",
+       "dependencies": {
+-        "@secretlint/profiler": "^10.2.2",
+-        "@secretlint/resolver": "^10.2.2",
+-        "@secretlint/types": "^10.2.2",
+-        "ajv": "^8.17.1",
+-        "debug": "^4.4.1",
+-        "rc-config-loader": "^4.1.3"
+-      },
+-      "engines": {
+-        "node": ">=20.0.0"
++        "@types/http-cache-semantics": "*",
++        "@types/keyv": "^3.1.4",
++        "@types/node": "*",
++        "@types/responselike": "^1.0.0"
+       }
+     },
+-    "node_modules/@secretlint/core": {
+-      "version": "10.2.2",
+-      "resolved": "https://registry.npmjs.org/@secretlint/core/-/core-10.2.2.tgz",
+-      "integrity": "sha512-6rdwBwLP9+TO3rRjMVW1tX+lQeo5gBbxl1I5F8nh8bgGtKwdlCMhMKsBWzWg1ostxx/tIG7OjZI0/BxsP8bUgw==",
++    "node_modules/@types/debounce": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.0.0.tgz",
++      "integrity": "sha1-QXVgIAMx4buE1y2oU5EQLC/NYbc= sha512-B7FcD9ry40L831t7iuHQyDfYi+qVEV75qkEI2ROOyfjb2PfkAspL+NK6B2A0BceMuNhiYRmtKTNnNP7Ul4N2Pg==",
++      "dev": true
++    },
++    "node_modules/@types/debug": {
++      "version": "4.1.9",
++      "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.9.tgz",
++      "integrity": "sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow==",
+       "dev": true,
+-      "license": "MIT",
+       "dependencies": {
+-        "@secretlint/profiler": "^10.2.2",
+-        "@secretlint/types": "^10.2.2",
+-        "debug": "^4.4.1",
+-        "structured-source": "^4.0.0"
+-      },
+-      "engines": {
+-        "node": ">=20.0.0"
++        "@types/ms": "*"
+       }
+     },
+-    "node_modules/@secretlint/formatter": {
+-      "version": "10.2.2",
+-      "resolved": "https://registry.npmjs.org/@secretlint/formatter/-/formatter-10.2.2.tgz",
+-      "integrity": "sha512-10f/eKV+8YdGKNQmoDUD1QnYL7TzhI2kzyx95vsJKbEa8akzLAR5ZrWIZ3LbcMmBLzxlSQMMccRmi05yDQ5YDA==",
++    "node_modules/@types/events": {
++      "version": "1.2.0",
++      "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
++      "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==",
++      "dev": true
++    },
++    "node_modules/@types/expect": {
++      "version": "1.20.4",
++      "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz",
++      "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==",
++      "dev": true
++    },
++    "node_modules/@types/fancy-log": {
++      "version": "1.3.0",
++      "resolved": "https://registry.npmjs.org/@types/fancy-log/-/fancy-log-1.3.0.tgz",
++      "integrity": "sha512-mQjDxyOM1Cpocd+vm1kZBP7smwKZ4TNokFeds9LV7OZibmPJFEzY3+xZMrKfUdNT71lv8GoCPD6upKwHxubClw==",
++      "dev": true
++    },
++    "node_modules/@types/fs-extra": {
++      "version": "9.0.12",
++      "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz",
++      "integrity": "sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==",
+       "dev": true,
+-      "license": "MIT",
+       "dependencies": {
+-        "@secretlint/resolver": "^10.2.2",
+-        "@secretlint/types": "^10.2.2",
+-        "@textlint/linter-formatter": "^15.2.0",
+-        "@textlint/module-interop": "^15.2.0",
+-        "@textlint/types": "^15.2.0",
+-        "chalk": "^5.4.1",
+-        "debug": "^4.4.1",
+-        "pluralize": "^8.0.0",
+-        "strip-ansi": "^7.1.0",
+-        "table": "^6.9.0",
+-        "terminal-link": "^4.0.0"
+-      },
+-      "engines": {
+-        "node": ">=20.0.0"
++        "@types/node": "*"
+       }
+     },
+-    "node_modules/@secretlint/formatter/node_modules/chalk": {
+-      "version": "5.6.2",
+-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz",
+-      "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==",
++    "node_modules/@types/glob": {
++      "version": "7.1.1",
++      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
++      "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
+       "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": "^12.17.0 || ^14.13 || >=16.0.0"
+-      },
+-      "funding": {
+-        "url": "https://github.com/chalk/chalk?sponsor=1"
++      "dependencies": {
++        "@types/events": "*",
++        "@types/minimatch": "*",
++        "@types/node": "*"
+       }
+     },
+-    "node_modules/@secretlint/node": {
+-      "version": "10.2.2",
+-      "resolved": "https://registry.npmjs.org/@secretlint/node/-/node-10.2.2.tgz",
+-      "integrity": "sha512-eZGJQgcg/3WRBwX1bRnss7RmHHK/YlP/l7zOQsrjexYt6l+JJa5YhUmHbuGXS94yW0++3YkEJp0kQGYhiw1DMQ==",
++    "node_modules/@types/glob-stream": {
++      "version": "6.1.0",
++      "resolved": "https://registry.npmjs.org/@types/glob-stream/-/glob-stream-6.1.0.tgz",
++      "integrity": "sha512-RHv6ZQjcTncXo3thYZrsbAVwoy4vSKosSWhuhuQxLOTv74OJuFQxXkmUuZCr3q9uNBEVCvIzmZL/FeRNbHZGUg==",
+       "dev": true,
+-      "license": "MIT",
+       "dependencies": {
+-        "@secretlint/config-loader": "^10.2.2",
+-        "@secretlint/core": "^10.2.2",
+-        "@secretlint/formatter": "^10.2.2",
+-        "@secretlint/profiler": "^10.2.2",
+-        "@secretlint/source-creator": "^10.2.2",
+-        "@secretlint/types": "^10.2.2",
+-        "debug": "^4.4.1",
+-        "p-map": "^7.0.3"
+-      },
+-      "engines": {
+-        "node": ">=20.0.0"
++        "@types/glob": "*",
++        "@types/node": "*"
+       }
+     },
+-    "node_modules/@secretlint/profiler": {
+-      "version": "10.2.2",
+-      "resolved": "https://registry.npmjs.org/@secretlint/profiler/-/profiler-10.2.2.tgz",
+-      "integrity": "sha512-qm9rWfkh/o8OvzMIfY8a5bCmgIniSpltbVlUVl983zDG1bUuQNd1/5lUEeWx5o/WJ99bXxS7yNI4/KIXfHexig==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+-    "node_modules/@secretlint/resolver": {
+-      "version": "10.2.2",
+-      "resolved": "https://registry.npmjs.org/@secretlint/resolver/-/resolver-10.2.2.tgz",
+-      "integrity": "sha512-3md0cp12e+Ae5V+crPQYGd6aaO7ahw95s28OlULGyclyyUtf861UoRGS2prnUrKh7MZb23kdDOyGCYb9br5e4w==",
++    "node_modules/@types/gulp": {
++      "version": "4.0.17",
++      "resolved": "https://registry.npmjs.org/@types/gulp/-/gulp-4.0.17.tgz",
++      "integrity": "sha512-+pKQynu2C/HS16kgmDlAicjtFYP8kaa86eE9P0Ae7GB5W29we/E2TIdbOWtEZD5XkpY+jr8fyqfwO6SWZecLpQ==",
+       "dev": true,
+-      "license": "MIT"
++      "dependencies": {
++        "@types/node": "*",
++        "@types/undertaker": ">=1.2.6",
++        "@types/vinyl-fs": "*",
++        "chokidar": "^3.3.1"
++      }
+     },
+-    "node_modules/@secretlint/secretlint-formatter-sarif": {
+-      "version": "10.2.2",
+-      "resolved": "https://registry.npmjs.org/@secretlint/secretlint-formatter-sarif/-/secretlint-formatter-sarif-10.2.2.tgz",
+-      "integrity": "sha512-ojiF9TGRKJJw308DnYBucHxkpNovDNu1XvPh7IfUp0A12gzTtxuWDqdpuVezL7/IP8Ua7mp5/VkDMN9OLp1doQ==",
++    "node_modules/@types/gulp-filter": {
++      "version": "3.0.32",
++      "resolved": "https://registry.npmjs.org/@types/gulp-filter/-/gulp-filter-3.0.32.tgz",
++      "integrity": "sha512-JvY4qTxXehoK2yCUxYVxTMvckVbDM5TWHWeUoYJyX31gwFqw4YDD6JNzhuTxI3yHPUTY4BBRTqgm6puQEZVCNg==",
+       "dev": true,
+-      "license": "MIT",
+       "dependencies": {
+-        "node-sarif-builder": "^3.2.0"
++        "@types/minimatch": "*",
++        "@types/node": "*",
++        "@types/vinyl": "*"
+       }
+     },
+-    "node_modules/@secretlint/secretlint-rule-no-dotenv": {
+-      "version": "10.2.2",
+-      "resolved": "https://registry.npmjs.org/@secretlint/secretlint-rule-no-dotenv/-/secretlint-rule-no-dotenv-10.2.2.tgz",
+-      "integrity": "sha512-KJRbIShA9DVc5Va3yArtJ6QDzGjg3PRa1uYp9As4RsyKtKSSZjI64jVca57FZ8gbuk4em0/0Jq+uy6485wxIdg==",
++    "node_modules/@types/gulp-flatmap": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/@types/gulp-flatmap/-/gulp-flatmap-1.0.0.tgz",
++      "integrity": "sha512-GTv0a9BxhbWYkxaPDCqnZFI13pXUUpJ90hBWkhGOQQ76qDDtHWugr0+IEiTEc0KYS0bOs80YszZE7WFNA5ndfg==",
+       "dev": true,
+@@ -1270,400 +1085,33 @@
+       "dependencies": {
+-        "@secretlint/types": "^10.2.2"
+-      },
+-      "engines": {
+-        "node": ">=20.0.0"
++        "@types/node": "*",
++        "@types/vinyl": "*"
+       }
+     },
+-    "node_modules/@secretlint/secretlint-rule-preset-recommend": {
+-      "version": "10.2.2",
+-      "resolved": "https://registry.npmjs.org/@secretlint/secretlint-rule-preset-recommend/-/secretlint-rule-preset-recommend-10.2.2.tgz",
+-      "integrity": "sha512-K3jPqjva8bQndDKJqctnGfwuAxU2n9XNCPtbXVI5JvC7FnQiNg/yWlQPbMUlBXtBoBGFYp08A94m6fvtc9v+zA==",
++    "node_modules/@types/gulp-gzip": {
++      "version": "0.0.31",
++      "resolved": "https://registry.npmjs.org/@types/gulp-gzip/-/gulp-gzip-0.0.31.tgz",
++      "integrity": "sha512-KQjHz1FTqLse8/EiktfhN/vo33vamX4gVAQhMTp55STDBA7UToW5CJqYyP7iRorkHK9/aJ2nL2hLkNZkY4M8+w==",
+       "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=20.0.0"
++      "dependencies": {
++        "@types/node": "*"
+       }
+     },
+-    "node_modules/@secretlint/source-creator": {
+-      "version": "10.2.2",
+-      "resolved": "https://registry.npmjs.org/@secretlint/source-creator/-/source-creator-10.2.2.tgz",
+-      "integrity": "sha512-h6I87xJfwfUTgQ7irWq7UTdq/Bm1RuQ/fYhA3dtTIAop5BwSFmZyrchph4WcoEvbN460BWKmk4RYSvPElIIvxw==",
++    "node_modules/@types/gulp-json-editor": {
++      "version": "2.2.31",
++      "resolved": "https://registry.npmjs.org/@types/gulp-json-editor/-/gulp-json-editor-2.2.31.tgz",
++      "integrity": "sha512-piis0ImYAy0dt18R4EtTbAY+RV8jwTq5VisnUV6OfP8kD4743aHGkAdAd08No4NY3rFa5mD6ytIu8L0YU7nL9w==",
+       "dev": true,
+-      "license": "MIT",
+       "dependencies": {
+-        "@secretlint/types": "^10.2.2",
+-        "istextorbinary": "^9.5.0"
+-      },
+-      "engines": {
+-        "node": ">=20.0.0"
++        "@types/js-beautify": "*",
++        "@types/node": "*"
+       }
+     },
+-    "node_modules/@secretlint/types": {
+-      "version": "10.2.2",
+-      "resolved": "https://registry.npmjs.org/@secretlint/types/-/types-10.2.2.tgz",
+-      "integrity": "sha512-Nqc90v4lWCXyakD6xNyNACBJNJ0tNCwj2WNk/7ivyacYHxiITVgmLUFXTBOeCdy79iz6HtN9Y31uw/jbLrdOAg==",
++    "node_modules/@types/gulp-plumber": {
++      "version": "0.0.37",
++      "resolved": "https://registry.npmjs.org/@types/gulp-plumber/-/gulp-plumber-0.0.37.tgz",
++      "integrity": "sha512-U1vFhhwDepAWmJ1ZVl6p+uwk/+rAs8+QLTRlrMLMQQ7KeqPPCvD5vy6JHMeqXwnxMSlbboa2PXQqoMg+ljZIJQ==",
+       "dev": true,
+       "license": "MIT",
+-      "engines": {
+-        "node": ">=20.0.0"
+-      }
+-    },
+-    "node_modules/@sindresorhus/is": {
+-      "version": "4.6.0",
+-      "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz",
+-      "integrity": "sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==",
+-      "dev": true,
+-      "engines": {
+-        "node": ">=10"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sindresorhus/is?sponsor=1"
+-      }
+-    },
+-    "node_modules/@sindresorhus/merge-streams": {
+-      "version": "2.3.0",
+-      "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz",
+-      "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=18"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+-    "node_modules/@szmarczak/http-timer": {
+-      "version": "4.0.6",
+-      "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz",
+-      "integrity": "sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==",
+-      "dev": true,
+-      "dependencies": {
+-        "defer-to-connect": "^2.0.0"
+-      },
+-      "engines": {
+-        "node": ">=10"
+-      }
+-    },
+-    "node_modules/@textlint/ast-node-types": {
+-      "version": "15.2.2",
+-      "resolved": "https://registry.npmjs.org/@textlint/ast-node-types/-/ast-node-types-15.2.2.tgz",
+-      "integrity": "sha512-9ByYNzWV8tpz6BFaRzeRzIov8dkbSZu9q7IWqEIfmRuLWb2qbI/5gTvKcoWT1HYs4XM7IZ8TKSXcuPvMb6eorA==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+-    "node_modules/@textlint/linter-formatter": {
+-      "version": "15.2.2",
+-      "resolved": "https://registry.npmjs.org/@textlint/linter-formatter/-/linter-formatter-15.2.2.tgz",
+-      "integrity": "sha512-oMVaMJ3exFvXhCj3AqmCbLaeYrTNLqaJnLJMIlmnRM3/kZdxvku4OYdaDzgtlI194cVxamOY5AbHBBVnY79kEg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "@azu/format-text": "^1.0.2",
+-        "@azu/style-format": "^1.0.1",
+-        "@textlint/module-interop": "15.2.2",
+-        "@textlint/resolver": "15.2.2",
+-        "@textlint/types": "15.2.2",
+-        "chalk": "^4.1.2",
+-        "debug": "^4.4.1",
+-        "js-yaml": "^3.14.1",
+-        "lodash": "^4.17.21",
+-        "pluralize": "^2.0.0",
+-        "string-width": "^4.2.3",
+-        "strip-ansi": "^6.0.1",
+-        "table": "^6.9.0",
+-        "text-table": "^0.2.0"
+-      }
+-    },
+-    "node_modules/@textlint/linter-formatter/node_modules/ansi-regex": {
+-      "version": "5.0.1",
+-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+-      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+-    "node_modules/@textlint/linter-formatter/node_modules/ansi-styles": {
+-      "version": "4.3.0",
+-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "color-convert": "^2.0.1"
+-      },
+-      "engines": {
+-        "node": ">=8"
+-      },
+-      "funding": {
+-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+-      }
+-    },
+-    "node_modules/@textlint/linter-formatter/node_modules/chalk": {
+-      "version": "4.1.2",
+-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "ansi-styles": "^4.1.0",
+-        "supports-color": "^7.1.0"
+-      },
+-      "engines": {
+-        "node": ">=10"
+-      },
+-      "funding": {
+-        "url": "https://github.com/chalk/chalk?sponsor=1"
+-      }
+-    },
+-    "node_modules/@textlint/linter-formatter/node_modules/color-convert": {
+-      "version": "2.0.1",
+-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "color-name": "~1.1.4"
+-      },
+-      "engines": {
+-        "node": ">=7.0.0"
+-      }
+-    },
+-    "node_modules/@textlint/linter-formatter/node_modules/color-name": {
+-      "version": "1.1.4",
+-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+-    "node_modules/@textlint/linter-formatter/node_modules/has-flag": {
+-      "version": "4.0.0",
+-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+-    "node_modules/@textlint/linter-formatter/node_modules/pluralize": {
+-      "version": "2.0.0",
+-      "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-2.0.0.tgz",
+-      "integrity": "sha512-TqNZzQCD4S42De9IfnnBvILN7HAW7riLqsCyp8lgjXeysyPlX5HhqKAcJHHHb9XskE4/a+7VGC9zzx8Ls0jOAw==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+-    "node_modules/@textlint/linter-formatter/node_modules/strip-ansi": {
+-      "version": "6.0.1",
+-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+-      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "ansi-regex": "^5.0.1"
+-      },
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+-    "node_modules/@textlint/linter-formatter/node_modules/supports-color": {
+-      "version": "7.2.0",
+-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "has-flag": "^4.0.0"
+-      },
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+-    "node_modules/@textlint/module-interop": {
+-      "version": "15.2.2",
+-      "resolved": "https://registry.npmjs.org/@textlint/module-interop/-/module-interop-15.2.2.tgz",
+-      "integrity": "sha512-2rmNcWrcqhuR84Iio1WRzlc4tEoOMHd6T7urjtKNNefpTt1owrTJ9WuOe60yD3FrTW0J/R0ux5wxUbP/eaeFOA==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+-    "node_modules/@textlint/resolver": {
+-      "version": "15.2.2",
+-      "resolved": "https://registry.npmjs.org/@textlint/resolver/-/resolver-15.2.2.tgz",
+-      "integrity": "sha512-4hGWjmHt0y+5NAkoYZ8FvEkj8Mez9TqfbTm3BPjoV32cIfEixl2poTOgapn1rfm73905GSO3P1jiWjmgvii13Q==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+-    "node_modules/@textlint/types": {
+-      "version": "15.2.2",
+-      "resolved": "https://registry.npmjs.org/@textlint/types/-/types-15.2.2.tgz",
+-      "integrity": "sha512-X2BHGAR3yXJsCAjwYEDBIk9qUDWcH4pW61ISfmtejau+tVqKtnbbvEZnMTb6mWgKU1BvTmftd5DmB1XVDUtY3g==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "@textlint/ast-node-types": "15.2.2"
+-      }
+-    },
+-    "node_modules/@types/ansi-colors": {
+-      "version": "3.2.0",
+-      "resolved": "https://registry.npmjs.org/@types/ansi-colors/-/ansi-colors-3.2.0.tgz",
+-      "integrity": "sha512-0caWAhXht9N2lOdMzJLXybsSkYCx1QOdxx6pae48tswI9QV3DFX26AoOpy0JxwhCb+zISTqmd6H8t9Zby9BoZg==",
+-      "dev": true
+-    },
+-    "node_modules/@types/byline": {
+-      "version": "4.2.32",
+-      "resolved": "https://registry.npmjs.org/@types/byline/-/byline-4.2.32.tgz",
+-      "integrity": "sha512-qtlm/J6XOO9p+Ep/ZB5+mCFEDhzWDDHWU4a1eReN7lkPZXW9rkloq2jcAhvKKmlO5tL2GSvKROb+PTsNVhBiyQ==",
+-      "dev": true,
+-      "dependencies": {
+-        "@types/node": "*"
+-      }
+-    },
+-    "node_modules/@types/cacheable-request": {
+-      "version": "6.0.3",
+-      "resolved": "https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz",
+-      "integrity": "sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw==",
+-      "dev": true,
+-      "dependencies": {
+-        "@types/http-cache-semantics": "*",
+-        "@types/keyv": "^3.1.4",
+-        "@types/node": "*",
+-        "@types/responselike": "^1.0.0"
+-      }
+-    },
+-    "node_modules/@types/debounce": {
+-      "version": "1.0.0",
+-      "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.0.0.tgz",
+-      "integrity": "sha1-QXVgIAMx4buE1y2oU5EQLC/NYbc= sha512-B7FcD9ry40L831t7iuHQyDfYi+qVEV75qkEI2ROOyfjb2PfkAspL+NK6B2A0BceMuNhiYRmtKTNnNP7Ul4N2Pg==",
+-      "dev": true
+-    },
+-    "node_modules/@types/debug": {
+-      "version": "4.1.9",
+-      "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.9.tgz",
+-      "integrity": "sha512-8Hz50m2eoS56ldRlepxSBa6PWEVCtzUo/92HgLc2qTMnotJNIm7xP+UZhyWoYsyOdd5dxZ+NZLb24rsKyFs2ow==",
+-      "dev": true,
+-      "dependencies": {
+-        "@types/ms": "*"
+-      }
+-    },
+-    "node_modules/@types/events": {
+-      "version": "1.2.0",
+-      "resolved": "https://registry.npmjs.org/@types/events/-/events-1.2.0.tgz",
+-      "integrity": "sha512-KEIlhXnIutzKwRbQkGWb/I4HFqBuUykAdHgDED6xqwXJfONCjF5VoE0cXEiurh3XauygxzeDzgtXUqvLkxFzzA==",
+-      "dev": true
+-    },
+-    "node_modules/@types/expect": {
+-      "version": "1.20.4",
+-      "resolved": "https://registry.npmjs.org/@types/expect/-/expect-1.20.4.tgz",
+-      "integrity": "sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==",
+-      "dev": true
+-    },
+-    "node_modules/@types/fancy-log": {
+-      "version": "1.3.0",
+-      "resolved": "https://registry.npmjs.org/@types/fancy-log/-/fancy-log-1.3.0.tgz",
+-      "integrity": "sha512-mQjDxyOM1Cpocd+vm1kZBP7smwKZ4TNokFeds9LV7OZibmPJFEzY3+xZMrKfUdNT71lv8GoCPD6upKwHxubClw==",
+-      "dev": true
+-    },
+-    "node_modules/@types/fs-extra": {
+-      "version": "9.0.12",
+-      "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-9.0.12.tgz",
+-      "integrity": "sha512-I+bsBr67CurCGnSenZZ7v94gd3tc3+Aj2taxMT4yu4ABLuOgOjeFxX3dokG24ztSRg5tnT00sL8BszO7gSMoIw==",
+-      "dev": true,
+-      "dependencies": {
+-        "@types/node": "*"
+-      }
+-    },
+-    "node_modules/@types/glob": {
+-      "version": "7.1.1",
+-      "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
+-      "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
+-      "dev": true,
+-      "dependencies": {
+-        "@types/events": "*",
+-        "@types/minimatch": "*",
+-        "@types/node": "*"
+-      }
+-    },
+-    "node_modules/@types/glob-stream": {
+-      "version": "6.1.0",
+-      "resolved": "https://registry.npmjs.org/@types/glob-stream/-/glob-stream-6.1.0.tgz",
+-      "integrity": "sha512-RHv6ZQjcTncXo3thYZrsbAVwoy4vSKosSWhuhuQxLOTv74OJuFQxXkmUuZCr3q9uNBEVCvIzmZL/FeRNbHZGUg==",
+-      "dev": true,
+-      "dependencies": {
+-        "@types/glob": "*",
+-        "@types/node": "*"
+-      }
+-    },
+-    "node_modules/@types/graceful-fs": {
+-      "version": "4.1.9",
+-      "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz",
+-      "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "@types/node": "*"
+-      }
+-    },
+-    "node_modules/@types/gulp": {
+-      "version": "4.0.17",
+-      "resolved": "https://registry.npmjs.org/@types/gulp/-/gulp-4.0.17.tgz",
+-      "integrity": "sha512-+pKQynu2C/HS16kgmDlAicjtFYP8kaa86eE9P0Ae7GB5W29we/E2TIdbOWtEZD5XkpY+jr8fyqfwO6SWZecLpQ==",
+-      "dev": true,
+-      "dependencies": {
+-        "@types/node": "*",
+-        "@types/undertaker": ">=1.2.6",
+-        "@types/vinyl-fs": "*",
+-        "chokidar": "^3.3.1"
+-      }
+-    },
+-    "node_modules/@types/gulp-filter": {
+-      "version": "3.0.32",
+-      "resolved": "https://registry.npmjs.org/@types/gulp-filter/-/gulp-filter-3.0.32.tgz",
+-      "integrity": "sha512-JvY4qTxXehoK2yCUxYVxTMvckVbDM5TWHWeUoYJyX31gwFqw4YDD6JNzhuTxI3yHPUTY4BBRTqgm6puQEZVCNg==",
+-      "dev": true,
+-      "dependencies": {
+-        "@types/minimatch": "*",
+-        "@types/node": "*",
+-        "@types/vinyl": "*"
+-      }
+-    },
+-    "node_modules/@types/gulp-flatmap": {
+-      "version": "1.0.0",
+-      "resolved": "https://registry.npmjs.org/@types/gulp-flatmap/-/gulp-flatmap-1.0.0.tgz",
+-      "integrity": "sha512-GTv0a9BxhbWYkxaPDCqnZFI13pXUUpJ90hBWkhGOQQ76qDDtHWugr0+IEiTEc0KYS0bOs80YszZE7WFNA5ndfg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "@types/node": "*",
+-        "@types/vinyl": "*"
+-      }
+-    },
+-    "node_modules/@types/gulp-gzip": {
+-      "version": "0.0.31",
+-      "resolved": "https://registry.npmjs.org/@types/gulp-gzip/-/gulp-gzip-0.0.31.tgz",
+-      "integrity": "sha512-KQjHz1FTqLse8/EiktfhN/vo33vamX4gVAQhMTp55STDBA7UToW5CJqYyP7iRorkHK9/aJ2nL2hLkNZkY4M8+w==",
+-      "dev": true,
+-      "dependencies": {
+-        "@types/node": "*"
+-      }
+-    },
+-    "node_modules/@types/gulp-json-editor": {
+-      "version": "2.2.31",
+-      "resolved": "https://registry.npmjs.org/@types/gulp-json-editor/-/gulp-json-editor-2.2.31.tgz",
+-      "integrity": "sha512-piis0ImYAy0dt18R4EtTbAY+RV8jwTq5VisnUV6OfP8kD4743aHGkAdAd08No4NY3rFa5mD6ytIu8L0YU7nL9w==",
+-      "dev": true,
+-      "dependencies": {
+-        "@types/js-beautify": "*",
+-        "@types/node": "*"
+-      }
+-    },
+-    "node_modules/@types/gulp-plumber": {
+-      "version": "0.0.37",
+-      "resolved": "https://registry.npmjs.org/@types/gulp-plumber/-/gulp-plumber-0.0.37.tgz",
+-      "integrity": "sha512-U1vFhhwDepAWmJ1ZVl6p+uwk/+rAs8+QLTRlrMLMQQ7KeqPPCvD5vy6JHMeqXwnxMSlbboa2PXQqoMg+ljZIJQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "@types/node": "*"
++      "dependencies": {
++        "@types/node": "*"
+       }
+@@ -1792,9 +1240,2 @@
+     },
+-    "node_modules/@types/normalize-package-data": {
+-      "version": "2.4.4",
+-      "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz",
+-      "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+     "node_modules/@types/p-all": {
+@@ -1834,9 +1275,2 @@
+     },
+-    "node_modules/@types/sarif": {
+-      "version": "2.1.7",
+-      "resolved": "https://registry.npmjs.org/@types/sarif/-/sarif-2.1.7.tgz",
+-      "integrity": "sha512-kRz0VEkJqWLf1LLVN4pT1cg1Z9wAuvI6L97V3m2f5B76Tg8d413ddvLBPTEHAZJlnn4XSvu0FkZtViCQGVyrXQ==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+     "node_modules/@types/through": {
+@@ -1944,5 +1378,5 @@
+     "node_modules/@vscode/vsce": {
+-      "version": "3.6.1",
+-      "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-3.6.1.tgz",
+-      "integrity": "sha512-UXtMgeCBl/t5zjn1TX1v1sl5L/oIv3Xc3pkKPGzaqeFCIkp5+wfFFDBXTWDt3d5uUulHnZKORHkMIsKNe9+k5A==",
++      "version": "2.20.1",
++      "resolved": "https://registry.npmjs.org/@vscode/vsce/-/vsce-2.20.1.tgz",
++      "integrity": "sha512-ilbvoqvR/1/zseRPBAzYR6aKqSJ+jvda4/BqIwOqTxajpvLtEpK3kMLs77+dJdrlygS+VrP7Yhad8j0ukyD96g==",
+       "dev": true,
+@@ -1950,15 +1384,7 @@
+       "dependencies": {
+-        "@azure/identity": "^4.1.0",
+-        "@secretlint/node": "^10.1.2",
+-        "@secretlint/secretlint-formatter-sarif": "^10.1.2",
+-        "@secretlint/secretlint-rule-no-dotenv": "^10.1.2",
+-        "@secretlint/secretlint-rule-preset-recommend": "^10.1.2",
+-        "@vscode/vsce-sign": "^2.0.0",
+-        "azure-devops-node-api": "^12.5.0",
+-        "chalk": "^4.1.2",
++        "azure-devops-node-api": "^11.0.1",
++        "chalk": "^2.4.2",
+         "cheerio": "^1.0.0-rc.9",
+-        "cockatiel": "^3.1.2",
+-        "commander": "^12.1.0",
+-        "form-data": "^4.0.0",
+-        "glob": "^11.0.0",
++        "commander": "^6.1.0",
++        "glob": "^7.0.6",
+         "hosted-git-info": "^4.0.2",
+@@ -1966,3 +1392,3 @@
+         "leven": "^3.1.0",
+-        "markdown-it": "^14.1.0",
++        "markdown-it": "^12.3.2",
+         "mime": "^1.3.4",
+@@ -1971,5 +1397,4 @@
+         "read": "^1.0.7",
+-        "secretlint": "^10.1.2",
+         "semver": "^7.5.2",
+-        "tmp": "^0.2.3",
++        "tmp": "^0.2.1",
+         "typed-rest-client": "^1.8.4",
+@@ -1984,3 +1409,3 @@
+       "engines": {
+-        "node": ">= 20"
++        "node": ">= 14"
+       },
+@@ -1990,250 +1415,2 @@
+     },
+-    "node_modules/@vscode/vsce-sign": {
+-      "version": "2.0.7",
+-      "resolved": "https://registry.npmjs.org/@vscode/vsce-sign/-/vsce-sign-2.0.7.tgz",
+-      "integrity": "sha512-cz0GFW8qCxpypOy3y509u26K1FIPMlDIHBwGmDyvEbgoma2v3y5YIHHuijr8zCYBp9kzCCOJd28s/0PG7cA7ew==",
+-      "dev": true,
+-      "hasInstallScript": true,
+-      "license": "SEE LICENSE IN LICENSE.txt",
+-      "optionalDependencies": {
+-        "@vscode/vsce-sign-alpine-arm64": "2.0.6",
+-        "@vscode/vsce-sign-alpine-x64": "2.0.6",
+-        "@vscode/vsce-sign-darwin-arm64": "2.0.6",
+-        "@vscode/vsce-sign-darwin-x64": "2.0.6",
+-        "@vscode/vsce-sign-linux-arm": "2.0.6",
+-        "@vscode/vsce-sign-linux-arm64": "2.0.6",
+-        "@vscode/vsce-sign-linux-x64": "2.0.6",
+-        "@vscode/vsce-sign-win32-arm64": "2.0.6",
+-        "@vscode/vsce-sign-win32-x64": "2.0.6"
+-      }
+-    },
+-    "node_modules/@vscode/vsce-sign-alpine-arm64": {
+-      "version": "2.0.6",
+-      "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-arm64/-/vsce-sign-alpine-arm64-2.0.6.tgz",
+-      "integrity": "sha512-wKkJBsvKF+f0GfsUuGT0tSW0kZL87QggEiqNqK6/8hvqsXvpx8OsTEc3mnE1kejkh5r+qUyQ7PtF8jZYN0mo8Q==",
+-      "cpu": [
+-        "arm64"
+-      ],
+-      "dev": true,
+-      "license": "SEE LICENSE IN LICENSE.txt",
+-      "optional": true,
+-      "os": [
+-        "alpine"
+-      ]
+-    },
+-    "node_modules/@vscode/vsce-sign-alpine-x64": {
+-      "version": "2.0.6",
+-      "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-alpine-x64/-/vsce-sign-alpine-x64-2.0.6.tgz",
+-      "integrity": "sha512-YoAGlmdK39vKi9jA18i4ufBbd95OqGJxRvF3n6ZbCyziwy3O+JgOpIUPxv5tjeO6gQfx29qBivQ8ZZTUF2Ba0w==",
+-      "cpu": [
+-        "x64"
+-      ],
+-      "dev": true,
+-      "license": "SEE LICENSE IN LICENSE.txt",
+-      "optional": true,
+-      "os": [
+-        "alpine"
+-      ]
+-    },
+-    "node_modules/@vscode/vsce-sign-darwin-arm64": {
+-      "version": "2.0.6",
+-      "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-arm64/-/vsce-sign-darwin-arm64-2.0.6.tgz",
+-      "integrity": "sha512-5HMHaJRIQuozm/XQIiJiA0W9uhdblwwl2ZNDSSAeXGO9YhB9MH5C4KIHOmvyjUnKy4UCuiP43VKpIxW1VWP4tQ==",
+-      "cpu": [
+-        "arm64"
+-      ],
+-      "dev": true,
+-      "license": "SEE LICENSE IN LICENSE.txt",
+-      "optional": true,
+-      "os": [
+-        "darwin"
+-      ]
+-    },
+-    "node_modules/@vscode/vsce-sign-darwin-x64": {
+-      "version": "2.0.6",
+-      "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-darwin-x64/-/vsce-sign-darwin-x64-2.0.6.tgz",
+-      "integrity": "sha512-25GsUbTAiNfHSuRItoQafXOIpxlYj+IXb4/qarrXu7kmbH94jlm5sdWSCKrrREs8+GsXF1b+l3OB7VJy5jsykw==",
+-      "cpu": [
+-        "x64"
+-      ],
+-      "dev": true,
+-      "license": "SEE LICENSE IN LICENSE.txt",
+-      "optional": true,
+-      "os": [
+-        "darwin"
+-      ]
+-    },
+-    "node_modules/@vscode/vsce-sign-linux-arm": {
+-      "version": "2.0.6",
+-      "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm/-/vsce-sign-linux-arm-2.0.6.tgz",
+-      "integrity": "sha512-UndEc2Xlq4HsuMPnwu7420uqceXjs4yb5W8E2/UkaHBB9OWCwMd3/bRe/1eLe3D8kPpxzcaeTyXiK3RdzS/1CA==",
+-      "cpu": [
+-        "arm"
+-      ],
+-      "dev": true,
+-      "license": "SEE LICENSE IN LICENSE.txt",
+-      "optional": true,
+-      "os": [
+-        "linux"
+-      ]
+-    },
+-    "node_modules/@vscode/vsce-sign-linux-arm64": {
+-      "version": "2.0.6",
+-      "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-arm64/-/vsce-sign-linux-arm64-2.0.6.tgz",
+-      "integrity": "sha512-cfb1qK7lygtMa4NUl2582nP7aliLYuDEVpAbXJMkDq1qE+olIw/es+C8j1LJwvcRq1I2yWGtSn3EkDp9Dq5FdA==",
+-      "cpu": [
+-        "arm64"
+-      ],
+-      "dev": true,
+-      "license": "SEE LICENSE IN LICENSE.txt",
+-      "optional": true,
+-      "os": [
+-        "linux"
+-      ]
+-    },
+-    "node_modules/@vscode/vsce-sign-linux-x64": {
+-      "version": "2.0.6",
+-      "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-linux-x64/-/vsce-sign-linux-x64-2.0.6.tgz",
+-      "integrity": "sha512-/olerl1A4sOqdP+hjvJ1sbQjKN07Y3DVnxO4gnbn/ahtQvFrdhUi0G1VsZXDNjfqmXw57DmPi5ASnj/8PGZhAA==",
+-      "cpu": [
+-        "x64"
+-      ],
+-      "dev": true,
+-      "license": "SEE LICENSE IN LICENSE.txt",
+-      "optional": true,
+-      "os": [
+-        "linux"
+-      ]
+-    },
+-    "node_modules/@vscode/vsce-sign-win32-arm64": {
+-      "version": "2.0.6",
+-      "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-arm64/-/vsce-sign-win32-arm64-2.0.6.tgz",
+-      "integrity": "sha512-ivM/MiGIY0PJNZBoGtlRBM/xDpwbdlCWomUWuLmIxbi1Cxe/1nooYrEQoaHD8ojVRgzdQEUzMsRbyF5cJJgYOg==",
+-      "cpu": [
+-        "arm64"
+-      ],
+-      "dev": true,
+-      "license": "SEE LICENSE IN LICENSE.txt",
+-      "optional": true,
+-      "os": [
+-        "win32"
+-      ]
+-    },
+-    "node_modules/@vscode/vsce-sign-win32-x64": {
+-      "version": "2.0.6",
+-      "resolved": "https://registry.npmjs.org/@vscode/vsce-sign-win32-x64/-/vsce-sign-win32-x64-2.0.6.tgz",
+-      "integrity": "sha512-mgth9Kvze+u8CruYMmhHw6Zgy3GRX2S+Ed5oSokDEK5vPEwGGKnmuXua9tmFhomeAnhgJnL4DCna3TiNuGrBTQ==",
+-      "cpu": [
+-        "x64"
+-      ],
+-      "dev": true,
+-      "license": "SEE LICENSE IN LICENSE.txt",
+-      "optional": true,
+-      "os": [
+-        "win32"
+-      ]
+-    },
+-    "node_modules/@vscode/vsce/node_modules/ansi-styles": {
+-      "version": "4.3.0",
+-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "color-convert": "^2.0.1"
+-      },
+-      "engines": {
+-        "node": ">=8"
+-      },
+-      "funding": {
+-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+-      }
+-    },
+-    "node_modules/@vscode/vsce/node_modules/chalk": {
+-      "version": "4.1.2",
+-      "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+-      "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "ansi-styles": "^4.1.0",
+-        "supports-color": "^7.1.0"
+-      },
+-      "engines": {
+-        "node": ">=10"
+-      },
+-      "funding": {
+-        "url": "https://github.com/chalk/chalk?sponsor=1"
+-      }
+-    },
+-    "node_modules/@vscode/vsce/node_modules/color-convert": {
+-      "version": "2.0.1",
+-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "color-name": "~1.1.4"
+-      },
+-      "engines": {
+-        "node": ">=7.0.0"
+-      }
+-    },
+-    "node_modules/@vscode/vsce/node_modules/color-name": {
+-      "version": "1.1.4",
+-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+-    "node_modules/@vscode/vsce/node_modules/glob": {
+-      "version": "11.0.3",
+-      "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.3.tgz",
+-      "integrity": "sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==",
+-      "dev": true,
+-      "license": "ISC",
+-      "dependencies": {
+-        "foreground-child": "^3.3.1",
+-        "jackspeak": "^4.1.1",
+-        "minimatch": "^10.0.3",
+-        "minipass": "^7.1.2",
+-        "package-json-from-dist": "^1.0.0",
+-        "path-scurry": "^2.0.0"
+-      },
+-      "bin": {
+-        "glob": "dist/esm/bin.mjs"
+-      },
+-      "engines": {
+-        "node": "20 || >=22"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/isaacs"
+-      }
+-    },
+-    "node_modules/@vscode/vsce/node_modules/glob/node_modules/minimatch": {
+-      "version": "10.0.3",
+-      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz",
+-      "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==",
+-      "dev": true,
+-      "license": "ISC",
+-      "dependencies": {
+-        "@isaacs/brace-expansion": "^5.0.0"
+-      },
+-      "engines": {
+-        "node": "20 || >=22"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/isaacs"
+-      }
+-    },
+-    "node_modules/@vscode/vsce/node_modules/has-flag": {
+-      "version": "4.0.0",
+-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+     "node_modules/@vscode/vsce/node_modules/jsonc-parser": {
+@@ -2242,9 +1419,11 @@
+       "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==",
+-      "dev": true
++      "dev": true,
++      "license": "MIT"
+     },
+     "node_modules/@vscode/vsce/node_modules/semver": {
+-      "version": "7.6.3",
+-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
+-      "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
++      "version": "7.7.2",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
++      "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+       "dev": true,
++      "license": "ISC",
+       "bin": {
+@@ -2256,25 +1435,2 @@
+     },
+-    "node_modules/@vscode/vsce/node_modules/supports-color": {
+-      "version": "7.2.0",
+-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "has-flag": "^4.0.0"
+-      },
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+-    "node_modules/@vscode/vsce/node_modules/yazl": {
+-      "version": "2.5.1",
+-      "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz",
+-      "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "buffer-crc32": "~0.2.3"
+-      }
+-    },
+     "node_modules/@xmldom/xmldom": {
+@@ -2301,19 +1457,2 @@
+     },
+-    "node_modules/ajv": {
+-      "version": "8.17.1",
+-      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+-      "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "fast-deep-equal": "^3.1.3",
+-        "fast-uri": "^3.0.1",
+-        "json-schema-traverse": "^1.0.0",
+-        "require-from-string": "^2.0.2"
+-      },
+-      "funding": {
+-        "type": "github",
+-        "url": "https://github.com/sponsors/epoberezkin"
+-      }
+-    },
+     "node_modules/ansi-colors": {
+@@ -2328,18 +1467,2 @@
+     },
+-    "node_modules/ansi-escapes": {
+-      "version": "7.1.1",
+-      "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.1.1.tgz",
+-      "integrity": "sha512-Zhl0ErHcSRUaVfGUeUdDuLgpkEo8KIFjB4Y9uAc46ScOpdDiU1Dbyplh7qWJeJ/ZHpbyMSM26+X3BySgnIz40Q==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "environment": "^1.0.0"
+-      },
+-      "engines": {
+-        "node": ">=18"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+     "node_modules/ansi-gray": {
+@@ -2356,15 +1479,2 @@
+     },
+-    "node_modules/ansi-regex": {
+-      "version": "6.2.2",
+-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz",
+-      "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=12"
+-      },
+-      "funding": {
+-        "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+-      }
+-    },
+     "node_modules/ansi-styles": {
+@@ -2404,17 +1514,7 @@
+     "node_modules/argparse": {
+-      "version": "1.0.10",
+-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+-      "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "sprintf-js": "~1.0.2"
+-      }
+-    },
+-    "node_modules/argparse/node_modules/sprintf-js": {
+-      "version": "1.0.3",
+-      "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+-      "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
++      "version": "2.0.1",
++      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
++      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+       "dev": true,
+-      "license": "BSD-3-Clause"
++      "license": "Python-2.0"
+     },
+@@ -2447,12 +1547,2 @@
+     },
+-    "node_modules/astral-regex": {
+-      "version": "2.0.0",
+-      "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz",
+-      "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+     "node_modules/async-done": {
+@@ -2472,13 +1562,26 @@
+     },
+-    "node_modules/asynckit": {
+-      "version": "0.4.0",
+-      "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+-      "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
++    "node_modules/async-function": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz",
++      "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==",
+       "dev": true,
+-      "license": "MIT"
++      "license": "MIT",
++      "engines": {
++        "node": ">= 0.4"
++      }
++    },
++    "node_modules/async-generator-function": {
++      "version": "1.0.0",
++      "resolved": "https://registry.npmjs.org/async-generator-function/-/async-generator-function-1.0.0.tgz",
++      "integrity": "sha512-+NAXNqgCrB95ya4Sr66i1CL2hqLVckAk7xwRYWdcm39/ELQ6YNn1aw5r0bdQtqNZgQpEWzc5yc/igXc7aL5SLA==",
++      "dev": true,
++      "license": "MIT",
++      "engines": {
++        "node": ">= 0.4"
++      }
+     },
+     "node_modules/azure-devops-node-api": {
+-      "version": "12.5.0",
+-      "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-12.5.0.tgz",
+-      "integrity": "sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==",
++      "version": "11.2.0",
++      "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.2.0.tgz",
++      "integrity": "sha512-XdiGPhrpaT5J8wdERRKs5g8E0Zy1pvOYTli7z9E8nmOn3YGp4FhtjhrOyFmX/8veWCwdI69mCHKJw6l+4J/bHA==",
+       "dev": true,
+@@ -2525,18 +1628,2 @@
+     },
+-    "node_modules/binaryextensions": {
+-      "version": "6.11.0",
+-      "resolved": "https://registry.npmjs.org/binaryextensions/-/binaryextensions-6.11.0.tgz",
+-      "integrity": "sha512-sXnYK/Ij80TO3lcqZVV2YgfKN5QjUWIRk/XSm2J/4bd/lPko3lvk0O4ZppH6m+6hB2/GTu+ptNwVFe1xh+QLQw==",
+-      "dev": true,
+-      "license": "Artistic-2.0",
+-      "dependencies": {
+-        "editions": "^6.21.0"
+-      },
+-      "engines": {
+-        "node": ">=4"
+-      },
+-      "funding": {
+-        "url": "https://bevry.me/fund"
+-      }
+-    },
+     "node_modules/bl": {
+@@ -2546,2 +1633,3 @@
+       "dev": true,
++      "license": "MIT",
+       "optional": true,
+@@ -2557,3 +1645,4 @@
+       "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
+-      "dev": true
++      "dev": true,
++      "license": "ISC"
+     },
+@@ -2566,9 +1655,2 @@
+     },
+-    "node_modules/boundary": {
+-      "version": "2.0.0",
+-      "resolved": "https://registry.npmjs.org/boundary/-/boundary-2.0.0.tgz",
+-      "integrity": "sha512-rJKn5ooC9u8q13IMCrW0RSp31pxBCHE3y9V/tp3TdWSLf8Em3p6Di4NBpfzbJge9YjjFEsD0RtFEjtvHL5VyEA==",
+-      "dev": true,
+-      "license": "BSD-2-Clause"
+-    },
+     "node_modules/brace-expansion": {
+@@ -2615,2 +1697,3 @@
+       ],
++      "license": "MIT",
+       "optional": true,
+@@ -2718,6 +1801,7 @@
+     "node_modules/cheerio": {
+-      "version": "1.0.0-rc.12",
+-      "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.12.tgz",
+-      "integrity": "sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==",
++      "version": "1.1.2",
++      "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.1.2.tgz",
++      "integrity": "sha512-IkxPpb5rS/d1IiLbHMgfPuS0FgiWTtFIm/Nj+2woXDLTZ7fOT2eqzgYbdMlLweqlHbsZjxEChoVK+7iph7jyQg==",
+       "dev": true,
++      "license": "MIT",
+       "dependencies": {
+@@ -2726,9 +1810,13 @@
+         "domhandler": "^5.0.3",
+-        "domutils": "^3.0.1",
+-        "htmlparser2": "^8.0.1",
+-        "parse5": "^7.0.0",
+-        "parse5-htmlparser2-tree-adapter": "^7.0.0"
++        "domutils": "^3.2.2",
++        "encoding-sniffer": "^0.2.1",
++        "htmlparser2": "^10.0.0",
++        "parse5": "^7.3.0",
++        "parse5-htmlparser2-tree-adapter": "^7.1.0",
++        "parse5-parser-stream": "^7.1.2",
++        "undici": "^7.12.0",
++        "whatwg-mimetype": "^4.0.0"
+       },
+       "engines": {
+-        "node": ">= 6"
++        "node": ">=20.18.1"
+       },
+@@ -2743,2 +1831,3 @@
+       "dev": true,
++      "license": "BSD-2-Clause",
+       "dependencies": {
+@@ -2781,2 +1870,3 @@
+       "dev": true,
++      "license": "ISC",
+       "optional": true
+@@ -2842,12 +1932,2 @@
+     },
+-    "node_modules/cockatiel": {
+-      "version": "3.2.1",
+-      "resolved": "https://registry.npmjs.org/cockatiel/-/cockatiel-3.2.1.tgz",
+-      "integrity": "sha512-gfrHV6ZPkquExvMh9IOkKsBzNDk6sDuZ6DdBGUBkvFnTCqCxzpuq48RySgP0AnaqQkw2zynOFj9yly6T1Q2G5Q==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=16"
+-      }
+-    },
+     "node_modules/color-convert": {
+@@ -2876,19 +1956,6 @@
+     },
+-    "node_modules/combined-stream": {
+-      "version": "1.0.8",
+-      "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+-      "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "delayed-stream": "~1.0.0"
+-      },
+-      "engines": {
+-        "node": ">= 0.8"
+-      }
+-    },
+     "node_modules/commander": {
+-      "version": "12.1.0",
+-      "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz",
+-      "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==",
++      "version": "6.2.1",
++      "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
++      "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
+       "dev": true,
+@@ -2896,3 +1963,3 @@
+       "engines": {
+-        "node": ">=18"
++        "node": ">= 6"
+       }
+@@ -2927,6 +1994,7 @@
+     "node_modules/css-select": {
+-      "version": "5.1.0",
+-      "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
+-      "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
++      "version": "5.2.2",
++      "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz",
++      "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==",
+       "dev": true,
++      "license": "BSD-2-Clause",
+       "dependencies": {
+@@ -2943,6 +2011,7 @@
+     "node_modules/css-what": {
+-      "version": "6.1.0",
+-      "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
+-      "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
++      "version": "6.2.2",
++      "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz",
++      "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==",
+       "dev": true,
++      "license": "BSD-2-Clause",
+       "engines": {
+@@ -3004,2 +2073,3 @@
+       "dev": true,
++      "license": "MIT",
+       "optional": true,
+@@ -3040,17 +2110,8 @@
+     },
+-    "node_modules/delayed-stream": {
+-      "version": "1.0.0",
+-      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+-      "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=0.4.0"
+-      }
+-    },
+     "node_modules/detect-libc": {
+-      "version": "2.0.1",
+-      "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz",
+-      "integrity": "sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==",
++      "version": "2.1.1",
++      "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.1.tgz",
++      "integrity": "sha512-ecqj/sy1jcK1uWrwpR67UhYrIFQ+5WlGxth34WquCbamhFA6hkkwiu37o6J5xCHdo1oixJRfVRw+ywV+Hq/0Aw==",
+       "dev": true,
++      "license": "Apache-2.0",
+       "optional": true,
+@@ -3082,2 +2143,3 @@
+       "dev": true,
++      "license": "MIT",
+       "dependencies": {
+@@ -3101,3 +2163,4 @@
+         }
+-      ]
++      ],
++      "license": "BSD-2-Clause"
+     },
+@@ -3108,2 +2171,3 @@
+       "dev": true,
++      "license": "BSD-2-Clause",
+       "dependencies": {
+@@ -3119,6 +2183,7 @@
+     "node_modules/domutils": {
+-      "version": "3.0.1",
+-      "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.0.1.tgz",
+-      "integrity": "sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==",
++      "version": "3.2.2",
++      "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz",
++      "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==",
+       "dev": true,
++      "license": "BSD-2-Clause",
+       "dependencies": {
+@@ -3126,3 +2191,3 @@
+         "domelementtype": "^2.3.0",
+-        "domhandler": "^5.0.1"
++        "domhandler": "^5.0.3"
+       },
+@@ -3159,9 +2224,2 @@
+     },
+-    "node_modules/eastasianwidth": {
+-      "version": "0.2.0",
+-      "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz",
+-      "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+     "node_modules/ecdsa-sig-formatter": {
+@@ -3175,26 +2233,16 @@
+     },
+-    "node_modules/editions": {
+-      "version": "6.22.0",
+-      "resolved": "https://registry.npmjs.org/editions/-/editions-6.22.0.tgz",
+-      "integrity": "sha512-UgGlf8IW75je7HZjNDpJdCv4cGJWIi6yumFdZ0R7A8/CIhQiWUjyGLCxdHpd8bmyD1gnkfUNK0oeOXqUS2cpfQ==",
++    "node_modules/encoding-sniffer": {
++      "version": "0.2.1",
++      "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.1.tgz",
++      "integrity": "sha512-5gvq20T6vfpekVtqrYQsSCFZ1wEg5+wW0/QaZMWkFr6BqD3NfKs0rLCx4rrVlSWJeZb5NBJgVLswK/w2MWU+Gw==",
+       "dev": true,
+-      "license": "Artistic-2.0",
++      "license": "MIT",
+       "dependencies": {
+-        "version-range": "^4.15.0"
+-      },
+-      "engines": {
+-        "ecmascript": ">= es5",
+-        "node": ">=4"
++        "iconv-lite": "^0.6.3",
++        "whatwg-encoding": "^3.1.1"
+       },
+       "funding": {
+-        "url": "https://bevry.me/fund"
++        "url": "https://github.com/fb55/encoding-sniffer?sponsor=1"
+       }
+     },
+-    "node_modules/emoji-regex": {
+-      "version": "8.0.0",
+-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+-      "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+     "node_modules/end-of-stream": {
+@@ -3209,6 +2257,7 @@
+     "node_modules/entities": {
+-      "version": "4.4.0",
+-      "resolved": "https://registry.npmjs.org/entities/-/entities-4.4.0.tgz",
+-      "integrity": "sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==",
++      "version": "4.5.0",
++      "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
++      "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
+       "dev": true,
++      "license": "BSD-2-Clause",
+       "engines": {
+@@ -3229,15 +2278,2 @@
+     },
+-    "node_modules/environment": {
+-      "version": "1.1.0",
+-      "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz",
+-      "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=18"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+     "node_modules/es-define-property": {
+@@ -3275,18 +2311,2 @@
+     },
+-    "node_modules/es-set-tostringtag": {
+-      "version": "2.1.0",
+-      "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
+-      "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "es-errors": "^1.3.0",
+-        "get-intrinsic": "^1.2.6",
+-        "has-tostringtag": "^1.0.2",
+-        "hasown": "^2.0.2"
+-      },
+-      "engines": {
+-        "node": ">= 0.4"
+-      }
+-    },
+     "node_modules/es6-error": {
+@@ -3348,16 +2368,2 @@
+     },
+-    "node_modules/esprima": {
+-      "version": "4.0.1",
+-      "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+-      "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+-      "dev": true,
+-      "license": "BSD-2-Clause",
+-      "bin": {
+-        "esparse": "bin/esparse.js",
+-        "esvalidate": "bin/esvalidate.js"
+-      },
+-      "engines": {
+-        "node": ">=4"
+-      }
+-    },
+     "node_modules/events": {
+@@ -3376,2 +2382,3 @@
+       "dev": true,
++      "license": "(MIT OR WTFPL)",
+       "optional": true,
+@@ -3429,26 +2436,2 @@
+     },
+-    "node_modules/fast-deep-equal": {
+-      "version": "3.1.3",
+-      "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+-      "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+-    "node_modules/fast-glob": {
+-      "version": "3.3.3",
+-      "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz",
+-      "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "@nodelib/fs.stat": "^2.0.2",
+-        "@nodelib/fs.walk": "^1.2.3",
+-        "glob-parent": "^5.1.2",
+-        "merge2": "^1.3.0",
+-        "micromatch": "^4.0.8"
+-      },
+-      "engines": {
+-        "node": ">=8.6.0"
+-      }
+-    },
+     "node_modules/fast-json-stable-stringify": {
+@@ -3459,19 +2442,2 @@
+     },
+-    "node_modules/fast-uri": {
+-      "version": "3.1.0",
+-      "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
+-      "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
+-      "dev": true,
+-      "funding": [
+-        {
+-          "type": "github",
+-          "url": "https://github.com/sponsors/fastify"
+-        },
+-        {
+-          "type": "opencollective",
+-          "url": "https://opencollective.com/fastify"
+-        }
+-      ],
+-      "license": "BSD-3-Clause"
+-    },
+     "node_modules/fast-xml-parser": {
+@@ -3499,12 +2465,2 @@
+     },
+-    "node_modules/fastq": {
+-      "version": "1.19.1",
+-      "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
+-      "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==",
+-      "dev": true,
+-      "license": "ISC",
+-      "dependencies": {
+-        "reusify": "^1.0.4"
+-      }
+-    },
+     "node_modules/fd-slicer": {
+@@ -3557,19 +2513,2 @@
+     },
+-    "node_modules/foreground-child": {
+-      "version": "3.3.1",
+-      "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz",
+-      "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==",
+-      "dev": true,
+-      "license": "ISC",
+-      "dependencies": {
+-        "cross-spawn": "^7.0.6",
+-        "signal-exit": "^4.0.1"
+-      },
+-      "engines": {
+-        "node": ">=14"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/isaacs"
+-      }
+-    },
+     "node_modules/fork-stream": {
+@@ -3580,19 +2519,2 @@
+     },
+-    "node_modules/form-data": {
+-      "version": "4.0.4",
+-      "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz",
+-      "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "asynckit": "^0.4.0",
+-        "combined-stream": "^1.0.8",
+-        "es-set-tostringtag": "^2.1.0",
+-        "hasown": "^2.0.2",
+-        "mime-types": "^2.1.12"
+-      },
+-      "engines": {
+-        "node": ">= 6"
+-      }
+-    },
+     "node_modules/fs-constants": {
+@@ -3602,2 +2524,3 @@
+       "dev": true,
++      "license": "MIT",
+       "optional": true
+@@ -3647,6 +2570,16 @@
+     },
++    "node_modules/generator-function": {
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.0.tgz",
++      "integrity": "sha512-xPypGGincdfyl/AiSGa7GjXLkvld9V7GjZlowup9SHIJnQnHLFiLODCd/DqKOp0PBagbHJ68r1KJI9Mut7m4sA==",
++      "dev": true,
++      "license": "MIT",
++      "engines": {
++        "node": ">= 0.4"
++      }
++    },
+     "node_modules/get-intrinsic": {
+-      "version": "1.3.0",
+-      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+-      "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
++      "version": "1.3.1",
++      "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.1.tgz",
++      "integrity": "sha512-fk1ZVEeOX9hVZ6QzoBNEC55+Ucqg4sTVwrVuigZhuRPESVFpMyXnd3sbXvPOwp7Y9riVyANiqhEuRF0G1aVSeQ==",
+       "dev": true,
+@@ -3654,2 +2587,4 @@
+       "dependencies": {
++        "async-function": "^1.0.0",
++        "async-generator-function": "^1.0.0",
+         "call-bind-apply-helpers": "^1.0.2",
+@@ -3659,2 +2594,3 @@
+         "function-bind": "^1.1.2",
++        "generator-function": "^2.0.0",
+         "get-proto": "^1.0.1",
+@@ -3704,4 +2640,5 @@
+       "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz",
+-      "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4= sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
++      "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==",
+       "dev": true,
++      "license": "MIT",
+       "optional": true
+@@ -3791,23 +2728,2 @@
+     },
+-    "node_modules/globby": {
+-      "version": "14.1.0",
+-      "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz",
+-      "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "@sindresorhus/merge-streams": "^2.1.0",
+-        "fast-glob": "^3.3.3",
+-        "ignore": "^7.0.3",
+-        "path-type": "^6.0.0",
+-        "slash": "^5.1.0",
+-        "unicorn-magic": "^0.3.0"
+-      },
+-      "engines": {
+-        "node": ">=18"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+     "node_modules/gopd": {
+@@ -3926,18 +2842,2 @@
+     },
+-    "node_modules/has-tostringtag": {
+-      "version": "1.0.2",
+-      "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+-      "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "has-symbols": "^1.0.3"
+-      },
+-      "engines": {
+-        "node": ">= 0.4"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/ljharb"
+-      }
+-    },
+     "node_modules/hasown": {
+@@ -3960,2 +2860,3 @@
+       "dev": true,
++      "license": "ISC",
+       "dependencies": {
+@@ -3968,5 +2869,5 @@
+     "node_modules/htmlparser2": {
+-      "version": "8.0.1",
+-      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.1.tgz",
+-      "integrity": "sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==",
++      "version": "10.0.0",
++      "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz",
++      "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==",
+       "dev": true,
+@@ -3979,7 +2880,21 @@
+       ],
++      "license": "MIT",
+       "dependencies": {
+         "domelementtype": "^2.3.0",
+-        "domhandler": "^5.0.2",
+-        "domutils": "^3.0.1",
+-        "entities": "^4.3.0"
++        "domhandler": "^5.0.3",
++        "domutils": "^3.2.1",
++        "entities": "^6.0.0"
++      }
++    },
++    "node_modules/htmlparser2/node_modules/entities": {
++      "version": "6.0.1",
++      "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
++      "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
++      "dev": true,
++      "license": "BSD-2-Clause",
++      "engines": {
++        "node": ">=0.12"
++      },
++      "funding": {
++        "url": "https://github.com/fb55/entities?sponsor=1"
+       }
+@@ -4033,2 +2948,15 @@
+     },
++    "node_modules/iconv-lite": {
++      "version": "0.6.3",
++      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
++      "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
++      "dev": true,
++      "license": "MIT",
++      "dependencies": {
++        "safer-buffer": ">= 2.1.2 < 3.0.0"
++      },
++      "engines": {
++        "node": ">=0.10.0"
++      }
++    },
+     "node_modules/ieee754": {
+@@ -4052,27 +2980,5 @@
+       ],
++      "license": "BSD-3-Clause",
+       "optional": true
+     },
+-    "node_modules/ignore": {
+-      "version": "7.0.5",
+-      "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz",
+-      "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">= 4"
+-      }
+-    },
+-    "node_modules/index-to-position": {
+-      "version": "1.1.0",
+-      "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-1.1.0.tgz",
+-      "integrity": "sha512-XPdx9Dq4t9Qk1mTMbWONJqU7boCoumEH7fRET37HX5+khDUl3J2W6PdALxhILYlIYx2amlwYcRPp28p0tSiojg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=18"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+     "node_modules/inflight": {
+@@ -4099,2 +3005,3 @@
+       "dev": true,
++      "license": "ISC",
+       "optional": true
+@@ -4149,12 +3056,2 @@
+     },
+-    "node_modules/is-fullwidth-code-point": {
+-      "version": "3.0.0",
+-      "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+-      "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+     "node_modules/is-glob": {
+@@ -4231,57 +3128,2 @@
+     },
+-    "node_modules/istextorbinary": {
+-      "version": "9.5.0",
+-      "resolved": "https://registry.npmjs.org/istextorbinary/-/istextorbinary-9.5.0.tgz",
+-      "integrity": "sha512-5mbUj3SiZXCuRf9fT3ibzbSSEWiy63gFfksmGfdOzujPjW3k+z8WvIBxcJHBoQNlaZaiyB25deviif2+osLmLw==",
+-      "dev": true,
+-      "license": "Artistic-2.0",
+-      "dependencies": {
+-        "binaryextensions": "^6.11.0",
+-        "editions": "^6.21.0",
+-        "textextensions": "^6.11.0"
+-      },
+-      "engines": {
+-        "node": ">=4"
+-      },
+-      "funding": {
+-        "url": "https://bevry.me/fund"
+-      }
+-    },
+-    "node_modules/jackspeak": {
+-      "version": "4.1.1",
+-      "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz",
+-      "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==",
+-      "dev": true,
+-      "license": "BlueOak-1.0.0",
+-      "dependencies": {
+-        "@isaacs/cliui": "^8.0.2"
+-      },
+-      "engines": {
+-        "node": "20 || >=22"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/isaacs"
+-      }
+-    },
+-    "node_modules/js-tokens": {
+-      "version": "4.0.0",
+-      "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+-    "node_modules/js-yaml": {
+-      "version": "3.14.1",
+-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+-      "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "argparse": "^1.0.7",
+-        "esprima": "^4.0.0"
+-      },
+-      "bin": {
+-        "js-yaml": "bin/js-yaml.js"
+-      }
+-    },
+     "node_modules/jsbi": {
+@@ -4298,9 +3140,2 @@
+     },
+-    "node_modules/json-schema-traverse": {
+-      "version": "1.0.0",
+-      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+-      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+     "node_modules/json-stringify-safe": {
+@@ -4419,2 +3254,3 @@
+       "hasInstallScript": true,
++      "license": "MIT",
+       "optional": true,
+@@ -4439,2 +3275,3 @@
+       "dev": true,
++      "license": "MIT",
+       "engines": {
+@@ -4444,5 +3281,5 @@
+     "node_modules/linkify-it": {
+-      "version": "5.0.0",
+-      "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
+-      "integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
++      "version": "3.0.3",
++      "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz",
++      "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==",
+       "dev": true,
+@@ -4450,3 +3287,3 @@
+       "dependencies": {
+-        "uc.micro": "^2.0.0"
++        "uc.micro": "^1.0.1"
+       }
+@@ -4465,9 +3302,2 @@
+     },
+-    "node_modules/lodash.truncate": {
+-      "version": "4.4.2",
+-      "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz",
+-      "integrity": "sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+     "node_modules/lowercase-keys": {
+@@ -4494,5 +3324,5 @@
+     "node_modules/markdown-it": {
+-      "version": "14.1.0",
+-      "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
+-      "integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
++      "version": "12.3.2",
++      "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
++      "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==",
+       "dev": true,
+@@ -4501,18 +3331,20 @@
+         "argparse": "^2.0.1",
+-        "entities": "^4.4.0",
+-        "linkify-it": "^5.0.0",
+-        "mdurl": "^2.0.0",
+-        "punycode.js": "^2.3.1",
+-        "uc.micro": "^2.1.0"
++        "entities": "~2.1.0",
++        "linkify-it": "^3.0.1",
++        "mdurl": "^1.0.1",
++        "uc.micro": "^1.0.5"
+       },
+       "bin": {
+-        "markdown-it": "bin/markdown-it.mjs"
++        "markdown-it": "bin/markdown-it.js"
+       }
+     },
+-    "node_modules/markdown-it/node_modules/argparse": {
+-      "version": "2.0.1",
+-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+-      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
++    "node_modules/markdown-it/node_modules/entities": {
++      "version": "2.1.0",
++      "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
++      "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
+       "dev": true,
+-      "license": "Python-2.0"
++      "license": "BSD-2-Clause",
++      "funding": {
++        "url": "https://github.com/fb55/entities?sponsor=1"
++      }
+     },
+@@ -4555,5 +3387,5 @@
+     "node_modules/mdurl": {
+-      "version": "2.0.0",
+-      "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
+-      "integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
++      "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==",
+       "dev": true,
+@@ -4567,26 +3399,2 @@
+     },
+-    "node_modules/merge2": {
+-      "version": "1.4.1",
+-      "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+-      "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">= 8"
+-      }
+-    },
+-    "node_modules/micromatch": {
+-      "version": "4.0.8",
+-      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+-      "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "braces": "^3.0.3",
+-        "picomatch": "^2.3.1"
+-      },
+-      "engines": {
+-        "node": ">=8.6"
+-      }
+-    },
+     "node_modules/mime": {
+@@ -4603,25 +3411,2 @@
+     },
+-    "node_modules/mime-db": {
+-      "version": "1.52.0",
+-      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+-      "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">= 0.6"
+-      }
+-    },
+-    "node_modules/mime-types": {
+-      "version": "2.1.35",
+-      "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+-      "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "mime-db": "1.52.0"
+-      },
+-      "engines": {
+-        "node": ">= 0.6"
+-      }
+-    },
+     "node_modules/mimic-response": {
+@@ -4648,16 +3433,10 @@
+     "node_modules/minimist": {
+-      "version": "1.2.6",
+-      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz",
+-      "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==",
+-      "dev": true,
+-      "optional": true
+-    },
+-    "node_modules/minipass": {
+-      "version": "7.1.2",
+-      "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+-      "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
++      "version": "1.2.8",
++      "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
++      "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
+       "dev": true,
+-      "license": "ISC",
+-      "engines": {
+-        "node": ">=16 || 14 >=14.17"
++      "license": "MIT",
++      "optional": true,
++      "funding": {
++        "url": "https://github.com/sponsors/ljharb"
+       }
+@@ -4669,2 +3448,3 @@
+       "dev": true,
++      "license": "MIT",
+       "optional": true
+@@ -4682,9 +3462,11 @@
+       "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==",
+-      "dev": true
++      "dev": true,
++      "license": "ISC"
+     },
+     "node_modules/napi-build-utils": {
+-      "version": "1.0.2",
+-      "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz",
+-      "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==",
++      "version": "2.0.0",
++      "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz",
++      "integrity": "sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==",
+       "dev": true,
++      "license": "MIT",
+       "optional": true
+@@ -4692,6 +3474,7 @@
+     "node_modules/node-abi": {
+-      "version": "3.30.0",
+-      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.30.0.tgz",
+-      "integrity": "sha512-qWO5l3SCqbwQavymOmtTVuCWZE23++S+rxyoHjXqUmPyzRcaoI4lA2gO55/drddGnedAyjA7sk76SfQ5lfUMnw==",
++      "version": "3.77.0",
++      "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.77.0.tgz",
++      "integrity": "sha512-DSmt0OEcLoK4i3NuscSbGjOf3bqiDEutejqENSplMSFA/gmB8mkED9G4pKWnPl7MDU4rSHebKPHeitpDfyH0cQ==",
+       "dev": true,
++      "license": "MIT",
+       "optional": true,
+@@ -4705,10 +3488,8 @@
+     "node_modules/node-abi/node_modules/semver": {
+-      "version": "7.5.4",
+-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+-      "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
++      "version": "7.7.2",
++      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
++      "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+       "dev": true,
++      "license": "ISC",
+       "optional": true,
+-      "dependencies": {
+-        "lru-cache": "^6.0.0"
+-      },
+       "bin": {
+@@ -4731,2 +3512,3 @@
+       "dev": true,
++      "license": "MIT",
+       "optional": true
+@@ -4745,102 +3527,2 @@
+     },
+-    "node_modules/node-sarif-builder": {
+-      "version": "3.2.0",
+-      "resolved": "https://registry.npmjs.org/node-sarif-builder/-/node-sarif-builder-3.2.0.tgz",
+-      "integrity": "sha512-kVIOdynrF2CRodHZeP/97Rh1syTUHBNiw17hUCIVhlhEsWlfJm19MuO56s4MdKbr22xWx6mzMnNAgXzVlIYM9Q==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "@types/sarif": "^2.1.7",
+-        "fs-extra": "^11.1.1"
+-      },
+-      "engines": {
+-        "node": ">=18"
+-      }
+-    },
+-    "node_modules/node-sarif-builder/node_modules/fs-extra": {
+-      "version": "11.3.2",
+-      "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.3.2.tgz",
+-      "integrity": "sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "graceful-fs": "^4.2.0",
+-        "jsonfile": "^6.0.1",
+-        "universalify": "^2.0.0"
+-      },
+-      "engines": {
+-        "node": ">=14.14"
+-      }
+-    },
+-    "node_modules/node-sarif-builder/node_modules/jsonfile": {
+-      "version": "6.2.0",
+-      "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.2.0.tgz",
+-      "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "universalify": "^2.0.0"
+-      },
+-      "optionalDependencies": {
+-        "graceful-fs": "^4.1.6"
+-      }
+-    },
+-    "node_modules/node-sarif-builder/node_modules/universalify": {
+-      "version": "2.0.1",
+-      "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
+-      "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">= 10.0.0"
+-      }
+-    },
+-    "node_modules/normalize-package-data": {
+-      "version": "6.0.2",
+-      "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz",
+-      "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==",
+-      "dev": true,
+-      "license": "BSD-2-Clause",
+-      "dependencies": {
+-        "hosted-git-info": "^7.0.0",
+-        "semver": "^7.3.5",
+-        "validate-npm-package-license": "^3.0.4"
+-      },
+-      "engines": {
+-        "node": "^16.14.0 || >=18.0.0"
+-      }
+-    },
+-    "node_modules/normalize-package-data/node_modules/hosted-git-info": {
+-      "version": "7.0.2",
+-      "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz",
+-      "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==",
+-      "dev": true,
+-      "license": "ISC",
+-      "dependencies": {
+-        "lru-cache": "^10.0.1"
+-      },
+-      "engines": {
+-        "node": "^16.14.0 || >=18.0.0"
+-      }
+-    },
+-    "node_modules/normalize-package-data/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,
+-      "license": "ISC"
+-    },
+-    "node_modules/normalize-package-data/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,
+-      "license": "ISC",
+-      "bin": {
+-        "semver": "bin/semver.js"
+-      },
+-      "engines": {
+-        "node": ">=10"
+-      }
+-    },
+     "node_modules/normalize-path": {
+@@ -4871,2 +3553,3 @@
+       "dev": true,
++      "license": "BSD-2-Clause",
+       "dependencies": {
+@@ -4960,53 +3643,2 @@
+     },
+-    "node_modules/p-map": {
+-      "version": "7.0.3",
+-      "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz",
+-      "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=18"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+-    "node_modules/package-json-from-dist": {
+-      "version": "1.0.1",
+-      "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz",
+-      "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==",
+-      "dev": true,
+-      "license": "BlueOak-1.0.0"
+-    },
+-    "node_modules/parse-json": {
+-      "version": "8.3.0",
+-      "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.3.0.tgz",
+-      "integrity": "sha512-ybiGyvspI+fAoRQbIPRddCcSTV9/LsJbf0e/S85VLowVGzRmokfneg2kwVW/KU5rOXrPSbF1qAKPMgNTqqROQQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "@babel/code-frame": "^7.26.2",
+-        "index-to-position": "^1.1.0",
+-        "type-fest": "^4.39.1"
+-      },
+-      "engines": {
+-        "node": ">=18"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+-    "node_modules/parse-json/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,
+-      "license": "(MIT OR CC0-1.0)",
+-      "engines": {
+-        "node": ">=16"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+     "node_modules/parse-node-version": {
+@@ -5025,2 +3657,3 @@
+       "dev": true,
++      "license": "MIT",
+       "dependencies": {
+@@ -5034,2 +3667,3 @@
+       "dev": true,
++      "license": "ISC",
+       "bin": {
+@@ -5039,8 +3673,9 @@
+     "node_modules/parse5": {
+-      "version": "7.1.2",
+-      "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
+-      "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
++      "version": "7.3.0",
++      "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz",
++      "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==",
+       "dev": true,
++      "license": "MIT",
+       "dependencies": {
+-        "entities": "^4.4.0"
++        "entities": "^6.0.0"
+       },
+@@ -5051,8 +3686,22 @@
+     "node_modules/parse5-htmlparser2-tree-adapter": {
+-      "version": "7.0.0",
+-      "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz",
+-      "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==",
++      "version": "7.1.0",
++      "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz",
++      "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==",
+       "dev": true,
++      "license": "MIT",
++      "dependencies": {
++        "domhandler": "^5.0.3",
++        "parse5": "^7.0.0"
++      },
++      "funding": {
++        "url": "https://github.com/inikulin/parse5?sponsor=1"
++      }
++    },
++    "node_modules/parse5-parser-stream": {
++      "version": "7.1.2",
++      "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz",
++      "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==",
++      "dev": true,
++      "license": "MIT",
+       "dependencies": {
+-        "domhandler": "^5.0.2",
+         "parse5": "^7.0.0"
+@@ -5063,2 +3712,15 @@
+     },
++    "node_modules/parse5/node_modules/entities": {
++      "version": "6.0.1",
++      "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz",
++      "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==",
++      "dev": true,
++      "license": "BSD-2-Clause",
++      "engines": {
++        "node": ">=0.12"
++      },
++      "funding": {
++        "url": "https://github.com/fb55/entities?sponsor=1"
++      }
++    },
+     "node_modules/path-is-absolute": {
+@@ -5081,42 +3743,2 @@
+     },
+-    "node_modules/path-scurry": {
+-      "version": "2.0.0",
+-      "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz",
+-      "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==",
+-      "dev": true,
+-      "license": "BlueOak-1.0.0",
+-      "dependencies": {
+-        "lru-cache": "^11.0.0",
+-        "minipass": "^7.1.2"
+-      },
+-      "engines": {
+-        "node": "20 || >=22"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/isaacs"
+-      }
+-    },
+-    "node_modules/path-scurry/node_modules/lru-cache": {
+-      "version": "11.2.1",
+-      "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.1.tgz",
+-      "integrity": "sha512-r8LA6i4LP4EeWOhqBaZZjDWwehd1xUJPCJd9Sv300H0ZmcUER4+JPh7bqqZeqs1o5pgtgvXm+d9UGrB5zZGDiQ==",
+-      "dev": true,
+-      "license": "ISC",
+-      "engines": {
+-        "node": "20 || >=22"
+-      }
+-    },
+-    "node_modules/path-type": {
+-      "version": "6.0.0",
+-      "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz",
+-      "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=18"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+     "node_modules/pend": {
+@@ -5127,9 +3749,2 @@
+     },
+-    "node_modules/picocolors": {
+-      "version": "1.1.1",
+-      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+-      "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+-      "dev": true,
+-      "license": "ISC"
+-    },
+     "node_modules/picomatch": {
+@@ -5198,17 +3813,8 @@
+     },
+-    "node_modules/pluralize": {
+-      "version": "8.0.0",
+-      "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz",
+-      "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=4"
+-      }
+-    },
+     "node_modules/prebuild-install": {
+-      "version": "7.1.1",
+-      "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz",
+-      "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==",
++      "version": "7.1.3",
++      "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz",
++      "integrity": "sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==",
+       "dev": true,
++      "license": "MIT",
+       "optional": true,
+@@ -5220,3 +3826,3 @@
+         "mkdirp-classic": "^0.5.3",
+-        "napi-build-utils": "^1.0.1",
++        "napi-build-utils": "^2.0.0",
+         "node-abi": "^3.3.0",
+@@ -5273,12 +3879,2 @@
+     },
+-    "node_modules/punycode.js": {
+-      "version": "2.3.1",
+-      "resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
+-      "integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=6"
+-      }
+-    },
+     "node_modules/qs": {
+@@ -5299,23 +3895,2 @@
+     },
+-    "node_modules/queue-microtask": {
+-      "version": "1.2.3",
+-      "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+-      "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+-      "dev": true,
+-      "funding": [
+-        {
+-          "type": "github",
+-          "url": "https://github.com/sponsors/feross"
+-        },
+-        {
+-          "type": "patreon",
+-          "url": "https://www.patreon.com/feross"
+-        },
+-        {
+-          "type": "consulting",
+-          "url": "https://feross.org/support"
+-        }
+-      ],
+-      "license": "MIT"
+-    },
+     "node_modules/quick-lru": {
+@@ -5337,2 +3912,3 @@
+       "dev": true,
++      "license": "(BSD-2-Clause OR MIT OR Apache-2.0)",
+       "optional": true,
+@@ -5348,35 +3924,2 @@
+     },
+-    "node_modules/rc-config-loader": {
+-      "version": "4.1.3",
+-      "resolved": "https://registry.npmjs.org/rc-config-loader/-/rc-config-loader-4.1.3.tgz",
+-      "integrity": "sha512-kD7FqML7l800i6pS6pvLyIE2ncbk9Du8Q0gp/4hMPhJU6ZxApkoLcGD8ZeqgiAlfwZ6BlETq6qqe+12DUL207w==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "debug": "^4.3.4",
+-        "js-yaml": "^4.1.0",
+-        "json5": "^2.2.2",
+-        "require-from-string": "^2.0.2"
+-      }
+-    },
+-    "node_modules/rc-config-loader/node_modules/argparse": {
+-      "version": "2.0.1",
+-      "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+-      "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+-      "dev": true,
+-      "license": "Python-2.0"
+-    },
+-    "node_modules/rc-config-loader/node_modules/js-yaml": {
+-      "version": "4.1.0",
+-      "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+-      "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "argparse": "^2.0.1"
+-      },
+-      "bin": {
+-        "js-yaml": "bin/js-yaml.js"
+-      }
+-    },
+     "node_modules/read": {
+@@ -5386,2 +3929,3 @@
+       "dev": true,
++      "license": "ISC",
+       "dependencies": {
+@@ -5393,48 +3937,2 @@
+     },
+-    "node_modules/read-pkg": {
+-      "version": "9.0.1",
+-      "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz",
+-      "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "@types/normalize-package-data": "^2.4.3",
+-        "normalize-package-data": "^6.0.0",
+-        "parse-json": "^8.0.0",
+-        "type-fest": "^4.6.0",
+-        "unicorn-magic": "^0.1.0"
+-      },
+-      "engines": {
+-        "node": ">=18"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+-    "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,
+-      "license": "(MIT OR CC0-1.0)",
+-      "engines": {
+-        "node": ">=16"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+-    "node_modules/read-pkg/node_modules/unicorn-magic": {
+-      "version": "0.1.0",
+-      "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz",
+-      "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=18"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+     "node_modules/readable-stream": {
+@@ -5480,12 +3978,2 @@
+     },
+-    "node_modules/require-from-string": {
+-      "version": "2.0.2",
+-      "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
+-      "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=0.10.0"
+-      }
+-    },
+     "node_modules/resolve-alpn": {
+@@ -5508,13 +3996,2 @@
+     },
+-    "node_modules/reusify": {
+-      "version": "1.1.0",
+-      "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz",
+-      "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "iojs": ">=1.0.0",
+-        "node": ">=0.10.0"
+-      }
+-    },
+     "node_modules/roarr": {
+@@ -5537,26 +4014,2 @@
+     },
+-    "node_modules/run-parallel": {
+-      "version": "1.2.0",
+-      "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+-      "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+-      "dev": true,
+-      "funding": [
+-        {
+-          "type": "github",
+-          "url": "https://github.com/sponsors/feross"
+-        },
+-        {
+-          "type": "patreon",
+-          "url": "https://www.patreon.com/feross"
+-        },
+-        {
+-          "type": "consulting",
+-          "url": "https://feross.org/support"
+-        }
+-      ],
+-      "license": "MIT",
+-      "dependencies": {
+-        "queue-microtask": "^1.2.2"
+-      }
+-    },
+     "node_modules/safe-buffer": {
+@@ -5567,29 +4020,15 @@
+     },
+-    "node_modules/sax": {
+-      "version": "1.2.4",
+-      "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
+-      "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
+-      "dev": true
++    "node_modules/safer-buffer": {
++      "version": "2.1.2",
++      "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
++      "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
++      "dev": true,
++      "license": "MIT"
+     },
+-    "node_modules/secretlint": {
+-      "version": "10.2.2",
+-      "resolved": "https://registry.npmjs.org/secretlint/-/secretlint-10.2.2.tgz",
+-      "integrity": "sha512-xVpkeHV/aoWe4vP4TansF622nBEImzCY73y/0042DuJ29iKIaqgoJ8fGxre3rVSHHbxar4FdJobmTnLp9AU0eg==",
++    "node_modules/sax": {
++      "version": "1.4.1",
++      "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz",
++      "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==",
+       "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "@secretlint/config-creator": "^10.2.2",
+-        "@secretlint/formatter": "^10.2.2",
+-        "@secretlint/node": "^10.2.2",
+-        "@secretlint/profiler": "^10.2.2",
+-        "debug": "^4.4.1",
+-        "globby": "^14.1.0",
+-        "read-pkg": "^9.0.1"
+-      },
+-      "bin": {
+-        "secretlint": "bin/secretlint.js"
+-      },
+-      "engines": {
+-        "node": ">=20.0.0"
+-      }
++      "license": "ISC"
+     },
+@@ -5733,15 +4172,2 @@
+     },
+-    "node_modules/signal-exit": {
+-      "version": "4.1.0",
+-      "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz",
+-      "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==",
+-      "dev": true,
+-      "license": "ISC",
+-      "engines": {
+-        "node": ">=14"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/isaacs"
+-      }
+-    },
+     "node_modules/simple-concat": {
+@@ -5765,2 +4191,3 @@
+       ],
++      "license": "MIT",
+       "optional": true
+@@ -5786,2 +4213,3 @@
+       ],
++      "license": "MIT",
+       "optional": true,
+@@ -5793,69 +4221,2 @@
+     },
+-    "node_modules/slash": {
+-      "version": "5.1.0",
+-      "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz",
+-      "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=14.16"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+-    "node_modules/slice-ansi": {
+-      "version": "4.0.0",
+-      "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz",
+-      "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "ansi-styles": "^4.0.0",
+-        "astral-regex": "^2.0.0",
+-        "is-fullwidth-code-point": "^3.0.0"
+-      },
+-      "engines": {
+-        "node": ">=10"
+-      },
+-      "funding": {
+-        "url": "https://github.com/chalk/slice-ansi?sponsor=1"
+-      }
+-    },
+-    "node_modules/slice-ansi/node_modules/ansi-styles": {
+-      "version": "4.3.0",
+-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "color-convert": "^2.0.1"
+-      },
+-      "engines": {
+-        "node": ">=8"
+-      },
+-      "funding": {
+-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+-      }
+-    },
+-    "node_modules/slice-ansi/node_modules/color-convert": {
+-      "version": "2.0.1",
+-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "color-name": "~1.1.4"
+-      },
+-      "engines": {
+-        "node": ">=7.0.0"
+-      }
+-    },
+-    "node_modules/slice-ansi/node_modules/color-name": {
+-      "version": "1.1.4",
+-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+     "node_modules/source-map": {
+@@ -5869,38 +4230,2 @@
+     },
+-    "node_modules/spdx-correct": {
+-      "version": "3.2.0",
+-      "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz",
+-      "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==",
+-      "dev": true,
+-      "license": "Apache-2.0",
+-      "dependencies": {
+-        "spdx-expression-parse": "^3.0.0",
+-        "spdx-license-ids": "^3.0.0"
+-      }
+-    },
+-    "node_modules/spdx-exceptions": {
+-      "version": "2.5.0",
+-      "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
+-      "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
+-      "dev": true,
+-      "license": "CC-BY-3.0"
+-    },
+-    "node_modules/spdx-expression-parse": {
+-      "version": "3.0.1",
+-      "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+-      "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "spdx-exceptions": "^2.1.0",
+-        "spdx-license-ids": "^3.0.0"
+-      }
+-    },
+-    "node_modules/spdx-license-ids": {
+-      "version": "3.0.22",
+-      "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz",
+-      "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==",
+-      "dev": true,
+-      "license": "CC0-1.0"
+-    },
+     "node_modules/sprintf-js": {
+@@ -5915,145 +4240,28 @@
+       "resolved": "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz",
+-      "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==",
+-      "dev": true,
+-      "engines": {
+-        "node": ">=4",
+-        "npm": ">=6"
+-      }
+-    },
+-    "node_modules/stream-exhaust": {
+-      "version": "1.0.2",
+-      "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz",
+-      "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==",
+-      "dev": true
+-    },
+-    "node_modules/stream-shift": {
+-      "version": "1.0.1",
+-      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
+-      "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
+-      "dev": true
+-    },
+-    "node_modules/string_decoder": {
+-      "version": "1.1.1",
+-      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+-      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+-      "devOptional": true,
+-      "dependencies": {
+-        "safe-buffer": "~5.1.0"
+-      }
+-    },
+-    "node_modules/string-width": {
+-      "version": "4.2.3",
+-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+-      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "emoji-regex": "^8.0.0",
+-        "is-fullwidth-code-point": "^3.0.0",
+-        "strip-ansi": "^6.0.1"
+-      },
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+-    "node_modules/string-width-cjs": {
+-      "name": "string-width",
+-      "version": "4.2.3",
+-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+-      "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "emoji-regex": "^8.0.0",
+-        "is-fullwidth-code-point": "^3.0.0",
+-        "strip-ansi": "^6.0.1"
+-      },
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+-    "node_modules/string-width-cjs/node_modules/ansi-regex": {
+-      "version": "5.0.1",
+-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+-      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+-    "node_modules/string-width-cjs/node_modules/strip-ansi": {
+-      "version": "6.0.1",
+-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+-      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "ansi-regex": "^5.0.1"
+-      },
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+-    "node_modules/string-width/node_modules/ansi-regex": {
+-      "version": "5.0.1",
+-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+-      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+-    "node_modules/string-width/node_modules/strip-ansi": {
+-      "version": "6.0.1",
+-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+-      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "ansi-regex": "^5.0.1"
+-      },
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+-    "node_modules/strip-ansi": {
+-      "version": "7.1.2",
+-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.2.tgz",
+-      "integrity": "sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "ansi-regex": "^6.0.1"
+-      },
+-      "engines": {
+-        "node": ">=12"
+-      },
+-      "funding": {
+-        "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+-      }
+-    },
+-    "node_modules/strip-ansi-cjs": {
+-      "name": "strip-ansi",
+-      "version": "6.0.1",
+-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+-      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
++      "integrity": "sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==",
+       "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "ansi-regex": "^5.0.1"
+-      },
+       "engines": {
+-        "node": ">=8"
++        "node": ">=4",
++        "npm": ">=6"
+       }
+     },
+-    "node_modules/strip-ansi-cjs/node_modules/ansi-regex": {
+-      "version": "5.0.1",
+-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+-      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=8"
++    "node_modules/stream-exhaust": {
++      "version": "1.0.2",
++      "resolved": "https://registry.npmjs.org/stream-exhaust/-/stream-exhaust-1.0.2.tgz",
++      "integrity": "sha512-b/qaq/GlBK5xaq1yrK9/zFcyRSTNxmcZwFLGSTG0mXgZl/4Z6GgiyYOXOvY7N3eEvFRAG1bkDRz5EPGSvPYQlw==",
++      "dev": true
++    },
++    "node_modules/stream-shift": {
++      "version": "1.0.1",
++      "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz",
++      "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
++      "dev": true
++    },
++    "node_modules/string_decoder": {
++      "version": "1.1.1",
++      "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
++      "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
++      "devOptional": true,
++      "dependencies": {
++        "safe-buffer": "~5.1.0"
+       }
+@@ -6100,4 +4308,5 @@
+       "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+-      "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo= sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
++      "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
+       "dev": true,
++      "license": "MIT",
+       "optional": true,
+@@ -6114,12 +4323,2 @@
+     },
+-    "node_modules/structured-source": {
+-      "version": "4.0.0",
+-      "resolved": "https://registry.npmjs.org/structured-source/-/structured-source-4.0.0.tgz",
+-      "integrity": "sha512-qGzRFNJDjFieQkl/sVOI2dUjHKRyL9dAJi2gCPGJLbJHBIkyOHxjuocpIEfbLioX+qSJpvbYdT49/YCdMznKxA==",
+-      "dev": true,
+-      "license": "BSD-2-Clause",
+-      "dependencies": {
+-        "boundary": "^2.0.0"
+-      }
+-    },
+     "node_modules/sumchecker": {
+@@ -6148,86 +4347,6 @@
+     },
+-    "node_modules/supports-hyperlinks": {
+-      "version": "3.2.0",
+-      "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-3.2.0.tgz",
+-      "integrity": "sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "has-flag": "^4.0.0",
+-        "supports-color": "^7.0.0"
+-      },
+-      "engines": {
+-        "node": ">=14.18"
+-      },
+-      "funding": {
+-        "url": "https://github.com/chalk/supports-hyperlinks?sponsor=1"
+-      }
+-    },
+-    "node_modules/supports-hyperlinks/node_modules/has-flag": {
+-      "version": "4.0.0",
+-      "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+-      "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+-    "node_modules/supports-hyperlinks/node_modules/supports-color": {
+-      "version": "7.2.0",
+-      "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+-      "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "has-flag": "^4.0.0"
+-      },
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+-    "node_modules/table": {
+-      "version": "6.9.0",
+-      "resolved": "https://registry.npmjs.org/table/-/table-6.9.0.tgz",
+-      "integrity": "sha512-9kY+CygyYM6j02t5YFHbNz2FN5QmYGv9zAjVp4lCDjlCw7amdckXlEt/bjMhUIfj4ThGRE4gCUH5+yGnNuPo5A==",
+-      "dev": true,
+-      "license": "BSD-3-Clause",
+-      "dependencies": {
+-        "ajv": "^8.0.1",
+-        "lodash.truncate": "^4.4.2",
+-        "slice-ansi": "^4.0.0",
+-        "string-width": "^4.2.3",
+-        "strip-ansi": "^6.0.1"
+-      },
+-      "engines": {
+-        "node": ">=10.0.0"
+-      }
+-    },
+-    "node_modules/table/node_modules/ansi-regex": {
+-      "version": "5.0.1",
+-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+-      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+-    "node_modules/table/node_modules/strip-ansi": {
+-      "version": "6.0.1",
+-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+-      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "ansi-regex": "^5.0.1"
+-      },
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+     "node_modules/tar-fs": {
+-      "version": "2.1.3",
+-      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.3.tgz",
+-      "integrity": "sha512-090nwYJDmlhwFwEW3QQl+vaNnxsO2yVsd45eTKRBzSzu+hlb1w2K9inVq5b0ngXuLVqQ4ApvsUHHnu/zQNkWAg==",
++      "version": "2.1.4",
++      "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.4.tgz",
++      "integrity": "sha512-mDAjwmZdh7LTT6pNleZ05Yt65HC3E+NiQzl672vQG38jIrehtJk/J3mNwIg+vShQPcLF/LV7CMnDW6vjj6sfYQ==",
+       "dev": true,
+@@ -6247,2 +4366,3 @@
+       "dev": true,
++      "license": "MIT",
+       "optional": true,
+@@ -6259,19 +4379,2 @@
+     },
+-    "node_modules/terminal-link": {
+-      "version": "4.0.0",
+-      "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-4.0.0.tgz",
+-      "integrity": "sha512-lk+vH+MccxNqgVqSnkMVKx4VLJfnLjDBGzH16JVZjKE2DoxP57s6/vt6JmXV5I3jBcfGrxNrYtC+mPtU7WJztA==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "ansi-escapes": "^7.0.0",
+-        "supports-hyperlinks": "^3.2.0"
+-      },
+-      "engines": {
+-        "node": ">=18"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+     "node_modules/ternary-stream": {
+@@ -6298,25 +4401,2 @@
+     },
+-    "node_modules/text-table": {
+-      "version": "0.2.0",
+-      "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+-      "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+-    "node_modules/textextensions": {
+-      "version": "6.11.0",
+-      "resolved": "https://registry.npmjs.org/textextensions/-/textextensions-6.11.0.tgz",
+-      "integrity": "sha512-tXJwSr9355kFJI3lbCkPpUH5cP8/M0GGy2xLO34aZCjMXBaK3SoPnZwr/oWmo1FdCnELcs4npdCIOFtq9W3ruQ==",
+-      "dev": true,
+-      "license": "Artistic-2.0",
+-      "dependencies": {
+-        "editions": "^6.21.0"
+-      },
+-      "engines": {
+-        "node": ">=4"
+-      },
+-      "funding": {
+-        "url": "https://bevry.me/fund"
+-      }
+-    },
+     "node_modules/through": {
+@@ -6346,5 +4426,5 @@
+     "node_modules/tmp": {
+-      "version": "0.2.4",
+-      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.4.tgz",
+-      "integrity": "sha512-UdiSoX6ypifLmrfQ/XfiawN6hkjSBpCjhKxxZcWlUUmoXLaCKQU0bx4HF/tdDK2uzRuchf1txGvrWBzYREssoQ==",
++      "version": "0.2.5",
++      "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz",
++      "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==",
+       "dev": true,
+@@ -6469,4 +4549,5 @@
+       "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz",
+-      "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0= sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
++      "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==",
+       "dev": true,
++      "license": "Apache-2.0",
+       "optional": true,
+@@ -6505,5 +4586,5 @@
+     "node_modules/uc.micro": {
+-      "version": "2.1.0",
+-      "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
+-      "integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
++      "version": "1.0.6",
++      "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
++      "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
+       "dev": true,
+@@ -6518,2 +4599,12 @@
+     },
++    "node_modules/undici": {
++      "version": "7.16.0",
++      "resolved": "https://registry.npmjs.org/undici/-/undici-7.16.0.tgz",
++      "integrity": "sha512-QEg3HPMll0o3t2ourKwOeUAZ159Kn9mx5pnzHRQO8+Wixmh88YdZRiIwat0iNzNNXn0yoEtXJqFpyW7eM8BV7g==",
++      "dev": true,
++      "license": "MIT",
++      "engines": {
++        "node": ">=20.18.1"
++      }
++    },
+     "node_modules/undici-types": {
+@@ -6525,15 +4616,2 @@
+     },
+-    "node_modules/unicorn-magic": {
+-      "version": "0.3.0",
+-      "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz",
+-      "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=18"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+     "node_modules/universal-user-agent": {
+@@ -6557,3 +4635,4 @@
+       "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==",
+-      "dev": true
++      "dev": true,
++      "license": "MIT"
+     },
+@@ -6574,26 +4653,2 @@
+     },
+-    "node_modules/validate-npm-package-license": {
+-      "version": "3.0.4",
+-      "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz",
+-      "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==",
+-      "dev": true,
+-      "license": "Apache-2.0",
+-      "dependencies": {
+-        "spdx-correct": "^3.0.0",
+-        "spdx-expression-parse": "^3.0.0"
+-      }
+-    },
+-    "node_modules/version-range": {
+-      "version": "4.15.0",
+-      "resolved": "https://registry.npmjs.org/version-range/-/version-range-4.15.0.tgz",
+-      "integrity": "sha512-Ck0EJbAGxHwprkzFO966t4/5QkRuzh+/I1RxhLgUKKwEn+Cd8NwM60mE3AqBZg5gYODoXW0EFsQvbZjRlvdqbg==",
+-      "dev": true,
+-      "license": "Artistic-2.0",
+-      "engines": {
+-        "node": ">=4"
+-      },
+-      "funding": {
+-        "url": "https://bevry.me/fund"
+-      }
+-    },
+     "node_modules/vinyl": {
+@@ -6737,2 +4792,25 @@
+     },
++    "node_modules/whatwg-encoding": {
++      "version": "3.1.1",
++      "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
++      "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==",
++      "dev": true,
++      "license": "MIT",
++      "dependencies": {
++        "iconv-lite": "0.6.3"
++      },
++      "engines": {
++        "node": ">=18"
++      }
++    },
++    "node_modules/whatwg-mimetype": {
++      "version": "4.0.0",
++      "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
++      "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
++      "dev": true,
++      "license": "MIT",
++      "engines": {
++        "node": ">=18"
++      }
++    },
+     "node_modules/which": {
+@@ -6758,136 +4836,2 @@
+     },
+-    "node_modules/wrap-ansi": {
+-      "version": "8.1.0",
+-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+-      "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "ansi-styles": "^6.1.0",
+-        "string-width": "^5.0.1",
+-        "strip-ansi": "^7.0.1"
+-      },
+-      "engines": {
+-        "node": ">=12"
+-      },
+-      "funding": {
+-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+-      }
+-    },
+-    "node_modules/wrap-ansi-cjs": {
+-      "name": "wrap-ansi",
+-      "version": "7.0.0",
+-      "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+-      "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "ansi-styles": "^4.0.0",
+-        "string-width": "^4.1.0",
+-        "strip-ansi": "^6.0.0"
+-      },
+-      "engines": {
+-        "node": ">=10"
+-      },
+-      "funding": {
+-        "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+-      }
+-    },
+-    "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": {
+-      "version": "5.0.1",
+-      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+-      "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+-    "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": {
+-      "version": "4.3.0",
+-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+-      "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "color-convert": "^2.0.1"
+-      },
+-      "engines": {
+-        "node": ">=8"
+-      },
+-      "funding": {
+-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+-      }
+-    },
+-    "node_modules/wrap-ansi-cjs/node_modules/color-convert": {
+-      "version": "2.0.1",
+-      "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+-      "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "color-name": "~1.1.4"
+-      },
+-      "engines": {
+-        "node": ">=7.0.0"
+-      }
+-    },
+-    "node_modules/wrap-ansi-cjs/node_modules/color-name": {
+-      "version": "1.1.4",
+-      "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+-      "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+-    "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": {
+-      "version": "6.0.1",
+-      "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+-      "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "ansi-regex": "^5.0.1"
+-      },
+-      "engines": {
+-        "node": ">=8"
+-      }
+-    },
+-    "node_modules/wrap-ansi/node_modules/ansi-styles": {
+-      "version": "6.2.3",
+-      "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz",
+-      "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==",
+-      "dev": true,
+-      "license": "MIT",
+-      "engines": {
+-        "node": ">=12"
+-      },
+-      "funding": {
+-        "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+-      }
+-    },
+-    "node_modules/wrap-ansi/node_modules/emoji-regex": {
+-      "version": "9.2.2",
+-      "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+-      "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+-      "dev": true,
+-      "license": "MIT"
+-    },
+-    "node_modules/wrap-ansi/node_modules/string-width": {
+-      "version": "5.1.2",
+-      "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+-      "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+-      "dev": true,
+-      "license": "MIT",
+-      "dependencies": {
+-        "eastasianwidth": "^0.2.0",
+-        "emoji-regex": "^9.2.2",
+-        "strip-ansi": "^7.0.1"
+-      },
+-      "engines": {
+-        "node": ">=12"
+-      },
+-      "funding": {
+-        "url": "https://github.com/sponsors/sindresorhus"
+-      }
+-    },
+     "node_modules/wrappy": {
+@@ -6903,2 +4847,3 @@
+       "dev": true,
++      "license": "MIT",
+       "dependencies": {
+@@ -6916,2 +4861,3 @@
+       "dev": true,
++      "license": "MIT",
+       "engines": {
+@@ -6954,2 +4900,12 @@
+     },
++    "node_modules/yazl": {
++      "version": "2.5.1",
++      "resolved": "https://registry.npmjs.org/yazl/-/yazl-2.5.1.tgz",
++      "integrity": "sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw==",
++      "dev": true,
++      "license": "MIT",
++      "dependencies": {
++        "buffer-crc32": "~0.2.3"
++      }
++    },
+     "node_modules/yocto-queue": {
+diff --git a/build/package.json b/build/package.json
+index 2ea3695..eeb0424 100644
+--- a/build/package.json
++++ b/build/package.json
+@@ -11,3 +11,2 @@
+     "@electron/get": "^2.0.0",
+-    "@electron/osx-sign": "^2.0.0",
+     "@types/ansi-colors": "^3.2.0",
+@@ -45,3 +44,3 @@
+     "@vscode/ripgrep": "^1.15.13",
+-    "@vscode/vsce": "3.6.1",
++    "@vscode/vsce": "2.20.1",
+     "ansi-colors": "^3.2.3",

+ 5 - 7
patches/linux/yarn-dependencies.patch → patches/linux/fix-npm-postinstall.patch

@@ -1,17 +1,15 @@
 diff --git a/build/npm/postinstall.js b/build/npm/postinstall.js
-index c1f22aa5002..a6fb2728b1f 100644
+index fa8da7d..abd8957 100644
 --- a/build/npm/postinstall.js
 +++ b/build/npm/postinstall.js
-@@ -53,8 +53,10 @@ function npmInstall(dir, opts) {
- 		log(dir, `Installing dependencies inside container ${process.env['VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME']}...`);
- 
+@@ -55,5 +55,7 @@ function npmInstall(dir, opts) {
  		opts.cwd = root;
 -		if (process.env['npm_config_arch'] === 'arm64') {
 -			run('sudo', ['docker', 'run', '--rm', '--privileged', 'multiarch/qemu-user-static', '--reset', '-p', 'yes'], opts);
+-		}
 +		if ((process.env['npm_config_arch'] === 'arm64' || process.env['npm_config_arch'] === 'arm' || process.env['npm_config_arch'] === 'ppc64' || process.env['npm_config_arch'] === 'riscv64' || process.env['npm_config_arch'] === 's390x') && process.env['DISABLE_QEMU'] !== 'true') {
 +			run('sudo', ['docker', 'run', '--rm', '--privileged', 'tonistiigi/binfmt:latest', '--install', 'all'], opts);
 +		} else if (process.env['npm_config_arch'] === 'loong64') {
 +			run('sudo', ['docker', 'run', '--rm', '--privileged', 'loongcr.lcpu.dev/multiarch/archlinux', '--reset', '-p', 'yes'], opts);
- 		}
- 		run('sudo', ['docker', 'run', '-e', 'GITHUB_TOKEN', '-v', `${process.env['VSCODE_HOST_MOUNT']}:/root/vscode`, '-v', `${process.env['VSCODE_HOST_MOUNT']}/.build/.netrc:/root/.netrc`, '-w', path.resolve('/root/vscode', dir), process.env['VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME'], 'sh', '-c', `\"chown -R root:root ${path.resolve('/root/vscode', dir)} && npm i -g node-gyp-build && npm ci\"`], opts);
- 		run('sudo', ['chown', '-R', `${userinfo.uid}:${userinfo.gid}`, `${path.resolve(root, dir)}`], opts);
++ 		}
+ 		run('sudo', [

+ 10 - 10
patches/policies.patch

@@ -50,27 +50,27 @@ index 381d2f4..9cdec71 100644
 +		<target prefix="${regKey}" namespace="!!ORG_NAME!!.Policies.${regKey}" />
  	</policyNamespaces>
 diff --git a/eslint.config.js b/eslint.config.js
-index d7b29f2..1eb07aa 100644
+index 127bb34..44d2b4c 100644
 --- a/eslint.config.js
 +++ b/eslint.config.js
-@@ -786,3 +786,3 @@ export default tseslint.config(
+@@ -800,3 +800,3 @@ export default tseslint.config(
  						'@vscode/iconv-lite-umd',
 -						'@vscode/policy-watcher',
 +						'@vscodium/policy-watcher',
  						'@vscode/proxy-agent',
 diff --git a/package-lock.json b/package-lock.json
-index 52d750a..24a462c 100644
+index d0d76f5..9ccca24 100644
 --- a/package-lock.json
 +++ b/package-lock.json
 @@ -18,3 +18,2 @@
          "@vscode/iconv-lite-umd": "0.7.0",
 -        "@vscode/policy-watcher": "^1.3.2",
-         "@vscode/proxy-agent": "^0.33.0",
+         "@vscode/proxy-agent": "^0.34.0",
 @@ -29,2 +28,3 @@
          "@vscode/windows-registry": "^1.1.0",
 +        "@vscodium/policy-watcher": "^1.3.2-252465",
-         "@xterm/addon-clipboard": "^0.2.0-beta.101",
-@@ -3270,22 +3270,2 @@
+         "@xterm/addon-clipboard": "^0.2.0-beta.102",
+@@ -2960,22 +2960,2 @@
      },
 -    "node_modules/@vscode/policy-watcher": {
 -      "version": "1.3.2",
@@ -93,7 +93,7 @@ index 52d750a..24a462c 100644
 -      }
 -    },
      "node_modules/@vscode/proxy-agent": {
-@@ -3682,2 +3662,22 @@
+@@ -3372,2 +3352,22 @@
      },
 +    "node_modules/@vscodium/policy-watcher": {
 +      "version": "1.3.2-252465",
@@ -117,14 +117,14 @@ index 52d750a..24a462c 100644
 +    },
      "node_modules/@webassemblyjs/ast": {
 diff --git a/package.json b/package.json
-index b6ca424..97077e2 100644
+index eece8d0..5abb294 100644
 --- a/package.json
 +++ b/package.json
-@@ -78,3 +78,3 @@
+@@ -79,3 +79,3 @@
      "@vscode/iconv-lite-umd": "0.7.0",
 -    "@vscode/policy-watcher": "^1.3.2",
 +    "@vscodium/policy-watcher": "^1.3.2-252465",
-     "@vscode/proxy-agent": "^0.33.0",
+     "@vscode/proxy-agent": "^0.34.0",
 diff --git a/src/vs/base/test/node/uri.perf.data.txt b/src/vs/base/test/node/uri.perf.data.txt
 index ee0a24b..881ce36 100644
 --- a/src/vs/base/test/node/uri.perf.data.txt

+ 25 - 9
product.json

@@ -60,6 +60,12 @@
       "contribEditSessions",
       "authenticationChallenges"
     ],
+    "ms-toolsai.vscode-ai": [
+      "authenticationChallenges"
+    ],
+    "TeamsDevApp.vscode-ai-foundry": [
+      "authenticationChallenges"
+    ],
     "ms-vscode.vscode-selfhost-test-provider": [
       "testObserver",
       "testRelatedCode"
@@ -87,7 +93,8 @@
       "tunnels"
     ],
     "ms-toolsai.vscode-ai-remote": [
-      "resolvers"
+      "resolvers",
+      "authenticationChallenges"
     ],
     "ms-python.python": [
       "codeActionAI",
@@ -221,10 +228,16 @@
       "treeViewMarkdownMessage"
     ],
     "GitHub.copilot": [
-      "inlineCompletionsAdditions"
+      "inlineCompletionsAdditions",
+      "interactive",
+      "terminalDataWriteEvent",
+      "devDeviceId"
     ],
     "GitHub.copilot-nightly": [
-      "inlineCompletionsAdditions"
+      "inlineCompletionsAdditions",
+      "interactive",
+      "terminalDataWriteEvent",
+      "devDeviceId"
     ],
     "GitHub.copilot-chat": [
       "interactive",
@@ -274,7 +287,9 @@
       "resolvers",
       "taskExecutionTerminal",
       "dataChannels",
-      "chatSessionsProvider"
+      "chatSessionsProvider",
+      "devDeviceId",
+      "contribEditorContentMenu"
     ],
     "GitHub.remotehub": [
       "contribRemoteHelp",
@@ -292,7 +307,8 @@
       "timeline"
     ],
     "ms-python.vscode-pylance": [
-      "terminalShellEnv"
+      "terminalShellEnv",
+      "portsAttributes"
     ],
     "ms-python.debugpy": [
       "contribViewsWelcome",
@@ -338,7 +354,6 @@
       "terminalDataWriteEvent",
       "chatParticipantAdditions"
     ],
-    "vscjava.vscode-java-pack": [],
     "ms-dotnettools.csdevkit": [
       "inlineCompletionsAdditions"
     ],
@@ -357,9 +372,6 @@
       "chatParticipantAdditions",
       "languageModelSystem"
     ],
-    "ms-toolsai.datawrangler": [],
-    "ms-vscode.vscode-commander": [],
-    "ms-vscode.vscode-websearchforcopilot": [],
     "ms-vscode.vscode-copilot-vision": [
       "chatReferenceBinaryData",
       "codeActionAI"
@@ -367,6 +379,10 @@
     "ms-autodev.vscode-autodev": [
       "chatParticipantAdditions"
     ],
+    "codetrek.haystack-search": [
+      "fileSearchProvider",
+      "textSearchProvider2"
+    ],
     "vscjava.vscode-java-upgrade": [
       "chatParticipantAdditions",
       "chatParticipantPrivate"

+ 2 - 2
upstream/insider.json

@@ -1,4 +1,4 @@
 {
-  "tag": "1.104.0",
-  "commit": "f220831ea2d946c0dcb0f3eaa480eb435a2c1260"
+  "tag": "1.105.0",
+  "commit": "d8c3a3263dc798075cdb0104e113df049f2eaf7c"
 }