From 7b11a725c8f2ed79e15628a8515c0afc6bb8a01c Mon Sep 17 00:00:00 2001 From: moon Date: Thu, 22 Feb 2024 17:50:17 -0800 Subject: [PATCH] Add docs, move relationships out of lib, set up tsdoc, some fixes --- .eslintignore | 3 +- README.md | 4 +- docs/.gitignore | 18 + docs/.prettierrc.json | 1 + docs/README.md | 17 + docs/babel.config.js | 3 + docs/docs/_category_.yml | 1 + docs/docs/classes/BgentRuntime.md | 298 + docs/docs/classes/MemoryManager.md | 161 + docs/docs/classes/_category_.yml | 2 + docs/docs/functions/_category_.yml | 2 + docs/docs/functions/addLore.md | 25 + docs/docs/functions/cancelGoal.md | 21 + docs/docs/functions/composeActionExamples.md | 20 + docs/docs/functions/composeContext.md | 21 + docs/docs/functions/createGoal.md | 23 + docs/docs/functions/finishGoal.md | 21 + docs/docs/functions/finishGoalObjective.md | 22 + docs/docs/functions/formatActionConditions.md | 19 + docs/docs/functions/formatActionNames.md | 19 + docs/docs/functions/formatActions.md | 19 + docs/docs/functions/formatActors.md | 24 + .../functions/formatEvaluatorConditions.md | 19 + .../formatEvaluatorExampleConditions.md | 19 + .../formatEvaluatorExampleDescriptions.md | 19 + .../docs/functions/formatEvaluatorExamples.md | 19 + docs/docs/functions/formatEvaluatorNames.md | 19 + docs/docs/functions/formatEvaluators.md | 19 + docs/docs/functions/formatGoalsAsString.md | 20 + docs/docs/functions/formatLore.md | 19 + docs/docs/functions/formatMessages.md | 25 + docs/docs/functions/getActorDetails.md | 23 + docs/docs/functions/getFormattedActions.md | 19 + docs/docs/functions/getGoals.md | 24 + docs/docs/functions/getLore.md | 23 + .../docs/functions/parseJSONObjectFromText.md | 19 + docs/docs/functions/parseJsonArrayFromText.md | 19 + docs/docs/functions/updateGoals.md | 22 + docs/docs/index.md | 103 + docs/docs/interfaces/Action.md | 43 + docs/docs/interfaces/Actor.md | 33 + docs/docs/interfaces/Content.md | 29 + docs/docs/interfaces/ContentExample.md | 35 + docs/docs/interfaces/EvaluationExample.md | 25 + docs/docs/interfaces/Evaluator.md | 43 + docs/docs/interfaces/Goal.md | 43 + docs/docs/interfaces/Memory.md | 49 + docs/docs/interfaces/Message.md | 37 + docs/docs/interfaces/MessageExample.md | 25 + docs/docs/interfaces/Objective.md | 25 + docs/docs/interfaces/Relationship.md | 49 + docs/docs/interfaces/State.md | 137 + docs/docs/interfaces/_category_.yml | 2 + docs/docs/modules.md | 75 + docs/docs/types/Handler.md | 25 + docs/docs/types/Validator.md | 25 + docs/docs/types/_category_.yml | 2 + docs/docs/variables/_category_.yml | 2 + docs/docs/variables/continue.md | 9 + docs/docs/variables/defaultActions.md | 9 + docs/docs/variables/defaultEvaluators.md | 9 + docs/docs/variables/embeddingDimension.md | 9 + docs/docs/variables/embeddingZeroVector.md | 9 + docs/docs/variables/evaluationTemplate.md | 9 + docs/docs/variables/ignore.md | 9 + docs/docs/variables/summarization.md | 20 + docs/docs/variables/wait.md | 9 + docs/docusaurus.config.js | 131 + docs/package-lock.json | 14902 ++++++++++++++++ docs/package.json | 49 + docs/sidebars.js | 20 + docs/src/components/HomepageFeatures/index.js | 68 + .../HomepageFeatures/styles.module.css | 11 + docs/src/css/custom.css | 30 + docs/src/pages/index.js | 44 + docs/src/pages/index.module.css | 23 + docs/src/pages/markdown-page.md | 7 + docs/static/.nojekyll | 0 docs/static/img/background.jpg | Bin 0 -> 309794 bytes docs/static/img/favicon.svg | 17 + docs/static/img/logo.svg | 17 + package-lock.json | 4 +- package.json | 6 +- rollup.config.js | 4 + src/agents/cj/__tests__/relationships.test.ts | 73 + .../cj/actions/__tests__/introduce.test.ts | 2 +- src/agents/cj/actions/introduce.ts | 2 +- .../cj/evaluators/__tests__/details.test.ts | 2 +- .../cj/evaluators/__tests__/profile.test.ts | 2 +- src/agents/cj/evaluators/profile.ts | 3 +- src/agents/cj/index.ts | 2 +- src/{lib => agents/cj}/relationships.ts | 2 +- src/agents/cj/types.ts | 11 + src/agents/simple/index.ts | 2 +- src/index.ts | 1 + src/lib/__tests__/actions.test.ts | 137 - src/lib/__tests__/evaluation.test.ts | 156 - src/lib/__tests__/lore.test.ts | 101 - src/lib/__tests__/memory.test.ts | 613 - src/lib/__tests__/messages.test.ts | 92 - src/lib/__tests__/relationships.test.ts | 2 +- src/lib/__tests__/runtime.test.ts | 99 - src/lib/actions/__tests__/continue.test.ts | 2 +- src/lib/actions/__tests__/ignore.test.ts | 10 +- src/lib/actions/__tests__/wait.test.ts | 2 +- src/lib/actions/continue.ts | 14 +- .../__tests__/summarization.test.ts | 2 +- src/lib/evaluators/summarization.ts | 20 +- src/lib/index.ts | 1 - src/lib/logger.ts | 30 +- src/lib/memory.ts | 17 +- src/lib/messages.ts | 18 +- src/lib/runtime.ts | 152 +- src/lib/types.ts | 14 +- tsconfig.json | 11 + 115 files changed, 17574 insertions(+), 1324 deletions(-) create mode 100644 docs/.gitignore create mode 100644 docs/.prettierrc.json create mode 100644 docs/README.md create mode 100644 docs/babel.config.js create mode 100644 docs/docs/_category_.yml create mode 100644 docs/docs/classes/BgentRuntime.md create mode 100644 docs/docs/classes/MemoryManager.md create mode 100644 docs/docs/classes/_category_.yml create mode 100644 docs/docs/functions/_category_.yml create mode 100644 docs/docs/functions/addLore.md create mode 100644 docs/docs/functions/cancelGoal.md create mode 100644 docs/docs/functions/composeActionExamples.md create mode 100644 docs/docs/functions/composeContext.md create mode 100644 docs/docs/functions/createGoal.md create mode 100644 docs/docs/functions/finishGoal.md create mode 100644 docs/docs/functions/finishGoalObjective.md create mode 100644 docs/docs/functions/formatActionConditions.md create mode 100644 docs/docs/functions/formatActionNames.md create mode 100644 docs/docs/functions/formatActions.md create mode 100644 docs/docs/functions/formatActors.md create mode 100644 docs/docs/functions/formatEvaluatorConditions.md create mode 100644 docs/docs/functions/formatEvaluatorExampleConditions.md create mode 100644 docs/docs/functions/formatEvaluatorExampleDescriptions.md create mode 100644 docs/docs/functions/formatEvaluatorExamples.md create mode 100644 docs/docs/functions/formatEvaluatorNames.md create mode 100644 docs/docs/functions/formatEvaluators.md create mode 100644 docs/docs/functions/formatGoalsAsString.md create mode 100644 docs/docs/functions/formatLore.md create mode 100644 docs/docs/functions/formatMessages.md create mode 100644 docs/docs/functions/getActorDetails.md create mode 100644 docs/docs/functions/getFormattedActions.md create mode 100644 docs/docs/functions/getGoals.md create mode 100644 docs/docs/functions/getLore.md create mode 100644 docs/docs/functions/parseJSONObjectFromText.md create mode 100644 docs/docs/functions/parseJsonArrayFromText.md create mode 100644 docs/docs/functions/updateGoals.md create mode 100644 docs/docs/index.md create mode 100644 docs/docs/interfaces/Action.md create mode 100644 docs/docs/interfaces/Actor.md create mode 100644 docs/docs/interfaces/Content.md create mode 100644 docs/docs/interfaces/ContentExample.md create mode 100644 docs/docs/interfaces/EvaluationExample.md create mode 100644 docs/docs/interfaces/Evaluator.md create mode 100644 docs/docs/interfaces/Goal.md create mode 100644 docs/docs/interfaces/Memory.md create mode 100644 docs/docs/interfaces/Message.md create mode 100644 docs/docs/interfaces/MessageExample.md create mode 100644 docs/docs/interfaces/Objective.md create mode 100644 docs/docs/interfaces/Relationship.md create mode 100644 docs/docs/interfaces/State.md create mode 100644 docs/docs/interfaces/_category_.yml create mode 100644 docs/docs/modules.md create mode 100644 docs/docs/types/Handler.md create mode 100644 docs/docs/types/Validator.md create mode 100644 docs/docs/types/_category_.yml create mode 100644 docs/docs/variables/_category_.yml create mode 100644 docs/docs/variables/continue.md create mode 100644 docs/docs/variables/defaultActions.md create mode 100644 docs/docs/variables/defaultEvaluators.md create mode 100644 docs/docs/variables/embeddingDimension.md create mode 100644 docs/docs/variables/embeddingZeroVector.md create mode 100644 docs/docs/variables/evaluationTemplate.md create mode 100644 docs/docs/variables/ignore.md create mode 100644 docs/docs/variables/summarization.md create mode 100644 docs/docs/variables/wait.md create mode 100644 docs/docusaurus.config.js create mode 100644 docs/package-lock.json create mode 100644 docs/package.json create mode 100644 docs/sidebars.js create mode 100644 docs/src/components/HomepageFeatures/index.js create mode 100644 docs/src/components/HomepageFeatures/styles.module.css create mode 100644 docs/src/css/custom.css create mode 100644 docs/src/pages/index.js create mode 100644 docs/src/pages/index.module.css create mode 100644 docs/src/pages/markdown-page.md create mode 100644 docs/static/.nojekyll create mode 100644 docs/static/img/background.jpg create mode 100644 docs/static/img/favicon.svg create mode 100644 docs/static/img/logo.svg create mode 100644 src/agents/cj/__tests__/relationships.test.ts rename src/{lib => agents/cj}/relationships.ts (96%) create mode 100644 src/agents/cj/types.ts delete mode 100644 src/lib/__tests__/actions.test.ts delete mode 100644 src/lib/__tests__/evaluation.test.ts delete mode 100644 src/lib/__tests__/lore.test.ts delete mode 100644 src/lib/__tests__/memory.test.ts delete mode 100644 src/lib/__tests__/messages.test.ts delete mode 100644 src/lib/__tests__/runtime.test.ts diff --git a/.eslintignore b/.eslintignore index 0058600..d7ff8d9 100644 --- a/.eslintignore +++ b/.eslintignore @@ -4,4 +4,5 @@ **/types/* **/scripts/concatenated-output.ts rollup.config.js -jest.config.js \ No newline at end of file +jest.config.js +docs/ \ No newline at end of file diff --git a/README.md b/README.md index 6194de1..6ecc0da 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,9 @@ A flexible, scalable and customizable agent to do your bidding. [![forks - bgent](https://img.shields.io/github/forks/lalalune/bgent?style=social)](https://github.com/lalalune/bgent) ## Developing Live on Discord - + +[![Join the Discord server](https://dcbadge.vercel.app/api/server/qetWd7J9De)](https://discord.gg/qetWd7J9De) + ## PRE-ALPHA RELEASE - This code is NOT production ready. This package has been released as-is to enable collaboration and development. diff --git a/docs/.gitignore b/docs/.gitignore new file mode 100644 index 0000000..a7270b5 --- /dev/null +++ b/docs/.gitignore @@ -0,0 +1,18 @@ +# Dependencies +/node_modules + +# Production +/build + +# Generated files +.docusaurus +.cache-loader + +# Misc +.DS_Store +.env.local +.env.development.local +.env.test.local +.env.production.local + +npm-debug.log* diff --git a/docs/.prettierrc.json b/docs/.prettierrc.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/docs/.prettierrc.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 0000000..fc686a5 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,17 @@ +# Website + +This website is built using [Docusaurus](https://docusaurus.io/), a modern static website generator. + +### Installation + +``` +$ npm install +``` + +### Local Development + +``` +$ npm start +``` + +This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. \ No newline at end of file diff --git a/docs/babel.config.js b/docs/babel.config.js new file mode 100644 index 0000000..e00595d --- /dev/null +++ b/docs/babel.config.js @@ -0,0 +1,3 @@ +module.exports = { + presets: [require.resolve('@docusaurus/core/lib/babel/preset')], +}; diff --git a/docs/docs/_category_.yml b/docs/docs/_category_.yml new file mode 100644 index 0000000..24a4602 --- /dev/null +++ b/docs/docs/_category_.yml @@ -0,0 +1 @@ +label: "API" \ No newline at end of file diff --git a/docs/docs/classes/BgentRuntime.md b/docs/docs/classes/BgentRuntime.md new file mode 100644 index 0000000..5c6c1c8 --- /dev/null +++ b/docs/docs/classes/BgentRuntime.md @@ -0,0 +1,298 @@ +--- +id: "BgentRuntime" +title: "Class: BgentRuntime" +sidebar_label: "BgentRuntime" +sidebar_position: 0 +custom_edit_url: null +--- + +Represents the runtime environment for an agent, handling message processing, +action registration, and interaction with external services like OpenAI and Supabase. + +## Constructors + +### constructor + +• **new BgentRuntime**(`opts`): [`BgentRuntime`](BgentRuntime.md) + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `opts` | `Object` | +| `opts.actions?` | [`Action`](../interfaces/Action.md)[] | +| `opts.debugMode?` | `boolean` | +| `opts.evaluators?` | [`Evaluator`](../interfaces/Evaluator.md)[] | +| `opts.flavor?` | `string` | +| `opts.recentMessageCount?` | `number` | +| `opts.serverUrl?` | `string` | +| `opts.supabase` | `default`\<`any`, ``"public"``, `any`\> | +| `opts.token` | `string` | + +#### Returns + +[`BgentRuntime`](BgentRuntime.md) + +## Properties + +### actions + +• **actions**: [`Action`](../interfaces/Action.md)[] = `[]` + +Custom actions that the agent can perform. + +___ + +### debugMode + +• **debugMode**: `boolean` + +Indicates if debug messages should be logged. + +___ + +### descriptionManager + +• **descriptionManager**: [`MemoryManager`](MemoryManager.md) + +Store and recall descriptions of users based on conversations. + +___ + +### evaluators + +• **evaluators**: [`Evaluator`](../interfaces/Evaluator.md)[] = `[]` + +Evaluators used to assess and guide the agent's responses. + +___ + +### flavor + +• **flavor**: `string` = `""` + +A string to customize the agent's behavior or responses. + +___ + +### loreManager + +• **loreManager**: [`MemoryManager`](MemoryManager.md) + +Manage the creation and recall of static information (documents, historical game lore, etc) + +___ + +### messageManager + +• **messageManager**: [`MemoryManager`](MemoryManager.md) + +Store messages that are sent and received by the agent. + +___ + +### serverUrl + +• **serverUrl**: `string` = `"http://localhost:7998"` + +The base URL of the server where the agent's requests are processed. + +___ + +### summarizationManager + +• **summarizationManager**: [`MemoryManager`](MemoryManager.md) + +Manage the summarization and recall of facts. + +___ + +### supabase + +• **supabase**: `default`\<`any`, ``"public"``, `any`\> + +The Supabase client used for database interactions. + +___ + +### token + +• **token**: ``null`` \| `string` + +Authentication token used for securing requests. + +## Methods + +### completion + +▸ **completion**(`«destructured»`): `Promise`\<`string`\> + +Send a message to the OpenAI API for completion. + +#### Parameters + +| Name | Type | Default value | +| :------ | :------ | :------ | +| `«destructured»` | `Object` | `undefined` | +| › `context` | `undefined` \| `string` | `""` | +| › `frequency_penalty` | `undefined` \| `number` | `0.0` | +| › `model` | `undefined` \| `string` | `"gpt-3.5-turbo-0125"` | +| › `presence_penalty` | `undefined` \| `number` | `0.0` | +| › `stop` | `undefined` \| `never`[] | `[]` | + +#### Returns + +`Promise`\<`string`\> + +The completed message. + +___ + +### composeState + +▸ **composeState**(`message`): `Promise`\<\{ `actionConditions`: `string` ; `actionExamples`: `string` ; `actionNames`: `string` ; `actions`: `string` ; `actors`: `string` ; `actorsData`: [`Actor`](../interfaces/Actor.md)[] ; `agentId`: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` ; `agentName`: `undefined` \| `string` ; `evaluatorConditions`: `string` ; `evaluatorExamples`: `string` ; `evaluatorNames`: `string` ; `evaluators`: `string` ; `evaluatorsData`: [`Evaluator`](../interfaces/Evaluator.md)[] ; `flavor`: `string` ; `goals`: `string` ; `goalsData`: [`Goal`](../interfaces/Goal.md)[] ; `lore`: `string` ; `loreData`: [`Memory`](../interfaces/Memory.md)[] ; `recentMessages`: `string` ; `recentMessagesData`: [`Memory`](../interfaces/Memory.md)[] ; `recentSummarizations`: `string` ; `recentSummarizationsData`: [`Memory`](../interfaces/Memory.md)[] ; `relevantSummarizations`: `string` ; `relevantSummarizationsData`: [`Memory`](../interfaces/Memory.md)[] ; `room_id`: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` ; `senderName`: `undefined` \| `string` ; `userIds`: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\`[] }\> + +Compose the state of the agent into an object that can be passed or used for response generation. + +#### Parameters + +| Name | Type | Description | +| :------ | :------ | :------ | +| `message` | [`Message`](../interfaces/Message.md) | The message to compose the state from. | + +#### Returns + +`Promise`\<\{ `actionConditions`: `string` ; `actionExamples`: `string` ; `actionNames`: `string` ; `actions`: `string` ; `actors`: `string` ; `actorsData`: [`Actor`](../interfaces/Actor.md)[] ; `agentId`: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` ; `agentName`: `undefined` \| `string` ; `evaluatorConditions`: `string` ; `evaluatorExamples`: `string` ; `evaluatorNames`: `string` ; `evaluators`: `string` ; `evaluatorsData`: [`Evaluator`](../interfaces/Evaluator.md)[] ; `flavor`: `string` ; `goals`: `string` ; `goalsData`: [`Goal`](../interfaces/Goal.md)[] ; `lore`: `string` ; `loreData`: [`Memory`](../interfaces/Memory.md)[] ; `recentMessages`: `string` ; `recentMessagesData`: [`Memory`](../interfaces/Memory.md)[] ; `recentSummarizations`: `string` ; `recentSummarizationsData`: [`Memory`](../interfaces/Memory.md)[] ; `relevantSummarizations`: `string` ; `relevantSummarizationsData`: [`Memory`](../interfaces/Memory.md)[] ; `room_id`: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` ; `senderName`: `undefined` \| `string` ; `userIds`: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\`[] }\> + +The state of the agent. + +___ + +### embed + +▸ **embed**(`input`): `Promise`\<`number`[]\> + +Send a message to the OpenAI API for embedding. + +#### Parameters + +| Name | Type | Description | +| :------ | :------ | :------ | +| `input` | `string` | The input to be embedded. | + +#### Returns + +`Promise`\<`number`[]\> + +The embedding of the input. + +___ + +### evaluate + +▸ **evaluate**(`message`, `state`): `Promise`\<``null`` \| `any`[]\> + +Evaluate the message and state using the registered evaluators. + +#### Parameters + +| Name | Type | Description | +| :------ | :------ | :------ | +| `message` | [`Message`](../interfaces/Message.md) | The message to evaluate. | +| `state` | [`State`](../interfaces/State.md) | The state of the agent. | + +#### Returns + +`Promise`\<``null`` \| `any`[]\> + +The results of the evaluation. + +___ + +### getRecentMessageCount + +▸ **getRecentMessageCount**(): `number` + +Get the number of messages that are kept in the conversation buffer. + +#### Returns + +`number` + +The number of recent messages to be kept in memory. + +___ + +### handleMessage + +▸ **handleMessage**(`message`, `state?`): `Promise`\<`any`\> + +Handle an incoming message, processing it and returning a response. + +#### Parameters + +| Name | Type | Description | +| :------ | :------ | :------ | +| `message` | [`Message`](../interfaces/Message.md) | The message to handle. | +| `state?` | [`State`](../interfaces/State.md) | The state of the agent. | + +#### Returns + +`Promise`\<`any`\> + +The response to the message. + +___ + +### processActions + +▸ **processActions**(`message`, `content`): `Promise`\<`void`\> + +Process the actions of a message. + +#### Parameters + +| Name | Type | Description | +| :------ | :------ | :------ | +| `message` | [`Message`](../interfaces/Message.md) | The message to process. | +| `content` | [`Content`](../interfaces/Content.md) | The content of the message to process actions from. | + +#### Returns + +`Promise`\<`void`\> + +___ + +### registerAction + +▸ **registerAction**(`action`): `void` + +Register an action for the agent to perform. + +#### Parameters + +| Name | Type | Description | +| :------ | :------ | :------ | +| `action` | [`Action`](../interfaces/Action.md) | The action to register. | + +#### Returns + +`void` + +___ + +### registerEvaluator + +▸ **registerEvaluator**(`evaluator`): `void` + +Register an evaluator to assess and guide the agent's responses. + +#### Parameters + +| Name | Type | Description | +| :------ | :------ | :------ | +| `evaluator` | [`Evaluator`](../interfaces/Evaluator.md) | The evaluator to register. | + +#### Returns + +`void` diff --git a/docs/docs/classes/MemoryManager.md b/docs/docs/classes/MemoryManager.md new file mode 100644 index 0000000..b0e87c7 --- /dev/null +++ b/docs/docs/classes/MemoryManager.md @@ -0,0 +1,161 @@ +--- +id: "MemoryManager" +title: "Class: MemoryManager" +sidebar_label: "MemoryManager" +sidebar_position: 0 +custom_edit_url: null +--- + +Manage memories in the database. + +## Constructors + +### constructor + +• **new MemoryManager**(`«destructured»`): [`MemoryManager`](MemoryManager.md) + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `«destructured»` | `Object` | +| › `runtime` | [`BgentRuntime`](BgentRuntime.md) | +| › `tableName` | `string` | + +#### Returns + +[`MemoryManager`](MemoryManager.md) + +## Properties + +### runtime + +• **runtime**: [`BgentRuntime`](BgentRuntime.md) + +___ + +### tableName + +• **tableName**: `string` + +## Methods + +### addEmbeddingToMemory + +▸ **addEmbeddingToMemory**(`memory`): `Promise`\<[`Memory`](../interfaces/Memory.md)\> + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `memory` | [`Memory`](../interfaces/Memory.md) | + +#### Returns + +`Promise`\<[`Memory`](../interfaces/Memory.md)\> + +___ + +### countMemoriesByUserIds + +▸ **countMemoriesByUserIds**(`userIds`, `unique?`): `Promise`\<`number`\> + +#### Parameters + +| Name | Type | Default value | +| :------ | :------ | :------ | +| `userIds` | \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\`[] | `undefined` | +| `unique` | `boolean` | `true` | + +#### Returns + +`Promise`\<`number`\> + +___ + +### createMemory + +▸ **createMemory**(`memory`, `unique?`): `Promise`\<`void`\> + +#### Parameters + +| Name | Type | Default value | +| :------ | :------ | :------ | +| `memory` | [`Memory`](../interfaces/Memory.md) | `undefined` | +| `unique` | `boolean` | `false` | + +#### Returns + +`Promise`\<`void`\> + +___ + +### getMemoriesByIds + +▸ **getMemoriesByIds**(`«destructured»`): `Promise`\<[`Memory`](../interfaces/Memory.md)[]\> + +#### Parameters + +| Name | Type | Default value | +| :------ | :------ | :------ | +| `«destructured»` | `Object` | `undefined` | +| › `count` | `number` | `undefined` | +| › `unique?` | `boolean` | `true` | +| › `userIds` | \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\`[] | `undefined` | + +#### Returns + +`Promise`\<[`Memory`](../interfaces/Memory.md)[]\> + +___ + +### removeAllMemoriesByUserIds + +▸ **removeAllMemoriesByUserIds**(`userIds`): `Promise`\<`void`\> + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `userIds` | \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\`[] | + +#### Returns + +`Promise`\<`void`\> + +___ + +### removeMemory + +▸ **removeMemory**(`memoryId`): `Promise`\<`void`\> + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `memoryId` | \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` | + +#### Returns + +`Promise`\<`void`\> + +___ + +### searchMemoriesByEmbedding + +▸ **searchMemoriesByEmbedding**(`embedding`, `opts`): `Promise`\<[`Memory`](../interfaces/Memory.md)[]\> + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `embedding` | `number`[] | +| `opts` | `Object` | +| `opts.count?` | `number` | +| `opts.match_threshold?` | `number` | +| `opts.unique?` | `boolean` | +| `opts.userIds` | \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\`[] | + +#### Returns + +`Promise`\<[`Memory`](../interfaces/Memory.md)[]\> diff --git a/docs/docs/classes/_category_.yml b/docs/docs/classes/_category_.yml new file mode 100644 index 0000000..55c7980 --- /dev/null +++ b/docs/docs/classes/_category_.yml @@ -0,0 +1,2 @@ +label: "Classes" +position: 3 \ No newline at end of file diff --git a/docs/docs/functions/_category_.yml b/docs/docs/functions/_category_.yml new file mode 100644 index 0000000..139c448 --- /dev/null +++ b/docs/docs/functions/_category_.yml @@ -0,0 +1,2 @@ +label: "Functions" +position: 7 \ No newline at end of file diff --git a/docs/docs/functions/addLore.md b/docs/docs/functions/addLore.md new file mode 100644 index 0000000..0a00bb1 --- /dev/null +++ b/docs/docs/functions/addLore.md @@ -0,0 +1,25 @@ +--- +id: "addLore" +title: "Function: addLore" +sidebar_label: "addLore" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **addLore**(`«destructured»`): `Promise`\<`void`\> + +#### Parameters + +| Name | Type | Default value | +| :------ | :------ | :------ | +| `«destructured»` | `Object` | `undefined` | +| › `content` | `string` | `undefined` | +| › `embedContent?` | `string` | `undefined` | +| › `room_id?` | \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` | `zeroUuid` | +| › `runtime` | [`BgentRuntime`](../classes/BgentRuntime.md) | `undefined` | +| › `source` | `string` | `undefined` | +| › `user_id?` | \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` | `zeroUuid` | + +#### Returns + +`Promise`\<`void`\> diff --git a/docs/docs/functions/cancelGoal.md b/docs/docs/functions/cancelGoal.md new file mode 100644 index 0000000..2564131 --- /dev/null +++ b/docs/docs/functions/cancelGoal.md @@ -0,0 +1,21 @@ +--- +id: "cancelGoal" +title: "Function: cancelGoal" +sidebar_label: "cancelGoal" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **cancelGoal**(`«destructured»`): `Promise`\<`void`\> + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `«destructured»` | `Object` | +| › `goalId` | \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` | +| › `runtime` | [`BgentRuntime`](../classes/BgentRuntime.md) | + +#### Returns + +`Promise`\<`void`\> diff --git a/docs/docs/functions/composeActionExamples.md b/docs/docs/functions/composeActionExamples.md new file mode 100644 index 0000000..a64e2d9 --- /dev/null +++ b/docs/docs/functions/composeActionExamples.md @@ -0,0 +1,20 @@ +--- +id: "composeActionExamples" +title: "Function: composeActionExamples" +sidebar_label: "composeActionExamples" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **composeActionExamples**(`actionsData`, `count`): `string` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `actionsData` | [`Action`](../interfaces/Action.md)[] | +| `count` | `number` | + +#### Returns + +`string` diff --git a/docs/docs/functions/composeContext.md b/docs/docs/functions/composeContext.md new file mode 100644 index 0000000..9e1a2fb --- /dev/null +++ b/docs/docs/functions/composeContext.md @@ -0,0 +1,21 @@ +--- +id: "composeContext" +title: "Function: composeContext" +sidebar_label: "composeContext" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **composeContext**(`«destructured»`): `string` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `«destructured»` | `Object` | +| › `state` | [`State`](../interfaces/State.md) | +| › `template` | `string` | + +#### Returns + +`string` diff --git a/docs/docs/functions/createGoal.md b/docs/docs/functions/createGoal.md new file mode 100644 index 0000000..16dbc32 --- /dev/null +++ b/docs/docs/functions/createGoal.md @@ -0,0 +1,23 @@ +--- +id: "createGoal" +title: "Function: createGoal" +sidebar_label: "createGoal" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **createGoal**(`«destructured»`): `Promise`\<`void`\> + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `«destructured»` | `Object` | +| › `goal` | [`Goal`](../interfaces/Goal.md) | +| › `runtime` | [`BgentRuntime`](../classes/BgentRuntime.md) | +| › `userId` | `string` | +| › `userIds` | `string`[] | + +#### Returns + +`Promise`\<`void`\> diff --git a/docs/docs/functions/finishGoal.md b/docs/docs/functions/finishGoal.md new file mode 100644 index 0000000..e2f369d --- /dev/null +++ b/docs/docs/functions/finishGoal.md @@ -0,0 +1,21 @@ +--- +id: "finishGoal" +title: "Function: finishGoal" +sidebar_label: "finishGoal" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **finishGoal**(`«destructured»`): `Promise`\<`void`\> + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `«destructured»` | `Object` | +| › `goalId` | \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` | +| › `runtime` | [`BgentRuntime`](../classes/BgentRuntime.md) | + +#### Returns + +`Promise`\<`void`\> diff --git a/docs/docs/functions/finishGoalObjective.md b/docs/docs/functions/finishGoalObjective.md new file mode 100644 index 0000000..2b690de --- /dev/null +++ b/docs/docs/functions/finishGoalObjective.md @@ -0,0 +1,22 @@ +--- +id: "finishGoalObjective" +title: "Function: finishGoalObjective" +sidebar_label: "finishGoalObjective" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **finishGoalObjective**(`«destructured»`): `Promise`\<`void`\> + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `«destructured»` | `Object` | +| › `goalId` | \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` | +| › `objectiveId` | `string` | +| › `runtime` | [`BgentRuntime`](../classes/BgentRuntime.md) | + +#### Returns + +`Promise`\<`void`\> diff --git a/docs/docs/functions/formatActionConditions.md b/docs/docs/functions/formatActionConditions.md new file mode 100644 index 0000000..ee96df3 --- /dev/null +++ b/docs/docs/functions/formatActionConditions.md @@ -0,0 +1,19 @@ +--- +id: "formatActionConditions" +title: "Function: formatActionConditions" +sidebar_label: "formatActionConditions" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **formatActionConditions**(`actions`): `string` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `actions` | [`Action`](../interfaces/Action.md)[] | + +#### Returns + +`string` diff --git a/docs/docs/functions/formatActionNames.md b/docs/docs/functions/formatActionNames.md new file mode 100644 index 0000000..bfe792b --- /dev/null +++ b/docs/docs/functions/formatActionNames.md @@ -0,0 +1,19 @@ +--- +id: "formatActionNames" +title: "Function: formatActionNames" +sidebar_label: "formatActionNames" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **formatActionNames**(`actions`): `string` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `actions` | [`Action`](../interfaces/Action.md)[] | + +#### Returns + +`string` diff --git a/docs/docs/functions/formatActions.md b/docs/docs/functions/formatActions.md new file mode 100644 index 0000000..0cebd0a --- /dev/null +++ b/docs/docs/functions/formatActions.md @@ -0,0 +1,19 @@ +--- +id: "formatActions" +title: "Function: formatActions" +sidebar_label: "formatActions" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **formatActions**(`actions`): `string` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `actions` | [`Action`](../interfaces/Action.md)[] | + +#### Returns + +`string` diff --git a/docs/docs/functions/formatActors.md b/docs/docs/functions/formatActors.md new file mode 100644 index 0000000..e6feb31 --- /dev/null +++ b/docs/docs/functions/formatActors.md @@ -0,0 +1,24 @@ +--- +id: "formatActors" +title: "Function: formatActors" +sidebar_label: "formatActors" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **formatActors**(`actors`): `string` + +Format actors into a string + +#### Parameters + +| Name | Type | Description | +| :------ | :------ | :------ | +| `actors` | `Object` | list of actors | +| `actors.actors` | [`Actor`](../interfaces/Actor.md)[] | - | + +#### Returns + +`string` + +string diff --git a/docs/docs/functions/formatEvaluatorConditions.md b/docs/docs/functions/formatEvaluatorConditions.md new file mode 100644 index 0000000..3cf399d --- /dev/null +++ b/docs/docs/functions/formatEvaluatorConditions.md @@ -0,0 +1,19 @@ +--- +id: "formatEvaluatorConditions" +title: "Function: formatEvaluatorConditions" +sidebar_label: "formatEvaluatorConditions" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **formatEvaluatorConditions**(`evaluators`): `string` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `evaluators` | [`Evaluator`](../interfaces/Evaluator.md)[] | + +#### Returns + +`string` diff --git a/docs/docs/functions/formatEvaluatorExampleConditions.md b/docs/docs/functions/formatEvaluatorExampleConditions.md new file mode 100644 index 0000000..d493f93 --- /dev/null +++ b/docs/docs/functions/formatEvaluatorExampleConditions.md @@ -0,0 +1,19 @@ +--- +id: "formatEvaluatorExampleConditions" +title: "Function: formatEvaluatorExampleConditions" +sidebar_label: "formatEvaluatorExampleConditions" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **formatEvaluatorExampleConditions**(`evaluators`): `string` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `evaluators` | [`Evaluator`](../interfaces/Evaluator.md)[] | + +#### Returns + +`string` diff --git a/docs/docs/functions/formatEvaluatorExampleDescriptions.md b/docs/docs/functions/formatEvaluatorExampleDescriptions.md new file mode 100644 index 0000000..6117979 --- /dev/null +++ b/docs/docs/functions/formatEvaluatorExampleDescriptions.md @@ -0,0 +1,19 @@ +--- +id: "formatEvaluatorExampleDescriptions" +title: "Function: formatEvaluatorExampleDescriptions" +sidebar_label: "formatEvaluatorExampleDescriptions" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **formatEvaluatorExampleDescriptions**(`evaluators`): `string` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `evaluators` | [`Evaluator`](../interfaces/Evaluator.md)[] | + +#### Returns + +`string` diff --git a/docs/docs/functions/formatEvaluatorExamples.md b/docs/docs/functions/formatEvaluatorExamples.md new file mode 100644 index 0000000..7a38bbe --- /dev/null +++ b/docs/docs/functions/formatEvaluatorExamples.md @@ -0,0 +1,19 @@ +--- +id: "formatEvaluatorExamples" +title: "Function: formatEvaluatorExamples" +sidebar_label: "formatEvaluatorExamples" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **formatEvaluatorExamples**(`evaluators`): `string` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `evaluators` | [`Evaluator`](../interfaces/Evaluator.md)[] | + +#### Returns + +`string` diff --git a/docs/docs/functions/formatEvaluatorNames.md b/docs/docs/functions/formatEvaluatorNames.md new file mode 100644 index 0000000..45dfd5c --- /dev/null +++ b/docs/docs/functions/formatEvaluatorNames.md @@ -0,0 +1,19 @@ +--- +id: "formatEvaluatorNames" +title: "Function: formatEvaluatorNames" +sidebar_label: "formatEvaluatorNames" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **formatEvaluatorNames**(`evaluators`): `string` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `evaluators` | [`Evaluator`](../interfaces/Evaluator.md)[] | + +#### Returns + +`string` diff --git a/docs/docs/functions/formatEvaluators.md b/docs/docs/functions/formatEvaluators.md new file mode 100644 index 0000000..07c2c39 --- /dev/null +++ b/docs/docs/functions/formatEvaluators.md @@ -0,0 +1,19 @@ +--- +id: "formatEvaluators" +title: "Function: formatEvaluators" +sidebar_label: "formatEvaluators" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **formatEvaluators**(`evaluators`): `string` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `evaluators` | [`Evaluator`](../interfaces/Evaluator.md)[] | + +#### Returns + +`string` diff --git a/docs/docs/functions/formatGoalsAsString.md b/docs/docs/functions/formatGoalsAsString.md new file mode 100644 index 0000000..84f0bbc --- /dev/null +++ b/docs/docs/functions/formatGoalsAsString.md @@ -0,0 +1,20 @@ +--- +id: "formatGoalsAsString" +title: "Function: formatGoalsAsString" +sidebar_label: "formatGoalsAsString" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **formatGoalsAsString**(`«destructured»`): `Promise`\<`string`\> + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `«destructured»` | `Object` | +| › `goals` | [`Goal`](../interfaces/Goal.md)[] | + +#### Returns + +`Promise`\<`string`\> diff --git a/docs/docs/functions/formatLore.md b/docs/docs/functions/formatLore.md new file mode 100644 index 0000000..1a306f2 --- /dev/null +++ b/docs/docs/functions/formatLore.md @@ -0,0 +1,19 @@ +--- +id: "formatLore" +title: "Function: formatLore" +sidebar_label: "formatLore" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **formatLore**(`lore`): `string` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `lore` | [`Memory`](../interfaces/Memory.md)[] | + +#### Returns + +`string` diff --git a/docs/docs/functions/formatMessages.md b/docs/docs/functions/formatMessages.md new file mode 100644 index 0000000..0fa9f79 --- /dev/null +++ b/docs/docs/functions/formatMessages.md @@ -0,0 +1,25 @@ +--- +id: "formatMessages" +title: "Function: formatMessages" +sidebar_label: "formatMessages" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **formatMessages**(`«destructured»`): `string` + +Format messages into a string + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `«destructured»` | `Object` | +| › `actors` | [`Actor`](../interfaces/Actor.md)[] | +| › `messages` | [`Memory`](../interfaces/Memory.md)[] | + +#### Returns + +`string` + +string diff --git a/docs/docs/functions/getActorDetails.md b/docs/docs/functions/getActorDetails.md new file mode 100644 index 0000000..d4b1181 --- /dev/null +++ b/docs/docs/functions/getActorDetails.md @@ -0,0 +1,23 @@ +--- +id: "getActorDetails" +title: "Function: getActorDetails" +sidebar_label: "getActorDetails" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **getActorDetails**(`«destructured»`): `Promise`\<[`Actor`](../interfaces/Actor.md)[]\> + +Get details for a list of actors. + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `«destructured»` | `Object` | +| › `runtime` | [`BgentRuntime`](../classes/BgentRuntime.md) | +| › `userIds` | \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\`[] | + +#### Returns + +`Promise`\<[`Actor`](../interfaces/Actor.md)[]\> diff --git a/docs/docs/functions/getFormattedActions.md b/docs/docs/functions/getFormattedActions.md new file mode 100644 index 0000000..77bead2 --- /dev/null +++ b/docs/docs/functions/getFormattedActions.md @@ -0,0 +1,19 @@ +--- +id: "getFormattedActions" +title: "Function: getFormattedActions" +sidebar_label: "getFormattedActions" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **getFormattedActions**(`actions`): `string` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `actions` | [`Action`](../interfaces/Action.md)[] | + +#### Returns + +`string` diff --git a/docs/docs/functions/getGoals.md b/docs/docs/functions/getGoals.md new file mode 100644 index 0000000..6a9d6d4 --- /dev/null +++ b/docs/docs/functions/getGoals.md @@ -0,0 +1,24 @@ +--- +id: "getGoals" +title: "Function: getGoals" +sidebar_label: "getGoals" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **getGoals**(`«destructured»`): `Promise`\<`any`\> + +#### Parameters + +| Name | Type | Default value | +| :------ | :------ | :------ | +| `«destructured»` | `Object` | `undefined` | +| › `count?` | `number` | `5` | +| › `onlyInProgress?` | `boolean` | `true` | +| › `runtime` | [`BgentRuntime`](../classes/BgentRuntime.md) | `undefined` | +| › `userId?` | ``null`` \| `string` | `null` | +| › `userIds` | `string`[] | `undefined` | + +#### Returns + +`Promise`\<`any`\> diff --git a/docs/docs/functions/getLore.md b/docs/docs/functions/getLore.md new file mode 100644 index 0000000..b21e289 --- /dev/null +++ b/docs/docs/functions/getLore.md @@ -0,0 +1,23 @@ +--- +id: "getLore" +title: "Function: getLore" +sidebar_label: "getLore" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **getLore**(`«destructured»`): `Promise`\<[`Memory`](../interfaces/Memory.md)[]\> + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `«destructured»` | `Object` | +| › `count?` | `number` | +| › `match_threshold?` | `number` | +| › `message` | `string` | +| › `runtime` | [`BgentRuntime`](../classes/BgentRuntime.md) | + +#### Returns + +`Promise`\<[`Memory`](../interfaces/Memory.md)[]\> diff --git a/docs/docs/functions/parseJSONObjectFromText.md b/docs/docs/functions/parseJSONObjectFromText.md new file mode 100644 index 0000000..d280021 --- /dev/null +++ b/docs/docs/functions/parseJSONObjectFromText.md @@ -0,0 +1,19 @@ +--- +id: "parseJSONObjectFromText" +title: "Function: parseJSONObjectFromText" +sidebar_label: "parseJSONObjectFromText" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **parseJSONObjectFromText**(`text`): `any` + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `text` | `string` | + +#### Returns + +`any` diff --git a/docs/docs/functions/parseJsonArrayFromText.md b/docs/docs/functions/parseJsonArrayFromText.md new file mode 100644 index 0000000..bb49dce --- /dev/null +++ b/docs/docs/functions/parseJsonArrayFromText.md @@ -0,0 +1,19 @@ +--- +id: "parseJsonArrayFromText" +title: "Function: parseJsonArrayFromText" +sidebar_label: "parseJsonArrayFromText" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **parseJsonArrayFromText**(`text`): ``null`` \| `any`[] + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `text` | `string` | + +#### Returns + +``null`` \| `any`[] diff --git a/docs/docs/functions/updateGoals.md b/docs/docs/functions/updateGoals.md new file mode 100644 index 0000000..fe4b638 --- /dev/null +++ b/docs/docs/functions/updateGoals.md @@ -0,0 +1,22 @@ +--- +id: "updateGoals" +title: "Function: updateGoals" +sidebar_label: "updateGoals" +sidebar_position: 0 +custom_edit_url: null +--- + +▸ **updateGoals**(`«destructured»`): `Promise`\<`void`\> + +#### Parameters + +| Name | Type | +| :------ | :------ | +| `«destructured»` | `Object` | +| › `goals` | [`Goal`](../interfaces/Goal.md)[] | +| › `runtime` | [`BgentRuntime`](../classes/BgentRuntime.md) | +| › `userIds` | \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\`[] | + +#### Returns + +`Promise`\<`void`\> diff --git a/docs/docs/index.md b/docs/docs/index.md new file mode 100644 index 0000000..bf6d475 --- /dev/null +++ b/docs/docs/index.md @@ -0,0 +1,103 @@ +--- +id: "index" +title: "API Doc" +sidebar_label: "Readme" +sidebar_position: 0 +custom_edit_url: null +--- + +# bgent + +A flexible, scalable and customizable agent to do your bidding. + +![cj](https://github.com/lalalune/bgent/assets/18633264/7513b5a6-2352-45f3-8b87-7ee0e2171a30) + +[![npm version](https://badge.fury.io/js/bgent.svg)](https://badge.fury.io/js/bgent) +[![License](https://img.shields.io/badge/License-MIT-blue)](https://github.com/lalalune/bgent/blob/main/LICENSE) +[![stars - bgent](https://img.shields.io/github/stars/lalalune/bgent?style=social)](https://github.com/lalalune/bgent) +[![forks - bgent](https://img.shields.io/github/forks/lalalune/bgent?style=social)](https://github.com/lalalune/bgent) + +## Developing Live on Discord + +[![Join the Discord server](https://dcbadge.vercel.app/api/server/qetWd7J9De)](https://discord.gg/qetWd7J9De) + +## PRE-ALPHA RELEASE +- This code is NOT production ready. This package has been released as-is to enable collaboration and development. +- 0.1.0 will be the first official alpha release! + +## Features + +- Simple and extensible +- Customizable to your use case +- Retrievable memory and document store +- Serverless artchitecture, deployable in minutes at scale with Cloudflare and Supabase +- Multi-agent and room support +- Summarization and summarization +- Goal-directed behavior + +## Installation + +```bash +npm install bgent +``` + +## Try the agent + +``` +# evaluation mode +npm run shell + +# for development +npm run dev # start the server +npm run shell:dev # start the shell in another terminal +``` + +## Database setup + +This library uses Supabase as a database. You can set up a free account at [supabase.io](https://supabase.io) and create a new project. + +### TODO: Add script and instructions for deploying fresh copy of database + +## Local supabase deployment instructions +Step 1: On the Subase All Projects Dashboard, select “New Project”. +Step 2: Select the organization to store the new project in, assign a database name, password and region. +Step 3: Select “Create New Project”. +Step 4: Wait for the database to setup. This will take a few minutes as supabase setups various directories. +Step 5: Select the “SQL Editor” tab from the left navigation menu. +Step 6: Copy in your own SQL dump file or optionally use the provided file in the bgent directory at: "src/supabase/db.sql". Note: You can use the command "supabase db dump" if you have a pre-exisiting supabase database to generate the SQL dump file. +Step 7: Paste the SQL code into the SQL Editor and hit run in the bottom right. +Step 8: Select the “Databases” tab from the left navigation menu to verify all of the tables have been added properly. + +## Usage + +```javascript +const runtime = new BgentRuntime({ + serverUrl: "https://api.openai.com/v1", + token: process.env.OPENAI_API_KEY, + supabase: createClient( + process.env.SUPABASE_URL, + process.env.SUPABASE_ANON_KEY, + ), +}); +``` + +## Examples + +There are two examples which are set up for cloudflare in `src/agents` + +- The `simple` example is a simple agent that can be deployed to cloudflare workers +- The `cj` example is a more complex agent that has the ability to introduce users to each other + +### Custom actions + +Actions come in two flavors -- generic `actions` which run at any time they are considered valid, and `evaluators` which run when a condition is met at the end of a conversation turn. + +You can pass your own custom actions and evaluators into the BgentRuntime instance. Check out the `src/agents/cj` example for a simple example of how to do this. + +### Deployment + +Deploying to cloudflare is easy. `npm run deploy` will walk you through a deployment with wrangler, Cloudflare's deployment tool. + +# Contributions Welcome + +If you like this library and want to contribute in any way, please feel free to submit a PR and I will review it. Please note that the goal here is simplicity and accesibility, using common language and few dependencies. diff --git a/docs/docs/interfaces/Action.md b/docs/docs/interfaces/Action.md new file mode 100644 index 0000000..ac02f36 --- /dev/null +++ b/docs/docs/interfaces/Action.md @@ -0,0 +1,43 @@ +--- +id: "Action" +title: "Interface: Action" +sidebar_label: "Action" +sidebar_position: 0 +custom_edit_url: null +--- + +## Properties + +### condition + +• **condition**: `string` + +___ + +### description + +• **description**: `string` + +___ + +### examples + +• **examples**: [`ContentExample`](ContentExample.md)[][] + +___ + +### handler + +• **handler**: [`Handler`](../types/Handler.md) + +___ + +### name + +• **name**: `string` + +___ + +### validate + +• **validate**: [`Validator`](../types/Validator.md) diff --git a/docs/docs/interfaces/Actor.md b/docs/docs/interfaces/Actor.md new file mode 100644 index 0000000..7436012 --- /dev/null +++ b/docs/docs/interfaces/Actor.md @@ -0,0 +1,33 @@ +--- +id: "Actor" +title: "Interface: Actor" +sidebar_label: "Actor" +sidebar_position: 0 +custom_edit_url: null +--- + +## Properties + +### details + +• **details**: `Object` + +#### Type declaration + +| Name | Type | +| :------ | :------ | +| `quote` | `string` | +| `summary` | `string` | +| `tagline` | `string` | + +___ + +### id + +• **id**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` + +___ + +### name + +• **name**: `string` diff --git a/docs/docs/interfaces/Content.md b/docs/docs/interfaces/Content.md new file mode 100644 index 0000000..0261919 --- /dev/null +++ b/docs/docs/interfaces/Content.md @@ -0,0 +1,29 @@ +--- +id: "Content" +title: "Interface: Content" +sidebar_label: "Content" +sidebar_position: 0 +custom_edit_url: null +--- + +## Indexable + +▪ [key: `string`]: `unknown` + +## Properties + +### action + +• `Optional` **action**: `string` + +___ + +### content + +• **content**: `string` + +___ + +### source + +• `Optional` **source**: `string` diff --git a/docs/docs/interfaces/ContentExample.md b/docs/docs/interfaces/ContentExample.md new file mode 100644 index 0000000..fc3bdb4 --- /dev/null +++ b/docs/docs/interfaces/ContentExample.md @@ -0,0 +1,35 @@ +--- +id: "ContentExample" +title: "Interface: ContentExample" +sidebar_label: "ContentExample" +sidebar_position: 0 +custom_edit_url: null +--- + +## Indexable + +▪ [key: `string`]: `unknown` + +## Properties + +### action + +• `Optional` **action**: `string` + +___ + +### content + +• **content**: `string` + +___ + +### source + +• `Optional` **source**: `string` + +___ + +### user + +• **user**: `string` diff --git a/docs/docs/interfaces/EvaluationExample.md b/docs/docs/interfaces/EvaluationExample.md new file mode 100644 index 0000000..453c219 --- /dev/null +++ b/docs/docs/interfaces/EvaluationExample.md @@ -0,0 +1,25 @@ +--- +id: "EvaluationExample" +title: "Interface: EvaluationExample" +sidebar_label: "EvaluationExample" +sidebar_position: 0 +custom_edit_url: null +--- + +## Properties + +### context + +• **context**: `string` + +___ + +### messages + +• **messages**: [`ContentExample`](ContentExample.md)[] + +___ + +### outcome + +• **outcome**: `string` diff --git a/docs/docs/interfaces/Evaluator.md b/docs/docs/interfaces/Evaluator.md new file mode 100644 index 0000000..efc48e8 --- /dev/null +++ b/docs/docs/interfaces/Evaluator.md @@ -0,0 +1,43 @@ +--- +id: "Evaluator" +title: "Interface: Evaluator" +sidebar_label: "Evaluator" +sidebar_position: 0 +custom_edit_url: null +--- + +## Properties + +### condition + +• **condition**: `string` + +___ + +### description + +• **description**: `string` + +___ + +### examples + +• **examples**: [`EvaluationExample`](EvaluationExample.md)[] + +___ + +### handler + +• **handler**: [`Handler`](../types/Handler.md) + +___ + +### name + +• **name**: `string` + +___ + +### validate + +• **validate**: [`Validator`](../types/Validator.md) diff --git a/docs/docs/interfaces/Goal.md b/docs/docs/interfaces/Goal.md new file mode 100644 index 0000000..a219779 --- /dev/null +++ b/docs/docs/interfaces/Goal.md @@ -0,0 +1,43 @@ +--- +id: "Goal" +title: "Interface: Goal" +sidebar_label: "Goal" +sidebar_position: 0 +custom_edit_url: null +--- + +## Properties + +### id + +• **id**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` + +___ + +### name + +• **name**: `string` + +___ + +### objectives + +• **objectives**: [`Objective`](Objective.md)[] + +___ + +### status + +• **status**: `string` + +___ + +### user\_id + +• **user\_id**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` + +___ + +### user\_ids + +• **user\_ids**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\`[] diff --git a/docs/docs/interfaces/Memory.md b/docs/docs/interfaces/Memory.md new file mode 100644 index 0000000..b16f45b --- /dev/null +++ b/docs/docs/interfaces/Memory.md @@ -0,0 +1,49 @@ +--- +id: "Memory" +title: "Interface: Memory" +sidebar_label: "Memory" +sidebar_position: 0 +custom_edit_url: null +--- + +## Properties + +### content + +• **content**: `string` \| [`Content`](Content.md) + +___ + +### created\_at + +• `Optional` **created\_at**: `string` + +___ + +### embedding + +• `Optional` **embedding**: `number`[] + +___ + +### id + +• `Optional` **id**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` + +___ + +### room\_id + +• **room\_id**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` + +___ + +### user\_id + +• **user\_id**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` + +___ + +### user\_ids + +• **user\_ids**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\`[] diff --git a/docs/docs/interfaces/Message.md b/docs/docs/interfaces/Message.md new file mode 100644 index 0000000..1474163 --- /dev/null +++ b/docs/docs/interfaces/Message.md @@ -0,0 +1,37 @@ +--- +id: "Message" +title: "Interface: Message" +sidebar_label: "Message" +sidebar_position: 0 +custom_edit_url: null +--- + +## Properties + +### agentId + +• **agentId**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` + +___ + +### content + +• **content**: `string` \| [`Content`](Content.md) + +___ + +### room\_id + +• **room\_id**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` + +___ + +### senderId + +• **senderId**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` + +___ + +### userIds + +• **userIds**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\`[] diff --git a/docs/docs/interfaces/MessageExample.md b/docs/docs/interfaces/MessageExample.md new file mode 100644 index 0000000..ab3e491 --- /dev/null +++ b/docs/docs/interfaces/MessageExample.md @@ -0,0 +1,25 @@ +--- +id: "MessageExample" +title: "Interface: MessageExample" +sidebar_label: "MessageExample" +sidebar_position: 0 +custom_edit_url: null +--- + +## Properties + +### action + +• **action**: ``null`` \| `string` + +___ + +### content + +• **content**: ``null`` \| `string` + +___ + +### user + +• **user**: `string` diff --git a/docs/docs/interfaces/Objective.md b/docs/docs/interfaces/Objective.md new file mode 100644 index 0000000..ee1e430 --- /dev/null +++ b/docs/docs/interfaces/Objective.md @@ -0,0 +1,25 @@ +--- +id: "Objective" +title: "Interface: Objective" +sidebar_label: "Objective" +sidebar_position: 0 +custom_edit_url: null +--- + +## Properties + +### completed + +• **completed**: `boolean` + +___ + +### description + +• **description**: `string` + +___ + +### id + +• **id**: `string` diff --git a/docs/docs/interfaces/Relationship.md b/docs/docs/interfaces/Relationship.md new file mode 100644 index 0000000..ef2ad9a --- /dev/null +++ b/docs/docs/interfaces/Relationship.md @@ -0,0 +1,49 @@ +--- +id: "Relationship" +title: "Interface: Relationship" +sidebar_label: "Relationship" +sidebar_position: 0 +custom_edit_url: null +--- + +## Properties + +### created\_at + +• `Optional` **created\_at**: `string` + +___ + +### id + +• **id**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` + +___ + +### room\_id + +• **room\_id**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` + +___ + +### status + +• **status**: `string` + +___ + +### user\_a + +• **user\_a**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` + +___ + +### user\_b + +• **user\_b**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` + +___ + +### user\_id + +• **user\_id**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` diff --git a/docs/docs/interfaces/State.md b/docs/docs/interfaces/State.md new file mode 100644 index 0000000..1e9d248 --- /dev/null +++ b/docs/docs/interfaces/State.md @@ -0,0 +1,137 @@ +--- +id: "State" +title: "Interface: State" +sidebar_label: "State" +sidebar_position: 0 +custom_edit_url: null +--- + +## Indexable + +▪ [key: `string`]: `unknown` + +## Properties + +### actionExamples + +• `Optional` **actionExamples**: `string` + +___ + +### actionNames + +• `Optional` **actionNames**: `string` + +___ + +### actions + +• `Optional` **actions**: `string` + +___ + +### actionsData + +• `Optional` **actionsData**: [`Action`](Action.md)[] + +___ + +### actors + +• **actors**: `string` + +___ + +### actorsData + +• `Optional` **actorsData**: [`Actor`](Actor.md)[] + +___ + +### agentId + +• `Optional` **agentId**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` + +___ + +### agentName + +• `Optional` **agentName**: `string` + +___ + +### goals + +• `Optional` **goals**: `string` + +___ + +### goalsData + +• `Optional` **goalsData**: [`Goal`](Goal.md)[] + +___ + +### recentMessages + +• **recentMessages**: `string` + +___ + +### recentMessagesData + +• **recentMessagesData**: [`Memory`](Memory.md)[] + +___ + +### recentSummarizations + +• `Optional` **recentSummarizations**: `string` + +___ + +### recentSummarizationsData + +• `Optional` **recentSummarizationsData**: [`Memory`](Memory.md)[] + +___ + +### relevantSummarizations + +• `Optional` **relevantSummarizations**: `string` + +___ + +### relevantSummarizationsData + +• `Optional` **relevantSummarizationsData**: [`Memory`](Memory.md)[] + +___ + +### responseData + +• `Optional` **responseData**: [`Content`](Content.md) + +___ + +### room\_id + +• **room\_id**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` + +___ + +### senderId + +• `Optional` **senderId**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\` + +___ + +### senderName + +• `Optional` **senderName**: `string` + +___ + +### userIds + +• **userIds**: \`$\{string}-$\{string}-$\{string}-$\{string}-$\{string}\`[] diff --git a/docs/docs/interfaces/_category_.yml b/docs/docs/interfaces/_category_.yml new file mode 100644 index 0000000..43bec88 --- /dev/null +++ b/docs/docs/interfaces/_category_.yml @@ -0,0 +1,2 @@ +label: "Interfaces" +position: 4 \ No newline at end of file diff --git a/docs/docs/modules.md b/docs/docs/modules.md new file mode 100644 index 0000000..05bd936 --- /dev/null +++ b/docs/docs/modules.md @@ -0,0 +1,75 @@ +--- +id: "modules" +title: "API Doc" +sidebar_label: "Exports" +sidebar_position: 0.5 +custom_edit_url: null +--- + +## Classes + +- [BgentRuntime](classes/BgentRuntime.md) +- [MemoryManager](classes/MemoryManager.md) + +## Interfaces + +- [Action](interfaces/Action.md) +- [Actor](interfaces/Actor.md) +- [Content](interfaces/Content.md) +- [ContentExample](interfaces/ContentExample.md) +- [EvaluationExample](interfaces/EvaluationExample.md) +- [Evaluator](interfaces/Evaluator.md) +- [Goal](interfaces/Goal.md) +- [Memory](interfaces/Memory.md) +- [Message](interfaces/Message.md) +- [MessageExample](interfaces/MessageExample.md) +- [Objective](interfaces/Objective.md) +- [Relationship](interfaces/Relationship.md) +- [State](interfaces/State.md) + +## Type Aliases + +- [Handler](types/Handler.md) +- [Validator](types/Validator.md) + +## Variables + +- [continue](variables/continue.md) +- [defaultActions](variables/defaultActions.md) +- [defaultEvaluators](variables/defaultEvaluators.md) +- [embeddingDimension](variables/embeddingDimension.md) +- [embeddingZeroVector](variables/embeddingZeroVector.md) +- [evaluationTemplate](variables/evaluationTemplate.md) +- [ignore](variables/ignore.md) +- [summarization](variables/summarization.md) +- [wait](variables/wait.md) + +## Functions + +- [addLore](functions/addLore.md) +- [cancelGoal](functions/cancelGoal.md) +- [composeActionExamples](functions/composeActionExamples.md) +- [composeContext](functions/composeContext.md) +- [createGoal](functions/createGoal.md) +- [finishGoal](functions/finishGoal.md) +- [finishGoalObjective](functions/finishGoalObjective.md) +- [formatActionConditions](functions/formatActionConditions.md) +- [formatActionNames](functions/formatActionNames.md) +- [formatActions](functions/formatActions.md) +- [formatActors](functions/formatActors.md) +- [formatEvaluatorConditions](functions/formatEvaluatorConditions.md) +- [formatEvaluatorExampleConditions](functions/formatEvaluatorExampleConditions.md) +- [formatEvaluatorExampleDescriptions](functions/formatEvaluatorExampleDescriptions.md) +- [formatEvaluatorExamples](functions/formatEvaluatorExamples.md) +- [formatEvaluatorNames](functions/formatEvaluatorNames.md) +- [formatEvaluators](functions/formatEvaluators.md) +- [formatGoalsAsString](functions/formatGoalsAsString.md) +- [formatLore](functions/formatLore.md) +- [formatMessages](functions/formatMessages.md) +- [getActorDetails](functions/getActorDetails.md) +- [getFormattedActions](functions/getFormattedActions.md) +- [getGoals](functions/getGoals.md) +- [getLore](functions/getLore.md) +- [parseJSONObjectFromText](functions/parseJSONObjectFromText.md) +- [parseJsonArrayFromText](functions/parseJsonArrayFromText.md) +- [updateGoals](functions/updateGoals.md) diff --git a/docs/docs/types/Handler.md b/docs/docs/types/Handler.md new file mode 100644 index 0000000..fca540c --- /dev/null +++ b/docs/docs/types/Handler.md @@ -0,0 +1,25 @@ +--- +id: "Handler" +title: "Type alias: Handler" +sidebar_label: "Handler" +sidebar_position: 0 +custom_edit_url: null +--- + +Ƭ **Handler**: (`runtime`: [`BgentRuntime`](../classes/BgentRuntime.md), `message`: [`Message`](../interfaces/Message.md), `state?`: [`State`](../interfaces/State.md)) => `Promise`\<`unknown`\> + +#### Type declaration + +▸ (`runtime`, `message`, `state?`): `Promise`\<`unknown`\> + +##### Parameters + +| Name | Type | +| :------ | :------ | +| `runtime` | [`BgentRuntime`](../classes/BgentRuntime.md) | +| `message` | [`Message`](../interfaces/Message.md) | +| `state?` | [`State`](../interfaces/State.md) | + +##### Returns + +`Promise`\<`unknown`\> diff --git a/docs/docs/types/Validator.md b/docs/docs/types/Validator.md new file mode 100644 index 0000000..c122ce1 --- /dev/null +++ b/docs/docs/types/Validator.md @@ -0,0 +1,25 @@ +--- +id: "Validator" +title: "Type alias: Validator" +sidebar_label: "Validator" +sidebar_position: 0 +custom_edit_url: null +--- + +Ƭ **Validator**: (`runtime`: [`BgentRuntime`](../classes/BgentRuntime.md), `message`: [`Message`](../interfaces/Message.md), `state?`: [`State`](../interfaces/State.md)) => `Promise`\<`boolean`\> + +#### Type declaration + +▸ (`runtime`, `message`, `state?`): `Promise`\<`boolean`\> + +##### Parameters + +| Name | Type | +| :------ | :------ | +| `runtime` | [`BgentRuntime`](../classes/BgentRuntime.md) | +| `message` | [`Message`](../interfaces/Message.md) | +| `state?` | [`State`](../interfaces/State.md) | + +##### Returns + +`Promise`\<`boolean`\> diff --git a/docs/docs/types/_category_.yml b/docs/docs/types/_category_.yml new file mode 100644 index 0000000..f80828f --- /dev/null +++ b/docs/docs/types/_category_.yml @@ -0,0 +1,2 @@ +label: "Type aliases" +position: 5 \ No newline at end of file diff --git a/docs/docs/variables/_category_.yml b/docs/docs/variables/_category_.yml new file mode 100644 index 0000000..b9b3fc6 --- /dev/null +++ b/docs/docs/variables/_category_.yml @@ -0,0 +1,2 @@ +label: "Variables" +position: 6 \ No newline at end of file diff --git a/docs/docs/variables/continue.md b/docs/docs/variables/continue.md new file mode 100644 index 0000000..0fedd05 --- /dev/null +++ b/docs/docs/variables/continue.md @@ -0,0 +1,9 @@ +--- +id: "continue" +title: "Variable: continue" +sidebar_label: "continue" +sidebar_position: 0 +custom_edit_url: null +--- + +• **continue**: [`Action`](../interfaces/Action.md) diff --git a/docs/docs/variables/defaultActions.md b/docs/docs/variables/defaultActions.md new file mode 100644 index 0000000..c6a0181 --- /dev/null +++ b/docs/docs/variables/defaultActions.md @@ -0,0 +1,9 @@ +--- +id: "defaultActions" +title: "Variable: defaultActions" +sidebar_label: "defaultActions" +sidebar_position: 0 +custom_edit_url: null +--- + +• `Const` **defaultActions**: [`Action`](../interfaces/Action.md)[] diff --git a/docs/docs/variables/defaultEvaluators.md b/docs/docs/variables/defaultEvaluators.md new file mode 100644 index 0000000..02d55b2 --- /dev/null +++ b/docs/docs/variables/defaultEvaluators.md @@ -0,0 +1,9 @@ +--- +id: "defaultEvaluators" +title: "Variable: defaultEvaluators" +sidebar_label: "defaultEvaluators" +sidebar_position: 0 +custom_edit_url: null +--- + +• `Const` **defaultEvaluators**: [`Evaluator`](../interfaces/Evaluator.md)[] diff --git a/docs/docs/variables/embeddingDimension.md b/docs/docs/variables/embeddingDimension.md new file mode 100644 index 0000000..b5cc8d8 --- /dev/null +++ b/docs/docs/variables/embeddingDimension.md @@ -0,0 +1,9 @@ +--- +id: "embeddingDimension" +title: "Variable: embeddingDimension" +sidebar_label: "embeddingDimension" +sidebar_position: 0 +custom_edit_url: null +--- + +• `Const` **embeddingDimension**: ``3072`` diff --git a/docs/docs/variables/embeddingZeroVector.md b/docs/docs/variables/embeddingZeroVector.md new file mode 100644 index 0000000..2d2b386 --- /dev/null +++ b/docs/docs/variables/embeddingZeroVector.md @@ -0,0 +1,9 @@ +--- +id: "embeddingZeroVector" +title: "Variable: embeddingZeroVector" +sidebar_label: "embeddingZeroVector" +sidebar_position: 0 +custom_edit_url: null +--- + +• `Const` **embeddingZeroVector**: `any`[] diff --git a/docs/docs/variables/evaluationTemplate.md b/docs/docs/variables/evaluationTemplate.md new file mode 100644 index 0000000..6d315ed --- /dev/null +++ b/docs/docs/variables/evaluationTemplate.md @@ -0,0 +1,9 @@ +--- +id: "evaluationTemplate" +title: "Variable: evaluationTemplate" +sidebar_label: "evaluationTemplate" +sidebar_position: 0 +custom_edit_url: null +--- + +• `Const` **evaluationTemplate**: ``"TASK: Based on the conversation and conditions, determine which evaluation functions are appropriate to call.\nExamples:\n{{evaluatorExamples}}\n\nINSTRUCTIONS: You are helping me to decide which appropriate functions to call based on the conversation between {{senderName}} and {{agentName}}.\n\nRecent conversation:\n{{recentMessages}}\n\nEvaluator Functions:\n{{evaluators}}\n\nEvaluator Conditions:\n{{evaluatorConditions}}\n\nTASK: Based on the most recent conversation, determine which evaluators functions are appropriate to call to call.\nInclude the name of evaluators that are relevant and should be called in the array\nAvailable evaluator names to include are {{evaluatorNames}}\nRespond with a JSON array containing a field for description in a JSON block formatted for markdown with this structure:\n```json\n[\n 'evaluatorName',\n 'evaluatorName'\n]\n```\n\nYour response must include the JSON block."`` diff --git a/docs/docs/variables/ignore.md b/docs/docs/variables/ignore.md new file mode 100644 index 0000000..d6370ae --- /dev/null +++ b/docs/docs/variables/ignore.md @@ -0,0 +1,9 @@ +--- +id: "ignore" +title: "Variable: ignore" +sidebar_label: "ignore" +sidebar_position: 0 +custom_edit_url: null +--- + +• **ignore**: [`Action`](../interfaces/Action.md) diff --git a/docs/docs/variables/summarization.md b/docs/docs/variables/summarization.md new file mode 100644 index 0000000..ecdf7ba --- /dev/null +++ b/docs/docs/variables/summarization.md @@ -0,0 +1,20 @@ +--- +id: "summarization" +title: "Variable: summarization" +sidebar_label: "summarization" +sidebar_position: 0 +custom_edit_url: null +--- + +• **summarization**: `Object` + +#### Type declaration + +| Name | Type | +| :------ | :------ | +| `condition` | `string` | +| `description` | `string` | +| `examples` | \{ `context`: `string` ; `messages`: (\{ `action`: `string` = "WAIT"; `content`: `string` = "So where are you from?"; `user`: `string` = "\{\{user1}}" } \| \{ `action?`: `undefined` = "WAIT"; `content`: `string` = "I'm from the city."; `user`: `string` = "\{\{user2}}" })[] ; `outcome`: `string` }[] | +| `handler` | (`runtime`: [`BgentRuntime`](../classes/BgentRuntime.md), `message`: [`Message`](../interfaces/Message.md)) => `Promise`\<`any`[]\> | +| `name` | `string` | +| `validate` | (`runtime`: [`BgentRuntime`](../classes/BgentRuntime.md), `message`: [`Message`](../interfaces/Message.md)) => `Promise`\<`boolean`\> | diff --git a/docs/docs/variables/wait.md b/docs/docs/variables/wait.md new file mode 100644 index 0000000..14094d7 --- /dev/null +++ b/docs/docs/variables/wait.md @@ -0,0 +1,9 @@ +--- +id: "wait" +title: "Variable: wait" +sidebar_label: "wait" +sidebar_position: 0 +custom_edit_url: null +--- + +• **wait**: [`Action`](../interfaces/Action.md) diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js new file mode 100644 index 0000000..d43b28e --- /dev/null +++ b/docs/docusaurus.config.js @@ -0,0 +1,131 @@ +// @ts-check +// `@type` JSDoc annotations allow editor autocompletion and type checking +// (when paired with `@ts-check`). +// There are various equivalent ways to declare your Docusaurus config. +// See: https://docusaurus.io/docs/api/docusaurus-config + +import { themes as prismThemes } from 'prism-react-renderer' + +/** @type {import('@docusaurus/types').Config} */ +const config = { + title: 'We can build it together.', + tagline: 'Developer documentation for the Cojourney project', + favicon: 'img/favicon.svg', + + // Set the production url of your site here + url: 'https://docs.cojourney.app', + // Set the // pathname under which your site is served + // For GitHub pages deployment, it is often '//' + baseUrl: '/', + + // GitHub pages deployment config. + // If you aren't using GitHub pages, you don't need these. + organizationName: 'JoinTheAlliance', // Usually your GitHub org/user name. + projectName: 'bgent', // Usually your repo name. + + onBrokenLinks: 'throw', + onBrokenMarkdownLinks: 'warn', + + // Even if you don't use internationalization, you can use this field to set + // useful metadata like html lang. For example, if your site is Chinese, you + // may want to replace "en" with "zh-Hans". + i18n: { + defaultLocale: 'en', + locales: ['en'] + }, + + plugins: [ + [ + 'docusaurus-plugin-typedoc', + + // Plugin / TypeDoc options + { + entryPoints: ['../src/lib/index.ts'], + tsconfig: '../tsconfig.json', + out: ".", + }, + ], + ], + + presets: [ + [ + 'classic', + /** @type {import('@docusaurus/preset-classic').Options} */ + ({ + docs: { + sidebarPath: './sidebars.js', + // Please change this to your repo. + // Remove this to remove the "edit this page" links. + editUrl: + 'https://github.com/JoinTheAlliance/bgent/tree/main/docs/' + }, + theme: { + customCss: './src/css/custom.css' + } + }) + ] + ], + + themeConfig: + /** @type {import('@docusaurus/preset-classic').ThemeConfig} */ + ({ + // Replace with your project's social card + image: 'img/docusaurus-social-card.jpg', + navbar: { + title: 'bgent', + items: [ + { + type: 'docSidebar', + sidebarId: 'tutorialSidebar', + position: 'left', + label: 'API Documentation' + }, + { + href: 'https://github.com/JoinTheAlliance/bgent', + label: 'GitHub', + position: 'right' + } + ] + }, + footer: { + style: 'dark', + links: [ + { + title: 'Docs', + items: [ + ] + }, + + { + title: 'Community', + items: [ + { + label: 'Discord', + href: 'https://discordapp.com/invite/thealliance' + }, + { + label: 'Twitter', + href: 'https://twitter.com/join_the_alliance' + } + ] + }, + { + title: 'More', + items: [ + { + label: 'GitHub', + href: 'https://github.com/JoinTheAlliance/bgent' + } + ] + } + ], + copyright: `Copyright © ${new Date().getFullYear()} The Alliance` + }, + prism: { + theme: prismThemes.github, + darkTheme: prismThemes.dracula + } + }) +} + +export default config diff --git a/docs/package-lock.json b/docs/package-lock.json new file mode 100644 index 0000000..0a8a83c --- /dev/null +++ b/docs/package-lock.json @@ -0,0 +1,14902 @@ +{ + "name": "bgent-docs", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "bgent-docs", + "version": "0.0.0", + "dependencies": { + "@docusaurus/core": "3.1.1", + "@docusaurus/preset-classic": "3.1.1", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "prism-react-renderer": "^2.3.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.22.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.1.1", + "@docusaurus/types": "3.1.1", + "docusaurus-plugin-typedoc": "^0.22.0", + "typedoc": "^0.25.8", + "typedoc-plugin-markdown": "^3.17.1" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", + "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", + "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", + "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", + "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.22.1.tgz", + "integrity": "sha512-Sw6IAmOCvvP6QNgY9j+Hv09mvkvEIDKjYW8ow0UDDAxSXy664RBNQk3i/0nt7gvceOJ6jGmOTimaZoY1THmU7g==", + "dependencies": { + "@algolia/cache-common": "4.22.1" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.22.1.tgz", + "integrity": "sha512-TJMBKqZNKYB9TptRRjSUtevJeQVXRmg6rk9qgFKWvOy8jhCPdyNZV1nB3SKGufzvTVbomAukFR8guu/8NRKBTA==" + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.22.1.tgz", + "integrity": "sha512-ve+6Ac2LhwpufuWavM/aHjLoNz/Z/sYSgNIXsinGofWOysPilQZPUetqLj8vbvi+DHZZaYSEP9H5SRVXnpsNNw==", + "dependencies": { + "@algolia/cache-common": "4.22.1" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.22.1.tgz", + "integrity": "sha512-k8m+oegM2zlns/TwZyi4YgCtyToackkOpE+xCaKCYfBfDtdGOaVZCM5YvGPtK+HGaJMIN/DoTL8asbM3NzHonw==", + "dependencies": { + "@algolia/client-common": "4.22.1", + "@algolia/client-search": "4.22.1", + "@algolia/transporter": "4.22.1" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.22.1.tgz", + "integrity": "sha512-1ssi9pyxyQNN4a7Ji9R50nSdISIumMFDwKNuwZipB6TkauJ8J7ha/uO60sPJFqQyqvvI+px7RSNRQT3Zrvzieg==", + "dependencies": { + "@algolia/client-common": "4.22.1", + "@algolia/client-search": "4.22.1", + "@algolia/requester-common": "4.22.1", + "@algolia/transporter": "4.22.1" + } + }, + "node_modules/@algolia/client-common": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.22.1.tgz", + "integrity": "sha512-IvaL5v9mZtm4k4QHbBGDmU3wa/mKokmqNBqPj0K7lcR8ZDKzUorhcGp/u8PkPC/e0zoHSTvRh7TRkGX3Lm7iOQ==", + "dependencies": { + "@algolia/requester-common": "4.22.1", + "@algolia/transporter": "4.22.1" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.22.1.tgz", + "integrity": "sha512-sl+/klQJ93+4yaqZ7ezOttMQ/nczly/3GmgZXJ1xmoewP5jmdP/X/nV5U7EHHH3hCUEHeN7X1nsIhGPVt9E1cQ==", + "dependencies": { + "@algolia/client-common": "4.22.1", + "@algolia/requester-common": "4.22.1", + "@algolia/transporter": "4.22.1" + } + }, + "node_modules/@algolia/client-search": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.22.1.tgz", + "integrity": "sha512-yb05NA4tNaOgx3+rOxAmFztgMTtGBi97X7PC3jyNeGiwkAjOZc2QrdZBYyIdcDLoI09N0gjtpClcackoTN0gPA==", + "dependencies": { + "@algolia/client-common": "4.22.1", + "@algolia/requester-common": "4.22.1", + "@algolia/transporter": "4.22.1" + } + }, + "node_modules/@algolia/events": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@algolia/events/-/events-4.0.1.tgz", + "integrity": "sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==" + }, + "node_modules/@algolia/logger-common": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.22.1.tgz", + "integrity": "sha512-OnTFymd2odHSO39r4DSWRFETkBufnY2iGUZNrMXpIhF5cmFE8pGoINNPzwg02QLBlGSaLqdKy0bM8S0GyqPLBg==" + }, + "node_modules/@algolia/logger-console": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.22.1.tgz", + "integrity": "sha512-O99rcqpVPKN1RlpgD6H3khUWylU24OXlzkavUAMy6QZd1776QAcauE3oP8CmD43nbaTjBexZj2nGsBH9Tc0FVA==", + "dependencies": { + "@algolia/logger-common": "4.22.1" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.22.1.tgz", + "integrity": "sha512-dtQGYIg6MteqT1Uay3J/0NDqD+UciHy3QgRbk7bNddOJu+p3hzjTRYESqEnoX/DpEkaNYdRHUKNylsqMpgwaEw==", + "dependencies": { + "@algolia/requester-common": "4.22.1" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.22.1.tgz", + "integrity": "sha512-dgvhSAtg2MJnR+BxrIFqlLtkLlVVhas9HgYKMk2Uxiy5m6/8HZBL40JVAMb2LovoPFs9I/EWIoFVjOrFwzn5Qg==" + }, + "node_modules/@algolia/requester-node-http": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.22.1.tgz", + "integrity": "sha512-JfmZ3MVFQkAU+zug8H3s8rZ6h0ahHZL/SpMaSasTCGYR5EEJsCc8SI5UZ6raPN2tjxa5bxS13BRpGSBUens7EA==", + "dependencies": { + "@algolia/requester-common": "4.22.1" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.22.1.tgz", + "integrity": "sha512-kzWgc2c9IdxMa3YqA6TN0NW5VrKYYW/BELIn7vnLyn+U/RFdZ4lxxt9/8yq3DKV5snvoDzzO4ClyejZRdV3lMQ==", + "dependencies": { + "@algolia/cache-common": "4.22.1", + "@algolia/logger-common": "4.22.1", + "@algolia/requester-common": "4.22.1" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz", + "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.9", + "@babel/parser": "^7.23.9", + "@babel/template": "^7.23.9", + "@babel/traverse": "^7.23.9", + "@babel/types": "^7.23.9", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "dependencies": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", + "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.23.10", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz", + "integrity": "sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", + "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", + "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dependencies": { + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", + "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-wrap-function": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", + "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "dependencies": { + "@babel/helper-function-name": "^7.22.5", + "@babel/template": "^7.22.15", + "@babel/types": "^7.22.19" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz", + "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==", + "dependencies": { + "@babel/template": "^7.23.9", + "@babel/traverse": "^7.23.9", + "@babel/types": "^7.23.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", + "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", + "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-transform-optional-chaining": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", + "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", + "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", + "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", + "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", + "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", + "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-remap-async-to-generator": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", + "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", + "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", + "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", + "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.23.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", + "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", + "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/template": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", + "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", + "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", + "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", + "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", + "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", + "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", + "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", + "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", + "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", + "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", + "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", + "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", + "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", + "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", + "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", + "dependencies": { + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", + "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "dependencies": { + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", + "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", + "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", + "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", + "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz", + "integrity": "sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==", + "dependencies": { + "@babel/compat-data": "^7.23.3", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", + "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", + "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", + "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", + "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", + "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", + "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", + "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-constant-elements": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.23.3.tgz", + "integrity": "sha512-zP0QKq/p6O42OL94udMgSfKXyse4RyJ0JqbQ34zDAONWjyrEsghYEyTSK5FIpmXmCpB55SHokL1cRRKHv8L2Qw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz", + "integrity": "sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.23.4.tgz", + "integrity": "sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/types": "^7.23.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz", + "integrity": "sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz", + "integrity": "sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", + "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", + "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz", + "integrity": "sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", + "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", + "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", + "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", + "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", + "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typescript": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", + "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", + "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", + "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", + "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", + "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.9.tgz", + "integrity": "sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==", + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.23.3", + "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.23.3", + "@babel/plugin-transform-async-generator-functions": "^7.23.9", + "@babel/plugin-transform-async-to-generator": "^7.23.3", + "@babel/plugin-transform-block-scoped-functions": "^7.23.3", + "@babel/plugin-transform-block-scoping": "^7.23.4", + "@babel/plugin-transform-class-properties": "^7.23.3", + "@babel/plugin-transform-class-static-block": "^7.23.4", + "@babel/plugin-transform-classes": "^7.23.8", + "@babel/plugin-transform-computed-properties": "^7.23.3", + "@babel/plugin-transform-destructuring": "^7.23.3", + "@babel/plugin-transform-dotall-regex": "^7.23.3", + "@babel/plugin-transform-duplicate-keys": "^7.23.3", + "@babel/plugin-transform-dynamic-import": "^7.23.4", + "@babel/plugin-transform-exponentiation-operator": "^7.23.3", + "@babel/plugin-transform-export-namespace-from": "^7.23.4", + "@babel/plugin-transform-for-of": "^7.23.6", + "@babel/plugin-transform-function-name": "^7.23.3", + "@babel/plugin-transform-json-strings": "^7.23.4", + "@babel/plugin-transform-literals": "^7.23.3", + "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", + "@babel/plugin-transform-member-expression-literals": "^7.23.3", + "@babel/plugin-transform-modules-amd": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-modules-systemjs": "^7.23.9", + "@babel/plugin-transform-modules-umd": "^7.23.3", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", + "@babel/plugin-transform-new-target": "^7.23.3", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", + "@babel/plugin-transform-numeric-separator": "^7.23.4", + "@babel/plugin-transform-object-rest-spread": "^7.23.4", + "@babel/plugin-transform-object-super": "^7.23.3", + "@babel/plugin-transform-optional-catch-binding": "^7.23.4", + "@babel/plugin-transform-optional-chaining": "^7.23.4", + "@babel/plugin-transform-parameters": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", + "@babel/plugin-transform-private-property-in-object": "^7.23.4", + "@babel/plugin-transform-property-literals": "^7.23.3", + "@babel/plugin-transform-regenerator": "^7.23.3", + "@babel/plugin-transform-reserved-words": "^7.23.3", + "@babel/plugin-transform-shorthand-properties": "^7.23.3", + "@babel/plugin-transform-spread": "^7.23.3", + "@babel/plugin-transform-sticky-regex": "^7.23.3", + "@babel/plugin-transform-template-literals": "^7.23.3", + "@babel/plugin-transform-typeof-symbol": "^7.23.3", + "@babel/plugin-transform-unicode-escapes": "^7.23.3", + "@babel/plugin-transform-unicode-property-regex": "^7.23.3", + "@babel/plugin-transform-unicode-regex": "^7.23.3", + "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.8", + "babel-plugin-polyfill-corejs3": "^0.9.0", + "babel-plugin-polyfill-regenerator": "^0.5.5", + "core-js-compat": "^3.31.0", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.23.3.tgz", + "integrity": "sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-transform-react-display-name": "^7.23.3", + "@babel/plugin-transform-react-jsx": "^7.22.15", + "@babel/plugin-transform-react-jsx-development": "^7.22.5", + "@babel/plugin-transform-react-pure-annotations": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", + "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-validator-option": "^7.22.15", + "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/plugin-transform-modules-commonjs": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==" + }, + "node_modules/@babel/runtime": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz", + "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.23.9.tgz", + "integrity": "sha512-oeOFTrYWdWXCvXGB5orvMTJ6gCZ9I6FBjR+M38iKNXCsPxr4xT0RTdg5uz1H7QP8pp74IzPtwritEr+JscqHXQ==", + "dependencies": { + "core-js-pure": "^3.30.2", + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz", + "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.23.9", + "@babel/types": "^7.23.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz", + "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==", + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.9", + "@babel/types": "^7.23.9", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", + "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.5.2.tgz", + "integrity": "sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==" + }, + "node_modules/@docsearch/react": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.5.2.tgz", + "integrity": "sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==", + "dependencies": { + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.5.2", + "algoliasearch": "^4.19.1" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@docusaurus/core": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/core/-/core-3.1.1.tgz", + "integrity": "sha512-2nQfKFcf+MLEM7JXsXwQxPOmQAR6ytKMZVSx7tVi9HEm9WtfwBH1fp6bn8Gj4zLUhjWKCLoysQ9/Wm+EZCQ4yQ==", + "dependencies": { + "@babel/core": "^7.23.3", + "@babel/generator": "^7.23.3", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.22.9", + "@babel/preset-env": "^7.22.9", + "@babel/preset-react": "^7.22.5", + "@babel/preset-typescript": "^7.22.5", + "@babel/runtime": "^7.22.6", + "@babel/runtime-corejs3": "^7.22.6", + "@babel/traverse": "^7.22.8", + "@docusaurus/cssnano-preset": "3.1.1", + "@docusaurus/logger": "3.1.1", + "@docusaurus/mdx-loader": "3.1.1", + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/utils": "3.1.1", + "@docusaurus/utils-common": "3.1.1", + "@docusaurus/utils-validation": "3.1.1", + "@slorber/static-site-generator-webpack-plugin": "^4.0.7", + "@svgr/webpack": "^6.5.1", + "autoprefixer": "^10.4.14", + "babel-loader": "^9.1.3", + "babel-plugin-dynamic-import-node": "^2.3.3", + "boxen": "^6.2.1", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "clean-css": "^5.3.2", + "cli-table3": "^0.6.3", + "combine-promises": "^1.1.0", + "commander": "^5.1.0", + "copy-webpack-plugin": "^11.0.0", + "core-js": "^3.31.1", + "css-loader": "^6.8.1", + "css-minimizer-webpack-plugin": "^4.2.2", + "cssnano": "^5.1.15", + "del": "^6.1.1", + "detect-port": "^1.5.1", + "escape-html": "^1.0.3", + "eta": "^2.2.0", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "html-minifier-terser": "^7.2.0", + "html-tags": "^3.3.1", + "html-webpack-plugin": "^5.5.3", + "leven": "^3.1.0", + "lodash": "^4.17.21", + "mini-css-extract-plugin": "^2.7.6", + "postcss": "^8.4.26", + "postcss-loader": "^7.3.3", + "prompts": "^2.4.2", + "react-dev-utils": "^12.0.1", + "react-helmet-async": "^1.3.0", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2", + "react-loadable-ssr-addon-v5-slorber": "^1.0.1", + "react-router": "^5.3.4", + "react-router-config": "^5.1.1", + "react-router-dom": "^5.3.4", + "rtl-detect": "^1.0.4", + "semver": "^7.5.4", + "serve-handler": "^6.1.5", + "shelljs": "^0.8.5", + "terser-webpack-plugin": "^5.3.9", + "tslib": "^2.6.0", + "update-notifier": "^6.0.2", + "url-loader": "^4.1.1", + "webpack": "^5.88.1", + "webpack-bundle-analyzer": "^4.9.0", + "webpack-dev-server": "^4.15.1", + "webpack-merge": "^5.9.0", + "webpackbar": "^5.0.2" + }, + "bin": { + "docusaurus": "bin/docusaurus.mjs" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/core/node_modules/react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.3.4", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/@docusaurus/cssnano-preset": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/cssnano-preset/-/cssnano-preset-3.1.1.tgz", + "integrity": "sha512-LnoIDjJWbirdbVZDMq+4hwmrTl2yHDnBf9MLG9qyExeAE3ac35s4yUhJI8yyTCdixzNfKit4cbXblzzqMu4+8g==", + "dependencies": { + "cssnano-preset-advanced": "^5.3.10", + "postcss": "^8.4.26", + "postcss-sort-media-queries": "^4.4.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/logger": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/logger/-/logger-3.1.1.tgz", + "integrity": "sha512-BjkNDpQzewcTnST8trx4idSoAla6zZ3w22NqM/UMcFtvYJgmoE4layuTzlfql3VFPNuivvj7BOExa/+21y4X2Q==", + "dependencies": { + "chalk": "^4.1.2", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/mdx-loader": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/mdx-loader/-/mdx-loader-3.1.1.tgz", + "integrity": "sha512-xN2IccH9+sv7TmxwsDJNS97BHdmlqWwho+kIVY4tcCXkp+k4QuzvWBeunIMzeayY4Fu13A6sAjHGv5qm72KyGA==", + "dependencies": { + "@babel/parser": "^7.22.7", + "@babel/traverse": "^7.22.8", + "@docusaurus/logger": "3.1.1", + "@docusaurus/utils": "3.1.1", + "@docusaurus/utils-validation": "3.1.1", + "@mdx-js/mdx": "^3.0.0", + "@slorber/remark-comment": "^1.0.0", + "escape-html": "^1.0.3", + "estree-util-value-to-estree": "^3.0.1", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "image-size": "^1.0.2", + "mdast-util-mdx": "^3.0.0", + "mdast-util-to-string": "^4.0.0", + "rehype-raw": "^7.0.0", + "remark-directive": "^3.0.0", + "remark-emoji": "^4.0.0", + "remark-frontmatter": "^5.0.0", + "remark-gfm": "^4.0.0", + "stringify-object": "^3.3.0", + "tslib": "^2.6.0", + "unified": "^11.0.3", + "unist-util-visit": "^5.0.0", + "url-loader": "^4.1.1", + "vfile": "^6.0.1", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/module-type-aliases": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/module-type-aliases/-/module-type-aliases-3.1.1.tgz", + "integrity": "sha512-xBJyx0TMfAfVZ9ZeIOb1awdXgR4YJMocIEzTps91rq+hJDFJgJaylDtmoRhUxkwuYmNK1GJpW95b7DLztSBJ3A==", + "dependencies": { + "@docusaurus/react-loadable": "5.5.2", + "@docusaurus/types": "3.1.1", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "@types/react-router-dom": "*", + "react-helmet-async": "*", + "react-loadable": "npm:@docusaurus/react-loadable@5.5.2" + }, + "peerDependencies": { + "react": "*", + "react-dom": "*" + } + }, + "node_modules/@docusaurus/plugin-content-blog": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-blog/-/plugin-content-blog-3.1.1.tgz", + "integrity": "sha512-ew/3VtVoG3emoAKmoZl7oKe1zdFOsI0NbcHS26kIxt2Z8vcXKCUgK9jJJrz0TbOipyETPhqwq4nbitrY3baibg==", + "dependencies": { + "@docusaurus/core": "3.1.1", + "@docusaurus/logger": "3.1.1", + "@docusaurus/mdx-loader": "3.1.1", + "@docusaurus/types": "3.1.1", + "@docusaurus/utils": "3.1.1", + "@docusaurus/utils-common": "3.1.1", + "@docusaurus/utils-validation": "3.1.1", + "cheerio": "^1.0.0-rc.12", + "feed": "^4.2.2", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "reading-time": "^1.5.0", + "srcset": "^4.0.0", + "tslib": "^2.6.0", + "unist-util-visit": "^5.0.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-docs": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-docs/-/plugin-content-docs-3.1.1.tgz", + "integrity": "sha512-lhFq4E874zw0UOH7ujzxnCayOyAt0f9YPVYSb9ohxrdCM8B4szxitUw9rIX4V9JLLHVoqIJb6k+lJJ1jrcGJ0A==", + "dependencies": { + "@docusaurus/core": "3.1.1", + "@docusaurus/logger": "3.1.1", + "@docusaurus/mdx-loader": "3.1.1", + "@docusaurus/module-type-aliases": "3.1.1", + "@docusaurus/types": "3.1.1", + "@docusaurus/utils": "3.1.1", + "@docusaurus/utils-validation": "3.1.1", + "@types/react-router-config": "^5.0.7", + "combine-promises": "^1.1.0", + "fs-extra": "^11.1.1", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-content-pages": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-content-pages/-/plugin-content-pages-3.1.1.tgz", + "integrity": "sha512-NQHncNRAJbyLtgTim9GlEnNYsFhuCxaCNkMwikuxLTiGIPH7r/jpb7O3f3jUMYMebZZZrDq5S7om9a6rvB/YCA==", + "dependencies": { + "@docusaurus/core": "3.1.1", + "@docusaurus/mdx-loader": "3.1.1", + "@docusaurus/types": "3.1.1", + "@docusaurus/utils": "3.1.1", + "@docusaurus/utils-validation": "3.1.1", + "fs-extra": "^11.1.1", + "tslib": "^2.6.0", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-debug": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-debug/-/plugin-debug-3.1.1.tgz", + "integrity": "sha512-xWeMkueM9wE/8LVvl4+Qf1WqwXmreMjI5Kgr7GYCDoJ8zu4kD+KaMhrh7py7MNM38IFvU1RfrGKacCEe2DRRfQ==", + "dependencies": { + "@docusaurus/core": "3.1.1", + "@docusaurus/types": "3.1.1", + "@docusaurus/utils": "3.1.1", + "fs-extra": "^11.1.1", + "react-json-view-lite": "^1.2.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-analytics": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-analytics/-/plugin-google-analytics-3.1.1.tgz", + "integrity": "sha512-+q2UpWTqVi8GdlLoSlD5bS/YpxW+QMoBwrPrUH/NpvpuOi0Of7MTotsQf9JWd3hymZxl2uu1o3PIrbpxfeDFDQ==", + "dependencies": { + "@docusaurus/core": "3.1.1", + "@docusaurus/types": "3.1.1", + "@docusaurus/utils-validation": "3.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-gtag": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-gtag/-/plugin-google-gtag-3.1.1.tgz", + "integrity": "sha512-0mMPiBBlQ5LFHTtjxuvt/6yzh8v7OxLi3CbeEsxXZpUzcKO/GC7UA1VOWUoBeQzQL508J12HTAlR3IBU9OofSw==", + "dependencies": { + "@docusaurus/core": "3.1.1", + "@docusaurus/types": "3.1.1", + "@docusaurus/utils-validation": "3.1.1", + "@types/gtag.js": "^0.0.12", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-google-tag-manager": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-google-tag-manager/-/plugin-google-tag-manager-3.1.1.tgz", + "integrity": "sha512-d07bsrMLdDIryDtY17DgqYUbjkswZQr8cLWl4tzXrt5OR/T/zxC1SYKajzB3fd87zTu5W5klV5GmUwcNSMXQXA==", + "dependencies": { + "@docusaurus/core": "3.1.1", + "@docusaurus/types": "3.1.1", + "@docusaurus/utils-validation": "3.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/plugin-sitemap": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/plugin-sitemap/-/plugin-sitemap-3.1.1.tgz", + "integrity": "sha512-iJ4hCaMmDaUqRv131XJdt/C/jJQx8UreDWTRqZKtNydvZVh/o4yXGRRFOplea1D9b/zpwL1Y+ZDwX7xMhIOTmg==", + "dependencies": { + "@docusaurus/core": "3.1.1", + "@docusaurus/logger": "3.1.1", + "@docusaurus/types": "3.1.1", + "@docusaurus/utils": "3.1.1", + "@docusaurus/utils-common": "3.1.1", + "@docusaurus/utils-validation": "3.1.1", + "fs-extra": "^11.1.1", + "sitemap": "^7.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/preset-classic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/preset-classic/-/preset-classic-3.1.1.tgz", + "integrity": "sha512-jG4ys/hWYf69iaN/xOmF+3kjs4Nnz1Ay3CjFLDtYa8KdxbmUhArA9HmP26ru5N0wbVWhY+6kmpYhTJpez5wTyg==", + "dependencies": { + "@docusaurus/core": "3.1.1", + "@docusaurus/plugin-content-blog": "3.1.1", + "@docusaurus/plugin-content-docs": "3.1.1", + "@docusaurus/plugin-content-pages": "3.1.1", + "@docusaurus/plugin-debug": "3.1.1", + "@docusaurus/plugin-google-analytics": "3.1.1", + "@docusaurus/plugin-google-gtag": "3.1.1", + "@docusaurus/plugin-google-tag-manager": "3.1.1", + "@docusaurus/plugin-sitemap": "3.1.1", + "@docusaurus/theme-classic": "3.1.1", + "@docusaurus/theme-common": "3.1.1", + "@docusaurus/theme-search-algolia": "3.1.1", + "@docusaurus/types": "3.1.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/react-loadable": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", + "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", + "dependencies": { + "@types/react": "*", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/@docusaurus/theme-classic": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-classic/-/theme-classic-3.1.1.tgz", + "integrity": "sha512-GiPE/jbWM8Qv1A14lk6s9fhc0LhPEQ00eIczRO4QL2nAQJZXkjPG6zaVx+1cZxPFWbAsqSjKe2lqkwF3fGkQ7Q==", + "dependencies": { + "@docusaurus/core": "3.1.1", + "@docusaurus/mdx-loader": "3.1.1", + "@docusaurus/module-type-aliases": "3.1.1", + "@docusaurus/plugin-content-blog": "3.1.1", + "@docusaurus/plugin-content-docs": "3.1.1", + "@docusaurus/plugin-content-pages": "3.1.1", + "@docusaurus/theme-common": "3.1.1", + "@docusaurus/theme-translations": "3.1.1", + "@docusaurus/types": "3.1.1", + "@docusaurus/utils": "3.1.1", + "@docusaurus/utils-common": "3.1.1", + "@docusaurus/utils-validation": "3.1.1", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "copy-text-to-clipboard": "^3.2.0", + "infima": "0.2.0-alpha.43", + "lodash": "^4.17.21", + "nprogress": "^0.2.0", + "postcss": "^8.4.26", + "prism-react-renderer": "^2.3.0", + "prismjs": "^1.29.0", + "react-router-dom": "^5.3.4", + "rtlcss": "^4.1.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-classic/node_modules/react-router-dom": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.3.4.tgz", + "integrity": "sha512-m4EqFMHv/Ih4kpcBCONHbkT68KoAeHN4p3lAGoNryfHi0dMy0kCzEZakiKRsvg5wHZ/JLrLW8o8KomWiz/qbYQ==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "loose-envify": "^1.3.1", + "prop-types": "^15.6.2", + "react-router": "5.3.4", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/@docusaurus/theme-common": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-common/-/theme-common-3.1.1.tgz", + "integrity": "sha512-38urZfeMhN70YaXkwIGXmcUcv2CEYK/2l4b05GkJPrbEbgpsIZM3Xc+Js2ehBGGZmfZq8GjjQ5RNQYG+MYzCYg==", + "dependencies": { + "@docusaurus/mdx-loader": "3.1.1", + "@docusaurus/module-type-aliases": "3.1.1", + "@docusaurus/plugin-content-blog": "3.1.1", + "@docusaurus/plugin-content-docs": "3.1.1", + "@docusaurus/plugin-content-pages": "3.1.1", + "@docusaurus/utils": "3.1.1", + "@docusaurus/utils-common": "3.1.1", + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router-config": "*", + "clsx": "^2.0.0", + "parse-numeric-range": "^1.3.0", + "prism-react-renderer": "^2.3.0", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-search-algolia": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-search-algolia/-/theme-search-algolia-3.1.1.tgz", + "integrity": "sha512-tBH9VY5EpRctVdaAhT+b1BY8y5dyHVZGFXyCHgTrvcXQy5CV4q7serEX7U3SveNT9zksmchPyct6i1sFDC4Z5g==", + "dependencies": { + "@docsearch/react": "^3.5.2", + "@docusaurus/core": "3.1.1", + "@docusaurus/logger": "3.1.1", + "@docusaurus/plugin-content-docs": "3.1.1", + "@docusaurus/theme-common": "3.1.1", + "@docusaurus/theme-translations": "3.1.1", + "@docusaurus/utils": "3.1.1", + "@docusaurus/utils-validation": "3.1.1", + "algoliasearch": "^4.18.0", + "algoliasearch-helper": "^3.13.3", + "clsx": "^2.0.0", + "eta": "^2.2.0", + "fs-extra": "^11.1.1", + "lodash": "^4.17.21", + "tslib": "^2.6.0", + "utility-types": "^3.10.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/theme-translations": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/theme-translations/-/theme-translations-3.1.1.tgz", + "integrity": "sha512-xvWQFwjxHphpJq5fgk37FXCDdAa2o+r7FX8IpMg+bGZBNXyWBu3MjZ+G4+eUVNpDhVinTc+j6ucL0Ain5KCGrg==", + "dependencies": { + "fs-extra": "^11.1.1", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@docusaurus/types": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/types/-/types-3.1.1.tgz", + "integrity": "sha512-grBqOLnubUecgKFXN9q3uit2HFbCxTWX4Fam3ZFbMN0sWX9wOcDoA7lwdX/8AmeL20Oc4kQvWVgNrsT8bKRvzg==", + "dependencies": { + "@mdx-js/mdx": "^3.0.0", + "@types/history": "^4.7.11", + "@types/react": "*", + "commander": "^5.1.0", + "joi": "^17.9.2", + "react-helmet-async": "^1.3.0", + "utility-types": "^3.10.0", + "webpack": "^5.88.1", + "webpack-merge": "^5.9.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@docusaurus/utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils/-/utils-3.1.1.tgz", + "integrity": "sha512-ZJfJa5cJQtRYtqijsPEnAZoduW6sjAQ7ZCWSZavLcV10Fw0Z3gSaPKA/B4micvj2afRZ4gZxT7KfYqe5H8Cetg==", + "dependencies": { + "@docusaurus/logger": "3.1.1", + "@svgr/webpack": "^6.5.1", + "escape-string-regexp": "^4.0.0", + "file-loader": "^6.2.0", + "fs-extra": "^11.1.1", + "github-slugger": "^1.5.0", + "globby": "^11.1.0", + "gray-matter": "^4.0.3", + "jiti": "^1.20.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "micromatch": "^4.0.5", + "resolve-pathname": "^3.0.0", + "shelljs": "^0.8.5", + "tslib": "^2.6.0", + "url-loader": "^4.1.1", + "webpack": "^5.88.1" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/utils-common": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-common/-/utils-common-3.1.1.tgz", + "integrity": "sha512-eGne3olsIoNfPug5ixjepZAIxeYFzHHnor55Wb2P57jNbtVaFvij/T+MS8U0dtZRFi50QU+UPmRrXdVUM8uyMg==", + "dependencies": { + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + }, + "peerDependencies": { + "@docusaurus/types": "*" + }, + "peerDependenciesMeta": { + "@docusaurus/types": { + "optional": true + } + } + }, + "node_modules/@docusaurus/utils-validation": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@docusaurus/utils-validation/-/utils-validation-3.1.1.tgz", + "integrity": "sha512-KlY4P9YVDnwL+nExvlIpu79abfEv6ZCHuOX4ZQ+gtip+Wxj0daccdReIWWtqxM/Fb5Cz1nQvUCc7VEtT8IBUAA==", + "dependencies": { + "@docusaurus/logger": "3.1.1", + "@docusaurus/utils": "3.1.1", + "joi": "^17.9.2", + "js-yaml": "^4.1.0", + "tslib": "^2.6.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==" + }, + "node_modules/@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", + "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" + }, + "node_modules/@mdx-js/mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz", + "integrity": "sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-to-js": "^2.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-estree": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "periscopic": "^3.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/react": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz", + "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==", + "dependencies": { + "@types/mdx": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, + "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==", + "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==", + "engines": { + "node": ">= 8" + } + }, + "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==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pnpm/config.env-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz", + "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==", + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz", + "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==", + "dependencies": { + "graceful-fs": "4.2.10" + }, + "engines": { + "node": ">=12.22.0" + } + }, + "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==" + }, + "node_modules/@pnpm/npm-conf": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.2.2.tgz", + "integrity": "sha512-UA91GwWPhFExt3IizW6bOeY/pQ0BkuNwKjk9iQW9KqxluGCrg4VenZ0/L+2Y0+ZOtme72EVvg6v0zo3AMQRCeA==", + "dependencies": { + "@pnpm/config.env-replace": "^1.1.0", + "@pnpm/network.ca-file": "^1.0.1", + "config-chain": "^1.1.11" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.24", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.24.tgz", + "integrity": "sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==" + }, + "node_modules/@remix-run/router": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.1.tgz", + "integrity": "sha512-zcU0gM3z+3iqj8UX45AmWY810l3oUmXM7uH4dt5xtzvMhRtYVhKGOmgOd1877dOPPepfCjUv57w+syamWIYe7w==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@sideway/address": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.5.tgz", + "integrity": "sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==", + "dependencies": { + "@hapi/hoek": "^9.0.0" + } + }, + "node_modules/@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==" + }, + "node_modules/@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/@slorber/remark-comment": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@slorber/remark-comment/-/remark-comment-1.0.0.tgz", + "integrity": "sha512-RCE24n7jsOj1M0UPvIQCHTe7fI0sFL4S2nwKVWwHyVr/wI/H8GosgsJGyhnsZoGFnD/P2hLf1mSbrrgSLN93NA==", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.1.0", + "micromark-util-symbol": "^1.0.1" + } + }, + "node_modules/@slorber/static-site-generator-webpack-plugin": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@slorber/static-site-generator-webpack-plugin/-/static-site-generator-webpack-plugin-4.0.7.tgz", + "integrity": "sha512-Ug7x6z5lwrz0WqdnNFOMYrDQNTPAprvHLSh6+/fmml3qUiz6l5eq+2MzLKWtn/q5K5NpSiFsZTP/fck/3vjSxA==", + "dependencies": { + "eval": "^0.1.8", + "p-map": "^4.0.0", + "webpack-sources": "^3.2.2" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/@svgr/babel-plugin-add-jsx-attribute": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-add-jsx-attribute/-/babel-plugin-add-jsx-attribute-6.5.1.tgz", + "integrity": "sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-attribute": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-attribute/-/babel-plugin-remove-jsx-attribute-8.0.0.tgz", + "integrity": "sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-remove-jsx-empty-expression": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-remove-jsx-empty-expression/-/babel-plugin-remove-jsx-empty-expression-8.0.0.tgz", + "integrity": "sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==", + "engines": { + "node": ">=14" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-replace-jsx-attribute-value": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-replace-jsx-attribute-value/-/babel-plugin-replace-jsx-attribute-value-6.5.1.tgz", + "integrity": "sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-dynamic-title": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-dynamic-title/-/babel-plugin-svg-dynamic-title-6.5.1.tgz", + "integrity": "sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-svg-em-dimensions": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-svg-em-dimensions/-/babel-plugin-svg-em-dimensions-6.5.1.tgz", + "integrity": "sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-react-native-svg": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-react-native-svg/-/babel-plugin-transform-react-native-svg-6.5.1.tgz", + "integrity": "sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-plugin-transform-svg-component": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-plugin-transform-svg-component/-/babel-plugin-transform-svg-component-6.5.1.tgz", + "integrity": "sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/babel-preset": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/babel-preset/-/babel-preset-6.5.1.tgz", + "integrity": "sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==", + "dependencies": { + "@svgr/babel-plugin-add-jsx-attribute": "^6.5.1", + "@svgr/babel-plugin-remove-jsx-attribute": "*", + "@svgr/babel-plugin-remove-jsx-empty-expression": "*", + "@svgr/babel-plugin-replace-jsx-attribute-value": "^6.5.1", + "@svgr/babel-plugin-svg-dynamic-title": "^6.5.1", + "@svgr/babel-plugin-svg-em-dimensions": "^6.5.1", + "@svgr/babel-plugin-transform-react-native-svg": "^6.5.1", + "@svgr/babel-plugin-transform-svg-component": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@svgr/core": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/core/-/core-6.5.1.tgz", + "integrity": "sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/hast-util-to-babel-ast": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/hast-util-to-babel-ast/-/hast-util-to-babel-ast-6.5.1.tgz", + "integrity": "sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==", + "dependencies": { + "@babel/types": "^7.20.0", + "entities": "^4.4.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@svgr/plugin-jsx": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-jsx/-/plugin-jsx-6.5.1.tgz", + "integrity": "sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==", + "dependencies": { + "@babel/core": "^7.19.6", + "@svgr/babel-preset": "^6.5.1", + "@svgr/hast-util-to-babel-ast": "^6.5.1", + "svg-parser": "^2.0.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "^6.0.0" + } + }, + "node_modules/@svgr/plugin-svgo": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/plugin-svgo/-/plugin-svgo-6.5.1.tgz", + "integrity": "sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==", + "dependencies": { + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "svgo": "^2.8.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + }, + "peerDependencies": { + "@svgr/core": "*" + } + }, + "node_modules/@svgr/webpack": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-6.5.1.tgz", + "integrity": "sha512-cQ/AsnBkXPkEK8cLbv4Dm7JGXq2XrumKnL1dRpJD9rIO2fTIlJI9a1uCciYG1F2aUsox/hJQyNGbt3soDxSRkA==", + "dependencies": { + "@babel/core": "^7.19.6", + "@babel/plugin-transform-react-constant-elements": "^7.18.12", + "@babel/preset-env": "^7.19.4", + "@babel/preset-react": "^7.18.6", + "@babel/preset-typescript": "^7.18.6", + "@svgr/core": "^6.5.1", + "@svgr/plugin-jsx": "^6.5.1", + "@svgr/plugin-svgo": "^6.5.1" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" + } + }, + "node_modules/@szmarczak/http-timer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-5.0.1.tgz", + "integrity": "sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==", + "dependencies": { + "defer-to-connect": "^2.0.1" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", + "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", + "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz", + "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==", + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.4.tgz", + "integrity": "sha512-5idy3hvI9lAMqsyilBM+N+boaCf1MgoefbDxN6KEO5aK17TOHwFAYT9sjxzeKAiIWRUBgLxmZ9mPcnzZXtTcRQ==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.43", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", + "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } + }, + "node_modules/@types/gtag.js": { + "version": "0.0.12", + "resolved": "https://registry.npmjs.org/@types/gtag.js/-/gtag.js-0.0.12.tgz", + "integrity": "sha512-YQV9bUsemkzG81Ea295/nF/5GijnD2Af7QhEofh7xu+kvCN6RdodgNwwGWXB5GMI3NoyvQo0odNctoH/qLMIpg==" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==" + }, + "node_modules/@types/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==" + }, + "node_modules/@types/http-cache-semantics": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.4.tgz", + "integrity": "sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==" + }, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==" + }, + "node_modules/@types/http-proxy": { + "version": "1.17.14", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", + "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==" + }, + "node_modules/@types/mdast": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.3.tgz", + "integrity": "sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdx": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.11.tgz", + "integrity": "sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw==" + }, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==" + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==" + }, + "node_modules/@types/node": { + "version": "20.11.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz", + "integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-forge": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", + "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/parse-json": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==" + }, + "node_modules/@types/prismjs": { + "version": "1.26.3", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.3.tgz", + "integrity": "sha512-A0D0aTXvjlqJ5ZILMz3rNfDBOx9hHxLZYv2by47Sm/pqW35zzjusrZTryatjN/Rf8Us2gZrJD+KeHbUSTux1Cw==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==" + }, + "node_modules/@types/qs": { + "version": "6.9.11", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.11.tgz", + "integrity": "sha512-oGk0gmhnEJK4Yyk+oI7EfXsLayXatCWPHary1MtcmbAifkobT9cM9yutG/hZKIseOU0MqbIwQ/u2nn/Gb+ltuQ==" + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==" + }, + "node_modules/@types/react": { + "version": "18.2.57", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.57.tgz", + "integrity": "sha512-ZvQsktJgSYrQiMirAN60y4O/LRevIV8hUzSOSNB6gfR3/o3wCBFQx3sPwIYtuDMeiVgsSS3UzCV26tEzgnfvQw==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-config": { + "version": "5.0.11", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.11.tgz", + "integrity": "sha512-WmSAg7WgqW7m4x8Mt4N6ZyKz0BubSj/2tVUMsAHp+Yd2AMwcSbeFq9WympT19p5heCFmF97R9eD5uUR/t4HEqw==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "^5.1.0" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==" + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==" + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/serve-index": { + "version": "1.9.4", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", + "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", + "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "dependencies": { + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.36", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", + "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==" + }, + "node_modules/@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==" + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==" + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==" + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==" + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==" + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==" + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/accepts/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==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/algoliasearch": { + "version": "4.22.1", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.22.1.tgz", + "integrity": "sha512-jwydKFQJKIx9kIZ8Jm44SdpigFwRGPESaxZBaHSV0XWN2yBJAOT4mT7ppvlrpA4UGzz92pqFnVKr/kaZXrcreg==", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.22.1", + "@algolia/cache-common": "4.22.1", + "@algolia/cache-in-memory": "4.22.1", + "@algolia/client-account": "4.22.1", + "@algolia/client-analytics": "4.22.1", + "@algolia/client-common": "4.22.1", + "@algolia/client-personalization": "4.22.1", + "@algolia/client-search": "4.22.1", + "@algolia/logger-common": "4.22.1", + "@algolia/logger-console": "4.22.1", + "@algolia/requester-browser-xhr": "4.22.1", + "@algolia/requester-common": "4.22.1", + "@algolia/requester-node-http": "4.22.1", + "@algolia/transporter": "4.22.1" + } + }, + "node_modules/algoliasearch-helper": { + "version": "3.16.2", + "resolved": "https://registry.npmjs.org/algoliasearch-helper/-/algoliasearch-helper-3.16.2.tgz", + "integrity": "sha512-Yl/Gu5Cq4Z5s/AJ0jR37OPI1H3+z7PHz657ibyaXgMOaWvPlZ3OACN13N+7HCLPUlB0BN+8BtmrG/CqTilowBA==", + "dependencies": { + "@algolia/events": "^4.0.1" + }, + "peerDependencies": { + "algoliasearch": ">= 3.1 < 6" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/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==" + }, + "node_modules/ansi-align/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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-sequence-parser": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ansi-sequence-parser/-/ansi-sequence-parser-1.1.1.tgz", + "integrity": "sha512-vJXt3yiaUL4UU546s3rPXlsry/RnM730G1+HkpKE012AN0sx1eOrxSu95oKDIonskeLTijMgqWZ3uDEe3NFvyg==", + "dev": true + }, + "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==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, + "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/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/astring": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.6.tgz", + "integrity": "sha512-ISvCdHdlTDlH5IpxQJIex7BWBywFWgjJSVdwst+/iQCoEYnyOaQ95+X1JGshuBjGp6nxKUy1jMgE3zPqN7fQdg==", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.17", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", + "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.22.2", + "caniuse-lite": "^1.0.30001578", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/babel-loader": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.8", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", + "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.5.0", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", + "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.5.0", + "core-js-compat": "^3.34.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", + "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.5.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/bonjour-service": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", + "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" + }, + "node_modules/boxen": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-6.2.1.tgz", + "integrity": "sha512-H4PEsJXfFI/Pt8sjDWbHlQPx4zL/bvSQjcilJmaulGt5mLDorHOHpmdXAJcBcmru7PhYSp/cDMWRko4ZUMFkSw==", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^6.2.0", + "chalk": "^4.1.2", + "cli-boxes": "^3.0.0", + "string-width": "^5.0.1", + "type-fest": "^2.5.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.0.1" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacheable-lookup": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-7.0.0.tgz", + "integrity": "sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==", + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request": { + "version": "10.2.14", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-10.2.14.tgz", + "integrity": "sha512-zkDT5WAF4hSSoUgyfg5tFIxz8XQK+25W/TLVojJTMKBaxevLBBtLxgqguAuVQB8PVW79FVjHcU+GJ9tVbDZ9mQ==", + "dependencies": { + "@types/http-cache-semantics": "^4.0.2", + "get-stream": "^6.0.1", + "http-cache-semantics": "^4.1.1", + "keyv": "^4.5.3", + "mimic-response": "^4.0.0", + "normalize-url": "^8.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/cacheable-request/node_modules/normalize-url": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-8.0.0.tgz", + "integrity": "sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001588", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001588.tgz", + "integrity": "sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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==", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "htmlparser2": "^8.0.1", + "parse5": "^7.0.0", + "parse5-htmlparser2-tree-adapter": "^7.0.0" + }, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "engines": { + "node": ">=6.0" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-css": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz", + "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==", + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/clean-css/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-table3/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==" + }, + "node_modules/cli-table3/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==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/clone-deep/node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/clsx": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", + "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "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==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "node_modules/combine-promises": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/combine-promises/-/combine-promises-1.2.0.tgz", + "integrity": "sha512-VcQB1ziGD0NXrhKxiwyNbCDmRzs/OShMs2GqW2DlU2A/Sd0nQxE1oWDAE5O0ygSx5mgQOn9eIFh7yKPgFRVkPQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compressible/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/compression/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" + }, + "node_modules/config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dependencies": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "node_modules/configstore": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/configstore/-/configstore-6.0.0.tgz", + "integrity": "sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==", + "dependencies": { + "dot-prop": "^6.0.1", + "graceful-fs": "^4.2.6", + "unique-string": "^3.0.0", + "write-file-atomic": "^3.0.3", + "xdg-basedir": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/yeoman/configstore?sponsor=1" + } + }, + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" + }, + "node_modules/content-disposition": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz", + "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" + }, + "node_modules/copy-text-to-clipboard": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz", + "integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/globby": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", + "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", + "dependencies": { + "dir-glob": "^3.0.1", + "fast-glob": "^3.3.0", + "ignore": "^5.2.4", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/copy-webpack-plugin/node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/core-js": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz", + "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", + "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", + "dependencies": { + "browserslist": "^4.22.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-pure": { + "version": "3.36.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.36.0.tgz", + "integrity": "sha512-cN28qmhRNgbMZZMc/RFu5w8pK9VJzpb2rJVR/lHuZJKwmXnoWOpXmMkxqBB514igkp1Hu8WGROsiOAzUcKdHOQ==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", + "dependencies": { + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz", + "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==", + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-loader": { + "version": "6.10.0", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", + "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.33", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.4", + "postcss-modules-scope": "^3.1.1", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-4.2.2.tgz", + "integrity": "sha512-s3Of/4jKfw1Hj9CxEO1E5oXhQAxlayuHO2y/ML+C6I9sQ7FdzfEV6QgMLN3vI+qFsjJGIAFLKtQK7t8BOXAIyA==", + "dependencies": { + "cssnano": "^5.1.8", + "jest-worker": "^29.1.2", + "postcss": "^8.4.17", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "@parcel/css": { + "optional": true + }, + "@swc/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "lightningcss": { + "optional": true + } + } + }, + "node_modules/css-minimizer-webpack-plugin/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-tree/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz", + "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==", + "dependencies": { + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-advanced": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/cssnano-preset-advanced/-/cssnano-preset-advanced-5.3.10.tgz", + "integrity": "sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ==", + "dependencies": { + "autoprefixer": "^10.4.12", + "cssnano-preset-default": "^5.2.14", + "postcss-discard-unused": "^5.1.0", + "postcss-merge-idents": "^5.1.1", + "postcss-reduce-idents": "^5.2.0", + "postcss-zindex": "^5.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.14", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz", + "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==", + "dependencies": { + "css-declaration-sorter": "^6.3.1", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.1", + "postcss-convert-values": "^5.1.3", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.7", + "postcss-merge-rules": "^5.1.4", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.4", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.1", + "postcss-normalize-repeat-style": "^5.1.1", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.1", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.3", + "postcss-reduce-initial": "^5.1.2", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decompress-response/node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/defer-to-connect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz", + "integrity": "sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==", + "engines": { + "node": ">=10" + } + }, + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "dependencies": { + "globby": "^11.0.1", + "graceful-fs": "^4.2.4", + "is-glob": "^4.0.1", + "is-path-cwd": "^2.2.0", + "is-path-inside": "^3.0.2", + "p-map": "^4.0.0", + "rimraf": "^3.0.2", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==" + }, + "node_modules/detect-port": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", + "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", + "dependencies": { + "address": "^1.0.1", + "debug": "4" + }, + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" + } + }, + "node_modules/detect-port-alt": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/detect-port-alt/-/detect-port-alt-1.1.6.tgz", + "integrity": "sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==", + "dependencies": { + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" + }, + "engines": { + "node": ">= 4.2.1" + } + }, + "node_modules/detect-port-alt/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/detect-port-alt/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-packet": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", + "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/docusaurus-plugin-typedoc": { + "version": "0.22.0", + "resolved": "https://registry.npmjs.org/docusaurus-plugin-typedoc/-/docusaurus-plugin-typedoc-0.22.0.tgz", + "integrity": "sha512-5q+oT+iq3g9DvsMin11pSSmqHRw0i62csHBzkWVtgmsqN/BwGDHnxDiTbHhhkBNQpmRIRgltyNdMnO5x+JUK8Q==", + "dev": true, + "peerDependencies": { + "typedoc": ">=0.24.0", + "typedoc-plugin-markdown": ">=3.15.0" + } + }, + "node_modules/dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dependencies": { + "utila": "~0.4" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dot-prop": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz", + "integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/dot-prop/node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.679", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.679.tgz", + "integrity": "sha512-NhQMsz5k0d6m9z3qAxnsOR/ebal4NAGsrNVRwcDo4Kc/zQ7KdsTKZUxZoygHcVRb0QDW3waEDIcE3isZ79RP6g==" + }, + "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==" + }, + "node_modules/emojilib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/emojilib/-/emojilib-2.4.0.tgz", + "integrity": "sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==" + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/emoticon": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/emoticon/-/emoticon-4.0.1.tgz", + "integrity": "sha512-dqx7eA9YaqyvYtUhJwT4rC1HIp82j5ybS1/vQ42ur+jBe17dJMwZE4+gvL1XadSFfxaPFFGt3Xsw+Y8akThDlw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==" + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-goat": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-goat/-/escape-goat-4.0.0.tgz", + "integrity": "sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "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==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-value-to-estree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-value-to-estree/-/estree-util-value-to-estree-3.0.1.tgz", + "integrity": "sha512-b2tdzTurEIbwRh+mKrEcaWfu1wgb8J1hVsgREg7FFiecWwK/PhO8X0kyc+0bIcKNtD4sqxIdNoRy6/p/TvECEA==", + "dependencies": { + "@types/estree": "^1.0.0", + "is-plain-obj": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/remcohaszing" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eta": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/eta/-/eta-2.2.0.tgz", + "integrity": "sha512-UVQ72Rqjy/ZKQalzV5dCCJP80GrmPrMxh6NlNf+erV6ObL0ZFkhCstWRawS85z3smdr3d2wXPsZEY7rDPfGd2g==", + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "url": "https://github.com/eta-dev/eta?sponsor=1" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eval": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/eval/-/eval-0.1.8.tgz", + "integrity": "sha512-EzV94NYKoO09GLXGjXj9JIlXijVck4ONSr5wiCWDvhsvj5jxSrzTmRU/9C1DyB6uToszLs8aifA6NQ7lEQdvFw==", + "dependencies": { + "@types/node": "*", + "require-like": ">= 0.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/express/node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + }, + "node_modules/express/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "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==" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "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.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "node_modules/fast-url-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz", + "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==", + "dependencies": { + "punycode": "^1.3.2" + } + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/feed": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/feed/-/feed-4.2.2.tgz", + "integrity": "sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==", + "dependencies": { + "xml-js": "^1.6.11" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/file-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/file-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/filesize": { + "version": "8.0.7", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-8.0.7.tgz", + "integrity": "sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/follow-redirects": { + "version": "1.15.5", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", + "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin": { + "version": "6.5.3", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.3.tgz", + "integrity": "sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==", + "dependencies": { + "@babel/code-frame": "^7.8.3", + "@types/json-schema": "^7.0.5", + "chalk": "^4.1.0", + "chokidar": "^3.4.2", + "cosmiconfig": "^6.0.0", + "deepmerge": "^4.2.2", + "fs-extra": "^9.0.0", + "glob": "^7.1.6", + "memfs": "^3.1.2", + "minimatch": "^3.0.4", + "schema-utils": "2.7.0", + "semver": "^7.3.2", + "tapable": "^1.0.0" + }, + "engines": { + "node": ">=10", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "eslint": ">= 6", + "typescript": ">= 2.7", + "vue-template-compiler": "*", + "webpack": ">= 4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/cosmiconfig": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", + "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.7.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/schema-utils": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", + "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", + "dependencies": { + "@types/json-schema": "^7.0.4", + "ajv": "^6.12.2", + "ajv-keywords": "^3.4.1" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/fork-ts-checker-webpack-plugin/node_modules/tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/form-data-encoder": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-2.1.4.tgz", + "integrity": "sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==", + "engines": { + "node": ">= 14.17" + } + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", + "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==" + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==" + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/github-slugger": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", + "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/global-dirs/node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/global-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", + "dependencies": { + "global-prefix": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", + "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "dependencies": { + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/global-prefix/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/got": { + "version": "12.6.1", + "resolved": "https://registry.npmjs.org/got/-/got-12.6.1.tgz", + "integrity": "sha512-mThBblvlAF1d4O5oqyvN+ZxLAYwIJK7bpMxgYqPD9okW0C3qm5FFn7k811QrcuEBwaogR3ngOFoCfs6mRv7teQ==", + "dependencies": { + "@sindresorhus/is": "^5.2.0", + "@szmarczak/http-timer": "^5.0.1", + "cacheable-lookup": "^7.0.0", + "cacheable-request": "^10.2.8", + "decompress-response": "^6.0.0", + "form-data-encoder": "^2.1.2", + "get-stream": "^6.0.1", + "http2-wrapper": "^2.1.10", + "lowercase-keys": "^3.0.0", + "p-cancelable": "^3.0.0", + "responselike": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/got?sponsor=1" + } + }, + "node_modules/got/node_modules/@sindresorhus/is": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/is/-/is-5.6.0.tgz", + "integrity": "sha512-TV7t8GKYaJWsn00tFDqBw8+Uqmr8A0fRU1tvTQhyZzGv0sJCGRQL3JGMI3ucuKo3XIZdUP+Lx7/gh2t3lewy7g==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sindresorhus/is?sponsor=1" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gray-matter/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/gray-matter/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==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "node_modules/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-yarn": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-yarn/-/has-yarn-3.0.0.tgz", + "integrity": "sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/hasown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.1.tgz", + "integrity": "sha512-Er/Iixbc7IEa7r/XLtuG52zoqn/b3Xng/w6aZQ0xGVxzhw5xUFxcRqdPzP6yFi/4HBYRaifaI5fQ1RH8n0ZeOQ==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^8.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.0.2.tgz", + "integrity": "sha512-PldBy71wO9Uq1kyaMch9AHIghtQvIwxBUkv823pKmkTM3oV1JxtsTNYdevMxvUHqcnOAuO65JKU2+0NOxc2ksA==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.0.tgz", + "integrity": "sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.0.tgz", + "integrity": "sha512-H/y0+IWPdsLLS738P8tDnrQ8Z+dj12zQQ6WC11TIM21C8WFVoIxcqWXf2H3hiTVZjF1AWqoimGwrTWecWrnmRQ==", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/inline-style-parser": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz", + "integrity": "sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==" + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/style-to-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.5.tgz", + "integrity": "sha512-rDRwHtoDD3UMMrmZ6BzOW0naTjMsVZLIjsGleSKS/0Oz+cgCfAPRspaqJuE8rDzpKha/nEvnM0IF4seEAZUTKQ==", + "dependencies": { + "inline-style-parser": "0.2.2" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-8.0.0.tgz", + "integrity": "sha512-dMOtzCEd3ABUeSIISmrETiKuyydk1w0pa+gE/uormcTpSYuaNJPbX1NU3JLyscSLjwAQM8bWMhhIlnCqnRvDTw==", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "bin": { + "he": "bin/he" + } + }, + "node_modules/history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "dependencies": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/hpack.js/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/hpack.js/node_modules/readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/hpack.js/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/hpack.js/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==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", + "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ] + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "node_modules/html-minifier-terser": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-7.2.0.tgz", + "integrity": "sha512-tXgn3QfqPIpGl9o+K5tpcj3/MN4SfLtsx2GWwBC3SSd0tXQGyF3gsSqad8loJgKZGM3ZxbYDd5yhiBIdWpmvLA==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "~5.3.2", + "commander": "^10.0.0", + "entities": "^4.4.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.15.1" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": "^14.13.1 || >=16.0.0" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "engines": { + "node": ">=14" + } + }, + "node_modules/html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-webpack-plugin": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-5.6.0.tgz", + "integrity": "sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==", + "dependencies": { + "@types/html-minifier-terser": "^6.0.0", + "html-minifier-terser": "^6.0.2", + "lodash": "^4.17.21", + "pretty-error": "^4.0.0", + "tapable": "^2.0.0" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "@rspack/core": "0.x || 1.x", + "webpack": "^5.20.0" + }, + "peerDependenciesMeta": { + "@rspack/core": { + "optional": true + }, + "webpack": { + "optional": true + } + } + }, + "node_modules/html-webpack-plugin/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/html-webpack-plugin/node_modules/html-minifier-terser": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz", + "integrity": "sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==", + "dependencies": { + "camel-case": "^4.1.2", + "clean-css": "^5.2.2", + "commander": "^8.3.0", + "he": "^1.2.0", + "param-case": "^3.0.4", + "relateurl": "^0.2.7", + "terser": "^5.10.0" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/htmlparser2": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", + "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1", + "entities": "^4.4.0" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==" + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/http-proxy-middleware/node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/http2-wrapper": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-2.2.1.tgz", + "integrity": "sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==", + "dependencies": { + "quick-lru": "^5.1.1", + "resolve-alpn": "^1.2.0" + }, + "engines": { + "node": ">=10.19.0" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/image-size": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.1.1.tgz", + "integrity": "sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==", + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=16.x" + } + }, + "node_modules/immer": { + "version": "9.0.21", + "resolved": "https://registry.npmjs.org/immer/-/immer-9.0.21.tgz", + "integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/immer" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/infima": { + "version": "0.2.0-alpha.43", + "resolved": "https://registry.npmjs.org/infima/-/infima-0.2.0-alpha.43.tgz", + "integrity": "sha512-2uw57LvUqW0rK/SWYnd/2rRfxNA5DDNOh33jxF7fy46VWoNhGxiUQyVZHbBMjQ33mQem0cjdDVwgWVAmlRfgyQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "node_modules/interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", + "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-npm": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-6.0.0.tgz", + "integrity": "sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-root": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-root/-/is-root-2.1.0.tgz", + "integrity": "sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-yarn-global": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/is-yarn-global/-/is-yarn-global-0.4.1.tgz", + "integrity": "sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/joi": { + "version": "17.12.2", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.12.2.tgz", + "integrity": "sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==", + "dependencies": { + "@hapi/hoek": "^9.3.0", + "@hapi/topo": "^5.1.0", + "@sideway/address": "^4.1.5", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "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==" + }, + "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==", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "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==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "engines": { + "node": ">=6" + } + }, + "node_modules/latest-version": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/latest-version/-/latest-version-7.0.0.tgz", + "integrity": "sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==", + "dependencies": { + "package-json": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/launch-editor": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", + "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "engines": { + "node": ">=6" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==" + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==" + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lowercase-keys": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-3.0.0.tgz", + "integrity": "sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lunr": { + "version": "2.3.9", + "resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz", + "integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==", + "dev": true + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/mdast-util-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", + "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.1.tgz", + "integrity": "sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.0.tgz", + "integrity": "sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-frontmatter": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-2.0.1.tgz", + "integrity": "sha512-LRqI9+wdgC25P0URIJY9vwocIzCcksduHQ9OF2joxQoyTNVduwLAFUzjoopuRJbJAReaKrNQKAZKL3uCMugWJA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "escape-string-regexp": "^5.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/mdast-util-gfm-autolink-literal/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.0.tgz", + "integrity": "sha512-fGCu8eWdKUKNu5mohVGkhBXCXGnOTLuFqOvGMvdikr+J1w7lDJgxThOKpwRWzzbyXAU2hhSwsmssOY4yTokluw==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.0.tgz", + "integrity": "sha512-A8AJHlR7/wPQ3+Jre1+1rq040fX9A4Q1jG8JxmSNp/PLPHg80A6475wxTp3KzHpApFH6yWxFotHrJQA3dXP6/w==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^5.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.1.0.tgz", + "integrity": "sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.0.tgz", + "integrity": "sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "dependencies": { + "fs-monkey": "^1.0.4" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromark": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.0.tgz", + "integrity": "sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.0.tgz", + "integrity": "sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.0.tgz", + "integrity": "sha512-61OI07qpQrERc+0wEysLHMvoiO3s2R56x5u7glHq2Yqq6EHbH4dW25G9GfDdGCDYqA21KE6DWgNSzxSwHc2hSg==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-frontmatter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-2.0.0.tgz", + "integrity": "sha512-C4AkuM3dA58cgZha7zVnuVxBhDsbttIMiytjgsM2XbHAB2faRVaHRle40558FBN+DJcrLNCoqG5mlrpdU4cRtg==", + "dependencies": { + "fault": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-frontmatter/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.0.0.tgz", + "integrity": "sha512-rTHfnpt/Q7dEAK1Y5ii0W8bhfJlVJFnJMHIPisfPK3gpVNuOP0VnRl96+YJ3RYWV/P4gFeQoGKNlT3RhuvpqAg==", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-6Rzu0CYRKDv3BfLAUnZsSlzx3ak6HAoI85KTiijuKIz5UxZxbUI+pD6oHgw+6UtQuiRwnGRhzMmPRv4smcz0fg==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-footnote/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-c3BR1ClMp5fxxmwP6AoOY2fXO9U8uFMKs4ADD66ahLTNcwzSCyRVU4k7LPV5Nxo/VJiR4TdzxRQY2v3qIUceCw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.0.0.tgz", + "integrity": "sha512-PoHlhypg1ItIucOaHmKE8fbin3vTLpDOUg8KAr8gRCF1MOZI9Nquq2i/44wFvviM4WuxJzc3demT8Y3dkfvYrw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-table/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.0.1.tgz", + "integrity": "sha512-cY5PzGcnULaN5O7T+cOzfMoHjBW7j+T9D2sucA5d/KbsBTPcYdebm9zUd9zzdgJGCwahV+/W78Z3nbulBYVbTw==", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-gfm-task-list-item/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.0.tgz", + "integrity": "sha512-sI0nwhUDz97xyzqJAbHQhp5TfaxEvZZZ2JDqUo+7NvyIYG6BZ5CPPqj2ogUoPJlmXHBnyZUzISg9+oUmU6tUjQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-expression/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.0.tgz", + "integrity": "sha512-uvhhss8OGuzR4/N17L1JwvmJIpPhAd8oByMawEKx6NVdBCbesjH4t+vjEp3ZXft9DwvlKSD07fCeI44/N0Vf2w==", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdxjs-esm/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.0.tgz", + "integrity": "sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-destination/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-destination/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-label": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.0.tgz", + "integrity": "sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.1.tgz", + "integrity": "sha512-F0ccWIUHRLRrYp5TC9ZYXmZo+p2AM13ggbsW4T0b5CRKP8KHVRB8t4pwtBgTxtjRmwrK0Irwm7vs2JOZabHZfg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-space": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.1.0.tgz", + "integrity": "sha512-cRzEj7c0OL4Mw2v6nwzttyOZe8XY/Z8G0rzmWQZTBi/jjwyw/U4uqKtUORXQrR5bAZZnbTI/feRV/R7hc4jQYQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-space/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-title": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.0.tgz", + "integrity": "sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.0.tgz", + "integrity": "sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-character": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.2.0.tgz", + "integrity": "sha512-lXraTwcX3yH/vMDaFWCQJP1uIszLVebzUa3ZHdrgxr7KEU/9mL4mVgCpGbyhvNLNlauROiNUq7WN5u7ndbY6xg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-character/node_modules/micromark-util-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.1.0.tgz", + "integrity": "sha512-ukRBgie8TIAcacscVHSiddHjO4k/q3pnedmzMQ4iwDcK0FtFCohKOlFbaOL/mPgfnPsL3C1ZyxJa4sbWrBl3jg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.0.tgz", + "integrity": "sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.0.tgz", + "integrity": "sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.0.tgz", + "integrity": "sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.1.tgz", + "integrity": "sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.0.tgz", + "integrity": "sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-encode": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.0.tgz", + "integrity": "sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.2.tgz", + "integrity": "sha512-Fk+xmBrOv9QZnEDguL9OI9/NQQp6Hz4FuQ4YmCb/5V7+9eAh1s6AYSvL20kHkD67YIg7EpE54TiSlcsf3vyZgA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-events-to-acorn/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.0.tgz", + "integrity": "sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.0.tgz", + "integrity": "sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-normalize-identifier/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.0.tgz", + "integrity": "sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.0.tgz", + "integrity": "sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.0.tgz", + "integrity": "sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-symbol": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.1.0.tgz", + "integrity": "sha512-uEjpEYY6KMs1g7QfJ2eX1SQEV+ZT4rUD3UcF6l57acZvLNK7PBZL+ty82Z1qhK1/yXIY4bdx04FKMgR0g4IAag==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.0.tgz", + "integrity": "sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark/node_modules/micromark-factory-space": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.0.tgz", + "integrity": "sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark/node_modules/micromark-util-character": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.0.tgz", + "integrity": "sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark/node_modules/micromark-util-symbol": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.0.tgz", + "integrity": "sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "dependencies": { + "mime-db": "~1.33.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/mimic-response": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-4.0.0.tgz", + "integrity": "sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.0.tgz", + "integrity": "sha512-CxmUYPFcTgET1zImteG/LZOy/4T5rTojesQXkSNBiquhydn78tfbCE9sjIjnJ/UcjNjOC1bphTCCW5rrS7cXAg==", + "dependencies": { + "schema-utils": "^4.0.0", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mrmime": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", + "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-emoji": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-2.1.3.tgz", + "integrity": "sha512-E2WEOVsgs7O16zsURJ/eH8BqhF029wGpEOnv7Urwdo2wmQanOACwJQh0devF9D9RhoZru0+9JXIS0dBXIAz+lA==", + "dependencies": { + "@sindresorhus/is": "^4.6.0", + "char-regex": "^1.0.2", + "emojilib": "^2.4.0", + "skin-tone": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==" + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/p-cancelable": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-3.0.0.tgz", + "integrity": "sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/package-json": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/package-json/-/package-json-8.1.1.tgz", + "integrity": "sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==", + "dependencies": { + "got": "^12.1.0", + "registry-auth-token": "^5.0.1", + "registry-url": "^6.0.0", + "semver": "^7.3.7" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.1.tgz", + "integrity": "sha512-SWzvYcSJh4d/SGLIOQfZ/CoNv6BTlI6YEQ7Nj82oDVnRpwe/Z/F1EMx42x3JAOwGBlCjeCH0BRJQbQ/opHL17w==", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==" + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "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==", + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "dependencies": { + "isarray": "0.0.1" + } + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", + "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pkg-up/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pkg-up/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/pkg-up/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz", + "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz", + "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-unused": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-5.1.0.tgz", + "integrity": "sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-loader": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.3.4.tgz", + "integrity": "sha512-iW5WTTBSC5BfsBJ9daFMPVrLT36MrNiC6fqOZTTaHjBNX6Pfd5p+hSBqe/fEeNd7pc13QiAyGt7VdGMw4eRC4A==", + "dependencies": { + "cosmiconfig": "^8.3.5", + "jiti": "^1.20.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-loader/node_modules/cosmiconfig": { + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", + "dependencies": { + "import-fresh": "^3.3.0", + "js-yaml": "^4.1.0", + "parse-json": "^5.2.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/postcss-merge-idents": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-5.1.1.tgz", + "integrity": "sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz", + "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz", + "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz", + "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==", + "dependencies": { + "browserslist": "^4.21.4", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", + "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", + "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz", + "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz", + "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz", + "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz", + "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==", + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-idents": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-5.2.0.tgz", + "integrity": "sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz", + "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==", + "dependencies": { + "browserslist": "^4.21.4", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-sort-media-queries": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/postcss-sort-media-queries/-/postcss-sort-media-queries-4.4.1.tgz", + "integrity": "sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw==", + "dependencies": { + "sort-css-media-queries": "2.1.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "postcss": "^8.4.16" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/postcss-zindex": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-5.1.0.tgz", + "integrity": "sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==", + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/pretty-error": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz", + "integrity": "sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==", + "dependencies": { + "lodash": "^4.17.20", + "renderkid": "^3.0.0" + } + }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/prism-react-renderer": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/prism-react-renderer/-/prism-react-renderer-2.3.1.tgz", + "integrity": "sha512-Rdf+HzBLR7KYjzpJ1rSoxT9ioO85nZngQEoFIhL07XhtJHlCU3SOz0GJ6+qvMyQe0Se+BV3qpe6Yd/NmQF5Juw==", + "dependencies": { + "@types/prismjs": "^1.26.0", + "clsx": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.0.0" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/property-information": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.4.1.tgz", + "integrity": "sha512-OHYtXfu5aI2sS2LWFSN5rgJjrQ4pCy8i1jubJLe2QvMF8JJ++HXTUIVWFLfXJoaOfvYYjk2SN8J2wFUWIGXT4w==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==" + }, + "node_modules/pupa": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/pupa/-/pupa-3.1.0.tgz", + "integrity": "sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==", + "dependencies": { + "escape-goat": "^4.0.0" + }, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "dependencies": { + "inherits": "~2.0.3" + } + }, + "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==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz", + "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dev-utils": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/react-dev-utils/-/react-dev-utils-12.0.1.tgz", + "integrity": "sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==", + "dependencies": { + "@babel/code-frame": "^7.16.0", + "address": "^1.1.2", + "browserslist": "^4.18.1", + "chalk": "^4.1.2", + "cross-spawn": "^7.0.3", + "detect-port-alt": "^1.1.6", + "escape-string-regexp": "^4.0.0", + "filesize": "^8.0.6", + "find-up": "^5.0.0", + "fork-ts-checker-webpack-plugin": "^6.5.0", + "global-modules": "^2.0.0", + "globby": "^11.0.4", + "gzip-size": "^6.0.0", + "immer": "^9.0.7", + "is-root": "^2.1.0", + "loader-utils": "^3.2.0", + "open": "^8.4.0", + "pkg-up": "^3.1.0", + "prompts": "^2.4.2", + "react-error-overlay": "^6.0.11", + "recursive-readdir": "^2.2.2", + "shell-quote": "^1.7.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/react-dev-utils/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/react-dev-utils/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dev-utils/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/react-dev-utils/node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-error-overlay": { + "version": "6.0.11", + "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", + "integrity": "sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==" + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "node_modules/react-helmet-async": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-1.3.0.tgz", + "integrity": "sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "invariant": "^2.2.4", + "prop-types": "^15.7.2", + "react-fast-compare": "^3.2.0", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-json-view-lite": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/react-json-view-lite/-/react-json-view-lite-1.2.1.tgz", + "integrity": "sha512-Itc0g86fytOmKZoIoJyGgvNqohWSbh3NXIKNgH6W6FT9PC1ck4xas1tT3Rr/b3UlFXyA9Jjaw9QSXdZy2JwGMQ==", + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^16.13.1 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-loadable": { + "name": "@docusaurus/react-loadable", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/@docusaurus/react-loadable/-/react-loadable-5.5.2.tgz", + "integrity": "sha512-A3dYjdBGuy0IGT+wyLIGIKLRE+sAk1iNk0f1HjNDysO7u8lhL4N3VEm+FAubmJbAztn94F7MxBTPmnixbiyFdQ==", + "dependencies": { + "@types/react": "*", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": "*" + } + }, + "node_modules/react-loadable-ssr-addon-v5-slorber": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/react-loadable-ssr-addon-v5-slorber/-/react-loadable-ssr-addon-v5-slorber-1.0.1.tgz", + "integrity": "sha512-lq3Lyw1lGku8zUEJPDxsNm1AfYHBrO9Y1+olAYwpUJ2IGFBskM0DMKok97A6LWUpHm+o7IvQBOWu9MLenp9Z+A==", + "dependencies": { + "@babel/runtime": "^7.10.3" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "react-loadable": "*", + "webpack": ">=4.41.1 || 5.x" + } + }, + "node_modules/react-router": { + "version": "5.3.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.3.4.tgz", + "integrity": "sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==", + "dependencies": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "peerDependencies": { + "react": ">=15" + } + }, + "node_modules/react-router-config": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", + "dependencies": { + "@babel/runtime": "^7.1.2" + }, + "peerDependencies": { + "react": ">=15", + "react-router": ">=5" + } + }, + "node_modules/react-router-dom": { + "version": "6.22.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.1.tgz", + "integrity": "sha512-iwMyyyrbL7zkKY7MRjOVRy+TMnS/OPusaFVxM2P11x9dzSzGmLsebkCvYirGq0DWB9K9hOspHYYtDz33gE5Duw==", + "dependencies": { + "@remix-run/router": "1.15.1", + "react-router": "6.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-router-dom/node_modules/react-router": { + "version": "6.22.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.1.tgz", + "integrity": "sha512-0pdoRGwLtemnJqn1K0XHUbnKiX0S4X8CgvVVmHGOWmofESj31msHo/1YiqcJWK7Wxfq2a4uvvtS01KAQyWK/CQ==", + "dependencies": { + "@remix-run/router": "1.15.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reading-time": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==" + }, + "node_modules/rechoir": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", + "integrity": "sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==", + "dependencies": { + "resolve": "^1.1.6" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/recursive-readdir": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", + "integrity": "sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==", + "dependencies": { + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", + "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/registry-auth-token": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-5.0.2.tgz", + "integrity": "sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==", + "dependencies": { + "@pnpm/npm-conf": "^2.1.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/registry-url": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/registry-url/-/registry-url-6.0.1.tgz", + "integrity": "sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==", + "dependencies": { + "rc": "1.2.8" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/remark-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", + "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-emoji": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-emoji/-/remark-emoji-4.0.1.tgz", + "integrity": "sha512-fHdvsTR1dHkWKev9eNyhTo4EFwbUvJ8ka9SgeWkMPYFX4WoI7ViVBms3PjlQYgw5TLvNQso3GUB/b/8t3yo+dg==", + "dependencies": { + "@types/mdast": "^4.0.2", + "emoticon": "^4.0.1", + "mdast-util-find-and-replace": "^3.0.1", + "node-emoji": "^2.1.0", + "unified": "^11.0.4" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/remark-frontmatter": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-5.0.0.tgz", + "integrity": "sha512-XTFYvNASMe5iPN0719nPrdItC9aU0ssC4v14mH1BCi1u0n1gAocqcujWUrByftZTbLhRtiKRyjYTSIOcr69UVQ==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-frontmatter": "^2.0.0", + "micromark-extension-frontmatter": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.0.tgz", + "integrity": "sha512-U92vJgBPkbw4Zfu/IiW2oTZLSL3Zpv+uI7My2eq8JxKgqraFdU8YUGicEJCEgSbeaG+QDFqIcwwfMTOEelPxuA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.0.1.tgz", + "integrity": "sha512-3Pz3yPQ5Rht2pM5R+0J2MrGoBSrzf+tJG94N+t/ilfdh8YLyyKYtidAYwTveB20BoHAcwIopOUqhcmh2F7hGYA==", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.0.tgz", + "integrity": "sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/renderkid": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-3.0.0.tgz", + "integrity": "sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==", + "dependencies": { + "css-select": "^4.1.3", + "dom-converter": "^0.2.0", + "htmlparser2": "^6.1.0", + "lodash": "^4.17.21", + "strip-ansi": "^6.0.1" + } + }, + "node_modules/renderkid/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/renderkid/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/renderkid/node_modules/htmlparser2": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz", + "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.0.0" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-like": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/require-like/-/require-like-0.1.2.tgz", + "integrity": "sha512-oyrU88skkMtDdauHDuKVrgR+zuItqr6/c//FXzvmxRGMexSDc6hNvJInGW3LL46n+8b50RykrvwSUIIQH2LQ5A==", + "engines": { + "node": "*" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==" + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-alpn": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz", + "integrity": "sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==" + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pathname": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-pathname/-/resolve-pathname-3.0.0.tgz", + "integrity": "sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==" + }, + "node_modules/responselike": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/responselike/-/responselike-3.0.0.tgz", + "integrity": "sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==", + "dependencies": { + "lowercase-keys": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rtl-detect": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/rtl-detect/-/rtl-detect-1.1.2.tgz", + "integrity": "sha512-PGMBq03+TTG/p/cRB7HCLKJ1MgDIi07+QU1faSjiYRfmY5UsAttV9Hs08jDAHVwcOwmVLcSJkpwyfXszVjWfIQ==" + }, + "node_modules/rtlcss": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/rtlcss/-/rtlcss-4.1.1.tgz", + "integrity": "sha512-/oVHgBtnPNcggP2aVXQjSy6N1mMAfHg4GSag0QtZBlD5bdDgAHwr4pydqJGd+SUCu9260+Pjqbjwtvu7EMH1KQ==", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0", + "postcss": "^8.4.21", + "strip-json-comments": "^3.1.1" + }, + "bin": { + "rtlcss": "bin/rtlcss.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "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==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/sax": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", + "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==" + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/schema-utils": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", + "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/search-insights": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.13.0.tgz", + "integrity": "sha512-Orrsjf9trHHxFRuo9/rzm0KIWmgzE8RMlZMzuhZOJ01Rnz3D0YBAe+V6473t6/H6c7irs6Lt48brULAiRWb3Vw==", + "peer": true + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==" + }, + "node_modules/selfsigned": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", + "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", + "dependencies": { + "@types/node-forge": "^1.3.0", + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.6.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", + "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-4.0.0.tgz", + "integrity": "sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/send/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-handler": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz", + "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==", + "dependencies": { + "bytes": "3.0.0", + "content-disposition": "0.5.2", + "fast-url-parser": "1.1.3", + "mime-types": "2.1.18", + "minimatch": "3.1.2", + "path-is-inside": "1.0.2", + "path-to-regexp": "2.2.1", + "range-parser": "1.2.0" + } + }, + "node_modules/serve-handler/node_modules/path-to-regexp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz", + "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ==" + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==" + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", + "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "dependencies": { + "define-data-property": "^1.1.2", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/shelljs": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", + "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", + "dependencies": { + "glob": "^7.0.0", + "interpret": "^1.0.0", + "rechoir": "^0.6.2" + }, + "bin": { + "shjs": "bin/shjs" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/shiki": { + "version": "0.14.7", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-0.14.7.tgz", + "integrity": "sha512-dNPAPrxSc87ua2sKJ3H5dQ/6ZaY8RNnaAqK+t0eG7p0Soi2ydiqbGOTaZCqaYvA/uZYfS1LJnemt3Q+mSfcPCg==", + "dev": true, + "dependencies": { + "ansi-sequence-parser": "^1.1.0", + "jsonc-parser": "^3.2.0", + "vscode-oniguruma": "^1.7.0", + "vscode-textmate": "^8.0.0" + } + }, + "node_modules/side-channel": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.5.tgz", + "integrity": "sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==", + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/sirv": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz", + "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==", + "dependencies": { + "@polka/url": "^1.0.0-next.24", + "mrmime": "^2.0.0", + "totalist": "^3.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "node_modules/sitemap": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-7.1.1.tgz", + "integrity": "sha512-mK3aFtjz4VdJN0igpIJrinf3EO8U8mxOPsTBzSsy06UtjZQJ3YY3o3Xa7zSc5nMqcMrRwlChHZ18Kxg0caiPBg==", + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.2.4" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=12.0.0", + "npm": ">=5.6.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==" + }, + "node_modules/skin-tone": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/skin-tone/-/skin-tone-2.0.0.tgz", + "integrity": "sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==", + "dependencies": { + "unicode-emoji-modifier-base": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/sort-css-media-queries": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sort-css-media-queries/-/sort-css-media-queries-2.1.0.tgz", + "integrity": "sha512-IeWvo8NkNiY2vVYdPa27MCQiR0MN0M80johAYFVxWWXQ44KU84WNxjslwBHmc/7ZL2ccwkM7/e6S5aiKZXm7jA==", + "engines": { + "node": ">= 6.3.0" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/srcset": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/srcset/-/srcset-4.0.0.tgz", + "integrity": "sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility" + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "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==", + "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/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", + "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-to-object": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.4.tgz", + "integrity": "sha512-HYNoHZa2GorYNyqiCaBgsxvcJIn7OHq6inEga+E6Ke3m5JkoqpQbnFssk4jwe+K7AhGa2fcha4wSOf1Kn01dMg==", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/stylehacks": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", + "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "dependencies": { + "browserslist": "^4.21.4", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "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==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-parser": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/svg-parser/-/svg-parser-2.0.4.tgz", + "integrity": "sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==" + }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/svgo/node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/svgo/node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/svgo/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/svgo/node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/svgo/node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/terser": { + "version": "5.27.2", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.2.tgz", + "integrity": "sha512-sHXmLSkImesJ4p5apTeT63DsV4Obe1s37qT8qvwHRmVxKTBH7Rv9Wr26VcAMmLbmk9UliiwK8z+657NyJHHy/w==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/terser-webpack-plugin/node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser-webpack-plugin/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "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==" + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz", + "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/type-is/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==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.0" + } + }, + "node_modules/typedoc": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.25.8.tgz", + "integrity": "sha512-mh8oLW66nwmeB9uTa0Bdcjfis+48bAjSH3uqdzSuSawfduROQLlXw//WSNZLYDdhmMVB7YcYZicq6e8T0d271A==", + "dev": true, + "dependencies": { + "lunr": "^2.3.9", + "marked": "^4.3.0", + "minimatch": "^9.0.3", + "shiki": "^0.14.7" + }, + "bin": { + "typedoc": "bin/typedoc" + }, + "engines": { + "node": ">= 16" + }, + "peerDependencies": { + "typescript": "4.6.x || 4.7.x || 4.8.x || 4.9.x || 5.0.x || 5.1.x || 5.2.x || 5.3.x" + } + }, + "node_modules/typedoc-plugin-markdown": { + "version": "3.17.1", + "resolved": "https://registry.npmjs.org/typedoc-plugin-markdown/-/typedoc-plugin-markdown-3.17.1.tgz", + "integrity": "sha512-QzdU3fj0Kzw2XSdoL15ExLASt2WPqD7FbLeaqwT70+XjKyTshBnUlQA5nNREO1C2P8Uen0CDjsBLMsCQ+zd0lw==", + "dev": true, + "dependencies": { + "handlebars": "^4.7.7" + }, + "peerDependencies": { + "typedoc": ">=0.24.0" + } + }, + "node_modules/typedoc/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/typedoc/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-emoji-modifier-base": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unicode-emoji-modifier-base/-/unicode-emoji-modifier-base-1.0.0.tgz", + "integrity": "sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/unified": { + "version": "11.0.4", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.4.tgz", + "integrity": "sha512-apMPnyLjAX+ty4OrNap7yumyVAMlKx5IWU2wlzzUdYJO9A8f1p9m/gywF/GM2ZDFcjQPrx59Mc90KwmxsoklxQ==", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unique-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", + "dependencies": { + "crypto-random-string": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/update-notifier": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-6.0.2.tgz", + "integrity": "sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==", + "dependencies": { + "boxen": "^7.0.0", + "chalk": "^5.0.1", + "configstore": "^6.0.0", + "has-yarn": "^3.0.0", + "import-lazy": "^4.0.0", + "is-ci": "^3.0.1", + "is-installed-globally": "^0.4.0", + "is-npm": "^6.0.0", + "is-yarn-global": "^0.4.0", + "latest-version": "^7.0.0", + "pupa": "^3.1.0", + "semver": "^7.3.7", + "semver-diff": "^4.0.0", + "xdg-basedir": "^5.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/yeoman/update-notifier?sponsor=1" + } + }, + "node_modules/update-notifier/node_modules/boxen": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-7.1.1.tgz", + "integrity": "sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^7.0.1", + "chalk": "^5.2.0", + "cli-boxes": "^3.0.0", + "string-width": "^5.1.2", + "type-fest": "^2.13.0", + "widest-line": "^4.0.1", + "wrap-ansi": "^8.1.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/camelcase": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-7.0.1.tgz", + "integrity": "sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/update-notifier/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/url-loader": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-4.1.1.tgz", + "integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==", + "dependencies": { + "loader-utils": "^2.0.0", + "mime-types": "^2.1.27", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "file-loader": "*", + "webpack": "^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "file-loader": { + "optional": true + } + } + }, + "node_modules/url-loader/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/url-loader/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/url-loader/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/url-loader/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/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==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/url-loader/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==" + }, + "node_modules/utility-types": { + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/utility-types/-/utility-types-3.11.0.tgz", + "integrity": "sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==", + "engines": { + "node": ">= 4" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/value-equal": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/value-equal/-/value-equal-1.0.1.tgz", + "integrity": "sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==" + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vfile": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.1.tgz", + "integrity": "sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.2.tgz", + "integrity": "sha512-NXPYyxyBSH7zB5U6+3uDdd6Nybz6o6/od9rk8bp9H8GR3L+cm/fC0uUTbqBmUTnMCUDslAGBOIKNfvvb+gGlDg==", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vscode-oniguruma": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz", + "integrity": "sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==", + "dev": true + }, + "node_modules/vscode-textmate": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-8.0.0.tgz", + "integrity": "sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==", + "dev": true + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/webpack": { + "version": "5.90.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", + "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.10.1.tgz", + "integrity": "sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==", + "dependencies": { + "@discoveryjs/json-ext": "0.5.7", + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "commander": "^7.2.0", + "debounce": "^1.2.1", + "escape-string-regexp": "^4.0.0", + "gzip-size": "^6.0.0", + "html-escaper": "^2.0.2", + "is-plain-object": "^5.0.0", + "opener": "^1.5.2", + "picocolors": "^1.0.0", + "sirv": "^2.0.3", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/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==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-middleware/node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.15.1", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", + "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.5", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.24", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + }, + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/webpack-merge": { + "version": "5.10.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", + "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", + "dependencies": { + "clone-deep": "^4.0.1", + "flat": "^5.0.2", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/webpack/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "node_modules/webpack/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==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/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==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpackbar": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", + "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "dependencies": { + "chalk": "^4.1.0", + "consola": "^2.15.3", + "pretty-time": "^1.1.0", + "std-env": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "webpack": "3 || 4 || 5" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/widest-line": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-4.0.1.tgz", + "integrity": "sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==", + "dependencies": { + "string-width": "^5.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "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==", + "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/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + }, + "node_modules/write-file-atomic": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", + "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", + "dependencies": { + "imurmurhash": "^0.1.4", + "is-typedarray": "^1.0.0", + "signal-exit": "^3.0.2", + "typedarray-to-buffer": "^3.1.5" + } + }, + "node_modules/ws": { + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xdg-basedir": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-5.1.0.tgz", + "integrity": "sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/xml-js": { + "version": "1.6.11", + "resolved": "https://registry.npmjs.org/xml-js/-/xml-js-1.6.11.tgz", + "integrity": "sha512-7rVi2KMfwfWFl+GpPg6m80IVMWXLRjO+PxTq7V2CDhoGak0wzYzFgUY2m4XJ47OGdXd8eLE8EmwfAmdjw7lC1g==", + "dependencies": { + "sax": "^1.2.4" + }, + "bin": { + "xml-js": "bin/cli.js" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/docs/package.json b/docs/package.json new file mode 100644 index 0000000..24c59ca --- /dev/null +++ b/docs/package.json @@ -0,0 +1,49 @@ +{ + "name": "bgent-docs", + "version": "0.0.0", + "private": true, + "scripts": { + "docusaurus": "docusaurus", + "start": "docusaurus start --no-open", + "dev": "docusaurus start --port 3002 --no-open", + "build": "docusaurus build", + "swizzle": "docusaurus swizzle", + "deploy": "docusaurus deploy", + "clear": "docusaurus clear", + "serve": "docusaurus serve", + "write-translations": "docusaurus write-translations", + "write-heading-ids": "docusaurus write-heading-ids" + }, + "dependencies": { + "@docusaurus/core": "3.1.1", + "@docusaurus/preset-classic": "3.1.1", + "@mdx-js/react": "^3.0.0", + "clsx": "^2.0.0", + "prism-react-renderer": "^2.3.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-router-dom": "^6.22.0" + }, + "devDependencies": { + "@docusaurus/module-type-aliases": "3.1.1", + "@docusaurus/types": "3.1.1", + "docusaurus-plugin-typedoc": "^0.22.0", + "typedoc": "^0.25.8", + "typedoc-plugin-markdown": "^3.17.1" + }, + "browserslist": { + "production": [ + ">0.5%", + "not dead", + "not op_mini all" + ], + "development": [ + "last 3 chrome version", + "last 3 firefox version", + "last 5 safari version" + ] + }, + "engines": { + "node": ">=18.0" + } +} diff --git a/docs/sidebars.js b/docs/sidebars.js new file mode 100644 index 0000000..14554ca --- /dev/null +++ b/docs/sidebars.js @@ -0,0 +1,20 @@ +/** + * Creating a sidebar enables you to: + - create an ordered group of docs + - render a sidebar for each doc of that group + - provide next/previous navigation + + The sidebars can be generated from the filesystem, or explicitly defined here. + + Create as many sidebars as you want. + */ + +// @ts-check + +/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ +const sidebars = { + // By default, Docusaurus generates a sidebar from the docs folder structure + tutorialSidebar: [{type: 'autogenerated', dirName: '.'}], +}; + +export default sidebars; diff --git a/docs/src/components/HomepageFeatures/index.js b/docs/src/components/HomepageFeatures/index.js new file mode 100644 index 0000000..e05ba55 --- /dev/null +++ b/docs/src/components/HomepageFeatures/index.js @@ -0,0 +1,68 @@ +import clsx from 'clsx' +import Heading from '@theme/Heading' +import styles from './styles.module.css' + +const FeatureList = [ + { + title: 'Made By Users', + description: ( + <> + bgent is open source, community developed and designed to be and easy to use. + + ) + }, + { + title: 'Just Works', + description: ( + <> + Simple, tested, used in production. Configurable enough, but works out of the box. + + ) + }, + { + title: 'For a Better World', + description: ( + <> + If you have ideas for how to make better agents for everyone, Join The Alliance and let's do it together. + + ) + } +] + +function Feature ({ Svg, title, description }) { + return ( +
+
+ {/*
+ +
*/} +
+ {title} +

{description}

+
+
+
+ ) +} + +export default function HomepageFeatures () { + return ( +
+
+
+ {FeatureList.map((props, idx) => ( + + ))} +
+
+
+ ) +} diff --git a/docs/src/components/HomepageFeatures/styles.module.css b/docs/src/components/HomepageFeatures/styles.module.css new file mode 100644 index 0000000..b248eb2 --- /dev/null +++ b/docs/src/components/HomepageFeatures/styles.module.css @@ -0,0 +1,11 @@ +.features { + display: flex; + align-items: center; + padding: 2rem 0; + width: 100%; +} + +.featureSvg { + height: 200px; + width: 200px; +} diff --git a/docs/src/css/custom.css b/docs/src/css/custom.css new file mode 100644 index 0000000..345259d --- /dev/null +++ b/docs/src/css/custom.css @@ -0,0 +1,30 @@ +/** + * Any CSS included here will be global. The classic template + * bundles Infima by default. Infima is a CSS framework designed to + * work well for content-centric websites. + */ + +/* You can override the default Infima variables here. */ +:root { + --ifm-color-primary: darkblue; + --ifm-color-primary-dark: #29784c; + --ifm-color-primary-darker: #277148; + --ifm-color-primary-darkest: #205d3b; + --ifm-color-primary-light: #33925d; + --ifm-color-primary-lighter: #359962; + --ifm-color-primary-lightest: #3cad6e; + --ifm-code-font-size: 95%; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); +} + +/* For readability concerns, you should choose a lighter palette in dark mode. */ +[data-theme='dark'] { + --ifm-color-primary: lightblue; + --ifm-color-primary-dark: #21af90; + --ifm-color-primary-darker: #1fa588; + --ifm-color-primary-darkest: #1a8870; + --ifm-color-primary-light: #29d5b0; + --ifm-color-primary-lighter: #32d8b4; + --ifm-color-primary-lightest: #4fddbf; + --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); +} diff --git a/docs/src/pages/index.js b/docs/src/pages/index.js new file mode 100644 index 0000000..72526f0 --- /dev/null +++ b/docs/src/pages/index.js @@ -0,0 +1,44 @@ +import useDocusaurusContext from '@docusaurus/useDocusaurusContext' +import HomepageFeatures from '@site/src/components/HomepageFeatures' +import Layout from '@theme/Layout' + +import Heading from '@theme/Heading' +import styles from './index.module.css' + +function HomepageHeader() { + const { siteConfig } = useDocusaurusContext() + return ( +
+
+ + {siteConfig.title} + +

{siteConfig.tagline}

+
+
+ ) +} + +export default function Home() { + const { siteConfig } = useDocusaurusContext() + return ( + + +
+ +
+ +
+ + ) +} diff --git a/docs/src/pages/index.module.css b/docs/src/pages/index.module.css new file mode 100644 index 0000000..9f71a5d --- /dev/null +++ b/docs/src/pages/index.module.css @@ -0,0 +1,23 @@ +/** + * CSS files with the .module.css suffix will be treated as CSS modules + * and scoped locally. + */ + +.heroBanner { + padding: 4rem 0; + text-align: center; + position: relative; + overflow: hidden; +} + +@media screen and (max-width: 996px) { + .heroBanner { + padding: 2rem; + } +} + +.buttons { + display: flex; + align-items: center; + justify-content: center; +} diff --git a/docs/src/pages/markdown-page.md b/docs/src/pages/markdown-page.md new file mode 100644 index 0000000..9756c5b --- /dev/null +++ b/docs/src/pages/markdown-page.md @@ -0,0 +1,7 @@ +--- +title: Markdown page example +--- + +# Markdown page example + +You don't need React to write simple standalone pages. diff --git a/docs/static/.nojekyll b/docs/static/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/docs/static/img/background.jpg b/docs/static/img/background.jpg new file mode 100644 index 0000000000000000000000000000000000000000..86509b4465ac127fd7b9b9866601113b48b8021f GIT binary patch literal 309794 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

4%&wmi6F7)Re^obI2R7XgsUTsQqw!^ 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 literal 0 HcmV?d00001 diff --git a/docs/static/img/favicon.svg b/docs/static/img/favicon.svg new file mode 100644 index 0000000..166001f --- /dev/null +++ b/docs/static/img/favicon.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/docs/static/img/logo.svg b/docs/static/img/logo.svg new file mode 100644 index 0000000..166001f --- /dev/null +++ b/docs/static/img/logo.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/package-lock.json b/package-lock.json index 682fb7d..faf5bb1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "bgent", - "version": "0.0.14", + "version": "0.0.15", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "bgent", - "version": "0.0.14", + "version": "0.0.15", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index cac334b..70822cc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bgent", - "version": "0.0.15", + "version": "0.0.16", "private": false, "description": "bgent. because agent was taken.", "type": "module", @@ -9,7 +9,7 @@ "jsnext:main": "dist/index.esm.js", "types": "dist/index.d.ts", "scripts": { - "build": "rm -r ./dist && rollup -c && tsc", + "build": "rimraf ./dist && rollup -c && tsc", "lint": "eslint --ext .ts --ext .js . --fix", "dev": "wrangler dev -- --dev", "docs": "cd docs && npm run start", @@ -17,7 +17,7 @@ "concat": "node ./scripts/concat.mjs", "shell:cloud": "node --no-warnings scripts/shell.mjs", "test": "NODE_OPTIONS=\"$NODE_OPTIONS --experimental-vm-modules\" jest", - "reset-profile": "rm ~/.cjrc", + "reset-profile": "rimraf ~/.cjrc", "deploy": "wrangler deploy", "postinstall": "cd docs && npm install" }, diff --git a/rollup.config.js b/rollup.config.js index 2af1e77..ed12ce1 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -1,6 +1,7 @@ import json from "@rollup/plugin-json"; import replace from "@rollup/plugin-replace"; import typescript from "@rollup/plugin-typescript"; +import { nodeResolve } from '@rollup/plugin-node-resolve'; import { defineConfig } from "rollup"; import pkg from "./package.json"; @@ -8,6 +9,8 @@ export default defineConfig([ { input: "src/index.ts", external: [ + 'chalk', + '@supabase/supabase-js', // ...Object.keys(pkg.dependencies || {}), // ...Object.keys(pkg.peerDependencies || {}), ], @@ -27,6 +30,7 @@ export default defineConfig([ plugins: [ json(), typescript(), + nodeResolve(), replace({ __DEV__: `(process.env.NODE_ENV !== 'production')`, preventAssignment: true, diff --git a/src/agents/cj/__tests__/relationships.test.ts b/src/agents/cj/__tests__/relationships.test.ts new file mode 100644 index 0000000..025541e --- /dev/null +++ b/src/agents/cj/__tests__/relationships.test.ts @@ -0,0 +1,73 @@ +import { type User } from "@supabase/supabase-js"; +import { type UUID } from "crypto"; +import dotenv from "dotenv"; +import { createRuntime } from "../../../test/createRuntime"; // Adjust the import path as needed +import { + createRelationship, + getRelationship, + getRelationships, +} from "../relationships"; // Adjust the import path as needed +import { BgentRuntime } from "../../../lib/runtime"; + +dotenv.config(); + +const zeroUuid = "00000000-0000-0000-0000-000000000000" as UUID; + +describe("Relationships Module", () => { + let runtime: BgentRuntime; + let user: User; + + beforeAll(async () => { + const setup = await createRuntime({ + env: process.env as Record, + }); + runtime = setup.runtime; + user = setup.session.user; + }); + + test("createRelationship creates a new relationship", async () => { + const userA = user?.id as UUID; + const userB = zeroUuid; + + const relationship = await createRelationship({ + runtime, + userA, + userB, + }); + + expect(relationship).toBe(true); + }); + + test("getRelationship retrieves an existing relationship", async () => { + const userA = user?.id as UUID; + const userB = zeroUuid; + + await createRelationship({ runtime, userA, userB }); + + const relationship = await getRelationship({ + runtime, + userA, + userB, + }); + expect(relationship).toBeDefined(); + expect(relationship.user_a).toBe(userA); + expect(relationship.user_b).toBe(userB); + }); + + test("getRelationships retrieves all relationships for a user", async () => { + const userA = user?.id as UUID; + const userB = zeroUuid; + + await createRelationship({ runtime, userA, userB }); + + const relationships = await getRelationships({ + runtime, + userId: userA, + }); + expect(relationships).toBeDefined(); + expect(relationships.length).toBeGreaterThan(0); + expect( + relationships.some((r) => r.user_a === userA || r.user_b === userA), + ).toBeTruthy(); + }); +}); diff --git a/src/agents/cj/actions/__tests__/introduce.test.ts b/src/agents/cj/actions/__tests__/introduce.test.ts index 6199e83..a9ed6ea 100644 --- a/src/agents/cj/actions/__tests__/introduce.test.ts +++ b/src/agents/cj/actions/__tests__/introduce.test.ts @@ -1,7 +1,7 @@ import dotenv from "dotenv"; import { type UUID } from "crypto"; -import { getRelationship } from "../../../../lib/relationships"; +import { getRelationship } from "../../relationships"; import { type Message } from "../../../../lib/types"; import { createRuntime } from "../../../../test/createRuntime"; import { diff --git a/src/agents/cj/actions/introduce.ts b/src/agents/cj/actions/introduce.ts index 16006e8..6748e1d 100644 --- a/src/agents/cj/actions/introduce.ts +++ b/src/agents/cj/actions/introduce.ts @@ -1,6 +1,6 @@ import { type BgentRuntime } from "../../../lib"; import { composeContext } from "../../../lib/context"; -import { createRelationship } from "../../../lib/relationships"; +import { createRelationship } from "../relationships"; import { Action, type Message, type State } from "../../../lib/types"; import { parseJSONObjectFromText } from "../../../lib/utils"; diff --git a/src/agents/cj/evaluators/__tests__/details.test.ts b/src/agents/cj/evaluators/__tests__/details.test.ts index c32df5d..be62368 100644 --- a/src/agents/cj/evaluators/__tests__/details.test.ts +++ b/src/agents/cj/evaluators/__tests__/details.test.ts @@ -1,7 +1,7 @@ import dotenv from "dotenv"; import { type UUID } from "crypto"; -import { getRelationship } from "../../../../lib/relationships"; +import { getRelationship } from "../../relationships"; import { type Message } from "../../../../lib/types"; import { createRuntime } from "../../../../test/createRuntime"; import { diff --git a/src/agents/cj/evaluators/__tests__/profile.test.ts b/src/agents/cj/evaluators/__tests__/profile.test.ts index a71db3b..923c661 100644 --- a/src/agents/cj/evaluators/__tests__/profile.test.ts +++ b/src/agents/cj/evaluators/__tests__/profile.test.ts @@ -1,7 +1,7 @@ import dotenv from "dotenv"; import { type UUID } from "crypto"; -import { getRelationship } from "../../../../lib/relationships"; +import { getRelationship } from "../../relationships"; import { type Message } from "../../../../lib/types"; import { createRuntime } from "../../../../test/createRuntime"; import { diff --git a/src/agents/cj/evaluators/profile.ts b/src/agents/cj/evaluators/profile.ts index 7182deb..cc007d5 100644 --- a/src/agents/cj/evaluators/profile.ts +++ b/src/agents/cj/evaluators/profile.ts @@ -1,5 +1,6 @@ import { type UUID } from "crypto"; -import { getRelationship, type BgentRuntime } from "../../../lib"; +import { type BgentRuntime } from "../../../lib"; +import { getRelationship } from "../relationships"; import { composeContext } from "../../../lib/context"; import { type Evaluator, diff --git a/src/agents/cj/index.ts b/src/agents/cj/index.ts index f95dd93..1d645c6 100644 --- a/src/agents/cj/index.ts +++ b/src/agents/cj/index.ts @@ -53,7 +53,7 @@ const onMessage = async ( return; } - const data = (await runtime.handleRequest(message, state)) as Content; + const data = (await runtime.handleMessage(message, state)) as Content; return data; }; diff --git a/src/lib/relationships.ts b/src/agents/cj/relationships.ts similarity index 96% rename from src/lib/relationships.ts rename to src/agents/cj/relationships.ts index 859ff6f..5288a62 100644 --- a/src/lib/relationships.ts +++ b/src/agents/cj/relationships.ts @@ -1,5 +1,5 @@ import { type UUID } from "crypto"; -import { type BgentRuntime } from "./runtime"; +import { type BgentRuntime } from "../../lib/runtime"; import { type Relationship } from "./types"; export async function createRelationship({ diff --git a/src/agents/cj/types.ts b/src/agents/cj/types.ts new file mode 100644 index 0000000..4b90548 --- /dev/null +++ b/src/agents/cj/types.ts @@ -0,0 +1,11 @@ +import { type UUID } from "crypto"; + +export interface Relationship { + id: UUID; + user_a: UUID; + user_b: UUID; + user_id: UUID; + room_id: UUID; + status: string; + created_at?: string; +} diff --git a/src/agents/simple/index.ts b/src/agents/simple/index.ts index 638eaee..71e8d23 100644 --- a/src/agents/simple/index.ts +++ b/src/agents/simple/index.ts @@ -21,7 +21,7 @@ const onMessage = async ( return; } - const data = (await runtime.handleRequest(message, state)) as Content; + const data = (await runtime.handleMessage(message, state)) as Content; return data; }; diff --git a/src/index.ts b/src/index.ts index 8cd5167..843e35e 100644 --- a/src/index.ts +++ b/src/index.ts @@ -1 +1,2 @@ export * from "./lib"; +export * from "./agents"; diff --git a/src/lib/__tests__/actions.test.ts b/src/lib/__tests__/actions.test.ts deleted file mode 100644 index 00aba9f..0000000 --- a/src/lib/__tests__/actions.test.ts +++ /dev/null @@ -1,137 +0,0 @@ -import { type User } from "@supabase/supabase-js"; -import { type UUID } from "crypto"; -import dotenv from "dotenv"; -import { createRuntime } from "../../test/createRuntime"; -import { TEST_ACTION, TEST_ACTION_FAIL } from "../../test/testAction"; -import { getRelationship } from "../relationships"; -import { type BgentRuntime } from "../runtime"; -import { type Message } from "../types"; - -dotenv.config(); - -const zeroUuid = "00000000-0000-0000-0000-000000000000" as UUID; - -describe("Actions", () => { - let user: User; - let runtime: BgentRuntime; - let room_id: UUID; - - afterAll(async () => { - await cleanup(); - }); - - beforeAll(async () => { - const { session, runtime: _runtime } = await createRuntime({ - env: process.env as Record, - actions: [TEST_ACTION, TEST_ACTION_FAIL], - }); - user = session.user; - runtime = _runtime; - - const data = await getRelationship({ - runtime, - userA: user?.id as UUID, - userB: zeroUuid, - }); - - room_id = data?.room_id; - - await cleanup(); - }); - - async function cleanup() { - await runtime.summarizationManager.removeAllMemoriesByUserIds([ - user?.id as UUID, - zeroUuid, - ]); - await runtime.messageManager.removeAllMemoriesByUserIds([ - user?.id as UUID, - zeroUuid, - ]); - } - - // Test that actions are being loaded into context properly - test("Actions are loaded into context", async () => { - const actions = runtime.actions; - expect(actions).toBeDefined(); - expect(actions.length).toBeGreaterThan(0); - // Ensure the CONTINUE action is part of the loaded actions - const continueAction = actions.find((action) => action.name === "CONTINUE"); - expect(continueAction).toBeDefined(); - }); - - // Test that actions are validated properly - test("Continue action is always valid", async () => { - const continueAction = runtime.actions.find( - (action) => action.name === "CONTINUE", - ); - expect(continueAction).toBeDefined(); - if (continueAction && continueAction.validate) { - const isValid = await continueAction.validate(runtime, { - agentId: zeroUuid, - senderId: user.id as UUID, - userIds: [user.id as UUID, zeroUuid], - content: "Test message", - room_id: room_id, - }); - expect(isValid).toBeTruthy(); - } else { - throw new Error( - "Continue action or its validation function is undefined", - ); - } - }); - - test("Validate that TEST_ACTION is in the state", async () => { - const message: Message = { - senderId: user.id as UUID, - agentId: zeroUuid, - userIds: [user.id as UUID, zeroUuid], - content: - "Please respond with the message 'ok' and the action TEST_ACTION", - room_id, - }; - - const response = await runtime.handleRequest(message); - - expect(response.action).toEqual("TEST_ACTION"); - }); - - test("Test that actions are properly validated in state", async () => { - const message: Message = { - senderId: user.id as UUID, - agentId: zeroUuid, - userIds: [user.id as UUID, zeroUuid], - content: - "Please respond with the message 'ok' and the action TEST_ACTION", - room_id, - }; - - const state = await runtime.composeState(message); - expect(state.actionNames).not.toContain("TEST_ACTION_FAIL"); - - expect(state.actionNames).toContain("TEST_ACTION"); - }); - - // Test that action handlers are being called properly - test("Continue action handler is called", async () => { - const continueAction = runtime.actions.find( - (action) => action.name === "CONTINUE", - ); - expect(continueAction).toBeDefined(); - if (continueAction && continueAction.handler) { - const mockMessage = { - agentId: zeroUuid, - senderId: user.id as UUID, - userIds: [user.id as UUID, zeroUuid], - content: "Test message for CONTINUE action", - room_id: room_id, - }; - const response = await continueAction.handler(runtime, mockMessage); - expect(response).toBeDefined(); - // Further assertions can be made based on the expected outcome of the CONTINUE action handler - } else { - throw new Error("Continue action or its handler function is undefined"); - } - }, 20000); -}); diff --git a/src/lib/__tests__/evaluation.test.ts b/src/lib/__tests__/evaluation.test.ts deleted file mode 100644 index ea23921..0000000 --- a/src/lib/__tests__/evaluation.test.ts +++ /dev/null @@ -1,156 +0,0 @@ -import { User } from "@supabase/supabase-js"; -import { UUID } from "crypto"; -import dotenv from "dotenv"; -import { createRuntime } from "../../test/createRuntime"; -import { TEST_EVALUATOR, TEST_EVALUATOR_FAIL } from "../../test/testEvaluator"; -import { composeContext } from "../context"; -import { evaluationTemplate } from "../evaluation"; -import summarization from "../evaluators/summarization"; -import { getRelationship } from "../relationships"; -import { BgentRuntime } from "../runtime"; -import { Message } from "../types"; - -dotenv.config(); - -describe("Evaluation Process", () => { - let runtime: BgentRuntime; - let user: User; - let room_id: UUID; - const zeroUuid: UUID = "00000000-0000-0000-0000-000000000000"; - - beforeAll(async () => { - const setup = await createRuntime({ - env: process.env as Record, - evaluators: [TEST_EVALUATOR, TEST_EVALUATOR_FAIL], - }); - runtime = setup.runtime; - user = setup.session.user; - - const relationship = await getRelationship({ - runtime, - userA: user.id as UUID, - userB: zeroUuid, - }); - room_id = relationship?.room_id; - }); - - test("Validate the format of the examples from the evaluator", () => { - expect(TEST_EVALUATOR.examples).toBeInstanceOf(Array); - TEST_EVALUATOR.examples.forEach((example) => { - expect(example).toHaveProperty("context"); - expect(example).toHaveProperty("messages"); - expect(example.messages).toBeInstanceOf(Array); - example.messages.forEach((message) => { - expect(message).toHaveProperty("user"); - expect(message).toHaveProperty("content"); - expect(message).toHaveProperty("action"); - }); - expect(example).toHaveProperty("outcome"); - }); - }); - - test("Check if test and examples appear in state", async () => { - const message: Message = { - senderId: user.id as UUID, - agentId: zeroUuid, - userIds: [user.id as UUID, zeroUuid], - content: "Test message for evaluation", - room_id, - }; - - const state = await runtime.composeState(message); - const prompt = composeContext({ state, template: evaluationTemplate }); - - // expect that the prompt contacts the testEvaluator name - expect(prompt).toContain(TEST_EVALUATOR.name); - - // check if state.EvaluatorNames contains the testEvaluator name - - expect(state.evaluatorNames).toContain(TEST_EVALUATOR.name); - }); - - test("Run the TEST_EVALUATOR handler and validate output", async () => { - const message: Message = { - senderId: user.id as UUID, - agentId: zeroUuid, - userIds: [user.id as UUID, zeroUuid], - content: "Run TEST_EVALUATOR handler", - room_id, - }; - - const result = await TEST_EVALUATOR.handler(runtime, message); - expect(result).toBeTruthy(); - }); - - // load up a conversation - // call the prompt - // get back the array of evaluators - // run the evaluators - // check the results - test("Run the evaluation process", async () => { - const { runtime } = await createRuntime({ - env: process.env as Record, - evaluators: [TEST_EVALUATOR, TEST_EVALUATOR_FAIL], - }); - - const message: Message = { - senderId: user.id as UUID, - agentId: zeroUuid, - userIds: [user.id as UUID, zeroUuid], - content: "Please run the test evaluator", - room_id, - }; - - const state = await runtime.composeState(message); - - const result = await runtime.evaluate(message, state); - - expect(result?.includes("TEST_EVALUATOR")).toBe(true); - }); - - test("Run the evaluation process", async () => { - const { runtime } = await createRuntime({ - env: process.env as Record, - evaluators: [TEST_EVALUATOR, TEST_EVALUATOR_FAIL], - }); - - const message: Message = { - senderId: user.id as UUID, - agentId: zeroUuid, - userIds: [user.id as UUID, zeroUuid], - content: "Please run the test evaluator", - room_id, - }; - - const state = await runtime.composeState(message); - - const result = await runtime.evaluate(message, state); - - expect(result?.includes("TEST_EVALUATOR")).toBe(true); - }); - - test("Test that summarization appears in evaluation handler", async () => { - const { runtime } = await createRuntime({ - env: process.env as Record, - recentMessageCount: 1, - }); - - const message: Message = { - senderId: user.id as UUID, - agentId: zeroUuid, - userIds: [user.id as UUID, zeroUuid], - content: "Test message for evaluation", - room_id, - }; - - const state = await runtime.composeState(message); - const prompt = composeContext({ state, template: evaluationTemplate }); - - // expect that the prompt contacts the testEvaluator name - expect(prompt).toContain(summarization.name); - - // check if state.EvaluatorNames contains the testEvaluator name - - expect(state.evaluatorNames).toContain(summarization.name); - }); -}); diff --git a/src/lib/__tests__/lore.test.ts b/src/lib/__tests__/lore.test.ts deleted file mode 100644 index c383b71..0000000 --- a/src/lib/__tests__/lore.test.ts +++ /dev/null @@ -1,101 +0,0 @@ -import { type User } from "@supabase/supabase-js"; -import { type UUID } from "crypto"; -import dotenv from "dotenv"; -import { createRuntime } from "../../test/createRuntime"; -import { composeContext } from "../context"; -import { addLore, getLore } from "../lore"; -import { getRelationship } from "../relationships"; -import { BgentRuntime } from "../runtime"; -import { requestHandlerTemplate } from "../templates"; -import { type Content } from "../types"; - -dotenv.config(); -describe("Lore", () => { - const zeroUuid: UUID = "00000000-0000-0000-0000-000000000000"; - let runtime: BgentRuntime; - let user: User; - let room_id: UUID; - - beforeAll(async () => { - const result = await createRuntime({ - env: process.env as Record, - }); - runtime = result.runtime; - user = result.session.user; - - const data = await getRelationship({ - runtime, - userA: user?.id as UUID, - userB: zeroUuid, - }); - - room_id = data?.room_id; - }); - - beforeEach(async () => { - await runtime.loreManager.removeAllMemoriesByUserIds([ - user?.id as UUID, - zeroUuid, - ]); - }); - - afterAll(async () => { - await runtime.loreManager.removeAllMemoriesByUserIds([ - user?.id as UUID, - zeroUuid, - ]); - }); - - test("Add and get lore", async () => { - const content: Content = { content: "Test", source: "/Test.md" }; - await addLore({ - runtime, - source: "/Test.md", - content: "Test", - user_id: user.id as UUID, - room_id, - }); - - const lore = await getLore({ - runtime, - message: "Test", - }); - - expect(lore).toHaveLength(1); - expect(lore[0].content).toEqual(content); - }); - - // TODO: Test that the lore is in the context of the agent - - test("Test that lore is in the context of the agent", async () => { - await addLore({ - runtime, - source: "Test Lore Source", - content: "Test Lore Content", - user_id: user.id as UUID, - room_id, - }); - - const message = { - senderId: user.id as UUID, - agentId: zeroUuid, - userIds: [user.id as UUID, zeroUuid], - content: "Test", - room_id, - }; - - const state = await runtime.composeState(message); - - // expect state.lore to exist - expect(state.lore).toHaveLength(1); - - const context = composeContext({ - state, - template: requestHandlerTemplate, - }); - - // expect context to contain 'Test Lore Source' and 'Test Lore Content' - expect(context).toContain("Test Lore Source"); - expect(context).toContain("Test Lore Content"); - }); -}); diff --git a/src/lib/__tests__/memory.test.ts b/src/lib/__tests__/memory.test.ts deleted file mode 100644 index dab6035..0000000 --- a/src/lib/__tests__/memory.test.ts +++ /dev/null @@ -1,613 +0,0 @@ -import { type User } from "@supabase/supabase-js"; -import { type UUID } from "crypto"; -import dotenv from "dotenv"; -import { createRuntime } from "../../test/createRuntime"; -import { MemoryManager } from "../memory"; -import { getRelationship } from "../relationships"; -import { type Content, type Memory } from "../types"; -import { getCachedEmbedding, writeCachedEmbedding } from "../../test/cache"; - -dotenv.config(); -describe("Memory", () => { - let memoryManager: MemoryManager; - const zeroUuid: UUID = "00000000-0000-0000-0000-000000000000"; - let runtime = null; - let user: User | null = null; - let room_id: UUID | null = null; - - beforeAll(async () => { - const result = await createRuntime({ - env: process.env as Record, - }); - runtime = result.runtime; - user = result.session.user; - - const data = await getRelationship({ - runtime, - userA: user?.id as UUID, - userB: zeroUuid, - }); - - room_id = data?.room_id; - - memoryManager = new MemoryManager({ - tableName: "messages", - runtime, - }); - }); - - beforeEach(async () => { - await memoryManager.removeAllMemoriesByUserIds([ - user?.id as UUID, - zeroUuid, - ]); - }); - - afterAll(async () => { - await memoryManager.removeAllMemoriesByUserIds([ - user?.id as UUID, - zeroUuid, - ]); - }); - - test("Search memories by embedding similarity", async () => { - // Define a base memory and two additional memories, one similar and one dissimilar - const baseMemoryContent = "Base memory content for testing similarity"; - const similarMemoryContent = - "Base memory content for testing similarity - Similar memory content to the base memory"; - const dissimilarMemoryContent = "Dissimilar memory content, not related"; - - // Create and add embedding to the base memory - const baseMemory = await memoryManager.runtime.embed(baseMemoryContent); - - let embedding = getCachedEmbedding(similarMemoryContent); - - // Create and add embedding to the similar and dissimilar memories - const similarMemory = await memoryManager.addEmbeddingToMemory({ - user_id: user?.id as UUID, - content: { content: similarMemoryContent }, - user_ids: [user?.id as UUID, zeroUuid], - room_id: room_id as UUID, - embedding, - }); - if (!embedding) { - writeCachedEmbedding( - similarMemoryContent, - similarMemory.embedding as number[], - ); - } - await memoryManager.createMemory(similarMemory); - - embedding = getCachedEmbedding(dissimilarMemoryContent); - - const dissimilarMemory = await memoryManager.addEmbeddingToMemory({ - user_id: user?.id as UUID, - content: { content: dissimilarMemoryContent }, - user_ids: [user?.id as UUID, zeroUuid], - room_id: room_id as UUID, - embedding: getCachedEmbedding(dissimilarMemoryContent), - }); - if (!embedding) { - writeCachedEmbedding( - dissimilarMemoryContent, - dissimilarMemory.embedding as number[], - ); - } - await memoryManager.createMemory(dissimilarMemory); - - // Search for memories similar to the base memory - const searchedMemories = await memoryManager.searchMemoriesByEmbedding( - baseMemory!, - { - userIds: [user?.id as UUID, zeroUuid], - count: 1, - }, - ); - - // Check that the similar memory is included in the search results and the dissimilar one is not or ranks lower - expect( - searchedMemories.some( - (memory) => - (memory.content as Content).content === similarMemoryContent, - ), - ).toBe(true); - expect( - searchedMemories.some( - (memory) => - (memory.content as Content).content === dissimilarMemoryContent, - ), - ).toBe(false); - }); - - test("Verify memory similarity and ranking", async () => { - // Define a set of memories with varying degrees of similarity - const queryMemoryContent = "High similarity content to the query memory"; - const highSimilarityContent = "High similarity content to the query memory"; - const lowSimilarityContent = "Low similarity content compared to the query"; - - let embedding = getCachedEmbedding(queryMemoryContent); - - // Create and add embedding to the query memory - const queryMemory = await memoryManager.addEmbeddingToMemory({ - user_id: user?.id as UUID, - content: { content: queryMemoryContent }, - user_ids: [user?.id as UUID, zeroUuid], - room_id: room_id as UUID, - embedding, - }); - if (!embedding) { - writeCachedEmbedding( - queryMemoryContent, - queryMemory.embedding as number[], - ); - } - await memoryManager.createMemory(queryMemory); - - embedding = getCachedEmbedding(highSimilarityContent); - // Create and add embedding to the high and low similarity memories - const highSimilarityMemory = await memoryManager.addEmbeddingToMemory({ - user_id: user?.id as UUID, - content: { content: highSimilarityContent }, - user_ids: [user?.id as UUID, zeroUuid], - room_id: room_id as UUID, - embedding, - }); - if (!embedding) { - writeCachedEmbedding( - highSimilarityContent, - highSimilarityMemory.embedding as number[], - ); - } - await memoryManager.createMemory(highSimilarityMemory); - - embedding = getCachedEmbedding(lowSimilarityContent); - const lowSimilarityMemory = await memoryManager.addEmbeddingToMemory({ - user_id: user?.id as UUID, - content: { content: lowSimilarityContent }, - user_ids: [user?.id as UUID, zeroUuid], - room_id: room_id as UUID, - embedding, - }); - if (!embedding) { - writeCachedEmbedding( - lowSimilarityContent, - lowSimilarityMemory.embedding as number[], - ); - } - await memoryManager.createMemory(lowSimilarityMemory); - - // Search for memories similar to the query memory - const searchedMemories = await memoryManager.searchMemoriesByEmbedding( - queryMemory.embedding!, - { - userIds: [user?.id as UUID, zeroUuid], - count: 10, - }, - ); - - // Check that the high similarity memory ranks higher than the low similarity memory - const highSimilarityIndex = searchedMemories.findIndex( - (memory) => (memory.content as Content).content === highSimilarityContent, - ); - const lowSimilarityIndex = searchedMemories.findIndex( - (memory) => (memory.content as Content).content === lowSimilarityContent, - ); - - expect(highSimilarityIndex).toBeLessThan(lowSimilarityIndex); - }); -}); -describe("Memory - Basic tests", () => { - let memoryManager: MemoryManager; - const zeroUuid: UUID = "00000000-0000-0000-0000-000000000000"; - let runtime = null; - let user: User | null = null; - let room_id: UUID | null = null; - - // Setup before all tests - beforeAll(async () => { - const result = await createRuntime({ - env: process.env as Record, - }); - runtime = result.runtime; - user = result.session.user; - - const data = await getRelationship({ - runtime, - userA: user?.id as UUID, - userB: zeroUuid, - }); - - room_id = data?.room_id; - - memoryManager = new MemoryManager({ - tableName: "messages", // Adjust based on your actual table name - runtime, - }); - }); - - // Cleanup after all tests - afterAll(async () => { - await memoryManager.removeAllMemoriesByUserIds([ - user?.id as UUID, - zeroUuid, - ]); - }); - - test("Memory lifecycle: create, search, count, and remove", async () => { - const embedding = getCachedEmbedding("Test content for memory lifecycle"); - // Create a test memory - const testMemory: Memory = await memoryManager.addEmbeddingToMemory({ - user_id: user?.id as UUID, - content: { content: "Test content for memory lifecycle" }, - user_ids: [user?.id as UUID, zeroUuid], - room_id: room_id as UUID, - embedding, - }); - if (!embedding) { - writeCachedEmbedding( - (testMemory.content as Content).content as string, - testMemory.embedding as number[], - ); - } - await memoryManager.createMemory(testMemory); - - const createdMemories = await memoryManager.getMemoriesByIds({ - userIds: [user?.id as UUID, zeroUuid], - count: 100, - }); - - // Verify creation by counting memories - const initialCount = await memoryManager.countMemoriesByUserIds([ - user?.id as UUID, - zeroUuid, - ]); - expect(initialCount).toBeGreaterThan(0); - - // Search memories by embedding - const searchedMemories = await memoryManager.searchMemoriesByEmbedding( - testMemory.embedding!, - { - userIds: [user?.id as UUID, zeroUuid], - count: 5, - }, - ); - expect(searchedMemories.length).toBeGreaterThan(0); - - // Remove a specific memory - await memoryManager.removeMemory(createdMemories[0].id!); - const afterRemovalCount = await memoryManager.countMemoriesByUserIds([ - user?.id as UUID, - ]); - expect(afterRemovalCount).toBeLessThan(initialCount); - - // Remove all memories for the test user - await memoryManager.removeAllMemoriesByUserIds([user?.id as UUID]); - const finalCount = await memoryManager.countMemoriesByUserIds([ - user?.id as UUID, - zeroUuid, - ]); - expect(finalCount).toEqual(0); - }); -}); -describe("Memory - Extended Tests", () => { - let memoryManager: MemoryManager; - const zeroUuid: UUID = "00000000-0000-0000-0000-000000000000"; - let runtime = null; - let user: User | null = null; - let room_id: UUID | null = null; - - beforeAll(async () => { - const result = await createRuntime({ - env: process.env as Record, - }); - runtime = result.runtime; - user = result.session.user; - - const data = await getRelationship({ - runtime, - userA: user.id as UUID, - userB: zeroUuid, - }); - - room_id = data?.room_id; - - memoryManager = new MemoryManager({ - tableName: "messages", - runtime, - }); - }); - - beforeEach(async () => { - await memoryManager.removeAllMemoriesByUserIds([ - user?.id as UUID, - zeroUuid, - ]); - }); - - afterAll(async () => { - await memoryManager.removeAllMemoriesByUserIds([ - user?.id as UUID, - zeroUuid, - ]); - }); - - test("Test cosine similarity value equality", async () => { - // Define a base memory and two additional memories, one similar and one dissimilar - const baseMemoryContent = "Base memory content for testing similarity"; - const similarMemoryContent = "Base memory content for testing similarity"; - - // Create and add embedding to the base memory - const baseMemory = await memoryManager.runtime.embed(baseMemoryContent); - - const embedding = getCachedEmbedding(similarMemoryContent); - - // Create and add embedding to the similar and dissimilar memories - const similarMemory = await memoryManager.addEmbeddingToMemory({ - user_id: user?.id as UUID, - content: similarMemoryContent, - user_ids: [user?.id as UUID, zeroUuid], - room_id: room_id as UUID, - embedding, - }); - if (!embedding) { - writeCachedEmbedding( - similarMemoryContent, - similarMemory.embedding as number[], - ); - } - await memoryManager.createMemory(similarMemory); - - // Search for memories similar to the base memory - const searchedMemories = await memoryManager.searchMemoriesByEmbedding( - baseMemory!, - { - userIds: [user?.id as UUID, zeroUuid], - count: 1, - }, - ); - - const memory = searchedMemories[0]; - - const similarity = (memory as unknown as { similarity: number }).similarity; - - expect(similarity).toBeGreaterThan(0.99999); - }); - - test("Test cosine similarity value inequality", async () => { - // Define a base memory and two additional memories, one similar and one dissimilar - const baseMemoryContent = "i love u"; - const similarMemoryContent = "Cognitive security in the information age."; - - // Create and add embedding to the base memory - const baseMemory = await memoryManager.runtime.embed(baseMemoryContent); - - const embedding = getCachedEmbedding(similarMemoryContent); - - // Create and add embedding to the similar and dissimilar memories - const similarMemory = await memoryManager.addEmbeddingToMemory({ - user_id: user?.id as UUID, - content: similarMemoryContent, - user_ids: [user?.id as UUID, zeroUuid], - room_id: room_id as UUID, - embedding, - }); - if (!embedding) { - writeCachedEmbedding( - similarMemoryContent, - similarMemory.embedding as number[], - ); - } - await memoryManager.createMemory(similarMemory); - - // Search for memories similar to the base memory - const searchedMemories = await memoryManager.searchMemoriesByEmbedding( - baseMemory!, - { - match_threshold: 0.01, - userIds: [user?.id as UUID, zeroUuid], - count: 1, - }, - ); - - const memory = searchedMemories[0]; - - const similarity = (memory as unknown as { similarity: number }).similarity; - - expect(similarity).toBeLessThan(0.1); - }); - - test("Test unique insert", async () => { - // Define a base memory and two additional memories, one similar and one dissimilar - const memoryContent = "Cognitive security in the information age"; - const similarMemoryContent = "Cognitive security in the information age"; - - let embedding = getCachedEmbedding(memoryContent); - - // Create and add embedding to the similar and dissimilar memories - const newMemory = await memoryManager.addEmbeddingToMemory({ - user_id: user?.id as UUID, - content: memoryContent, - user_ids: [user?.id as UUID, zeroUuid], - room_id: room_id as UUID, - embedding, - }); - if (!embedding) { - writeCachedEmbedding(memoryContent, newMemory.embedding as number[]); - } - await memoryManager.createMemory(newMemory, true); - - embedding = getCachedEmbedding(similarMemoryContent); - - // Create and add embedding to the similar and dissimilar memories - const similarMemory = await memoryManager.addEmbeddingToMemory({ - user_id: user?.id as UUID, - content: similarMemoryContent, - user_ids: [user?.id as UUID, zeroUuid], - room_id: room_id as UUID, - embedding, - }); - if (!embedding) { - writeCachedEmbedding( - similarMemoryContent, - similarMemory.embedding as number[], - ); - } - await memoryManager.createMemory(similarMemory, true); - - const allCount = await memoryManager.countMemoriesByUserIds( - [user?.id as UUID, zeroUuid], - false, - ); - const uniqueCount = await memoryManager.countMemoriesByUserIds( - [user?.id as UUID, zeroUuid], - true, - ); - - expect(allCount > uniqueCount).toBe(true); - }); - - test("Search memories by embedding similarity", async () => { - // Define a base memory and two additional memories, one similar and one dissimilar - const baseMemoryContent = "Base memory content for testing similarity"; - const similarMemoryContent = "Base memory content for testing similarity 2"; - const dissimilarMemoryContent = "Dissimilar, not related"; - - // Create and add embedding to the base memory - const baseMemory = await memoryManager.runtime.embed(baseMemoryContent); - - let embedding = getCachedEmbedding(similarMemoryContent); - - // Create and add embedding to the similar and dissimilar memories - const similarMemory = await memoryManager.addEmbeddingToMemory({ - user_id: user?.id as UUID, - content: { content: similarMemoryContent }, - user_ids: [user?.id as UUID, zeroUuid], - room_id: room_id as UUID, - embedding, - }); - if (!embedding) { - writeCachedEmbedding( - similarMemoryContent, - similarMemory.embedding as number[], - ); - } - await memoryManager.createMemory(similarMemory); - - embedding = getCachedEmbedding(dissimilarMemoryContent); - - const dissimilarMemory = await memoryManager.addEmbeddingToMemory({ - user_id: user?.id as UUID, - content: { content: dissimilarMemoryContent }, - user_ids: [user?.id as UUID, zeroUuid], - room_id: room_id as UUID, - embedding: getCachedEmbedding(dissimilarMemoryContent), - }); - if (!embedding) { - writeCachedEmbedding( - dissimilarMemoryContent, - dissimilarMemory.embedding as number[], - ); - } - await memoryManager.createMemory(dissimilarMemory); - - // Search for memories similar to the base memory - const searchedMemories = await memoryManager.searchMemoriesByEmbedding( - baseMemory!, - { - userIds: [user?.id as UUID, zeroUuid], - count: 1, - }, - ); - - // Check that the similar memory is included in the search results and the dissimilar one is not or ranks lower - expect( - searchedMemories.some( - (memory) => - (memory.content as Content).content === similarMemoryContent, - ), - ).toBe(true); - expect( - searchedMemories.some( - (memory) => - (memory.content as Content).content === dissimilarMemoryContent, - ), - ).toBe(false); - }); - - test("Verify memory similarity and ranking", async () => { - // Define a set of memories with varying degrees of similarity - const queryMemoryContent = "High similarity content to the query memory"; - const highSimilarityContent = "High similarity content to the query memory"; - const lowSimilarityContent = "Low similarity, not related"; - - let embedding = getCachedEmbedding(queryMemoryContent); - - // Create and add embedding to the query memory - const queryMemory = await memoryManager.addEmbeddingToMemory({ - user_id: user?.id as UUID, - content: { content: queryMemoryContent }, - user_ids: [user?.id as UUID, zeroUuid], - room_id: room_id as UUID, - embedding, - }); - if (!embedding) { - writeCachedEmbedding( - queryMemoryContent, - queryMemory.embedding as number[], - ); - } - await memoryManager.createMemory(queryMemory); - - embedding = getCachedEmbedding(highSimilarityContent); - // Create and add embedding to the high and low similarity memories - const highSimilarityMemory = await memoryManager.addEmbeddingToMemory({ - user_id: user?.id as UUID, - content: { content: highSimilarityContent }, - user_ids: [user?.id as UUID, zeroUuid], - room_id: room_id as UUID, - embedding, - }); - if (!embedding) { - writeCachedEmbedding( - highSimilarityContent, - highSimilarityMemory.embedding as number[], - ); - } - await memoryManager.createMemory(highSimilarityMemory); - - embedding = getCachedEmbedding(lowSimilarityContent); - const lowSimilarityMemory = await memoryManager.addEmbeddingToMemory({ - user_id: user?.id as UUID, - content: { content: lowSimilarityContent }, - user_ids: [user?.id as UUID, zeroUuid], - room_id: room_id as UUID, - embedding, - }); - if (!embedding) { - writeCachedEmbedding( - lowSimilarityContent, - lowSimilarityMemory.embedding as number[], - ); - } - await memoryManager.createMemory(lowSimilarityMemory); - - // Search for memories similar to the query memory - const searchedMemories = await memoryManager.searchMemoriesByEmbedding( - queryMemory.embedding!, - { - userIds: [user?.id as UUID, zeroUuid], - count: 10, - }, - ); - - // Check that the high similarity memory ranks higher than the low similarity memory - const highSimilarityIndex = searchedMemories.findIndex( - (memory) => (memory.content as Content).content === highSimilarityContent, - ); - const lowSimilarityIndex = searchedMemories.findIndex( - (memory) => (memory.content as Content).content === lowSimilarityContent, - ); - - expect(highSimilarityIndex).toBeLessThan(lowSimilarityIndex); - }); -}); diff --git a/src/lib/__tests__/messages.test.ts b/src/lib/__tests__/messages.test.ts deleted file mode 100644 index b8e72c7..0000000 --- a/src/lib/__tests__/messages.test.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { type User } from "@supabase/supabase-js"; -import { type UUID } from "crypto"; -import { createRuntime } from "../../test/createRuntime"; -import { - formatMessageActors, - formatMessages, - getMessageActors, -} from "../messages"; -import { type BgentRuntime } from "../runtime"; -import { type Actor, type Content, type Memory } from "../types"; -import { formatSummarizations } from "../evaluators/summarization"; - -describe("Messages Library", () => { - let runtime: BgentRuntime, user: User, actors: Actor[]; - - beforeAll(async () => { - const setup = await createRuntime({ - env: process.env as Record, - }); - runtime = setup.runtime; - user = setup.session.user; - actors = await getMessageActors({ - runtime, - userIds: [user.id as UUID, "00000000-0000-0000-0000-000000000000"], - }); - }); - - test("getMessageActors should return actors based on given userIds", async () => { - const result = await getMessageActors({ - runtime, - userIds: [user.id as UUID, "00000000-0000-0000-0000-000000000000"], - }); - expect(result.length).toBeGreaterThan(0); - result.forEach((actor) => { - expect(actor).toHaveProperty("name"); - expect(actor).toHaveProperty("details"); - expect(actor).toHaveProperty("id"); - }); - }); - - test("formatMessageActors should format actors into a readable string", () => { - const formattedActors = formatMessageActors({ actors }); - actors.forEach((actor) => { - expect(formattedActors).toContain(actor.name); - }); - }); - - test("formatMessages should format messages into a readable string", async () => { - const messages: Memory[] = [ - { - content: "Hello", - user_id: user.id as UUID, - user_ids: [user.id as UUID], - room_id: "00000000-0000-0000-0000-000000000000", - }, - { - content: "How are you?", - user_id: "00000000-0000-0000-0000-000000000000", - user_ids: [user.id as UUID], - room_id: "00000000-0000-0000-0000-000000000000", - }, - ]; - const formattedMessages = formatMessages({ messages, actors }); - messages.forEach((message: Memory) => { - console.log("message", message); - expect(formattedMessages).toContain( - (message.content as Content).content || (message.content as string), - ); - }); - }); - - test("formatSummarizations should format summarizations into a readable string", async () => { - const summarizations: Memory[] = [ - { - content: "Reflecting on the day", - user_id: user.id as UUID, - user_ids: [user.id as UUID], - room_id: "00000000-0000-0000-0000-000000000000", - }, - { - content: "Thoughts and musings", - user_id: "00000000-0000-0000-0000-000000000000", - user_ids: [user.id as UUID], - room_id: "00000000-0000-0000-0000-000000000000room", - }, - ]; - const formattedSummarizations = formatSummarizations(summarizations); - summarizations.forEach((summarization) => { - expect(formattedSummarizations).toContain(summarization.content); - }); - }); -}); diff --git a/src/lib/__tests__/relationships.test.ts b/src/lib/__tests__/relationships.test.ts index 684c55b..932d521 100644 --- a/src/lib/__tests__/relationships.test.ts +++ b/src/lib/__tests__/relationships.test.ts @@ -6,7 +6,7 @@ import { createRelationship, getRelationship, getRelationships, -} from "../relationships"; // Adjust the import path as needed +} from "../../agents/cj/relationships"; // Adjust the import path as needed import { BgentRuntime } from "../runtime"; dotenv.config(); diff --git a/src/lib/__tests__/runtime.test.ts b/src/lib/__tests__/runtime.test.ts deleted file mode 100644 index fa8c0a4..0000000 --- a/src/lib/__tests__/runtime.test.ts +++ /dev/null @@ -1,99 +0,0 @@ -import dotenv from "dotenv"; -import { createRuntime } from "../../test/createRuntime"; -import { type UUID } from "crypto"; -import { getRelationship } from "../relationships"; -import { getCachedEmbedding, writeCachedEmbedding } from "../../test/cache"; -import { BgentRuntime } from "../runtime"; -import { type User } from "@supabase/supabase-js"; -import { type Message } from "../types"; - -dotenv.config(); - -describe("Agent Runtime", () => { - const zeroUuid: UUID = "00000000-0000-0000-0000-000000000000"; - let user: User; - let runtime: BgentRuntime; - let room_id: UUID; - - // Helper function to clear memories - async function clearMemories() { - await runtime.messageManager.removeAllMemoriesByUserIds([ - user?.id as UUID, - zeroUuid, - ]); - } - - // Helper function to create memories - async function createMemories() { - const memories = [ - { userId: user?.id as UUID, content: "test memory from user" }, - { userId: zeroUuid, content: "test memory from agent" }, - ]; - - for (const { userId, content } of memories) { - const embedding = getCachedEmbedding(content); - const memory = await runtime.messageManager.addEmbeddingToMemory({ - user_id: userId, - user_ids: [user?.id as UUID, zeroUuid], - content: { content }, - room_id, - embedding, - }); - if (!embedding) { - writeCachedEmbedding(content, memory.embedding as number[]); - } - await runtime.messageManager.createMemory(memory); - } - } - - // Set up before each test - beforeEach(async () => { - const result = await createRuntime({ - env: process.env as Record, - }); - runtime = result.runtime; - user = result.session.user; - - const data = await getRelationship({ - runtime, - userA: user?.id as UUID, - userB: zeroUuid, - }); - - room_id = data?.room_id; - await clearMemories(); // Clear memories before each test - }); - - // Clean up after each test - afterEach(async () => { - await clearMemories(); // Clear memories after each test to ensure a clean state - }); - - test("Create an agent runtime instance and use the basic functionality", () => { - expect(user).toBeDefined(); - expect(runtime).toBeDefined(); - }); - - test("Demonstrate idempotency by creating an agent runtime instance again", () => { - expect(user).toBeDefined(); - expect(runtime).toBeDefined(); - }); - - test("Memory lifecycle: create, retrieve, and destroy", async () => { - await createMemories(); // Create new memories - - const message: Message = { - senderId: user.id as UUID, - agentId: zeroUuid, - userIds: [user.id as UUID, zeroUuid], - content: "test message", - room_id: room_id as UUID, - }; - - const state = await runtime.composeState(message); - - expect(state.recentMessagesData.length).toBeGreaterThan(1); - - await clearMemories(); - }); -}); diff --git a/src/lib/actions/__tests__/continue.test.ts b/src/lib/actions/__tests__/continue.test.ts index bea9029..54bfb53 100644 --- a/src/lib/actions/__tests__/continue.test.ts +++ b/src/lib/actions/__tests__/continue.test.ts @@ -4,7 +4,7 @@ import dotenv from "dotenv"; import { createRuntime } from "../../../test/createRuntime"; import { Goodbye1 } from "../../../test/data"; import { populateMemories } from "../../../test/populateMemories"; -import { getRelationship } from "../../relationships"; +import { getRelationship } from "../../../agents/cj/relationships"; import { type BgentRuntime } from "../../runtime"; import { Content, type Message } from "../../types"; import action from "../continue"; diff --git a/src/lib/actions/__tests__/ignore.test.ts b/src/lib/actions/__tests__/ignore.test.ts index 5e1db80..a171eb3 100644 --- a/src/lib/actions/__tests__/ignore.test.ts +++ b/src/lib/actions/__tests__/ignore.test.ts @@ -7,7 +7,7 @@ import { GetTellMeAboutYourselfConversationTroll2, Goodbye1, } from "../../../test/data"; -import { getRelationship } from "../../relationships"; +import { getRelationship } from "../../../agents/cj/relationships"; import { type BgentRuntime } from "../../runtime"; import { Content, type Message } from "../../types"; // import action from "../ignore"; @@ -72,7 +72,7 @@ describe("Ignore action tests", () => { GetTellMeAboutYourselfConversationTroll1, ]); - const result = await runtime.handleRequest(message); + const result = await runtime.handleMessage(message); console.log("*** result", result); expect(result.action).toBe("IGNORE"); @@ -91,7 +91,7 @@ describe("Ignore action tests", () => { GetTellMeAboutYourselfConversationTroll1, ]); - await runtime.handleRequest(message); + await runtime.handleMessage(message); const state = await runtime.composeState(message); @@ -113,7 +113,7 @@ describe("Ignore action tests", () => { GetTellMeAboutYourselfConversationTroll2, ]); - await runtime.handleRequest(message); + await runtime.handleMessage(message); const state = await runtime.composeState(message); @@ -133,7 +133,7 @@ describe("Ignore action tests", () => { await populateMemories(runtime, user, room_id, [Goodbye1]); - const response = await runtime.handleRequest(message); + const response = await runtime.handleMessage(message); const state = await runtime.composeState(message); diff --git a/src/lib/actions/__tests__/wait.test.ts b/src/lib/actions/__tests__/wait.test.ts index e980acd..9943bdf 100644 --- a/src/lib/actions/__tests__/wait.test.ts +++ b/src/lib/actions/__tests__/wait.test.ts @@ -4,7 +4,7 @@ import dotenv from "dotenv"; import { createRuntime } from "../../../test/createRuntime"; import { GetTellMeAboutYourselfConversation1 } from "../../../test/data"; import { populateMemories } from "../../../test/populateMemories"; -import { getRelationship } from "../../relationships"; +import { getRelationship } from "../../../agents/cj/relationships"; import { type BgentRuntime } from "../../runtime"; import { type Message } from "../../types"; import action from "../wait"; // Import the wait action diff --git a/src/lib/actions/continue.ts b/src/lib/actions/continue.ts index 04a6f75..4587442 100644 --- a/src/lib/actions/continue.ts +++ b/src/lib/actions/continue.ts @@ -47,11 +47,7 @@ export default { }); if (runtime.debugMode) { - logger.log(context, { - title: "Continued Response Context", - frame: true, - color: "blue", - }); + logger.log("*** Continued Response Context:\n" + context); } let responseContent; @@ -88,9 +84,7 @@ export default { if (!responseContent) { if (runtime.debugMode) { - logger.log("No response content", { - color: "red", - }); + logger.error("No response content"); } return; } @@ -103,9 +97,7 @@ export default { if (messageExists) { if (runtime.debugMode) { - logger.log("Message already exists in recentMessagesData", { - color: "red", - }); + logger.log("Message already exists in recentMessagesData"); } return responseContent; diff --git a/src/lib/evaluators/__tests__/summarization.test.ts b/src/lib/evaluators/__tests__/summarization.test.ts index b98b137..a798102 100644 --- a/src/lib/evaluators/__tests__/summarization.test.ts +++ b/src/lib/evaluators/__tests__/summarization.test.ts @@ -10,7 +10,7 @@ import { jimFacts, } from "../../../test/data"; import { populateMemories } from "../../../test/populateMemories"; -import { getRelationship } from "../../relationships"; +import { getRelationship } from "../../../agents/cj/relationships"; import { type BgentRuntime } from "../../runtime"; import { type Message } from "../../types"; import evaluator from "../summarization"; diff --git a/src/lib/evaluators/summarization.ts b/src/lib/evaluators/summarization.ts index c5026fb..d4941cc 100644 --- a/src/lib/evaluators/summarization.ts +++ b/src/lib/evaluators/summarization.ts @@ -1,6 +1,6 @@ import { composeContext } from "../context"; import logger from "../logger"; -import { formatMessageActors, getMessageActors } from "../messages"; +import { formatActors, getActorDetails } from "../messages"; import { type BgentRuntime } from "../runtime"; import { Content, @@ -78,7 +78,7 @@ async function handler(runtime: BgentRuntime, message: Message) { const { userIds, senderId, agentId, room_id } = state; - const actors = (await getMessageActors({ runtime, userIds })) ?? []; + const actors = (await getActorDetails({ runtime, userIds })) ?? []; const senderName = actors?.find( (actor: Actor) => actor.id === senderId, @@ -98,7 +98,7 @@ async function handler(runtime: BgentRuntime, message: Message) { ...state, senderName, agentName, - actors: formatMessageActors({ actors }), + actors: formatActors({ actors }), actionNames, actions, }, @@ -106,11 +106,7 @@ async function handler(runtime: BgentRuntime, message: Message) { }); // if (runtime.debugMode) { - logger.log(context, { - title: "Summarization context", - frame: true, - color: "cyan", - }); + logger.log("*** Summarization context:\n" + context); // } let summarizations = null; @@ -130,17 +126,13 @@ async function handler(runtime: BgentRuntime, message: Message) { if (!summarizations) { if (runtime.debugMode) { - logger.warn("No summarization generated", { color: "yellow" }); + logger.warn("No summarization generated"); } return []; } if (runtime.debugMode) { - logger.log(JSON.stringify(summarizations), { - title: "Summarization Output", - frame: true, - color: "cyan", - }); + logger.log("*** Summarization Output:\n" + JSON.stringify(summarizations)); } const filteredSummarizations = summarizations diff --git a/src/lib/index.ts b/src/lib/index.ts index 4869b4f..3937702 100644 --- a/src/lib/index.ts +++ b/src/lib/index.ts @@ -8,7 +8,6 @@ export * from "./logger"; export * from "./lore"; export * from "./memory"; export * from "./messages"; -export * from "./relationships"; export * from "./runtime"; export * from "./types"; export * from "./utils"; diff --git a/src/lib/logger.ts b/src/lib/logger.ts index 3792cb5..950ae5c 100644 --- a/src/lib/logger.ts +++ b/src/lib/logger.ts @@ -1,35 +1,25 @@ -import chalk, { ForegroundColor } from "chalk"; - class Logger { frameChar = "*"; log( message: string, - { - title = "", - frame = false, - color = "white", - }: { - title?: string; - frame?: boolean; - color?: typeof ForegroundColor; - }, + // { + // title = "", + // // color = "white", + // }: { + // title?: string; + // // color?; + // }, ): void { - const coloredMessage = chalk[color](message); - if (frame) { - const framedMessage = this.frameMessage(coloredMessage, title); - console.log(framedMessage); - } else { - console.log(coloredMessage); - } + console.log("*** LOG: " + "\n" + message); } warn(message: string, options = {}) { - this.log(message, { ...options, color: "yellow" }); + console.warn(message, { ...options }); } error(message: string, options = {}) { - this.log(message, { ...options, color: "red" }); + console.error(message, { ...options }); } frameMessage(message: string, title: string) { diff --git a/src/lib/memory.ts b/src/lib/memory.ts index 05f367d..c1a40fa 100644 --- a/src/lib/memory.ts +++ b/src/lib/memory.ts @@ -8,13 +8,9 @@ export const embeddingZeroVector = Array(embeddingDimension).fill(0); const defaultMatchThreshold = 0.1; const defaultMatchCount = 10; -interface SearchOptions { - match_threshold?: number; - count?: number; - userIds: UUID[]; - unique?: boolean; -} - +/** + * Manage memories in the database. + */ export class MemoryManager { runtime: BgentRuntime; tableName: string; @@ -80,7 +76,12 @@ export class MemoryManager { async searchMemoriesByEmbedding( embedding: number[], - opts: SearchOptions, + opts: { + match_threshold?: number; + count?: number; + userIds: UUID[]; + unique?: boolean; + }, ): Promise { const { match_threshold = defaultMatchThreshold, diff --git a/src/lib/messages.ts b/src/lib/messages.ts index 86aeb9d..044b09c 100644 --- a/src/lib/messages.ts +++ b/src/lib/messages.ts @@ -2,7 +2,10 @@ import { type UUID } from "crypto"; import { BgentRuntime } from "./runtime"; import { type Actor, type Content, type Memory } from "./types"; -export async function getMessageActors({ +/** + * Get details for a list of actors. + */ +export async function getActorDetails({ runtime, userIds, }: { @@ -32,7 +35,12 @@ export async function getMessageActors({ return actors as Actor[]; } -export function formatMessageActors({ actors }: { actors: Actor[] }) { +/** + * Format actors into a string + * @param actors - list of actors + * @returns string + */ +export function formatActors({ actors }: { actors: Actor[] }) { const actorStrings = actors.map((actor: Actor) => { const header = `${actor.name}${actor.details.tagline ? ": " + actor.details.tagline : ""}\n${actor.details.summary || "No information available"}`; return header; @@ -41,6 +49,12 @@ export function formatMessageActors({ actors }: { actors: Actor[] }) { return finalActorStrings; } +/** + * Format messages into a string + * @param messages - list of messages + * @param actors - list of actors + * @returns string + */ export const formatMessages = ({ messages, actors, diff --git a/src/lib/runtime.ts b/src/lib/runtime.ts index 676a227..89ba31d 100644 --- a/src/lib/runtime.ts +++ b/src/lib/runtime.ts @@ -30,55 +30,97 @@ import { // import { formatGoalsAsString, getGoals } from "./goals"; import { formatSummarizations } from "./evaluators/summarization"; import { formatGoalsAsString, getGoals } from "./goals"; -import { - formatMessageActors, - formatMessages, - getMessageActors, -} from "./messages"; +import { formatActors, formatMessages, getActorDetails } from "./messages"; import { type Actor, /*type Goal,*/ type Memory } from "./types"; import { getLore, formatLore } from "./lore"; -export interface AgentRuntimeOpts { - recentMessageCount?: number; // number of messages to hold in the recent message cache - token: string; // JWT token, can be a JWT token if outside worker, or an OpenAI token if inside worker - supabase: SupabaseClient; // Supabase client - debugMode?: boolean; // If true, will log debug messages - serverUrl?: string; // The URL of the worker - flavor?: string; // Optional lore to inject into the default prompt - actions?: Action[]; // Optional custom actions - evaluators?: Evaluator[]; // Optional custom evaluators -} +/** + * Represents the runtime environment for an agent, handling message processing, + * action registration, and interaction with external services like OpenAI and Supabase. + */ export class BgentRuntime { + /** + * Default count for recent messages to be kept in memory. + * @private + */ readonly #recentMessageCount = 32 as number; + /** + * The base URL of the server where the agent's requests are processed. + */ serverUrl = "http://localhost:7998"; + + /** + * Authentication token used for securing requests. + */ token: string | null; + + /** + * Indicates if debug messages should be logged. + */ debugMode: boolean; + + /** + * The Supabase client used for database interactions. + */ supabase: SupabaseClient; + + /** + * A string to customize the agent's behavior or responses. + */ flavor: string = ""; + + /** + * Custom actions that the agent can perform. + */ + actions: Action[] = []; + + /** + * Evaluators used to assess and guide the agent's responses. + */ + evaluators: Evaluator[] = []; + + /** + * Store messages that are sent and received by the agent. + */ messageManager: MemoryManager = new MemoryManager({ runtime: this, tableName: "messages", }); + /** + * Store and recall descriptions of users based on conversations. + */ descriptionManager: MemoryManager = new MemoryManager({ runtime: this, tableName: "descriptions", }); + /** + * Manage the summarization and recall of facts. + */ summarizationManager: MemoryManager = new MemoryManager({ runtime: this, tableName: "summarizations", }); + /** + * Manage the creation and recall of static information (documents, historical game lore, etc) + */ loreManager: MemoryManager = new MemoryManager({ runtime: this, tableName: "lore", }); - actions: Action[] = []; - evaluators: Evaluator[] = []; - - constructor(opts: AgentRuntimeOpts) { + constructor(opts: { + recentMessageCount?: number; // number of messages to hold in the recent message cache + token: string; // JWT token, can be a JWT token if outside worker, or an OpenAI token if inside worker + supabase: SupabaseClient; // Supabase client + debugMode?: boolean; // If true, will log debug messages + serverUrl?: string; // The URL of the worker + flavor?: string; // Optional lore to inject into the default prompt + actions?: Action[]; // Optional custom actions + evaluators?: Evaluator[]; // Optional custom evaluators + }) { this.#recentMessageCount = opts.recentMessageCount ?? this.#recentMessageCount; this.debugMode = opts.debugMode ?? false; @@ -100,18 +142,39 @@ export class BgentRuntime { }); } + /** + * Get the number of messages that are kept in the conversation buffer. + * @returns The number of recent messages to be kept in memory. + */ getRecentMessageCount() { return this.#recentMessageCount; } + /** + * Register an action for the agent to perform. + * @param action The action to register. + */ registerAction(action: Action) { this.actions.push(action); } + /** + * Register an evaluator to assess and guide the agent's responses. + * @param evaluator The evaluator to register. + */ registerEvaluator(evaluator: Evaluator) { this.evaluators.push(evaluator); } + /** + * Send a message to the OpenAI API for completion. + * @param context The context of the message to be completed. + * @param stop A list of strings to stop the completion at. + * @param model The model to use for completion. + * @param frequency_penalty The frequency penalty to apply to the completion. + * @param presence_penalty The presence penalty to apply to the completion. + * @returns The completed message. + */ async completion({ context = "", stop = [], @@ -168,6 +231,11 @@ export class BgentRuntime { } } + /** + * Send a message to the OpenAI API for embedding. + * @param input The input to be embedded. + * @returns The embedding of the input. + */ async embed(input: string) { const embeddingModel = "text-embedding-3-large"; const requestOptions = { @@ -206,7 +274,13 @@ export class BgentRuntime { } } - async handleRequest(message: Message, state?: State) { + /** + * Handle an incoming message, processing it and returning a response. + * @param message The message to handle. + * @param state The state of the agent. + * @returns The response to the message. + */ + async handleMessage(message: Message, state?: State) { const _saveRequestMessage = async (message: Message, state: State) => { const { content: senderContent, senderId, userIds, room_id } = message; @@ -239,11 +313,7 @@ export class BgentRuntime { }); if (this.debugMode) { - logger.log(context, { - title: "Response Context", - frame: true, - color: "blue", - }); + logger.log("*** Response Context:\n" + context); } let responseContent; @@ -317,24 +387,27 @@ export class BgentRuntime { return responseContent; } - async processActions(message: Message, data: Content) { - if (!data.action) { + /** + * Process the actions of a message. + * @param message The message to process. + * @param content The content of the message to process actions from. + */ + async processActions(message: Message, content: Content) { + if (!content.action) { return; } const action = this.actions.find( - (a: { name: string }) => a.name === data.action, + (a: { name: string }) => a.name === content.action, )!; if (!action) { - return console.warn("No action found for", data.action); + return console.warn("No action found for", content.action); } if (!action.handler) { if (this.debugMode) { - logger.log(`No handler found for action ${action.name}, skipping`, { - color: "yellow", - }); + logger.log(`No handler found for action ${action.name}, skipping`); } return; } @@ -342,6 +415,12 @@ export class BgentRuntime { await action.handler(this, message); } + /** + * Evaluate the message and state using the registered evaluators. + * @param message The message to evaluate. + * @param state The state of the agent. + * @returns The results of the evaluation. + */ async evaluate(message: Message, state: State) { const evaluatorPromises = this.evaluators.map( async (evaluator: Evaluator) => { @@ -393,6 +472,11 @@ export class BgentRuntime { return parsedResult; } + /** + * Compose the state of the agent into an object that can be passed or used for response generation. + * @param message The message to compose the state from. + * @returns The state of the agent. + */ async composeState(message: Message) { const { senderId, agentId, userIds, room_id } = message; @@ -411,7 +495,7 @@ export class BgentRuntime { goalsData, loreData, ]: [Actor[], Memory[], Memory[], Goal[], Memory[]] = await Promise.all([ - getMessageActors({ runtime: this, userIds: userIds! }), + getActorDetails({ runtime: this, userIds: userIds! }), this.messageManager.getMemoriesByIds({ userIds: userIds!, count: recentMessageCount, @@ -456,7 +540,7 @@ export class BgentRuntime { }); } - const actors = formatMessageActors({ actors: actorsData ?? [] }); + const actors = formatActors({ actors: actorsData ?? [] }); const recentMessages = formatMessages({ actors: actorsData ?? [], diff --git a/src/lib/types.ts b/src/lib/types.ts index bdc0d4c..0f200c6 100644 --- a/src/lib/types.ts +++ b/src/lib/types.ts @@ -1,16 +1,6 @@ import { type UUID } from "crypto"; import { type BgentRuntime } from "./runtime"; -export interface Relationship { - id: UUID; - user_a: UUID; - user_b: UUID; - user_id: UUID; - room_id: UUID; - status: string; - created_at?: string; -} - export interface Content { content: string; action?: string; // known value @@ -117,11 +107,11 @@ export interface Action { validate: Validator; } -export type EvaluationExample = { +export interface EvaluationExample { context: string; messages: Array; outcome: string; -}; +} export interface Evaluator { condition: string; diff --git a/tsconfig.json b/tsconfig.json index 5dedefa..4cd5a23 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -31,6 +31,16 @@ "declarationDir": "./dist", "rootDir": "./src", }, + "typedocOptions": { + "excludePrivate": true, + "disableSources": true, + "hideBreadcrumbs": true, + "name": "API Doc", + "theme": "default", + "categorizeByGroup": true, + "allReflectionsHaveOwnDocument": true, + "excludeExternals": true + }, "include": [ "src", "__tests__", @@ -40,5 +50,6 @@ "dist", "jest.config.js", "rollup.config.js", + "docs", ] } \ No newline at end of file

xrRwZ1!VGZ_n5MaU5?%a{a}vr>jFR?N^?N#SA`< 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