diff --git a/.env.template b/.env.template deleted file mode 100644 index 180dbd6..0000000 --- a/.env.template +++ /dev/null @@ -1,2 +0,0 @@ -# The absolute path to the Foundry installation to create symlinks to -FOUNDRY_ROOT="" diff --git a/.forgejo/workflows/draft-release.yaml b/.forgejo/workflows/draft-release.yaml deleted file mode 100644 index e667615..0000000 --- a/.forgejo/workflows/draft-release.yaml +++ /dev/null @@ -1,96 +0,0 @@ -on: [ workflow_dispatch ] -jobs: - create-artifacts: - name: "Create artifacts" - runs-on: act - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Install dependencies - run: npm clean-install - - - id: version - run: cat system.json | echo version=`jq -r ".version"` >> "$FORGEJO_OUTPUT" - - - name: Assert that the tag doesn't exist - run: node scripts/tagExists.mjs - env: - TAG_NAME: "v${{steps.version.outputs.version}}" - - # Compendia steps - - name: Build compendia - run: "npm run data:build" - - name: Remove compendia source - run: "rm -rf packs/**/_source" - - - name: Compress files - run: zip -r release.zip langs module styles templates README.md assets - - - name: Upload artifacts - uses: https://data.forgejo.org/forgejo/upload-artifact@v4 - with: - path: | - system.json - release.zip - scripts/*.mjs - package-lock.json - package.json - retention-days: 7 - if-no-files-found: error - - - forgejo-release: - name: "Create Forgejo release" - runs-on: act - needs: - - create-artifacts - if: vars.RELEASE_TO_FORGEJO == 'yes' - steps: - - name: Download artifacts - uses: https://data.forgejo.org/forgejo/download-artifact@v4 - with: - merge-multiple: true - - - name: Install dependencies - run: npm i - - - id: version - run: cat system.json | echo version=`jq -r ".version"` >> "$FORGEJO_OUTPUT" - - - name: Update manifest - run: node scripts/prepareManifest.mjs - env: - DOWNLOAD_URL: "${{forgejo.server_url}}/${{forgejo.repository}}/releases/download/v${{steps.version.outputs.version}}/release.zip" - LATEST_URL: "${{forgejo.server_url}}/${{forgejo.repository}}/releases/download/latest/system.json" - - - name: Add manifest into release archive - run: zip release.zip --update system.json - - - name: Upload archive to s3 - run: node scripts/uploadToS3.mjs - env: - TAG: "v${{steps.version.outputs.version}}" - FILE: "release.zip" - S3_BUCKET: "${{vars.S3_BUCKET}}" - S3_REGION: "${{vars.S3_REGION}}" - S3_KEY: "${{secrets.S3_KEY}}" - S3_SECRET: "${{secrets.S3_SECRET}}" - S3_ENDPOINT: "${{vars.S3_ENDPOINT}}" - - - name: Upload manifest to s3 - run: node scripts/uploadToS3.mjs - env: - TAG: "v${{steps.version.outputs.version}}" - FILE: "system.json" - S3_BUCKET: "${{vars.S3_BUCKET}}" - S3_REGION: "${{vars.S3_REGION}}" - S3_KEY: "${{secrets.S3_KEY}}" - S3_SECRET: "${{secrets.S3_SECRET}}" - S3_ENDPOINT: "${{vars.S3_ENDPOINT}}" - - - name: Create draft release - run: node scripts/createForgejoRelease.mjs - env: - TAG: "v${{steps.version.outputs.version}}" - CDN_URL: "${{vars.CDN_URL}}" diff --git a/.forgejo/workflows/publish-release.yaml b/.forgejo/workflows/publish-release.yaml deleted file mode 100644 index 63fa76f..0000000 --- a/.forgejo/workflows/publish-release.yaml +++ /dev/null @@ -1,9 +0,0 @@ -on: - release: - types: [published] -jobs: - release-to-foundry: - runs-on: docker - steps: - - name: retrieve release URLS - - name: publish to Foundry diff --git a/.github/workflows/draft-release.yaml b/.github/workflows/draft-release.yaml new file mode 100644 index 0000000..ad2b271 --- /dev/null +++ b/.github/workflows/draft-release.yaml @@ -0,0 +1,55 @@ +name: Create Draft Release +on: [workflow_dispatch] +jobs: + draft: + runs-on: ubuntu-latest + steps: + # Checkout the repository + - uses: actions/checkout@v4 + + # Install node and NPM + - uses: actions/setup-node@v4 + with: + node-version: "20" + + # Install required packages + - run: npm install + + - name: Reading the system.json for the version + id: "version" + run: cat system.json | echo version=`jq -r ".version"` >> "$GITHUB_OUTPUT" + + # Check that tag doesn't exist + - uses: mukunku/tag-exists-action@v1.5.0 + id: check-tag + with: + tag: "v${{ steps.version.outputs.version }}" + + - name: "Ensure that the tag doesn't exist" + if: ${{ steps.check-tag.outputs.exists == 'true' }} + run: exit 1 + + # Compile the stuff that needs to be compiled + - run: npm run build + - run: node scripts/buildCompendia.mjs + + - name: Update the manifest with the relevant properties + id: manifest-update + uses: microsoft/variable-substitution@v1 + with: + files: "system.json" + env: + download: "https://github.com/${{ github.repository }}/releases/download/v${{ steps.version.outputs.version }}/release.zip" + + - name: Create the zip + run: zip -r release.zip langs module styles templates system.json README.md assets + + - name: Create the draft release + uses: ncipollo/release-action@v1 + with: + tag: "v${{ steps.version.outputs.version }}" + commit: ${{ github.ref }} + draft: true + body: + generateReleaseNotes: true + artifacts: "release.zip,system.json" diff --git a/.gitignore b/.gitignore index f3a0af4..b22745b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,2 @@ node_modules/ deprecated -.env -/foundry diff --git a/.vscode/settings.json b/.vscode/settings.json index cc64012..3f6e97a 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,9 +8,9 @@ "git.branchProtection": [], "files.exclude": { "*.lock": true, + ".styles": false, "node_modules": true, "packs": true, - "foundry": true }, "html.customData": [ "./.vscode/components.html-data.json" diff --git a/README.md b/README.md index 4fca88e..8d4cb08 100644 --- a/README.md +++ b/README.md @@ -2,17 +2,3 @@ This is an intentionally bare-bones system that features a text-only character sheet, allowing the playing of games that may not otherwise have a Foundry system implementation. - -## Unlisted Releases -Some of the versions of Text-Based Actors are not available in the [Releases list](https://git.varify.ca/Foundry/taf/releases), -these versions are installable manually by using the appropriate manifest link -below: - -| Version | Manifest URL -| ------- | ------------ -| v2.2.1 | https://cdn.varify.ca/Foundry/taf/v2.2.1/system.json -| v2.2.0 | https://cdn.varify.ca/Foundry/taf/v2.2.0/system.json -| v2.1.0 | https://cdn.varify.ca/Foundry/taf/v2.1.0/system.json -| v2.0.0 | https://cdn.varify.ca/Foundry/taf/v2.0.0/system.json -| v1.1.0 | https://cdn.varify.ca/Foundry/taf/v1.1.0/system.json -| v1.0.0 | https://cdn.varify.ca/Foundry/taf/v1.0.0/system.json diff --git a/assets/icons/disconnected.svg b/assets/icons/disconnected.svg deleted file mode 100644 index c47a732..0000000 --- a/assets/icons/disconnected.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/augments.d.ts b/augments.d.ts index a08bb60..df16590 100644 --- a/augments.d.ts +++ b/augments.d.ts @@ -1,8 +1,3 @@ -declare global { - class Hooks extends foundry.helpers.Hooks {}; - const fromUuid = foundry.utils.fromUuid; -} - interface Actor { /** The system-specific data */ system: any; diff --git a/eslint.config.mjs b/eslint.config.mjs index 04422dc..454af9e 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -4,7 +4,7 @@ import stylistic from "@stylistic/eslint-plugin"; export default [ // Tell eslint to ignore files that I don't mind being formatted slightly differently - { ignores: [ `scripts/`, `foundry/*` ] }, + { ignores: [ `scripts/` ] }, { languageOptions: { globals: globals.browser, @@ -16,7 +16,6 @@ export default [ languageOptions: { globals: { CONFIG: `writable`, - CONST: `readonly`, game: `readonly`, Handlebars: `readonly`, Hooks: `readonly`, @@ -73,7 +72,7 @@ export default [ "@stylistic/eol-last": `warn`, "@stylistic/operator-linebreak": [`warn`, `before`], "@stylistic/indent": [`warn`, `tab`], - "@stylistic/brace-style": [`off`], + "@stylistic/brace-style": [`warn`, `1tbs`, { "allowSingleLine": true }], "@stylistic/quotes": [`warn`, `backtick`, { "avoidEscape": true }], "@stylistic/comma-dangle": [`warn`, { arrays: `always-multiline`, objects: `always-multiline`, imports: `always-multiline`, exports: `always-multiline`, functions: `always-multiline` }], "@stylistic/comma-style": [`warn`, `last`], diff --git a/jsconfig.json b/jsconfig.json index 6811918..231558c 100644 --- a/jsconfig.json +++ b/jsconfig.json @@ -1,19 +1,7 @@ { "compilerOptions": { - "module": "es2022", - "target": "es2022", "types": [ "./augments.d.ts" - ], - "paths": { - "@client/*": ["./foundry/client/*"], - "@common/*": ["./foundry/common/*"], - } - }, - "include": [ - "module/**/*", - "foundry/client/client.mjs", - "foundry/client/global.d.mts", - "foundry/common/primitives/global.d.mts" - ] + ] + } } diff --git a/langs/en-ca.json b/langs/en-ca.json index 1136454..99de0b3 100644 --- a/langs/en-ca.json +++ b/langs/en-ca.json @@ -13,48 +13,6 @@ }, "sheet-names": { "PlayerSheet": "Player Sheet" - }, - "misc": { - "Key": "Key", - "Value": "Value", - "no-data-submitted": "No data submitted", - "data-query-notif-header": "Data Query Notification" - }, - "Apps": { - "QueryStatus": { - "title": "Information Request Status", - "user-disconnected-tooltip": "This user is not logged in to Foundry", - "cancel-request": "Cancel Request", - "finish-early": "Finish Request Early", - "send-request": "Send Request" - }, - "TAFDocumentSheetConfig": { - "Sizing": "Sizing", - "Width": { - "label": "Width" - }, - "Height": { - "label": "Height" - }, - "Resizable": { - "label": "Resizable" - }, - "tabs": { - "foundry": "Foundry", - "system": "Text-Based Actors" - } - } - }, - "sockets": { - "user-list-required": "A list fo users must be provided" - }, - "notifs": { - "error": { - "missing-id": "An ID must be provided", - "invalid-socket": "Invalid socket data received, this means a module or system bug is present.", - "unknown-socket-event": "An unknown socket event was received: {event}", - "malformed-socket-payload": "Socket event \"{event}\" received with malformed payload. Details: {details}" - } } } } diff --git a/module/api.mjs b/module/api.mjs index 33eab44..b139ef9 100644 --- a/module/api.mjs +++ b/module/api.mjs @@ -2,13 +2,10 @@ import { Ask } from "./apps/Ask.mjs"; import { AttributeManager } from "./apps/AttributeManager.mjs"; import { PlayerSheet } from "./apps/PlayerSheet.mjs"; -import { QueryStatus } from "./apps/QueryStatus.mjs"; // Utils import { attributeSorter } from "./utils/attributeSort.mjs"; import { DialogManager } from "./utils/DialogManager.mjs"; -import { localizer } from "./utils/localizer.mjs"; -import { QueryManager } from "./utils/QueryManager.mjs"; import { toID } from "./utils/toID.mjs"; const { deepFreeze } = foundry.utils; @@ -19,16 +16,13 @@ Object.defineProperty( { value: deepFreeze({ DialogManager, - QueryManager, Apps: { Ask, AttributeManager, PlayerSheet, - QueryStatus, }, utils: { attributeSorter, - localizer, toID, }, }), diff --git a/module/apps/Ask.mjs b/module/apps/Ask.mjs index e6d3ce4..f3d009a 100644 --- a/module/apps/Ask.mjs +++ b/module/apps/Ask.mjs @@ -12,7 +12,6 @@ const validInputTypes = [ ]; export class Ask extends HandlebarsApplicationMixin(ApplicationV2) { - // #region Options static DEFAULT_OPTIONS = { tag: `dialog`, classes: [ @@ -48,9 +47,7 @@ export class Ask extends HandlebarsApplicationMixin(ApplicationV2) { template: filePath(`templates/Ask/controls.hbs`), }, }; - // #endregion Options - // #region Instance _inputs = []; alwaysUseAnswerObject = false; @@ -91,7 +88,6 @@ export class Ask extends HandlebarsApplicationMixin(ApplicationV2) { this._userOnConfirm = onConfirm; this._userOnClose = onClose; }; - // #endregion Instance // #region Lifecycle async _onFirstRender() { diff --git a/module/apps/PlayerSheet.mjs b/module/apps/PlayerSheet.mjs index 257182a..e9caf53 100644 --- a/module/apps/PlayerSheet.mjs +++ b/module/apps/PlayerSheet.mjs @@ -1,7 +1,7 @@ import { __ID__, filePath } from "../consts.mjs"; import { AttributeManager } from "./AttributeManager.mjs"; import { attributeSorter } from "../utils/attributeSort.mjs"; -import { TAFDocumentSheetConfig } from "./TAFDocumentSheetConfig.mjs"; +import { ResizeControlManager } from "./ResizeControlManager.mjs"; const { HandlebarsApplicationMixin } = foundry.applications.api; const { ActorSheetV2 } = foundry.applications.sheets; @@ -28,7 +28,7 @@ export class PlayerSheet extends HandlebarsApplicationMixin(ActorSheetV2) { }, actions: { manageAttributes: this.#manageAttributes, - configureSheet: this.#configureSheet, + sizeSettings: this.#configureSizeSettings, }, }; @@ -78,6 +78,15 @@ export class PlayerSheet extends HandlebarsApplicationMixin(ActorSheetV2) { return isGM || (allowPlayerEdits && editable); }, }); + controls.push({ + icon: `fa-solid fa-crop-simple`, + label: `Configure Size`, + action: `sizeSettings`, + visible: () => { + const isGM = game.user.isGM; + return isGM; + }, + }); return controls; }; @@ -147,18 +156,15 @@ export class PlayerSheet extends HandlebarsApplicationMixin(ActorSheetV2) { }; }; - static async #configureSheet(event) { - event.stopPropagation(); - if ( event.detail > 1 ) { return } - - // const docSheetConfigWidth = TAFDocumentSheetConfig.DEFAULT_OPTIONS.position.width; - new TAFDocumentSheetConfig({ - document: this.document, - position: { - top: this.position.top + 40, - left: this.position.left + ((this.position.width - 60) / 2), - }, - }).render({ force: true }); + #sizeSettings = null; + /** @this {PlayerSheet} */ + static async #configureSizeSettings() { + this.#sizeSettings ??= new ResizeControlManager({ document: this.actor }); + if (this.#sizeSettings.rendered) { + await this.#sizeSettings.bringToFront(); + } else { + await this.#sizeSettings.render({ force: true }); + }; }; // #endregion Actions }; diff --git a/module/apps/QueryStatus.mjs b/module/apps/QueryStatus.mjs deleted file mode 100644 index 5139bb2..0000000 --- a/module/apps/QueryStatus.mjs +++ /dev/null @@ -1,111 +0,0 @@ -import { __ID__, filePath } from "../consts.mjs"; -import { cancel, finish, get as getQuery, requery } from "../utils/QueryManager.mjs"; -import { Logger } from "../utils/Logger.mjs"; - -const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api; - -export class QueryStatus extends HandlebarsApplicationMixin(ApplicationV2) { - // #region Options - static DEFAULT_OPTIONS = { - classes: [ - __ID__, - `QueryStatus`, - ], - position: { - width: 300, - height: `auto`, - }, - window: { - title: `taf.Apps.QueryStatus.title`, - resizable: true, - }, - actions: { - promptUser: this.promptUser, - finishEarly: this.finishEarly, - cancelRequest: this.cancelRequest, - }, - }; - - static PARTS = { - users: { - template: filePath(`templates/QueryStatus/users.hbs`), - }, - controls: { - template: filePath(`templates/QueryStatus/controls.hbs`), - }, - }; - // #endregion Options - - // #region Instance - /** @type {string} */ - #requestID; - - constructor({ - requestID, - ...opts - }) { - if (!requestID) { - Logger.error(`A requestID must be provided for QueryStatus applications`); - return null; - }; - super(opts); - this.#requestID = requestID; - }; - - get requestID() { - return this.#requestID; - }; - // #endregion Instance - - // #region Lifecycle - async _preparePartContext(partID) { - const ctx = {}; - - switch (partID) { - case `users`: { - this._prepareUsers(ctx); - break; - }; - }; - - return ctx; - }; - - async _prepareUsers(ctx) { - const query = getQuery(this.#requestID); - if (!query) { return }; - - const users = []; - for (const userID of query.users) { - const user = game.users.get(userID); - users.push({ - id: userID, - name: user.name, - active: user.active, - answers: query.responses[userID] ?? null, - status: query.status[userID], - }); - }; - ctx.users = users; - }; - // #endregion Lifecycle - - // #region Actions - /** @this {QueryStatus} */ - static async promptUser($e, element) { - const userID = element.closest(`[data-user-id]`)?.dataset.userId; - if (!userID) { return }; - requery(this.#requestID, [ userID ]); - }; - - /** @this {QueryStatus} */ - static async cancelRequest() { - cancel(this.#requestID); - }; - - /** @this {QueryStatus} */ - static async finishEarly() { - finish(this.#requestID); - }; - // #endregion Actions -}; diff --git a/module/apps/ResizeControlManager.mjs b/module/apps/ResizeControlManager.mjs new file mode 100644 index 0000000..3bd2b08 --- /dev/null +++ b/module/apps/ResizeControlManager.mjs @@ -0,0 +1,61 @@ +import { __ID__, filePath } from "../consts.mjs"; + +const { HandlebarsApplicationMixin, DocumentSheetV2 } = foundry.applications.api; +const { getProperty } = foundry.utils; + +export class ResizeControlManager extends HandlebarsApplicationMixin(DocumentSheetV2) { + + // #region Options + static DEFAULT_OPTIONS = { + classes: [ + __ID__, + `ResizeControlManager`, + ], + position: { + width: 400, + height: `auto`, + }, + window: { + resizable: true, + }, + form: { + submitOnChange: false, + closeOnSubmit: true, + }, + actions: {}, + }; + + static PARTS = { + settings: { template: filePath(`templates/ResizeControlManager/settings.hbs`) }, + controls: { template: filePath(`templates/ResizeControlManager/controls.hbs`) }, + }; + // #endregion Options + + // #region Instance Data + get title() { + return `Sizing Settings For : ${this.document.name}`; + }; + // #endregion Instance Data + + // #region Data Prep + async _prepareContext() { + const sizing = getProperty(this.document, `flags.${__ID__}.PlayerSheet.size`) ?? {}; + + const ctx = { + meta: { + idp: this.id, + }, + width: sizing.width, + height: sizing.height, + resizable: sizing.resizable, + resizeOptions: [ + { label: `Default`, value: `` }, + { label: `Resizable`, value: `true` }, + { label: `No Resizing`, value: `false` }, + ], + }; + + return ctx; + }; + // #endregion Data Prep +}; diff --git a/module/apps/TAFDocumentSheetConfig.mjs b/module/apps/TAFDocumentSheetConfig.mjs deleted file mode 100644 index 760e462..0000000 --- a/module/apps/TAFDocumentSheetConfig.mjs +++ /dev/null @@ -1,171 +0,0 @@ -import { __ID__, filePath } from "../consts.mjs"; -import { getDefaultSizing } from "../utils/getSizing.mjs"; - -const { diffObject, expandObject, flattenObject } = foundry.utils; -const { DocumentSheetConfig } = foundry.applications.apps; -const { CONST } = foundry; - -export class TAFDocumentSheetConfig extends DocumentSheetConfig { - - // #region Options - static DEFAULT_OPTIONS = { - classes: [`taf`], - form: { - handler: this.#onSubmit, - }, - }; - - static get PARTS() { - const { form, footer } = super.PARTS; - return { - tabs: { template: `templates/generic/tab-navigation.hbs` }, - foundryTab: { - ...form, - template: filePath(`templates/TAFDocumentSheetConfig/foundry.hbs`), - templates: [ `templates/sheets/document-sheet-config.hbs` ], - }, - systemTab: { - template: filePath(`templates/TAFDocumentSheetConfig/system.hbs`), - classes: [`standard-form`], - }, - footer, - }; - }; - - static TABS = { - main: { - initial: `system`, - labelPrefix: `taf.Apps.TAFDocumentSheetConfig.tabs`, - tabs: [ - { id: `system` }, - { id: `foundry` }, - ], - }, - }; - // #endregion Options - - // #region Data Prep - async _preparePartContext(partID, context, options) { - this._prepareTabs(`main`); - - context.meta = { - idp: this.id, - }; - - switch (partID) { - case `foundryTab`: { - await this._prepareFormContext(context, options); - break; - }; - case `systemTab`: { - await this._prepareSystemSettingsContext(context, options); - break; - }; - case `footer`: { - await this._prepareFooterContext(context, options); - break; - }; - }; - return context; - }; - - async _prepareSystemSettingsContext(context, _options) { - // Inherited values for placeholders - const defaults = getDefaultSizing(); - context.placeholders = { - ...defaults, - resizable: defaults.resizable ? `Resizable` : `Not Resizable`, - }; - - // Custom values from document itself - const sheetConfig = this.document.getFlag(__ID__, `PlayerSheet`) ?? {}; - const sizing = sheetConfig.size ?? {}; - context.values = { - width: sizing.width, - height: sizing.height, - resizable: sizing.resizable ?? ``, - }; - - // Static prep - context.resizeOptions = [ - { label: `Default (${context.placeholders.resizable})`, value: `` }, - { label: `Resizable`, value: `true` }, - { label: `No Resizing`, value: `false` }, - ]; - }; - // #endregion Data Prep - - // #region Actions - /** @this {TAFDocumentSheetConfig} */ - static async #onSubmit(event, form, formData) { - const foundryReopen = await TAFDocumentSheetConfig.#submitFoundry.call(this, event, form, formData); - const systemReopen = await TAFDocumentSheetConfig.#submitSystem.call(this, event, form, formData); - if (foundryReopen || systemReopen) { - this.document._onSheetChange({ sheetOpen: true }); - }; - }; - - /** - * This method is mostly the form submission handler that foundry uses in - * DocumentSheetConfig, however because we clobber that in order to save our - * own config stuff as well, we need to duplicate Foundry's handling and tweak - * it a bit to make it work nicely with our custom saving. - * - * @this {TAFDocumentSheetConfig} - */ - static async #submitFoundry(_event, _form, formData) { - const { object } = formData; - const { documentName, type = CONST.BASE_DOCUMENT_TYPE } = this.document; - - // Update themes. - const themes = game.settings.get(`core`, `sheetThemes`); - const defaultTheme = foundry.utils.getProperty(themes, `defaults.${documentName}.${type}`); - const documentTheme = themes.documents?.[this.document.uuid]; - const themeChanged = (object.defaultTheme !== defaultTheme) || (object.theme !== documentTheme); - if (themeChanged) { - foundry.utils.setProperty(themes, `defaults.${documentName}.${type}`, object.defaultTheme); - themes.documents ??= {}; - themes.documents[this.document.uuid] = object.theme; - await game.settings.set(`core`, `sheetThemes`, themes); - } - - // Update sheets. - const { defaultClass } = this.constructor.getSheetClassesForSubType(documentName, type); - const sheetClass = this.document.getFlag(`core`, `sheetClass`) ?? ``; - const defaultSheetChanged = object.defaultClass !== defaultClass; - const documentSheetChanged = object.sheetClass !== sheetClass; - - if (themeChanged || (game.user.isGM && defaultSheetChanged)) { - if (game.user.isGM && defaultSheetChanged) { - const setting = game.settings.get(`core`, `sheetClasses`); - foundry.utils.setProperty(setting, `${documentName}.${type}`, object.defaultClass); - await game.settings.set(`core`, `sheetClasses`, setting); - } - - // This causes us to manually rerender the sheet due to the theme or default - // sheet class changing resulting in no update making it to the client-document's - // _onUpdate handling - if (!documentSheetChanged) { - return true; - } - } - - // Update the document-specific override. - if (documentSheetChanged) { - this.document.setFlag(`core`, `sheetClass`, object.sheetClass); - }; - return false; - }; - - /** @this {TAFDocumentSheetConfig} */ - static async #submitSystem(_event, _form, formData) { - const { FLAGS: flags } = expandObject(formData.object); - const diff = flattenObject(diffObject(this.document.flags, flags)); - const hasChanges = Object.keys(diff).length > 0; - if (hasChanges) { - await this.document.update({ flags }); - }; - return hasChanges; - }; - // #endregion Actions -}; diff --git a/module/hooks/init.mjs b/module/hooks/init.mjs index f3db2fb..ecf09b9 100644 --- a/module/hooks/init.mjs +++ b/module/hooks/init.mjs @@ -17,7 +17,6 @@ import { __ID__ } from "../consts.mjs"; import helpers from "../handlebarsHelpers/_index.mjs"; import { Logger } from "../utils/Logger.mjs"; import { registerCustomComponents } from "../apps/elements/_index.mjs"; -import { registerSockets } from "../sockets/_index.mjs"; Hooks.on(`init`, () => { Logger.debug(`Initializing`); @@ -42,7 +41,6 @@ Hooks.on(`init`, () => { registerWorldSettings(); - registerSockets(); registerCustomComponents(); Handlebars.registerHelper(helpers); }); diff --git a/module/hooks/userConnected.mjs b/module/hooks/userConnected.mjs deleted file mode 100644 index ed50f34..0000000 --- a/module/hooks/userConnected.mjs +++ /dev/null @@ -1,6 +0,0 @@ -import { userActivity } from "../utils/QueryManager.mjs"; - -Hooks.on(`userConnected`, (user, connected) => { - if (user.isSelf) { return }; - userActivity(user.id, connected); -}); diff --git a/module/main.mjs b/module/main.mjs index 05cf7d9..abde62f 100644 --- a/module/main.mjs +++ b/module/main.mjs @@ -1,3 +1,2 @@ import "./api.mjs"; import "./hooks/init.mjs"; -import "./hooks/userConnected.mjs"; diff --git a/module/sockets/_index.mjs b/module/sockets/_index.mjs deleted file mode 100644 index f824c9e..0000000 --- a/module/sockets/_index.mjs +++ /dev/null @@ -1,33 +0,0 @@ -import { Logger } from "../utils/Logger.mjs"; -import { queryCancel } from "./query/cancel.mjs"; -import { queryNotify } from "./query/notify.mjs"; -import { queryPrompt } from "./query/prompt.mjs"; -import { querySubmit } from "./query/submit.mjs"; - -const events = { - // Data Request sockets - "query.cancel": queryCancel, - "query.notify": queryNotify, - "query.prompt": queryPrompt, - "query.submit": querySubmit, -}; - -export function registerSockets() { - Logger.info(`Setting up socket listener`); - - game.socket.on(`system.taf`, (data, userID) => { - const { event, payload } = data ?? {}; - if (event == null || payload === undefined) { - ui.notifications.error(game.i18n.format(`taf.notifs.error.invalid-socket`)); - return; - }; - - if (events[event] == null) { - ui.notifications.error(game.i18n.format(`taf.notifs.error.unknown-socket-event`, { event })); - return; - }; - - const user = game.users.get(userID); - events[event](payload, user); - }); -}; diff --git a/module/sockets/query/cancel.mjs b/module/sockets/query/cancel.mjs deleted file mode 100644 index f8eeddc..0000000 --- a/module/sockets/query/cancel.mjs +++ /dev/null @@ -1,19 +0,0 @@ -import { DialogManager } from "../../utils/DialogManager.mjs"; -import { localizer } from "../../utils/localizer.mjs"; - -export async function queryCancel(payload) { - const { id } = payload; - - if (!id) { - ui.notifications.error(localizer( - `taf.notifs.error.malformed-socket-payload`, - { - event: `query.cancel`, - details: `taf.notifs.error.missing-id`, - }, - )); - return; - }; - - await DialogManager.close(id); -}; diff --git a/module/sockets/query/notify.mjs b/module/sockets/query/notify.mjs deleted file mode 100644 index 624e7b2..0000000 --- a/module/sockets/query/notify.mjs +++ /dev/null @@ -1,25 +0,0 @@ -import { localizer } from "../../utils/localizer.mjs"; -import { respondedToQueries } from "../../utils/QueryManager.mjs"; - -export function queryNotify(payload) { - const { id, userID, content, includeGM } = payload; - - if (userID !== game.user.id) { return }; - - // Ensure that each user can only get one notification about a query - if (!respondedToQueries.has(id)) { return }; - - let whisper = [game.user.id]; - if (includeGM) { - whisper = game.users.filter(u => u.isGM).map(u => u.id); - }; - - ChatMessage.implementation.create({ - flavor: localizer(`taf.misc.data-query-notif-header`), - content, - whisper, - style: CONST.CHAT_MESSAGE_STYLES.OOC, - }); - - respondedToQueries.delete(id); -}; diff --git a/module/sockets/query/prompt.mjs b/module/sockets/query/prompt.mjs deleted file mode 100644 index 8b1700f..0000000 --- a/module/sockets/query/prompt.mjs +++ /dev/null @@ -1,54 +0,0 @@ -import { DialogManager } from "../../utils/DialogManager.mjs"; -import { localizer } from "../../utils/localizer.mjs"; -import { respondedToQueries } from "../../utils/QueryManager.mjs"; - -export async function queryPrompt(payload) { - const { - id, - users, - config, - request, - } = payload; - - if (!id) { - ui.notifications.error(localizer( - `taf.notifs.error.malformed-socket-payload`, - { - event: `query.cancel`, - details: `taf.notifs.error.missing-id`, - }, - )); - return; - }; - - // null/undefined is a special case for "all users but me" by default - if (users != null && !Array.isArray(users)) { - ui.notifications.error(localizer( - `taf.notifs.error.malformed-socket-payload`, - { - event: `query.cancel`, - details: `taf.sockets.user-list-required`, - }, - )); - return; - }; - - if (users != null && !users.includes(game.user.id)) { return }; - - request.id = id; - const result = await DialogManager.ask(request, config); - if (result.state === `fronted`) { - return; - } else if (result.state === `errored`) { - ui.notifications.error(result.error); - } else if (result.state === `prompted`) { - respondedToQueries.add(request.id); - game.socket.emit(`system.taf`, { - event: `query.submit`, - payload: { - id: request.id, - answers: result.answers, - }, - }); - }; -}; diff --git a/module/sockets/query/submit.mjs b/module/sockets/query/submit.mjs deleted file mode 100644 index 023ed38..0000000 --- a/module/sockets/query/submit.mjs +++ /dev/null @@ -1,23 +0,0 @@ -import { addResponse, has as hasQuery } from "../../utils/QueryManager.mjs"; -import { localizer } from "../../utils/localizer.mjs"; - -export function querySubmit(payload, user) { - const { - id, - answers, - } = payload; - - if (!id) { - ui.notifications.error(localizer( - `taf.notifs.error.malformed-socket-payload`, - { - event: `query.cancel`, - details: `taf.notifs.error.missing-id`, - }, - )); - return; - }; - - if (!hasQuery(id)) { return }; - addResponse(id, user.id, answers); -}; diff --git a/module/utils/DialogManager.mjs b/module/utils/DialogManager.mjs index ab330f3..fdf6e8b 100644 --- a/module/utils/DialogManager.mjs +++ b/module/utils/DialogManager.mjs @@ -1,114 +1,108 @@ import { Ask } from "../apps/Ask.mjs"; -/** @type {Map} */ -const promises = new Map(); +export class DialogManager { + /** @type {Map} */ + static #promises = new Map(); + static #dialogs = new Map(); -/** @type {Map} */ -const dialogs = new Map(); - -export function close(id) { - dialogs.get(id)?.close(); - dialogs.delete(id); - promises.delete(id); -}; - -/** - * Asks the user to provide a simple piece of information, this is primarily - * intended to be used within macros so that it can have better info gathering - * as needed. This returns an object of input keys/labels to the value the user - * input for that label, if there is only one input, this will return the value - * without an object wrapper, allowing for easier access. - * - * @param {AskConfig} data - * @param {AskOptions} opts - * @returns {AskResult} - */ -export async function ask( - data, - { - onlyOneWaiting = true, - alwaysUseAnswerObject = true, - } = {}, -) { - if (!data.id) { - return { - state: `errored`, - error: `An ID must be provided`, - }; - }; - if (!data.inputs.length) { - return { - state: `errored`, - error: `At least one input must be provided`, - }; - }; - const id = data.id; - - // Don't do multi-thread waiting - if (dialogs.has(id)) { - const app = dialogs.get(id); - app.bringToFront(); - if (onlyOneWaiting) { - return { state: `fronted` }; - } else { - return promises.get(id); - }; + static async close(id) { + this.#dialogs.get(id)?.close(); + this.#dialogs.delete(id); + this.#promises.delete(id); }; - let autofocusClaimed = false; - for (const i of data.inputs) { - i.id ??= foundry.utils.randomID(16); - i.key ??= i.label; - - switch (i.type) { - case `input`: { - i.inputType ??= `text`; - } - } - - // Only ever allow one input to claim autofocus - i.autofocus &&= !autofocusClaimed; - autofocusClaimed ||= i.autofocus; - - // Set the value's attribute name if it isn't specified explicitly - if (!i.valueAttribute) { - switch (i.inputType) { - case `checkbox`: - i.type = `checkbox`; - delete i.valueAttribute; - delete i.inputType; - break; - default: - i.valueAttribute = `value`; + /** + * Asks the user to provide a simple piece of information, this is primarily + * intended to be used within macros so that it can have better info gathering + * as needed. This returns an object of input keys/labels to the value the user + * input for that label, if there is only one input, this will return the value + * without an object wrapper, allowing for easier access. + * + * @param {AskConfig} data + * @param {AskOptions} opts + * @returns {AskResult} + */ + static async ask( + data, + { + onlyOneWaiting = true, + alwaysUseAnswerObject = true, + } = {}, + ) { + if (!data.id) { + return { + state: `errored`, + error: `An ID must be provided`, }; }; + if (!data.inputs.length) { + return { + state: `errored`, + error: `At least one input must be provided`, + }; + }; + const id = data.id; + + // Don't do multi-thread waiting + if (this.#dialogs.has(id)) { + const app = this.#dialogs.get(id); + app.bringToFront(); + if (onlyOneWaiting) { + return { state: `fronted` }; + } else { + return this.#promises.get(id); + }; + }; + + let autofocusClaimed = false; + for (const i of data.inputs) { + i.id ??= foundry.utils.randomID(16); + i.key ??= i.label; + + switch (i.type) { + case `input`: { + i.inputType ??= `text`; + } + } + + // Only ever allow one input to claim autofocus + i.autofocus &&= !autofocusClaimed; + autofocusClaimed ||= i.autofocus; + + // Set the value's attribute name if it isn't specified explicitly + if (!i.valueAttribute) { + switch (i.inputType) { + case `checkbox`: + i.type = `checkbox`; + delete i.valueAttribute; + delete i.inputType; + break; + default: + i.valueAttribute = `value`; + }; + }; + }; + + const promise = new Promise((resolve) => { + const app = new Ask({ + ...data, + alwaysUseAnswerObject, + onClose: () => { + this.#dialogs.delete(id); + this.#promises.delete(id); + resolve({ state: `prompted` }); + }, + onConfirm: (answers) => resolve({ state: `prompted`, answers }), + }); + app.render({ force: true }); + this.#dialogs.set(id, app); + }); + + this.#promises.set(id, promise); + return promise; }; - const promise = new Promise((resolve) => { - const app = new Ask({ - ...data, - alwaysUseAnswerObject, - onClose: () => { - dialogs.delete(id); - promises.delete(id); - resolve({ state: `prompted` }); - }, - onConfirm: (answers) => resolve({ state: `prompted`, answers }), - }); - app.render({ force: true }); - dialogs.set(id, app); - }); - - promises.set(id, promise); - return promise; -}; - -export function size() { - return dialogs.size; -}; - -export const DialogManager = { - close, - ask, - size, + static get size() { + return this.#dialogs.size; + }; }; diff --git a/module/utils/QueryManager.mjs b/module/utils/QueryManager.mjs deleted file mode 100644 index abf1096..0000000 --- a/module/utils/QueryManager.mjs +++ /dev/null @@ -1,289 +0,0 @@ -import { filePath } from "../consts.mjs"; -import { Logger } from "./Logger.mjs"; -import { QueryStatus } from "../apps/QueryStatus.mjs"; - -/** - * An object containing information about the current status for all - * users involved with the data request. - * @typedef {Record< - * string, - * "finished" | "waiting" | "disconnected" | "unprompted" - * >} UserStatus - */ - -/** - * @typedef QueryData - * @property {string[]} users - * @property {Function} resolve - * @property {Record} responses - * @property {(() => Promise)|null} onSubmit - * @property {QueryStatus|null} app - * @property {UserStatus} status - * @property {object} request The data used to form the initial request - * @property {object} config The data used to create the initial config - */ - -/** - * This internal API is used in order to prevent the query.notify event - * from being fired off in situations where the user hasn't responded, - * wasn't part of the query, or has already been notified. - * @type {Set} - */ -export const respondedToQueries = new Set(); - -/** @type {Map} */ -const queries = new Map(); - -/** @type {Map} */ -const promises = new Map(); - -async function sendBasicNotification(requestID, userID, answers) { - const content = await foundry.applications.handlebars.renderTemplate( - filePath(`templates/query-response.hbs`), - { answers }, - ); - - await notify(requestID, userID, content, { includeGM: false }); -}; - -export function has(requestID) { - return queries.has(requestID); -}; - -/** @returns {Omit} */ -export function get(requestID) { - if (!queries.has(requestID)) { return null }; - const query = queries.get(requestID); - const cloned = foundry.utils.deepClone(query); - - delete cloned.onSubmit; - delete cloned.resolve; - delete cloned.app; - - return foundry.utils.deepFreeze(cloned); -}; - -export async function query( - request, - { - onSubmit = sendBasicNotification, - users = null, - showStatusApp = true, - ...config - } = {}, -) { - if (!request.id) { - ui.notifications.error(game.i18n.localize(`taf.notifs.error.missing-id`)); - return; - }; - - game.socket.emit(`system.taf`, { - event: `query.prompt`, - payload: { - id: request.id, - users, - request, - config, - }, - }); - - if (promises.has(request.id)) { - return null; - }; - - users ??= game.users - .filter(u => u.id !== game.user.id) - .map(u => u.id); - - const promise = new Promise((resolve) => { - - /** @type {UserStatus} */ - const status = {}; - for (const user of users) { - status[user] = game.users.get(user).active ? `waiting` : `disconnected`; - }; - - queries.set( - request.id, - { - users, - request, - config, - responses: {}, - resolve, - onSubmit, - app: null, - status, - }, - ); - }); - - if (showStatusApp) { - const app = new QueryStatus({ requestID: request.id }); - app.render({ force: true }); - queries.get(request.id).app = app; - }; - - return promise; -}; - -export async function requery(requestID, users) { - const query = queries.get(requestID); - if (!query) { return }; - - game.socket.emit(`system.taf`, { - event: `query.prompt`, - payload: { - id: requestID, - users, - request: query.request, - config: query.config, - }, - }); - - for (const user of users) { - query.status[user] = `waiting`; - }; - query.app?.render({ parts: [ `users` ] }); -}; - -export async function addResponse(requestID, userID, answers) { - if (!queries.has(requestID)) { return }; - const query = queries.get(requestID); - - // User closed the popup manually - if (answers == null) { - query.status[userID] = `unprompted`; - } - - // User submitted the answers as expected - else { - query.responses[userID] = answers; - query.status[userID] = `finished`; - await query.onSubmit?.(requestID, userID, answers); - }; - - await maybeResolve(requestID); -}; - -async function maybeResolve(requestID) { - const query = queries.get(requestID); - - // Determine how many users are considered "finished" - let finishedUserCount = 0; - for (const user of query.users) { - const hasApp = query.app != null; - - switch (query.status[user]) { - case `finished`: { - finishedUserCount++; - break; - }; - case `cancelled`: - case `disconnected`: - case `unprompted`: { - if (!hasApp) { - finishedUserCount++; - }; - break; - }; - }; - }; - - // Ensure that we have a finished response from everyone prompted - if (query.users.length === finishedUserCount) { - query.app?.close(); - query.resolve(query.responses); - queries.delete(requestID); - promises.delete(requestID); - } else { - query.app?.render({ parts: [ `users` ] }); - }; -}; - -export async function notify(requestID, userID, content, { includeGM = false } = {}) { - // Prevent sending notifications for not-your queries - if (!queries.has(requestID)) { return }; - - game.socket.emit(`system.taf`, { - event: `query.notify`, - payload: { - id: requestID, - userID, - content, - includeGM, - }, - }); -}; - -export async function finish(requestID) { - // prevent finishing other people's queries - if (!queries.has(requestID)) { return }; - - const query = queries.get(requestID); - query.app?.close(); - query.resolve(query.responses); - queries.delete(requestID); - promises.delete(requestID); - - game.socket.emit(`system.taf`, { - event: `query.cancel`, - payload: { id: requestID }, - }); -}; - -export async function cancel(requestID) { - // prevent cancelling other people's queries - if (!queries.has(requestID)) { return }; - - const query = queries.get(requestID); - query.app?.close(); - query.resolve(null); - queries.delete(requestID); - promises.delete(requestID); - - game.socket.emit(`system.taf`, { - event: `query.cancel`, - payload: { id: requestID }, - }); -}; - -export async function setApplication(requestID, app) { - if (!queries.has(requestID)) { return }; - if (!(app instanceof QueryStatus)) { return }; - const query = queries.get(requestID); - if (query.app) { - Logger.error(`Cannot set an application for a query that has one already`); - return; - }; - query.app = app; -}; - -export async function userActivity(userID, connected) { - for (const [id, query] of queries.entries()) { - if (query.users.includes(userID)) { - - // Update the user's status to allow for the app to re-prompt them - if (query.status[userID] !== `finished`) { - if (connected) { - query.status[userID] = `unprompted`; - } else { - query.status[userID] = `disconnected`; - }; - maybeResolve(id); - }; - - query.app?.render({ parts: [ `users` ] }); - }; - }; -}; - -export const QueryManager = { - has, get, - query, requery, - addResponse, - notify, - finish, cancel, - setApplication, - userActivity, -}; diff --git a/module/utils/getSizing.mjs b/module/utils/getSizing.mjs deleted file mode 100644 index 63e6822..0000000 --- a/module/utils/getSizing.mjs +++ /dev/null @@ -1,32 +0,0 @@ -import { PlayerSheet } from "../apps/PlayerSheet.mjs"; - -/** - * @typedef SheetSizing - * @property {number} width The initial width of the application - * @property {number} height The initial height of the application - * @property {boolean} resizable Whether or not the application - * is able to be resized with a drag handle. - */ - -/** - * Retrieves the computed default sizing data based on world settings - * and the sheet class' DEFAULT_OPTIONS - * @returns {SheetSizing} - */ -export function getDefaultSizing() { - /** @type {SheetSizing} */ - const sizing = { - width: undefined, - height: undefined, - resizable: undefined, - }; - - // TODO: defaults from world settings - - // Defaults from the sheet class itself - sizing.height ||= PlayerSheet.DEFAULT_OPTIONS.position.height; - sizing.width ||= PlayerSheet.DEFAULT_OPTIONS.position.width; - sizing.resizable ||= PlayerSheet.DEFAULT_OPTIONS.window.resizable; - - return sizing; -}; diff --git a/module/utils/localizer.mjs b/module/utils/localizer.mjs deleted file mode 100644 index 7988039..0000000 --- a/module/utils/localizer.mjs +++ /dev/null @@ -1,32 +0,0 @@ -const config = Object.preventExtensions({ - subKeyPattern: /@(?[a-zA-Z.]+)/gm, - maxDepth: 10, -}); - -export function localizer(key, args = {}, depth = 0) { - /** @type {string} */ - let localized = game.i18n.format(key, args); - const subkeys = localized.matchAll(config.subKeyPattern); - - // Short-cut to help prevent infinite recursion - if (depth > config.maxDepth) { - return localized; - }; - - /* - Helps prevent recursion on the same key so that we aren't doing excess work. - */ - const localizedSubkeys = new Map(); - for (const match of subkeys) { - const subkey = match.groups.key; - if (localizedSubkeys.has(subkey)) { continue }; - localizedSubkeys.set(subkey, localizer(subkey, args, depth + 1)); - }; - - return localized.replace( - config.subKeyPattern, - (_fullMatch, subkey) => { - return localizedSubkeys.get(subkey); - }, - ); -}; diff --git a/package-lock.json b/package-lock.json index 27b1468..961d542 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,943 +5,26 @@ "packages": { "": { "devDependencies": { - "@aws-sdk/client-s3": "^3.934.0", "@eslint/js": "^9.8.0", "@foundryvtt/foundryvtt-cli": "^1.0.3", + "@league-of-foundry-developers/foundry-vtt-types": "^9.280.0", "@stylistic/eslint-plugin": "^2.6.1", - "axios": "^1.13.2", - "dotenv": "^17.2.2", "eslint": "^9.8.0", - "globals": "^15.9.0" - } - }, - "node_modules/@aws-crypto/crc32": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-5.2.0.tgz", - "integrity": "sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-crypto/crc32c": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-5.2.0.tgz", - "integrity": "sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/sha1-browser": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-5.2.0.tgz", - "integrity": "sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/supports-web-crypto": "^5.2.0", - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", - "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", - "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha1-browser/node_modules/@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha256-browser": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz", - "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-js": "^5.2.0", - "@aws-crypto/supports-web-crypto": "^5.2.0", - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "@aws-sdk/util-locate-window": "^3.0.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", - "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", - "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/sha256-js": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz", - "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/util": "^5.2.0", - "@aws-sdk/types": "^3.222.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/@aws-crypto/supports-web-crypto": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz", - "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/util": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz", - "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "^3.222.0", - "@smithy/util-utf8": "^2.0.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz", - "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz", - "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz", - "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^2.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@aws-sdk/client-s3": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.934.0.tgz", - "integrity": "sha512-dtg77FGTgt8WlqgrRriCOie/SUl0x0cx2itPgK6fkf3pRK0t1betQ0EUZM6VYQcj+hqVMzh/XRcr1TDm5n5eVw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha1-browser": "5.2.0", - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.934.0", - "@aws-sdk/credential-provider-node": "3.934.0", - "@aws-sdk/middleware-bucket-endpoint": "3.930.0", - "@aws-sdk/middleware-expect-continue": "3.930.0", - "@aws-sdk/middleware-flexible-checksums": "3.934.0", - "@aws-sdk/middleware-host-header": "3.930.0", - "@aws-sdk/middleware-location-constraint": "3.930.0", - "@aws-sdk/middleware-logger": "3.930.0", - "@aws-sdk/middleware-recursion-detection": "3.933.0", - "@aws-sdk/middleware-sdk-s3": "3.934.0", - "@aws-sdk/middleware-ssec": "3.930.0", - "@aws-sdk/middleware-user-agent": "3.934.0", - "@aws-sdk/region-config-resolver": "3.930.0", - "@aws-sdk/signature-v4-multi-region": "3.934.0", - "@aws-sdk/types": "3.930.0", - "@aws-sdk/util-endpoints": "3.930.0", - "@aws-sdk/util-user-agent-browser": "3.930.0", - "@aws-sdk/util-user-agent-node": "3.934.0", - "@smithy/config-resolver": "^4.4.3", - "@smithy/core": "^3.18.2", - "@smithy/eventstream-serde-browser": "^4.2.5", - "@smithy/eventstream-serde-config-resolver": "^4.3.5", - "@smithy/eventstream-serde-node": "^4.2.5", - "@smithy/fetch-http-handler": "^5.3.6", - "@smithy/hash-blob-browser": "^4.2.6", - "@smithy/hash-node": "^4.2.5", - "@smithy/hash-stream-node": "^4.2.5", - "@smithy/invalid-dependency": "^4.2.5", - "@smithy/md5-js": "^4.2.5", - "@smithy/middleware-content-length": "^4.2.5", - "@smithy/middleware-endpoint": "^4.3.9", - "@smithy/middleware-retry": "^4.4.9", - "@smithy/middleware-serde": "^4.2.5", - "@smithy/middleware-stack": "^4.2.5", - "@smithy/node-config-provider": "^4.3.5", - "@smithy/node-http-handler": "^4.4.5", - "@smithy/protocol-http": "^5.3.5", - "@smithy/smithy-client": "^4.9.5", - "@smithy/types": "^4.9.0", - "@smithy/url-parser": "^4.2.5", - "@smithy/util-base64": "^4.3.0", - "@smithy/util-body-length-browser": "^4.2.0", - "@smithy/util-body-length-node": "^4.2.1", - "@smithy/util-defaults-mode-browser": "^4.3.8", - "@smithy/util-defaults-mode-node": "^4.2.11", - "@smithy/util-endpoints": "^3.2.5", - "@smithy/util-middleware": "^4.2.5", - "@smithy/util-retry": "^4.2.5", - "@smithy/util-stream": "^4.5.6", - "@smithy/util-utf8": "^4.2.0", - "@smithy/util-waiter": "^4.2.5", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/client-sso": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.934.0.tgz", - "integrity": "sha512-gsgJevqhY0j3x014ejhXtHLCA6o83FYm3rJoZG7tqoy3DnWerLv/FHaAnHI/+Q+csadqjoFkWGQTOedPoOunzA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.934.0", - "@aws-sdk/middleware-host-header": "3.930.0", - "@aws-sdk/middleware-logger": "3.930.0", - "@aws-sdk/middleware-recursion-detection": "3.933.0", - "@aws-sdk/middleware-user-agent": "3.934.0", - "@aws-sdk/region-config-resolver": "3.930.0", - "@aws-sdk/types": "3.930.0", - "@aws-sdk/util-endpoints": "3.930.0", - "@aws-sdk/util-user-agent-browser": "3.930.0", - "@aws-sdk/util-user-agent-node": "3.934.0", - "@smithy/config-resolver": "^4.4.3", - "@smithy/core": "^3.18.2", - "@smithy/fetch-http-handler": "^5.3.6", - "@smithy/hash-node": "^4.2.5", - "@smithy/invalid-dependency": "^4.2.5", - "@smithy/middleware-content-length": "^4.2.5", - "@smithy/middleware-endpoint": "^4.3.9", - "@smithy/middleware-retry": "^4.4.9", - "@smithy/middleware-serde": "^4.2.5", - "@smithy/middleware-stack": "^4.2.5", - "@smithy/node-config-provider": "^4.3.5", - "@smithy/node-http-handler": "^4.4.5", - "@smithy/protocol-http": "^5.3.5", - "@smithy/smithy-client": "^4.9.5", - "@smithy/types": "^4.9.0", - "@smithy/url-parser": "^4.2.5", - "@smithy/util-base64": "^4.3.0", - "@smithy/util-body-length-browser": "^4.2.0", - "@smithy/util-body-length-node": "^4.2.1", - "@smithy/util-defaults-mode-browser": "^4.3.8", - "@smithy/util-defaults-mode-node": "^4.2.11", - "@smithy/util-endpoints": "^3.2.5", - "@smithy/util-middleware": "^4.2.5", - "@smithy/util-retry": "^4.2.5", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/core": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.934.0.tgz", - "integrity": "sha512-b6k916ZxSrBwQPzeirncTIQXGnhps0HFOUakFt0ZEzjksePYUiEoU/SQ7VeY1j9JeAdJ24ejqddCiyLt99/3lg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.930.0", - "@aws-sdk/xml-builder": "3.930.0", - "@smithy/core": "^3.18.2", - "@smithy/node-config-provider": "^4.3.5", - "@smithy/property-provider": "^4.2.5", - "@smithy/protocol-http": "^5.3.5", - "@smithy/signature-v4": "^5.3.5", - "@smithy/smithy-client": "^4.9.5", - "@smithy/types": "^4.9.0", - "@smithy/util-base64": "^4.3.0", - "@smithy/util-middleware": "^4.2.5", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-env": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.934.0.tgz", - "integrity": "sha512-bnpIGYm7Jy46dxZa1cxMQ1sF0n2iBIT+TpOPHK51sz1N2dYOicUVWUHMDgU2xIFOVcKaqV+GV4VyicMmvDBcBQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/core": "3.934.0", - "@aws-sdk/types": "3.930.0", - "@smithy/property-provider": "^4.2.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-http": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.934.0.tgz", - "integrity": "sha512-WJcfFik7MPIgjE8lmuDcCqddHKRMpifzoBzTZWqUJJWYXIy0rDfNzt6pn3/TMLwVgnCGjnXlw6dChTxLzO60RQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/core": "3.934.0", - "@aws-sdk/types": "3.930.0", - "@smithy/fetch-http-handler": "^5.3.6", - "@smithy/node-http-handler": "^4.4.5", - "@smithy/property-provider": "^4.2.5", - "@smithy/protocol-http": "^5.3.5", - "@smithy/smithy-client": "^4.9.5", - "@smithy/types": "^4.9.0", - "@smithy/util-stream": "^4.5.6", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-ini": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.934.0.tgz", - "integrity": "sha512-3vVKGe1F2S09G9kC0ZcpWh09opyrGOgQETllqWbuxlTVd7zBgrZWloItLIvneSDP+dWvdLFUbkD7WDWNCeGiig==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/core": "3.934.0", - "@aws-sdk/credential-provider-env": "3.934.0", - "@aws-sdk/credential-provider-http": "3.934.0", - "@aws-sdk/credential-provider-process": "3.934.0", - "@aws-sdk/credential-provider-sso": "3.934.0", - "@aws-sdk/credential-provider-web-identity": "3.934.0", - "@aws-sdk/nested-clients": "3.934.0", - "@aws-sdk/types": "3.930.0", - "@smithy/credential-provider-imds": "^4.2.5", - "@smithy/property-provider": "^4.2.5", - "@smithy/shared-ini-file-loader": "^4.4.0", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-node": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.934.0.tgz", - "integrity": "sha512-nguy36xi8nbH346dJjCmwWtOgfS4VfL7yHP+EEGmma+yg+J7mxgs8kA1NGQdJ8B46GdjlJPpI1P9pm7Pmz7nOw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/credential-provider-env": "3.934.0", - "@aws-sdk/credential-provider-http": "3.934.0", - "@aws-sdk/credential-provider-ini": "3.934.0", - "@aws-sdk/credential-provider-process": "3.934.0", - "@aws-sdk/credential-provider-sso": "3.934.0", - "@aws-sdk/credential-provider-web-identity": "3.934.0", - "@aws-sdk/types": "3.930.0", - "@smithy/credential-provider-imds": "^4.2.5", - "@smithy/property-provider": "^4.2.5", - "@smithy/shared-ini-file-loader": "^4.4.0", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-process": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.934.0.tgz", - "integrity": "sha512-PhvpAgoJ88IOuqlUws9nvHuPex2jK+WS+0s00BQcRTwqPP0jtLT7eql6UfCRduwv2sIy3m1wnWDUubvbpejp/Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/core": "3.934.0", - "@aws-sdk/types": "3.930.0", - "@smithy/property-provider": "^4.2.5", - "@smithy/shared-ini-file-loader": "^4.4.0", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-sso": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.934.0.tgz", - "integrity": "sha512-7wO86w95V9MZSYo2dunBKruKHdAUmgg9ccOSJSYGnPip1PPBK/rgSgQ8mDlYtFAW3/82bdeM/668QcgLT4+ofA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/client-sso": "3.934.0", - "@aws-sdk/core": "3.934.0", - "@aws-sdk/token-providers": "3.934.0", - "@aws-sdk/types": "3.930.0", - "@smithy/property-provider": "^4.2.5", - "@smithy/shared-ini-file-loader": "^4.4.0", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/credential-provider-web-identity": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.934.0.tgz", - "integrity": "sha512-hb+lvFxiAPcAvUorB0hrUd1kDjDRXhZgCi5426I8KUpGzZ+ALh8/ep0KXAiYe2yg9ZkyMUbMaMvYYhMFcbXRFA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/core": "3.934.0", - "@aws-sdk/nested-clients": "3.934.0", - "@aws-sdk/types": "3.930.0", - "@smithy/property-provider": "^4.2.5", - "@smithy/shared-ini-file-loader": "^4.4.0", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/middleware-bucket-endpoint": { - "version": "3.930.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.930.0.tgz", - "integrity": "sha512-cnCLWeKPYgvV4yRYPFH6pWMdUByvu2cy2BAlfsPpvnm4RaVioztyvxmQj5PmVN5fvWs5w/2d6U7le8X9iye2sA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.930.0", - "@aws-sdk/util-arn-parser": "3.893.0", - "@smithy/node-config-provider": "^4.3.5", - "@smithy/protocol-http": "^5.3.5", - "@smithy/types": "^4.9.0", - "@smithy/util-config-provider": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/middleware-expect-continue": { - "version": "3.930.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.930.0.tgz", - "integrity": "sha512-5HEQ+JU4DrLNWeY27wKg/jeVa8Suy62ivJHOSUf6e6hZdVIMx0h/kXS1fHEQNNiLu2IzSEP/bFXsKBaW7x7s0g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.930.0", - "@smithy/protocol-http": "^5.3.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/middleware-flexible-checksums": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.934.0.tgz", - "integrity": "sha512-kAV0fhwUhh/CV8hR5iip+du5QSXvIsONERVY/iJPbiBItqsmFaWcwiZE9E+ORJPNyoT/3X17632W33pCweKGDQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/crc32": "5.2.0", - "@aws-crypto/crc32c": "5.2.0", - "@aws-crypto/util": "5.2.0", - "@aws-sdk/core": "3.934.0", - "@aws-sdk/types": "3.930.0", - "@smithy/is-array-buffer": "^4.2.0", - "@smithy/node-config-provider": "^4.3.5", - "@smithy/protocol-http": "^5.3.5", - "@smithy/types": "^4.9.0", - "@smithy/util-middleware": "^4.2.5", - "@smithy/util-stream": "^4.5.6", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/middleware-host-header": { - "version": "3.930.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.930.0.tgz", - "integrity": "sha512-x30jmm3TLu7b/b+67nMyoV0NlbnCVT5DI57yDrhXAPCtdgM1KtdLWt45UcHpKOm1JsaIkmYRh2WYu7Anx4MG0g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.930.0", - "@smithy/protocol-http": "^5.3.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/middleware-location-constraint": { - "version": "3.930.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.930.0.tgz", - "integrity": "sha512-QIGNsNUdRICog+LYqmtJ03PLze6h2KCORXUs5td/hAEjVP5DMmubhtrGg1KhWyctACluUH/E/yrD14p4pRXxwA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.930.0", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/middleware-logger": { - "version": "3.930.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.930.0.tgz", - "integrity": "sha512-vh4JBWzMCBW8wREvAwoSqB2geKsZwSHTa0nSt0OMOLp2PdTYIZDi0ZiVMmpfnjcx9XbS6aSluLv9sKx4RrG46A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.930.0", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/middleware-recursion-detection": { - "version": "3.933.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.933.0.tgz", - "integrity": "sha512-qgrMlkVKzTCAdNw2A05DC2sPBo0KRQ7wk+lbYSRJnWVzcrceJhnmhoZVV5PFv7JtchK7sHVcfm9lcpiyd+XaCA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.930.0", - "@aws/lambda-invoke-store": "^0.2.0", - "@smithy/protocol-http": "^5.3.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/middleware-sdk-s3": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.934.0.tgz", - "integrity": "sha512-eU2R7pVOhCxnkDzq9mW+xh4WvCA3mdXVUHezIcJNFyKCKKv/c9I4WFcnMnUy+wnCWO2mzN/gwSgQxADkvxfLNQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/core": "3.934.0", - "@aws-sdk/types": "3.930.0", - "@aws-sdk/util-arn-parser": "3.893.0", - "@smithy/core": "^3.18.2", - "@smithy/node-config-provider": "^4.3.5", - "@smithy/protocol-http": "^5.3.5", - "@smithy/signature-v4": "^5.3.5", - "@smithy/smithy-client": "^4.9.5", - "@smithy/types": "^4.9.0", - "@smithy/util-config-provider": "^4.2.0", - "@smithy/util-middleware": "^4.2.5", - "@smithy/util-stream": "^4.5.6", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/middleware-ssec": { - "version": "3.930.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.930.0.tgz", - "integrity": "sha512-N2/SvodmaDS6h7CWfuapt3oJyn1T2CBz0CsDIiTDv9cSagXAVFjPdm2g4PFJqrNBeqdDIoYBnnta336HmamWHg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.930.0", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/middleware-user-agent": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.934.0.tgz", - "integrity": "sha512-68giGM2Zm9K6Qas14ws3Qo5wafpn0I8/L64fS9E6Rc6Tu0k+So73hupysw+9ZOzHwQS5FEBUqLOMtbUibAcjNA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/core": "3.934.0", - "@aws-sdk/types": "3.930.0", - "@aws-sdk/util-endpoints": "3.930.0", - "@smithy/core": "^3.18.2", - "@smithy/protocol-http": "^5.3.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/nested-clients": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.934.0.tgz", - "integrity": "sha512-kRO61EMrDR4UuPlKAkziG6urcYXlhrFW/Ce5PjWFdjkm0ZOge75OFV1vhf/vE4Pmoop9jaAONX4E5BaIYrIQfg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/sha256-browser": "5.2.0", - "@aws-crypto/sha256-js": "5.2.0", - "@aws-sdk/core": "3.934.0", - "@aws-sdk/middleware-host-header": "3.930.0", - "@aws-sdk/middleware-logger": "3.930.0", - "@aws-sdk/middleware-recursion-detection": "3.933.0", - "@aws-sdk/middleware-user-agent": "3.934.0", - "@aws-sdk/region-config-resolver": "3.930.0", - "@aws-sdk/types": "3.930.0", - "@aws-sdk/util-endpoints": "3.930.0", - "@aws-sdk/util-user-agent-browser": "3.930.0", - "@aws-sdk/util-user-agent-node": "3.934.0", - "@smithy/config-resolver": "^4.4.3", - "@smithy/core": "^3.18.2", - "@smithy/fetch-http-handler": "^5.3.6", - "@smithy/hash-node": "^4.2.5", - "@smithy/invalid-dependency": "^4.2.5", - "@smithy/middleware-content-length": "^4.2.5", - "@smithy/middleware-endpoint": "^4.3.9", - "@smithy/middleware-retry": "^4.4.9", - "@smithy/middleware-serde": "^4.2.5", - "@smithy/middleware-stack": "^4.2.5", - "@smithy/node-config-provider": "^4.3.5", - "@smithy/node-http-handler": "^4.4.5", - "@smithy/protocol-http": "^5.3.5", - "@smithy/smithy-client": "^4.9.5", - "@smithy/types": "^4.9.0", - "@smithy/url-parser": "^4.2.5", - "@smithy/util-base64": "^4.3.0", - "@smithy/util-body-length-browser": "^4.2.0", - "@smithy/util-body-length-node": "^4.2.1", - "@smithy/util-defaults-mode-browser": "^4.3.8", - "@smithy/util-defaults-mode-node": "^4.2.11", - "@smithy/util-endpoints": "^3.2.5", - "@smithy/util-middleware": "^4.2.5", - "@smithy/util-retry": "^4.2.5", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/region-config-resolver": { - "version": "3.930.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.930.0.tgz", - "integrity": "sha512-KL2JZqH6aYeQssu1g1KuWsReupdfOoxD6f1as2VC+rdwYFUu4LfzMsFfXnBvvQWWqQ7rZHWOw1T+o5gJmg7Dzw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.930.0", - "@smithy/config-resolver": "^4.4.3", - "@smithy/node-config-provider": "^4.3.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/signature-v4-multi-region": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.934.0.tgz", - "integrity": "sha512-cLphxVoHapSdouAdLSDEwR2Bktjg5dc11EpSpaLo8jcFpAXhFaDllKBfDfws0EqGY6N2CMqEjqPqxDFzmmQOQA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/middleware-sdk-s3": "3.934.0", - "@aws-sdk/types": "3.930.0", - "@smithy/protocol-http": "^5.3.5", - "@smithy/signature-v4": "^5.3.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/token-providers": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.934.0.tgz", - "integrity": "sha512-M0WEmgXDdUxapSfjplqJoVCBMcn0vQ5Jou0X/XiQwyVDbfvIyNSHUHyMXEIBAew9kVx9sfMMEYz3LXewvQxdCA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/core": "3.934.0", - "@aws-sdk/nested-clients": "3.934.0", - "@aws-sdk/types": "3.930.0", - "@smithy/property-provider": "^4.2.5", - "@smithy/shared-ini-file-loader": "^4.4.0", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/types": { - "version": "3.930.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.930.0.tgz", - "integrity": "sha512-we/vaAgwlEFW7IeftmCLlLMw+6hFs3DzZPJw7lVHbj/5HJ0bz9gndxEsS2lQoeJ1zhiiLqAqvXxmM43s0MBg0A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/util-arn-parser": { - "version": "3.893.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.893.0.tgz", - "integrity": "sha512-u8H4f2Zsi19DGnwj5FSZzDMhytYF/bCh37vAtBsn3cNDL3YG578X5oc+wSX54pM3tOxS+NY7tvOAo52SW7koUA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/util-endpoints": { - "version": "3.930.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.930.0.tgz", - "integrity": "sha512-M2oEKBzzNAYr136RRc6uqw3aWlwCxqTP1Lawps9E1d2abRPvl1p1ztQmmXp1Ak4rv8eByIZ+yQyKQ3zPdRG5dw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.930.0", - "@smithy/types": "^4.9.0", - "@smithy/url-parser": "^4.2.5", - "@smithy/util-endpoints": "^3.2.5", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/util-locate-window": { - "version": "3.893.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.893.0.tgz", - "integrity": "sha512-T89pFfgat6c8nMmpI8eKjBcDcgJq36+m9oiXbcUzeU55MP9ZuGgBomGjGnHaEyF36jenW9gmg3NfZDm0AO2XPg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws-sdk/util-user-agent-browser": { - "version": "3.930.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.930.0.tgz", - "integrity": "sha512-q6lCRm6UAe+e1LguM5E4EqM9brQlDem4XDcQ87NzEvlTW6GzmNCO0w1jS0XgCFXQHjDxjdlNFX+5sRbHijwklg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/types": "3.930.0", - "@smithy/types": "^4.9.0", - "bowser": "^2.11.0", - "tslib": "^2.6.2" - } - }, - "node_modules/@aws-sdk/util-user-agent-node": { - "version": "3.934.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.934.0.tgz", - "integrity": "sha512-vPRR4PaqNmuOQJSzq4EAVwFHUaSpPtgDgCEc7AYbArIy+59fckb6JNddlrjx4w4iWbqO0d+7OC5PtRcIk0AcZA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-sdk/middleware-user-agent": "3.934.0", - "@aws-sdk/types": "3.930.0", - "@smithy/node-config-provider": "^4.3.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "aws-crt": ">=1.0.0" - }, - "peerDependenciesMeta": { - "aws-crt": { - "optional": true - } - } - }, - "node_modules/@aws-sdk/xml-builder": { - "version": "3.930.0", - "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.930.0.tgz", - "integrity": "sha512-YIfkD17GocxdmlUVc3ia52QhcWuRIUJonbF8A2CYfcWNV3HzvAqpcPeC0bYUhkK+8e8YO1ARnLKZQE0TlwzorA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.9.0", - "fast-xml-parser": "5.2.5", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@aws/lambda-invoke-store": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@aws/lambda-invoke-store/-/lambda-invoke-store-0.2.0.tgz", - "integrity": "sha512-D1jAmAZQYMoPiacfgNf7AWhg3DFN3Wq/vQv3WINt9znwjzHp2x+WzdJFxxj7xZL7V1U79As6G8f7PorMYWBKsQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=18.0.0" + "globals": "^15.9.0", + "sass": "^1.77.8" } }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, - "license": "MIT", "dependencies": { - "eslint-visitor-keys": "^3.4.3" + "eslint-visitor-keys": "^3.3.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "funding": { - "url": "https://opencollective.com/eslint" - }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } @@ -951,7 +34,6 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, @@ -960,23 +42,21 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, - "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.17.1.tgz", + "integrity": "sha512-BlYOpej8AQ8Ev9xVqroV7a02JK3SkBAaN9GfMMH9W6Ch8FlQlkjGw4Ir7+FgYwfirivAf4t+GtzuAxqfukmISA==", "dev": true, - "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^2.1.7", + "@eslint/object-schema": "^2.1.4", "debug": "^4.3.1", "minimatch": "^3.1.2" }, @@ -984,62 +64,11 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint/config-array/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", - "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.17.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, "node_modules/@eslint/eslintrc": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", - "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", + "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", "dev": true, - "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -1058,23 +87,11 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, "node_modules/@eslint/eslintrc/node_modules/globals": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=18" }, @@ -1082,70 +99,37 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@eslint/js": { - "version": "9.39.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz", - "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.8.0.tgz", + "integrity": "sha512-MfluB7EUfxXtv3i/++oh89uzAr4PDI4nn201hsp+qaXqsjAWzinlZEHEfPgAX4doIlKvPG/i0A9dpKxOLII8yA==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" } }, "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", + "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", - "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@eslint/core": "^0.17.0", - "levn": "^0.4.1" - }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@foundryvtt/foundryvtt-cli": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@foundryvtt/foundryvtt-cli/-/foundryvtt-cli-1.1.0.tgz", - "integrity": "sha512-ergKZDUSgQ79168r38ORyN4v/UTliA40rxElaUh5iS27Qw9H8Ep/ll8j3/HfiikO3XUDwYxZLfDJfbcyj2i9TQ==", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@foundryvtt/foundryvtt-cli/-/foundryvtt-cli-1.0.3.tgz", + "integrity": "sha512-M8NrMXFYpOEsLAbgRWfuMvUa9F6HwrROLtqhhBljqfVS1lgm0RJJY/7MObuXsTJOC6+Uu+QOPZTlw4k+hguG7w==", "dev": true, - "license": "MIT", "dependencies": { - "chalk": "^5.4.1", - "classic-level": "^1.4.1", + "chalk": "^5.2.0", + "classic-level": "^1.2.0", "esm": "^3.2.25", "js-yaml": "^4.1.0", - "mkdirp": "^3.0.1", - "nedb-promises": "^6.2.3", - "yargs": "^17.7.2" + "mkdirp": "^3.0.0", + "nedb-promises": "^6.2.1", + "yargs": "^17.7.1" }, "bin": { "fvtt": "fvtt.mjs" @@ -1154,28 +138,16 @@ "node": ">17.0.0" } }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "node_modules/@foundryvtt/foundryvtt-cli/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", "dev": true, - "license": "Apache-2.0", "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, - "engines": { - "node": ">=18.18.0" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, "node_modules/@humanwhocodes/module-importer": { @@ -1183,7 +155,6 @@ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=12.22" }, @@ -1193,11 +164,10 @@ } }, "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.0.tgz", + "integrity": "sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=18.18" }, @@ -1206,12 +176,27 @@ "url": "https://github.com/sponsors/nzakas" } }, + "node_modules/@league-of-foundry-developers/foundry-vtt-types": { + "version": "9.280.0", + "resolved": "https://registry.npmjs.org/@league-of-foundry-developers/foundry-vtt-types/-/foundry-vtt-types-9.280.0.tgz", + "integrity": "sha512-Dv8/+kgAnI2F5snSWcnMnZsgO/87AFyBruflluZkWDbP7Pm5qi32GlNYCDEg7HMKybzyKmgLV2qXMmYPHtCT7w==", + "dev": true, + "dependencies": { + "@pixi/graphics-smooth": "0.0.22", + "@types/jquery": "~3.5.9", + "@types/simple-peer": "~9.11.1", + "handlebars": "4.7.7", + "pixi-particles": "4.3.1", + "pixi.js": "5.3.11", + "socket.io-client": "4.3.2", + "tinymce": "5.10.1" + } + }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -1225,7 +210,6 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } @@ -1235,7 +219,6 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -1244,6 +227,2133 @@ "node": ">= 8" } }, + "node_modules/@pixi/accessibility": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/accessibility/-/accessibility-5.3.11.tgz", + "integrity": "sha512-/oSizd8/g6KUCeAlknMLJ9CRxBt+vWs6e2DrOctMoRupEHcmhICCjIyAp5GF6RZy9T9gNHDOU5p7vo7qEyVxgQ==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/accessibility/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/accessibility/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/accessibility/node_modules/@pixi/display": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.3.11.tgz", + "integrity": "sha512-rxUyB+RMJ7esEa11HdvzsularDGkYlRqpUn1ju9ZsRuB/Qo9JiVolywvWGSWxN/WnDGfrU2GjDpq9id10nwiag==", + "dev": true, + "dependencies": { + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/accessibility/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/accessibility/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/accessibility/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/accessibility/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/accessibility/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/app": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/app/-/app-5.3.11.tgz", + "integrity": "sha512-ZWrOjGvVl+lK5OJQT3OqSnSRtU2XgQSe/ULg2uGsSWUqMkJews33JIGOjvk4tIsjm4ekSKiPZRMdYFHzPfgEJg==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11" + } + }, + "node_modules/@pixi/app/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/app/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/app/node_modules/@pixi/display": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.3.11.tgz", + "integrity": "sha512-rxUyB+RMJ7esEa11HdvzsularDGkYlRqpUn1ju9ZsRuB/Qo9JiVolywvWGSWxN/WnDGfrU2GjDpq9id10nwiag==", + "dev": true, + "dependencies": { + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/app/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/app/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/app/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/app/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/app/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/constants": { + "version": "6.5.10", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-6.5.10.tgz", + "integrity": "sha512-PUF2Y9YISRu5eVrVVHhHCWpc/KmxQTg3UH8rIUs8UI9dCK41/wsPd3pEahzf7H47v7x1HCohVZcFO3XQc1bUDw==", + "dev": true, + "peer": true + }, + "node_modules/@pixi/core": { + "version": "6.5.10", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-6.5.10.tgz", + "integrity": "sha512-Gdzp5ENypyglvsh5Gv3teUZnZnmizo4xOsL+QqmWALdFlJXJwLJMVhKVThV/q/095XR6i4Ou54oshn+m4EkuFw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/offscreencanvas": "^2019.6.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + }, + "peerDependencies": { + "@pixi/constants": "6.5.10", + "@pixi/extensions": "6.5.10", + "@pixi/math": "6.5.10", + "@pixi/runner": "6.5.10", + "@pixi/settings": "6.5.10", + "@pixi/ticker": "6.5.10", + "@pixi/utils": "6.5.10" + } + }, + "node_modules/@pixi/display": { + "version": "6.5.10", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-6.5.10.tgz", + "integrity": "sha512-NxFdDDxlbH5fQkzGHraLGoTMucW9pVgXqQm13TSmkA3NWIi/SItHL4qT2SI8nmclT9Vid1VDEBCJFAbdeuQw1Q==", + "dev": true, + "peer": true, + "peerDependencies": { + "@pixi/constants": "6.5.10", + "@pixi/math": "6.5.10", + "@pixi/settings": "6.5.10", + "@pixi/utils": "6.5.10" + } + }, + "node_modules/@pixi/extensions": { + "version": "6.5.10", + "resolved": "https://registry.npmjs.org/@pixi/extensions/-/extensions-6.5.10.tgz", + "integrity": "sha512-EIUGza+E+sCy3dupuIjvRK/WyVyfSzHb5XsxRaxNrPwvG1iIUIqNqZ3owLYCo4h17fJWrj/yXVufNNtUKQccWQ==", + "dev": true, + "peer": true + }, + "node_modules/@pixi/extract": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/extract/-/extract-5.3.11.tgz", + "integrity": "sha512-YeBrpIO3E5HUgcdKEldCUqwwDNHm5OBe98YFcdLr5Z0+dQaHnxp9Dm4n75/NojoGb5guYdrV00x+gU2UPHsVdw==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/extract/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/extract/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/extract/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/extract/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/extract/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/extract/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/extract/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/filter-alpha": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/filter-alpha/-/filter-alpha-5.3.11.tgz", + "integrity": "sha512-HC4PbiEqDWSi3A715av7knFqD3knSXRxPJKG9mWat2CU9eCizSw+JxXp/okMU/fL4ewooiqQWVU2l1wXOHhVFw==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11" + } + }, + "node_modules/@pixi/filter-alpha/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/filter-alpha/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/filter-alpha/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/filter-alpha/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/filter-alpha/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/filter-alpha/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/filter-alpha/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/filter-blur": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/filter-blur/-/filter-blur-5.3.11.tgz", + "integrity": "sha512-iW5cOMEcDiJidOV95bUfhxdcvwM9JzCoWAd+92gAie8L+ElRSHpu1jxXbKHjo/QczQV1LulOlheyDaJNpaBCDg==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11", + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/filter-blur/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/filter-blur/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/filter-blur/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/filter-blur/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/filter-blur/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/filter-blur/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/filter-blur/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/filter-color-matrix": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/filter-color-matrix/-/filter-color-matrix-5.3.11.tgz", + "integrity": "sha512-u9NT4+N1I3XV9ygwsmF8/jIwCLqNCLeFOdM4f73kbw/UmakZZ6i6xjjJMc5YFUpC25qDr1TFlqgdGGGHAPl4ug==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11" + } + }, + "node_modules/@pixi/filter-color-matrix/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/filter-color-matrix/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/filter-color-matrix/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/filter-color-matrix/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/filter-color-matrix/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/filter-color-matrix/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/filter-color-matrix/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/filter-displacement": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/filter-displacement/-/filter-displacement-5.3.11.tgz", + "integrity": "sha512-CTIy7C/L9I1X3VNx4nMzQbMFvznsGk2viQh0dSo8r5NLgmaAdxhkGI0KUpNjLBz30278tzFfNuRe59K1y1kHuw==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11", + "@pixi/math": "5.3.11" + } + }, + "node_modules/@pixi/filter-displacement/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/filter-displacement/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/filter-displacement/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/filter-displacement/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/filter-displacement/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/filter-displacement/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/filter-displacement/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/filter-fxaa": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/filter-fxaa/-/filter-fxaa-5.3.11.tgz", + "integrity": "sha512-0ahjui5385e1vRvd7zCc0n5W8ULtNI1uVbDJHP9ueeiF25TKC0GqtZzntNwrQPoU46q8zXdnIGjzMpikbbAasg==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11" + } + }, + "node_modules/@pixi/filter-fxaa/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/filter-fxaa/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/filter-fxaa/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/filter-fxaa/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/filter-fxaa/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/filter-fxaa/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/filter-fxaa/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/filter-noise": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/filter-noise/-/filter-noise-5.3.11.tgz", + "integrity": "sha512-98WC9Nd5u2F03Ned9T3vnbmO/YF1jLSioZ623z9wjqpd5DosZgRtYTSGxjVcXTSfpviIuiJpkyF+X097pbVprg==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11" + } + }, + "node_modules/@pixi/filter-noise/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/filter-noise/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/filter-noise/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/filter-noise/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/filter-noise/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/filter-noise/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/filter-noise/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/graphics": { + "version": "6.5.10", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-6.5.10.tgz", + "integrity": "sha512-KPHGJ910fi8bRQQ+VcTIgrK+bKIm8yAQaZKPqMtm14HzHPGcES6HkgeNY1sd7m8J4aS9btm5wOSyFu0p5IzTpA==", + "dev": true, + "peer": true, + "peerDependencies": { + "@pixi/constants": "6.5.10", + "@pixi/core": "6.5.10", + "@pixi/display": "6.5.10", + "@pixi/math": "6.5.10", + "@pixi/sprite": "6.5.10", + "@pixi/utils": "6.5.10" + } + }, + "node_modules/@pixi/graphics-smooth": { + "version": "0.0.22", + "resolved": "https://registry.npmjs.org/@pixi/graphics-smooth/-/graphics-smooth-0.0.22.tgz", + "integrity": "sha512-qq2u+BJBIDBuuSTc2Xzm1D/8RiiKBdxnVDiMb7Go5v8achnV5ctC6m+rf8Mq0sWm66mbOqu1aq/9efT4A4sPrA==", + "dev": true, + "engines": { + "node": ">=14", + "npm": ">=7" + }, + "peerDependencies": { + "@pixi/constants": "^6.0.4", + "@pixi/core": "^6.0.4", + "@pixi/display": "^6.0.4", + "@pixi/graphics": "^6.0.4", + "@pixi/math": "^6.0.4", + "@pixi/utils": "^6.0.4" + } + }, + "node_modules/@pixi/interaction": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/interaction/-/interaction-5.3.11.tgz", + "integrity": "sha512-n2K99CYyBcrf8NPxpzmZ5IlJ9TEplsSZfJ/uzMNOEnTObKl4wAhxs51Nb58raH3Ouzwu14YHOpqYrBTEoT1yPA==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/interaction/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/interaction/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/interaction/node_modules/@pixi/display": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.3.11.tgz", + "integrity": "sha512-rxUyB+RMJ7esEa11HdvzsularDGkYlRqpUn1ju9ZsRuB/Qo9JiVolywvWGSWxN/WnDGfrU2GjDpq9id10nwiag==", + "dev": true, + "dependencies": { + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/interaction/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/interaction/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/interaction/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/interaction/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/interaction/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/loaders": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/loaders/-/loaders-5.3.11.tgz", + "integrity": "sha512-1HAeb/NFXyhNhZWAbVkngsTPBGpjZEPhQflBTrKycRaub7XDSZ8F0fwPltpKKVRWNDT+HBgU/zDNE2fpjzqfYg==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11", + "@pixi/utils": "5.3.11", + "resource-loader": "^3.0.1" + } + }, + "node_modules/@pixi/loaders/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/loaders/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/loaders/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/loaders/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/loaders/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/loaders/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/loaders/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/math": { + "version": "6.5.10", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-6.5.10.tgz", + "integrity": "sha512-fxeu7ykVbMGxGV2S3qRTupHToeo1hdWBm8ihyURn3BMqJZe2SkZEECPd5RyvIuuNUtjRnmhkZRnF3Jsz2S+L0g==", + "dev": true, + "peer": true + }, + "node_modules/@pixi/mesh": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/mesh/-/mesh-5.3.11.tgz", + "integrity": "sha512-KWKKksEr0YuUX1uz1FmpIa/Y37b/0pvFUS+87LoyYq0mRtGbKsTY5i3lBPG/taHwN7a2DQAX3JZpw6yhGKoGpA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/mesh-extras": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/mesh-extras/-/mesh-extras-5.3.11.tgz", + "integrity": "sha512-1GTCMMUW1xv/72x26cxRysblBXW0wU77TNgqtSIMZ1M6JbleObChklWTvwi9MzQO2vQ3S6Hvcsa5m5EiM2hSPQ==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/core": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/mesh": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/mesh-extras/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/mesh-extras/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/mesh-extras/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/mesh-extras/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/mesh-extras/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/mesh-extras/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/mesh-extras/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/mesh/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/mesh/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/mesh/node_modules/@pixi/display": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.3.11.tgz", + "integrity": "sha512-rxUyB+RMJ7esEa11HdvzsularDGkYlRqpUn1ju9ZsRuB/Qo9JiVolywvWGSWxN/WnDGfrU2GjDpq9id10nwiag==", + "dev": true, + "dependencies": { + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/mesh/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/mesh/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/mesh/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/mesh/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/mesh/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/mixin-cache-as-bitmap": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/mixin-cache-as-bitmap/-/mixin-cache-as-bitmap-5.3.11.tgz", + "integrity": "sha512-uQUxatGTTD5zfQ0pWdjibVjT+xEEZJ/xZDZtm/GxC7HSHd4jgoJBcTXWVhbhzwpLPVTnD8+sMnRrGlhoKcpTpQ==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/sprite": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/mixin-cache-as-bitmap/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/mixin-cache-as-bitmap/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/mixin-cache-as-bitmap/node_modules/@pixi/display": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.3.11.tgz", + "integrity": "sha512-rxUyB+RMJ7esEa11HdvzsularDGkYlRqpUn1ju9ZsRuB/Qo9JiVolywvWGSWxN/WnDGfrU2GjDpq9id10nwiag==", + "dev": true, + "dependencies": { + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/mixin-cache-as-bitmap/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/mixin-cache-as-bitmap/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/mixin-cache-as-bitmap/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/mixin-cache-as-bitmap/node_modules/@pixi/sprite": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.3.11.tgz", + "integrity": "sha512-RM6Sp8kqzsBdX/hDAO25HZywe9VU4uhOronUOQ5Ve0zRe+trdBWQYfi7+5kAcvzqkp25Izc0C+e+4YCqe5OaHQ==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/mixin-cache-as-bitmap/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/mixin-cache-as-bitmap/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/mixin-get-child-by-name": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-child-by-name/-/mixin-get-child-by-name-5.3.11.tgz", + "integrity": "sha512-fWFVxWtMYcwJttrgDNmZ4CJrx316p8ToNliC2ILmJZW77me7I4GzJ57gSHQU1xFwdHoOYRC4fnlrZoK5qJ9lDw==", + "dev": true, + "dependencies": { + "@pixi/display": "5.3.11" + } + }, + "node_modules/@pixi/mixin-get-child-by-name/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/mixin-get-child-by-name/node_modules/@pixi/display": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.3.11.tgz", + "integrity": "sha512-rxUyB+RMJ7esEa11HdvzsularDGkYlRqpUn1ju9ZsRuB/Qo9JiVolywvWGSWxN/WnDGfrU2GjDpq9id10nwiag==", + "dev": true, + "dependencies": { + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/mixin-get-child-by-name/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/mixin-get-child-by-name/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/mixin-get-child-by-name/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/mixin-get-global-position": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/mixin-get-global-position/-/mixin-get-global-position-5.3.11.tgz", + "integrity": "sha512-wrS9i+UUodLM5XL2N0Y+XSKiqLRdJV3ltFUWG6+jPT5yoP0HsKtx3sFAzX526RwIYwRzRusbc/quxHfRA4tvgg==", + "dev": true, + "dependencies": { + "@pixi/display": "5.3.11", + "@pixi/math": "5.3.11" + } + }, + "node_modules/@pixi/mixin-get-global-position/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/mixin-get-global-position/node_modules/@pixi/display": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.3.11.tgz", + "integrity": "sha512-rxUyB+RMJ7esEa11HdvzsularDGkYlRqpUn1ju9ZsRuB/Qo9JiVolywvWGSWxN/WnDGfrU2GjDpq9id10nwiag==", + "dev": true, + "dependencies": { + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/mixin-get-global-position/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/mixin-get-global-position/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/mixin-get-global-position/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/particles": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/particles/-/particles-5.3.11.tgz", + "integrity": "sha512-+mkt/inWXtRrxQc07RZ29uNIDWV1oMsrRBVBIvHgpR92Kn8EjIDRgoSXNu0jiZ18gRKKCBhwsS4dCXGsZRQ/sA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/particles/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/particles/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/particles/node_modules/@pixi/display": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.3.11.tgz", + "integrity": "sha512-rxUyB+RMJ7esEa11HdvzsularDGkYlRqpUn1ju9ZsRuB/Qo9JiVolywvWGSWxN/WnDGfrU2GjDpq9id10nwiag==", + "dev": true, + "dependencies": { + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/particles/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/particles/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/particles/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/particles/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/particles/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/polyfill": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/polyfill/-/polyfill-5.3.11.tgz", + "integrity": "sha512-yQOngcnn+2/L7n6L/g45hCnIDLWdnWmmcCY3UKJrOgbNX+JtLru1RR8AGLifkdsa0R5u48x584YQGqkTAChWVA==", + "dev": true, + "dependencies": { + "es6-promise-polyfill": "^1.2.0", + "object-assign": "^4.1.1" + } + }, + "node_modules/@pixi/prepare": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/prepare/-/prepare-5.3.11.tgz", + "integrity": "sha512-TvjGeg7xPKjv5NxbM5NXReno9yxUCw/N0HtDEtEFRVeBLN3u0Q/dZsXxL6gIvkHoS09NFW+7AwsYQLZrVbppjA==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/graphics": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/text": "5.3.11", + "@pixi/ticker": "5.3.11" + } + }, + "node_modules/@pixi/prepare/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/prepare/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/prepare/node_modules/@pixi/display": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.3.11.tgz", + "integrity": "sha512-rxUyB+RMJ7esEa11HdvzsularDGkYlRqpUn1ju9ZsRuB/Qo9JiVolywvWGSWxN/WnDGfrU2GjDpq9id10nwiag==", + "dev": true, + "dependencies": { + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/prepare/node_modules/@pixi/graphics": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-5.3.11.tgz", + "integrity": "sha512-HLu53LV6mRlY0uFSIM2OrCuL7xqXzeJs5d2QfmUJfKJVVZ9sbHDS+6/N/f0tXzvkRPYhSKXvcNPsNn4HmlIE9w==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/sprite": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/prepare/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/prepare/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/prepare/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/prepare/node_modules/@pixi/sprite": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.3.11.tgz", + "integrity": "sha512-RM6Sp8kqzsBdX/hDAO25HZywe9VU4uhOronUOQ5Ve0zRe+trdBWQYfi7+5kAcvzqkp25Izc0C+e+4YCqe5OaHQ==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/prepare/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/prepare/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/runner": { + "version": "6.5.10", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-6.5.10.tgz", + "integrity": "sha512-4HiHp6diCmigJT/DSbnqQP62OfWKmZB7zPWMdV1AEdr4YT1QxzXAW1wHg7dkoEfyTHqZKl0tm/zcqKq/iH7tMA==", + "dev": true, + "peer": true + }, + "node_modules/@pixi/settings": { + "version": "6.5.10", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-6.5.10.tgz", + "integrity": "sha512-ypAS5L7pQ2Qb88yQK72bXtc7sD8OrtLWNXdZ/gnw5kwSWCFaOSoqhKqJCXrR5DQtN98+RQefwbEAmMvqobhFyw==", + "dev": true, + "peer": true, + "peerDependencies": { + "@pixi/constants": "6.5.10" + } + }, + "node_modules/@pixi/sprite": { + "version": "6.5.10", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-6.5.10.tgz", + "integrity": "sha512-UiK+8LgM9XQ/SBDKjRgZ8WggdOSlFRXqiWjEZVmNkiyU8HvXeFzWPRhpc8RR1zDwAUhZWKtMhF8X/ba9m+z2lg==", + "dev": true, + "peer": true, + "peerDependencies": { + "@pixi/constants": "6.5.10", + "@pixi/core": "6.5.10", + "@pixi/display": "6.5.10", + "@pixi/math": "6.5.10", + "@pixi/settings": "6.5.10", + "@pixi/utils": "6.5.10" + } + }, + "node_modules/@pixi/sprite-animated": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/sprite-animated/-/sprite-animated-5.3.11.tgz", + "integrity": "sha512-xU1b6H8nJ1l05h7cBGw2DGo4QdLj7xootstZUx2BrTVX5ZENn5mjAGVD0uRpk8yt7Q6Bj7M+PS7ktzAgBW/hmQ==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11", + "@pixi/sprite": "5.3.11", + "@pixi/ticker": "5.3.11" + } + }, + "node_modules/@pixi/sprite-animated/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/sprite-animated/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/sprite-animated/node_modules/@pixi/display": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.3.11.tgz", + "integrity": "sha512-rxUyB+RMJ7esEa11HdvzsularDGkYlRqpUn1ju9ZsRuB/Qo9JiVolywvWGSWxN/WnDGfrU2GjDpq9id10nwiag==", + "dev": true, + "dependencies": { + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/sprite-animated/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/sprite-animated/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/sprite-animated/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/sprite-animated/node_modules/@pixi/sprite": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.3.11.tgz", + "integrity": "sha512-RM6Sp8kqzsBdX/hDAO25HZywe9VU4uhOronUOQ5Ve0zRe+trdBWQYfi7+5kAcvzqkp25Izc0C+e+4YCqe5OaHQ==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/sprite-animated/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/sprite-animated/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/sprite-tiling": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/sprite-tiling/-/sprite-tiling-5.3.11.tgz", + "integrity": "sha512-KUiWsIumjrnp9QKGMe1BqtrV9Hxm91KoaiOlCBk/gw8753iKvuMmH+/Z0RnzeZylJ1sJsdonTWy/IaLi1jnd0g==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/sprite": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/sprite-tiling/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/sprite-tiling/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/sprite-tiling/node_modules/@pixi/display": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.3.11.tgz", + "integrity": "sha512-rxUyB+RMJ7esEa11HdvzsularDGkYlRqpUn1ju9ZsRuB/Qo9JiVolywvWGSWxN/WnDGfrU2GjDpq9id10nwiag==", + "dev": true, + "dependencies": { + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/sprite-tiling/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/sprite-tiling/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/sprite-tiling/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/sprite-tiling/node_modules/@pixi/sprite": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.3.11.tgz", + "integrity": "sha512-RM6Sp8kqzsBdX/hDAO25HZywe9VU4uhOronUOQ5Ve0zRe+trdBWQYfi7+5kAcvzqkp25Izc0C+e+4YCqe5OaHQ==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/sprite-tiling/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/sprite-tiling/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/spritesheet": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/spritesheet/-/spritesheet-5.3.11.tgz", + "integrity": "sha512-Y9Wiwcz/YOuS1v73Ij9KWQakYBzZfldEy3H8T4GPLK+S19/sypntdkNtRZbmR2wWfhJ4axYEB2/Df86aOAU2qA==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11", + "@pixi/loaders": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/spritesheet/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/spritesheet/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/spritesheet/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/spritesheet/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/spritesheet/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/spritesheet/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/spritesheet/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/text": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/text/-/text-5.3.11.tgz", + "integrity": "sha512-PmWvJv0wiKyyz3fahnxM19+m8IbF2vpDKIImqb5472WyxRGzKyVBW90xrADf5202tdKMk4b8hqvpof2XULr5PA==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/sprite": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/text-bitmap": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/text-bitmap/-/text-bitmap-5.3.11.tgz", + "integrity": "sha512-Bjc/G4VHaPXc9HJsvyYOm5cNTHdqmX6AgzBAlCfltuMAlnveUgUPuX8D/MJHRRnoVSDHSmCBtnJgTc0y/nIeCw==", + "dev": true, + "dependencies": { + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/loaders": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/mesh": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/text": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/text-bitmap/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/text-bitmap/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/text-bitmap/node_modules/@pixi/display": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.3.11.tgz", + "integrity": "sha512-rxUyB+RMJ7esEa11HdvzsularDGkYlRqpUn1ju9ZsRuB/Qo9JiVolywvWGSWxN/WnDGfrU2GjDpq9id10nwiag==", + "dev": true, + "dependencies": { + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/text-bitmap/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/text-bitmap/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/text-bitmap/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/text-bitmap/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/text-bitmap/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/text/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/@pixi/text/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/@pixi/text/node_modules/@pixi/display": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.3.11.tgz", + "integrity": "sha512-rxUyB+RMJ7esEa11HdvzsularDGkYlRqpUn1ju9ZsRuB/Qo9JiVolywvWGSWxN/WnDGfrU2GjDpq9id10nwiag==", + "dev": true, + "dependencies": { + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/text/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/@pixi/text/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/@pixi/text/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/@pixi/text/node_modules/@pixi/sprite": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.3.11.tgz", + "integrity": "sha512-RM6Sp8kqzsBdX/hDAO25HZywe9VU4uhOronUOQ5Ve0zRe+trdBWQYfi7+5kAcvzqkp25Izc0C+e+4YCqe5OaHQ==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/@pixi/text/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/@pixi/text/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/@pixi/ticker": { + "version": "6.5.10", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-6.5.10.tgz", + "integrity": "sha512-UqX1XYtzqFSirmTOy8QAK4Ccg4KkIZztrBdRPKwFSOEiKAJoGDCSBmyQBo/9aYQKGObbNnrJ7Hxv3/ucg3/1GA==", + "dev": true, + "peer": true, + "peerDependencies": { + "@pixi/extensions": "6.5.10", + "@pixi/settings": "6.5.10" + } + }, + "node_modules/@pixi/utils": { + "version": "6.5.10", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-6.5.10.tgz", + "integrity": "sha512-4f4qDMmAz9IoSAe08G2LAxUcEtG9jSdudfsMQT2MG+OpfToirboE6cNoO0KnLCvLzDVE/mfisiQ9uJbVA9Ssdw==", + "dev": true, + "peer": true, + "dependencies": { + "@types/earcut": "^2.1.0", + "earcut": "^2.2.4", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + }, + "peerDependencies": { + "@pixi/constants": "6.5.10", + "@pixi/settings": "6.5.10" + } + }, "node_modules/@seald-io/binary-search-tree": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@seald-io/binary-search-tree/-/binary-search-tree-1.0.3.tgz", @@ -1251,810 +2361,67 @@ "dev": true }, "node_modules/@seald-io/nedb": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/@seald-io/nedb/-/nedb-4.1.2.tgz", - "integrity": "sha512-bDr6TqjBVS2rDyYM9CPxAnotj5FuNL9NF8o7h7YyFXM7yruqT4ddr+PkSb2mJvvw991bqdftazkEo38gykvaww==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@seald-io/nedb/-/nedb-4.0.4.tgz", + "integrity": "sha512-CUNcMio7QUHTA+sIJ/DC5JzVNNsHe743TPmC4H5Gij9zDLMbmrCT2li3eVB72/gF63BPS8pWEZrjlAMRKA8FDw==", "dev": true, - "license": "MIT", "dependencies": { "@seald-io/binary-search-tree": "^1.0.3", - "localforage": "^1.10.0", - "util": "^0.12.5" + "localforage": "^1.9.0", + "util": "^0.12.4" } }, - "node_modules/@smithy/abort-controller": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.2.5.tgz", - "integrity": "sha512-j7HwVkBw68YW8UmFRcjZOmssE77Rvk0GWAIN1oFBhsaovQmZWYCIcGa9/pwRB0ExI8Sk9MWNALTjftjHZea7VA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/chunked-blob-reader": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-5.2.0.tgz", - "integrity": "sha512-WmU0TnhEAJLWvfSeMxBNe5xtbselEO8+4wG0NtZeL8oR21WgH1xiO37El+/Y+H/Ie4SCwBy3MxYWmOYaGgZueA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/chunked-blob-reader-native": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-4.2.1.tgz", - "integrity": "sha512-lX9Ay+6LisTfpLid2zZtIhSEjHMZoAR5hHCR4H7tBz/Zkfr5ea8RcQ7Tk4mi0P76p4cN+Btz16Ffno7YHpKXnQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-base64": "^4.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/config-resolver": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.4.3.tgz", - "integrity": "sha512-ezHLe1tKLUxDJo2LHtDuEDyWXolw8WGOR92qb4bQdWq/zKenO5BvctZGrVJBK08zjezSk7bmbKFOXIVyChvDLw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/node-config-provider": "^4.3.5", - "@smithy/types": "^4.9.0", - "@smithy/util-config-provider": "^4.2.0", - "@smithy/util-endpoints": "^3.2.5", - "@smithy/util-middleware": "^4.2.5", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/core": { - "version": "3.18.4", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.18.4.tgz", - "integrity": "sha512-o5tMqPZILBvvROfC8vC+dSVnWJl9a0u9ax1i1+Bq8515eYjUJqqk5XjjEsDLoeL5dSqGSh6WGdVx1eJ1E/Nwhw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/middleware-serde": "^4.2.6", - "@smithy/protocol-http": "^5.3.5", - "@smithy/types": "^4.9.0", - "@smithy/util-base64": "^4.3.0", - "@smithy/util-body-length-browser": "^4.2.0", - "@smithy/util-middleware": "^4.2.5", - "@smithy/util-stream": "^4.5.6", - "@smithy/util-utf8": "^4.2.0", - "@smithy/uuid": "^1.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/credential-provider-imds": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.2.5.tgz", - "integrity": "sha512-BZwotjoZWn9+36nimwm/OLIcVe+KYRwzMjfhd4QT7QxPm9WY0HiOV8t/Wlh+HVUif0SBVV7ksq8//hPaBC/okQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/node-config-provider": "^4.3.5", - "@smithy/property-provider": "^4.2.5", - "@smithy/types": "^4.9.0", - "@smithy/url-parser": "^4.2.5", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/eventstream-codec": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-4.2.5.tgz", - "integrity": "sha512-Ogt4Zi9hEbIP17oQMd68qYOHUzmH47UkK7q7Gl55iIm9oKt27MUGrC5JfpMroeHjdkOliOA4Qt3NQ1xMq/nrlA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@aws-crypto/crc32": "5.2.0", - "@smithy/types": "^4.9.0", - "@smithy/util-hex-encoding": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/eventstream-serde-browser": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-4.2.5.tgz", - "integrity": "sha512-HohfmCQZjppVnKX2PnXlf47CW3j92Ki6T/vkAT2DhBR47e89pen3s4fIa7otGTtrVxmj7q+IhH0RnC5kpR8wtw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/eventstream-serde-universal": "^4.2.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/eventstream-serde-config-resolver": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-4.3.5.tgz", - "integrity": "sha512-ibjQjM7wEXtECiT6my1xfiMH9IcEczMOS6xiCQXoUIYSj5b1CpBbJ3VYbdwDy8Vcg5JHN7eFpOCGk8nyZAltNQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/eventstream-serde-node": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-4.2.5.tgz", - "integrity": "sha512-+elOuaYx6F2H6x1/5BQP5ugv12nfJl66GhxON8+dWVUEDJ9jah/A0tayVdkLRP0AeSac0inYkDz5qBFKfVp2Gg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/eventstream-serde-universal": "^4.2.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/eventstream-serde-universal": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-4.2.5.tgz", - "integrity": "sha512-G9WSqbST45bmIFaeNuP/EnC19Rhp54CcVdX9PDL1zyEB514WsDVXhlyihKlGXnRycmHNmVv88Bvvt4EYxWef/Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/eventstream-codec": "^4.2.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/fetch-http-handler": { - "version": "5.3.6", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.6.tgz", - "integrity": "sha512-3+RG3EA6BBJ/ofZUeTFJA7mHfSYrZtQIrDP9dI8Lf7X6Jbos2jptuLrAAteDiFVrmbEmLSuRG/bUKzfAXk7dhg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/protocol-http": "^5.3.5", - "@smithy/querystring-builder": "^4.2.5", - "@smithy/types": "^4.9.0", - "@smithy/util-base64": "^4.3.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/hash-blob-browser": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-4.2.6.tgz", - "integrity": "sha512-8P//tA8DVPk+3XURk2rwcKgYwFvwGwmJH/wJqQiSKwXZtf/LiZK+hbUZmPj/9KzM+OVSwe4o85KTp5x9DUZTjw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/chunked-blob-reader": "^5.2.0", - "@smithy/chunked-blob-reader-native": "^4.2.1", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/hash-node": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.2.5.tgz", - "integrity": "sha512-DpYX914YOfA3UDT9CN1BM787PcHfWRBB43fFGCYrZFUH0Jv+5t8yYl+Pd5PW4+QzoGEDvn5d5QIO4j2HyYZQSA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.9.0", - "@smithy/util-buffer-from": "^4.2.0", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/hash-stream-node": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-4.2.5.tgz", - "integrity": "sha512-6+do24VnEyvWcGdHXomlpd0m8bfZePpUKBy7m311n+JuRwug8J4dCanJdTymx//8mi0nlkflZBvJe+dEO/O12Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.9.0", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/invalid-dependency": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.2.5.tgz", - "integrity": "sha512-2L2erASEro1WC5nV+plwIMxrTXpvpfzl4e+Nre6vBVRR2HKeGGcvpJyyL3/PpiSg+cJG2KpTmZmq934Olb6e5A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/is-array-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.2.0.tgz", - "integrity": "sha512-DZZZBvC7sjcYh4MazJSGiWMI2L7E0oCiRHREDzIxi/M2LY79/21iXt6aPLHge82wi5LsuRF5A06Ds3+0mlh6CQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/md5-js": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-4.2.5.tgz", - "integrity": "sha512-Bt6jpSTMWfjCtC0s79gZ/WZ1w90grfmopVOWqkI2ovhjpD5Q2XRXuecIPB9689L2+cCySMbaXDhBPU56FKNDNg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.9.0", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/middleware-content-length": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.2.5.tgz", - "integrity": "sha512-Y/RabVa5vbl5FuHYV2vUCwvh/dqzrEY/K2yWPSqvhFUwIY0atLqO4TienjBXakoy4zrKAMCZwg+YEqmH7jaN7A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/protocol-http": "^5.3.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/middleware-endpoint": { - "version": "4.3.11", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.3.11.tgz", - "integrity": "sha512-eJXq9VJzEer1W7EQh3HY2PDJdEcEUnv6sKuNt4eVjyeNWcQFS4KmnY+CKkYOIR6tSqarn6bjjCqg1UB+8UJiPQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/core": "^3.18.4", - "@smithy/middleware-serde": "^4.2.6", - "@smithy/node-config-provider": "^4.3.5", - "@smithy/shared-ini-file-loader": "^4.4.0", - "@smithy/types": "^4.9.0", - "@smithy/url-parser": "^4.2.5", - "@smithy/util-middleware": "^4.2.5", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/middleware-retry": { - "version": "4.4.11", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.4.11.tgz", - "integrity": "sha512-EL5OQHvFOKneJVRgzRW4lU7yidSwp/vRJOe542bHgExN3KNThr1rlg0iE4k4SnA+ohC+qlUxoK+smKeAYPzfAQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/node-config-provider": "^4.3.5", - "@smithy/protocol-http": "^5.3.5", - "@smithy/service-error-classification": "^4.2.5", - "@smithy/smithy-client": "^4.9.7", - "@smithy/types": "^4.9.0", - "@smithy/util-middleware": "^4.2.5", - "@smithy/util-retry": "^4.2.5", - "@smithy/uuid": "^1.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/middleware-serde": { - "version": "4.2.6", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.2.6.tgz", - "integrity": "sha512-VkLoE/z7e2g8pirwisLz8XJWedUSY8my/qrp81VmAdyrhi94T+riBfwP+AOEEFR9rFTSonC/5D2eWNmFabHyGQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/protocol-http": "^5.3.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/middleware-stack": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.2.5.tgz", - "integrity": "sha512-bYrutc+neOyWxtZdbB2USbQttZN0mXaOyYLIsaTbJhFsfpXyGWUxJpEuO1rJ8IIJm2qH4+xJT0mxUSsEDTYwdQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/node-config-provider": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.3.5.tgz", - "integrity": "sha512-UTurh1C4qkVCtqggI36DGbLB2Kv8UlcFdMXDcWMbqVY2uRg0XmT9Pb4Vj6oSQ34eizO1fvR0RnFV4Axw4IrrAg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/property-provider": "^4.2.5", - "@smithy/shared-ini-file-loader": "^4.4.0", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/node-http-handler": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.4.5.tgz", - "integrity": "sha512-CMnzM9R2WqlqXQGtIlsHMEZfXKJVTIrqCNoSd/QpAyp+Dw0a1Vps13l6ma1fH8g7zSPNsA59B/kWgeylFuA/lw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/abort-controller": "^4.2.5", - "@smithy/protocol-http": "^5.3.5", - "@smithy/querystring-builder": "^4.2.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/property-provider": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.2.5.tgz", - "integrity": "sha512-8iLN1XSE1rl4MuxvQ+5OSk/Zb5El7NJZ1td6Tn+8dQQHIjp59Lwl6bd0+nzw6SKm2wSSriH2v/I9LPzUic7EOg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/protocol-http": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.3.5.tgz", - "integrity": "sha512-RlaL+sA0LNMp03bf7XPbFmT5gN+w3besXSWMkA8rcmxLSVfiEXElQi4O2IWwPfxzcHkxqrwBFMbngB8yx/RvaQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/querystring-builder": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.2.5.tgz", - "integrity": "sha512-y98otMI1saoajeik2kLfGyRp11e5U/iJYH/wLCh3aTV/XutbGT9nziKGkgCaMD1ghK7p6htHMm6b6scl9JRUWg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.9.0", - "@smithy/util-uri-escape": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/querystring-parser": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.2.5.tgz", - "integrity": "sha512-031WCTdPYgiQRYNPXznHXof2YM0GwL6SeaSyTH/P72M1Vz73TvCNH2Nq8Iu2IEPq9QP2yx0/nrw5YmSeAi/AjQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/service-error-classification": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.2.5.tgz", - "integrity": "sha512-8fEvK+WPE3wUAcDvqDQG1Vk3ANLR8Px979te96m84CbKAjBVf25rPYSzb4xU4hlTyho7VhOGnh5i62D/JVF0JQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.9.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/shared-ini-file-loader": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.4.0.tgz", - "integrity": "sha512-5WmZ5+kJgJDjwXXIzr1vDTG+RhF9wzSODQBfkrQ2VVkYALKGvZX1lgVSxEkgicSAFnFhPj5rudJV0zoinqS0bA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/signature-v4": { - "version": "5.3.5", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.3.5.tgz", - "integrity": "sha512-xSUfMu1FT7ccfSXkoLl/QRQBi2rOvi3tiBZU2Tdy3I6cgvZ6SEi9QNey+lqps/sJRnogIS+lq+B1gxxbra2a/w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^4.2.0", - "@smithy/protocol-http": "^5.3.5", - "@smithy/types": "^4.9.0", - "@smithy/util-hex-encoding": "^4.2.0", - "@smithy/util-middleware": "^4.2.5", - "@smithy/util-uri-escape": "^4.2.0", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/smithy-client": { - "version": "4.9.7", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.9.7.tgz", - "integrity": "sha512-pskaE4kg0P9xNQWihfqlTMyxyFR3CH6Sr6keHYghgyqqDXzjl2QJg5lAzuVe/LzZiOzcbcVtxKYi1/fZPt/3DA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/core": "^3.18.4", - "@smithy/middleware-endpoint": "^4.3.11", - "@smithy/middleware-stack": "^4.2.5", - "@smithy/protocol-http": "^5.3.5", - "@smithy/types": "^4.9.0", - "@smithy/util-stream": "^4.5.6", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/types": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.9.0.tgz", - "integrity": "sha512-MvUbdnXDTwykR8cB1WZvNNwqoWVaTRA0RLlLmf/cIFNMM2cKWz01X4Ly6SMC4Kks30r8tT3Cty0jmeWfiuyHTA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/url-parser": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.2.5.tgz", - "integrity": "sha512-VaxMGsilqFnK1CeBX+LXnSuaMx4sTL/6znSZh2829txWieazdVxr54HmiyTsIbpOTLcf5nYpq9lpzmwRdxj6rQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/querystring-parser": "^4.2.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-base64": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.3.0.tgz", - "integrity": "sha512-GkXZ59JfyxsIwNTWFnjmFEI8kZpRNIBfxKjv09+nkAWPt/4aGaEWMM04m4sxgNVWkbt2MdSvE3KF/PfX4nFedQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^4.2.0", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-body-length-browser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-4.2.0.tgz", - "integrity": "sha512-Fkoh/I76szMKJnBXWPdFkQJl2r9SjPt3cMzLdOB6eJ4Pnpas8hVoWPYemX/peO0yrrvldgCUVJqOAjUrOLjbxg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-body-length-node": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-4.2.1.tgz", - "integrity": "sha512-h53dz/pISVrVrfxV1iqXlx5pRg3V2YWFcSQyPyXZRrZoZj4R4DeWRDo1a7dd3CPTcFi3kE+98tuNyD2axyZReA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-buffer-from": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.2.0.tgz", - "integrity": "sha512-kAY9hTKulTNevM2nlRtxAG2FQ3B2OR6QIrPY3zE5LqJy1oxzmgBGsHLWTcNhWXKchgA0WHW+mZkQrng/pgcCew==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/is-array-buffer": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-config-provider": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-4.2.0.tgz", - "integrity": "sha512-YEjpl6XJ36FTKmD+kRJJWYvrHeUvm5ykaUS5xK+6oXffQPHeEM4/nXlZPe+Wu0lsgRUcNZiliYNh/y7q9c2y6Q==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-browser": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.10.tgz", - "integrity": "sha512-3iA3JVO1VLrP21FsZZpMCeF93aqP3uIOMvymAT3qHIJz2YlgDeRvNUspFwCNqd/j3qqILQJGtsVQnJZICh/9YA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/property-provider": "^4.2.5", - "@smithy/smithy-client": "^4.9.7", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-defaults-mode-node": { - "version": "4.2.13", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.13.tgz", - "integrity": "sha512-PTc6IpnpSGASuzZAgyUtaVfOFpU0jBD2mcGwrgDuHf7PlFgt5TIPxCYBDbFQs06jxgeV3kd/d/sok1pzV0nJRg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/config-resolver": "^4.4.3", - "@smithy/credential-provider-imds": "^4.2.5", - "@smithy/node-config-provider": "^4.3.5", - "@smithy/property-provider": "^4.2.5", - "@smithy/smithy-client": "^4.9.7", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-endpoints": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.2.5.tgz", - "integrity": "sha512-3O63AAWu2cSNQZp+ayl9I3NapW1p1rR5mlVHcF6hAB1dPZUQFfRPYtplWX/3xrzWthPGj5FqB12taJJCfH6s8A==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/node-config-provider": "^4.3.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-hex-encoding": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-4.2.0.tgz", - "integrity": "sha512-CCQBwJIvXMLKxVbO88IukazJD9a4kQ9ZN7/UMGBjBcJYvatpWk+9g870El4cB8/EJxfe+k+y0GmR9CAzkF+Nbw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-middleware": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.2.5.tgz", - "integrity": "sha512-6Y3+rvBF7+PZOc40ybeZMcGln6xJGVeY60E7jy9Mv5iKpMJpHgRE6dKy9ScsVxvfAYuEX4Q9a65DQX90KaQ3bA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-retry": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.2.5.tgz", - "integrity": "sha512-GBj3+EZBbN4NAqJ/7pAhsXdfzdlznOh8PydUijy6FpNIMnHPSMO2/rP4HKu+UFeikJxShERk528oy7GT79YiJg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/service-error-classification": "^4.2.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-stream": { - "version": "4.5.6", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.5.6.tgz", - "integrity": "sha512-qWw/UM59TiaFrPevefOZ8CNBKbYEP6wBAIlLqxn3VAIo9rgnTNc4ASbVrqDmhuwI87usnjhdQrxodzAGFFzbRQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/fetch-http-handler": "^5.3.6", - "@smithy/node-http-handler": "^4.4.5", - "@smithy/types": "^4.9.0", - "@smithy/util-base64": "^4.3.0", - "@smithy/util-buffer-from": "^4.2.0", - "@smithy/util-hex-encoding": "^4.2.0", - "@smithy/util-utf8": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-uri-escape": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-4.2.0.tgz", - "integrity": "sha512-igZpCKV9+E/Mzrpq6YacdTQ0qTiLm85gD6N/IrmyDvQFA4UnU3d5g3m8tMT/6zG/vVkWSU+VxeUyGonL62DuxA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-utf8": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.2.0.tgz", - "integrity": "sha512-zBPfuzoI8xyBtR2P6WQj63Rz8i3AmfAaJLuNG8dWsfvPe8lO4aCPYLn879mEgHndZH1zQ2oXmG8O1GGzzaoZiw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/util-buffer-from": "^4.2.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/util-waiter": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-4.2.5.tgz", - "integrity": "sha512-Dbun99A3InifQdIrsXZ+QLcC0PGBPAdrl4cj1mTgJvyc9N2zf7QSxg8TBkzsCmGJdE3TLbO9ycwpY0EkWahQ/g==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@smithy/abort-controller": "^4.2.5", - "@smithy/types": "^4.9.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@smithy/uuid": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@smithy/uuid/-/uuid-1.1.0.tgz", - "integrity": "sha512-4aUIteuyxtBUhVdiQqcDhKFitwfd9hqoSDYY2KRXiWtgoWJ9Bmise+KfEPDiVHWeJepvF8xJO9/9+WDIciMFFw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.6.2" - }, - "engines": { - "node": ">=18.0.0" - } + "node_modules/@socket.io/component-emitter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.0.0.tgz", + "integrity": "sha512-2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q==", + "dev": true }, "node_modules/@stylistic/eslint-plugin": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-2.13.0.tgz", - "integrity": "sha512-RnO1SaiCFHn666wNz2QfZEFxvmiNRqhzaMXHXxXXKt+MEP7aajlPxUSMIQpKAaJfverpovEYqjBOXDq6dDcaOQ==", + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-2.6.1.tgz", + "integrity": "sha512-UT0f4t+3sQ/GKW7875NiIIjZJ1Bh4gd7JNfoIkwIQyWqO7wGd0Pqzu0Ho30Ka8MNF5lm++SkVeqAk26vGxoUpg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/utils": "^8.13.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", + "@stylistic/eslint-plugin-js": "2.6.1", + "@stylistic/eslint-plugin-jsx": "2.6.1", + "@stylistic/eslint-plugin-plus": "2.6.1", + "@stylistic/eslint-plugin-ts": "2.6.1", + "@types/eslint": "^9.6.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "node_modules/@stylistic/eslint-plugin-js": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-js/-/eslint-plugin-js-2.6.1.tgz", + "integrity": "sha512-iLOiVzcvqzDGD9U0EuVOX680v+XOPiPAjkxWj+Q6iV2GLOM5NB27tKVOpJY7AzBhidwpRbaLTgg3T4UzYx09jw==", + "dev": true, + "dependencies": { + "@types/eslint": "^9.6.0", + "acorn": "^8.12.1", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.1.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "node_modules/@stylistic/eslint-plugin-jsx": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-jsx/-/eslint-plugin-jsx-2.6.1.tgz", + "integrity": "sha512-5qHLXqxfY6jubAQfDqrifv41fx7gaqA9svDaChxMI6JiHpEBfh+PXxmm3g+B8gJCYVBTC62Rjl0Ny5QabK58bw==", + "dev": true, + "dependencies": { + "@stylistic/eslint-plugin-js": "^2.6.1", + "@types/eslint": "^9.6.0", "estraverse": "^5.3.0", "picomatch": "^4.0.2" }, @@ -2065,51 +2432,113 @@ "eslint": ">=8.40.0" } }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "node_modules/@stylistic/eslint-plugin-plus": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-plus/-/eslint-plugin-plus-2.6.1.tgz", + "integrity": "sha512-z/IYu/q8ipApzNam5utSU+BrXg4pK/Gv9xNbr4eWv/bZppvTWJU62xCO4nw/6r2dHNPnqc7uCHEC7GMlBnPY0A==", "dev": true, - "license": "MIT" + "dependencies": { + "@types/eslint": "^9.6.0", + "@typescript-eslint/utils": "^8.0.0" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/@stylistic/eslint-plugin-ts": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-ts/-/eslint-plugin-ts-2.6.1.tgz", + "integrity": "sha512-Mxl1VMorEG1Hc6oBYPD0+KIJOWkjEF1R0liL7wWgKfwpqOkgmnh5lVdZBrYyfRKOE4RlGcwEFTNai1IW6orgVg==", + "dev": true, + "dependencies": { + "@stylistic/eslint-plugin-js": "2.6.1", + "@types/eslint": "^9.6.0", + "@typescript-eslint/utils": "^8.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "node_modules/@types/earcut": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@types/earcut/-/earcut-2.1.4.tgz", + "integrity": "sha512-qp3m9PPz4gULB9MhjGID7wpo3gJ4bTGXm7ltNDsmOvsPduTeHp8wSW9YckBj3mljeOh4F0m2z/0JKAALRKbmLQ==", + "dev": true, + "peer": true + }, + "node_modules/@types/eslint": { + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.0.tgz", + "integrity": "sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "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==", + "dev": true + }, + "node_modules/@types/jquery": { + "version": "3.5.30", + "resolved": "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.30.tgz", + "integrity": "sha512-nbWKkkyb919DOUxjmRVk8vwtDb0/k8FKncmUKFi+NY+QXqWltooxTrswvz4LspQwxvLdvzBN1TImr6cw3aQx2A==", + "dev": true, + "dependencies": { + "@types/sizzle": "*" + } }, "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==", - "dev": true, - "license": "MIT" + "dev": true }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.46.4.tgz", - "integrity": "sha512-nPiRSKuvtTN+no/2N1kt2tUh/HoFzeEgOm9fQ6XQk4/ApGqjx0zFIIaLJ6wooR1HIoozvj2j6vTi/1fgAz7UYQ==", + "node_modules/@types/node": { + "version": "22.4.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.4.1.tgz", + "integrity": "sha512-1tbpb9325+gPnKK0dMm+/LMriX0vKxf6RnB0SZUqfyVkQ4fMgUSySqhxE/y8Jvs4NyF1yHzTfG9KlnkIODxPKg==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.46.4", - "@typescript-eslint/types": "^8.46.4", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "undici-types": "~6.19.2" } }, + "node_modules/@types/offscreencanvas": { + "version": "2019.7.3", + "resolved": "https://registry.npmjs.org/@types/offscreencanvas/-/offscreencanvas-2019.7.3.tgz", + "integrity": "sha512-ieXiYmgSRXUDeOntE1InxjWyvEelZGP63M+cGuquuRLuIKKT1osnkXjxev9B7d1nXSug5vpunx+gNlbVxMlC9A==", + "dev": true, + "peer": true + }, + "node_modules/@types/simple-peer": { + "version": "9.11.8", + "resolved": "https://registry.npmjs.org/@types/simple-peer/-/simple-peer-9.11.8.tgz", + "integrity": "sha512-rvqefdp2rvIA6wiomMgKWd2UZNPe6LM2EV5AuY3CPQJF+8TbdrL5TjYdMf0VAjGczzlkH4l1NjDkihwbj3Xodw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/sizzle": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz", + "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==", + "dev": true + }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.46.4.tgz", - "integrity": "sha512-tMDbLGXb1wC+McN1M6QeDx7P7c0UWO5z9CXqp7J8E+xGcJuUuevWKxuG8j41FoweS3+L41SkyKKkia16jpX7CA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.0.1.tgz", + "integrity": "sha512-NpixInP5dm7uukMiRyiHjRKkom5RIFA4dfiHvalanD2cF0CLUuQqxfg8PtEUo9yqJI2bBhF+pcSafqnG3UBnRQ==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.46.4", - "@typescript-eslint/visitor-keys": "8.46.4" + "@typescript-eslint/types": "8.0.1", + "@typescript-eslint/visitor-keys": "8.0.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2119,29 +2548,11 @@ "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.46.4.tgz", - "integrity": "sha512-+/XqaZPIAk6Cjg7NWgSGe27X4zMGqrFqZ8atJsX3CWxH/jACqWnrWI68h7nHQld0y+k9eTTjb9r+KU4twLoo9A==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, "node_modules/@typescript-eslint/types": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.46.4.tgz", - "integrity": "sha512-USjyxm3gQEePdUwJBFjjGNG18xY9A2grDVGuk7/9AkjIF1L+ZrVnwR5VAU5JXtUnBL/Nwt3H31KlRDaksnM7/w==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.0.1.tgz", + "integrity": "sha512-PpqTVT3yCA/bIgJ12czBuE3iBlM3g4inRSC5J0QOdQFAn07TYrYEQBBKgXH1lQpglup+Zy6c1fxuwTk4MTNKIw==", "dev": true, - "license": "MIT", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -2151,22 +2562,19 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.46.4.tgz", - "integrity": "sha512-7oV2qEOr1d4NWNmpXLR35LvCfOkTNymY9oyW+lUHkmCno7aOmIf/hMaydnJBUTBMRCOGZh8YjkFOc8dadEoNGA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.0.1.tgz", + "integrity": "sha512-8V9hriRvZQXPWU3bbiUV4Epo7EvgM6RTs+sUmxp5G//dBGy402S7Fx0W0QkB2fb4obCF8SInoUzvTYtc3bkb5w==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.46.4", - "@typescript-eslint/tsconfig-utils": "8.46.4", - "@typescript-eslint/types": "8.46.4", - "@typescript-eslint/visitor-keys": "8.46.4", + "@typescript-eslint/types": "8.0.1", + "@typescript-eslint/visitor-keys": "8.0.1", "debug": "^4.3.4", - "fast-glob": "^3.3.2", + "globby": "^11.1.0", "is-glob": "^4.0.3", "minimatch": "^9.0.4", "semver": "^7.6.0", - "ts-api-utils": "^2.1.0" + "ts-api-utils": "^1.3.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2175,21 +2583,46 @@ "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/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/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@typescript-eslint/utils": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.46.4.tgz", - "integrity": "sha512-AbSv11fklGXV6T28dp2Me04Uw90R2iJ30g2bgLz529Koehrmkbs1r7paFqr1vPCZi7hHwYxYtxfyQMRC8QaVSg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.0.1.tgz", + "integrity": "sha512-CBFR0G0sCt0+fzfnKaciu9IBsKvEKYwN9UZ+eeogK1fYHg4Qxk1yf/wLQkLXlq8wbU2dFlgAesxt8Gi76E8RTA==", "dev": true, - "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.46.4", - "@typescript-eslint/types": "8.46.4", - "@typescript-eslint/typescript-estree": "8.46.4" + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.0.1", + "@typescript-eslint/types": "8.0.1", + "@typescript-eslint/typescript-estree": "8.0.1" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2199,19 +2632,17 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "eslint": "^8.57.0 || ^9.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.46.4", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.46.4.tgz", - "integrity": "sha512-/++5CYLQqsO9HFGLI7APrxBJYo+5OCMpViuhV8q5/Qa3o5mMrF//eQHks+PXcsAVaLdn817fMuS7zqoXNNZGaw==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.0.1.tgz", + "integrity": "sha512-W5E+o0UfUcK5EgchLZsyVWqARmsM7v54/qEq6PY3YI5arkgmCzHiuk0zKSJJbm71V0xdRna4BGomkCTXz2/LkQ==", "dev": true, - "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.46.4", - "eslint-visitor-keys": "^4.2.1" + "@typescript-eslint/types": "8.0.1", + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2221,12 +2652,23 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/abstract-level": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-1.0.4.tgz", "integrity": "sha512-eUP/6pbXBkMbXFdx4IH2fVgvB7M0JvR7/lIL33zcs0IBcwjdzSSl31TOJsaCzmKSSDF9h8QYSOJux4Nd4YJqFg==", "dev": true, - "license": "MIT", "dependencies": { "buffer": "^6.0.3", "catering": "^2.1.0", @@ -2241,11 +2683,10 @@ } }, "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, - "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -2258,7 +2699,6 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -2268,7 +2708,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -2285,7 +2724,6 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -2295,7 +2733,6 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "license": "MIT", "dependencies": { "color-convert": "^2.0.1" }, @@ -2306,26 +2743,51 @@ "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==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" + "dev": true }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "node_modules/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==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=8" + } }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", "dev": true, - "license": "MIT", "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -2336,24 +2798,17 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/axios": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz", - "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==", - "dev": true, - "license": "MIT", - "dependencies": { - "follow-redirects": "^1.15.6", - "form-data": "^4.0.4", - "proxy-from-env": "^1.1.0" - } + "node_modules/backo2": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", + "integrity": "sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==", + "dev": true }, "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==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/base64-js": { "version": "1.5.1", @@ -2373,24 +2828,28 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, - "node_modules/bowser": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.12.1.tgz", - "integrity": "sha512-z4rE2Gxh7tvshQ4hluIT7XcFrgLIQaw9X3A+kTTRdovCz5PMukm/0QC/BKSYPj3omF5Qfypn9O/c5kgpmvYUCw==", + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, - "license": "MIT" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, "node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, "node_modules/braces": { @@ -2398,7 +2857,6 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, - "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -2425,54 +2883,22 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" } }, "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dev": true, - "license": "MIT", - "dependencies": { "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -2486,7 +2912,6 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -2496,31 +2921,68 @@ "resolved": "https://registry.npmjs.org/catering/-/catering-2.1.1.tgz", "integrity": "sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" + "node": ">=10" }, "funding": { "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "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/chokidar/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==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/classic-level": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.4.1.tgz", "integrity": "sha512-qGx/KJl3bvtOHrGau2WklEZuXhS3zme+jf+fsu6Ej7W7IP/C49v7KNlWIsT1jZu0YnfzSIYDGcEWpCa1wKGWXQ==", "dev": true, "hasInstallScript": true, - "license": "MIT", "dependencies": { "abstract-level": "^1.0.2", "catering": "^2.1.0", @@ -2537,7 +2999,6 @@ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -2552,7 +3013,6 @@ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "license": "MIT", "dependencies": { "color-name": "~1.1.4" }, @@ -2564,35 +3024,19 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } + "dev": true }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -2603,13 +3047,12 @@ } }, "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, - "license": "MIT", "dependencies": { - "ms": "^2.1.3" + "ms": "2.1.2" }, "engines": { "node": ">=6.0" @@ -2624,15 +3067,13 @@ "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" + "dev": true }, "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==", "dev": true, - "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -2645,57 +3086,64 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "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==", "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/dotenv": { - "version": "17.2.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-17.2.3.tgz", - "integrity": "sha512-JVUnt+DUIzu87TABbhPmNfVdBDt18BLOWjMUFJMSi/Qqg7NTYtabbvSNJGOJ7afbRuv9D/lngizHtP7QyLQ+9w==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://dotenvx.com" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dev": true, - "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" + "path-type": "^4.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=8" } }, + "node_modules/earcut": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/earcut/-/earcut-2.2.4.tgz", + "integrity": "sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==", + "dev": true + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/engine.io-client": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.0.3.tgz", + "integrity": "sha512-IH8ZhDIwiLv0d/wXVzmjfV9Y82hbJIDhCGSVUV8o1kcpDe2I6Y3bZA3ZbJy4Ls7k7IVmcy/qn4k9RKWFhUGf5w==", "dev": true, - "license": "MIT" + "dependencies": { + "@socket.io/component-emitter": "~3.0.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.0", + "has-cors": "1.1.0", + "parseqs": "0.0.6", + "parseuri": "0.0.6", + "ws": "~8.2.3", + "xmlhttprequest-ssl": "~2.0.0", + "yeast": "0.1.2" + } + }, + "node_modules/engine.io-parser": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.7.tgz", + "integrity": "sha512-P+jDFbvK6lE3n1OL+q9KuzdOFWkkZ/cMV9gol/SbVfpyqfvrfrFTOFJ6fQm2VC3PZHlU3QPhVwmbsCnauHF2MQ==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } }, "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dev": true, - "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.2.4" + }, "engines": { "node": ">= 0.4" } @@ -2705,46 +3153,21 @@ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" } }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-set-tostringtag": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", - "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } + "node_modules/es6-promise-polyfill": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/es6-promise-polyfill/-/es6-promise-polyfill-1.2.0.tgz", + "integrity": "sha512-HHb0vydCpoclpd0ySPkRXMmBw80MRt1wM4RBJBlXkux97K7gleabZdsR0gvE1nNPM9mgOZIBTzjjXiPxf4lIqQ==", + "dev": true }, "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } @@ -2754,7 +3177,6 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, @@ -2763,32 +3185,27 @@ } }, "node_modules/eslint": { - "version": "9.39.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.1.tgz", - "integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==", + "version": "9.8.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.8.0.tgz", + "integrity": "sha512-K8qnZ/QJzT2dLKdZJVX6W4XOwBzutMYmt0lqUS+JdXgd+HTYFlonFgkJ8s44d/zMPPCnOOk0kMWCApCPhiOy9A==", "dev": true, - "license": "MIT", "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.1", - "@eslint/plugin-kit": "^0.4.1", - "@humanfs/node": "^0.16.6", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.11.0", + "@eslint/config-array": "^0.17.1", + "@eslint/eslintrc": "^3.1.0", + "@eslint/js": "9.8.0", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", + "@humanwhocodes/retry": "^0.3.0", + "@nodelib/fs.walk": "^1.2.8", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", + "cross-spawn": "^7.0.2", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", + "eslint-scope": "^8.0.2", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.1.0", "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", @@ -2798,11 +3215,15 @@ "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3" + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" @@ -2812,22 +3233,13 @@ }, "funding": { "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } } }, "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.0.2.tgz", + "integrity": "sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -2840,11 +3252,10 @@ } }, "node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.0.0.tgz", + "integrity": "sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==", "dev": true, - "license": "Apache-2.0", "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, @@ -2852,67 +3263,24 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/esm": { "version": "3.2.25", "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", + "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.15.0", + "acorn": "^8.12.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" + "eslint-visitor-keys": "^4.0.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -2926,7 +3294,6 @@ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -2939,7 +3306,6 @@ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "estraverse": "^5.2.0" }, @@ -2952,7 +3318,6 @@ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=4.0" } @@ -2962,30 +3327,33 @@ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "license": "BSD-2-Clause", "engines": { "node": ">=0.10.0" } }, + "node_modules/eventemitter3": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", + "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==", + "dev": true + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.8" + "micromatch": "^4.0.4" }, "engines": { "node": ">=8.6.0" @@ -2996,7 +3364,6 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -3008,41 +3375,19 @@ "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==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-xml-parser": { - "version": "5.2.5", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-5.2.5.tgz", - "integrity": "sha512-pfX9uG9Ki0yekDHx2SiuRIyFdyAr1kMIMitPvb0YBo8SUfKvia7w7FIyd/l6av85pFYRhZscS75MwMnbvY+hcQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT", - "dependencies": { - "strnum": "^2.1.0" - }, - "bin": { - "fxparser": "src/cli/cli.js" - } + "dev": true }, "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dev": true, - "license": "ISC", "dependencies": { "reusify": "^1.0.4" } @@ -3052,7 +3397,6 @@ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, - "license": "MIT", "dependencies": { "flat-cache": "^4.0.0" }, @@ -3065,7 +3409,6 @@ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, - "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -3078,7 +3421,6 @@ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "license": "MIT", "dependencies": { "locate-path": "^6.0.0", "path-exists": "^4.0.0" @@ -3095,7 +3437,6 @@ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, - "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" @@ -3105,64 +3446,32 @@ } }, "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true, - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.15.11", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", - "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true }, "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", "dev": true, - "license": "MIT", "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "is-callable": "^1.1.3" } }, - "node_modules/form-data": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", - "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "es-set-tostringtag": "^2.1.0", - "hasown": "^2.0.2", - "mime-types": "^2.1.12" - }, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 6" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, "node_modules/function-bind": { @@ -3170,48 +3479,30 @@ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/generator-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", - "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } }, "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dev": true, - "license": "MIT", "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "engines": { "node": ">= 0.4" @@ -3220,26 +3511,11 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dev": true, - "license": "MIT", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, "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==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.3" }, @@ -3248,11 +3524,10 @@ } }, "node_modules/globals": { - "version": "15.15.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz", - "integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==", + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.9.0.tgz", + "integrity": "sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==", "dev": true, - "license": "MIT", "engines": { "node": ">=18" }, @@ -3260,25 +3535,70 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, - "license": "MIT", + "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": ">= 0.4" + "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==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/handlebars": { + "version": "4.7.7", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.7.tgz", + "integrity": "sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5", + "neo-async": "^2.6.0", + "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/has-cors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", + "integrity": "sha512-g5VNKdkFuUuVCP9gYfDJHjK2nqdQJ7aDLTnycnc2+RvsOQbuLdF5pm7vuE5J76SEBIQjs4kQY/BWq74JUmjbXA==", + "dev": true + }, "node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -3288,7 +3608,6 @@ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dev": true, - "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" }, @@ -3296,12 +3615,23 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "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==", + "dev": true, + "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==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3314,7 +3644,6 @@ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, - "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" }, @@ -3330,7 +3659,6 @@ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -3356,15 +3684,13 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "BSD-3-Clause" + ] }, "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } @@ -3373,15 +3699,19 @@ "version": "3.0.6", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", - "dev": true, - "license": "MIT" + "dev": true + }, + "node_modules/immutable": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", + "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "dev": true }, "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -3398,7 +3728,6 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -3407,18 +3736,16 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "license": "ISC" + "dev": true }, "node_modules/is-arguments": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", - "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dev": true, - "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -3427,6 +3754,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "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==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-buffer": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", @@ -3446,7 +3785,6 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "engines": { "node": ">=4" } @@ -3456,7 +3794,6 @@ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -3469,7 +3806,6 @@ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3479,23 +3815,17 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-generator-function": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", - "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", "dev": true, - "license": "MIT", "dependencies": { - "call-bound": "^1.0.4", - "generator-function": "^2.0.0", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -3509,7 +3839,6 @@ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -3522,38 +3851,26 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.12.0" } }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "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==", "dev": true, - "license": "MIT", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", + "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", "dev": true, - "license": "MIT", "dependencies": { - "which-typed-array": "^1.1.16" + "which-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -3566,15 +3883,19 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true, - "license": "ISC" + "dev": true + }, + "node_modules/ismobilejs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-1.1.1.tgz", + "integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==", + "dev": true }, "node_modules/js-yaml": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", - "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -3586,29 +3907,25 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT" + "dev": true }, "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==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT" + "dev": true }, "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==", "dev": true, - "license": "MIT", "dependencies": { "json-buffer": "3.0.1" } @@ -3618,7 +3935,6 @@ "resolved": "https://registry.npmjs.org/level-supports/-/level-supports-4.0.1.tgz", "integrity": "sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" } @@ -3628,7 +3944,6 @@ "resolved": "https://registry.npmjs.org/level-transcoder/-/level-transcoder-1.0.1.tgz", "integrity": "sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w==", "dev": true, - "license": "MIT", "dependencies": { "buffer": "^6.0.3", "module-error": "^1.0.1" @@ -3642,7 +3957,6 @@ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1", "type-check": "~0.4.0" @@ -3656,7 +3970,6 @@ "resolved": "https://registry.npmjs.org/lie/-/lie-3.1.1.tgz", "integrity": "sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==", "dev": true, - "license": "MIT", "dependencies": { "immediate": "~3.0.5" } @@ -3666,7 +3979,6 @@ "resolved": "https://registry.npmjs.org/localforage/-/localforage-1.10.0.tgz", "integrity": "sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "lie": "3.1.1" } @@ -3676,7 +3988,6 @@ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, - "license": "MIT", "dependencies": { "p-locate": "^5.0.0" }, @@ -3691,35 +4002,22 @@ "version": "4.6.2", "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } + "dev": true }, "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dev": true, - "license": "MIT", "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" @@ -3733,7 +4031,6 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.6" }, @@ -3741,43 +4038,31 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } + "node_modules/mini-signals": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mini-signals/-/mini-signals-1.2.0.tgz", + "integrity": "sha512-alffqMkGCjjTSwvYMVLx+7QeJ6sTuxbXqBkP21my4iWU5+QpTQAJt3h7htA1OKm9F3BpMM0vnu72QIoiJakrLA==", + "dev": true }, "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "ISC", "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/mkdirp": { @@ -3785,7 +4070,6 @@ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "dev": true, - "license": "MIT", "bin": { "mkdirp": "dist/cjs/src/bin.js" }, @@ -3801,60 +4085,89 @@ "resolved": "https://registry.npmjs.org/module-error/-/module-error-1.0.2.tgz", "integrity": "sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" } }, "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==", - "dev": true, - "license": "MIT" + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true }, "node_modules/napi-macros": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/napi-macros/-/napi-macros-2.2.2.tgz", "integrity": "sha512-hmEVtAGYzVQpCKdbQea4skABsdXW4RUh5t5mJ2zzqowJS2OyXZTU1KhDVFhx+NlWZ4ap9mqR9TcDO3LTTttd+g==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT" + "dev": true }, "node_modules/nedb-promises": { "version": "6.2.3", "resolved": "https://registry.npmjs.org/nedb-promises/-/nedb-promises-6.2.3.tgz", "integrity": "sha512-enq0IjNyBz9Qy9W/QPCcLGh/QORGBjXbIeZeWvIjO3OMLyAvlKT3hiJubP2BKEiFniUlR3L01o18ktqgn5jxqA==", "dev": true, - "license": "MIT", "dependencies": { "@seald-io/nedb": "^4.0.2" } }, + "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==", + "dev": true + }, "node_modules/node-gyp-build": { - "version": "4.8.4", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.4.tgz", - "integrity": "sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==", + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.1.tgz", + "integrity": "sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==", "dev": true, - "license": "MIT", "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", "node-gyp-build-test": "build-test.js" } }, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/optionator": { "version": "0.9.4", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, - "license": "MIT", "dependencies": { "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", @@ -3872,7 +4185,6 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -3888,7 +4200,6 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "license": "MIT", "dependencies": { "p-limit": "^3.0.2" }, @@ -3904,7 +4215,6 @@ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -3912,12 +4222,32 @@ "node": ">=6" } }, + "node_modules/parse-uri": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/parse-uri/-/parse-uri-1.0.9.tgz", + "integrity": "sha512-YZfRHHkEZa6qTfPF/xgZ1ErQYCABfud/Vcqp1Q1GNa7RKwv6Oe0YaxXfQQMnQsGdNTo3fwaT0GbVEX7dMAr7tw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/parseqs": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", + "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==", + "dev": true + }, + "node_modules/parseuri": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", + "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==", + "dev": true + }, "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==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } @@ -3927,17 +4257,24 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "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==", + "dev": true, "engines": { "node": ">=8" } }, "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -3945,12 +4282,172 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "node_modules/pixi-particles": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/pixi-particles/-/pixi-particles-4.3.1.tgz", + "integrity": "sha512-XSqDFgYwm/7FRCgP5I2Fc57d98qvb1ql/x4uTjdP4uXDUGgjdO8OW/2A0HVWS1CkOht/1x6dQzsM1oCJAUlaow==", + "dev": true, + "peerDependencies": { + "pixi.js": ">=4.0.0" + } + }, + "node_modules/pixi.js": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/pixi.js/-/pixi.js-5.3.11.tgz", + "integrity": "sha512-/9td6IHDQqG0Po5lyQ5aKDzrnEVD1SvGourI4Nqp0mvNI0Cbm74tMHLjk1V5foqGPAS9pochENr6Y3ft/2cDiQ==", + "dev": true, + "dependencies": { + "@pixi/accessibility": "5.3.11", + "@pixi/app": "5.3.11", + "@pixi/constants": "5.3.11", + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/extract": "5.3.11", + "@pixi/filter-alpha": "5.3.11", + "@pixi/filter-blur": "5.3.11", + "@pixi/filter-color-matrix": "5.3.11", + "@pixi/filter-displacement": "5.3.11", + "@pixi/filter-fxaa": "5.3.11", + "@pixi/filter-noise": "5.3.11", + "@pixi/graphics": "5.3.11", + "@pixi/interaction": "5.3.11", + "@pixi/loaders": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/mesh": "5.3.11", + "@pixi/mesh-extras": "5.3.11", + "@pixi/mixin-cache-as-bitmap": "5.3.11", + "@pixi/mixin-get-child-by-name": "5.3.11", + "@pixi/mixin-get-global-position": "5.3.11", + "@pixi/particles": "5.3.11", + "@pixi/polyfill": "5.3.11", + "@pixi/prepare": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/sprite": "5.3.11", + "@pixi/sprite-animated": "5.3.11", + "@pixi/sprite-tiling": "5.3.11", + "@pixi/spritesheet": "5.3.11", + "@pixi/text": "5.3.11", + "@pixi/text-bitmap": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/pixi.js/node_modules/@pixi/constants": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/constants/-/constants-5.3.11.tgz", + "integrity": "sha512-KwutCRu8dRYn3956ygPJlvglHjJM99OS2Qhp4QYG8a4BsPcwfpInsHUtGHngtsTZbnx32pxCd3pg9nPiV8EuVA==", + "dev": true + }, + "node_modules/pixi.js/node_modules/@pixi/core": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/core/-/core-5.3.11.tgz", + "integrity": "sha512-U71OiC3rNt45/h8kaLGAQL4XsNh/ISoZtxVQNbtKTXlgjEAy1Q01Ht80yl0UJdiVxYQFlanCS/IG4++OkygioA==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/runner": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/ticker": "5.3.11", + "@pixi/utils": "5.3.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/pixijs" + } + }, + "node_modules/pixi.js/node_modules/@pixi/display": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/display/-/display-5.3.11.tgz", + "integrity": "sha512-rxUyB+RMJ7esEa11HdvzsularDGkYlRqpUn1ju9ZsRuB/Qo9JiVolywvWGSWxN/WnDGfrU2GjDpq9id10nwiag==", + "dev": true, + "dependencies": { + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/pixi.js/node_modules/@pixi/graphics": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/graphics/-/graphics-5.3.11.tgz", + "integrity": "sha512-HLu53LV6mRlY0uFSIM2OrCuL7xqXzeJs5d2QfmUJfKJVVZ9sbHDS+6/N/f0tXzvkRPYhSKXvcNPsNn4HmlIE9w==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/sprite": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/pixi.js/node_modules/@pixi/math": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/math/-/math-5.3.11.tgz", + "integrity": "sha512-GAupgFWVuOKxh8A322x8IctNgKi0/pLTJAXxmsLxcUw5PIQGgDw894HvzUriI+C0fsa9cEZHUbOCfyBKPQDLzw==", + "dev": true + }, + "node_modules/pixi.js/node_modules/@pixi/runner": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/runner/-/runner-5.3.11.tgz", + "integrity": "sha512-Mtb0rnSG+6KOIbr/48AtrILr8PZQepYwqYixVEXM6UHl+7+Z5NIx9fOByiicdjEKJvHIAYveu8yp2/L1vkF+qw==", + "dev": true + }, + "node_modules/pixi.js/node_modules/@pixi/settings": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/settings/-/settings-5.3.11.tgz", + "integrity": "sha512-ny/rjSmP+64WqxwmoY17KsFplxpuWbiMQ5SNAgkpi36z6k+utIGT05nIIhyMx3AAGSY+6dRbKmLeKyqCj8q4zw==", + "dev": true, + "dependencies": { + "ismobilejs": "^1.1.0" + } + }, + "node_modules/pixi.js/node_modules/@pixi/sprite": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/sprite/-/sprite-5.3.11.tgz", + "integrity": "sha512-RM6Sp8kqzsBdX/hDAO25HZywe9VU4uhOronUOQ5Ve0zRe+trdBWQYfi7+5kAcvzqkp25Izc0C+e+4YCqe5OaHQ==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/core": "5.3.11", + "@pixi/display": "5.3.11", + "@pixi/math": "5.3.11", + "@pixi/settings": "5.3.11", + "@pixi/utils": "5.3.11" + } + }, + "node_modules/pixi.js/node_modules/@pixi/ticker": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/ticker/-/ticker-5.3.11.tgz", + "integrity": "sha512-J1CChbSo1SQib1zL5f+FcFJZ6wN7LnWpztJVpKKYy3ZM/v4HSh48UnrGDKn5SLwSq4K7BxvZduwMQ8m4Paz1gQ==", + "dev": true, + "dependencies": { + "@pixi/settings": "5.3.11" + } + }, + "node_modules/pixi.js/node_modules/@pixi/utils": { + "version": "5.3.11", + "resolved": "https://registry.npmjs.org/@pixi/utils/-/utils-5.3.11.tgz", + "integrity": "sha512-25ZSCTrfV8da28IzvLnTK0BGWB4dHpq5P9IEgFymJvVLK7sAyT+RPz18ewRbBHgALHsszDpfC+qrHp3i+VZP0Q==", + "dev": true, + "dependencies": { + "@pixi/constants": "5.3.11", + "@pixi/settings": "5.3.11", + "earcut": "^2.1.5", + "eventemitter3": "^3.1.0", + "url": "^0.11.0" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", + "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.4" } @@ -3960,28 +4457,34 @@ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.8.0" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true, - "license": "MIT" - }, "node_modules/punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, - "license": "MIT", "engines": { "node": ">=6" } }, + "node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -4000,15 +4503,37 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/readdirp/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -4018,17 +4543,25 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "license": "MIT", "engines": { "node": ">=4" } }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", + "node_modules/resource-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/resource-loader/-/resource-loader-3.0.1.tgz", + "integrity": "sha512-fBuCRbEHdLCI1eglzQhUv9Rrdcmqkydr1r6uHE2cYHvRBrcLXeSmbE/qI/urFt8rPr/IGxir3BUwM5kUK8XoyA==", + "dev": true, + "dependencies": { + "mini-signals": "^1.2.0", + "parse-uri": "^1.0.0" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "dev": true, - "license": "MIT", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -4053,35 +4586,32 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "node_modules/sass": { + "version": "1.77.8", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz", + "integrity": "sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ==", "dev": true, - "license": "MIT", "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=14.0.0" } }, "node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -4094,7 +4624,6 @@ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, - "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -4112,7 +4641,6 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -4125,17 +4653,90 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, + "node_modules/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "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/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/socket.io-client": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.3.2.tgz", + "integrity": "sha512-2B9LqSunN60yV8F7S84CCEEcgbYNfrn7ejIInZtLZ7ppWtiX8rGZAjvdCvbnC8bqo/9RlCNOUsORLyskxSFP1g==", + "dev": true, + "dependencies": { + "@socket.io/component-emitter": "~3.0.0", + "backo2": "~1.0.2", + "debug": "~4.3.2", + "engine.io-client": "~6.0.1", + "parseuri": "0.0.6", + "socket.io-parser": "~4.1.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.1.2.tgz", + "integrity": "sha512-j3kk71QLJuyQ/hh5F/L2t1goqzdTL0gvDzuhTuNSwihfuFUrcSji0qFZmJJPtG6Rmug153eOPsUizeirf1IIog==", + "dev": true, + "dependencies": { + "@socket.io/component-emitter": "~3.0.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "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/source-map-js": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -4150,7 +4751,6 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -4163,7 +4763,6 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" }, @@ -4171,25 +4770,11 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strnum": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.1.1.tgz", - "integrity": "sha512-7ZvoFTiCnGxBtDqJ//Cu6fWtZtc7Y3x+QOirG15wztbdngGSkht27o2pyGWrVy0b4WAy3jbKmnoK6g5VlVNUUw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" - } - ], - "license": "MIT" - }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -4197,12 +4782,23 @@ "node": ">=8" } }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/tinymce": { + "version": "5.10.1", + "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-5.10.1.tgz", + "integrity": "sha512-aIsFTYiuESpoYkCgkoojpVtPwrSvYBxp4mMEGsj20CnUruLCWosywkbYHDII+j7KlQZZn3p+xK89f5gT3QyuGw==", + "dev": true + }, "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==", "dev": true, - "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -4211,31 +4807,22 @@ } }, "node_modules/ts-api-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, - "license": "MIT", "engines": { - "node": ">=18.12" + "node": ">=16" }, "peerDependencies": { - "typescript": ">=4.8.4" + "typescript": ">=4.2.0" } }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "dev": true, - "license": "0BSD" - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", "dev": true, - "license": "MIT", "dependencies": { "prelude-ls": "^1.2.1" }, @@ -4244,11 +4831,10 @@ } }, "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "dev": true, - "license": "Apache-2.0", "peer": true, "bin": { "tsc": "bin/tsc", @@ -4258,22 +4844,58 @@ "node": ">=14.17" } }, + "node_modules/uglify-js": { + "version": "3.19.2", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.2.tgz", + "integrity": "sha512-S8KA6DDI47nQXJSi2ctQ629YzwOVs+bQML6DAtvy0wgNdpi+0ySpQK0g2pxBq2xfF2z3YCscu7NNA8nXT9PlIQ==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/undici-types": { + "version": "6.19.6", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.6.tgz", + "integrity": "sha512-e/vggGopEfTKSvj4ihnOLTsqhrKRN3LeO6qSN/GxohhuRv8qH9bNQ4B8W7e/vFL+0XTnmHPB4/kegunZGA4Org==", + "dev": true + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } }, + "node_modules/url": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz", + "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==", + "dev": true, + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.12.3" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/url/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==", + "dev": true + }, "node_modules/util": { "version": "0.12.5", "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", @@ -4287,7 +4909,6 @@ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -4299,18 +4920,15 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dev": true, - "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", "has-tostringtag": "^1.0.2" }, "engines": { @@ -4325,17 +4943,21 @@ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, + "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": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -4348,12 +4970,41 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/ws": { + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xmlhttprequest-ssl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "license": "ISC", "engines": { "node": ">=10" } @@ -4363,7 +5014,6 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -4382,17 +5032,21 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "license": "ISC", "engines": { "node": ">=12" } }, + "node_modules/yeast": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", + "integrity": "sha512-8HFIh676uyGYP6wP13R/j6OJ/1HwJ46snpvzE7aHAN3Ryqh2yX6Xox2B4CUmTwwOIzlG3Bs7ocsP5dZH/R1Qbg==", + "dev": true + }, "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==", "dev": true, - "license": "MIT", "engines": { "node": ">=10" }, diff --git a/package.json b/package.json index 2532d39..b58c939 100644 --- a/package.json +++ b/package.json @@ -1,18 +1,16 @@ { "devDependencies": { - "@aws-sdk/client-s3": "^3.934.0", "@eslint/js": "^9.8.0", "@foundryvtt/foundryvtt-cli": "^1.0.3", + "@league-of-foundry-developers/foundry-vtt-types": "^9.280.0", "@stylistic/eslint-plugin": "^2.6.1", - "axios": "^1.13.2", - "dotenv": "^17.2.2", "eslint": "^9.8.0", - "globals": "^15.9.0" + "globals": "^15.9.0", + "sass": "^1.77.8" }, "scripts": { - "data:build": "node scripts/buildCompendia.mjs", - "data:extract": "node scripts/extractCompendia.mjs", - "link": "node scripts/linkFoundry.mjs", + "css": "sass --watch --embed-source-map --no-error-css styles/:.styles/", + "build": "sass --embed-source-map --no-error-css styles/:.styles/", "lint": "eslint --fix", "lint:nofix": "eslint" } diff --git a/scripts/createForgejoRelease.mjs b/scripts/createForgejoRelease.mjs deleted file mode 100644 index ce31668..0000000 --- a/scripts/createForgejoRelease.mjs +++ /dev/null @@ -1,52 +0,0 @@ -import axios from "axios"; - -const { - TAG, - FORGEJO_API_URL: API, - FORGEJO_REPOSITORY: REPO, - FORGEJO_TOKEN: TOKEN, - CDN_URL, -} = process.env; - -async function addReleaseAsset(releaseID, name) { - return axios.post( - `${API}/repos/${REPO}/releases/${releaseID}/assets`, - { external_url: `${CDN_URL}/${REPO}/${TAG}/${name}`, }, - { - headers: { - Authorization: `token ${TOKEN}`, - "Content-Type": `multipart/form-data`, - }, - params: { name }, - } - ); -}; - -async function main() { - - // Initial Release Data - const release = await axios.post( - `${API}/repos/${REPO}/releases`, - { - name: TAG, - tag_name: TAG, - draft: true, - hide_archive_links: true, - }, - { - headers: { Authorization: `token ${TOKEN}` }, - } - ); - - try { - await addReleaseAsset(release.data.id, `release.zip`); - await addReleaseAsset(release.data.id, `system.json`); - } catch (e) { - console.error(`Failed to add assets to the release`); - process.exit(1); - }; - - console.log(`Release created`); -}; - -main(); diff --git a/scripts/linkFoundry.mjs b/scripts/linkFoundry.mjs deleted file mode 100644 index 1cbb71a..0000000 --- a/scripts/linkFoundry.mjs +++ /dev/null @@ -1,47 +0,0 @@ -import { existsSync } from "fs"; -import { symlink, unlink } from "fs/promises"; -import { join } from "path"; -import { config } from "dotenv"; - -config({ quiet: true }); - -const root = process.env.FOUNDRY_ROOT; - -// Early exit -if (!root) { - console.error(`Must provide a FOUNDRY_ROOT environment variable`); - process.exit(1); -}; - -// Assert Foundry exists -if (!existsSync(root)) { - console.error(`Foundry root not found.`); - process.exit(1); -}; - -// Removing existing symlink -if (existsSync(`foundry`)) { - console.log(`Attempting to unlink foundry instance`); - try { - await unlink(`foundry`); - } catch { - console.error(`Failed to unlink foundry folder.`); - process.exit(1); - }; -}; - -// Account for if the root is pointing at an Electron install -let targetRoot = root; -if (existsSync(join(root, `resources`, `app`))) { - console.log(`Switching to use the "${root}/resources/app" directory`); - targetRoot = join(root, `resources`, `app`); -}; - -// Create symlink -console.log(`Linking foundry source into folder`) -try { - await symlink(targetRoot, `foundry`); -} catch (e) { - console.error(e); - process.exit(1); -}; diff --git a/scripts/prepareManifest.mjs b/scripts/prepareManifest.mjs deleted file mode 100644 index 34f4236..0000000 --- a/scripts/prepareManifest.mjs +++ /dev/null @@ -1,45 +0,0 @@ -/* -The intent of this script is to do all of the modifications of the -manifest file that we need to do in order to release the system. -This can include removing dev-only fields/attributes that end -users will never, and should never, care about nor need. -*/ -import { readFile, writeFile } from "fs/promises"; - -const MANIFEST_PATH = `system.json`; - -const { - DOWNLOAD_URL, - LATEST_URL, -} = process.env; - -let manifest; -try { - manifest = JSON.parse(await readFile(MANIFEST_PATH, `utf-8`)); - console.log(`Manifest loaded from disk`); -} catch { - console.error(`Failed to parse manifest file.`); - process.exit(1); -}; - -console.log(`Updating download/manifest URLs`) -manifest.download = DOWNLOAD_URL; -manifest.manifest = LATEST_URL; - -// Filter out dev-only resources -if (manifest.esmodules) { - console.log(`Removing dev-only esmodules`); - manifest.esmodules = manifest.esmodules.filter( - filepath => !filepath.startsWith(`dev/`) - ); -}; - -// Remove dev flags -console.log(`Cleaning up flags`); -delete manifest.flags?.hotReload; -if (Object.keys(manifest.flags).length === 0) { - delete manifest.flags; -}; - -await writeFile(MANIFEST_PATH, JSON.stringify(manifest, undefined, `\t`)); -console.log(`Manifest written back to disk`); diff --git a/scripts/tagExists.mjs b/scripts/tagExists.mjs deleted file mode 100644 index 2ddcdbd..0000000 --- a/scripts/tagExists.mjs +++ /dev/null @@ -1,38 +0,0 @@ -import axios from "axios"; - -const { - TAG_NAME, - FORGEJO_API_URL: API_URL, - FORGEJO_REPOSITORY: REPO, - FORGEJO_TOKEN: TOKEN, -} = process.env; - - -async function main() { - - if (!TAG_NAME) { - console.log(`Tag name must not be blank`); - process.exit(1); - }; - - const requestURL = `${API_URL}/repos/${REPO}/tags/${TAG_NAME}`; - - const response = await axios.get( - requestURL, - { - headers: { Authorization: `token ${TOKEN}` }, - validateStatus: () => true, - }, - ); - - // We actually *want* an error when the tag exists, instead of when - // it doesn't - if (response.status === 200) { - console.log(`Tag with name "${TAG_NAME}" already exists`); - process.exit(1); - }; - - console.log(`Tag with name "${TAG_NAME}" not found, proceeding`); -}; - -main(); diff --git a/scripts/uploadToS3.mjs b/scripts/uploadToS3.mjs deleted file mode 100644 index 50c1444..0000000 --- a/scripts/uploadToS3.mjs +++ /dev/null @@ -1,65 +0,0 @@ -import { PutObjectCommand, S3Client } from '@aws-sdk/client-s3'; -import { createReadStream } from "fs"; - -const requiredEnvVariables = [ - `TAG`, `FILE`, - `FORGEJO_REPOSITORY`, - `S3_BUCKET`, `S3_REGION`, `S3_KEY`, `S3_SECRET`, `S3_ENDPOINT`, -]; - -async function main() { - - // Assert all of the required env variables are present - const missing = []; - for (const envVar of requiredEnvVariables) { - if (!(envVar in process.env)) { - missing.push(envVar); - }; - }; - if (missing.length > 0) { - console.error(`Missing the following required environment variables: ${missing.join(`, `)}`); - process.exit(1); - }; - - const { - TAG, - S3_ENDPOINT, - S3_REGION, - S3_KEY, - S3_SECRET, - S3_BUCKET, - FILE, - FORGEJO_REPOSITORY: REPO, - } = process.env; - - const s3Client = new S3Client({ - endpoint: S3_ENDPOINT, - forcePathStyle: false, - region: S3_REGION, - credentials: { - accessKeyId: S3_KEY, - secretAccessKey: S3_SECRET - }, - }); - - const name = FILE.split(`/`).at(-1); - - const params = { - Bucket: S3_BUCKET, - Key: `${REPO}/${TAG}/${name}`, - Body: createReadStream(FILE), - ACL: "public-read", - METADATA: { - "x-repo-version": TAG, - }, - }; - - try { - const response = await s3Client.send(new PutObjectCommand(params)); - console.log("Upload successful"); - } catch (err) { - console.error("Upload to s3 failed"); - }; -}; - -main(); \ No newline at end of file diff --git a/styles/Apps/Ask.css b/styles/Apps/Ask.css index 4aca7cc..f7bb78e 100644 --- a/styles/Apps/Ask.css +++ b/styles/Apps/Ask.css @@ -23,6 +23,10 @@ display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; + + button { + flex-grow: 1; + } } label { diff --git a/styles/Apps/QueryStatus.css b/styles/Apps/QueryStatus.css deleted file mode 100644 index 4f45ff4..0000000 --- a/styles/Apps/QueryStatus.css +++ /dev/null @@ -1,33 +0,0 @@ -.taf.QueryStatus { - .user-list { - display: flex; - flex-direction: column; - gap: 4px; - list-style-type: none; - margin: 0; - padding: 0; - - li { - display: flex; - flex-direction: column; - margin: 0; - border: 1px solid rebeccapurple; - border-radius: 4px; - padding: 4px 8px; - - > .user-summary { - display: flex; - flex-direction: row; - align-items: center; - /* Same height as the icons used for loading/disconnected */ - height: 35px; - } - } - } - - .control-row { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 1rem; - } -} diff --git a/styles/Apps/ResizeControlManager.css b/styles/Apps/ResizeControlManager.css new file mode 100644 index 0000000..7783d40 --- /dev/null +++ b/styles/Apps/ResizeControlManager.css @@ -0,0 +1,20 @@ +.taf.ResizeControlManager { + fieldset { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); + align-items: center; + gap: 8px; + border: 1px solid rebeccapurple; + border-radius: 4px; + } + + .controls { + display: flex; + flex-direction: row; + gap: 8px; + + button { + flex-grow: 1; + } + } +} diff --git a/styles/Apps/TAFDocumentSheetConfig.css b/styles/Apps/TAFDocumentSheetConfig.css deleted file mode 100644 index 247c8fd..0000000 --- a/styles/Apps/TAFDocumentSheetConfig.css +++ /dev/null @@ -1,15 +0,0 @@ -.taf.sheet-config { - - section { - display: flex; - flex-direction: column; - gap: 1rem; - } - - .tab { - display: none; - } - .tab.active { - display: unset; - } -} diff --git a/styles/elements/div.css b/styles/elements/div.css deleted file mode 100644 index 69ebd5e..0000000 --- a/styles/elements/div.css +++ /dev/null @@ -1,20 +0,0 @@ -.taf > .window-content div { - &.chip { - display: inline flex; - color: var(--chip-color); - background: var(--chip-background); - border: 1px solid var(--chip-border-color); - border-radius: 4px; - - .key { - padding: 2px 4px; - } - - .value { - padding: 2px 4px; - border-radius: 0 4px 4px 0; - color: var(--chip-value-color); - background: var(--chip-value-background); - } - } -} diff --git a/styles/elements/span.css b/styles/elements/span.css deleted file mode 100644 index fcbfef3..0000000 --- a/styles/elements/span.css +++ /dev/null @@ -1,45 +0,0 @@ -@keyframes rotate { - 0% { transform: rotate(0deg); } - 50% { transform: rotate(360deg); } - 100% { transform: rotate(720deg); } -} - -@keyframes prixClipFix { - 0%, 100% { - clip-path: polygon(50% 50%,0 0,0 0,0 0,0 0,0 0); - } - 25%, 63% { - clip-path: polygon(50% 50%,0 0,100% 0,100% 0,100% 0,100% 0); - } - 37%, 50% { - clip-path: polygon(50% 50%,0 0,100% 0,100% 100%,100% 100%,100% 100%); - } -} - -.taf > .window-content span { - &.loader { - --size: 35px; - width: var(--size); - height: var(--size); - border-radius: 50%; - position: relative; - animation: rotate 2s linear infinite; - display: block; - - &::before, &::after { - content: ""; - box-sizing: border-box; - position: absolute; - inset: 0px; - border-radius: 50%; - border: 5px solid var(--spinner-outer-colour, #fff); - animation: prixClipFix 4s linear infinite; - } - - &::after{ - inset: 8px; - transform: rotate3d(90, 90, 0, 180deg ); - border-color: var(--spinner-inner-colour, #ff3d00); - } - } -} diff --git a/styles/elements/table.css b/styles/elements/table.css deleted file mode 100644 index 5f9310c..0000000 --- a/styles/elements/table.css +++ /dev/null @@ -1,21 +0,0 @@ -/* -This styling is unscoped in order to make it so that it still applies -to the chat messages which are not within a scope I control. -*/ -table.taf-query-summary { - margin: 0px; - - tr:hover > td { - background-color: var(--table-header-border-highlight); - } - - td { - padding: 4px 8px; - border: 1px solid var(--table-header-border-color); - width: 40%; - - &:first-of-type { - width: 60%; - } - } -} diff --git a/styles/elements/utils.css b/styles/elements/utils.css deleted file mode 100644 index f99356f..0000000 --- a/styles/elements/utils.css +++ /dev/null @@ -1,3 +0,0 @@ -.taf > .window-content { - .grow { flex-grow: 1; } -} \ No newline at end of file diff --git a/styles/main.css b/styles/main.css index a4c4a2c..bc257ab 100644 --- a/styles/main.css +++ b/styles/main.css @@ -3,27 +3,21 @@ /* Resets */ @import url("./resets/hr.css") layer(resets); @import url("./resets/inputs.css") layer(resets); -@import url("./resets/button.css") layer(resets); /* Themes */ @import url("./themes/dark.css") layer(themes); @import url("./themes/light.css") layer(themes); /* Elements */ -@import url("./elements/utils.css") layer(elements); -@import url("./elements/div.css") layer(elements); @import url("./elements/headers.css") layer(elements); @import url("./elements/hr.css") layer(elements); @import url("./elements/input.css") layer(elements); @import url("./elements/p.css") layer(elements); @import url("./elements/prose-mirror.css") layer(elements); -@import url("./elements/span.css") layer(elements); -@import url("./elements/table.css") layer(elements); /* Apps */ @import url("./Apps/common.css") layer(apps); @import url("./Apps/Ask.css") layer(apps); @import url("./Apps/AttributeManager.css") layer(apps); @import url("./Apps/PlayerSheet.css") layer(apps); -@import url("./Apps/QueryStatus.css") layer(apps); -@import url("./Apps/TAFDocumentSheetConfig.css") layer(apps); +@import url("./Apps/ResizeControlManager.css") layer(apps); diff --git a/styles/resets/button.css b/styles/resets/button.css deleted file mode 100644 index d04ae6e..0000000 --- a/styles/resets/button.css +++ /dev/null @@ -1,3 +0,0 @@ -.taf > .window-content button { - height: initial; -} diff --git a/styles/themes/dark.css b/styles/themes/dark.css index 53552e0..85103f7 100644 --- a/styles/themes/dark.css +++ b/styles/themes/dark.css @@ -1,13 +1,3 @@ .theme-dark { --prosemirror-background: var(--color-cool-5); - - --spinner-outer-colour: white; - --spinner-inner-colour: #FF3D00; - - /* Chip Variables */ - --chip-color: #fff7ed; - --chip-background: #2b3642; - --chip-value-color: #fff7ed; - --chip-value-background: #10161d; - --chip-border-color: var(--chip-value-background); } diff --git a/styles/themes/light.css b/styles/themes/light.css index 47cf1e9..fee3812 100644 --- a/styles/themes/light.css +++ b/styles/themes/light.css @@ -1,13 +1,3 @@ .theme-light { --prosemirror-background: white; - - --spinner-outer-colour: black; - --spinner-inner-colour: #FF3D00; - - /* Chip Variables */ - --chip-color: #18181b; - --chip-background: #fafafa; - --chip-value-color: #18181b; - --chip-value-background: #d4d4d8aa; - --chip-border-color: var(--chip-value-background); } diff --git a/system.json b/system.json index d5eee96..0f4d84a 100644 --- a/system.json +++ b/system.json @@ -2,10 +2,10 @@ "id": "taf", "title": "Text-Based Actors", "description": "An intentionally minimalist system that enables you to play rules-light games without getting in your way!", - "version": "2.4.0", - "download": "", - "manifest": "", - "url": "https://git.varify.ca/Foundry/taf", + "version": "2.3.0", + "download": "#{DOWNLOAD}#", + "manifest": "https://github.com/Eldritch-Oliver/Text-Actors-Foundry/releases/latest/download/system.json", + "url": "https://github.com/Eldritch-Oliver/Text-Actors-Foundry", "compatibility": { "minimum": 13, "verified": 13, @@ -41,11 +41,10 @@ }, "Item": {} }, - "socket": true, "flags": { "hotReload": { "extensions": ["css", "hbs", "json", "js", "mjs", "svg"], - "paths": ["templates", "langs", "styles", "module", "assets"] + "paths": ["templates", "langs", ".styles", "module", "assets"] } } } diff --git a/templates/QueryStatus/controls.hbs b/templates/QueryStatus/controls.hbs deleted file mode 100644 index d7f623f..0000000 --- a/templates/QueryStatus/controls.hbs +++ /dev/null @@ -1,8 +0,0 @@ - - - {{ localize "taf.Apps.QueryStatus.cancel-request" }} - - - {{ localize "taf.Apps.QueryStatus.finish-early" }} - - diff --git a/templates/QueryStatus/users.hbs b/templates/QueryStatus/users.hbs deleted file mode 100644 index e0c7922..0000000 --- a/templates/QueryStatus/users.hbs +++ /dev/null @@ -1,46 +0,0 @@ - - {{#each users as | user |}} - - - - {{ user.name }} - - {{#if (eq user.status "waiting")}} - - {{else if (eq user.status "disconnected")}} - - {{else if (eq user.status "unprompted")}} - - {{ localize "taf.Apps.QueryStatus.send-request" }} - - {{/if}} - - {{#if (eq user.status "finished")}} - - {{#each user.answers as | answer |}} - - - {{ @key }} - - - {{ answer }} - - - {{/each}} - - {{/if}} - - {{/each}} - diff --git a/templates/ResizeControlManager/controls.hbs b/templates/ResizeControlManager/controls.hbs new file mode 100644 index 0000000..6f62afb --- /dev/null +++ b/templates/ResizeControlManager/controls.hbs @@ -0,0 +1,7 @@ + + + Save and Close + + diff --git a/templates/ResizeControlManager/settings.hbs b/templates/ResizeControlManager/settings.hbs new file mode 100644 index 0000000..39a1f20 --- /dev/null +++ b/templates/ResizeControlManager/settings.hbs @@ -0,0 +1,29 @@ + + + Changes to these settings will only take effect after a reload of Foundry. + + + Sizing + Width + + Height + + Resizable? + + {{ taf-options resizable resizeOptions }} + + + diff --git a/templates/TAFDocumentSheetConfig/foundry.hbs b/templates/TAFDocumentSheetConfig/foundry.hbs deleted file mode 100644 index 5c0644d..0000000 --- a/templates/TAFDocumentSheetConfig/foundry.hbs +++ /dev/null @@ -1,3 +0,0 @@ - - {{> "templates/sheets/document-sheet-config.hbs" }} - diff --git a/templates/TAFDocumentSheetConfig/system.hbs b/templates/TAFDocumentSheetConfig/system.hbs deleted file mode 100644 index a39e0c8..0000000 --- a/templates/TAFDocumentSheetConfig/system.hbs +++ /dev/null @@ -1,48 +0,0 @@ - - - - {{ localize "taf.Apps.TAFDocumentSheetConfig.Sizing" }} - - - - {{ localize "taf.Apps.TAFDocumentSheetConfig.Width.label" }} - - - - - - - - {{ localize "taf.Apps.TAFDocumentSheetConfig.Height.label" }} - - - - - - - - {{ localize "taf.Apps.TAFDocumentSheetConfig.Resizable.label" }} - - - - {{ taf-options values.resizable resizeOptions }} - - - - - diff --git a/templates/query-response.hbs b/templates/query-response.hbs deleted file mode 100644 index 9a62311..0000000 --- a/templates/query-response.hbs +++ /dev/null @@ -1,16 +0,0 @@ -{{#if answers}} - - - {{ localize "taf.misc.Key" }} - {{ localize "taf.misc.Value" }} - - {{#each answers as | answer |}} - - {{ @key }} - {{ answer }} - - {{/each}} - -{{else}} - {{ localize "taf.misc.no-data-submitted" }} -{{/if}}
+ Changes to these settings will only take effect after a reload of Foundry. +