From 88e515093c131c6fbf78915d3fdbd665b74ea0a7 Mon Sep 17 00:00:00 2001 From: Aditya Toshniwal Date: Thu, 28 Nov 2024 10:13:57 +0530 Subject: [PATCH] Show auto-complete column names in filtered rows dialog of table and filter options of view/edit data tool. #3751 Allow setting NULL ordering for columns in view/edit data filter dialog. #3317 --- docs/en_US/editgrid.rst | 1 + docs/en_US/images/editgrid_filter_dialog.png | Bin 26710 -> 47935 bytes docs/en_US/release_notes_8_14.rst | 3 + web/pgadmin/static/js/SchemaView/FormView.jsx | 6 +- .../static/js/SchemaView/StyledComponents.jsx | 6 +- web/pgadmin/static/js/UtilityView.jsx | 6 +- .../static/js/components/FormComponents.jsx | 10 +- .../ReactCodeMirror/components/Editor.jsx | 4 +- .../js/components/dialogs/FilterDialog.jsx | 32 +- .../sqleditor/static/js/show_view_data.js | 43 +- .../sqleditor/sql/default/objectquery.sql | 2 +- web/yarn.lock | 1040 ++++++++--------- 12 files changed, 597 insertions(+), 556 deletions(-) diff --git a/docs/en_US/editgrid.rst b/docs/en_US/editgrid.rst index 663c75fb3..701c48d92 100644 --- a/docs/en_US/editgrid.rst +++ b/docs/en_US/editgrid.rst @@ -212,6 +212,7 @@ To add new column(s) in data sorting grid, click on the [+] icon. * Use the drop-down *Column* to select the column you want to sort. * Use the drop-down *Order* to select the sort order for the column. +* Use the drop-down *NULLs* to select the NULL values order for the column. To delete a row from the grid, click the trash icon. diff --git a/docs/en_US/images/editgrid_filter_dialog.png b/docs/en_US/images/editgrid_filter_dialog.png index 8bf135a84f8879110b20870840a762d473b95810..f381de920fe0df1cb8cff449b683e0f450e4488d 100644 GIT binary patch literal 47935 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 b>KF)za;NmGj>^Kv*q?_wkMC7$J4F3I1R}Ju literal 26710 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 Ri7NknB`>WaRUu&l`G2rrvwZ*n diff --git a/docs/en_US/release_notes_8_14.rst b/docs/en_US/release_notes_8_14.rst index eb6d5c756..13d24e108 100644 --- a/docs/en_US/release_notes_8_14.rst +++ b/docs/en_US/release_notes_8_14.rst @@ -20,9 +20,12 @@ Bundled PostgreSQL Utilities New features ************ + | `Issue #3317 `_ - Allow setting NULL ordering for columns in view/edit data filter dialog. + | `Issue #3751 `_ - Show auto-complete column names in filtered rows dialog of table and filter options of view/edit data tool. | `Issue #5786 `_ - Allow the use of a pgpass file in the pgAdmin container via Docker secrets. | `Issue #6592 `_ - Fixed multiple issues and improved ERD auto-layout. | `Issue #8095 `_ - Added support for a builtin locale provider in the Database dialog. + | `Issue #8134 `_ - Add a user preference to enable/disable alternating row background colors in the data output of query tool. Housekeeping ************ diff --git a/web/pgadmin/static/js/SchemaView/FormView.jsx b/web/pgadmin/static/js/SchemaView/FormView.jsx index 32cd03c53..f1e05196e 100644 --- a/web/pgadmin/static/js/SchemaView/FormView.jsx +++ b/web/pgadmin/static/js/SchemaView/FormView.jsx @@ -260,7 +260,8 @@ export default function FormView({ let contentClassName = [ isSingleCollection() ? 'FormView-singleCollectionPanelContent' : 'FormView-nonTabPanelContent', - (schemaState.errors?.message ? 'FormView-errorMargin' : null) + (schemaState.errors?.message ? 'FormView-errorMargin' : null), + (finalGroups.some((g)=>g.isFullTab) ? 'FormView-fullControl' : ''), ]; return ( <> @@ -275,7 +276,8 @@ export default function FormView({ classNameRoot={[ isSingleCollection() ? 'FormView-singleCollectionPanel' : 'FormView-nonTabPanel', - className + className, + (finalGroups.some((g)=>g.isFullTab) ? 'FormView-fullSpace' : ''), ].join(' ')} className={contentClassName.join(' ')}> { diff --git a/web/pgadmin/static/js/SchemaView/StyledComponents.jsx b/web/pgadmin/static/js/SchemaView/StyledComponents.jsx index 1d67efc4a..4b0c18f37 100644 --- a/web/pgadmin/static/js/SchemaView/StyledComponents.jsx +++ b/web/pgadmin/static/js/SchemaView/StyledComponents.jsx @@ -144,7 +144,7 @@ export const FormContentBox = styled(Box)(({theme}) => ({ '& .FormView-fullControl': { display: 'flex', flexDirection: 'column', - '& .FormView-sqlTabInput': { + '& .FormView-sqlTabInput, & .Form-sql': { border: 0, }, } @@ -152,7 +152,9 @@ export const FormContentBox = styled(Box)(({theme}) => ({ '& .FormView-nonTabPanel': { ...theme.mixins.tabPanel, '& .FormView-nonTabPanelContent': { - height: 'unset', + '&:not(.FormView-fullControl)': { + height: 'unset', + }, '& .FormView-controlRow': { marginBottom: theme.spacing(1), }, diff --git a/web/pgadmin/static/js/UtilityView.jsx b/web/pgadmin/static/js/UtilityView.jsx index 3d1f617a4..997693985 100644 --- a/web/pgadmin/static/js/UtilityView.jsx +++ b/web/pgadmin/static/js/UtilityView.jsx @@ -41,7 +41,7 @@ export default function UtilityView({dockerObj}) { ) diff --git a/web/pgadmin/static/js/components/FormComponents.jsx b/web/pgadmin/static/js/components/FormComponents.jsx index 672966b1c..d8b7e5900 100644 --- a/web/pgadmin/static/js/components/FormComponents.jsx +++ b/web/pgadmin/static/js/components/FormComponents.jsx @@ -190,9 +190,10 @@ FormInput.propTypes = { labelTooltip: PropTypes.string }; -export function InputSQL({ value, options, onChange, className, controlProps, inputRef, ...props }) { +export function InputSQL({ value, options={}, onChange, className, controlProps, inputRef, ...props }) { const editor = useRef(); + const { autocompleteProvider, autocompleteOnKeyPress } = options; return ( @@ -200,13 +201,18 @@ export function InputSQL({ value, options, onChange, className, controlProps, in currEditor={(obj) => { editor.current = obj; inputRef?.(obj); + if(autocompleteProvider) { + editor.current.registerAutocomplete(autocompleteProvider); + } }} value={value || ''} options={{ - ...options, + ..._.omit(options, ['autocompleteProvider', 'autocompleteOnKeyPress']), }} className={'Form-sql ' + className} onChange={onChange} + autocomplete={true} + autocompleteOnKeyPress={autocompleteOnKeyPress} {...controlProps} {...props} /> diff --git a/web/pgadmin/static/js/components/ReactCodeMirror/components/Editor.jsx b/web/pgadmin/static/js/components/ReactCodeMirror/components/Editor.jsx index 34646fa31..3d3a38a4b 100644 --- a/web/pgadmin/static/js/components/ReactCodeMirror/components/Editor.jsx +++ b/web/pgadmin/static/js/components/ReactCodeMirror/components/Editor.jsx @@ -165,7 +165,7 @@ const defaultExtensions = [ export default function Editor({ currEditor, name, value, options, onCursorActivity, onChange, readonly, - disabled, autocomplete = false, breakpoint = false, onBreakPointChange, + disabled, autocomplete = false, autocompleteOnKeyPress, breakpoint = false, onBreakPointChange, showActiveLine=false, keepHistory = true, cid, helpid, labelledBy, customKeyMap, language='pgsql' }) { @@ -331,7 +331,7 @@ export default function Editor({ }], }; if (autocomplete) { - if (pref.autocomplete_on_key_press) { + if (pref.autocomplete_on_key_press || autocompleteOnKeyPress) { newConfigExtn.push(autocompletion({ ...autoCompOptions, activateOnTyping: true, diff --git a/web/pgadmin/tools/sqleditor/static/js/components/dialogs/FilterDialog.jsx b/web/pgadmin/tools/sqleditor/static/js/components/dialogs/FilterDialog.jsx index f923459c8..d0e5a263b 100644 --- a/web/pgadmin/tools/sqleditor/static/js/components/dialogs/FilterDialog.jsx +++ b/web/pgadmin/tools/sqleditor/static/js/components/dialogs/FilterDialog.jsx @@ -27,7 +27,8 @@ class SortingCollection extends BaseUISchema { { id: 'name', label: gettext('Column'), cell: 'select', controlProps: { allowClear: false, - }, noEmpty: true, options: this.columnOptions, optionsReloadBasis: this.reloadColOptions + }, noEmpty: true, options: this.columnOptions, optionsReloadBasis: this.reloadColOptions, + width: 300, }, { id: 'order', label: gettext('Order'), cell: 'select', controlProps: { @@ -35,7 +36,17 @@ class SortingCollection extends BaseUISchema { }, options: [ {label: gettext('ASC'), value: 'asc'}, {label: gettext('DESC'), value: 'desc'}, - ] + ], + width: 150, + }, + { + id: 'order_null', label: gettext('NULLs'), cell: 'select', controlProps: { + allowClear: true, + }, options: [ + {label: gettext('FIRST'), value: 'nulls first'}, + {label: gettext('LAST'), value: 'nulls last'}, + ], + width: 150, }, ]; } @@ -62,6 +73,23 @@ class FilterSchema extends BaseUISchema { options: { lineWrapping: true, }, + autocompleteOnKeyPress: true, + autocompleteProvider: (context, onAvailable)=>{ + return new Promise((resolve)=>{ + const word = context.matchBefore(/\w*/); + const fullSql = context.state.doc.toString(); + onAvailable(); + resolve({ + from: word.from, + options: (this.sortingCollObj.columnOptions??[]).map((col)=>({ + label: col.label, type: 'property', + })), + validFor: (text, from)=>{ + return text.startsWith(fullSql.slice(from)); + } + }); + }); + } } }, { diff --git a/web/pgadmin/tools/sqleditor/static/js/show_view_data.js b/web/pgadmin/tools/sqleditor/static/js/show_view_data.js index f5eb2dc8b..5462c73e3 100644 --- a/web/pgadmin/tools/sqleditor/static/js/show_view_data.js +++ b/web/pgadmin/tools/sqleditor/static/js/show_view_data.js @@ -14,16 +14,15 @@ import _ from 'lodash'; import { isEmptyString } from 'sources/validators'; import usePreferences from '../../../../preferences/static/js/store'; import pgAdmin from 'sources/pgadmin'; +import { getNodeListByName } from '../../../../browser/static/js/node_ajax'; export default class DataFilterSchema extends BaseUISchema { - constructor(fieldOptions = {}) { + constructor(getColumns) { super({ filter_sql: '' }); - this.fieldOptions = { - ...fieldOptions, - }; + this.getColumns = getColumns; } get baseFields() { @@ -31,6 +30,31 @@ export default class DataFilterSchema extends BaseUISchema { id: 'filter_sql', label: gettext('Data Filter'), type: 'sql', isFullTab: true, cell: 'text', + controlProps: { + autocompleteOnKeyPress: true, + autocompleteProvider: (context, onAvailable)=>{ + return new Promise((resolve, reject)=>{ + const word = context.matchBefore(/\w*/); + const fullSql = context.state.doc.toString(); + this.getColumns().then((columns) => { + onAvailable(); + resolve({ + from: word.from, + options: (columns??[]).map((col)=>({ + label: col.label, type: 'property', + })), + validFor: (text, from)=>{ + return text.startsWith(fullSql.slice(from)); + } + }); + }) + .catch((err) => { + onAvailable(); + reject(err instanceof Error ? err : Error(gettext('Something went wrong'))); + }); + }); + } + } }]; } @@ -64,8 +88,7 @@ export function showViewData( return; } - const parentData = pgBrowser.tree.getTreeNodeHierarchy( treeIdentifier - ); + const parentData = pgBrowser.tree.getTreeNodeHierarchy(treeIdentifier); if (hasServerOrDatabaseConfiguration(parentData) || !hasSchemaOrCatalogOrViewInformation(parentData)) { @@ -157,7 +180,11 @@ function generateFilterValidateUrl(nodeData, parentData) { function showFilterDialog(pgBrowser, item, queryToolMod, transId, gridUrl, queryToolTitle, validateUrl) { - let schema = new DataFilterSchema(); + const treeNodeInfo = pgBrowser.tree.getTreeNodeHierarchy(item); + const itemNodeData = pgBrowser.tree.findNodeByDomElement(item).getData(); + let schema = new DataFilterSchema( + ()=>getNodeListByName('column', treeNodeInfo, itemNodeData), + ); let helpUrl = url_for('help.static', {'filename': 'viewdata_filter.html'}); let okCallback = function() { @@ -168,7 +195,7 @@ function showFilterDialog(pgBrowser, item, queryToolMod, transId, gettext('Data Filter - %s', queryToolTitle),{ schema, urlBase: validateUrl, helpUrl, saveBtnName: gettext('OK'), isTabView: false, onSave: okCallback, - }, pgBrowser.stdW.md, pgBrowser.stdH.sm + }, pgBrowser.stdW.md, pgBrowser.stdH.md ); } diff --git a/web/pgadmin/tools/sqleditor/templates/sqleditor/sql/default/objectquery.sql b/web/pgadmin/tools/sqleditor/templates/sqleditor/sql/default/objectquery.sql index 915d118a7..93f6a5d42 100644 --- a/web/pgadmin/tools/sqleditor/templates/sqleditor/sql/default/objectquery.sql +++ b/web/pgadmin/tools/sqleditor/templates/sqleditor/sql/default/objectquery.sql @@ -5,7 +5,7 @@ WHERE {{ sql_filter }} {% endif %} {% if data_sorting and data_sorting|length > 0 %} ORDER BY {% for obj in data_sorting %} -{{ conn|qtIdent(obj.name) }} {{ obj.order|upper }}{% if not loop.last %}, {% else %} {% endif %} +{{ conn|qtIdent(obj.name) }} {{ obj.order|upper }}{% if obj.order_null %} {{ obj.order_null|upper }}{% endif %}{% if not loop.last %}, {% else %} {% endif %} {% endfor %} {% endif %} {% if limit > 0 %} diff --git a/web/yarn.lock b/web/yarn.lock index 892586668..ad12e9add 100644 --- a/web/yarn.lock +++ b/web/yarn.lock @@ -6,9 +6,9 @@ __metadata: cacheKey: 8 "@adobe/css-tools@npm:^4.4.0": - version: 4.4.0 - resolution: "@adobe/css-tools@npm:4.4.0" - checksum: 1f08fb49bf17fc7f2d1a86d3e739f29ca80063d28168307f1b0a962ef37501c5667271f6771966578897f2e94e43c4770fd802728a6e6495b812da54112d506a + version: 4.4.1 + resolution: "@adobe/css-tools@npm:4.4.1" + checksum: bbded8a03c314afee0fb0b42922f664f437e0e2f0b86eeeb06dee9d02cd8fc958cf87aa3314952b00074e0b22fc5b8da23f45b61b6f8291c8aaa7cffc56a76e9 languageName: node linkType: hard @@ -164,9 +164,9 @@ __metadata: languageName: node linkType: hard -"@babel/helper-define-polyfill-provider@npm:^0.6.2": - version: 0.6.2 - resolution: "@babel/helper-define-polyfill-provider@npm:0.6.2" +"@babel/helper-define-polyfill-provider@npm:^0.6.2, @babel/helper-define-polyfill-provider@npm:^0.6.3": + version: 0.6.3 + resolution: "@babel/helper-define-polyfill-provider@npm:0.6.3" dependencies: "@babel/helper-compilation-targets": ^7.22.6 "@babel/helper-plugin-utils": ^7.22.5 @@ -175,7 +175,7 @@ __metadata: resolve: ^1.14.2 peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 2bba965ea9a4887ddf9c11d51d740ab473bd7597b787d042c325f6a45912dfe908c2d6bb1d837bf82f7e9fa51e6ad5150563c58131d2bb85515e63d971414a9c + checksum: 710e6d8a5391736b9f53f09d0494575c2e03de199ad8d1349bc8e514cb85251ea1f1842c2ff44830849d482052ddb42ae931101002a87a263b12f649c2e57c01 languageName: node linkType: hard @@ -1488,8 +1488,8 @@ __metadata: linkType: hard "@codemirror/autocomplete@npm:^6.0.0": - version: 6.18.2 - resolution: "@codemirror/autocomplete@npm:6.18.2" + version: 6.18.3 + resolution: "@codemirror/autocomplete@npm:6.18.3" dependencies: "@codemirror/language": ^6.0.0 "@codemirror/state": ^6.0.0 @@ -1500,7 +1500,7 @@ __metadata: "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.0.0 "@lezer/common": ^1.0.0 - checksum: 96df3ad16ad187784175cfcc6a08272794c920ac6ae3f35ff4e68790e84bbf556a3b25af5f35458172db21f49d77b90496b5ee180f8612f7a83c2656c68ed571 + checksum: 48f3a09e05a2ab236641c3df0dbd577ef4c04da8ea8c26c47bc90f5652342a62d6e736e6b89428a85ff50efe039c01f0f0864134914a40a1513a4d57024cbb76 languageName: node linkType: hard @@ -1541,8 +1541,8 @@ __metadata: linkType: hard "@codemirror/language@npm:^6.0.0": - version: 6.10.3 - resolution: "@codemirror/language@npm:6.10.3" + version: 6.10.4 + resolution: "@codemirror/language@npm:6.10.4" dependencies: "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.23.0 @@ -1550,29 +1550,29 @@ __metadata: "@lezer/highlight": ^1.0.0 "@lezer/lr": ^1.0.0 style-mod: ^4.0.0 - checksum: 53fb72299500f63706f78c888d6b5fd81043ea11ea2fa4c72c13c6d4794bb6f4ec29450208c56b4f40e839984b3dc73505262803fa61416baf588da389a7c577 + checksum: 424be3d1cac32f70acfb3c6f1e6fa5568544e4e2d2010a6f7f998bd88dfd7e9a94e9d8a5b8dcda4d1ddf60f0250433d27bf44adf95e4b4d6fc54a81366213592 languageName: node linkType: hard "@codemirror/lint@npm:^6.0.0": - version: 6.8.2 - resolution: "@codemirror/lint@npm:6.8.2" + version: 6.8.3 + resolution: "@codemirror/lint@npm:6.8.3" dependencies: "@codemirror/state": ^6.0.0 - "@codemirror/view": ^6.0.0 + "@codemirror/view": ^6.35.0 crelt: ^1.0.5 - checksum: 714fe911c2d600350ea8ca0f65ceb2de25ace511e71bf174a550ba0aefc9884ec4e099f0f500b55bfd0fccbd7fe3a342a0048ff5a49c8c20020ea16cc8bff3c3 + checksum: fa27018d61fe41c282fb4226d577f8633f6a58aa3c4f7cce5d7a954c2410cdf30425067be6c14df7941551b05b224471636ba3399763d2864cd330523583a94c languageName: node linkType: hard "@codemirror/search@npm:^6.0.0": - version: 6.5.6 - resolution: "@codemirror/search@npm:6.5.6" + version: 6.5.8 + resolution: "@codemirror/search@npm:6.5.8" dependencies: "@codemirror/state": ^6.0.0 "@codemirror/view": ^6.0.0 crelt: ^1.0.5 - checksum: 19dc88d09fc750563347001e83c6194bbb2a25c874bd919d2d81809e1f98d6330222ddbd284aa9758a09eeb41fd153ec7c2cf810b2ee51452c25963d7f5833d5 + checksum: 0f9633037492a7b647b606c30255ea42c4327319e643be7ea3aa2913ed8e4aa662589f457e376636521c7d4d1215fae0e8939f127db9c0790b19ae3b654c3bc4 languageName: node linkType: hard @@ -1583,14 +1583,14 @@ __metadata: languageName: node linkType: hard -"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0": - version: 6.34.1 - resolution: "@codemirror/view@npm:6.34.1" +"@codemirror/view@npm:^6.0.0, @codemirror/view@npm:^6.17.0, @codemirror/view@npm:^6.23.0, @codemirror/view@npm:^6.27.0, @codemirror/view@npm:^6.35.0": + version: 6.35.0 + resolution: "@codemirror/view@npm:6.35.0" dependencies: "@codemirror/state": ^6.4.0 style-mod: ^4.1.0 w3c-keyname: ^2.2.4 - checksum: 5c7bf199f0b45a3cc192f08c2ac89e5ab972f313cb4f2c979edf6e05b27bccd60c6cb42d5dacb6813ef3a928d75476eb0a00ffdeffd7431c8e9f44bab4f6e12e + checksum: 8584d354df2147f07bb184a2443d6451db25f7a63c09644fc705c695e100042141f5162058718c495eb1c51fbab5eb37814bb72fc1ddf968e855def669a43193 languageName: node linkType: hard @@ -1622,39 +1622,26 @@ __metadata: languageName: node linkType: hard -"@emotion/babel-plugin@npm:^11.12.0": - version: 11.12.0 - resolution: "@emotion/babel-plugin@npm:11.12.0" +"@emotion/babel-plugin@npm:^11.13.5": + version: 11.13.5 + resolution: "@emotion/babel-plugin@npm:11.13.5" dependencies: "@babel/helper-module-imports": ^7.16.7 "@babel/runtime": ^7.18.3 "@emotion/hash": ^0.9.2 "@emotion/memoize": ^0.9.0 - "@emotion/serialize": ^1.2.0 + "@emotion/serialize": ^1.3.3 babel-plugin-macros: ^3.1.0 convert-source-map: ^1.5.0 escape-string-regexp: ^4.0.0 find-root: ^1.1.0 source-map: ^0.5.7 stylis: 4.2.0 - checksum: b5d4b3dfe97e6763794a42b5c3a027a560caa1aa6dcaf05c18e5969691368dd08245c077bad7397dcc720b53d29caeaaec1888121e68cfd9ab02ff52f6fef662 + checksum: c41df7e6c19520e76d1939f884be878bf88b5ba00bd3de9d05c5b6c5baa5051686ab124d7317a0645de1b017b574d8139ae1d6390ec267fbe8e85a5252afb542 languageName: node linkType: hard -"@emotion/cache@npm:^11.13.0, @emotion/cache@npm:^11.4.0": - version: 11.13.1 - resolution: "@emotion/cache@npm:11.13.1" - dependencies: - "@emotion/memoize": ^0.9.0 - "@emotion/sheet": ^1.4.0 - "@emotion/utils": ^1.4.0 - "@emotion/weak-memoize": ^0.4.0 - stylis: 4.2.0 - checksum: 94b161786a03a08a1e30257478fad9a9be1ac8585ddca0c6410d7411fd474fc8b0d6d1167d7d15bdb012d1fd8a1220ac2bbc79501ad9b292b83c17da0874d7de - languageName: node - linkType: hard - -"@emotion/cache@npm:^11.13.1": +"@emotion/cache@npm:^11.13.1, @emotion/cache@npm:^11.13.5, @emotion/cache@npm:^11.4.0": version: 11.13.5 resolution: "@emotion/cache@npm:11.13.5" dependencies: @@ -1691,15 +1678,15 @@ __metadata: linkType: hard "@emotion/react@npm:^11.11.1, @emotion/react@npm:^11.11.3, @emotion/react@npm:^11.8.1": - version: 11.13.3 - resolution: "@emotion/react@npm:11.13.3" + version: 11.13.5 + resolution: "@emotion/react@npm:11.13.5" dependencies: "@babel/runtime": ^7.18.3 - "@emotion/babel-plugin": ^11.12.0 - "@emotion/cache": ^11.13.0 - "@emotion/serialize": ^1.3.1 + "@emotion/babel-plugin": ^11.13.5 + "@emotion/cache": ^11.13.5 + "@emotion/serialize": ^1.3.3 "@emotion/use-insertion-effect-with-fallbacks": ^1.1.0 - "@emotion/utils": ^1.4.0 + "@emotion/utils": ^1.4.2 "@emotion/weak-memoize": ^0.4.0 hoist-non-react-statics: ^3.3.1 peerDependencies: @@ -1707,24 +1694,11 @@ __metadata: peerDependenciesMeta: "@types/react": optional: true - checksum: 0b58374bf28de914b49881f0060acfb908989869ebab63a2287773fc5e91a39f15552632b03d376c3e9835c5b4f23a5ebac8b0963b29af164d46c0a77ac928f0 + checksum: 25c6572bdb1472d622a41817881628eb311deafe507bbb1be95c6a4c2c23a19bdd011c368d5794c5a17a1fdf2b5db327480a4c0b85d9322078d531289c163225 languageName: node linkType: hard -"@emotion/serialize@npm:^1.2.0, @emotion/serialize@npm:^1.3.0, @emotion/serialize@npm:^1.3.1": - version: 1.3.2 - resolution: "@emotion/serialize@npm:1.3.2" - dependencies: - "@emotion/hash": ^0.9.2 - "@emotion/memoize": ^0.9.0 - "@emotion/unitless": ^0.10.0 - "@emotion/utils": ^1.4.1 - csstype: ^3.0.2 - checksum: 8051bafe32459e1aecf716cdb66a22b090060806104cca89d4e664893b56878d3e9bb94a4657df9b7b3fd183700a9be72f7144c959ddcbd3cf7b330206919237 - languageName: node - linkType: hard - -"@emotion/serialize@npm:^1.3.2": +"@emotion/serialize@npm:^1.3.2, @emotion/serialize@npm:^1.3.3": version: 1.3.3 resolution: "@emotion/serialize@npm:1.3.3" dependencies: @@ -1745,22 +1719,22 @@ __metadata: linkType: hard "@emotion/styled@npm:^11.*, @emotion/styled@npm:^11.11.0": - version: 11.13.0 - resolution: "@emotion/styled@npm:11.13.0" + version: 11.13.5 + resolution: "@emotion/styled@npm:11.13.5" dependencies: "@babel/runtime": ^7.18.3 - "@emotion/babel-plugin": ^11.12.0 + "@emotion/babel-plugin": ^11.13.5 "@emotion/is-prop-valid": ^1.3.0 - "@emotion/serialize": ^1.3.0 + "@emotion/serialize": ^1.3.3 "@emotion/use-insertion-effect-with-fallbacks": ^1.1.0 - "@emotion/utils": ^1.4.0 + "@emotion/utils": ^1.4.2 peerDependencies: "@emotion/react": ^11.0.0-rc.0 react: ">=16.8.0" peerDependenciesMeta: "@types/react": optional: true - checksum: f5b951059418f57bc8ea32b238afb25965ece3314f2ffd1b14ce049ba3c066a424990dfbfabbf57bb88e044eaa80bf19f620ac988adda3d2fc483177be6da05e + checksum: 316b3e9f98fc9d3faa54a990ad7f3805611c76a4ebffac9a6c28b6e7e9dd6e9343e9b80c79617af7f64524081a606f3789a89373abf67362fa138028f91b62af languageName: node linkType: hard @@ -1780,14 +1754,7 @@ __metadata: languageName: node linkType: hard -"@emotion/utils@npm:^1.0.0, @emotion/utils@npm:^1.4.0, @emotion/utils@npm:^1.4.1": - version: 1.4.1 - resolution: "@emotion/utils@npm:1.4.1" - checksum: 088f6844c735981f53c84a76101cf261422301e7895cb37fea6a47e7950247ffa8ca174ca2a15d9b29a47f0fa831b432017ca7683bccbb5cfd78dda82743d856 - languageName: node - linkType: hard - -"@emotion/utils@npm:^1.4.2": +"@emotion/utils@npm:^1.0.0, @emotion/utils@npm:^1.4.2": version: 1.4.2 resolution: "@emotion/utils@npm:1.4.2" checksum: 04cf76849c6401205c058b82689fd0ec5bf501aed6974880fe9681a1d61543efb97e848f4c38664ac4a9068c7ad2d1cb84f73bde6cf95f1208aa3c28e0190321 @@ -1812,34 +1779,34 @@ __metadata: languageName: node linkType: hard -"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.11.0": +"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1": version: 4.12.1 resolution: "@eslint-community/regexpp@npm:4.12.1" checksum: 0d628680e204bc316d545b4993d3658427ca404ae646ce541fcc65306b8c712c340e5e573e30fb9f85f4855c0c5f6dca9868931f2fcced06417fbe1a0c6cd2d6 languageName: node linkType: hard -"@eslint/config-array@npm:^0.18.0": - version: 0.18.0 - resolution: "@eslint/config-array@npm:0.18.0" +"@eslint/config-array@npm:^0.19.0": + version: 0.19.0 + resolution: "@eslint/config-array@npm:0.19.0" dependencies: "@eslint/object-schema": ^2.1.4 debug: ^4.3.1 minimatch: ^3.1.2 - checksum: 5ff748e1788745bfb3160c3b3151d62a7c054e336e9fe8069e86cfa6106f3abbd59b24f1253122268295f98c66803e9a7b23d7f947a8c00f62d2060cc44bc7fc + checksum: ceeddd3733316cbc7f1e61fc2906fedeaefdf1b3cf363726714dea0e9dece378a2b233cb6429d7d87534707a1dd2e5efb0197749553834ee30aee817820a71aa languageName: node linkType: hard -"@eslint/core@npm:^0.7.0": - version: 0.7.0 - resolution: "@eslint/core@npm:0.7.0" - checksum: 91d4aa2805f356fb0bba693411deab91590472666e22c9c03304ba03b288b74403a5e120db16d0926ea94281e15563a8d4d519cd1e565d514e2d5015a84b8575 +"@eslint/core@npm:^0.9.0": + version: 0.9.0 + resolution: "@eslint/core@npm:0.9.0" + checksum: ea8ded3eba82d9451eca7e989c4ebf1dca95bc705e70cd2f3e55cc576e851183778344632de410d8cd9f85e862fd88fb8fda510aad00698765aec3110533af82 languageName: node linkType: hard -"@eslint/eslintrc@npm:^3.1.0": - version: 3.1.0 - resolution: "@eslint/eslintrc@npm:3.1.0" +"@eslint/eslintrc@npm:^3.2.0": + version: 3.2.0 + resolution: "@eslint/eslintrc@npm:3.2.0" dependencies: ajv: ^6.12.4 debug: ^4.3.2 @@ -1850,14 +1817,14 @@ __metadata: js-yaml: ^4.1.0 minimatch: ^3.1.2 strip-json-comments: ^3.1.1 - checksum: b0a9bbd98c8b9e0f4d975b042ff9b874dde722b20834ea2ff46551c3de740d4f10f56c449b790ef34d7f82147cbddfc22b004a43cc885dbc2664bb134766b5e4 + checksum: c898e4d12f4c9a79a61ee3c91e38eea5627a04e021cb749191e8537445858bfe32f810eca0cb2dc9902b8ad8b65ca07ef7221dc4bad52afe60cbbf50ec56c236 languageName: node linkType: hard -"@eslint/js@npm:9.13.0": - version: 9.13.0 - resolution: "@eslint/js@npm:9.13.0" - checksum: ad5dd72aa75bd8d5bd3c1ffe68cf748aed7edef5fcf97193eb52af35dbb89a1999f526a0e2c169ef5572afbbbbb5f37d6fd0af2991d9ccdc29f753da5cc0f532 +"@eslint/js@npm:9.15.0": + version: 9.15.0 + resolution: "@eslint/js@npm:9.15.0" + checksum: 8b2aa35b62c1969c5e3aa5e33b4e072cc450b95ee9bc08b5a84aa5cbed10a01a9a8f0463b8bb3768ceeb5abfaa82abfb95650061338c3b467835757b62ffc4ba languageName: node linkType: hard @@ -1868,7 +1835,7 @@ __metadata: languageName: node linkType: hard -"@eslint/plugin-kit@npm:^0.2.0": +"@eslint/plugin-kit@npm:^0.2.3": version: 0.2.3 resolution: "@eslint/plugin-kit@npm:0.2.3" dependencies: @@ -1916,9 +1883,9 @@ __metadata: linkType: hard "@fortawesome/fontawesome-free@npm:latest": - version: 6.6.0 - resolution: "@fortawesome/fontawesome-free@npm:6.6.0" - checksum: 44ad86efbf3835c9d54aedb9e39065853bff7d81309e3c7ea7848227ec3d017f9c3db4844dc6abbbb21b3e96384b038cff2b86e8caf7d925ac2d8239915aa043 + version: 6.7.1 + resolution: "@fortawesome/fontawesome-free@npm:6.7.1" + checksum: 0656801e7918541c65cdcdfcdcf004c9b4bcc1ce4df633f9465ad539820a31f2afdc57612730d9a4f4b6b2d4c3349eac0e367e67b554e8f9867372cac1f700a6 languageName: node linkType: hard @@ -1936,7 +1903,7 @@ __metadata: languageName: node linkType: hard -"@humanfs/node@npm:^0.16.5": +"@humanfs/node@npm:^0.16.6": version: 0.16.6 resolution: "@humanfs/node@npm:0.16.6" dependencies: @@ -1953,13 +1920,20 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/retry@npm:^0.3.0, @humanwhocodes/retry@npm:^0.3.1": +"@humanwhocodes/retry@npm:^0.3.0": version: 0.3.1 resolution: "@humanwhocodes/retry@npm:0.3.1" checksum: 7e5517bb51dbea3e02ab6cacef59a8f4b0ca023fc4b0b8cbc40de0ad29f46edd50b897c6e7fba79366a0217e3f48e2da8975056f6c35cfe19d9cc48f1d03c1dd languageName: node linkType: hard +"@humanwhocodes/retry@npm:^0.4.1": + version: 0.4.1 + resolution: "@humanwhocodes/retry@npm:0.4.1" + checksum: f11167c28e8266faba470fd273cbaafe2827523492bc18c5623015adb7ed66f46b2e542e3d756fed9ca614300249267814220c2f5f03a59e07fdfa64fc14ad52 + languageName: node + linkType: hard + "@isaacs/cliui@npm:^8.0.2": version: 8.0.2 resolution: "@isaacs/cliui@npm:8.0.2" @@ -2502,27 +2476,7 @@ __metadata: languageName: node linkType: hard -"@mui/utils@npm:^5.16.6 || ^6.0.0": - version: 6.1.6 - resolution: "@mui/utils@npm:6.1.6" - dependencies: - "@babel/runtime": ^7.26.0 - "@mui/types": ^7.2.19 - "@types/prop-types": ^15.7.13 - clsx: ^2.1.1 - prop-types: ^15.8.1 - react-is: ^18.3.1 - peerDependencies: - "@types/react": ^17.0.0 || ^18.0.0 || ^19.0.0 - react: ^17.0.0 || ^18.0.0 || ^19.0.0 - peerDependenciesMeta: - "@types/react": - optional: true - checksum: a2ec3c8b5e5238d639d75749bb7b78cf59643b604b5ef5534cec3a54af57e0886da2bbf5123c44878bc651d93aff15d1552f62d5e1602c023d61c123520f5b7c - languageName: node - linkType: hard - -"@mui/utils@npm:^6.0.0-alpha.1, @mui/utils@npm:^6.0.0-alpha.3, @mui/utils@npm:^6.1.8": +"@mui/utils@npm:^5.16.6 || ^6.0.0, @mui/utils@npm:^6.0.0-alpha.1, @mui/utils@npm:^6.0.0-alpha.3, @mui/utils@npm:^6.1.8": version: 6.1.8 resolution: "@mui/utils@npm:6.1.8" dependencies: @@ -3068,15 +3022,15 @@ __metadata: linkType: hard "@szhsin/react-menu@npm:^4.2.2": - version: 4.2.2 - resolution: "@szhsin/react-menu@npm:4.2.2" + version: 4.2.3 + resolution: "@szhsin/react-menu@npm:4.2.3" dependencies: prop-types: ^15.7.2 - react-transition-state: ^2.1.0 + react-transition-state: ^2.1.2 peerDependencies: react: ">=16.14.0" react-dom: ">=16.14.0" - checksum: b65c231e5a5fb258aa3211c6acc93b805df2992b55dcbd791535745b1a1670ce4ee3ecdf83e271621cfc3f78fed5e8768c32004fc0fe3d1ef4f93c6a53b41086 + checksum: 890409f1ea7dc79e4d9178186d14f6536f427d3ac3b442d98507d101bb8e1bb87f5ee941d088f0c89144cd16625ffd138f813f78961be200056fae5b61cc0680 languageName: node linkType: hard @@ -3111,14 +3065,14 @@ __metadata: linkType: hard "@tanstack/react-virtual@npm:^3.8.4": - version: 3.10.8 - resolution: "@tanstack/react-virtual@npm:3.10.8" + version: 3.10.9 + resolution: "@tanstack/react-virtual@npm:3.10.9" dependencies: - "@tanstack/virtual-core": 3.10.8 + "@tanstack/virtual-core": 3.10.9 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 40a5d6089908096634fec2aa0cd646ca47c044c745e1b0d190ecbf9905ad2e6266ccd56c2550ed92f47349954dc11eb6930beac1354441ce7c98af81c5454d3f + checksum: a6c90118d0b084aedf0a2b02bc718df5cc1e594fb60d1dededf8a393d3e519e574e2ba67bb7adcaf8b4d6b206f6a10b37166f006bc7e50ad566475323d545b8c languageName: node linkType: hard @@ -3129,10 +3083,10 @@ __metadata: languageName: node linkType: hard -"@tanstack/virtual-core@npm:3.10.8": - version: 3.10.8 - resolution: "@tanstack/virtual-core@npm:3.10.8" - checksum: 1c5307b534bb963094acc4a2691fcc331364a865d8513abe9f5ca6be577d7bb4b2821e8dddbf259c60ee65afb2f4e5d6debab1af897b0c464ec1bd18906ecbe9 +"@tanstack/virtual-core@npm:3.10.9": + version: 3.10.9 + resolution: "@tanstack/virtual-core@npm:3.10.9" + checksum: df1c673040e3700ba12774ef1fec775f84342e80fb5f1586096a1ed347ee9d35b6db6829e665fed86fa3f08e86235a68bbd331fd5aedec4314c2a565384199ba languageName: node linkType: hard @@ -3274,7 +3228,27 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:^1.0.5, @types/estree@npm:^1.0.6": +"@types/eslint-scope@npm:^3.7.7": + version: 3.7.7 + resolution: "@types/eslint-scope@npm:3.7.7" + dependencies: + "@types/eslint": "*" + "@types/estree": "*" + checksum: e2889a124aaab0b89af1bab5959847c5bec09809209255de0e63b9f54c629a94781daa04adb66bffcdd742f5e25a17614fb933965093c0eea64aacda4309380e + languageName: node + linkType: hard + +"@types/eslint@npm:*": + version: 9.6.1 + resolution: "@types/eslint@npm:9.6.1" + dependencies: + "@types/estree": "*" + "@types/json-schema": "*" + checksum: c286e79707ab604b577cf8ce51d9bbb9780e3d6a68b38a83febe13fa05b8012c92de17c28532fac2b03d3c460123f5055d603a579685325246ca1c86828223e0 + languageName: node + linkType: hard + +"@types/estree@npm:*, @types/estree@npm:^1.0.6": version: 1.0.6 resolution: "@types/estree@npm:1.0.6" checksum: 8825d6e729e16445d9a1dd2fb1db2edc5ed400799064cd4d028150701031af012ba30d6d03fe9df40f4d7a437d0de6d2b256020152b7b09bde9f2e420afdffd9 @@ -3290,6 +3264,13 @@ __metadata: languageName: node linkType: hard +"@types/hammerjs@npm:^2.0.45": + version: 2.0.46 + resolution: "@types/hammerjs@npm:2.0.46" + checksum: caba6ec788d19905c71092670b58514b3d1f5eee5382bf9205e8df688d51e7857b7994e2dd7aed57fac8977bdf0e456d67fbaf23440a4385b8ce25fe2af1ec39 + languageName: node + linkType: hard + "@types/istanbul-lib-coverage@npm:*, @types/istanbul-lib-coverage@npm:^2.0.0, @types/istanbul-lib-coverage@npm:^2.0.1": version: 2.0.6 resolution: "@types/istanbul-lib-coverage@npm:2.0.6" @@ -3336,7 +3317,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.15, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.15 resolution: "@types/json-schema@npm:7.0.15" checksum: 97ed0cb44d4070aecea772b7b2e2ed971e10c81ec87dd4ecc160322ffa55ff330dace1793489540e3e318d90942064bb697cc0f8989391797792d919737b3b98 @@ -3360,11 +3341,11 @@ __metadata: linkType: hard "@types/node@npm:*": - version: 22.8.5 - resolution: "@types/node@npm:22.8.5" + version: 22.10.0 + resolution: "@types/node@npm:22.10.0" dependencies: - undici-types: ~6.19.8 - checksum: c5c3466047c2cc5f70824a89aa3873fb21abc231d7d52672ea157c01e5acbbca9831362c1d2df589f9ea10a3bdfade867ec647850d9dcf88dce7119885cb8d22 + undici-types: ~6.20.0 + checksum: 72b1314ba9dfbabaf1ba01480086399ff3831c8fc30ce82be4755d87cfc25f2ef17ec43d528e655797bbe4de4dd7d3eb7fa7ce2f91dccb8d434865a72870a149 languageName: node linkType: hard @@ -3456,15 +3437,15 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/eslint-plugin@npm:8.12.2" +"@typescript-eslint/eslint-plugin@npm:8.16.0": + version: 8.16.0 + resolution: "@typescript-eslint/eslint-plugin@npm:8.16.0" dependencies: "@eslint-community/regexpp": ^4.10.0 - "@typescript-eslint/scope-manager": 8.12.2 - "@typescript-eslint/type-utils": 8.12.2 - "@typescript-eslint/utils": 8.12.2 - "@typescript-eslint/visitor-keys": 8.12.2 + "@typescript-eslint/scope-manager": 8.16.0 + "@typescript-eslint/type-utils": 8.16.0 + "@typescript-eslint/utils": 8.16.0 + "@typescript-eslint/visitor-keys": 8.16.0 graphemer: ^1.4.0 ignore: ^5.3.1 natural-compare: ^1.4.0 @@ -3475,66 +3456,68 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: a1707704d91cd525ece0cf5a978f17cb309bb8918d65ded349e18b0aa364f585555d018a365cb0ab9450f273912fc07fae5600f34294e637151b244ba4485bc2 + checksum: dbb0127eca578a876654b820ea270ef4f2c374447d5c214a8677cc1ccf1ba1b87d9b021cb7586d7e33c4feb9b7b40de1b5ad109f385713cac4627d6ec29bd96b languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/parser@npm:8.12.2" +"@typescript-eslint/parser@npm:8.16.0": + version: 8.16.0 + resolution: "@typescript-eslint/parser@npm:8.16.0" dependencies: - "@typescript-eslint/scope-manager": 8.12.2 - "@typescript-eslint/types": 8.12.2 - "@typescript-eslint/typescript-estree": 8.12.2 - "@typescript-eslint/visitor-keys": 8.12.2 + "@typescript-eslint/scope-manager": 8.16.0 + "@typescript-eslint/types": 8.16.0 + "@typescript-eslint/typescript-estree": 8.16.0 + "@typescript-eslint/visitor-keys": 8.16.0 debug: ^4.3.4 peerDependencies: eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 201f3e4b6073547726e447455b630c04816b0611346c1b9522493c47596d906c8edaf37d43e0d0e121e2965b374d9547c351e1fa0e125bceb37063e0fa806065 + checksum: 10a390b59556d8ace1fb9edeb51c77b86322dd7211fbfa61e993326d85f082b6b173bffcf7a506165cea03fd2ba053c83fcec41687538ed247452158529c4344 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/scope-manager@npm:8.12.2" +"@typescript-eslint/scope-manager@npm:8.16.0": + version: 8.16.0 + resolution: "@typescript-eslint/scope-manager@npm:8.16.0" dependencies: - "@typescript-eslint/types": 8.12.2 - "@typescript-eslint/visitor-keys": 8.12.2 - checksum: dd960238f1cf0f24e6c16525f0cbdb6cf65bfc3cfe650f376ecda2583c378c2e3a7eb4c2d57e04e009626d009018226b722a670ca283086c2a6cc1931c2268d8 + "@typescript-eslint/types": 8.16.0 + "@typescript-eslint/visitor-keys": 8.16.0 + checksum: 12427e2a95a8b0cb49259be1a8a9a23f734fd0dbabbc5cebf1ba56b48812e2ca7ba32b71ededf24efa1a9da07a13b20ced004e2eea6f4b8c07003438f664ce30 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/type-utils@npm:8.12.2" +"@typescript-eslint/type-utils@npm:8.16.0": + version: 8.16.0 + resolution: "@typescript-eslint/type-utils@npm:8.16.0" dependencies: - "@typescript-eslint/typescript-estree": 8.12.2 - "@typescript-eslint/utils": 8.12.2 + "@typescript-eslint/typescript-estree": 8.16.0 + "@typescript-eslint/utils": 8.16.0 debug: ^4.3.4 ts-api-utils: ^1.3.0 + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: a8f540d84674c4919d6f038848add5b4d41ef39cdf572734a13b75f0f797b00d45903b179dc7c25f7ae7690f9dbaf115e5bda596d9e439b1a0a8d7f9d799260e + checksum: ea3654ff6ae6181911ad6784a7addab9be6b3ce221e6367480061bc8abe8b7ce9f23249f2257f1c5b205e3ea498d5050016596732c66d51ad599dd50aa2c9e16 languageName: node linkType: hard -"@typescript-eslint/types@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/types@npm:8.12.2" - checksum: b0f7effdac842428b15d76710295a8b4f1fe1ff14e40fbb10c8f571c11fd517d75d76decbecf90412bc5eabce0cd4ac0acf53d6b0d8ba2bdde86ab3b627bdac2 +"@typescript-eslint/types@npm:8.16.0": + version: 8.16.0 + resolution: "@typescript-eslint/types@npm:8.16.0" + checksum: 1ed10343dc65c7fd493cfe789639f547f4c730e6e04472007fa92a00ff1fb77b31fc8016a350a10e553d38b12485f78c331d91c071dc08f69476076f5bbef5cd languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/typescript-estree@npm:8.12.2" +"@typescript-eslint/typescript-estree@npm:8.16.0": + version: 8.16.0 + resolution: "@typescript-eslint/typescript-estree@npm:8.16.0" dependencies: - "@typescript-eslint/types": 8.12.2 - "@typescript-eslint/visitor-keys": 8.12.2 + "@typescript-eslint/types": 8.16.0 + "@typescript-eslint/visitor-keys": 8.16.0 debug: ^4.3.4 fast-glob: ^3.3.2 is-glob: ^4.0.3 @@ -3544,31 +3527,34 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 923d297ba891cbaf4f00618db2313123238657b179f56a5d42d02a4e6433c513f73a9dd9aa62cd2c5b9fb2c5912a59319eb0a14ef2403792e15757142722309a + checksum: 047ae08a7774e4be4307409970d7b8b27d46d10e302ed236199b1b7648242d2aa10b7d1dbeae1fed0f55f683c863f9d399e50108c215e35370fb6a3851bda427 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.12.2, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": - version: 8.12.2 - resolution: "@typescript-eslint/utils@npm:8.12.2" +"@typescript-eslint/utils@npm:8.16.0, @typescript-eslint/utils@npm:^6.0.0 || ^7.0.0 || ^8.0.0": + version: 8.16.0 + resolution: "@typescript-eslint/utils@npm:8.16.0" dependencies: "@eslint-community/eslint-utils": ^4.4.0 - "@typescript-eslint/scope-manager": 8.12.2 - "@typescript-eslint/types": 8.12.2 - "@typescript-eslint/typescript-estree": 8.12.2 + "@typescript-eslint/scope-manager": 8.16.0 + "@typescript-eslint/types": 8.16.0 + "@typescript-eslint/typescript-estree": 8.16.0 peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 7ae4ef40d0961642fc31644c47e05f751369b47f3d9f5ea4e6c6eaa09d534efc6a2ea89f12368eed7dc8b32a7378e533f84379f70f2acd85418815f63b249b18 + peerDependenciesMeta: + typescript: + optional: true + checksum: 5e3c4b4d453bee6c38715f851d517ad3bbdb9335de5c2ef487e350eea97ae8b2e996046a1d8f3a93109e06a569d1e161b4ef8d33c530766931e4dbc43cb26ed7 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.12.2": - version: 8.12.2 - resolution: "@typescript-eslint/visitor-keys@npm:8.12.2" +"@typescript-eslint/visitor-keys@npm:8.16.0": + version: 8.16.0 + resolution: "@typescript-eslint/visitor-keys@npm:8.16.0" dependencies: - "@typescript-eslint/types": 8.12.2 - eslint-visitor-keys: ^3.4.3 - checksum: 97b919a0f0982e16a46ed568ae195906ec4aed7db358308d2311e9829ceb7f521e4a2017b3bdedad264ee61fdf08d3d12ada7d5622f13b20ac324118fe5b8447 + "@typescript-eslint/types": 8.16.0 + eslint-visitor-keys: ^4.2.0 + checksum: e7444d3d57b4fcdebfa0d7effcdff9c928d77b6a6765da6980f0dbeb6438af707bd4c2c21e24e7ae1638f9c4a5697168f94027fff94ad663da57fa5f44f0983d languageName: node linkType: hard @@ -3590,154 +3576,154 @@ __metadata: languageName: node linkType: hard -"@webassemblyjs/ast@npm:1.12.1, @webassemblyjs/ast@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/ast@npm:1.12.1" +"@webassemblyjs/ast@npm:1.14.1, @webassemblyjs/ast@npm:^1.12.1": + version: 1.14.1 + resolution: "@webassemblyjs/ast@npm:1.14.1" dependencies: - "@webassemblyjs/helper-numbers": 1.11.6 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - checksum: 31bcc64147236bd7b1b6d29d1f419c1f5845c785e1e42dc9e3f8ca2e05a029e9393a271b84f3a5bff2a32d35f51ff59e2181a6e5f953fe88576acd6750506202 + "@webassemblyjs/helper-numbers": 1.13.2 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + checksum: f9154ad9ea14f6f2374ebe918c221fd69a4d4514126a1acc6fa4966e8d27ab28cb550a5e6880032cf620e19640578658a7e5a55bd2aad1e3db4e9d598b8f2099 languageName: node linkType: hard -"@webassemblyjs/floating-point-hex-parser@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6" - checksum: 29b08758841fd8b299c7152eda36b9eb4921e9c584eb4594437b5cd90ed6b920523606eae7316175f89c20628da14326801090167cc7fbffc77af448ac84b7e2 +"@webassemblyjs/floating-point-hex-parser@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.13.2" + checksum: e866ec8433f4a70baa511df5e8f2ebcd6c24f4e2cc6274c7c5aabe2bcce3459ea4680e0f35d450e1f3602acf3913b6b8e4f15069c8cfd34ae8609fb9a7d01795 languageName: node linkType: hard -"@webassemblyjs/helper-api-error@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-api-error@npm:1.11.6" - checksum: e8563df85161096343008f9161adb138a6e8f3c2cc338d6a36011aa55eabb32f2fd138ffe63bc278d009ada001cc41d263dadd1c0be01be6c2ed99076103689f +"@webassemblyjs/helper-api-error@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-api-error@npm:1.13.2" + checksum: 48b5df7fd3095bb252f59a139fe2cbd999a62ac9b488123e9a0da3906ad8a2f2da7b2eb21d328c01a90da987380928706395c2897d1f3ed9e2125b6d75a920d0 languageName: node linkType: hard -"@webassemblyjs/helper-buffer@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/helper-buffer@npm:1.12.1" - checksum: c3ffb723024130308db608e86e2bdccd4868bbb62dffb0a9a1530606496f79c87f8565bd8e02805ce64912b71f1a70ee5fb00307258b0c082c3abf961d097eca +"@webassemblyjs/helper-buffer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-buffer@npm:1.14.1" + checksum: b611e981dfd6a797c3d8fc3a772de29a6e55033737c2c09c31bb66c613bdbb2d25f915df1dee62a602c6acc057ca71128432fa8c3e22a893e1219dc454f14ede languageName: node linkType: hard -"@webassemblyjs/helper-numbers@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-numbers@npm:1.11.6" +"@webassemblyjs/helper-numbers@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-numbers@npm:1.13.2" dependencies: - "@webassemblyjs/floating-point-hex-parser": 1.11.6 - "@webassemblyjs/helper-api-error": 1.11.6 + "@webassemblyjs/floating-point-hex-parser": 1.13.2 + "@webassemblyjs/helper-api-error": 1.13.2 "@xtuc/long": 4.2.2 - checksum: f4b562fa219f84368528339e0f8d273ad44e047a07641ffcaaec6f93e5b76fd86490a009aa91a294584e1436d74b0a01fa9fde45e333a4c657b58168b04da424 + checksum: 49e2c9bf9b66997e480f6b44d80f895b3cde4de52ac135921d28e144565edca6903a519f627f4089b5509de1d7f9e5023f0e1a94ff78a36c9e2eb30e7c18ffd2 languageName: node linkType: hard -"@webassemblyjs/helper-wasm-bytecode@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6" - checksum: 3535ef4f1fba38de3475e383b3980f4bbf3de72bbb631c2b6584c7df45be4eccd62c6ff48b5edd3f1bcff275cfd605a37679ec199fc91fd0a7705d7f1e3972dc +"@webassemblyjs/helper-wasm-bytecode@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.13.2" + checksum: 8e059e1c1f0294f4fc3df8e4eaff3c5ef6e2e1358f34ebc118eaf5070ed59e56ed7fc92b28be734ebde17c8d662d5d27e06ade686c282445135da083ae11c128 languageName: node linkType: hard -"@webassemblyjs/helper-wasm-section@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/helper-wasm-section@npm:1.12.1" +"@webassemblyjs/helper-wasm-section@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.12.1 - "@webassemblyjs/helper-buffer": 1.12.1 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - "@webassemblyjs/wasm-gen": 1.12.1 - checksum: c19810cdd2c90ff574139b6d8c0dda254d42d168a9e5b3d353d1bc085f1d7164ccd1b3c05592a45a939c47f7e403dc8d03572bb686642f06a3d02932f6f0bc8f + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/wasm-gen": 1.14.1 + checksum: 0a08d454a63192cd66abf91b6f060ac4b466cef341262246e9dcc828dd4c8536195dea9b46a1244b1eac65b59b8b502164a771a190052a92ff0a0a2ded0f8f53 languageName: node linkType: hard -"@webassemblyjs/ieee754@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/ieee754@npm:1.11.6" +"@webassemblyjs/ieee754@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/ieee754@npm:1.13.2" dependencies: "@xtuc/ieee754": ^1.2.0 - checksum: 13574b8e41f6ca39b700e292d7edf102577db5650fe8add7066a320aa4b7a7c09a5056feccac7a74eb68c10dea9546d4461412af351f13f6b24b5f32379b49de + checksum: d7e3520baa37a7309fa7db4d73d69fb869878853b1ebd4b168821bd03fcc4c0e1669c06231315b0039035d9a7a462e53de3ad982da4a426a4b0743b5888e8673 languageName: node linkType: hard -"@webassemblyjs/leb128@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/leb128@npm:1.11.6" +"@webassemblyjs/leb128@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/leb128@npm:1.13.2" dependencies: "@xtuc/long": 4.2.2 - checksum: 7ea942dc9777d4b18a5ebfa3a937b30ae9e1d2ce1fee637583ed7f376334dd1d4274f813d2e250056cca803e0952def4b954913f1a3c9068bcd4ab4ee5143bf0 + checksum: 64083507f7cff477a6d71a9e325d95665cea78ec8df99ca7c050e1cfbe300fbcf0842ca3dcf3b4fa55028350135588a4f879398d3dd2b6a8de9913ce7faf5333 languageName: node linkType: hard -"@webassemblyjs/utf8@npm:1.11.6": - version: 1.11.6 - resolution: "@webassemblyjs/utf8@npm:1.11.6" - checksum: 807fe5b5ce10c390cfdd93e0fb92abda8aebabb5199980681e7c3743ee3306a75729bcd1e56a3903980e96c885ee53ef901fcbaac8efdfa480f9c0dae1d08713 +"@webassemblyjs/utf8@npm:1.13.2": + version: 1.13.2 + resolution: "@webassemblyjs/utf8@npm:1.13.2" + checksum: 95ec6052f30eefa8d50c9b2a3394d08b17d53a4aa52821451d41d774c126fa8f39b988fbf5bff56da86852a87c16d676e576775a4071e5e5ccf020cc85a4b281 languageName: node linkType: hard "@webassemblyjs/wasm-edit@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-edit@npm:1.12.1" + version: 1.14.1 + resolution: "@webassemblyjs/wasm-edit@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.12.1 - "@webassemblyjs/helper-buffer": 1.12.1 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - "@webassemblyjs/helper-wasm-section": 1.12.1 - "@webassemblyjs/wasm-gen": 1.12.1 - "@webassemblyjs/wasm-opt": 1.12.1 - "@webassemblyjs/wasm-parser": 1.12.1 - "@webassemblyjs/wast-printer": 1.12.1 - checksum: ae23642303f030af888d30c4ef37b08dfec7eab6851a9575a616e65d1219f880d9223913a39056dd654e49049d76e97555b285d1f7e56935047abf578cce0692 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/helper-wasm-section": 1.14.1 + "@webassemblyjs/wasm-gen": 1.14.1 + "@webassemblyjs/wasm-opt": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 + "@webassemblyjs/wast-printer": 1.14.1 + checksum: 9341c3146bb1b7863f03d6050c2a66990f20384ca137388047bbe1feffacb599e94fca7b7c18287d17e2449ffb4005fdc7f41f674a6975af9ad8522756f8ffff languageName: node linkType: hard -"@webassemblyjs/wasm-gen@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-gen@npm:1.12.1" +"@webassemblyjs/wasm-gen@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-gen@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.12.1 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - "@webassemblyjs/ieee754": 1.11.6 - "@webassemblyjs/leb128": 1.11.6 - "@webassemblyjs/utf8": 1.11.6 - checksum: 5787626bb7f0b033044471ddd00ce0c9fe1ee4584e8b73e232051e3a4c99ba1a102700d75337151c8b6055bae77eefa4548960c610a5e4a504e356bd872138ff + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/ieee754": 1.13.2 + "@webassemblyjs/leb128": 1.13.2 + "@webassemblyjs/utf8": 1.13.2 + checksum: 401b12bec7431c4fc29d9414bbe40d3c6dc5be04d25a116657c42329f5481f0129f3b5834c293f26f0e42681ceac9157bf078ce9bdb6a7f78037c650373f98b2 languageName: node linkType: hard -"@webassemblyjs/wasm-opt@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-opt@npm:1.12.1" +"@webassemblyjs/wasm-opt@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-opt@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.12.1 - "@webassemblyjs/helper-buffer": 1.12.1 - "@webassemblyjs/wasm-gen": 1.12.1 - "@webassemblyjs/wasm-parser": 1.12.1 - checksum: 0e8fa8a0645304a1e18ff40d3db5a2e9233ebaa169b19fcc651d6fc9fe2cac0ce092ddee927318015ae735d9cd9c5d97c0cafb6a51dcd2932ac73587b62df991 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-buffer": 1.14.1 + "@webassemblyjs/wasm-gen": 1.14.1 + "@webassemblyjs/wasm-parser": 1.14.1 + checksum: 60c697a9e9129d8d23573856df0791ba33cea4a3bc2339044cae73128c0983802e5e50a42157b990eeafe1237eb8e7653db6de5f02b54a0ae7b81b02dcdf2ae9 languageName: node linkType: hard -"@webassemblyjs/wasm-parser@npm:1.12.1, @webassemblyjs/wasm-parser@npm:^1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wasm-parser@npm:1.12.1" +"@webassemblyjs/wasm-parser@npm:1.14.1, @webassemblyjs/wasm-parser@npm:^1.12.1": + version: 1.14.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.12.1 - "@webassemblyjs/helper-api-error": 1.11.6 - "@webassemblyjs/helper-wasm-bytecode": 1.11.6 - "@webassemblyjs/ieee754": 1.11.6 - "@webassemblyjs/leb128": 1.11.6 - "@webassemblyjs/utf8": 1.11.6 - checksum: 176015de3551ac068cd4505d837414f258d9ade7442bd71efb1232fa26c9f6d7d4e11a5c816caeed389943f409af7ebff6899289a992d7a70343cb47009d21a8 + "@webassemblyjs/ast": 1.14.1 + "@webassemblyjs/helper-api-error": 1.13.2 + "@webassemblyjs/helper-wasm-bytecode": 1.13.2 + "@webassemblyjs/ieee754": 1.13.2 + "@webassemblyjs/leb128": 1.13.2 + "@webassemblyjs/utf8": 1.13.2 + checksum: 93f1fe2676da465b4e824419d9812a3d7218de4c3addd4e916c04bc86055fa134416c1b67e4b7cbde8d728c0dce2721d06cc0bfe7a7db7c093a0898009937405 languageName: node linkType: hard -"@webassemblyjs/wast-printer@npm:1.12.1": - version: 1.12.1 - resolution: "@webassemblyjs/wast-printer@npm:1.12.1" +"@webassemblyjs/wast-printer@npm:1.14.1": + version: 1.14.1 + resolution: "@webassemblyjs/wast-printer@npm:1.14.1" dependencies: - "@webassemblyjs/ast": 1.12.1 + "@webassemblyjs/ast": 1.14.1 "@xtuc/long": 4.2.2 - checksum: 2974b5dda8d769145ba0efd886ea94a601e61fb37114c14f9a9a7606afc23456799af652ac3052f284909bd42edc3665a76bc9b50f95f0794c053a8a1757b713 + checksum: 517881a0554debe6945de719d100b2d8883a2d24ddf47552cdeda866341e2bb153cd824a864bc7e2a61190a4b66b18f9899907e0074e9e820d2912ac0789ea60 languageName: node linkType: hard @@ -3862,10 +3848,10 @@ __metadata: languageName: node linkType: hard -"ace-builds@npm:^1.35.0": - version: 1.36.3 - resolution: "ace-builds@npm:1.36.3" - checksum: b64ff51ec2c48681ec0d0396d156b0c93ca16e02c4d4bed95f2235f72df17c9bed300dd39fa80338436c59e2dc4f5ef88de3ebe53c0c34a3833bde8b49f9c903 +"ace-builds@npm:^1.36.2": + version: 1.36.5 + resolution: "ace-builds@npm:1.36.5" + checksum: 119a20a5bcb612eea1b2b771c17e118f2bad7359b521edbf162fbaebb8249300b79d31696746426f891cf9748b5288eaa4f924b6d38d01384370b57699b321a7 languageName: node linkType: hard @@ -3879,15 +3865,6 @@ __metadata: languageName: node linkType: hard -"acorn-import-attributes@npm:^1.9.5": - version: 1.9.5 - resolution: "acorn-import-attributes@npm:1.9.5" - peerDependencies: - acorn: ^8 - checksum: 1c0c49b6a244503964ae46ae850baccf306e84caf99bc2010ed6103c69a423987b07b520a6c619f075d215388bd4923eccac995886a54309eda049ab78a4be95 - languageName: node - linkType: hard - "acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -3933,7 +3910,7 @@ __metadata: languageName: node linkType: hard -"acorn@npm:^8.0.4, acorn@npm:^8.1.0, acorn@npm:^8.11.0, acorn@npm:^8.14.0, acorn@npm:^8.7.1, acorn@npm:^8.8.1, acorn@npm:^8.8.2": +"acorn@npm:^8.0.4, acorn@npm:^8.1.0, acorn@npm:^8.11.0, acorn@npm:^8.14.0, acorn@npm:^8.8.1, acorn@npm:^8.8.2": version: 8.14.0 resolution: "acorn@npm:8.14.0" bin: @@ -4351,10 +4328,10 @@ __metadata: languageName: node linkType: hard -"attr-accept@npm:^2.2.2": - version: 2.2.4 - resolution: "attr-accept@npm:2.2.4" - checksum: 7b0112e28e3eeb760f4f6bd4ecd8b2467fdb5df7d38d5f8b0a9e83af892023b1f84c594df337b446d5e5eb3f61e18b0470bd9f3aadf39e7853897cbd82cad20d +"attr-accept@npm:^2.2.4": + version: 2.2.5 + resolution: "attr-accept@npm:2.2.5" + checksum: e6a23183c112f5d313ebfc7e63e454de0600caffe9ab88f86e9df420d2399a48e27e6c46ee8de2fc6f34fee3541ecdb557f2b86e6d8bd7d24fd3a66cc75e6349 languageName: node linkType: hard @@ -4398,13 +4375,13 @@ __metadata: linkType: hard "axios@npm:^1.7.7": - version: 1.7.7 - resolution: "axios@npm:1.7.7" + version: 1.7.8 + resolution: "axios@npm:1.7.8" dependencies: follow-redirects: ^1.15.6 form-data: ^4.0.0 proxy-from-env: ^1.1.0 - checksum: 882d4fe0ec694a07c7f5c1f68205eb6dc5a62aecdb632cc7a4a3d0985188ce3030e0b277e1a8260ac3f194d314ae342117660a151fabffdc5081ca0b5a8b47fe + checksum: 3d21652faf8e29fb36c47517d2872bb5e2285127a24f5c53ce23082c4eac7f5a88de84dd49d4a1a83068e5301dcfd9067b41e5fbd00b0d20ab7b0a843559273d languageName: node linkType: hard @@ -4475,15 +4452,15 @@ __metadata: linkType: hard "babel-plugin-polyfill-corejs2@npm:^0.4.10": - version: 0.4.11 - resolution: "babel-plugin-polyfill-corejs2@npm:0.4.11" + version: 0.4.12 + resolution: "babel-plugin-polyfill-corejs2@npm:0.4.12" dependencies: "@babel/compat-data": ^7.22.6 - "@babel/helper-define-polyfill-provider": ^0.6.2 + "@babel/helper-define-polyfill-provider": ^0.6.3 semver: ^6.3.1 peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: f098353ce7c7dde1a1d2710858e01b471e85689110c9e37813e009072347eb8c55d5f84d20d3bf1cab31755f20078ba90f8855fdc4686a9daa826a95ff280bd7 + checksum: 6e6e6a8b85fec80a310ded2f5c151385e4ac59118909dd6a952e1025e4a478eb79dda45a5a6322cc2e598fd696eb07d4e2fa52418b4101f3dc370bdf8c8939ba languageName: node linkType: hard @@ -4500,13 +4477,13 @@ __metadata: linkType: hard "babel-plugin-polyfill-regenerator@npm:^0.6.1": - version: 0.6.2 - resolution: "babel-plugin-polyfill-regenerator@npm:0.6.2" + version: 0.6.3 + resolution: "babel-plugin-polyfill-regenerator@npm:0.6.3" dependencies: - "@babel/helper-define-polyfill-provider": ^0.6.2 + "@babel/helper-define-polyfill-provider": ^0.6.3 peerDependencies: "@babel/core": ^7.4.0 || ^8.0.0-0 <8.0.0 - checksum: 150233571072b6b3dfe946242da39cba8587b7f908d1c006f7545fc88b0e3c3018d445739beb61e7a75835f0c2751dbe884a94ff9b245ec42369d9267e0e1b3f + checksum: d12696e6b3f280eb78fac551619ca4389262db62c7352cd54bf679d830df8b35596eef2de77cf00db6648eada1c99d49c4f40636dbc9c335a1e5420cfef96750 languageName: node linkType: hard @@ -4662,9 +4639,9 @@ __metadata: linkType: hard "bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.9": - version: 4.12.0 - resolution: "bn.js@npm:4.12.0" - checksum: 39afb4f15f4ea537b55eaf1446c896af28ac948fdcf47171961475724d1bb65118cca49fa6e3d67706e4790955ec0e74de584e45c8f1ef89f46c812bee5b5a12 + version: 4.12.1 + resolution: "bn.js@npm:4.12.1" + checksum: f7f84a909bd07bdcc6777cccbf280b629540792e6965fb1dd1aeafba96e944f197ca10cbec2692f51e0a906ff31da1eb4317f3d1cd659d6f68b8bcd211f7ecbc languageName: node linkType: hard @@ -4901,7 +4878,7 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.0.0, browserslist@npm:^4.21.10, browserslist@npm:^4.23.3, browserslist@npm:^4.24.0, browserslist@npm:^4.24.2": +"browserslist@npm:^4.0.0, browserslist@npm:^4.23.3, browserslist@npm:^4.24.0, browserslist@npm:^4.24.2": version: 4.24.2 resolution: "browserslist@npm:4.24.2" dependencies: @@ -5149,9 +5126,9 @@ __metadata: linkType: hard "caniuse-lite@npm:^1.0.0, caniuse-lite@npm:^1.0.30001646, caniuse-lite@npm:^1.0.30001669": - version: 1.0.30001676 - resolution: "caniuse-lite@npm:1.0.30001676" - checksum: c972232e4b3240865760ea8d29805cea7af69bd91e258a3e864e34a2b369ce6e6b69469cb39f008de593166965350e5370e6cde91fb58c02209259d8a2204fdf + version: 1.0.30001684 + resolution: "caniuse-lite@npm:1.0.30001684" + checksum: 5ee7aca9c29067d2e4c88cd05cbc062599d86389cd99e26e4d4bf84de8fad3f9ed2be9d3d909dfb65f50e77a17192175cb132eca7f0988ab0f3e8c4aa0dccd38 languageName: node linkType: hard @@ -5209,13 +5186,14 @@ __metadata: linkType: hard "chartjs-plugin-zoom@npm:^2.0.1": - version: 2.0.1 - resolution: "chartjs-plugin-zoom@npm:2.0.1" + version: 2.2.0 + resolution: "chartjs-plugin-zoom@npm:2.2.0" dependencies: + "@types/hammerjs": ^2.0.45 hammerjs: ^2.0.8 peerDependencies: chart.js: ">=3.2.0" - checksum: c0ca5ae475bc3c7263e471258a7f16bd3d92c3642ded1395aeb841c9710d5af83e80410aa5e34869c4a1a5cc3899a166aec06a59bf9ecfda85f564618528b286 + checksum: a540e3834082eeb4dedb5ec6ca381f94d7e101075c19a7b65f2a4cd2d12685b3a416e718c9cf7145799802874fb397f69b71a955dfc56b035946cde4d1eb6c8e languageName: node linkType: hard @@ -5241,12 +5219,12 @@ __metadata: linkType: hard "cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": - version: 1.0.4 - resolution: "cipher-base@npm:1.0.4" + version: 1.0.6 + resolution: "cipher-base@npm:1.0.6" dependencies: - inherits: ^2.0.1 - safe-buffer: ^5.0.1 - checksum: 47d3568dbc17431a339bad1fe7dff83ac0891be8206911ace3d3b818fc695f376df809bea406e759cdea07fff4b454fa25f1013e648851bec790c1d75763032e + inherits: ^2.0.4 + safe-buffer: ^5.2.1 + checksum: 64a1738a8583163cf096bc85321a69ef3075bb0873f34cf89dc705e62b9eee058dd6b2e5c672f774ede0b6bdbe56fe7b710e0d38c4f08a2f355d8ab828f05c6f languageName: node linkType: hard @@ -5708,26 +5686,26 @@ __metadata: linkType: hard "cross-spawn@npm:^6.0.0": - version: 6.0.5 - resolution: "cross-spawn@npm:6.0.5" + version: 6.0.6 + resolution: "cross-spawn@npm:6.0.6" dependencies: nice-try: ^1.0.4 path-key: ^2.0.1 semver: ^5.5.0 shebang-command: ^1.2.0 which: ^1.2.9 - checksum: f893bb0d96cd3d5751d04e67145bdddf25f99449531a72e82dcbbd42796bbc8268c1076c6b3ea51d4d455839902804b94bc45dfb37ecbb32ea8e54a6741c3ab9 + checksum: a6e2e5b04a0e0f806c1df45f92cd079b65f95fbe5a7650ee1ab60318c33a6c156a8a2f8b6898f57764f7363ec599a0625e9855dfa78d52d2d73dbd32eb11c25e languageName: node linkType: hard -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.5": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" dependencies: path-key: ^3.1.0 shebang-command: ^2.0.0 which: ^2.0.1 - checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52 + checksum: 8d306efacaf6f3f60e0224c287664093fa9185680b2d195852ba9a863f85d02dcc737094c6e512175f8ee0161f9b87c73c6826034c2422e39de7d6569cf4503b languageName: node linkType: hard @@ -6560,15 +6538,15 @@ __metadata: linkType: hard "electron-to-chromium@npm:^1.5.41": - version: 1.5.49 - resolution: "electron-to-chromium@npm:1.5.49" - checksum: 84d4fde02a6de9464f8de2933e2172253098bf219a368cfd0e1ec71b73f9c0800a9ddf7bfdf57408e5fedef858561eaaf4e30ebbf20d94244a6001d570ce07a9 + version: 1.5.65 + resolution: "electron-to-chromium@npm:1.5.65" + checksum: 4a112a038771c415f77e88fb3e3d929ceac4600b4612c55eb5d955a37c24842725f00c14f0f6838fd46edd832351c702b24c592c544d2e1e630d084f9df9f275 languageName: node linkType: hard "elliptic@npm:^6.5.3, elliptic@npm:^6.5.5": - version: 6.6.0 - resolution: "elliptic@npm:6.6.0" + version: 6.6.1 + resolution: "elliptic@npm:6.6.1" dependencies: bn.js: ^4.11.9 brorand: ^1.1.0 @@ -6577,7 +6555,7 @@ __metadata: inherits: ^2.0.4 minimalistic-assert: ^1.0.1 minimalistic-crypto-utils: ^1.0.1 - checksum: e912349b883e694bfe65005214237a470c9a098a6ba36fd24396d0ab07feb399920c0738aeed1aed6cf5dca9c64fd479e212faed3a75c9d81453671ef0de5157 + checksum: 27b14a52f68bbbc0720da259f712cb73e953f6d2047958cd02fb0d0ade2e83849dc39fb4af630889c67df8817e24237428cf59c4f4c07700f755b401149a7375 languageName: node linkType: hard @@ -6703,9 +6681,9 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.17.5, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": - version: 1.23.3 - resolution: "es-abstract@npm:1.23.3" +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5": + version: 1.23.5 + resolution: "es-abstract@npm:1.23.5" dependencies: array-buffer-byte-length: ^1.0.1 arraybuffer.prototype.slice: ^1.0.3 @@ -6722,7 +6700,7 @@ __metadata: function.prototype.name: ^1.1.6 get-intrinsic: ^1.2.4 get-symbol-description: ^1.0.2 - globalthis: ^1.0.3 + globalthis: ^1.0.4 gopd: ^1.0.1 has-property-descriptors: ^1.0.2 has-proto: ^1.0.3 @@ -6738,10 +6716,10 @@ __metadata: is-string: ^1.0.7 is-typed-array: ^1.1.13 is-weakref: ^1.0.2 - object-inspect: ^1.13.1 + object-inspect: ^1.13.3 object-keys: ^1.1.1 object.assign: ^4.1.5 - regexp.prototype.flags: ^1.5.2 + regexp.prototype.flags: ^1.5.3 safe-array-concat: ^1.1.2 safe-regex-test: ^1.0.3 string.prototype.trim: ^1.2.9 @@ -6753,7 +6731,7 @@ __metadata: typed-array-length: ^1.0.6 unbox-primitive: ^1.0.2 which-typed-array: ^1.1.15 - checksum: f840cf161224252512f9527306b57117192696571e07920f777cb893454e32999206198b4f075516112af6459daca282826d1735c450528470356d09eff3a9ae + checksum: 17c81f8a42f0322fd11e0025d3c2229ecfd7923560c710906b8e68660e19c42322750dcedf8ba5cf28bae50d5befd8174d3903ac50dbabb336d3efc3aabed2ee languageName: node linkType: hard @@ -6774,8 +6752,8 @@ __metadata: linkType: hard "es-iterator-helpers@npm:^1.1.0": - version: 1.1.0 - resolution: "es-iterator-helpers@npm:1.1.0" + version: 1.2.0 + resolution: "es-iterator-helpers@npm:1.2.0" dependencies: call-bind: ^1.0.7 define-properties: ^1.2.1 @@ -6785,13 +6763,14 @@ __metadata: function-bind: ^1.1.2 get-intrinsic: ^1.2.4 globalthis: ^1.0.4 + gopd: ^1.0.1 has-property-descriptors: ^1.0.2 has-proto: ^1.0.3 has-symbols: ^1.0.3 internal-slot: ^1.0.7 iterator.prototype: ^1.1.3 safe-array-concat: ^1.1.2 - checksum: 4ba3a32ab7ba05b85f0ae30604feeb8ffd801fe762e9df9577bd220a96b9eaa2e90af8e6bdc498e523051f293955e2f7d2bddd34de71e1428a1b8ff3fd961016 + checksum: c5f5ff10d57f956539581aca7a2d8726c5a8a3e49e6285700d74dcd8b64c7a337b9ab5e81b459b079dac745d2fe02e4f6b80a842e3df45d9cfe3f12325fda8c0 languageName: node linkType: hard @@ -6832,13 +6811,13 @@ __metadata: linkType: hard "es-to-primitive@npm:^1.2.1": - version: 1.2.1 - resolution: "es-to-primitive@npm:1.2.1" + version: 1.3.0 + resolution: "es-to-primitive@npm:1.3.0" dependencies: - is-callable: ^1.1.4 - is-date-object: ^1.0.1 - is-symbol: ^1.0.2 - checksum: 4ead6671a2c1402619bdd77f3503991232ca15e17e46222b0a41a5d81aebc8740a77822f5b3c965008e631153e9ef0580540007744521e72de8e33599fca2eed + is-callable: ^1.2.7 + is-date-object: ^1.0.5 + is-symbol: ^1.0.4 + checksum: 966965880356486cd4d1fe9a523deda2084c81b3702d951212c098f5f2ee93605d1b7c1840062efb48a07d892641c7ed1bc194db563645c0dd2b919cb6d65b93 languageName: node linkType: hard @@ -6889,8 +6868,8 @@ __metadata: linkType: hard "eslint-plugin-jest@npm:^28.8.0": - version: 28.8.3 - resolution: "eslint-plugin-jest@npm:28.8.3" + version: 28.9.0 + resolution: "eslint-plugin-jest@npm:28.9.0" dependencies: "@typescript-eslint/utils": ^6.0.0 || ^7.0.0 || ^8.0.0 peerDependencies: @@ -6902,7 +6881,7 @@ __metadata: optional: true jest: optional: true - checksum: e371fcbe2127a403824b6c23b66f6b2e2cc54074c3c70a9965d48bdcdfb461670965a7d7cdddab68f09e703d3a09a281d05591b1cb4315f5246d27fd8baa84ac + checksum: 90863fab5f3f2f033d98042b13769dc82504c489506872ae9926a1d2b6bcc25c5dc41105e28643f5eb81943aff1aa1cd4d44ada5c1add0a43f1c7a619adbc3d2 languageName: node linkType: hard @@ -6964,7 +6943,7 @@ __metadata: languageName: node linkType: hard -"eslint-scope@npm:^8.1.0": +"eslint-scope@npm:^8.2.0": version: 8.2.0 resolution: "eslint-scope@npm:8.2.0" dependencies: @@ -6988,7 +6967,7 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^4.1.0, eslint-visitor-keys@npm:^4.2.0": +"eslint-visitor-keys@npm:^4.2.0": version: 4.2.0 resolution: "eslint-visitor-keys@npm:4.2.0" checksum: 779c604672b570bb4da84cef32f6abb085ac78379779c1122d7879eade8bb38ae715645324597cf23232d03cef06032c9844d25c73625bc282a5bfd30247e5b5 @@ -6996,29 +6975,29 @@ __metadata: linkType: hard "eslint@npm:^9.11.1": - version: 9.13.0 - resolution: "eslint@npm:9.13.0" + version: 9.15.0 + resolution: "eslint@npm:9.15.0" dependencies: "@eslint-community/eslint-utils": ^4.2.0 - "@eslint-community/regexpp": ^4.11.0 - "@eslint/config-array": ^0.18.0 - "@eslint/core": ^0.7.0 - "@eslint/eslintrc": ^3.1.0 - "@eslint/js": 9.13.0 - "@eslint/plugin-kit": ^0.2.0 - "@humanfs/node": ^0.16.5 + "@eslint-community/regexpp": ^4.12.1 + "@eslint/config-array": ^0.19.0 + "@eslint/core": ^0.9.0 + "@eslint/eslintrc": ^3.2.0 + "@eslint/js": 9.15.0 + "@eslint/plugin-kit": ^0.2.3 + "@humanfs/node": ^0.16.6 "@humanwhocodes/module-importer": ^1.0.1 - "@humanwhocodes/retry": ^0.3.1 + "@humanwhocodes/retry": ^0.4.1 "@types/estree": ^1.0.6 "@types/json-schema": ^7.0.15 ajv: ^6.12.4 chalk: ^4.0.0 - cross-spawn: ^7.0.2 + cross-spawn: ^7.0.5 debug: ^4.3.2 escape-string-regexp: ^4.0.0 - eslint-scope: ^8.1.0 - eslint-visitor-keys: ^4.1.0 - espree: ^10.2.0 + eslint-scope: ^8.2.0 + eslint-visitor-keys: ^4.2.0 + espree: ^10.3.0 esquery: ^1.5.0 esutils: ^2.0.2 fast-deep-equal: ^3.1.3 @@ -7033,7 +7012,6 @@ __metadata: minimatch: ^3.1.2 natural-compare: ^1.4.0 optionator: ^0.9.3 - text-table: ^0.2.0 peerDependencies: jiti: "*" peerDependenciesMeta: @@ -7041,11 +7019,11 @@ __metadata: optional: true bin: eslint: bin/eslint.js - checksum: 99e878d6883864b8361bfaf2a2304f1e133347ac19976c79e1430623cd311cb38253bbd122100788082eded947693cce5c7e67dfd2b5173e6f05edb92dcb2206 + checksum: 50b7e1c4cb49662a54916877d47aeded2aac0cae428c8258ec9d181160ca893681a32c69df359404bfb81a9693480896adbcd8a18fa5acafd1c933dc1030f32e languageName: node linkType: hard -"espree@npm:^10.0.1, espree@npm:^10.2.0": +"espree@npm:^10.0.1, espree@npm:^10.3.0": version: 10.3.0 resolution: "espree@npm:10.3.0" dependencies: @@ -7371,12 +7349,12 @@ __metadata: languageName: node linkType: hard -"file-selector@npm:^0.6.0": - version: 0.6.0 - resolution: "file-selector@npm:0.6.0" +"file-selector@npm:^2.1.0": + version: 2.1.1 + resolution: "file-selector@npm:2.1.1" dependencies: - tslib: ^2.4.0 - checksum: 7d051b6e5d793f3c6e2ab287ba5e7c2c6a0971bccc9d56e044c8047ba483e18f60fc0b5771c951dc707c0d15f4f36ccb4f1f1aaf385d21ec8f7700dadf8325ba + tslib: ^2.7.0 + checksum: b62ba36151d5e7de11738ef7ca8897ff510a565c02d88226c8a1c19593e65ef12778382f79a3951889768364cedb98a0c2cfbd1a613aac812a36e76dd9042060 languageName: node linkType: hard @@ -7553,9 +7531,9 @@ __metadata: linkType: hard "flatted@npm:^3.2.9": - version: 3.3.1 - resolution: "flatted@npm:3.3.1" - checksum: 85ae7181650bb728c221e7644cbc9f4bf28bc556f2fc89bb21266962bdf0ce1029cc7acc44bb646cd469d9baac7c317f64e841c4c4c00516afa97320cdac7f94 + version: 3.3.2 + resolution: "flatted@npm:3.3.2" + checksum: ac3c159742e01d0e860a861164bcfd35bb567ccbebb8a0dd041e61cf3c64a435b917dd1e7ed1c380c2ebca85735fb16644485ec33665bc6aafc3b316aa1eed44 languageName: node linkType: hard @@ -7917,13 +7895,13 @@ __metadata: linkType: hard "globals@npm:^15.8.0": - version: 15.11.0 - resolution: "globals@npm:15.11.0" - checksum: ef32d5ef987f3d4b47fc2e389a0b235f6a46f605160c4e405722fd7b576106ca407cb867e66fd1e0fc43b631800e2e2e71847f37691026d813f96f40339da702 + version: 15.12.0 + resolution: "globals@npm:15.12.0" + checksum: 2a134cc876dd73192489561e3c85be348dc1408fef043ebef605cdc437f64cd2fc922268db02e3348683d05d06bed10fb1c3653b3d4399a204a7ecd59e742a07 languageName: node linkType: hard -"globalthis@npm:^1.0.3, globalthis@npm:^1.0.4": +"globalthis@npm:^1.0.4": version: 1.0.4 resolution: "globalthis@npm:1.0.4" dependencies: @@ -8171,12 +8149,12 @@ __metadata: linkType: hard "hash-base@npm:~3.0, hash-base@npm:~3.0.4": - version: 3.0.4 - resolution: "hash-base@npm:3.0.4" + version: 3.0.5 + resolution: "hash-base@npm:3.0.5" dependencies: - inherits: ^2.0.1 - safe-buffer: ^5.0.1 - checksum: 878465a0dfcc33cce195c2804135352c590d6d10980adc91a9005fd377e77f2011256c2b7cfce472e3f2e92d561d1bf3228d2da06348a9017ce9a258b3b49764 + inherits: ^2.0.4 + safe-buffer: ^5.2.1 + checksum: 6a82675a5de2ea9347501bbe655a2334950c7ec972fd9810ae9529e06aeab8f7e8ef68fc2112e5e6f0745561a7e05326efca42ad59bb5fd116537f5f8b0a216d languageName: node linkType: hard @@ -8439,8 +8417,8 @@ __metadata: linkType: hard "image-minimizer-webpack-plugin@npm:^4.0.2": - version: 4.1.0 - resolution: "image-minimizer-webpack-plugin@npm:4.1.0" + version: 4.1.1 + resolution: "image-minimizer-webpack-plugin@npm:4.1.1" dependencies: schema-utils: ^4.2.0 serialize-javascript: ^6.0.2 @@ -8455,7 +8433,7 @@ __metadata: optional: true svgo: optional: true - checksum: f0c7ba706674f19c3518ff3564addf61455d94fbd10df3a61fa43ebd2636303c290d07b7fc38e203c580819f54544bf81128830b052bc1b7f03b3637a6b8f7bd + checksum: 53b0a96d8ce3b1a9e2088b0216f083febf478255360e18a39e7b3e0ea91827a9dcdb2096bac08f02a6eda8c26ed552a3901124b8f922d1bd40da5776328ed5ec languageName: node linkType: hard @@ -8755,7 +8733,7 @@ __metadata: languageName: node linkType: hard -"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": +"is-callable@npm:^1.1.3, is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" checksum: 61fd57d03b0d984e2ed3720fb1c7a897827ea174bd44402878e059542ea8c4aeedee0ea0985998aa5cc2736b2fa6e271c08587addb5b3959ac52cf665173d1ac @@ -8780,7 +8758,7 @@ __metadata: languageName: node linkType: hard -"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": +"is-date-object@npm:^1.0.5": version: 1.0.5 resolution: "is-date-object@npm:1.0.5" dependencies: @@ -8796,12 +8774,12 @@ __metadata: languageName: node linkType: hard -"is-finalizationregistry@npm:^1.0.2": - version: 1.0.2 - resolution: "is-finalizationregistry@npm:1.0.2" +"is-finalizationregistry@npm:^1.1.0": + version: 1.1.0 + resolution: "is-finalizationregistry@npm:1.1.0" dependencies: - call-bind: ^1.0.2 - checksum: 4f243a8e06228cd45bdab8608d2cb7abfc20f6f0189c8ac21ea8d603f1f196eabd531ce0bb8e08cbab047e9845ef2c191a3761c9a17ad5cabf8b35499c4ad35d + call-bind: ^1.0.7 + checksum: 480818ab86e112a00444410a2fd551a5363bca0c39c7bc66e29df665b1e47c803ba107227c1db86d67264a3f020779fab257061463ce02b01b6abbe5966e33b8 languageName: node linkType: hard @@ -9014,7 +8992,7 @@ __metadata: languageName: node linkType: hard -"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": +"is-symbol@npm:^1.0.3, is-symbol@npm:^1.0.4": version: 1.0.4 resolution: "is-symbol@npm:1.0.4" dependencies: @@ -9882,19 +9860,19 @@ __metadata: linkType: hard "jsoneditor@npm:^10.1.0": - version: 10.1.0 - resolution: "jsoneditor@npm:10.1.0" + version: 10.1.1 + resolution: "jsoneditor@npm:10.1.1" dependencies: - ace-builds: ^1.35.0 + ace-builds: ^1.36.2 ajv: ^6.12.6 javascript-natural-sort: ^0.7.1 jmespath: ^0.16.0 json-source-map: ^0.6.1 - jsonrepair: ^3.8.0 + jsonrepair: ^3.8.1 mobius1-selectr: ^2.4.13 picomodal: ^3.0.0 vanilla-picker: ^2.12.3 - checksum: 221a40a886640378b0eefc7c85148517f1150a11a92d8dbe4a64893b7c97bd4f68d3afb81f11986cc33c7729f6b26abd9a9f71ca27ce7c15900e1a2d5a9b58de + checksum: e83bd2ac4483a247f191d61b57966759ddb2123ed8d443d072137656fe9943cc95a2c32bdc222ee7627da2be032f0ea2825b8e09c938f0ea1424fce4bb438785 languageName: node linkType: hard @@ -9905,12 +9883,12 @@ __metadata: languageName: node linkType: hard -"jsonrepair@npm:^3.8.0": - version: 3.9.0 - resolution: "jsonrepair@npm:3.9.0" +"jsonrepair@npm:^3.8.1": + version: 3.10.0 + resolution: "jsonrepair@npm:3.10.0" bin: jsonrepair: bin/cli.js - checksum: 4e626625e99c141e41661e7ec1733cc2825d7e5e8821aa074dba950a3e956f889f771151f2b0ae4de3b6c2590c8b8da8612807494f5ffcbe13f05d99b915b665 + checksum: 449b9466029b2095dcba10619878a8ba28654d0ee7093f7afd3a866dbd75c0e0dcb7dc138b4cd027f9109abfbf9303855017213bf3dfc78c46ed22d88971528e languageName: node linkType: hard @@ -10915,11 +10893,11 @@ __metadata: linkType: hard "nanoid@npm:^3.0.0, nanoid@npm:^3.3.7": - version: 3.3.7 - resolution: "nanoid@npm:3.3.7" + version: 3.3.8 + resolution: "nanoid@npm:3.3.8" bin: nanoid: bin/nanoid.cjs - checksum: d36c427e530713e4ac6567d488b489a36582ef89da1d6d4e3b87eded11eb10d7042a877958c6f104929809b2ab0bafa17652b076cdf84324aa75b30b722204f2 + checksum: dfe0adbc0c77e9655b550c333075f51bb28cfc7568afbf3237249904f9c86c9aaaed1f113f0fddddba75673ee31c758c30c43d4414f014a52a7a626efc5958c9 languageName: node linkType: hard @@ -11200,10 +11178,10 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.1": - version: 1.13.2 - resolution: "object-inspect@npm:1.13.2" - checksum: 9f850b3c045db60e0e97746e809ee4090d6ce62195af17dd1e9438ac761394a7d8ec4f7906559aea5424eaf61e35d3e53feded2ccd5f62fcc7d9670d3c8eb353 +"object-inspect@npm:^1.13.1, object-inspect@npm:^1.13.3": + version: 1.13.3 + resolution: "object-inspect@npm:1.13.3" + checksum: 8c962102117241e18ea403b84d2521f78291b774b03a29ee80a9863621d88265ffd11d0d7e435c4c2cea0dc2a2fbf8bbc92255737a05536590f2df2e8756f297 languageName: node linkType: hard @@ -11996,26 +11974,26 @@ __metadata: linkType: hard "postcss-modules-local-by-default@npm:^4.0.5": - version: 4.0.5 - resolution: "postcss-modules-local-by-default@npm:4.0.5" + version: 4.1.0 + resolution: "postcss-modules-local-by-default@npm:4.1.0" dependencies: icss-utils: ^5.0.0 - postcss-selector-parser: ^6.0.2 + postcss-selector-parser: ^7.0.0 postcss-value-parser: ^4.1.0 peerDependencies: postcss: ^8.1.0 - checksum: ca9b01f4a0a3dfb33e016299e2dfb7e85c3123292f7aec2efc0c6771b9955648598bfb4c1561f7ee9732fb27fb073681233661b32eef98baab43743f96735452 + checksum: 64ac4803c21dd82e227179cf0a8489c645ea99a8c514475da028c9afe5d5b915485d00d8efbe94295d688a23a172965cc15f20d550168d1fed272dbdbbe053f0 languageName: node linkType: hard "postcss-modules-scope@npm:^3.2.0": - version: 3.2.0 - resolution: "postcss-modules-scope@npm:3.2.0" + version: 3.2.1 + resolution: "postcss-modules-scope@npm:3.2.1" dependencies: - postcss-selector-parser: ^6.0.4 + postcss-selector-parser: ^7.0.0 peerDependencies: postcss: ^8.1.0 - checksum: 2ffe7e98c1fa993192a39c8dd8ade93fc4f59fbd1336ce34fcedaee0ee3bafb29e2e23fb49189256895b30e4f21af661c6a6a16ef7b17ae2c859301e4a4459ae + checksum: 085f65863bb7d8bf08209a979ceb22b2b07bb466574e0e698d34aaad832d614957bb05f2418348a14e4035f65e23b2be2951369d26ea429dd5762c6a020f0f7c languageName: node linkType: hard @@ -12163,7 +12141,7 @@ __metadata: languageName: node linkType: hard -"postcss-selector-parser@npm:^6.0.2, postcss-selector-parser@npm:^6.0.4, postcss-selector-parser@npm:^6.1.2": +"postcss-selector-parser@npm:^6.1.2": version: 6.1.2 resolution: "postcss-selector-parser@npm:6.1.2" dependencies: @@ -12173,6 +12151,16 @@ __metadata: languageName: node linkType: hard +"postcss-selector-parser@npm:^7.0.0": + version: 7.0.0 + resolution: "postcss-selector-parser@npm:7.0.0" + dependencies: + cssesc: ^3.0.0 + util-deprecate: ^1.0.2 + checksum: f906b7449fcbe9fa6ae739b6fc324ee3c6201aaf5224f26da27de64ccba68d878d734dd182a467881e463f7ede08972d0129b0cc4d6b671d78c6492cddcef154 + languageName: node + linkType: hard + "postcss-svgo@npm:^7.0.1": version: 7.0.1 resolution: "postcss-svgo@npm:7.0.1" @@ -12203,18 +12191,7 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.31, postcss@npm:^8.4.33": - version: 8.4.47 - resolution: "postcss@npm:8.4.47" - dependencies: - nanoid: ^3.3.7 - picocolors: ^1.1.0 - source-map-js: ^1.2.1 - checksum: f78440a9d8f97431dd2ab1ab8e1de64f12f3eff38a3d8d4a33919b96c381046a314658d2de213a5fa5eb296b656de76a3ec269fdea27f16d5ab465b916a0f52c - languageName: node - linkType: hard - -"postcss@npm:^8.4.38": +"postcss@npm:^8.4.31, postcss@npm:^8.4.33, postcss@npm:^8.4.38": version: 8.4.49 resolution: "postcss@npm:8.4.49" dependencies: @@ -12356,9 +12333,11 @@ __metadata: linkType: hard "psl@npm:^1.1.33": - version: 1.9.0 - resolution: "psl@npm:1.9.0" - checksum: 20c4277f640c93d393130673f392618e9a8044c6c7bf61c53917a0fddb4952790f5f362c6c730a9c32b124813e173733f9895add8d26f566ed0ea0654b2e711d + version: 1.13.0 + resolution: "psl@npm:1.13.0" + dependencies: + punycode: ^2.3.1 + checksum: a2f167cc5c18445b4ef2f6a04bca29add5d12d9e52e0afb6078159c5e379be1d626b06041d04dd8732dd53a9289bd24808bde8af396ba421334948290cba9134 languageName: node linkType: hard @@ -12393,7 +12372,7 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.0, punycode@npm:^2.1.1": +"punycode@npm:^2.1.0, punycode@npm:^2.1.1, punycode@npm:^2.3.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" checksum: bb0a0ceedca4c3c57a9b981b90601579058903c62be23c5e8e843d2c2d4148a3ecf029d5133486fb0e1822b098ba8bba09e89d6b21742d02fa26bda6441a6fb2 @@ -12415,11 +12394,11 @@ __metadata: linkType: hard "qs@npm:^6.12.3": - version: 6.13.0 - resolution: "qs@npm:6.13.0" + version: 6.13.1 + resolution: "qs@npm:6.13.1" dependencies: side-channel: ^1.0.6 - checksum: e9404dc0fc2849245107108ce9ec2766cde3be1b271de0bf1021d049dc5b98d1a2901e67b431ac5509f865420a7ed80b7acb3980099fe1c118a1c5d2e1432ad8 + checksum: 86c5059146955fab76624e95771031541328c171b1d63d48a7ac3b1fdffe262faf8bc5fcadc1684e6f3da3ec87a8dedc8c0009792aceb20c5e94dc34cf468bb9 languageName: node linkType: hard @@ -12848,15 +12827,15 @@ __metadata: linkType: hard "react-dropzone@npm:^14.2.1": - version: 14.2.10 - resolution: "react-dropzone@npm:14.2.10" + version: 14.3.5 + resolution: "react-dropzone@npm:14.3.5" dependencies: - attr-accept: ^2.2.2 - file-selector: ^0.6.0 + attr-accept: ^2.2.4 + file-selector: ^2.1.0 prop-types: ^15.8.1 peerDependencies: react: ">= 16.8 || 18.0.0" - checksum: af6b80295680854d072a9123b6027dad20642eb7a14927304861c1c51c2b5dc20776232600e8cf2d9a15ac89a791042cdfd11afe6020524d52cbf12e934acc2d + checksum: 9eae7e91f1a786f74234c3a9fcf905691494531861d0c568f260abb770c35edaab7d1e43fe6cb413d77ae56ba286ac1c1606bade46ec15421fd41059f985f6ee languageName: node linkType: hard @@ -12951,8 +12930,8 @@ __metadata: linkType: hard "react-select@npm:^5.7.2": - version: 5.8.2 - resolution: "react-select@npm:5.8.2" + version: 5.8.3 + resolution: "react-select@npm:5.8.3" dependencies: "@babel/runtime": ^7.12.0 "@emotion/cache": ^11.4.0 @@ -12966,7 +12945,7 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: d7b45e377e80731ef11dd0c00749f65c7ce6558c41679dbcfe0af4cfd1d77347275647d847bff1aa584128148863ea59e37cd9c90b754e29b955318fa896884c + checksum: 7678fdd5d441531deba4dfd0edcc0d53cb04297f0f4b7c8ab32023819b1787b60541e056f44a96c2a58ac720dbe973b02c6544820ff4f0541a6155b814503829 languageName: node linkType: hard @@ -12994,13 +12973,13 @@ __metadata: languageName: node linkType: hard -"react-transition-state@npm:^2.1.0": - version: 2.1.3 - resolution: "react-transition-state@npm:2.1.3" +"react-transition-state@npm:^2.1.2": + version: 2.2.0 + resolution: "react-transition-state@npm:2.2.0" peerDependencies: react: ">=16.8.0" react-dom: ">=16.8.0" - checksum: 6a5fd4d729695b42fc220903f0ea6faf19fe2ed576350cf58fdfcffb98e838ed1ea789b707996297fcf13b7e4b052cfc84004d90e5b9667fe01538226aa2cec6 + checksum: 16a7ad550cff3e1a2ef1ae0aa5e43f184776619af26634fc1b49b86e3354ae1d54a70e52646614d3c3eafc1c92330e3243817474d89594496489b9a9e7d15d35 languageName: node linkType: hard @@ -13151,18 +13130,18 @@ __metadata: languageName: node linkType: hard -"reflect.getprototypeof@npm:^1.0.4": - version: 1.0.6 - resolution: "reflect.getprototypeof@npm:1.0.6" +"reflect.getprototypeof@npm:^1.0.4, reflect.getprototypeof@npm:^1.0.6": + version: 1.0.7 + resolution: "reflect.getprototypeof@npm:1.0.7" dependencies: call-bind: ^1.0.7 define-properties: ^1.2.1 - es-abstract: ^1.23.1 + es-abstract: ^1.23.5 es-errors: ^1.3.0 get-intrinsic: ^1.2.4 - globalthis: ^1.0.3 - which-builtin-type: ^1.1.3 - checksum: 88e9e65a7eaa0bf8e9a8bbf8ac07571363bc333ba8b6769ed5e013e0042ed7c385e97fae9049510b3b5fe4b42472d8f32de9ce8ce84902bc4297d4bbe3777dba + gopd: ^1.0.1 + which-builtin-type: ^1.1.4 + checksum: e023846d4d9631b46476a2315f5cdebb1f98782e145e807d985b47df8314776220b0d82244c9f3e51718acb09da79149f406afa9872e4fb4ca473dcc4e980598 languageName: node linkType: hard @@ -13198,7 +13177,7 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.2": +"regexp.prototype.flags@npm:^1.5.2, regexp.prototype.flags@npm:^1.5.3": version: 1.5.3 resolution: "regexp.prototype.flags@npm:1.5.3" dependencies: @@ -13211,16 +13190,16 @@ __metadata: linkType: hard "regexpu-core@npm:^6.1.1": - version: 6.1.1 - resolution: "regexpu-core@npm:6.1.1" + version: 6.2.0 + resolution: "regexpu-core@npm:6.2.0" dependencies: regenerate: ^1.4.2 regenerate-unicode-properties: ^10.2.0 regjsgen: ^0.8.0 - regjsparser: ^0.11.0 + regjsparser: ^0.12.0 unicode-match-property-ecmascript: ^2.0.0 unicode-match-property-value-ecmascript: ^2.1.0 - checksum: ed8e3784e81b816b237313688f28b4695d30d4e0f823dfdf130fd4313c629ac6ec67650563867a6ca9a2435f33e79f3a5001c651aee52791e346213a948de0ff + checksum: 67d3c4a3f6c99bc80b5d690074a27e6f675be1c1739f8a9acf028fbc36f1a468472574ea65e331e217995198ba4404d7878f3cb3739a73552dd3c70d3fb7f8e6 languageName: node linkType: hard @@ -13231,14 +13210,14 @@ __metadata: languageName: node linkType: hard -"regjsparser@npm:^0.11.0": - version: 0.11.2 - resolution: "regjsparser@npm:0.11.2" +"regjsparser@npm:^0.12.0": + version: 0.12.0 + resolution: "regjsparser@npm:0.12.0" dependencies: jsesc: ~3.0.2 bin: regjsparser: bin/parser - checksum: 500ab99d6174aef18b43518f4b1f217192459621b0505ad6e8cbbec8135a83e64491077843b4ad06249a207ffecd6566f3db1895a7c5df98f786b4b0edcc9820 + checksum: 094b55b0ab3e1fd58f8ce5132a1d44dab08d91f7b0eea4132b0157b303ebb8ded20a9cbd893d25402d2aeddb23fac1f428ab4947b295d6fa51dd1c334a9e76f0 languageName: node linkType: hard @@ -14151,15 +14130,15 @@ __metadata: linkType: hard "sql-formatter@npm:^15.4.0": - version: 15.4.5 - resolution: "sql-formatter@npm:15.4.5" + version: 15.4.6 + resolution: "sql-formatter@npm:15.4.6" dependencies: argparse: ^2.0.1 get-stdin: =8.0.0 nearley: ^2.20.1 bin: sql-formatter: bin/sql-formatter-cli.cjs - checksum: df923855e4e03d131f3f0a23539c9fd122ce1dbcc8f3e7d1addc4d5721a8ccb0e3501ca282d1743b90f7e21575f321f37d87cd9c593b12dd452bc29687b27f3f + checksum: 86ff394b026a2fee3d4b01ab6d05e120ec12fa76bfd65d537df2342bd2c762d84049bffaad01ab8f0a4e8605eba44e66520ea20d2691c836a1a68de38df64147 languageName: node linkType: hard @@ -14457,12 +14436,12 @@ __metadata: linkType: hard "strtok3@npm:^9.0.1": - version: 9.0.1 - resolution: "strtok3@npm:9.0.1" + version: 9.1.1 + resolution: "strtok3@npm:9.1.1" dependencies: "@tokenizer/token": ^0.3.0 peek-readable: ^5.3.1 - checksum: 9c583a8b84a28706a9114b70d0ff6fb6ee435f1e5f2c47a49ee125eea6b1da5c2178ec821a1f47e7906f480f6a1f3d534c2d3e4c1ef73407e1686dcf11f7ff1a + checksum: 6af257b04edb3f59b0e537830a43c0b8d64354247a0de9f5980e98883722b17d9f6ae073d4b2742a0af0ab3357e40ce7131aa582e8bbe494aa73025298a8a405 languageName: node linkType: hard @@ -14766,13 +14745,6 @@ __metadata: languageName: node linkType: hard -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: b6937a38c80c7f84d9c11dd75e49d5c44f71d95e810a3250bd1f1797fc7117c57698204adf676b71497acc205d769d65c16ae8fa10afad832ae1322630aef10a - languageName: node - linkType: hard - "through2@npm:^2.0.0": version: 2.0.5 resolution: "through2@npm:2.0.5" @@ -14893,11 +14865,11 @@ __metadata: linkType: hard "ts-api-utils@npm:^1.3.0": - version: 1.4.0 - resolution: "ts-api-utils@npm:1.4.0" + version: 1.4.2 + resolution: "ts-api-utils@npm:1.4.2" peerDependencies: typescript: ">=4.2.0" - checksum: 477601317dc8a6d961788663ee76984005ed20c70689bd6f807eed2cad258d3731edcc4162d438ce04782ca62a05373ba51e484180fc2a081d8dab2bf693a5af + checksum: 55ccce01964d1cebb19940b4c2ca713bff0994315be2bd1e04c8c91c7e1de78cf73bbaa61d4e7fa03406bbc523cbd2b5c4098f67c8efbb6c98176cb7f3619346 languageName: node linkType: hard @@ -14908,10 +14880,10 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.3, tslib@npm:^2.4.0": - version: 2.8.0 - resolution: "tslib@npm:2.8.0" - checksum: de852ecd81adfdb4870927e250763345f07dc13fe7f395ce261424966bb122a0992ad844c3ec875c9e63e72afe2220a150712984e44dfd1a8a7e538a064e3d46 +"tslib@npm:^2.0.3, tslib@npm:^2.7.0": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: e4aba30e632b8c8902b47587fd13345e2827fa639e7c3121074d5ee0880723282411a8838f830b55100cbe4517672f84a2472667d355b81e8af165a55dc6203a languageName: node linkType: hard @@ -15030,8 +15002,8 @@ __metadata: linkType: hard "typed-array-byte-offset@npm:^1.0.2": - version: 1.0.2 - resolution: "typed-array-byte-offset@npm:1.0.2" + version: 1.0.3 + resolution: "typed-array-byte-offset@npm:1.0.3" dependencies: available-typed-arrays: ^1.0.7 call-bind: ^1.0.7 @@ -15039,21 +15011,22 @@ __metadata: gopd: ^1.0.1 has-proto: ^1.0.3 is-typed-array: ^1.1.13 - checksum: c8645c8794a621a0adcc142e0e2c57b1823bbfa4d590ad2c76b266aa3823895cf7afb9a893bf6685e18454ab1b0241e1a8d885a2d1340948efa4b56add4b5f67 + reflect.getprototypeof: ^1.0.6 + checksum: 36728daa80d49a9fa51cd3f0f2b037613f4574666fd4473bd37ac123d7f6f81ea68ff45424c1e2673257964e10bedeb3ebfce73532672913ebbe446999912303 languageName: node linkType: hard "typed-array-length@npm:^1.0.6": - version: 1.0.6 - resolution: "typed-array-length@npm:1.0.6" + version: 1.0.7 + resolution: "typed-array-length@npm:1.0.7" dependencies: call-bind: ^1.0.7 for-each: ^0.3.3 gopd: ^1.0.1 - has-proto: ^1.0.3 is-typed-array: ^1.1.13 possible-typed-array-names: ^1.0.0 - checksum: f0315e5b8f0168c29d390ff410ad13e4d511c78e6006df4a104576844812ee447fcc32daab1f3a76c9ef4f64eff808e134528b5b2439de335586b392e9750e5c + reflect.getprototypeof: ^1.0.6 + checksum: deb1a4ffdb27cd930b02c7030cb3e8e0993084c643208e52696e18ea6dd3953dfc37b939df06ff78170423d353dc8b10d5bae5796f3711c1b3abe52872b3774c languageName: node linkType: hard @@ -15065,36 +15038,38 @@ __metadata: linkType: hard "typescript-eslint@npm:^8.8.0": - version: 8.12.2 - resolution: "typescript-eslint@npm:8.12.2" + version: 8.16.0 + resolution: "typescript-eslint@npm:8.16.0" dependencies: - "@typescript-eslint/eslint-plugin": 8.12.2 - "@typescript-eslint/parser": 8.12.2 - "@typescript-eslint/utils": 8.12.2 + "@typescript-eslint/eslint-plugin": 8.16.0 + "@typescript-eslint/parser": 8.16.0 + "@typescript-eslint/utils": 8.16.0 + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 peerDependenciesMeta: typescript: optional: true - checksum: 55412f46f2ce3be317107778a9b3f60d1ccc8b3b6f600eefc077d20109890801d684e995eace8ed96a9f8ca824acb2d31c853c2754715f18edb38caf51a76270 + checksum: e8cb50761b9d216158b3738a745adca633dea8fc870e9f26a98979bc22e00bfb5626220f0321e72ad570b6307fb5c9b88bbf8cdda916c931dee9689ac8aa815c languageName: node linkType: hard "typescript@npm:^5.4.5": - version: 5.6.3 - resolution: "typescript@npm:5.6.3" + version: 5.7.2 + resolution: "typescript@npm:5.7.2" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: ba302f8822777ebefb28b554105f3e074466b671e7444ec6b75dadc008a62f46f373d9e57ceced1c433756d06c8b7dc569a7eefdf3a9573122a49205ff99021a + checksum: b55300c4cefee8ee380d14fa9359ccb41ff8b54c719f6bc49b424899d662a5ce62ece390ce769568c7f4d14af844085255e63788740084444eb12ef423b13433 languageName: node linkType: hard "typescript@patch:typescript@^5.4.5#~builtin": - version: 5.6.3 - resolution: "typescript@patch:typescript@npm%3A5.6.3#~builtin::version=5.6.3&hash=8c6c40" + version: 5.7.2 + resolution: "typescript@patch:typescript@npm%3A5.7.2#~builtin::version=5.7.2&hash=cef18b" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: f6947c263dc67ea8429eefc3921683320f901a07d9ef29a1101a34f5b30108343b5a29aa77a581217a17f2616091ae7bd3043b304cf37f37d5e128e19296c08b + checksum: 803430c6da2ba73c25a21880d8d4f08a56d9d2444e6db2ea949ac4abceeece8e4a442b7b9b585db7d8a0b47ebda2060e45fe8ee8b8aca23e27ec1d4844987ee6 languageName: node linkType: hard @@ -15174,10 +15149,10 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~6.19.8": - version: 6.19.8 - resolution: "undici-types@npm:6.19.8" - checksum: de51f1b447d22571cf155dfe14ff6d12c5bdaec237c765085b439c38ca8518fc360e88c70f99469162bf2e14188a7b0bcb06e1ed2dc031042b984b0bb9544017 +"undici-types@npm:~6.20.0": + version: 6.20.0 + resolution: "undici-types@npm:6.20.0" + checksum: b7bc50f012dc6afbcce56c9fd62d7e86b20a62ff21f12b7b5cbf1973b9578d90f22a9c7fe50e638e96905d33893bf2f9f16d98929c4673c2480de05c6c96ea8b languageName: node linkType: hard @@ -15624,16 +15599,16 @@ __metadata: linkType: hard "webpack@npm:^5.88.2": - version: 5.95.0 - resolution: "webpack@npm:5.95.0" + version: 5.96.1 + resolution: "webpack@npm:5.96.1" dependencies: - "@types/estree": ^1.0.5 + "@types/eslint-scope": ^3.7.7 + "@types/estree": ^1.0.6 "@webassemblyjs/ast": ^1.12.1 "@webassemblyjs/wasm-edit": ^1.12.1 "@webassemblyjs/wasm-parser": ^1.12.1 - acorn: ^8.7.1 - acorn-import-attributes: ^1.9.5 - browserslist: ^4.21.10 + acorn: ^8.14.0 + browserslist: ^4.24.0 chrome-trace-event: ^1.0.2 enhanced-resolve: ^5.17.1 es-module-lexer: ^1.2.1 @@ -15655,7 +15630,7 @@ __metadata: optional: true bin: webpack: bin/webpack.js - checksum: 0c3dfe288de4d62f8f3dc25478a618894883cab739121330763b7847e43304630ea2815ae2351a5f8ff6ab7c9642caf530d503d89bda261fe2cd220e524dd5d1 + checksum: ec3662f64895fae408440a997f87299e374c9d9f911f77b880bab46402f52221c7836bdf101fc2556338d07fc7cb86da50661f944eb1d1041a8361a5b9247876 languageName: node linkType: hard @@ -15698,15 +15673,16 @@ __metadata: languageName: node linkType: hard -"which-builtin-type@npm:^1.1.3": - version: 1.1.4 - resolution: "which-builtin-type@npm:1.1.4" +"which-builtin-type@npm:^1.1.4": + version: 1.2.0 + resolution: "which-builtin-type@npm:1.2.0" dependencies: + call-bind: ^1.0.7 function.prototype.name: ^1.1.6 has-tostringtag: ^1.0.2 is-async-function: ^2.0.0 is-date-object: ^1.0.5 - is-finalizationregistry: ^1.0.2 + is-finalizationregistry: ^1.1.0 is-generator-function: ^1.0.10 is-regex: ^1.1.4 is-weakref: ^1.0.2 @@ -15714,7 +15690,7 @@ __metadata: which-boxed-primitive: ^1.0.2 which-collection: ^1.0.2 which-typed-array: ^1.1.15 - checksum: 1f413025250072534de2a2ee25139a24d477512b532b05c85fb9aa05aef04c6e1ca8e2668acf971b777e602721dbdec4b9d6a4f37c6b9ff8f026ad030352707f + checksum: 6d40ecdf33a28c3fdeab13e7e3b4289fb51f7ebd0983e628d50fa42e113d8be1bc7dd0e6eb23c6b6a0c2c0c7667763eca3a2af1f6d768e48efba8073870eb568 languageName: node linkType: hard