From 05644c20a31b4623d53c8f22a9ebacb75d93faa0 Mon Sep 17 00:00:00 2001 From: Dimitar Atanasov Date: Fri, 15 Nov 2024 15:15:14 +0200 Subject: [PATCH] Initial commit --- .env.example | 11 + .eslintrc | 339 + .firebase/hosting.ZGlzdA.cache | 23 + .firebaserc | 5 + .../workflows/firebase-hosting-merge-dev.yml | 35 + .github/workflows/firebase-hosting-merge.yml | 35 + .../firebase-hosting-pull-request-dev.yml | 39 + .../firebase-hosting-pull-request.yml | 39 + .gitignore | 33 + .npmrc | 2 + .papi/descriptors/.gitignore | 3 + .papi/descriptors/package.json | 24 + .vscode/settings.json | 33 + .../LICENSE-@pivanov-event-bus.txt | 1 + ...LICENSE-@pivanov-use-toggle-visibility.txt | 1 + .../LICENSE-@polkadot-api-descriptors.txt | 21 + ...ICENSE-@polkadot-api-metadata-builders.txt | 21 + .../LICENSE-@polkadot-api-view-builder.txt | 21 + .../LICENSE-@polkadot-react-identicon.txt | 201 + .../LICENSE-@polkadot-types.txt | 201 + .../LICENSE-@radix-ui-react-scroll-area.txt | 21 + .../LICENSE-@radix-ui-react-select.txt | 21 + .../LICENSE-@radix-ui-react-switch.txt | 21 + .../LICENSE-@radix-ui-react-tooltip.txt | 21 + .../LICENSE-@shikijs-monaco.txt | 22 + .../LICENSE-@stylistic-eslint-plugin-jsx.txt | 22 + .../LICENSE-@stylistic-eslint-plugin.txt | 22 + .../LICENSE-@tanstack-react-table.txt | 21 + .../LICENSE-@tanstack-react-virtual.txt | 21 + .../LICENSE-@typescript-ata.txt | 17 + .../LICENSE-@vitejs-plugin-react-swc.txt | 21 + 3rd-party-licenses/LICENSE-axios.txt | 7 + 3rd-party-licenses/LICENSE-clsx.txt | 9 + 3rd-party-licenses/LICENSE-date-fns copy.txt | 9 + 3rd-party-licenses/LICENSE-date-fns.txt | 9 + 3rd-party-licenses/LICENSE-file-saver.txt | 9 + 3rd-party-licenses/LICENSE-firebase.txt | 257 + 3rd-party-licenses/LICENSE-monaco-editor.txt | 21 + 3rd-party-licenses/LICENSE-nanoid.txt | 20 + 3rd-party-licenses/LICENSE-pako.txt | 21 + 3rd-party-licenses/LICENSE-polkadot-api.txt | 21 + 3rd-party-licenses/LICENSE-prettier.txt | 7 + 3rd-party-licenses/LICENSE-prism-themes.txt | 21 + 3rd-party-licenses/LICENSE-prismjs.txt | 21 + 3rd-party-licenses/LICENSE-react-dom.txt | 21 + .../LICENSE-react-helmet-async.txt | 201 + .../LICENSE-react-hot-toast.txt | 21 + .../LICENSE-react-resizable-panels.txt | 21 + .../LICENSE-react-router-dom.txt | 9 + 3rd-party-licenses/LICENSE-react.txt | 21 + .../LICENSE-react18-json-view.txt | 21 + 3rd-party-licenses/LICENSE-scale-ts.txt | 21 + 3rd-party-licenses/LICENSE-shiki.txt | 22 + .../LICENSE-styled-components.txt | 21 + 3rd-party-licenses/LICENSE-sucrase.txt | 21 + 3rd-party-licenses/LICENSE-tailwind-merge.txt | 9 + 3rd-party-licenses/LICENSE-ts-node.txt | 21 + 3rd-party-licenses/LICENSE-vite.txt | 21 + 3rd-party-licenses/LICENSE-zustand.txt | 21 + LICENSE | 273 + README.md | 47 + firebase.json | 16 + firebaseConfig.ts | 15 + index.html | 23 + package-lock.json | 15011 ++++++++++++++++ package.json | 114 + postcss.config.js | 6 + public/.keep | 0 public/apple-touch-icon.png | Bin 0 -> 7059 bytes public/devGround.png | Bin 0 -> 31949 bytes public/favicon-16x16.png | Bin 0 -> 374 bytes public/favicon-32x32.png | Bin 0 -> 669 bytes public/favicon.ico | Bin 0 -> 15406 bytes public/favicon.svg | 4 + src/app/index.tsx | 111 + src/app/routes.tsx | 121 + src/assets/fonts/Geist-Bold.ttf | Bin 0 -> 106404 bytes src/assets/fonts/Geist-Regular.ttf | Bin 0 -> 103636 bytes src/assets/fonts/Poppins-ExtraLight.ttf | Bin 0 -> 161456 bytes src/assets/fonts/Poppins-Light.ttf | Bin 0 -> 159892 bytes src/assets/fonts/Poppins-Regular.ttf | Bin 0 -> 158240 bytes src/assets/fonts/Poppins-SemiBold.ttf | Bin 0 -> 155232 bytes src/assets/fonts/fonts.css | 37 + src/assets/styles/index.css | 190 + src/assets/svgs/chain/kusama-asset-hub.svg | 10 + src/assets/svgs/chain/kusama-bridge-hub.svg | 11 + src/assets/svgs/chain/kusama-people.svg | 29 + src/assets/svgs/chain/kusama.svg | 4 + src/assets/svgs/chain/paseo-asset-hub.svg | 17 + src/assets/svgs/chain/paseo.svg | 36 + src/assets/svgs/chain/polkadot-asset-hub.svg | 12 + src/assets/svgs/chain/polkadot-bridge-hub.svg | 17 + .../svgs/chain/polkadot-collectives.svg | 1 + src/assets/svgs/chain/polkadot-people.svg | 25 + src/assets/svgs/chain/polkadot.svg | 9 + src/assets/svgs/chain/westend-asset-hub.svg | 17 + src/assets/svgs/chain/westend-bridge-hub.svg | 15 + src/assets/svgs/chain/westend-people.svg | 29 + src/assets/svgs/chain/westend.svg | 17 + src/assets/svgs/icon/add.svg | 5 + src/assets/svgs/icon/arrowCircle.svg | 5 + src/assets/svgs/icon/arrowLeft.svg | 4 + src/assets/svgs/icon/block.svg | 5 + src/assets/svgs/icon/blockChecked.svg | 6 + src/assets/svgs/icon/brackets.svg | 4 + src/assets/svgs/icon/chain.svg | 4 + src/assets/svgs/icon/chart.svg | 6 + src/assets/svgs/icon/check.svg | 3 + src/assets/svgs/icon/checked.svg | 4 + src/assets/svgs/icon/circle-slash.svg | 4 + src/assets/svgs/icon/clipboard.svg | 4 + src/assets/svgs/icon/clock.svg | 4 + src/assets/svgs/icon/close.svg | 4 + src/assets/svgs/icon/darkMode.svg | 5 + src/assets/svgs/icon/database.svg | 5 + src/assets/svgs/icon/databaseRepeat.svg | 8 + src/assets/svgs/icon/download.svg | 3 + src/assets/svgs/icon/dropdownArrow.svg | 3 + src/assets/svgs/icon/expand.svg | 3 + src/assets/svgs/icon/explorer.svg | 5 + src/assets/svgs/icon/export.svg | 3 + src/assets/svgs/icon/failed.svg | 5 + src/assets/svgs/icon/forks.svg | 3 + src/assets/svgs/icon/group.svg | 7 + src/assets/svgs/icon/info.svg | 5 + src/assets/svgs/icon/lightMode.svg | 11 + src/assets/svgs/icon/linkArrow.svg | 4 + src/assets/svgs/icon/loader.svg | 3 + src/assets/svgs/icon/logout.svg | 5 + src/assets/svgs/icon/menu.svg | 5 + src/assets/svgs/icon/newBlock.svg | 4 + src/assets/svgs/icon/openLink.svg | 5 + src/assets/svgs/icon/pause.svg | 4 + src/assets/svgs/icon/pc.svg | 3 + src/assets/svgs/icon/pen.svg | 4 + src/assets/svgs/icon/play.svg | 3 + src/assets/svgs/icon/reload.svg | 3 + src/assets/svgs/icon/remove.svg | 4 + src/assets/svgs/icon/rpcCalls.svg | 3 + src/assets/svgs/icon/runtimeCalls.svg | 3 + src/assets/svgs/icon/save.svg | 5 + src/assets/svgs/icon/search.svg | 3 + src/assets/svgs/icon/share.svg | 3 + src/assets/svgs/icon/shieldPlus.svg | 5 + src/assets/svgs/icon/stackedCoins.svg | 6 + src/assets/svgs/icon/timer.svg | 5 + src/assets/svgs/icon/transfer.svg | 6 + src/assets/svgs/icon/trash.svg | 7 + src/assets/svgs/icon/wallet.svg | 5 + src/assets/svgs/icon/zipFile.svg | 9 + src/assets/svgs/logo/devground.svg | 18 + src/assets/svgs/logo/github.svg | 3 + src/assets/svgs/logo/limeChain.svg | 4 + src/assets/svgs/logo/nova.svg | 39 + src/assets/svgs/logo/polkadot-js.svg | 25 + src/assets/svgs/logo/polkadot.svg | 8 + src/assets/svgs/logo/polkadotBlockDetails.svg | 8 + src/assets/svgs/logo/subwallet-js.svg | 10 + src/assets/svgs/logo/talisman.svg | 41 + src/assets/svgs/logo/x.svg | 3 + src/assets/workers/monaco-worker.ts | 27 + src/components/MobileNotAllowed/index.tsx | 30 + src/components/burgerMenu/index.tsx | 103 + src/components/callDocs.tsx | 42 + src/components/chainSelectButton/index.tsx | 47 + src/components/chainSelector/index.tsx | 182 + src/components/chainState/index.ts | 1 + .../chainState/invocationStorageArgs.tsx | 37 + src/components/copyToClipboard/index.tsx | 134 + src/components/decoder/index.ts | 1 + src/components/decoder/invocationDecoder.tsx | 52 + .../decoder/invocationDecoderArgs.tsx | 49 + src/components/decoderDynamic/index.ts | 1 + .../invocationDecoderDynamic.tsx | 28 + src/components/errorBoundary/index.tsx | 43 + src/components/exampleNotFound/index.tsx | 116 + src/components/footer/footerLink.tsx | 42 + src/components/footer/index.tsx | 51 + src/components/githubButton/index.tsx | 83 + src/components/header/index.tsx | 39 + src/components/icon/index.tsx | 50 + src/components/invocationArgsMapper/index.tsx | 39 + .../invocationArgsMapper/invocationMapper.tsx | 121 + .../invocationRpcSelect.tsx | 41 + .../invocationArgsMapper/notImplemented.tsx | 7 + .../invocationArgsMapper/styles.module.css | 23 + src/components/invocationArgsMapper/types.ts | 124 + src/components/jsonViewer/index.tsx | 43 + src/components/layouts/basic/index.tsx | 71 + src/components/layouts/codeEditor/index.tsx | 17 + src/components/loader/index.tsx | 13 + src/components/login/callback.tsx | 70 + src/components/logo/index.tsx | 19 + .../accountBuilder/accountBuilder.tsx | 85 + .../metadataBuilders/accountBuilder/index.ts | 2 + .../accountBuilder/manualAccountInput.tsx | 61 + .../accountBuilder/walletAccountSelector.tsx | 63 + .../arrayBuilder/arrayBuilder.tsx | 32 + .../arrayBuilder/arrayBuilderCore.tsx | 53 + .../metadataBuilders/arrayBuilder/index.ts | 1 + .../bitstreamBuilder/bitstreamBuilder.tsx | 57 + .../bitstreamBuilder/bitstreamInput.tsx | 74 + .../bitstreamBuilder/index.ts | 1 + .../compactBuilder/compactBuilder.tsx | 42 + .../metadataBuilders/compactBuilder/index.ts | 1 + .../conditionalBuilder/conditionalBuilder.tsx | 65 + .../conditionalBuilder/index.ts | 1 + .../enumBuilder/enumBuilder.tsx | 85 + .../metadataBuilders/enumBuilder/index.ts | 1 + .../metadataBuilders/orderBuilder/index.ts | 1 + .../orderBuilder/orderBuilder.tsx | 32 + .../orderBuilder/orderBuilderCore.tsx | 136 + .../primitiveBuilder/index.ts | 1 + .../primitiveBuilder/primitiveBuilder.tsx | 121 + .../metadataBuilders/structBuilder/index.ts | 1 + .../structBuilder/structBuilder.tsx | 71 + .../metadataBuilders/tupleBuilder/index.ts | 1 + .../tupleBuilder/tupleBuilder.tsx | 27 + .../tupleBuilder/tupleBuilderCore.tsx | 60 + .../metadataBuilders/voidBuilder/index.ts | 1 + .../voidBuilder/voidBuilder.tsx | 19 + src/components/mobileChainSelect/index.tsx | 191 + src/components/modals/modal/index.tsx | 109 + .../modals/modalChainSelect/index.tsx | 33 + .../modals/modalDeleteExample/index.tsx | 101 + .../modals/modalEditExampleInfo/index.tsx | 122 + .../modals/modalGithubLogin/index.tsx | 63 + .../modals/modalJSONViewer/index.tsx | 43 + .../modalSaveExample/createExample/index.tsx | 99 + .../modals/modalSaveExample/index.tsx | 157 + .../modals/modalWalletSelect/index.tsx | 79 + src/components/navigation/index.tsx | 41 + .../navigation/navigationDropdown.tsx | 109 + .../navigation/navigationDropdownItem.tsx | 52 + src/components/navigation/navigationItem.tsx | 45 + src/components/navigation/navigationLink.tsx | 33 + src/components/pageHeader/index.tsx | 47 + src/components/papiQuery/queryButton.tsx | 38 + .../papiQuery/queryFormContainer.tsx | 13 + src/components/papiQuery/queryResult.tsx | 119 + .../papiQuery/queryResultContainer.tsx | 14 + .../papiQuery/queryViewContainer.tsx | 20 + src/components/pdFileUpload/index.tsx | 103 + src/components/pdLink/index.tsx | 51 + src/components/pdScrollArea/index.tsx | 178 + src/components/pdSelect/index.tsx | 272 + src/components/pdSwitch/index.tsx | 34 + src/components/reactPortal/index.tsx | 46 + src/components/rpcCalls/index.ts | 1 + src/components/rpcCalls/invocationRpcArg.tsx | 70 + src/components/rpcCalls/invocationRpcArgs.tsx | 56 + src/components/runtimeCalls/index.ts | 1 + .../runtimeCalls/invocationRuntimeArgs.tsx | 79 + src/components/searchBar/index.tsx | 195 + src/components/searchBar/results.tsx | 224 + src/components/searchChain/index.tsx | 39 + src/components/storeSizeViewer/index.tsx | 150 + src/components/table/index.tsx | 114 + src/components/tabs/index.tsx | 169 + src/components/toggleButton/index.tsx | 55 + src/components/toggleTheme/index.tsx | 33 + src/components/tooltTip/index.tsx | 38 + src/components/walletSelectButton/index.tsx | 91 + src/constants/auth.ts | 6 + src/constants/chain.ts | 466 + src/constants/chainState.ts | 22 + src/constants/decoders/index.ts | 32 + src/constants/decoders/types.ts | 16 + src/constants/footer.ts | 53 + src/constants/links.ts | 39 + src/constants/navigation.ts | 68 + src/constants/rpcCalls/index.tsx | 966 + src/constants/rpcCalls/types.ts | 24 + src/constants/snippets/chainSubscription.txt | 75 + .../snippets/getChainSpecificData.txt | 106 + src/constants/snippets/index.ts | 43 + .../snippets/injectedAccountTransfer.txt | 125 + .../snippets/testAccountTransfer.txt | 125 + src/constants/wallet.ts | 24 + src/hooks/useDynamicBuilder.ts | 15 + src/hooks/useViewBuilder.ts | 15 + src/main.tsx | 35 + src/services/authService.ts | 144 + src/services/axiosSetup.ts | 59 + src/services/examplesService.ts | 95 + src/services/walletService.ts | 32 + src/stores/auth/index.ts | 94 + src/stores/chain/index.ts | 287 + src/stores/createSelectors.ts | 16 + src/stores/examples/index.ts | 255 + src/stores/index.ts | 4 + src/stores/sizeMiddleware.ts | 64 + src/stores/ui/helpers.ts | 31 + src/stores/ui/index.ts | 55 + src/stores/wallet/index.ts | 95 + src/types/auth.ts | 5 + src/types/block.ts | 82 + src/types/chain.ts | 141 + src/types/codeSnippet.ts | 6 + src/types/eventBus.ts | 95 + src/types/global.ts | 22 + src/types/papi.ts | 23 + src/types/rawClientReturnTypes.ts | 20 + src/utils/callbacks.ts | 33 + src/utils/codec/index.ts | 31 + src/utils/components.tsx | 64 + src/utils/downloadZip/index.ts | 2 + src/utils/explorer.ts | 33 + src/utils/helpers.ts | 166 + src/utils/hooks/useDebounce.ts | 38 + src/utils/hooks/useEventListener.ts | 84 + src/utils/hooks/useMergedRefs.ts | 27 + src/utils/hooks/useOnClickOutside.ts | 39 + src/utils/hooks/useResizeObserver.ts | 153 + src/utils/iframe/iframe.html | 116 + src/utils/iframe/index.ts | 173 + src/utils/internal.ts | 84 + src/utils/invocationMapper.ts | 63 + src/utils/papi/helpers.ts | 71 + src/utils/papi/index.ts | 377 + src/utils/rpc/extrinsic.tsx | 0 src/utils/rpc/getBlockDetails.ts | 315 + src/utils/rpc/rpc-calls.ts | 44 + src/utils/storage.ts | 142 + src/views/blockDetails/blockBody/index.tsx | 279 + src/views/blockDetails/blockHeader/index.tsx | 156 + src/views/blockDetails/index.tsx | 182 + src/views/blockDetails/styles.module.css | 27 + src/views/chainState/index.tsx | 338 + .../components/actionButton/index.tsx | 45 + .../debugPanel/console/consoleActions.tsx | 90 + .../components/debugPanel/console/index.tsx | 168 + .../components/debugPanel/index.tsx | 124 + .../components/debugPanel/problems.tsx | 80 + .../codeEditor/components/iframe/index.tsx | 102 + .../components/monacoEditor/actions.tsx | 206 + .../components/monacoEditor/index.tsx | 391 + .../examplesList/customExamples.tsx | 179 + .../examplesList/defaultExamples.tsx | 77 + .../components/selectExample/index.tsx | 124 + src/views/codeEditor/constants.ts | 21 + src/views/codeEditor/helpers.ts | 101 + src/views/codeEditor/index.tsx | 222 + src/views/codeEditor/monaco-editor-config.ts | 68 + src/views/codeEditor/progress.tsx | 115 + src/views/codePreview/index.tsx | 51 + src/views/constants/index.tsx | 233 + src/views/decoder/index.tsx | 222 + src/views/decoderDynamic/index.tsx | 355 + .../components/chainDataList/index.tsx | 122 + .../components/chainStateBlock/index.tsx | 148 + .../components/extrinsicsList/index.tsx | 150 + .../components/extrinsicsList/row.tsx | 69 + .../components/latestBlocksList/index.tsx | 106 + .../components/latestBlocksList/row.tsx | 83 + .../explorer/components/styles.module.css | 13 + src/views/explorer/index.tsx | 48 + src/views/extrinsics/index.tsx | 374 + .../forks/curvedLineWithArrow/helpers.ts | 58 + src/views/forks/curvedLineWithArrow/index.tsx | 175 + src/views/forks/helpers.ts | 61 + src/views/forks/index.tsx | 118 + src/views/forks/scrollButtons/index.tsx | 86 + src/views/forks/virtualizedList.tsx | 253 + src/views/home/components/cardLink/index.tsx | 60 + src/views/home/index.tsx | 51 + src/views/latestBlocks/index.tsx | 145 + src/views/notFound/index.tsx | 14 + .../components/defaultExamples/index.tsx | 57 + .../components/githubExamples/index.tsx | 83 + .../onboarding/components/search/index.tsx | 40 + src/views/onboarding/index.tsx | 67 + src/views/rpcCalls/index.tsx | 492 + src/views/runtimeCalls/index.tsx | 288 + src/views/signedExtrinsics/index.tsx | 178 + src/vite-env.d.ts | 2 + tailwind.config.js | 295 + tsconfig.json | 49 + vite.config.ts | 163 + 379 files changed, 38940 insertions(+) create mode 100644 .env.example create mode 100644 .eslintrc create mode 100644 .firebase/hosting.ZGlzdA.cache create mode 100644 .firebaserc create mode 100644 .github/workflows/firebase-hosting-merge-dev.yml create mode 100644 .github/workflows/firebase-hosting-merge.yml create mode 100644 .github/workflows/firebase-hosting-pull-request-dev.yml create mode 100644 .github/workflows/firebase-hosting-pull-request.yml create mode 100644 .gitignore create mode 100644 .npmrc create mode 100644 .papi/descriptors/.gitignore create mode 100644 .papi/descriptors/package.json create mode 100644 .vscode/settings.json create mode 100644 3rd-party-licenses/LICENSE-@pivanov-event-bus.txt create mode 100644 3rd-party-licenses/LICENSE-@pivanov-use-toggle-visibility.txt create mode 100644 3rd-party-licenses/LICENSE-@polkadot-api-descriptors.txt create mode 100644 3rd-party-licenses/LICENSE-@polkadot-api-metadata-builders.txt create mode 100644 3rd-party-licenses/LICENSE-@polkadot-api-view-builder.txt create mode 100644 3rd-party-licenses/LICENSE-@polkadot-react-identicon.txt create mode 100644 3rd-party-licenses/LICENSE-@polkadot-types.txt create mode 100644 3rd-party-licenses/LICENSE-@radix-ui-react-scroll-area.txt create mode 100644 3rd-party-licenses/LICENSE-@radix-ui-react-select.txt create mode 100644 3rd-party-licenses/LICENSE-@radix-ui-react-switch.txt create mode 100644 3rd-party-licenses/LICENSE-@radix-ui-react-tooltip.txt create mode 100644 3rd-party-licenses/LICENSE-@shikijs-monaco.txt create mode 100644 3rd-party-licenses/LICENSE-@stylistic-eslint-plugin-jsx.txt create mode 100644 3rd-party-licenses/LICENSE-@stylistic-eslint-plugin.txt create mode 100644 3rd-party-licenses/LICENSE-@tanstack-react-table.txt create mode 100644 3rd-party-licenses/LICENSE-@tanstack-react-virtual.txt create mode 100644 3rd-party-licenses/LICENSE-@typescript-ata.txt create mode 100644 3rd-party-licenses/LICENSE-@vitejs-plugin-react-swc.txt create mode 100644 3rd-party-licenses/LICENSE-axios.txt create mode 100644 3rd-party-licenses/LICENSE-clsx.txt create mode 100644 3rd-party-licenses/LICENSE-date-fns copy.txt create mode 100644 3rd-party-licenses/LICENSE-date-fns.txt create mode 100644 3rd-party-licenses/LICENSE-file-saver.txt create mode 100644 3rd-party-licenses/LICENSE-firebase.txt create mode 100644 3rd-party-licenses/LICENSE-monaco-editor.txt create mode 100644 3rd-party-licenses/LICENSE-nanoid.txt create mode 100644 3rd-party-licenses/LICENSE-pako.txt create mode 100644 3rd-party-licenses/LICENSE-polkadot-api.txt create mode 100644 3rd-party-licenses/LICENSE-prettier.txt create mode 100644 3rd-party-licenses/LICENSE-prism-themes.txt create mode 100644 3rd-party-licenses/LICENSE-prismjs.txt create mode 100644 3rd-party-licenses/LICENSE-react-dom.txt create mode 100644 3rd-party-licenses/LICENSE-react-helmet-async.txt create mode 100644 3rd-party-licenses/LICENSE-react-hot-toast.txt create mode 100644 3rd-party-licenses/LICENSE-react-resizable-panels.txt create mode 100644 3rd-party-licenses/LICENSE-react-router-dom.txt create mode 100644 3rd-party-licenses/LICENSE-react.txt create mode 100644 3rd-party-licenses/LICENSE-react18-json-view.txt create mode 100644 3rd-party-licenses/LICENSE-scale-ts.txt create mode 100644 3rd-party-licenses/LICENSE-shiki.txt create mode 100644 3rd-party-licenses/LICENSE-styled-components.txt create mode 100644 3rd-party-licenses/LICENSE-sucrase.txt create mode 100644 3rd-party-licenses/LICENSE-tailwind-merge.txt create mode 100644 3rd-party-licenses/LICENSE-ts-node.txt create mode 100644 3rd-party-licenses/LICENSE-vite.txt create mode 100644 3rd-party-licenses/LICENSE-zustand.txt create mode 100644 LICENSE create mode 100644 README.md create mode 100644 firebase.json create mode 100644 firebaseConfig.ts create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 postcss.config.js create mode 100644 public/.keep create mode 100644 public/apple-touch-icon.png create mode 100644 public/devGround.png create mode 100644 public/favicon-16x16.png create mode 100644 public/favicon-32x32.png create mode 100644 public/favicon.ico create mode 100644 public/favicon.svg create mode 100644 src/app/index.tsx create mode 100644 src/app/routes.tsx create mode 100644 src/assets/fonts/Geist-Bold.ttf create mode 100644 src/assets/fonts/Geist-Regular.ttf create mode 100644 src/assets/fonts/Poppins-ExtraLight.ttf create mode 100644 src/assets/fonts/Poppins-Light.ttf create mode 100644 src/assets/fonts/Poppins-Regular.ttf create mode 100644 src/assets/fonts/Poppins-SemiBold.ttf create mode 100644 src/assets/fonts/fonts.css create mode 100644 src/assets/styles/index.css create mode 100644 src/assets/svgs/chain/kusama-asset-hub.svg create mode 100644 src/assets/svgs/chain/kusama-bridge-hub.svg create mode 100644 src/assets/svgs/chain/kusama-people.svg create mode 100644 src/assets/svgs/chain/kusama.svg create mode 100644 src/assets/svgs/chain/paseo-asset-hub.svg create mode 100644 src/assets/svgs/chain/paseo.svg create mode 100644 src/assets/svgs/chain/polkadot-asset-hub.svg create mode 100644 src/assets/svgs/chain/polkadot-bridge-hub.svg create mode 100644 src/assets/svgs/chain/polkadot-collectives.svg create mode 100644 src/assets/svgs/chain/polkadot-people.svg create mode 100644 src/assets/svgs/chain/polkadot.svg create mode 100644 src/assets/svgs/chain/westend-asset-hub.svg create mode 100644 src/assets/svgs/chain/westend-bridge-hub.svg create mode 100644 src/assets/svgs/chain/westend-people.svg create mode 100644 src/assets/svgs/chain/westend.svg create mode 100644 src/assets/svgs/icon/add.svg create mode 100644 src/assets/svgs/icon/arrowCircle.svg create mode 100644 src/assets/svgs/icon/arrowLeft.svg create mode 100644 src/assets/svgs/icon/block.svg create mode 100644 src/assets/svgs/icon/blockChecked.svg create mode 100644 src/assets/svgs/icon/brackets.svg create mode 100644 src/assets/svgs/icon/chain.svg create mode 100644 src/assets/svgs/icon/chart.svg create mode 100644 src/assets/svgs/icon/check.svg create mode 100644 src/assets/svgs/icon/checked.svg create mode 100644 src/assets/svgs/icon/circle-slash.svg create mode 100644 src/assets/svgs/icon/clipboard.svg create mode 100644 src/assets/svgs/icon/clock.svg create mode 100644 src/assets/svgs/icon/close.svg create mode 100644 src/assets/svgs/icon/darkMode.svg create mode 100644 src/assets/svgs/icon/database.svg create mode 100644 src/assets/svgs/icon/databaseRepeat.svg create mode 100644 src/assets/svgs/icon/download.svg create mode 100644 src/assets/svgs/icon/dropdownArrow.svg create mode 100644 src/assets/svgs/icon/expand.svg create mode 100644 src/assets/svgs/icon/explorer.svg create mode 100644 src/assets/svgs/icon/export.svg create mode 100644 src/assets/svgs/icon/failed.svg create mode 100644 src/assets/svgs/icon/forks.svg create mode 100644 src/assets/svgs/icon/group.svg create mode 100644 src/assets/svgs/icon/info.svg create mode 100644 src/assets/svgs/icon/lightMode.svg create mode 100644 src/assets/svgs/icon/linkArrow.svg create mode 100644 src/assets/svgs/icon/loader.svg create mode 100644 src/assets/svgs/icon/logout.svg create mode 100644 src/assets/svgs/icon/menu.svg create mode 100644 src/assets/svgs/icon/newBlock.svg create mode 100644 src/assets/svgs/icon/openLink.svg create mode 100644 src/assets/svgs/icon/pause.svg create mode 100644 src/assets/svgs/icon/pc.svg create mode 100644 src/assets/svgs/icon/pen.svg create mode 100644 src/assets/svgs/icon/play.svg create mode 100644 src/assets/svgs/icon/reload.svg create mode 100644 src/assets/svgs/icon/remove.svg create mode 100644 src/assets/svgs/icon/rpcCalls.svg create mode 100644 src/assets/svgs/icon/runtimeCalls.svg create mode 100644 src/assets/svgs/icon/save.svg create mode 100644 src/assets/svgs/icon/search.svg create mode 100644 src/assets/svgs/icon/share.svg create mode 100644 src/assets/svgs/icon/shieldPlus.svg create mode 100644 src/assets/svgs/icon/stackedCoins.svg create mode 100644 src/assets/svgs/icon/timer.svg create mode 100644 src/assets/svgs/icon/transfer.svg create mode 100644 src/assets/svgs/icon/trash.svg create mode 100644 src/assets/svgs/icon/wallet.svg create mode 100644 src/assets/svgs/icon/zipFile.svg create mode 100644 src/assets/svgs/logo/devground.svg create mode 100644 src/assets/svgs/logo/github.svg create mode 100644 src/assets/svgs/logo/limeChain.svg create mode 100644 src/assets/svgs/logo/nova.svg create mode 100644 src/assets/svgs/logo/polkadot-js.svg create mode 100644 src/assets/svgs/logo/polkadot.svg create mode 100644 src/assets/svgs/logo/polkadotBlockDetails.svg create mode 100644 src/assets/svgs/logo/subwallet-js.svg create mode 100644 src/assets/svgs/logo/talisman.svg create mode 100644 src/assets/svgs/logo/x.svg create mode 100644 src/assets/workers/monaco-worker.ts create mode 100644 src/components/MobileNotAllowed/index.tsx create mode 100644 src/components/burgerMenu/index.tsx create mode 100644 src/components/callDocs.tsx create mode 100644 src/components/chainSelectButton/index.tsx create mode 100644 src/components/chainSelector/index.tsx create mode 100644 src/components/chainState/index.ts create mode 100644 src/components/chainState/invocationStorageArgs.tsx create mode 100644 src/components/copyToClipboard/index.tsx create mode 100644 src/components/decoder/index.ts create mode 100644 src/components/decoder/invocationDecoder.tsx create mode 100644 src/components/decoder/invocationDecoderArgs.tsx create mode 100644 src/components/decoderDynamic/index.ts create mode 100644 src/components/decoderDynamic/invocationDecoderDynamic.tsx create mode 100644 src/components/errorBoundary/index.tsx create mode 100644 src/components/exampleNotFound/index.tsx create mode 100644 src/components/footer/footerLink.tsx create mode 100644 src/components/footer/index.tsx create mode 100644 src/components/githubButton/index.tsx create mode 100644 src/components/header/index.tsx create mode 100644 src/components/icon/index.tsx create mode 100644 src/components/invocationArgsMapper/index.tsx create mode 100644 src/components/invocationArgsMapper/invocationMapper.tsx create mode 100644 src/components/invocationArgsMapper/invocationRpcSelect.tsx create mode 100644 src/components/invocationArgsMapper/notImplemented.tsx create mode 100644 src/components/invocationArgsMapper/styles.module.css create mode 100644 src/components/invocationArgsMapper/types.ts create mode 100644 src/components/jsonViewer/index.tsx create mode 100644 src/components/layouts/basic/index.tsx create mode 100644 src/components/layouts/codeEditor/index.tsx create mode 100644 src/components/loader/index.tsx create mode 100644 src/components/login/callback.tsx create mode 100644 src/components/logo/index.tsx create mode 100644 src/components/metadataBuilders/accountBuilder/accountBuilder.tsx create mode 100644 src/components/metadataBuilders/accountBuilder/index.ts create mode 100644 src/components/metadataBuilders/accountBuilder/manualAccountInput.tsx create mode 100644 src/components/metadataBuilders/accountBuilder/walletAccountSelector.tsx create mode 100644 src/components/metadataBuilders/arrayBuilder/arrayBuilder.tsx create mode 100644 src/components/metadataBuilders/arrayBuilder/arrayBuilderCore.tsx create mode 100644 src/components/metadataBuilders/arrayBuilder/index.ts create mode 100644 src/components/metadataBuilders/bitstreamBuilder/bitstreamBuilder.tsx create mode 100644 src/components/metadataBuilders/bitstreamBuilder/bitstreamInput.tsx create mode 100644 src/components/metadataBuilders/bitstreamBuilder/index.ts create mode 100644 src/components/metadataBuilders/compactBuilder/compactBuilder.tsx create mode 100644 src/components/metadataBuilders/compactBuilder/index.ts create mode 100644 src/components/metadataBuilders/conditionalBuilder/conditionalBuilder.tsx create mode 100644 src/components/metadataBuilders/conditionalBuilder/index.ts create mode 100644 src/components/metadataBuilders/enumBuilder/enumBuilder.tsx create mode 100644 src/components/metadataBuilders/enumBuilder/index.ts create mode 100644 src/components/metadataBuilders/orderBuilder/index.ts create mode 100644 src/components/metadataBuilders/orderBuilder/orderBuilder.tsx create mode 100644 src/components/metadataBuilders/orderBuilder/orderBuilderCore.tsx create mode 100644 src/components/metadataBuilders/primitiveBuilder/index.ts create mode 100644 src/components/metadataBuilders/primitiveBuilder/primitiveBuilder.tsx create mode 100644 src/components/metadataBuilders/structBuilder/index.ts create mode 100644 src/components/metadataBuilders/structBuilder/structBuilder.tsx create mode 100644 src/components/metadataBuilders/tupleBuilder/index.ts create mode 100644 src/components/metadataBuilders/tupleBuilder/tupleBuilder.tsx create mode 100644 src/components/metadataBuilders/tupleBuilder/tupleBuilderCore.tsx create mode 100644 src/components/metadataBuilders/voidBuilder/index.ts create mode 100644 src/components/metadataBuilders/voidBuilder/voidBuilder.tsx create mode 100644 src/components/mobileChainSelect/index.tsx create mode 100644 src/components/modals/modal/index.tsx create mode 100644 src/components/modals/modalChainSelect/index.tsx create mode 100644 src/components/modals/modalDeleteExample/index.tsx create mode 100644 src/components/modals/modalEditExampleInfo/index.tsx create mode 100644 src/components/modals/modalGithubLogin/index.tsx create mode 100644 src/components/modals/modalJSONViewer/index.tsx create mode 100644 src/components/modals/modalSaveExample/createExample/index.tsx create mode 100644 src/components/modals/modalSaveExample/index.tsx create mode 100644 src/components/modals/modalWalletSelect/index.tsx create mode 100644 src/components/navigation/index.tsx create mode 100644 src/components/navigation/navigationDropdown.tsx create mode 100644 src/components/navigation/navigationDropdownItem.tsx create mode 100644 src/components/navigation/navigationItem.tsx create mode 100644 src/components/navigation/navigationLink.tsx create mode 100644 src/components/pageHeader/index.tsx create mode 100644 src/components/papiQuery/queryButton.tsx create mode 100644 src/components/papiQuery/queryFormContainer.tsx create mode 100644 src/components/papiQuery/queryResult.tsx create mode 100644 src/components/papiQuery/queryResultContainer.tsx create mode 100644 src/components/papiQuery/queryViewContainer.tsx create mode 100644 src/components/pdFileUpload/index.tsx create mode 100644 src/components/pdLink/index.tsx create mode 100644 src/components/pdScrollArea/index.tsx create mode 100644 src/components/pdSelect/index.tsx create mode 100644 src/components/pdSwitch/index.tsx create mode 100644 src/components/reactPortal/index.tsx create mode 100644 src/components/rpcCalls/index.ts create mode 100644 src/components/rpcCalls/invocationRpcArg.tsx create mode 100644 src/components/rpcCalls/invocationRpcArgs.tsx create mode 100644 src/components/runtimeCalls/index.ts create mode 100644 src/components/runtimeCalls/invocationRuntimeArgs.tsx create mode 100644 src/components/searchBar/index.tsx create mode 100644 src/components/searchBar/results.tsx create mode 100644 src/components/searchChain/index.tsx create mode 100644 src/components/storeSizeViewer/index.tsx create mode 100644 src/components/table/index.tsx create mode 100644 src/components/tabs/index.tsx create mode 100644 src/components/toggleButton/index.tsx create mode 100644 src/components/toggleTheme/index.tsx create mode 100644 src/components/tooltTip/index.tsx create mode 100644 src/components/walletSelectButton/index.tsx create mode 100644 src/constants/auth.ts create mode 100644 src/constants/chain.ts create mode 100644 src/constants/chainState.ts create mode 100644 src/constants/decoders/index.ts create mode 100644 src/constants/decoders/types.ts create mode 100644 src/constants/footer.ts create mode 100644 src/constants/links.ts create mode 100644 src/constants/navigation.ts create mode 100644 src/constants/rpcCalls/index.tsx create mode 100644 src/constants/rpcCalls/types.ts create mode 100644 src/constants/snippets/chainSubscription.txt create mode 100644 src/constants/snippets/getChainSpecificData.txt create mode 100644 src/constants/snippets/index.ts create mode 100644 src/constants/snippets/injectedAccountTransfer.txt create mode 100644 src/constants/snippets/testAccountTransfer.txt create mode 100644 src/constants/wallet.ts create mode 100644 src/hooks/useDynamicBuilder.ts create mode 100644 src/hooks/useViewBuilder.ts create mode 100644 src/main.tsx create mode 100644 src/services/authService.ts create mode 100644 src/services/axiosSetup.ts create mode 100644 src/services/examplesService.ts create mode 100644 src/services/walletService.ts create mode 100644 src/stores/auth/index.ts create mode 100644 src/stores/chain/index.ts create mode 100644 src/stores/createSelectors.ts create mode 100644 src/stores/examples/index.ts create mode 100644 src/stores/index.ts create mode 100644 src/stores/sizeMiddleware.ts create mode 100644 src/stores/ui/helpers.ts create mode 100644 src/stores/ui/index.ts create mode 100644 src/stores/wallet/index.ts create mode 100644 src/types/auth.ts create mode 100644 src/types/block.ts create mode 100644 src/types/chain.ts create mode 100644 src/types/codeSnippet.ts create mode 100644 src/types/eventBus.ts create mode 100644 src/types/global.ts create mode 100644 src/types/papi.ts create mode 100644 src/types/rawClientReturnTypes.ts create mode 100644 src/utils/callbacks.ts create mode 100644 src/utils/codec/index.ts create mode 100644 src/utils/components.tsx create mode 100644 src/utils/downloadZip/index.ts create mode 100644 src/utils/explorer.ts create mode 100644 src/utils/helpers.ts create mode 100644 src/utils/hooks/useDebounce.ts create mode 100644 src/utils/hooks/useEventListener.ts create mode 100644 src/utils/hooks/useMergedRefs.ts create mode 100644 src/utils/hooks/useOnClickOutside.ts create mode 100644 src/utils/hooks/useResizeObserver.ts create mode 100644 src/utils/iframe/iframe.html create mode 100644 src/utils/iframe/index.ts create mode 100644 src/utils/internal.ts create mode 100644 src/utils/invocationMapper.ts create mode 100644 src/utils/papi/helpers.ts create mode 100644 src/utils/papi/index.ts create mode 100644 src/utils/rpc/extrinsic.tsx create mode 100644 src/utils/rpc/getBlockDetails.ts create mode 100644 src/utils/rpc/rpc-calls.ts create mode 100644 src/utils/storage.ts create mode 100644 src/views/blockDetails/blockBody/index.tsx create mode 100644 src/views/blockDetails/blockHeader/index.tsx create mode 100644 src/views/blockDetails/index.tsx create mode 100644 src/views/blockDetails/styles.module.css create mode 100644 src/views/chainState/index.tsx create mode 100644 src/views/codeEditor/components/actionButton/index.tsx create mode 100644 src/views/codeEditor/components/debugPanel/console/consoleActions.tsx create mode 100644 src/views/codeEditor/components/debugPanel/console/index.tsx create mode 100644 src/views/codeEditor/components/debugPanel/index.tsx create mode 100644 src/views/codeEditor/components/debugPanel/problems.tsx create mode 100644 src/views/codeEditor/components/iframe/index.tsx create mode 100644 src/views/codeEditor/components/monacoEditor/actions.tsx create mode 100644 src/views/codeEditor/components/monacoEditor/index.tsx create mode 100644 src/views/codeEditor/components/selectExample/examplesList/customExamples.tsx create mode 100644 src/views/codeEditor/components/selectExample/examplesList/defaultExamples.tsx create mode 100644 src/views/codeEditor/components/selectExample/index.tsx create mode 100644 src/views/codeEditor/constants.ts create mode 100644 src/views/codeEditor/helpers.ts create mode 100644 src/views/codeEditor/index.tsx create mode 100644 src/views/codeEditor/monaco-editor-config.ts create mode 100644 src/views/codeEditor/progress.tsx create mode 100644 src/views/codePreview/index.tsx create mode 100644 src/views/constants/index.tsx create mode 100644 src/views/decoder/index.tsx create mode 100644 src/views/decoderDynamic/index.tsx create mode 100644 src/views/explorer/components/chainDataList/index.tsx create mode 100644 src/views/explorer/components/chainStateBlock/index.tsx create mode 100644 src/views/explorer/components/extrinsicsList/index.tsx create mode 100644 src/views/explorer/components/extrinsicsList/row.tsx create mode 100644 src/views/explorer/components/latestBlocksList/index.tsx create mode 100644 src/views/explorer/components/latestBlocksList/row.tsx create mode 100644 src/views/explorer/components/styles.module.css create mode 100644 src/views/explorer/index.tsx create mode 100644 src/views/extrinsics/index.tsx create mode 100644 src/views/forks/curvedLineWithArrow/helpers.ts create mode 100644 src/views/forks/curvedLineWithArrow/index.tsx create mode 100644 src/views/forks/helpers.ts create mode 100644 src/views/forks/index.tsx create mode 100644 src/views/forks/scrollButtons/index.tsx create mode 100644 src/views/forks/virtualizedList.tsx create mode 100644 src/views/home/components/cardLink/index.tsx create mode 100644 src/views/home/index.tsx create mode 100644 src/views/latestBlocks/index.tsx create mode 100644 src/views/notFound/index.tsx create mode 100644 src/views/onboarding/components/defaultExamples/index.tsx create mode 100644 src/views/onboarding/components/githubExamples/index.tsx create mode 100644 src/views/onboarding/components/search/index.tsx create mode 100644 src/views/onboarding/index.tsx create mode 100644 src/views/rpcCalls/index.tsx create mode 100644 src/views/runtimeCalls/index.tsx create mode 100644 src/views/signedExtrinsics/index.tsx create mode 100644 src/vite-env.d.ts create mode 100644 tailwind.config.js create mode 100644 tsconfig.json create mode 100644 vite.config.ts diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..01f7da75 --- /dev/null +++ b/.env.example @@ -0,0 +1,11 @@ +VITE_GITHUB_API_URL= +VITE_GITHUB_CLIENT_ID= +VITE_SERVER_URL= + +VITE_FIREBASE_API_KEY= +VITE_FIREBASE_AUTH_DOMAIN= +VITE_FIREBASE_PROJECT_ID= +VITE_FIREBASE_STORAGE_BUCKET= +VITE_FIREBASE_MESSAGING_SENDER_ID= +VITE_FIREBASE_APP_ID= +VITE_FIREBASE_MEASUREMENT_ID= diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 00000000..21071d79 --- /dev/null +++ b/.eslintrc @@ -0,0 +1,339 @@ +{ + "env": { + "browser": true, + "node": true + }, + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "plugin:import/errors", + "plugin:import/warnings", + "plugin:import/typescript", + "plugin:tailwindcss/recommended" + ], + "ignorePatterns": [ + "setupTests.ts", + "serviceWorker.ts", + "node_modules/**", + "coverage/**", + "dist", + "**/*.js", + "**/*.json", + "src/constants/snippets/*.tsx" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "sourceType": "module", + "project": "./tsconfig.json", + "ecmaVersion": 2020, + "ecmaFeatures": { + "modules": true, + "jsx": true + } + }, + "plugins": [ + "@typescript-eslint", + "@stylistic", + "@stylistic/jsx", + "eslint-plugin-react", + "eslint-plugin-prefer-arrow", + "filenames", + "import", + "import-newlines", + "unused-imports", + "react", + "react-hooks" + ], + "rules": { + "@stylistic/array-bracket-newline": [ + "error", + { + "multiline": true + } + ], + "@stylistic/array-element-newline": "error", + "@stylistic/arrow-parens": [ + "error", + "always" + ], + "@stylistic/no-mixed-operators": "error", + "@stylistic/jsx/jsx-one-expression-per-line": [ + "error", + { + "allow": "single-child" + } + ], + "@stylistic/jsx/jsx-child-element-spacing": "error", + "@stylistic/jsx/jsx-sort-props": [ + "error", + { + "callbacksLast": false, + "shorthandLast": true, + "multiline": "last", + "ignoreCase": true, + "noSortAlphabetically": false, + "reservedFirst": true + } + ], + "@stylistic/multiline-ternary": [ + "error", + "always-multiline" + ], + "@stylistic/jsx/jsx-closing-bracket-location": [ + 1, + "line-aligned" + ], + "@stylistic/jsx/jsx-closing-tag-location": "error", + "@stylistic/jsx/jsx-first-prop-new-line": [ + "error", + "multiline-multiprop" + ], + "@stylistic/jsx/jsx-max-props-per-line": [ + "error", + { + "maximum": 1, + "when": "always" + } + ], + "@stylistic/jsx/jsx-wrap-multilines": [ + "error", + { + "declaration": "parens-new-line", + "assignment": "parens-new-line", + "return": "parens-new-line", + "arrow": "parens-new-line", + "condition": "parens-new-line", + "logical": "parens-new-line", + "prop": "parens-new-line" + } + ], + "@stylistic/indent": [ + "error", + 2, + { + "SwitchCase": 1 + } + ], + "@stylistic/array-bracket-spacing": [ + "error", + "never" + ], + "@stylistic/arrow-spacing": "error", + "@stylistic/brace-style": [ + "error", + "1tbs", + { + "allowSingleLine": false + } + ], + "@stylistic/comma-dangle": [ + "error", + "always-multiline" + ], + "@stylistic/comma-spacing": "error", + "@stylistic/comma-style": "error", + "@stylistic/dot-location": [ + "error", + "property" + ], + "@stylistic/member-delimiter-style": "error", + "@stylistic/semi": "error", + "@stylistic/key-spacing": [ + "error", + { + "afterColon": true, + "beforeColon": false, + "mode": "strict" + } + ], + "@stylistic/keyword-spacing": "error", + "@stylistic/semi-spacing": "error", + "@stylistic/space-in-parens": [ + "error", + "never" + ], + "@stylistic/space-infix-ops": "error", + "@stylistic/no-multiple-empty-lines": [ + "error", + { + "max": 1, + "maxBOF": 0, + "maxEOF": 1 + } + ], + "@stylistic/no-whitespace-before-property": "error", + "@stylistic/object-curly-spacing": [ + "error", + "always" + ], + "@stylistic/operator-linebreak": [ + "error", + "before", + { + "overrides": { + "+=": "ignore", + "+": "ignore", + "=": "ignore" + } + } + ], + "filenames/match-regex": [ + "error", + "^[a-z][a-zA-Z0-9_.-]*$", + { + "ignoreExtensions": true, + "caseSensitive": true + } + ], + "jsx-quotes": [ + "error", + "prefer-double" + ], + "react-hooks/rules-of-hooks": "error", + "react-hooks/exhaustive-deps": "error", + "react/jsx-boolean-value": "error", + "react/jsx-key": "error", + "react/jsx-no-bind": "error", + "react/jsx-no-duplicate-props": "error", + "react/self-closing-comp": "error", + "react/no-danger-with-children": "error", + "@typescript-eslint/consistent-type-imports": "error", + "@typescript-eslint/no-floating-promises": "error", + "@typescript-eslint/no-empty-object-type": "off", + "@typescript-eslint/no-empty-interface": "off", + "@typescript-eslint/ban-ts-comment": "off", + "@typescript-eslint/no-empty-function": "off", + "@typescript-eslint/no-explicit-any": "warn", + "@typescript-eslint/no-unused-vars": "error", + "import-newlines/enforce": [ + "error", + { + "items": 1, + "semi": false + } + ], + "unused-imports/no-unused-imports": "error", + "import/order": [ + "error", + { + "groups": [ + "builtin", + "external", + "internal", + "unknown", + "parent", + "sibling", + "index", + "object", + "type" + ], + "pathGroups": [ + { + "pattern": "@/**", + "group": "internal", + "position": "after" + } + ], + "pathGroupsExcludedImportTypes": [ + "builtin" + ], + "newlines-between": "always", + "alphabetize": { + "order": "asc", + "caseInsensitive": true + } + } + ], + "import/no-unresolved": [ + "error", + { + "ignore": [ + "^virtual:" + ] + } + ], + "no-unneeded-ternary": "error", + "no-extra-boolean-cast": "off", + "no-prototype-builtins": "off", + "no-unused-vars": [ + "error", + { + "ignoreRestSiblings": true, + "argsIgnorePattern": "^_", + "destructuredArrayIgnorePattern": "[A-Z]", + "caughtErrors": "none" + } + ], + "no-restricted-imports": [ + "error", + { + "paths": [ + { + "name": "react", + "importNames": [ + "MouseEvent" + ], + "message": "Please do not import MouseEvent from react. Use React.MouseEvent instead." + } + ] + } + ], + "no-duplicate-case": "error", + "no-param-reassign": "error", + "no-unreachable-loop": "error", + "object-shorthand": "error", + "prefer-arrow/prefer-arrow-functions": [ + "warn", + { + "disallowPrototype": true, + "singleReturnOnly": false, + "classPropertiesAllowed": false + } + ], + "semi": "off", + "sort-imports": [ + "error", + { + "ignoreCase": true, + "ignoreDeclarationSort": true + } + ], + "tailwindcss/no-custom-classname": "off", + "tailwindcss/classnames-order": [ + "warn", + { + "callees": [ + "cn" + ], + "officialSorting": true, + "removeDuplicates": true, + "configPath": "tailwind.config" + } + ], + "quotes": [ + "error", + "single", + { + "allowTemplateLiterals": true + } + ] + }, + "settings": { + "import/parsers": { + "@typescript-eslint/parser": [ + ".js", + ".jsx", + ".ts", + ".tsx", + ".txt" + ] + }, + "import/resolver": { + "typescript": { + "project": [ + "./tsconfig.json" + ] + } + } + } +} diff --git a/.firebase/hosting.ZGlzdA.cache b/.firebase/hosting.ZGlzdA.cache new file mode 100644 index 00000000..80a985fe --- /dev/null +++ b/.firebase/hosting.ZGlzdA.cache @@ -0,0 +1,23 @@ +sw.js,1719829415910,18d15cbb69db63293d56a9858325038795719cb613c03194199a7a6790e2ad16 +workbox-c974b4b1.js,1719829415911,e921e00e29a6c1fe6dc41afce8a10f90a6ada0c1dfff290c32bdf3fdffc7995b +assets/index-87wxREyR.css,1719829414548,8a8e183182ba2c7bf9df060e4a5a8de8e9d6d24e3d2786c4d3e85e3a95befb99 +assets/index-AsQwsgGC.js,1719829414548,4484f4b13b29d9333f22b5bca350f9f20010647ddd2f132d2c73ce54f1e8a972 +assets/index-CZnrlwFb.js,1719829414548,64f5152d1a89c851036aeb3f45bbc97a2b32035604b04980a766934a37ef7f56 +assets/polkadot-api-CWvScKJC.js,1719829414548,2d9b7df7cc25dd79a0f1956c023fdc2a32128e06b3fd35e2337b40af89abbe83 +assets/radix-CQntK8qO.js,1719829414548,3fa96be4d9ee9d68a9f86c19d6bf8c5c569a29c3fdb4e30289fef4231c1b6ea8 +assets/tailwind-BJIgvTWw.js,1719829414548,8f3a191a2a4f35902a90cc865f83ea78d5cf7b881b59efa971bd183f73a393f1 +manifest.webmanifest,1719829414550,4e8673067cefe0e9c9cc01152b6f42d48470adcb8a4916114b78fc91df4bf679 +index.html,1719829414548,4ea8b86fb8547603e4a730e85a23a18323af7424e66c0e70f53f4a7d247aad22 +assets/monaco-editor-DyQrAAdL.css,1719829414548,01029e60feacd811e38e27feb426de84eb88fefb81903d3826696b892550820a +assets/codicon-DCmgc-ay.ttf,1719829414548,d9a4933ea3c3abd3064c3817977fd8ab7aa8c2acf2a3000737058bbdb9c94269 +assets/react-DXl-5Yll.js,1719829414548,a2b6f599342d40418cfbec79ccb731264880b83664c152ae7e79d566620e069d +assets/sucrase-OHLtJLtb.js,1719829414548,55bfcee204d990338ede076c02dbc2c4a366da375eb398bd35701b06564fd2ec +assets/editor.worker-CJ4CVGtl.js,1719829414548,4cb44efe218f94ef95cd4da5cc754ab3b6168c8e6f6e8204e85393ecd447de08 +assets/vendor-DPiHu8QI.js,1719829414548,2a494aacac10bf7aa43b375a6c8e04ebfcb32403c762018de49ee1c8a212d3ff +assets/json.worker-C3ltIK0b.js,1719829414548,77431f2205b867fee8aba350952d42e89dcff8c40fcc472425b9870fd56d59e3 +assets/html.worker-C17He37M.js,1719829414549,133b1f39c608be0eb6fdca7019190f11f2ddb1d2112b04c1e56577ee4fde1bd4 +assets/css.worker-DF3NBdph.js,1719829414549,4ae5ce6bbd82fa2d90f31d5ae3860eaac36b65b6b7ade42ba697d5148b12b8fa +assets/prettier-Dcs4mPvA.js,1719829414550,612d29d8bd1f8f9049975a5ef55a8cf8cc6e78a46e323039477327ca2206dab7 +assets/@polkadot-CuOCAOz5.js,1719829414550,4eb7424ba51f95a4b5d5a1886b46e72d2d11504b756bd1720a2a0e94bc1a2cf9 +assets/monaco-editor-Dx5u-cne.js,1719829414550,577843e24b00d834c580154fb5155674148635d1d7aaa40d2e937ba6acfb0143 +assets/ts.worker-Dh-MYIKX.js,1719829414551,e664c37707eaa73d31d5451c450ac6777811844df8fef2154d420cbe38755b60 diff --git a/.firebaserc b/.firebaserc new file mode 100644 index 00000000..542e2fe1 --- /dev/null +++ b/.firebaserc @@ -0,0 +1,5 @@ +{ + "projects": { + "default": "polkadot-js-dev" + } +} diff --git a/.github/workflows/firebase-hosting-merge-dev.yml b/.github/workflows/firebase-hosting-merge-dev.yml new file mode 100644 index 00000000..3158c65f --- /dev/null +++ b/.github/workflows/firebase-hosting-merge-dev.yml @@ -0,0 +1,35 @@ +name: Deploy to Firebase Hosting on merge +"on": + push: + branches: + - dev +jobs: + build_and_deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install dependencies + run: npm ci + - name: Add Polkadot Descriptors + run: npm run add-descriptors + - name: Check lint rules + run: npm run lint + - name: Build + run: npm run build + env: + VITE_SERVER_URL: ${{ secrets.VITE_SERVER_URL }} + VITE_GITHUB_API_URL: ${{ secrets.VITE_GITHUB_API_URL }} + VITE_GITHUB_CLIENT_ID: ${{ secrets.VITE_GITHUB_CLIENT_ID }} + VITE_FIREBASE_API_KEY: ${{ secrets.VITE_FIREBASE_API_KEY }} + VITE_FIREBASE_AUTH_DOMAIN: ${{ secrets.VITE_FIREBASE_AUTH_DOMAIN }} + VITE_FIREBASE_PROJECT_ID: ${{ secrets.VITE_FIREBASE_PROJECT_ID }} + VITE_FIREBASE_STORAGE_BUCKET: ${{ secrets.VITE_FIREBASE_STORAGE_BUCKET }} + VITE_FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.VITE_FIREBASE_MESSAGING_SENDER_ID }} + VITE_FIREBASE_APP_ID: ${{ secrets.VITE_FIREBASE_APP_ID }} + VITE_FIREBASE_MEASUREMENT_ID: ${{ secrets.VITE_FIREBASE_MEASUREMENT_ID }} + - uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: "${{ secrets.GITHUB_TOKEN }}" + firebaseServiceAccount: "${{ secrets.FIREBASE_SERVICE_ACCOUNT_POLKADOT_DEV_ENV }}" + channelId: live + projectId: devground-dev diff --git a/.github/workflows/firebase-hosting-merge.yml b/.github/workflows/firebase-hosting-merge.yml new file mode 100644 index 00000000..fe3e9034 --- /dev/null +++ b/.github/workflows/firebase-hosting-merge.yml @@ -0,0 +1,35 @@ +name: Deploy to Firebase Hosting on merge +"on": + push: + branches: + - main +jobs: + build_and_deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install dependencies + run: npm ci + - name: Add Polkadot Descriptors + run: npm run add-descriptors + - name: Check lint rules + run: npm run lint + - name: Build + run: npm run build + env: + VITE_SERVER_URL: ${{ secrets.VITE_SERVER_URL }} + VITE_GITHUB_API_URL: ${{ secrets.VITE_GITHUB_API_URL }} + VITE_GITHUB_CLIENT_ID: ${{ secrets.VITE_GITHUB_CLIENT_ID }} + VITE_FIREBASE_API_KEY: ${{ secrets.VITE_FIREBASE_API_KEY }} + VITE_FIREBASE_AUTH_DOMAIN: ${{ secrets.VITE_FIREBASE_AUTH_DOMAIN }} + VITE_FIREBASE_PROJECT_ID: ${{ secrets.VITE_FIREBASE_PROJECT_ID }} + VITE_FIREBASE_STORAGE_BUCKET: ${{ secrets.VITE_FIREBASE_STORAGE_BUCKET }} + VITE_FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.VITE_FIREBASE_MESSAGING_SENDER_ID }} + VITE_FIREBASE_APP_ID: ${{ secrets.VITE_FIREBASE_APP_ID }} + VITE_FIREBASE_MEASUREMENT_ID: ${{ secrets.VITE_FIREBASE_MEASUREMENT_ID }} + - uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: "${{ secrets.GITHUB_TOKEN }}" + firebaseServiceAccount: "${{ secrets.FIREBASE_SERVICE_ACCOUNT_POLKADOT_JS_DEV }}" + channelId: live + projectId: polkadot-js-dev diff --git a/.github/workflows/firebase-hosting-pull-request-dev.yml b/.github/workflows/firebase-hosting-pull-request-dev.yml new file mode 100644 index 00000000..4eaed66d --- /dev/null +++ b/.github/workflows/firebase-hosting-pull-request-dev.yml @@ -0,0 +1,39 @@ +name: Deploy to Firebase Hosting on PR +'on': + pull_request: + branches: + - dev +permissions: + checks: write + contents: read + pull-requests: write +jobs: + build_and_preview: + if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install dependencies + run: npm ci + - name: Add Polkadot Descriptors + run: npm run add-descriptors + - name: Check lint rules + run: npm run lint + - name: Build + run: npm run build + env: + VITE_SERVER_URL: ${{ secrets.VITE_SERVER_URL }} + VITE_GITHUB_API_URL: ${{ secrets.VITE_GITHUB_API_URL }} + VITE_GITHUB_CLIENT_ID: ${{ secrets.VITE_GITHUB_CLIENT_ID }} + VITE_FIREBASE_API_KEY: ${{ secrets.VITE_FIREBASE_API_KEY }} + VITE_FIREBASE_AUTH_DOMAIN: ${{ secrets.VITE_FIREBASE_AUTH_DOMAIN }} + VITE_FIREBASE_PROJECT_ID: ${{ secrets.VITE_FIREBASE_PROJECT_ID }} + VITE_FIREBASE_STORAGE_BUCKET: ${{ secrets.VITE_FIREBASE_STORAGE_BUCKET }} + VITE_FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.VITE_FIREBASE_MESSAGING_SENDER_ID }} + VITE_FIREBASE_APP_ID: ${{ secrets.VITE_FIREBASE_APP_ID }} + VITE_FIREBASE_MEASUREMENT_ID: ${{ secrets.VITE_FIREBASE_MEASUREMENT_ID }} + - uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_POLKADOT_DEV_ENV }}' + projectId: devground-dev diff --git a/.github/workflows/firebase-hosting-pull-request.yml b/.github/workflows/firebase-hosting-pull-request.yml new file mode 100644 index 00000000..3008c8c0 --- /dev/null +++ b/.github/workflows/firebase-hosting-pull-request.yml @@ -0,0 +1,39 @@ +name: Deploy to Firebase Hosting on PR +'on': + pull_request: + branches: + - main +permissions: + checks: write + contents: read + pull-requests: write +jobs: + build_and_preview: + if: '${{ github.event.pull_request.head.repo.full_name == github.repository }}' + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install dependencies + run: npm ci + - name: Add Polkadot Descriptors + run: npm run add-descriptors + - name: Check lint rules + run: npm run lint + - name: Build + run: npm run build + env: + VITE_SERVER_URL: ${{ secrets.VITE_SERVER_URL }} + VITE_GITHUB_API_URL: ${{ secrets.VITE_GITHUB_API_URL }} + VITE_GITHUB_CLIENT_ID: ${{ secrets.VITE_GITHUB_CLIENT_ID }} + VITE_FIREBASE_API_KEY: ${{ secrets.VITE_FIREBASE_API_KEY }} + VITE_FIREBASE_AUTH_DOMAIN: ${{ secrets.VITE_FIREBASE_AUTH_DOMAIN }} + VITE_FIREBASE_PROJECT_ID: ${{ secrets.VITE_FIREBASE_PROJECT_ID }} + VITE_FIREBASE_STORAGE_BUCKET: ${{ secrets.VITE_FIREBASE_STORAGE_BUCKET }} + VITE_FIREBASE_MESSAGING_SENDER_ID: ${{ secrets.VITE_FIREBASE_MESSAGING_SENDER_ID }} + VITE_FIREBASE_APP_ID: ${{ secrets.VITE_FIREBASE_APP_ID }} + VITE_FIREBASE_MEASUREMENT_ID: ${{ secrets.VITE_FIREBASE_MEASUREMENT_ID }} + - uses: FirebaseExtended/action-hosting-deploy@v0 + with: + repoToken: '${{ secrets.GITHUB_TOKEN }}' + firebaseServiceAccount: '${{ secrets.FIREBASE_SERVICE_ACCOUNT_POLKADOT_JS_DEV }}' + projectId: polkadot-js-dev diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..67ecff2d --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +.vite +*.scale +*-api.json + +.env* +!.env.example + +.papi +public/svg-sprite.svg diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000..1b78f1c6 --- /dev/null +++ b/.npmrc @@ -0,0 +1,2 @@ +save-exact=true +legacy-peer-deps=true diff --git a/.papi/descriptors/.gitignore b/.papi/descriptors/.gitignore new file mode 100644 index 00000000..46d96ea4 --- /dev/null +++ b/.papi/descriptors/.gitignore @@ -0,0 +1,3 @@ +* +!.gitignore +!package.json \ No newline at end of file diff --git a/.papi/descriptors/package.json b/.papi/descriptors/package.json new file mode 100644 index 00000000..dc7c7c62 --- /dev/null +++ b/.papi/descriptors/package.json @@ -0,0 +1,24 @@ +{ + "version": "0.1.0-autogenerated.2008145180203480662", + "name": "@polkadot-api/descriptors", + "files": [ + "dist" + ], + "exports": { + ".": { + "types": "./dist/index.d.ts", + "module": "./dist/index.mjs", + "import": "./dist/index.mjs", + "require": "./dist/index.js" + }, + "./package.json": "./package.json" + }, + "main": "./dist/index.js", + "module": "./dist/index.mjs", + "browser": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "sideEffects": false, + "peerDependencies": { + "polkadot-api": "*" + } +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..5f02802e --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,33 @@ +{ + "files.insertFinalNewline": true, + "prettier.enable": false, + "editor.tabSize": 2, + "editor.formatOnSave": true, + "editor.defaultFormatter": "vscode.typescript-language-features", + "editor.codeActionsOnSave": { + "source.fixAll": "explicit", + "source.fixAll.eslint": "explicit" + }, + "eslint.enable": true, + "eslint.validate": [ + "typescript", + "typescriptreact" + ], + "css.lint.unknownAtRules": "ignore", + "javascript.preferences.importModuleSpecifier": "non-relative", + "typescript.preferences.importModuleSpecifier": "non-relative", + "typescript.preferences.importModuleSpecifierEnding": "minimal", + "javascript.preferences.importModuleSpecifierEnding": "minimal", + "[javascript]": { + "editor.defaultFormatter": "vscode.typescript-language-features" + }, + "[javascriptreact]": { + "editor.defaultFormatter": "vscode.typescript-language-features" + }, + "[typescript]": { + "editor.defaultFormatter": "vscode.typescript-language-features" + }, + "[typescriptreact]": { + "editor.defaultFormatter": "vscode.typescript-language-features" + } +} diff --git a/3rd-party-licenses/LICENSE-@pivanov-event-bus.txt b/3rd-party-licenses/LICENSE-@pivanov-event-bus.txt new file mode 100644 index 00000000..a22a2da2 --- /dev/null +++ b/3rd-party-licenses/LICENSE-@pivanov-event-bus.txt @@ -0,0 +1 @@ +MIT diff --git a/3rd-party-licenses/LICENSE-@pivanov-use-toggle-visibility.txt b/3rd-party-licenses/LICENSE-@pivanov-use-toggle-visibility.txt new file mode 100644 index 00000000..a199c6dc --- /dev/null +++ b/3rd-party-licenses/LICENSE-@pivanov-use-toggle-visibility.txt @@ -0,0 +1 @@ +This project is licensed under the MIT License. diff --git a/3rd-party-licenses/LICENSE-@polkadot-api-descriptors.txt b/3rd-party-licenses/LICENSE-@polkadot-api-descriptors.txt new file mode 100644 index 00000000..e7c9b1ad --- /dev/null +++ b/3rd-party-licenses/LICENSE-@polkadot-api-descriptors.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Josep M Sobrepere + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-@polkadot-api-metadata-builders.txt b/3rd-party-licenses/LICENSE-@polkadot-api-metadata-builders.txt new file mode 100644 index 00000000..e7c9b1ad --- /dev/null +++ b/3rd-party-licenses/LICENSE-@polkadot-api-metadata-builders.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Josep M Sobrepere + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-@polkadot-api-view-builder.txt b/3rd-party-licenses/LICENSE-@polkadot-api-view-builder.txt new file mode 100644 index 00000000..e7c9b1ad --- /dev/null +++ b/3rd-party-licenses/LICENSE-@polkadot-api-view-builder.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Josep M Sobrepere + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-@polkadot-react-identicon.txt b/3rd-party-licenses/LICENSE-@polkadot-react-identicon.txt new file mode 100644 index 00000000..0d381b2e --- /dev/null +++ b/3rd-party-licenses/LICENSE-@polkadot-react-identicon.txt @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/3rd-party-licenses/LICENSE-@polkadot-types.txt b/3rd-party-licenses/LICENSE-@polkadot-types.txt new file mode 100644 index 00000000..0d381b2e --- /dev/null +++ b/3rd-party-licenses/LICENSE-@polkadot-types.txt @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + +Copyright [yyyy] [name of copyright owner] + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. diff --git a/3rd-party-licenses/LICENSE-@radix-ui-react-scroll-area.txt b/3rd-party-licenses/LICENSE-@radix-ui-react-scroll-area.txt new file mode 100644 index 00000000..a18858fb --- /dev/null +++ b/3rd-party-licenses/LICENSE-@radix-ui-react-scroll-area.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-@radix-ui-react-select.txt b/3rd-party-licenses/LICENSE-@radix-ui-react-select.txt new file mode 100644 index 00000000..a18858fb --- /dev/null +++ b/3rd-party-licenses/LICENSE-@radix-ui-react-select.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-@radix-ui-react-switch.txt b/3rd-party-licenses/LICENSE-@radix-ui-react-switch.txt new file mode 100644 index 00000000..a18858fb --- /dev/null +++ b/3rd-party-licenses/LICENSE-@radix-ui-react-switch.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-@radix-ui-react-tooltip.txt b/3rd-party-licenses/LICENSE-@radix-ui-react-tooltip.txt new file mode 100644 index 00000000..a18858fb --- /dev/null +++ b/3rd-party-licenses/LICENSE-@radix-ui-react-tooltip.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2022 WorkOS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-@shikijs-monaco.txt b/3rd-party-licenses/LICENSE-@shikijs-monaco.txt new file mode 100644 index 00000000..6a627184 --- /dev/null +++ b/3rd-party-licenses/LICENSE-@shikijs-monaco.txt @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2021 Pine Wu +Copyright (c) 2023 Anthony Fu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-@stylistic-eslint-plugin-jsx.txt b/3rd-party-licenses/LICENSE-@stylistic-eslint-plugin-jsx.txt new file mode 100644 index 00000000..38dbc354 --- /dev/null +++ b/3rd-party-licenses/LICENSE-@stylistic-eslint-plugin-jsx.txt @@ -0,0 +1,22 @@ +MIT License + +Copyright OpenJS Foundation and other contributors, +Copyright (c) 2023-PRESENT ESLint Stylistic contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-@stylistic-eslint-plugin.txt b/3rd-party-licenses/LICENSE-@stylistic-eslint-plugin.txt new file mode 100644 index 00000000..38dbc354 --- /dev/null +++ b/3rd-party-licenses/LICENSE-@stylistic-eslint-plugin.txt @@ -0,0 +1,22 @@ +MIT License + +Copyright OpenJS Foundation and other contributors, +Copyright (c) 2023-PRESENT ESLint Stylistic contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-@tanstack-react-table.txt b/3rd-party-licenses/LICENSE-@tanstack-react-table.txt new file mode 100644 index 00000000..9fe1442e --- /dev/null +++ b/3rd-party-licenses/LICENSE-@tanstack-react-table.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016 Tanner Linsley + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-@tanstack-react-virtual.txt b/3rd-party-licenses/LICENSE-@tanstack-react-virtual.txt new file mode 100644 index 00000000..1869e21f --- /dev/null +++ b/3rd-party-licenses/LICENSE-@tanstack-react-virtual.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021-present Tanner Linsley + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-@typescript-ata.txt b/3rd-party-licenses/LICENSE-@typescript-ata.txt new file mode 100644 index 00000000..62aa0434 --- /dev/null +++ b/3rd-party-licenses/LICENSE-@typescript-ata.txt @@ -0,0 +1,17 @@ +The MIT License (MIT) +Copyright (c) Microsoft Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and +associated documentation files (the "Software"), to deal in the Software without restriction, +including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, +and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial +portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT +NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-@vitejs-plugin-react-swc.txt b/3rd-party-licenses/LICENSE-@vitejs-plugin-react-swc.txt new file mode 100644 index 00000000..75488f19 --- /dev/null +++ b/3rd-party-licenses/LICENSE-@vitejs-plugin-react-swc.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Arnaud Barré (https://github.com/ArnaudBarre) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-axios.txt b/3rd-party-licenses/LICENSE-axios.txt new file mode 100644 index 00000000..05006a51 --- /dev/null +++ b/3rd-party-licenses/LICENSE-axios.txt @@ -0,0 +1,7 @@ +# Copyright (c) 2014-present Matt Zabriskie & Collaborators + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-clsx.txt b/3rd-party-licenses/LICENSE-clsx.txt new file mode 100644 index 00000000..fa6089fa --- /dev/null +++ b/3rd-party-licenses/LICENSE-clsx.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) Luke Edwards (lukeed.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-date-fns copy.txt b/3rd-party-licenses/LICENSE-date-fns copy.txt new file mode 100644 index 00000000..b14d3452 --- /dev/null +++ b/3rd-party-licenses/LICENSE-date-fns copy.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2021 Sasha Koss and Lesha Koss https://kossnocorp.mit-license.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-date-fns.txt b/3rd-party-licenses/LICENSE-date-fns.txt new file mode 100644 index 00000000..b14d3452 --- /dev/null +++ b/3rd-party-licenses/LICENSE-date-fns.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2021 Sasha Koss and Lesha Koss https://kossnocorp.mit-license.org + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-file-saver.txt b/3rd-party-licenses/LICENSE-file-saver.txt new file mode 100644 index 00000000..4152e422 --- /dev/null +++ b/3rd-party-licenses/LICENSE-file-saver.txt @@ -0,0 +1,9 @@ +The MIT License + +Copyright © 2016 Eli Grey. + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-firebase.txt b/3rd-party-licenses/LICENSE-firebase.txt new file mode 100644 index 00000000..174e4500 --- /dev/null +++ b/3rd-party-licenses/LICENSE-firebase.txt @@ -0,0 +1,257 @@ +This source code is licensed under Apache-2.0 apart from the protobuf library +which is licensed under BSD-3-Clause, both licenses given below. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +------------------------------------------------------------------------------- + +For tslib. + +file: [source code root]/packages/firebase + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH +REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY +AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, +INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR +OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +------------------------------------------------------------------------------ + +For Google protobuf source. + +file: [source code root]/packages/firestore/src/protos/google/protobuf/any.proto + +// Protocol Buffers - Google's data interchange format +// Copyright 2008 Google Inc. All rights reserved. +// https://developers.google.com/protocol-buffers/ +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/3rd-party-licenses/LICENSE-monaco-editor.txt b/3rd-party-licenses/LICENSE-monaco-editor.txt new file mode 100644 index 00000000..76fdc58a --- /dev/null +++ b/3rd-party-licenses/LICENSE-monaco-editor.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2016 - present Microsoft Corporation + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-nanoid.txt b/3rd-party-licenses/LICENSE-nanoid.txt new file mode 100644 index 00000000..37f56aa4 --- /dev/null +++ b/3rd-party-licenses/LICENSE-nanoid.txt @@ -0,0 +1,20 @@ +The MIT License (MIT) + +Copyright 2017 Andrey Sitnik + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of +the Software, and to permit persons to whom the Software is furnished to do so, +subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS +FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER +IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN +CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-pako.txt b/3rd-party-licenses/LICENSE-pako.txt new file mode 100644 index 00000000..a934ef8d --- /dev/null +++ b/3rd-party-licenses/LICENSE-pako.txt @@ -0,0 +1,21 @@ +(The MIT License) + +Copyright (C) 2014-2017 by Vitaly Puzrin and Andrei Tuputcyn + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-polkadot-api.txt b/3rd-party-licenses/LICENSE-polkadot-api.txt new file mode 100644 index 00000000..e7c9b1ad --- /dev/null +++ b/3rd-party-licenses/LICENSE-polkadot-api.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Josep M Sobrepere + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-prettier.txt b/3rd-party-licenses/LICENSE-prettier.txt new file mode 100644 index 00000000..5767e34d --- /dev/null +++ b/3rd-party-licenses/LICENSE-prettier.txt @@ -0,0 +1,7 @@ +Copyright © James Long and contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-prism-themes.txt b/3rd-party-licenses/LICENSE-prism-themes.txt new file mode 100644 index 00000000..10880964 --- /dev/null +++ b/3rd-party-licenses/LICENSE-prism-themes.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2015 PrismJS + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-prismjs.txt b/3rd-party-licenses/LICENSE-prismjs.txt new file mode 100644 index 00000000..528949f4 --- /dev/null +++ b/3rd-party-licenses/LICENSE-prismjs.txt @@ -0,0 +1,21 @@ +MIT LICENSE + +Copyright (c) 2012 Lea Verou + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-react-dom.txt b/3rd-party-licenses/LICENSE-react-dom.txt new file mode 100644 index 00000000..b93be905 --- /dev/null +++ b/3rd-party-licenses/LICENSE-react-dom.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Meta Platforms, Inc. and affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-react-helmet-async.txt b/3rd-party-licenses/LICENSE-react-helmet-async.txt new file mode 100644 index 00000000..c73b2930 --- /dev/null +++ b/3rd-party-licenses/LICENSE-react-helmet-async.txt @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2018 The New York Times Company + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/3rd-party-licenses/LICENSE-react-hot-toast.txt b/3rd-party-licenses/LICENSE-react-hot-toast.txt new file mode 100644 index 00000000..469627db --- /dev/null +++ b/3rd-party-licenses/LICENSE-react-hot-toast.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2020 Timo Lins + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-react-resizable-panels.txt b/3rd-party-licenses/LICENSE-react-resizable-panels.txt new file mode 100644 index 00000000..b82ec778 --- /dev/null +++ b/3rd-party-licenses/LICENSE-react-resizable-panels.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Brian Vaughn + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-react-router-dom.txt b/3rd-party-licenses/LICENSE-react-router-dom.txt new file mode 100644 index 00000000..bb050aea --- /dev/null +++ b/3rd-party-licenses/LICENSE-react-router-dom.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) React Training LLC 2015-2019 Copyright (c) Remix Software Inc. 2020-2021 Copyright (c) Shopify Inc. 2022-2023 + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-react.txt b/3rd-party-licenses/LICENSE-react.txt new file mode 100644 index 00000000..b93be905 --- /dev/null +++ b/3rd-party-licenses/LICENSE-react.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Meta Platforms, Inc. and affiliates. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-react18-json-view.txt b/3rd-party-licenses/LICENSE-react18-json-view.txt new file mode 100644 index 00000000..cfcd177b --- /dev/null +++ b/3rd-party-licenses/LICENSE-react18-json-view.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Suni + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-scale-ts.txt b/3rd-party-licenses/LICENSE-scale-ts.txt new file mode 100644 index 00000000..cdc1a01b --- /dev/null +++ b/3rd-party-licenses/LICENSE-scale-ts.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2021 Josep M Sobrepere + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-shiki.txt b/3rd-party-licenses/LICENSE-shiki.txt new file mode 100644 index 00000000..6a627184 --- /dev/null +++ b/3rd-party-licenses/LICENSE-shiki.txt @@ -0,0 +1,22 @@ +MIT License + +Copyright (c) 2021 Pine Wu +Copyright (c) 2023 Anthony Fu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-styled-components.txt b/3rd-party-licenses/LICENSE-styled-components.txt new file mode 100644 index 00000000..56d8d866 --- /dev/null +++ b/3rd-party-licenses/LICENSE-styled-components.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016-present Glen Maddern and Maximilian Stoiber + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-sucrase.txt b/3rd-party-licenses/LICENSE-sucrase.txt new file mode 100644 index 00000000..06d77d6a --- /dev/null +++ b/3rd-party-licenses/LICENSE-sucrase.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2012-2018 various contributors (see AUTHORS) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-tailwind-merge.txt b/3rd-party-licenses/LICENSE-tailwind-merge.txt new file mode 100644 index 00000000..b62fd2e3 --- /dev/null +++ b/3rd-party-licenses/LICENSE-tailwind-merge.txt @@ -0,0 +1,9 @@ +MIT License + +Copyright (c) 2021 Dany Castillo + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-ts-node.txt b/3rd-party-licenses/LICENSE-ts-node.txt new file mode 100644 index 00000000..983fbe8a --- /dev/null +++ b/3rd-party-licenses/LICENSE-ts-node.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-vite.txt b/3rd-party-licenses/LICENSE-vite.txt new file mode 100644 index 00000000..b7e97ecb --- /dev/null +++ b/3rd-party-licenses/LICENSE-vite.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019-present, VoidZero Inc. and Vite contributors + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/3rd-party-licenses/LICENSE-zustand.txt b/3rd-party-licenses/LICENSE-zustand.txt new file mode 100644 index 00000000..a2c2649d --- /dev/null +++ b/3rd-party-licenses/LICENSE-zustand.txt @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Paul Henschel + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..fa027291 --- /dev/null +++ b/LICENSE @@ -0,0 +1,273 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + ============================================================================ + LimeChain polkadot-devground-client SUBCOMPONENTS: + + The LimeChain polkadot-devground-client project contains subcomponents with separate copyright + notices and license terms. Your use of the source code for the these + subcomponents is subject to the terms and conditions of the following + licenses. + +======================================================================== +Third party Apache 2.0 licenses +======================================================================== + +The following components are provided under the Apache 2.0 License. +See project link for details. The text of each license is also included +at 3rd-party-licenses/LICENSE-[project].txt. + + (ALv2 License) @polkadot/react-identicon v3.9.1 (https://github.com/polkadot-js/ui) + (ALv2 License) @polkadot/types v12.2.3 (https://github.com/polkadot-js/api) + (ALv2 License) firebase v10.14.0 (https://github.com/firebase/firebase-js-sdk) + (ALv2 License) react-helmet-async v2.0.5 (https://github.com/staylor/react-helmet-async) + +======================================================================== +MIT licenses +======================================================================== + +The following components are provided under the MIT License. See project link for details. +The text of each license is also included at 3rd-party-licenses/LICENSE-[project].txt. + + (MIT License) @pivanov/event-bus v1.0.0 (https://github.com/pivanov/event-bus) + (MIT License) @pivanov/use-toggle-visibility v0.0.1 (https://github.com/pivanov/use-toggle-visibility) + (MIT License) @polkadot-api/descriptors v0.1.0 (https://github.com/polkadot-api/polkadot-api) + (MIT License) @polkadot-api/metadata-builders v0.7.0 (https://github.com/polkadot-api/polkadot-api) + (MIT License) @polkadot-api/view-builder v0.3.3 (https://github.com/polkadot-api/polkadot-api) + (MIT License) @radix-ui/react-scroll-area v1.1.0 (https://github.com/radix-ui/primitives) + (MIT License) @radix-ui/react-select v2.1.1 (https://github.com/radix-ui/primitives) + (MIT License) @radix-ui/react-switch v1.1.0 (https://github.com/radix-ui/primitives) + (MIT License) @radix-ui/react-tooltip v1.1.3 (https://github.com/radix-ui/primitives) + (MIT License) @shikijs/monaco v1.10.0 (https://github.com/shikijs/shiki) + (MIT License) @stylistic/eslint-plugin v2.8.0 (https://github.com/eslint-stylistic/eslint-stylistic) + (MIT License) @stylistic/eslint-plugin-jsx v2.8.0 (https://github.com/eslint-stylistic/eslint-stylistic) + (MIT License) @tanstack/react-table v8.20.5 (https://github.com/TanStack/table) + (MIT License) @tanstack/react-virtual v3.8.2 (https://github.com/tanstack/virtual) + (MIT License) @typescript/ata v0.9.6 (https://github.com/microsoft/TypeScript-Website) + (MIT License) @vitejs/plugin-react-swc v3.7.0 (https://github.com/vitejs/vite-plugin-react-swc) + (MIT License) axios v1.7.2 (https://github.com/axios/axios) + (MIT License) clsx v2.1.1 (https://github.com/lukeed/clsx) + (MIT License) date-fns v3.6.0 (https://github.com/date-fns/date-fns) + (MIT License) file-saver v2.0.5 (https://github.com/eligrey/FileSaver.js) + (MIT License) monaco-editor v0.50.0 (https://github.com/microsoft/monaco-editor) + (MIT License) nanoid v5.0.7 (https://github.com/ai/nanoid) + (MIT License) pako v2.1.0 (https://github.com/nodeca/pako) + (MIT License) polkadot-api v1.4.1 (https://github.com/polkadot-api/polkadot-api) + (MIT License) prettier v3.3.2 (https://github.com/prettier/prettier) + (MIT License) prism-themes v1.9.0 (https://github.com/PrismJS/prism-themes) + (MIT License) prismjs v1.29.0 (https://github.com/PrismJS/prism) + (MIT License) react v18.3.1 (https://github.com/facebook/react) + (MIT License) react-dom v18.3.1 (https://github.com/facebook/react) + (MIT License) react-hot-toast v2.4.1 (https://github.com/timolins/react-hot-toast) + (MIT License) react-resizable-panels v2.0.19 (https://github.com/bvaughn/react-resizable-panels) + (MIT License) react-router-dom v6.24.0 (https://github.com/remix-run/react-router) + (MIT License) react18-json-view v0.2.8 (https://github.com/YYsuni/react18-json-view) + (MIT License) scale-ts v1.6.0 (https://github.com/unstoppablejs/unstoppablejs) + (MIT License) shiki v1.10.0 (https://github.com/shikijs/shiki) + (MIT License) styled-components v6.1.12 (https://github.com/styled-components/styled-components) + (MIT License) sucrase v3.35.0 (https://github.com/alangpierce/sucrase) + (MIT License) tailwind-merge v2.5.2 (https://github.com/dcastil/tailwind-merge) + (MIT License) ts-node v10.9.2 (https://github.com/TypeStrong/ts-node) + (MIT License) vite v5.3.1 (https://github.com/vitejs/vite) + (MIT License) zustand v4.5.4 (https://github.com/pmndrs/zustand) + +======================================================================== diff --git a/README.md b/README.md new file mode 100644 index 00000000..5cc0876e --- /dev/null +++ b/README.md @@ -0,0 +1,47 @@ +# Polkadot Devground + +A developer tool application, utilizing the new light-client first Polkadot-API (PAPI) + +## Features + +- Integrated IDE for Rapid Prototyping +- Seamless Exploration of the Polkadot Ecosystem +- Showcase Polkadot-API ([PAPI](https://polkadot-api.github.io/polkadot-api-docs/)) +- Implements the new [JSON-RPC specs](https://paritytech.github.io/json-rpc-interface-spec/) +- Future-Ready Extensibility + +## Run Locally + +Clone the project + +```bash + git clone https://github.com/LimeChain/polkadot-js-client.git +``` + +Go to the project directory + +```bash + cd polkadot-js-client +``` + +Install dependencies + +```bash + npm install +``` + +Install chain descriptors + +```bash + npm run add-descriptors +``` + +Start the app + +```bash + npm run dev +``` + +## Feedback + +If you have any feedback, please reach out to us at hristo.dimitrov@limechain.tech diff --git a/firebase.json b/firebase.json new file mode 100644 index 00000000..2c33c295 --- /dev/null +++ b/firebase.json @@ -0,0 +1,16 @@ +{ + "hosting": { + "public": "dist", + "ignore": [ + "firebase.json", + "**/.*", + "**/node_modules/**" + ], + "rewrites": [ + { + "source": "**", + "destination": "/index.html" + } + ] + } +} diff --git a/firebaseConfig.ts b/firebaseConfig.ts new file mode 100644 index 00000000..74beb427 --- /dev/null +++ b/firebaseConfig.ts @@ -0,0 +1,15 @@ +import { initializeApp } from 'firebase/app'; + +const firebaseConfig = { + apiKey: import.meta.env.VITE_FIREBASE_API_KEY, + authDomain: import.meta.env.VITE_FIREBASE_AUTH_DOMAIN, + projectId: import.meta.env.VITE_FIREBASE_PROJECT_ID, + storageBucket: import.meta.env.VITE_FIREBASE_STORAGE_BUCKET, + messagingSenderId: import.meta.env.VITE_FIREBASE_MESSAGING_SENDER_ID, + appId: import.meta.env.VITE_FIREBASE_APP_ID, + measurementId: import.meta.env.VITE_FIREBASE_MEASUREMENT_ID, +}; + +// Initialize Firebase +export const analyticsApp = initializeApp(firebaseConfig); + diff --git a/index.html b/index.html new file mode 100644 index 00000000..792c943c --- /dev/null +++ b/index.html @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + Polkadot devGround + + +
+
+ + + diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..e7d2b236 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,15011 @@ +{ + "name": "polkadot-devground", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "polkadot-devground", + "version": "0.0.0", + "dependencies": { + "@pivanov/event-bus": "1.0.0", + "@pivanov/use-toggle-visibility": "0.0.1", + "@polkadot-api/descriptors": "file:.papi/descriptors", + "@polkadot-api/metadata-builders": "0.7.0", + "@polkadot-api/view-builder": "0.3.3", + "@polkadot/react-identicon": "3.9.1", + "@polkadot/types": "12.2.3", + "@radix-ui/react-scroll-area": "1.1.0", + "@radix-ui/react-select": "2.1.1", + "@radix-ui/react-switch": "1.1.0", + "@radix-ui/react-tooltip": "1.1.3", + "@shikijs/monaco": "1.10.0", + "@stylistic/eslint-plugin": "2.8.0", + "@stylistic/eslint-plugin-jsx": "2.8.0", + "@tanstack/react-table": "8.20.5", + "@tanstack/react-virtual": "3.8.2", + "@typescript/ata": "0.9.6", + "@vitejs/plugin-react-swc": "3.7.0", + "axios": "1.7.2", + "clsx": "2.1.1", + "date-fns": "^3.6.0", + "file-saver": "2.0.5", + "firebase": "10.14.0", + "monaco-editor": "0.50.0", + "nanoid": "5.0.7", + "pako": "2.1.0", + "polkadot-api": "1.4.1", + "prettier": "3.3.2", + "prism-themes": "1.9.0", + "prismjs": "1.29.0", + "react": "18.3.1", + "react-dom": "18.3.1", + "react-helmet-async": "2.0.5", + "react-hot-toast": "2.4.1", + "react-resizable-panels": "2.0.19", + "react-router-dom": "6.24.0", + "react18-json-view": "0.2.8", + "scale-ts": "1.6.0", + "shiki": "1.10.0", + "styled-components": "6.1.12", + "sucrase": "3.35.0", + "tailwind-merge": "2.5.2", + "ts-node": "10.9.2", + "vite": "5.3.1", + "zustand": "4.5.4" + }, + "devDependencies": { + "@pivanov/vite-plugin-svg-sprite": "2.1.0", + "@types/file-saver": "2.0.7", + "@types/pako": "2.0.3", + "@types/prismjs": "1.26.4", + "@types/react": "18.3.3", + "@types/react-dom": "18.3.0", + "@types/react-router-dom": "5.3.3", + "@typescript-eslint/eslint-plugin": "7.14.1", + "@typescript-eslint/parser": "7.13.1", + "autoprefixer": "10.4.19", + "eslint": "8.57.0", + "eslint-import-resolver-typescript": "3.6.1", + "eslint-plugin-filenames": "^1.3.2", + "eslint-plugin-import": "2.29.1", + "eslint-plugin-import-newlines": "1.4.0", + "eslint-plugin-prefer-arrow": "1.2.3", + "eslint-plugin-react": "7.34.3", + "eslint-plugin-react-hooks": "4.6.2", + "eslint-plugin-react-refresh": "0.4.7", + "eslint-plugin-tailwindcss": "3.17.4", + "eslint-plugin-unused-imports": "4.0.0", + "lint-staged": "15.2.7", + "rollup-plugin-visualizer": "5.12.0", + "tailwindcss": "3.4.4", + "terser": "5.31.1", + "typescript": "5.4.5", + "vite-plugin-pwa": "0.20.0", + "vite-plugin-static-copy": "1.0.6", + "vite-tsconfig-paths": "4.3.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + ".papi/descriptors": { + "name": "@polkadot-api/descriptors", + "version": "0.1.0-autogenerated.2008145180203480662", + "peerDependencies": { + "polkadot-api": "*" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dev": true, + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", + "dependencies": { + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz", + "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz", + "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.0", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-module-transforms": "^7.25.2", + "@babel/helpers": "^7.25.0", + "@babel/parser": "^7.25.0", + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.2", + "@babel/types": "^7.25.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz", + "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.25.6", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz", + "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.25.2", + "@babel/helper-validator-option": "^7.24.8", + "browserslist": "^4.23.1", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz", + "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/traverse": "^7.25.4", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz", + "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "regexpu-core": "^5.3.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.22.6", + "@babel/helper-plugin-utils": "^7.22.5", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz", + "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.8", + "@babel/types": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz", + "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", + "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz", + "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz", + "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-wrap-function": "^7.25.0", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz", + "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==", + "dev": true, + "dependencies": { + "@babel/helper-member-expression-to-functions": "^7.24.8", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz", + "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz", + "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/traverse": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz", + "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==", + "dev": true, + "dependencies": { + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.24.7", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/@babel/highlight/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz", + "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.25.6" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz", + "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz", + "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz", + "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz", + "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0-placeholder-for-preset-env.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", + "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz", + "integrity": "sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz", + "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-unicode-sets-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", + "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-generator-functions": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz", + "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-remap-async-to-generator": "^7.25.0", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/traverse": "^7.25.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz", + "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-properties": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz", + "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-class-static-block": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz", + "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-replace-supers": "^7.25.0", + "@babel/traverse": "^7.25.4", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz", + "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz", + "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-dynamic-import": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-export-namespace-from": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.25.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz", + "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/traverse": "^7.25.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-json-strings": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz", + "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-logical-assignment-operators": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz", + "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.8", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-simple-access": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz", + "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.25.0", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "@babel/traverse": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-numeric-separator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-rest-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-catch-binding": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-optional-chaining": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz", + "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-methods": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz", + "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.25.4", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-private-property-in-object": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "regenerator-transform": "^0.15.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz", + "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-property-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-sets-regex": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz", + "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.25.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz", + "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.25.4", + "@babel/helper-compilation-targets": "^7.25.2", + "@babel/helper-plugin-utils": "^7.24.8", + "@babel/helper-validator-option": "^7.24.8", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3", + "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0", + "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.25.4", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.25.0", + "@babel/plugin-transform-class-properties": "^7.25.4", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.25.4", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.8", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.25.1", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.25.2", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.8", + "@babel/plugin-transform-modules-systemjs": "^7.25.0", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.8", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.25.4", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.8", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.25.4", + "@babel/preset-modules": "0.1.6-no-external-plugins", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.6", + "babel-plugin-polyfill-regenerator": "^0.6.1", + "core-js-compat": "^3.37.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.6-no-external-plugins", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", + "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", + "dev": true + }, + "node_modules/@babel/runtime": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz", + "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.25.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz", + "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.25.0", + "@babel/types": "^7.25.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz", + "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.25.6", + "@babel/parser": "^7.25.6", + "@babel/template": "^7.25.0", + "@babel/types": "^7.25.6", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/types": { + "version": "7.25.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz", + "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@commander-js/extra-typings": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/@commander-js/extra-typings/-/extra-typings-12.1.0.tgz", + "integrity": "sha512-wf/lwQvWAA0goIghcb91dQYpkLBcyhOhQNqG/VgWhnKzgt+UOMvra7EX/2fv70arm5RW+PUHoQHHDa6/p77Eqg==", + "license": "MIT", + "peerDependencies": { + "commander": "~12.1.0" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", + "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", + "dependencies": { + "@emotion/memoize": "^0.8.1" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "node_modules/@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", + "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", + "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", + "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", + "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", + "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", + "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", + "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", + "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", + "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", + "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", + "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", + "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", + "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", + "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", + "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", + "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", + "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", + "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", + "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", + "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", + "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", + "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", + "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", + "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "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, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "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, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@firebase/analytics": { + "version": "0.10.8", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.8.tgz", + "integrity": "sha512-CVnHcS4iRJPqtIDc411+UmFldk0ShSK3OB+D0bKD8Ck5Vro6dbK5+APZpkuWpbfdL359DIQUnAaMLE+zs/PVyA==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/installations": "0.6.9", + "@firebase/logger": "0.4.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/analytics-compat": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.14.tgz", + "integrity": "sha512-unRVY6SvRqfNFIAA/kwl4vK+lvQAL2HVcgu9zTrUtTyYDmtIt/lOuHJynBMYEgLnKm39YKBDhtqdapP2e++ASw==", + "dependencies": { + "@firebase/analytics": "0.10.8", + "@firebase/analytics-types": "0.8.2", + "@firebase/component": "0.6.9", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/analytics-types": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.2.tgz", + "integrity": "sha512-EnzNNLh+9/sJsimsA/FGqzakmrAUKLeJvjRHlg8df1f97NLUlFidk9600y0ZgWOp3CAxn6Hjtk+08tixlUOWyw==" + }, + "node_modules/@firebase/app": { + "version": "0.10.12", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.10.12.tgz", + "integrity": "sha512-fgBqe5j7GKv7/eMfyU4N1FdiW6O1EyrrVbMa8rJOT5MYNpCXqdL/5NNcLDStS1l6CN7h65a7jUNXmMnMSWo0sw==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/logger": "0.4.2", + "@firebase/util": "1.10.0", + "idb": "7.1.1", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/app-check": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.8.8.tgz", + "integrity": "sha512-O49RGF1xj7k6BuhxGpHmqOW5hqBIAEbt2q6POW0lIywx7emYtzPDeQI+ryQpC4zbKX646SoVZ711TN1DBLNSOQ==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/logger": "0.4.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/app-check-compat": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.15.tgz", + "integrity": "sha512-zFIvIFFNqDXpOT2huorz9cwf56VT3oJYRFjSFYdSbGYEJYEaXjLJbfC79lx/zjx4Fh+yuN8pry3TtvwaevrGbg==", + "dependencies": { + "@firebase/app-check": "0.8.8", + "@firebase/app-check-types": "0.5.2", + "@firebase/component": "0.6.9", + "@firebase/logger": "0.4.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/app-check-interop-types": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.2.tgz", + "integrity": "sha512-LMs47Vinv2HBMZi49C09dJxp0QT5LwDzFaVGf/+ITHe3BlIhUiLNttkATSXplc89A2lAaeTqjgqVkiRfUGyQiQ==" + }, + "node_modules/@firebase/app-check-types": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.2.tgz", + "integrity": "sha512-FSOEzTzL5bLUbD2co3Zut46iyPWML6xc4x+78TeaXMSuJap5QObfb+rVvZJtla3asN4RwU7elaQaduP+HFizDA==" + }, + "node_modules/@firebase/app-compat": { + "version": "0.2.42", + "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.2.42.tgz", + "integrity": "sha512-vPI0Aksk8ZuHywigyTxrx/oWbuD41kHxajfxRly7urHOFRiXKxf/q2ftgmcMVPfIeg0K02LzYNBmoh2PWzERpg==", + "dependencies": { + "@firebase/app": "0.10.12", + "@firebase/component": "0.6.9", + "@firebase/logger": "0.4.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/app-types": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.2.tgz", + "integrity": "sha512-oMEZ1TDlBz479lmABwWsWjzHwheQKiAgnuKxE0pz0IXCVx7/rtlkx1fQ6GfgK24WCrxDKMplZrT50Kh04iMbXQ==" + }, + "node_modules/@firebase/auth": { + "version": "1.7.9", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.7.9.tgz", + "integrity": "sha512-yLD5095kVgDw965jepMyUrIgDklD6qH/BZNHeKOgvu7pchOKNjVM+zQoOVYJIKWMWOWBq8IRNVU6NXzBbozaJg==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/logger": "0.4.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0", + "undici": "6.19.7" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@react-native-async-storage/async-storage": "^1.18.1" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, + "node_modules/@firebase/auth-compat": { + "version": "0.5.14", + "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.14.tgz", + "integrity": "sha512-2eczCSqBl1KUPJacZlFpQayvpilg3dxXLy9cSMTKtQMTQSmondUtPI47P3ikH3bQAXhzKLOE+qVxJ3/IRtu9pw==", + "dependencies": { + "@firebase/auth": "1.7.9", + "@firebase/auth-types": "0.12.2", + "@firebase/component": "0.6.9", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0", + "undici": "6.19.7" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/auth-compat/node_modules/undici": { + "version": "6.19.7", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.7.tgz", + "integrity": "sha512-HR3W/bMGPSr90i8AAp2C4DM3wChFdJPLrWYpIS++LxS8K+W535qftjt+4MyjNYHeWabMj1nvtmLIi7l++iq91A==", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/@firebase/auth-interop-types": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.3.tgz", + "integrity": "sha512-Fc9wuJGgxoxQeavybiuwgyi+0rssr76b+nHpj+eGhXFYAdudMWyfBHvFL/I5fEHniUM/UQdFzi9VXJK2iZF7FQ==" + }, + "node_modules/@firebase/auth-types": { + "version": "0.12.2", + "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.12.2.tgz", + "integrity": "sha512-qsEBaRMoGvHO10unlDJhaKSuPn4pyoTtlQuP1ghZfzB6rNQPuhp/N/DcFZxm9i4v0SogjCbf9reWupwIvfmH6w==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/auth/node_modules/undici": { + "version": "6.19.7", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.7.tgz", + "integrity": "sha512-HR3W/bMGPSr90i8AAp2C4DM3wChFdJPLrWYpIS++LxS8K+W535qftjt+4MyjNYHeWabMj1nvtmLIi7l++iq91A==", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/@firebase/component": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.9.tgz", + "integrity": "sha512-gm8EUEJE/fEac86AvHn8Z/QW8BvR56TBw3hMW0O838J/1mThYQXAIQBgUv75EqlCZfdawpWLrKt1uXvp9ciK3Q==", + "dependencies": { + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/data-connect": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@firebase/data-connect/-/data-connect-0.1.0.tgz", + "integrity": "sha512-vSe5s8dY13ilhLnfY0eYRmQsdTbH7PUFZtBbqU6JVX/j8Qp9A6G5gG6//ulbX9/1JFOF1IWNOne9c8S/DOCJaQ==", + "dependencies": { + "@firebase/auth-interop-types": "0.2.3", + "@firebase/component": "0.6.9", + "@firebase/logger": "0.4.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/database": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.8.tgz", + "integrity": "sha512-dzXALZeBI1U5TXt6619cv0+tgEhJiwlUtQ55WNZY7vGAjv7Q1QioV969iYwt1AQQ0ovHnEW0YW9TiBfefLvErg==", + "dependencies": { + "@firebase/app-check-interop-types": "0.3.2", + "@firebase/auth-interop-types": "0.2.3", + "@firebase/component": "0.6.9", + "@firebase/logger": "0.4.2", + "@firebase/util": "1.10.0", + "faye-websocket": "0.11.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/database-compat": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-1.0.8.tgz", + "integrity": "sha512-OpeWZoPE3sGIRPBKYnW9wLad25RaWbGyk7fFQe4xnJQKRzlynWeFBSRRAoLE2Old01WXwskUiucNqUUVlFsceg==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/database": "1.0.8", + "@firebase/database-types": "1.0.5", + "@firebase/logger": "0.4.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/database-types": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.5.tgz", + "integrity": "sha512-fTlqCNwFYyq/C6W7AJ5OCuq5CeZuBEsEwptnVxlNPkWCo5cTTyukzAHRSO/jaQcItz33FfYrrFk1SJofcu2AaQ==", + "dependencies": { + "@firebase/app-types": "0.9.2", + "@firebase/util": "1.10.0" + } + }, + "node_modules/@firebase/firestore": { + "version": "4.7.3", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.7.3.tgz", + "integrity": "sha512-NwVU+JPZ/3bhvNSJMCSzfcBZZg8SUGyzZ2T0EW3/bkUeefCyzMISSt/TTIfEHc8cdyXGlMqfGe3/62u9s74UEg==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/logger": "0.4.2", + "@firebase/util": "1.10.0", + "@firebase/webchannel-wrapper": "1.0.1", + "@grpc/grpc-js": "~1.9.0", + "@grpc/proto-loader": "^0.7.8", + "tslib": "^2.1.0", + "undici": "6.19.7" + }, + "engines": { + "node": ">=10.10.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/firestore-compat": { + "version": "0.3.38", + "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.38.tgz", + "integrity": "sha512-GoS0bIMMkjpLni6StSwRJarpu2+S5m346Na7gr9YZ/BZ/W3/8iHGNr9PxC+f0rNZXqS4fGRn88pICjrZEgbkqQ==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/firestore": "4.7.3", + "@firebase/firestore-types": "3.0.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/firestore-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-3.0.2.tgz", + "integrity": "sha512-wp1A+t5rI2Qc/2q7r2ZpjUXkRVPtGMd6zCLsiWurjsQpqPgFin3AhNibKcIzoF2rnToNa/XYtyWXuifjOOwDgg==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/firestore/node_modules/undici": { + "version": "6.19.7", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.7.tgz", + "integrity": "sha512-HR3W/bMGPSr90i8AAp2C4DM3wChFdJPLrWYpIS++LxS8K+W535qftjt+4MyjNYHeWabMj1nvtmLIi7l++iq91A==", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/@firebase/functions": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.11.8.tgz", + "integrity": "sha512-Lo2rTPDn96naFIlSZKVd1yvRRqqqwiJk7cf9TZhUerwnPKgBzXy+aHE22ry+6EjCaQusUoNai6mU6p+G8QZT1g==", + "dependencies": { + "@firebase/app-check-interop-types": "0.3.2", + "@firebase/auth-interop-types": "0.2.3", + "@firebase/component": "0.6.9", + "@firebase/messaging-interop-types": "0.2.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0", + "undici": "6.19.7" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/functions-compat": { + "version": "0.3.14", + "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.14.tgz", + "integrity": "sha512-dZ0PKOKQFnOlMfcim39XzaXonSuPPAVuzpqA4ONTIdyaJK/OnBaIEVs/+BH4faa1a2tLeR+Jy15PKqDRQoNIJw==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/functions": "0.11.8", + "@firebase/functions-types": "0.6.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/functions-types": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.2.tgz", + "integrity": "sha512-0KiJ9lZ28nS2iJJvimpY4nNccV21rkQyor5Iheu/nq8aKXJqtJdeSlZDspjPSBBiHRzo7/GMUttegnsEITqR+w==" + }, + "node_modules/@firebase/functions/node_modules/undici": { + "version": "6.19.7", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.7.tgz", + "integrity": "sha512-HR3W/bMGPSr90i8AAp2C4DM3wChFdJPLrWYpIS++LxS8K+W535qftjt+4MyjNYHeWabMj1nvtmLIi7l++iq91A==", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/@firebase/installations": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.9.tgz", + "integrity": "sha512-hlT7AwCiKghOX3XizLxXOsTFiFCQnp/oj86zp1UxwDGmyzsyoxtX+UIZyVyH/oBF5+XtblFG9KZzZQ/h+dpy+Q==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/util": "1.10.0", + "idb": "7.1.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/installations-compat": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.9.tgz", + "integrity": "sha512-2lfdc6kPXR7WaL4FCQSQUhXcPbI7ol3wF+vkgtU25r77OxPf8F/VmswQ7sgIkBBWtymn5ZF20TIKtnOj9rjb6w==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/installations": "0.6.9", + "@firebase/installations-types": "0.5.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/installations-types": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.2.tgz", + "integrity": "sha512-que84TqGRZJpJKHBlF2pkvc1YcXrtEDOVGiDjovP/a3s6W4nlbohGXEsBJo0JCeeg/UG9A+DEZVDUV9GpklUzA==", + "peerDependencies": { + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/logger": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.2.tgz", + "integrity": "sha512-Q1VuA5M1Gjqrwom6I6NUU4lQXdo9IAQieXlujeHZWvRt1b7qQ0KwBaNAjgxG27jgF9/mUwsNmO8ptBCGVYhB0A==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/messaging": { + "version": "0.12.11", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.11.tgz", + "integrity": "sha512-zn5zGhF46BmiZ7W9yAUoHlqzJGakmWn1FNp//roXHN62dgdEFIKfXY7IODA2iQiXpmUO3sBdI/Tf+Hsft1mVkw==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/installations": "0.6.9", + "@firebase/messaging-interop-types": "0.2.2", + "@firebase/util": "1.10.0", + "idb": "7.1.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/messaging-compat": { + "version": "0.2.11", + "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.11.tgz", + "integrity": "sha512-2NCkfE1L9jSn5OC+2n5rGAz5BEAQreK2lQGdPYQEJlAbKB2efoF+2FdiQ+LD8SlioSXz66REfeaEdesoLPFQcw==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/messaging": "0.12.11", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/messaging-interop-types": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.2.tgz", + "integrity": "sha512-l68HXbuD2PPzDUOFb3aG+nZj5KA3INcPwlocwLZOzPp9rFM9yeuI9YLl6DQfguTX5eAGxO0doTR+rDLDvQb5tA==" + }, + "node_modules/@firebase/performance": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.6.9.tgz", + "integrity": "sha512-PnVaak5sqfz5ivhua+HserxTJHtCar/7zM0flCX6NkzBNzJzyzlH4Hs94h2Il0LQB99roBqoE5QT1JqWqcLJHQ==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/installations": "0.6.9", + "@firebase/logger": "0.4.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/performance-compat": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.9.tgz", + "integrity": "sha512-dNl95IUnpsu3fAfYBZDCVhXNkASE0uo4HYaEPd2/PKscfTvsgqFAOxfAXzBEDOnynDWiaGUnb5M1O00JQ+3FXA==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/logger": "0.4.2", + "@firebase/performance": "0.6.9", + "@firebase/performance-types": "0.2.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/performance-types": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.2.tgz", + "integrity": "sha512-gVq0/lAClVH5STrIdKnHnCo2UcPLjJlDUoEB/tB4KM+hAeHUxWKnpT0nemUPvxZ5nbdY/pybeyMe8Cs29gEcHA==" + }, + "node_modules/@firebase/remote-config": { + "version": "0.4.9", + "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.4.9.tgz", + "integrity": "sha512-EO1NLCWSPMHdDSRGwZ73kxEEcTopAxX1naqLJFNApp4hO8WfKfmEpmjxmP5TrrnypjIf2tUkYaKsfbEA7+AMmA==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/installations": "0.6.9", + "@firebase/logger": "0.4.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/remote-config-compat": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.9.tgz", + "integrity": "sha512-AxzGpWfWFYejH2twxfdOJt5Cfh/ATHONegTd/a0p5flEzsD5JsxXgfkFToop+mypEL3gNwawxrxlZddmDoNxyA==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/logger": "0.4.2", + "@firebase/remote-config": "0.4.9", + "@firebase/remote-config-types": "0.3.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/remote-config-types": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.3.2.tgz", + "integrity": "sha512-0BC4+Ud7y2aPTyhXJTMTFfrGGLqdYXrUB9sJVAB8NiqJswDTc4/2qrE/yfUbnQJhbSi6ZaTTBKyG3n1nplssaA==" + }, + "node_modules/@firebase/storage": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.13.2.tgz", + "integrity": "sha512-fxuJnHshbhVwuJ4FuISLu+/76Aby2sh+44ztjF2ppoe0TELIDxPW6/r1KGlWYt//AD0IodDYYA8ZTN89q8YqUw==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0", + "undici": "6.19.7" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/storage-compat": { + "version": "0.3.12", + "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.12.tgz", + "integrity": "sha512-hA4VWKyGU5bWOll+uwzzhEMMYGu9PlKQc1w4DWxB3aIErWYzonrZjF0icqNQZbwKNIdh8SHjZlFeB2w6OSsjfg==", + "dependencies": { + "@firebase/component": "0.6.9", + "@firebase/storage": "0.13.2", + "@firebase/storage-types": "0.8.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/storage-types": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.2.tgz", + "integrity": "sha512-0vWu99rdey0g53lA7IShoA2Lol1jfnPovzLDUBuon65K7uKG9G+L5uO05brD9pMw+l4HRFw23ah3GwTGpEav6g==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/storage/node_modules/undici": { + "version": "6.19.7", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.7.tgz", + "integrity": "sha512-HR3W/bMGPSr90i8AAp2C4DM3wChFdJPLrWYpIS++LxS8K+W535qftjt+4MyjNYHeWabMj1nvtmLIi7l++iq91A==", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/@firebase/util": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.10.0.tgz", + "integrity": "sha512-xKtx4A668icQqoANRxyDLBLz51TAbDP9KRfpbKGxiCAW346d0BeJe5vN6/hKxxmWwnZ0mautyv39JxviwwQMOQ==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@firebase/vertexai-preview": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@firebase/vertexai-preview/-/vertexai-preview-0.0.4.tgz", + "integrity": "sha512-EBSqyu9eg8frQlVU9/HjKtHN7odqbh9MtAcVz3WwHj4gLCLOoN9F/o+oxlq3CxvFrd3CNTZwu6d2mZtVlEInng==", + "dependencies": { + "@firebase/app-check-interop-types": "0.3.2", + "@firebase/component": "0.6.9", + "@firebase/logger": "0.4.2", + "@firebase/util": "1.10.0", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/webchannel-wrapper": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.1.tgz", + "integrity": "sha512-jmEnr/pk0yVkA7mIlHNnxCi+wWzOFUg0WyIotgkKAb2u1J7fAeDBcVNSTjTihbAYNusCLQdW5s9IJ5qwnEufcQ==" + }, + "node_modules/@floating-ui/core": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.7.tgz", + "integrity": "sha512-yDzVT/Lm101nQ5TCVeK65LtdN7Tj4Qpr9RTXJ2vPFLqtLxwOrpoxAHAJI8J3yYWUc40J0BDBheaitK5SJmno2g==", + "dependencies": { + "@floating-ui/utils": "^0.2.7" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.10", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.10.tgz", + "integrity": "sha512-fskgCFv8J8OamCmyun8MfjB1Olfn+uZKjOKZ0vhYF3gRmEUXcGOjxWL8bBr7i4kIuPZ2KD2S3EUIOxnjC8kl2A==", + "dependencies": { + "@floating-ui/core": "^1.6.0", + "@floating-ui/utils": "^0.2.7" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.1.tgz", + "integrity": "sha512-4h84MJt3CHrtG18mGsXuLCHMrug49d7DFkU0RMIyshRveBeyV2hmV/pDaF2Uxtu8kgq5r46llp5E5FQiR0K2Yg==", + "dependencies": { + "@floating-ui/dom": "^1.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.7.tgz", + "integrity": "sha512-X8R8Oj771YRl/w+c1HqAC1szL8zWQRwFvgDwT129k9ACdBoud/+/rX9V0qiMl6LWUdP9voC2nDVZYPMQQsb6eA==" + }, + "node_modules/@grpc/grpc-js": { + "version": "1.9.15", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.15.tgz", + "integrity": "sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==", + "dependencies": { + "@grpc/proto-loader": "^0.7.8", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/@grpc/proto-loader": { + "version": "0.7.13", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.13.tgz", + "integrity": "sha512-AiXO/bfe9bmxBjxxtYxFAXGZvMaN5s8kO+jBHAJCON8rJoB5YS/D6X7ZNc6XQkuHNmyl4CYaMI1fJ/Gn27RGGw==", + "dependencies": { + "lodash.camelcase": "^4.3.0", + "long": "^5.0.0", + "protobufjs": "^7.2.5", + "yargs": "^17.7.2" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "deprecated": "Use @eslint/config-array instead", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/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, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@noble/curves": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.6.0.tgz", + "integrity": "sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==", + "dependencies": { + "@noble/hashes": "1.5.0" + }, + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@noble/hashes": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.5.0.tgz", + "integrity": "sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==", + "engines": { + "node": "^14.21.3 || >=16" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@pivanov/event-bus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@pivanov/event-bus/-/event-bus-1.0.0.tgz", + "integrity": "sha512-NhtdYvz3HdheAO/XKasdrU51sfzykgUzO5rFOyB2QJIJHqj+1U8MCTTeqjHHn31SCfvVQvLGEtGm05s75B2Fqw==" + }, + "node_modules/@pivanov/use-toggle-visibility": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@pivanov/use-toggle-visibility/-/use-toggle-visibility-0.0.1.tgz", + "integrity": "sha512-A7kr7JEsLhM02lJ3TBORYTkA9dSS1CR8mjroLfT5vYLwsRH1Hy3a7fPSrTAsgX5JqmwIDqNtLon/T/6tQmm51A==" + }, + "node_modules/@pivanov/vite-plugin-svg-sprite": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@pivanov/vite-plugin-svg-sprite/-/vite-plugin-svg-sprite-2.1.0.tgz", + "integrity": "sha512-qIJucms0480FUYNcP6ZaBSVN/H0lpO6CWNN/BcaZk4xyMM+mCimVuF19C4laLOtDg6jbinuyyPiUHHJcxH1nBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cheerio": "^1.0.0", + "chokidar": "^4.0.1", + "lodash.debounce": "^4.0.8", + "svgo": "^3.3.2", + "typescript": "^5.4.5" + }, + "peerDependencies": { + "vite": "^2 || ^3 || ^4 || ^5" + } + }, + "node_modules/@pivanov/vite-plugin-svg-sprite/node_modules/chokidar": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz", + "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@pivanov/vite-plugin-svg-sprite/node_modules/readdirp": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz", + "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@polkadot-api/cli": { + "version": "0.9.5", + "resolved": "https://registry.npmjs.org/@polkadot-api/cli/-/cli-0.9.5.tgz", + "integrity": "sha512-hRH7WhzWZLDfvLY74mD9hAaIvxwrdM290HpB11WUzeViJK+++M+SPwBmNzm57fyaSEmuHT8zbBShJJBRjoPh5Q==", + "license": "MIT", + "dependencies": { + "@commander-js/extra-typings": "^12.1.0", + "@polkadot-api/codegen": "0.12.3", + "@polkadot-api/json-rpc-provider": "0.0.4", + "@polkadot-api/known-chains": "0.5.4", + "@polkadot-api/metadata-compatibility": "0.1.8", + "@polkadot-api/observable-client": "0.5.8", + "@polkadot-api/polkadot-sdk-compat": "2.2.2", + "@polkadot-api/sm-provider": "0.1.3", + "@polkadot-api/smoldot": "0.3.3", + "@polkadot-api/substrate-bindings": "0.9.1", + "@polkadot-api/substrate-client": "0.2.2", + "@polkadot-api/utils": "0.1.2", + "@polkadot-api/wasm-executor": "^0.1.1", + "@polkadot-api/ws-provider": "0.3.1", + "@types/node": "^22.2.0", + "commander": "^12.1.0", + "execa": "^9.3.0", + "fs.promises.exists": "^1.1.4", + "ora": "^8.0.1", + "read-pkg": "^9.0.1", + "rxjs": "^7.8.1", + "tsc-prog": "^2.3.0", + "tsup": "^8.2.4", + "typescript": "^5.5.4", + "write-package": "^7.1.0" + }, + "bin": { + "papi": "dist/main.js", + "polkadot-api": "dist/main.js" + } + }, + "node_modules/@polkadot-api/cli/node_modules/@polkadot-api/substrate-bindings": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-bindings/-/substrate-bindings-0.9.1.tgz", + "integrity": "sha512-w53luQgfArKypETRHz4y3PSuuLh0pq7hOzqfmTQ5rWgH0R0BgZ+mnMVKphG9XujPskcXpaKzeHxpsB6MsVkeqg==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "^1.4.0", + "@polkadot-api/utils": "0.1.2", + "@scure/base": "^1.1.7", + "scale-ts": "^1.6.0" + } + }, + "node_modules/@polkadot-api/cli/node_modules/@polkadot-api/utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@polkadot-api/utils/-/utils-0.1.2.tgz", + "integrity": "sha512-yhs5k2a8N1SBJcz7EthZoazzLQUkZxbf+0271Xzu42C5AEM9K9uFLbsB+ojzHEM72O5X8lPtSwGKNmS7WQyDyg==", + "license": "MIT" + }, + "node_modules/@polkadot-api/cli/node_modules/execa": { + "version": "9.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-9.4.0.tgz", + "integrity": "sha512-yKHlle2YGxZE842MERVIplWwNH5VYmqqcPFgtnlU//K8gxuFFXu0pwd/CrfXTumFpeEiufsP7+opT/bPJa1yVw==", + "license": "MIT", + "dependencies": { + "@sindresorhus/merge-streams": "^4.0.0", + "cross-spawn": "^7.0.3", + "figures": "^6.1.0", + "get-stream": "^9.0.0", + "human-signals": "^8.0.0", + "is-plain-obj": "^4.1.0", + "is-stream": "^4.0.1", + "npm-run-path": "^6.0.0", + "pretty-ms": "^9.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^4.0.0", + "yoctocolors": "^2.0.0" + }, + "engines": { + "node": "^18.19.0 || >=20.5.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/@polkadot-api/cli/node_modules/get-stream": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-9.0.1.tgz", + "integrity": "sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==", + "license": "MIT", + "dependencies": { + "@sec-ant/readable-stream": "^0.4.1", + "is-stream": "^4.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@polkadot-api/cli/node_modules/human-signals": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.0.tgz", + "integrity": "sha512-/1/GPCpDUCCYwlERiYjxoczfP0zfvZMU/OWgQPMya9AbAE24vseigFdhAMObpc8Q4lc/kjutPfUddDYyAmejnA==", + "license": "Apache-2.0", + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@polkadot-api/cli/node_modules/is-stream": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-4.0.1.tgz", + "integrity": "sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@polkadot-api/cli/node_modules/npm-run-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", + "integrity": "sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==", + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0", + "unicorn-magic": "^0.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@polkadot-api/cli/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@polkadot-api/cli/node_modules/strip-final-newline": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz", + "integrity": "sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@polkadot-api/cli/node_modules/typescript": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/@polkadot-api/cli/node_modules/unicorn-magic": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", + "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@polkadot-api/codegen": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/@polkadot-api/codegen/-/codegen-0.12.3.tgz", + "integrity": "sha512-/SiDo/nsse9h+9NZ32GzHbErQRDMKfn7qmxImMl5dFnibcTA6S55RyL1Hq2fz5bC9097uFJDIB0ZPJGxyQXFww==", + "license": "MIT", + "dependencies": { + "@polkadot-api/metadata-builders": "0.8.1", + "@polkadot-api/metadata-compatibility": "0.1.8", + "@polkadot-api/substrate-bindings": "0.9.1", + "@polkadot-api/utils": "0.1.2" + } + }, + "node_modules/@polkadot-api/codegen/node_modules/@polkadot-api/metadata-builders": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/metadata-builders/-/metadata-builders-0.8.1.tgz", + "integrity": "sha512-LFBDJHRK1NsorocgZ35YSbQl1YWJUZx810bXODsUjiPktYILuMH5ayE3wFLus6zCYf6lsVonyha7aPg9Iokfug==", + "license": "MIT", + "dependencies": { + "@polkadot-api/substrate-bindings": "0.9.1", + "@polkadot-api/utils": "0.1.2" + } + }, + "node_modules/@polkadot-api/codegen/node_modules/@polkadot-api/substrate-bindings": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-bindings/-/substrate-bindings-0.9.1.tgz", + "integrity": "sha512-w53luQgfArKypETRHz4y3PSuuLh0pq7hOzqfmTQ5rWgH0R0BgZ+mnMVKphG9XujPskcXpaKzeHxpsB6MsVkeqg==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "^1.4.0", + "@polkadot-api/utils": "0.1.2", + "@scure/base": "^1.1.7", + "scale-ts": "^1.6.0" + } + }, + "node_modules/@polkadot-api/codegen/node_modules/@polkadot-api/utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@polkadot-api/utils/-/utils-0.1.2.tgz", + "integrity": "sha512-yhs5k2a8N1SBJcz7EthZoazzLQUkZxbf+0271Xzu42C5AEM9K9uFLbsB+ojzHEM72O5X8lPtSwGKNmS7WQyDyg==", + "license": "MIT" + }, + "node_modules/@polkadot-api/descriptors": { + "resolved": ".papi/descriptors", + "link": true + }, + "node_modules/@polkadot-api/json-rpc-provider": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/@polkadot-api/json-rpc-provider/-/json-rpc-provider-0.0.4.tgz", + "integrity": "sha512-9cDijLIxzHOBuq6yHqpqjJ9jBmXrctjc1OFqU+tQrS96adQze3mTIH6DTgfb/0LMrqxzxffz1HQGrIlEH00WrA==", + "license": "MIT" + }, + "node_modules/@polkadot-api/json-rpc-provider-proxy": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@polkadot-api/json-rpc-provider-proxy/-/json-rpc-provider-proxy-0.2.3.tgz", + "integrity": "sha512-dukH94xmV2MUYNZZFhGhnaE1WIjVOPlNpcuzYQRdKYLj3zZJnkA6PHPNHiHd4N8XaCTjaDF3GcBTi6MZ0wtbhg==", + "license": "MIT" + }, + "node_modules/@polkadot-api/known-chains": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@polkadot-api/known-chains/-/known-chains-0.5.4.tgz", + "integrity": "sha512-+yaMuoHRxPgAsf+K1pxrRzO5/d9PM/J6VDdEznGC7xwI5BzrS4EyfYrhbT/Fz/u3ovt0sLPxAySeDf6UHKJqDQ==", + "license": "MIT" + }, + "node_modules/@polkadot-api/logs-provider": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@polkadot-api/logs-provider/-/logs-provider-0.0.6.tgz", + "integrity": "sha512-4WgHlvy+xee1ADaaVf6+MlK/+jGMtsMgAzvbQOJZnP4PfQuagoTqaeayk8HYKxXGphogLlPbD06tANxcb+nvAg==", + "license": "MIT", + "dependencies": { + "@polkadot-api/json-rpc-provider": "0.0.4" + } + }, + "node_modules/@polkadot-api/metadata-builders": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@polkadot-api/metadata-builders/-/metadata-builders-0.7.0.tgz", + "integrity": "sha512-TYbcgVz3f8fTn3lddT3NPvKA4/ELT3GifxMFSTXH4rennzx63yN1yhQHsbEOCW315LVL1gBQU0T7db3s3Dj1+g==", + "dependencies": { + "@polkadot-api/substrate-bindings": "0.7.0", + "@polkadot-api/utils": "0.1.1" + } + }, + "node_modules/@polkadot-api/metadata-builders/node_modules/@polkadot-api/substrate-bindings": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-bindings/-/substrate-bindings-0.7.0.tgz", + "integrity": "sha512-cTzrPUAV+/iC2fa3JEGBilnZXttHS87PeaWTWGL/4hP/cXL+Xz9EAjJwGrp7MhwnSgAVBMD2l/ZoQvI4Bbm5jw==", + "dependencies": { + "@noble/hashes": "^1.4.0", + "@polkadot-api/utils": "0.1.1", + "@scure/base": "^1.1.7", + "scale-ts": "^1.6.0" + } + }, + "node_modules/@polkadot-api/metadata-compatibility": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@polkadot-api/metadata-compatibility/-/metadata-compatibility-0.1.8.tgz", + "integrity": "sha512-mmpK67einWIh7I+EaF5/tlTKkLxjDNlFkUEC06NYWM7o4MTT85vKdQ/4KEAH4U6LSyPPdGFzRz416AEdNV6teA==", + "license": "MIT", + "dependencies": { + "@polkadot-api/metadata-builders": "0.8.1", + "@polkadot-api/substrate-bindings": "0.9.1" + } + }, + "node_modules/@polkadot-api/metadata-compatibility/node_modules/@polkadot-api/metadata-builders": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/metadata-builders/-/metadata-builders-0.8.1.tgz", + "integrity": "sha512-LFBDJHRK1NsorocgZ35YSbQl1YWJUZx810bXODsUjiPktYILuMH5ayE3wFLus6zCYf6lsVonyha7aPg9Iokfug==", + "license": "MIT", + "dependencies": { + "@polkadot-api/substrate-bindings": "0.9.1", + "@polkadot-api/utils": "0.1.2" + } + }, + "node_modules/@polkadot-api/metadata-compatibility/node_modules/@polkadot-api/substrate-bindings": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-bindings/-/substrate-bindings-0.9.1.tgz", + "integrity": "sha512-w53luQgfArKypETRHz4y3PSuuLh0pq7hOzqfmTQ5rWgH0R0BgZ+mnMVKphG9XujPskcXpaKzeHxpsB6MsVkeqg==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "^1.4.0", + "@polkadot-api/utils": "0.1.2", + "@scure/base": "^1.1.7", + "scale-ts": "^1.6.0" + } + }, + "node_modules/@polkadot-api/metadata-compatibility/node_modules/@polkadot-api/utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@polkadot-api/utils/-/utils-0.1.2.tgz", + "integrity": "sha512-yhs5k2a8N1SBJcz7EthZoazzLQUkZxbf+0271Xzu42C5AEM9K9uFLbsB+ojzHEM72O5X8lPtSwGKNmS7WQyDyg==", + "license": "MIT" + }, + "node_modules/@polkadot-api/observable-client": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/@polkadot-api/observable-client/-/observable-client-0.5.8.tgz", + "integrity": "sha512-u8pfivjc9xFp8vhDV3or0+iZV53OWvEj0XzZeoMK7T1knidK2gcqgrpPaZMX5dI0ugaJIT0RoIuHSPQURhGUMw==", + "license": "MIT", + "dependencies": { + "@polkadot-api/metadata-builders": "0.8.1", + "@polkadot-api/substrate-bindings": "0.9.1", + "@polkadot-api/utils": "0.1.2" + }, + "peerDependencies": { + "@polkadot-api/substrate-client": "0.2.2", + "rxjs": ">=7.8.0" + } + }, + "node_modules/@polkadot-api/observable-client/node_modules/@polkadot-api/metadata-builders": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/metadata-builders/-/metadata-builders-0.8.1.tgz", + "integrity": "sha512-LFBDJHRK1NsorocgZ35YSbQl1YWJUZx810bXODsUjiPktYILuMH5ayE3wFLus6zCYf6lsVonyha7aPg9Iokfug==", + "license": "MIT", + "dependencies": { + "@polkadot-api/substrate-bindings": "0.9.1", + "@polkadot-api/utils": "0.1.2" + } + }, + "node_modules/@polkadot-api/observable-client/node_modules/@polkadot-api/substrate-bindings": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-bindings/-/substrate-bindings-0.9.1.tgz", + "integrity": "sha512-w53luQgfArKypETRHz4y3PSuuLh0pq7hOzqfmTQ5rWgH0R0BgZ+mnMVKphG9XujPskcXpaKzeHxpsB6MsVkeqg==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "^1.4.0", + "@polkadot-api/utils": "0.1.2", + "@scure/base": "^1.1.7", + "scale-ts": "^1.6.0" + } + }, + "node_modules/@polkadot-api/observable-client/node_modules/@polkadot-api/utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@polkadot-api/utils/-/utils-0.1.2.tgz", + "integrity": "sha512-yhs5k2a8N1SBJcz7EthZoazzLQUkZxbf+0271Xzu42C5AEM9K9uFLbsB+ojzHEM72O5X8lPtSwGKNmS7WQyDyg==", + "license": "MIT" + }, + "node_modules/@polkadot-api/pjs-signer": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@polkadot-api/pjs-signer/-/pjs-signer-0.4.4.tgz", + "integrity": "sha512-rIMeCB9ZVagVR7NchmnXbhKJSoPAbejredBmqovWFV3uVGGQa0uk5Iv9MiUWS/hVO7RHi8rhxm2CmFy9ZJxQCA==", + "license": "MIT", + "dependencies": { + "@polkadot-api/metadata-builders": "0.8.1", + "@polkadot-api/polkadot-signer": "0.1.6", + "@polkadot-api/substrate-bindings": "0.9.1", + "@polkadot-api/utils": "0.1.2" + } + }, + "node_modules/@polkadot-api/pjs-signer/node_modules/@polkadot-api/metadata-builders": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/metadata-builders/-/metadata-builders-0.8.1.tgz", + "integrity": "sha512-LFBDJHRK1NsorocgZ35YSbQl1YWJUZx810bXODsUjiPktYILuMH5ayE3wFLus6zCYf6lsVonyha7aPg9Iokfug==", + "license": "MIT", + "dependencies": { + "@polkadot-api/substrate-bindings": "0.9.1", + "@polkadot-api/utils": "0.1.2" + } + }, + "node_modules/@polkadot-api/pjs-signer/node_modules/@polkadot-api/substrate-bindings": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-bindings/-/substrate-bindings-0.9.1.tgz", + "integrity": "sha512-w53luQgfArKypETRHz4y3PSuuLh0pq7hOzqfmTQ5rWgH0R0BgZ+mnMVKphG9XujPskcXpaKzeHxpsB6MsVkeqg==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "^1.4.0", + "@polkadot-api/utils": "0.1.2", + "@scure/base": "^1.1.7", + "scale-ts": "^1.6.0" + } + }, + "node_modules/@polkadot-api/pjs-signer/node_modules/@polkadot-api/utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@polkadot-api/utils/-/utils-0.1.2.tgz", + "integrity": "sha512-yhs5k2a8N1SBJcz7EthZoazzLQUkZxbf+0271Xzu42C5AEM9K9uFLbsB+ojzHEM72O5X8lPtSwGKNmS7WQyDyg==", + "license": "MIT" + }, + "node_modules/@polkadot-api/polkadot-sdk-compat": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/@polkadot-api/polkadot-sdk-compat/-/polkadot-sdk-compat-2.2.2.tgz", + "integrity": "sha512-G4f06uttjtQIEKjXGTl81EjWjPXEwYvA1qJtny9L8O+NwirnbDRkdh5iKiZNtS7exMkv97VRT83SqDkOvdEMxg==", + "license": "MIT", + "dependencies": { + "@polkadot-api/json-rpc-provider": "0.0.4" + } + }, + "node_modules/@polkadot-api/polkadot-signer": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@polkadot-api/polkadot-signer/-/polkadot-signer-0.1.6.tgz", + "integrity": "sha512-X7ghAa4r7doETtjAPTb50IpfGtrBmy3BJM5WCfNKa1saK04VFY9w+vDn+hwEcM4p0PcDHt66Ts74hzvHq54d9A==", + "license": "MIT" + }, + "node_modules/@polkadot-api/signer": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@polkadot-api/signer/-/signer-0.1.7.tgz", + "integrity": "sha512-B+XtUtoI/PUlmtbDQWhvaiTO6OqgwZT1wnqhL+G57oyI81E/O7vkGiVxs38fpxlyL+ZnmGEItnUG5RBtE0ZgcQ==", + "license": "MIT", + "dependencies": { + "@polkadot-api/polkadot-signer": "0.1.6", + "@polkadot-api/substrate-bindings": "0.9.1", + "@polkadot-api/utils": "0.1.2" + } + }, + "node_modules/@polkadot-api/signer/node_modules/@polkadot-api/substrate-bindings": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-bindings/-/substrate-bindings-0.9.1.tgz", + "integrity": "sha512-w53luQgfArKypETRHz4y3PSuuLh0pq7hOzqfmTQ5rWgH0R0BgZ+mnMVKphG9XujPskcXpaKzeHxpsB6MsVkeqg==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "^1.4.0", + "@polkadot-api/utils": "0.1.2", + "@scure/base": "^1.1.7", + "scale-ts": "^1.6.0" + } + }, + "node_modules/@polkadot-api/signer/node_modules/@polkadot-api/utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@polkadot-api/utils/-/utils-0.1.2.tgz", + "integrity": "sha512-yhs5k2a8N1SBJcz7EthZoazzLQUkZxbf+0271Xzu42C5AEM9K9uFLbsB+ojzHEM72O5X8lPtSwGKNmS7WQyDyg==", + "license": "MIT" + }, + "node_modules/@polkadot-api/sm-provider": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@polkadot-api/sm-provider/-/sm-provider-0.1.3.tgz", + "integrity": "sha512-/Sj6fPlUtu7BVEOeIxjflrO28G564fxM3JDjQZcv1V3hrAb22/p6I/toWej0zSZ6mEAXLjCIEWje14b/lyZmkw==", + "license": "MIT", + "dependencies": { + "@polkadot-api/json-rpc-provider": "0.0.4", + "@polkadot-api/json-rpc-provider-proxy": "0.2.3" + }, + "peerDependencies": { + "smoldot": ">=2" + } + }, + "node_modules/@polkadot-api/smoldot": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@polkadot-api/smoldot/-/smoldot-0.3.3.tgz", + "integrity": "sha512-9sXrC1lOJskb+SWQdBYoDtGXgC8fR2mPmMUVA7Lwky45903SUo61aAGiWb8Jh7BB6+Tfxhy3gll9fhj2mRiJKA==", + "license": "MIT", + "dependencies": { + "@types/node": "^22.2.0", + "smoldot": "2.0.30" + } + }, + "node_modules/@polkadot-api/substrate-bindings": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-bindings/-/substrate-bindings-0.6.3.tgz", + "integrity": "sha512-Z/9B5Rhr478YgFLpo32sr8cY/zUeHj9DZnxX76OTJM+Kiq2rXfyYAONr8vAleJXxP7y1mUDBeII4nS9+uBbFXA==", + "dependencies": { + "@noble/hashes": "^1.4.0", + "@polkadot-api/utils": "0.1.1", + "@scure/base": "^1.1.7", + "scale-ts": "^1.6.0" + } + }, + "node_modules/@polkadot-api/substrate-client": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-client/-/substrate-client-0.2.2.tgz", + "integrity": "sha512-gs3cIVqAFcQ6QWQ1lWklv0ExFJ519fnv21+UHcbTLpgMO9Lza2MLqOkwQUKvs4oC7+fA+y5nfPV7GC4IwuBDNA==", + "license": "MIT", + "dependencies": { + "@polkadot-api/json-rpc-provider": "0.0.4", + "@polkadot-api/utils": "0.1.2" + } + }, + "node_modules/@polkadot-api/substrate-client/node_modules/@polkadot-api/utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@polkadot-api/utils/-/utils-0.1.2.tgz", + "integrity": "sha512-yhs5k2a8N1SBJcz7EthZoazzLQUkZxbf+0271Xzu42C5AEM9K9uFLbsB+ojzHEM72O5X8lPtSwGKNmS7WQyDyg==", + "license": "MIT" + }, + "node_modules/@polkadot-api/utils": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/utils/-/utils-0.1.1.tgz", + "integrity": "sha512-ho1ORL5jEO96Zl72r/j1YTyX8wfXRD+XXrS8OR2LWdBR24MZqHO96xMboTcFehWK919iMKWAb9rCPNs2NiFS3Q==" + }, + "node_modules/@polkadot-api/view-builder": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@polkadot-api/view-builder/-/view-builder-0.3.3.tgz", + "integrity": "sha512-s4p0N6XtSO4kbe+ZJC6XIGnvdDIiFiNSoTbEj2cn7ZzkKBUbAa1a0xiGq3/1qMORsIhmxUggWAoBQt7buLx2kQ==", + "dependencies": { + "@polkadot-api/metadata-builders": "0.6.0", + "@polkadot-api/substrate-bindings": "0.6.3", + "@polkadot-api/utils": "0.1.1" + } + }, + "node_modules/@polkadot-api/view-builder/node_modules/@polkadot-api/metadata-builders": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@polkadot-api/metadata-builders/-/metadata-builders-0.6.0.tgz", + "integrity": "sha512-Q+7oinRbGuWDaj1Xl4PYGcQMy/RIhPErHgDbqR2rFSDt1vjhd6l1XMBWq2uKpwHS4ZNWEvy3r6/I1QbDTLIj2w==", + "dependencies": { + "@polkadot-api/substrate-bindings": "0.6.3", + "@polkadot-api/utils": "0.1.1" + } + }, + "node_modules/@polkadot-api/wasm-executor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/wasm-executor/-/wasm-executor-0.1.1.tgz", + "integrity": "sha512-OuxbAkSRNLtJtsWDzKx7TEYlRXI2ApT9LcEFckaAr6E4aKLQ5TgbDDXWUvwl4A3AnjoUQx7ltYcsb8qR8UpMAg==", + "license": "MIT" + }, + "node_modules/@polkadot-api/ws-provider": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/ws-provider/-/ws-provider-0.3.1.tgz", + "integrity": "sha512-1f0Sgaurk5lN691xvEY/c4NinnxbjvF/D/uSsEUhOKZDIL4RhWhWwE8qCuCQ4PTvBohTXQCfjwaxzKMMbn8cWw==", + "license": "MIT", + "dependencies": { + "@polkadot-api/json-rpc-provider": "0.0.4", + "@polkadot-api/json-rpc-provider-proxy": "0.2.3", + "ws": "^8.18.0" + } + }, + "node_modules/@polkadot/keyring": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/keyring/-/keyring-13.0.2.tgz", + "integrity": "sha512-NeLbhyKDT5W8LI9seWTZGePxNTOVpDhv2018HSrEDwJq9Ie0C4TZhUf3KNERCkSveuThXjfQJMs+1CF33ZXPWw==", + "dependencies": { + "@polkadot/util": "13.0.2", + "@polkadot/util-crypto": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@polkadot/util": "13.0.2", + "@polkadot/util-crypto": "13.0.2" + } + }, + "node_modules/@polkadot/networks": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/networks/-/networks-13.0.2.tgz", + "integrity": "sha512-ABAL+vug/gIwkdFEzeh87JoJd0YKrxSYg/HjUrZ+Zis2ucxQEKpvtCpJ34ku+YrjacBfVqIAkkwd3ZdIPGq9aQ==", + "dependencies": { + "@polkadot/util": "13.0.2", + "@substrate/ss58-registry": "^1.46.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/react-identicon": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/react-identicon/-/react-identicon-3.9.1.tgz", + "integrity": "sha512-4cMGPNc3KZdaEqZbrhfvuwPg4jXT29hIadBjKVbyQZAuJzwzcIiFpr9JvQ8fLHE1elFr5dbQqGsHB/iZRyzhyw==", + "license": "Apache-2.0", + "dependencies": { + "@polkadot/keyring": "^13.0.2", + "@polkadot/ui-settings": "3.9.1", + "@polkadot/ui-shared": "3.9.1", + "@polkadot/util": "^13.0.2", + "@polkadot/util-crypto": "^13.0.2", + "ethereum-blockies-base64": "^1.0.2", + "jdenticon": "3.2.0", + "react-copy-to-clipboard": "^5.1.0", + "styled-components": "^6.1.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@polkadot/keyring": "*", + "@polkadot/util": "*", + "@polkadot/util-crypto": "*", + "react": "*", + "react-dom": "*", + "react-is": "*" + } + }, + "node_modules/@polkadot/types": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@polkadot/types/-/types-12.2.3.tgz", + "integrity": "sha512-p6y3WdZBvdgT5+m+gvPaHXUaei1DQjMI9BxhzHS5FfOvDMSDf0uBacamtRmkdII5bJuUgGBYG9BjHic8yWu0/g==", + "dependencies": { + "@polkadot/keyring": "^13.0.2", + "@polkadot/types-augment": "12.2.3", + "@polkadot/types-codec": "12.2.3", + "@polkadot/types-create": "12.2.3", + "@polkadot/util": "^13.0.2", + "@polkadot/util-crypto": "^13.0.2", + "rxjs": "^7.8.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-augment": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@polkadot/types-augment/-/types-augment-12.2.3.tgz", + "integrity": "sha512-RLHWl4TIgJqWFuGDgstKTYqB7EWGx4oJ5nzIdKCQgYAeOi+LFYXyZjE2ffhmX258VPsSXu4syeQpcBIEWns8kA==", + "dependencies": { + "@polkadot/types": "12.2.3", + "@polkadot/types-codec": "12.2.3", + "@polkadot/util": "^13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-codec": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@polkadot/types-codec/-/types-codec-12.2.3.tgz", + "integrity": "sha512-oBHAEXyAMZ6ghEEgKW95cc4OFdkxiRKazx18Dk433sWk2HGkwGoKd9uK6xdelMgO1EnbBzZwc2epOhKH7rTEmQ==", + "dependencies": { + "@polkadot/util": "^13.0.2", + "@polkadot/x-bigint": "^13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/types-create": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@polkadot/types-create/-/types-create-12.2.3.tgz", + "integrity": "sha512-4XR04QFgKeHZEj7NyBK3A55EgzmGZtC175Hbq5y3+j8XV84amOOhVqj7gDQqnSyRMAtl7+HSsfpx3+Loh+4l+g==", + "dependencies": { + "@polkadot/types-codec": "12.2.3", + "@polkadot/util": "^13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/ui-settings": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/ui-settings/-/ui-settings-3.9.1.tgz", + "integrity": "sha512-G6WYluS3oE9wiK4KLK1Hi+lr0ZII65x7EcmRoqaR5BBKAr2cBnLAOfBiK5gUchntY7cw1ukXRmcCJmNmCFvwzg==", + "license": "Apache-2.0", + "dependencies": { + "@polkadot/networks": "^13.0.2", + "@polkadot/util": "^13.0.2", + "eventemitter3": "^5.0.1", + "store": "^2.0.12", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@polkadot/networks": "*", + "@polkadot/util": "*" + } + }, + "node_modules/@polkadot/ui-shared": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/@polkadot/ui-shared/-/ui-shared-3.9.1.tgz", + "integrity": "sha512-bg7t4NKy2yyuK/0h1ahTJiK2Ooe1b+qNmkPfcY3b96o9lgzPiUPYFLg+pVIS/Cu3lULd0dzZEqi4IPl63tAt+w==", + "license": "Apache-2.0", + "dependencies": { + "colord": "^2.9.3", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@polkadot/util": "*", + "@polkadot/util-crypto": "*" + } + }, + "node_modules/@polkadot/util": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util/-/util-13.0.2.tgz", + "integrity": "sha512-/6bS9sfhJLhs8QuqWaR1eRapzfDdGC5XAQZEPL9NN5sTTA7HxWos8rVleai0UERm8QUMabjZ9rK9KpzbXl7ojg==", + "dependencies": { + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-global": "13.0.2", + "@polkadot/x-textdecoder": "13.0.2", + "@polkadot/x-textencoder": "13.0.2", + "@types/bn.js": "^5.1.5", + "bn.js": "^5.2.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/util-crypto": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/util-crypto/-/util-crypto-13.0.2.tgz", + "integrity": "sha512-woUsJJ6zd/caL7U+D30a5oM/+WK9iNI00Y8aNUHSj6Zq/KPzK9uqDBaLGWwlgrejoMQkxxiU2X0f2LzP15AtQg==", + "dependencies": { + "@noble/curves": "^1.3.0", + "@noble/hashes": "^1.3.3", + "@polkadot/networks": "13.0.2", + "@polkadot/util": "13.0.2", + "@polkadot/wasm-crypto": "^7.3.2", + "@polkadot/wasm-util": "^7.3.2", + "@polkadot/x-bigint": "13.0.2", + "@polkadot/x-randomvalues": "13.0.2", + "@scure/base": "^1.1.5", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@polkadot/util": "13.0.2" + } + }, + "node_modules/@polkadot/wasm-bridge": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-bridge/-/wasm-bridge-7.3.2.tgz", + "integrity": "sha512-AJEXChcf/nKXd5Q/YLEV5dXQMle3UNT7jcXYmIffZAo/KI394a+/24PaISyQjoNC0fkzS1Q8T5pnGGHmXiVz2g==", + "dependencies": { + "@polkadot/wasm-util": "7.3.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@polkadot/util": "*", + "@polkadot/x-randomvalues": "*" + } + }, + "node_modules/@polkadot/wasm-crypto": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto/-/wasm-crypto-7.3.2.tgz", + "integrity": "sha512-+neIDLSJ6jjVXsjyZ5oLSv16oIpwp+PxFqTUaZdZDoA2EyFRQB8pP7+qLsMNk+WJuhuJ4qXil/7XiOnZYZ+wxw==", + "dependencies": { + "@polkadot/wasm-bridge": "7.3.2", + "@polkadot/wasm-crypto-asmjs": "7.3.2", + "@polkadot/wasm-crypto-init": "7.3.2", + "@polkadot/wasm-crypto-wasm": "7.3.2", + "@polkadot/wasm-util": "7.3.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@polkadot/util": "*", + "@polkadot/x-randomvalues": "*" + } + }, + "node_modules/@polkadot/wasm-crypto-asmjs": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-asmjs/-/wasm-crypto-asmjs-7.3.2.tgz", + "integrity": "sha512-QP5eiUqUFur/2UoF2KKKYJcesc71fXhQFLT3D4ZjG28Mfk2ZPI0QNRUfpcxVQmIUpV5USHg4geCBNuCYsMm20Q==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@polkadot/util": "*" + } + }, + "node_modules/@polkadot/wasm-crypto-init": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-init/-/wasm-crypto-init-7.3.2.tgz", + "integrity": "sha512-FPq73zGmvZtnuJaFV44brze3Lkrki3b4PebxCy9Fplw8nTmisKo9Xxtfew08r0njyYh+uiJRAxPCXadkC9sc8g==", + "dependencies": { + "@polkadot/wasm-bridge": "7.3.2", + "@polkadot/wasm-crypto-asmjs": "7.3.2", + "@polkadot/wasm-crypto-wasm": "7.3.2", + "@polkadot/wasm-util": "7.3.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@polkadot/util": "*", + "@polkadot/x-randomvalues": "*" + } + }, + "node_modules/@polkadot/wasm-crypto-wasm": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-crypto-wasm/-/wasm-crypto-wasm-7.3.2.tgz", + "integrity": "sha512-15wd0EMv9IXs5Abp1ZKpKKAVyZPhATIAHfKsyoWCEFDLSOA0/K0QGOxzrAlsrdUkiKZOq7uzSIgIDgW8okx2Mw==", + "dependencies": { + "@polkadot/wasm-util": "7.3.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@polkadot/util": "*" + } + }, + "node_modules/@polkadot/wasm-util": { + "version": "7.3.2", + "resolved": "https://registry.npmjs.org/@polkadot/wasm-util/-/wasm-util-7.3.2.tgz", + "integrity": "sha512-bmD+Dxo1lTZyZNxbyPE380wd82QsX+43mgCm40boyKrRppXEyQmWT98v/Poc7chLuskYb6X8IQ6lvvK2bGR4Tg==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@polkadot/util": "*" + } + }, + "node_modules/@polkadot/x-bigint": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-bigint/-/x-bigint-13.0.2.tgz", + "integrity": "sha512-h2jKT/UaxiEal8LhQeH6+GCjO7GwEqVAD2SNYteCOXff6yNttqAZYJuHZsndbVjVNwqRNf8D5q/zZkD0HUd6xQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/x-global": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-global/-/x-global-13.0.2.tgz", + "integrity": "sha512-OoNIXLB5y8vIKpk4R+XmpDPhipNXWSUvEwUnpQT7NAxNLmzgMq1FhbrwBWWPRNHPrQonp7mqxV/X+v5lv1HW/g==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/x-randomvalues": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-randomvalues/-/x-randomvalues-13.0.2.tgz", + "integrity": "sha512-SGj+L0H/7TWZtSmtkWlixO4DFzXDdluI0UscN2h285os2Ns8PnmBbue+iJ8PVSzpY1BOxd66gvkkpboPz+jXFQ==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@polkadot/util": "13.0.2", + "@polkadot/wasm-util": "*" + } + }, + "node_modules/@polkadot/x-textdecoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textdecoder/-/x-textdecoder-13.0.2.tgz", + "integrity": "sha512-mauglOkTJxLGmLwLc3J5Jlq/W+SHP53eiy3F8/8JxxfnXrZKgWoQXGpvXYPjFnMZj0MzDSy/6GjyGWnDCgdQFA==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@polkadot/x-textencoder": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@polkadot/x-textencoder/-/x-textencoder-13.0.2.tgz", + "integrity": "sha512-Lq08H2OnVXj97uaOwg7tcmRS7a4VJYkHEeWO4FyEMOk6P6lU6W8OVNjjxG0se9PCEgmyZPUDbJI//1ynzP4cXw==", + "dependencies": { + "@polkadot/x-global": "13.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@radix-ui/number": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.1.0.tgz", + "integrity": "sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==" + }, + "node_modules/@radix-ui/primitive": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.0.tgz", + "integrity": "sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==" + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.1.0.tgz", + "integrity": "sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw==", + "dependencies": { + "@radix-ui/react-primitive": "2.0.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.1.0.tgz", + "integrity": "sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-context": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-slot": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz", + "integrity": "sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz", + "integrity": "sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.1.0.tgz", + "integrity": "sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.0.tgz", + "integrity": "sha512-/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2jig==", + "dependencies": { + "@radix-ui/primitive": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-escape-keydown": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.0.tgz", + "integrity": "sha512-w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.0.tgz", + "integrity": "sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz", + "integrity": "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.2.0.tgz", + "integrity": "sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==", + "dependencies": { + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-context": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0", + "@radix-ui/react-use-rect": "1.1.0", + "@radix-ui/react-use-size": "1.1.0", + "@radix-ui/rect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.1.tgz", + "integrity": "sha512-A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g==", + "dependencies": { + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.0.tgz", + "integrity": "sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz", + "integrity": "sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==", + "dependencies": { + "@radix-ui/react-slot": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-scroll-area": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-scroll-area/-/react-scroll-area-1.1.0.tgz", + "integrity": "sha512-9ArIZ9HWhsrfqS765h+GZuLoxaRHD/j0ZWOWilsCvYTpYJp8XwCqNG7Dt9Nu/TItKOdgLGkOPCodQvDc+UMwYg==", + "dependencies": { + "@radix-ui/number": "1.1.0", + "@radix-ui/primitive": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-context": "1.1.0", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-presence": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-select": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.1.1.tgz", + "integrity": "sha512-8iRDfyLtzxlprOo9IicnzvpsO1wNCkuwzzCM+Z5Rb5tNOpCdMvcc2AkzX0Fz+Tz9v6NJ5B/7EEgyZveo4FBRfQ==", + "dependencies": { + "@radix-ui/number": "1.1.0", + "@radix-ui/primitive": "1.1.0", + "@radix-ui/react-collection": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-context": "1.1.0", + "@radix-ui/react-direction": "1.1.0", + "@radix-ui/react-dismissable-layer": "1.1.0", + "@radix-ui/react-focus-guards": "1.1.0", + "@radix-ui/react-focus-scope": "1.1.0", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-popper": "1.2.0", + "@radix-ui/react-portal": "1.1.1", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-slot": "1.1.0", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0", + "@radix-ui/react-use-previous": "1.1.0", + "@radix-ui/react-visually-hidden": "1.1.0", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.7" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.0.tgz", + "integrity": "sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-switch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-switch/-/react-switch-1.1.0.tgz", + "integrity": "sha512-OBzy5WAj641k0AOSpKQtreDMe+isX0MQJ1IVyF03ucdF3DunOnROVrjWs8zsXUxC3zfZ6JL9HFVCUlMghz9dJw==", + "dependencies": { + "@radix-ui/primitive": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-context": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-use-previous": "1.1.0", + "@radix-ui/react-use-size": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-tooltip/-/react-tooltip-1.1.3.tgz", + "integrity": "sha512-Z4w1FIS0BqVFI2c1jZvb/uDVJijJjJ2ZMuPV81oVgTZ7g3BZxobplnMVvXtFWgtozdvYJ+MFWtwkM5S2HnAong==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-context": "1.1.1", + "@radix-ui/react-dismissable-layer": "1.1.1", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-popper": "1.2.0", + "@radix-ui/react-portal": "1.1.2", + "@radix-ui/react-presence": "1.1.1", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-slot": "1.1.0", + "@radix-ui/react-use-controllable-state": "1.1.0", + "@radix-ui/react-visually-hidden": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-context": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.1.tgz", + "integrity": "sha512-UASk9zi+crv9WteK/NU4PLvOoL3OuE6BWVKNF6hPRBtYBDXQ2u5iu3O59zUlJiTVvkyuycnqrztsHVJwcK9K+Q==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.1.tgz", + "integrity": "sha512-QSxg29lfr/xcev6kSz7MAlmDnzbP1eI/Dwn3Tp1ip0KT5CUELsxkekFEMVBEoykI3oV39hKT4TKZzBNMbcTZYQ==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-escape-keydown": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-portal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.2.tgz", + "integrity": "sha512-WeDYLGPxJb/5EGBoedyJbT0MpoULmwnIPMJMSldkuiMsBAv7N1cRdsTWZWht9vpPOiN3qyiGAtbK2is47/uMFg==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-presence": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.1.tgz", + "integrity": "sha512-IeFXVi4YS1K0wVZzXNrbaaUvIJ3qdY+/Ih4eHFhWA9SwGR9UDX7Ck8abvL57C4cv3wwMvUE0OG69Qc3NCcTe/A==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz", + "integrity": "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz", + "integrity": "sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.0.tgz", + "integrity": "sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==", + "dependencies": { + "@radix-ui/react-use-callback-ref": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz", + "integrity": "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-previous": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.1.0.tgz", + "integrity": "sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.1.0.tgz", + "integrity": "sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==", + "dependencies": { + "@radix-ui/rect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.1.0.tgz", + "integrity": "sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==", + "dependencies": { + "@radix-ui/react-use-layout-effect": "1.1.0" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-visually-hidden": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.0.tgz", + "integrity": "sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ==", + "dependencies": { + "@radix-ui/react-primitive": "2.0.0" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.1.0.tgz", + "integrity": "sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==" + }, + "node_modules/@remix-run/router": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.17.0.tgz", + "integrity": "sha512-2D6XaHEVvkCn682XBnipbJjgZUU7xjLtA4dGJRBVUKpEaDYOZMENZoZjAOSb7qirxt5RupjzZxz4fK2FO+EFPw==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "@types/babel__core": "^7.1.9", + "rollup": "^1.20.0||^2.0.0" + }, + "peerDependenciesMeta": { + "@types/babel__core": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", + "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve/node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true + }, + "node_modules/@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "rollup": "^1.20.0 || ^2.0.0" + } + }, + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", + "dev": true, + "dependencies": { + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "dev": true, + "dependencies": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "engines": { + "node": ">= 8.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0" + } + }, + "node_modules/@rollup/pluginutils/node_modules/@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", + "dev": true + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.3.tgz", + "integrity": "sha512-MmKSfaB9GX+zXl6E8z4koOr/xU63AMVleLEa64v7R0QF/ZloMs5vcD1sHgM64GXXS1csaJutG+ddtzcueI/BLg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.3.tgz", + "integrity": "sha512-zrt8ecH07PE3sB4jPOggweBjJMzI1JG5xI2DIsUbkA+7K+Gkjys6eV7i9pOenNSDJH3eOr/jLb/PzqtmdwDq5g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.3.tgz", + "integrity": "sha512-P0UxIOrKNBFTQaXTxOH4RxuEBVCgEA5UTNV6Yz7z9QHnUJ7eLX9reOd/NYMO3+XZO2cco19mXTxDMXxit4R/eQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.3.tgz", + "integrity": "sha512-L1M0vKGO5ASKntqtsFEjTq/fD91vAqnzeaF6sfNAy55aD+Hi2pBI5DKwCO+UNDQHWsDViJLqshxOahXyLSh3EA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.3.tgz", + "integrity": "sha512-btVgIsCjuYFKUjopPoWiDqmoUXQDiW2A4C3Mtmp5vACm7/GnyuprqIDPNczeyR5W8rTXEbkmrJux7cJmD99D2g==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.3.tgz", + "integrity": "sha512-zmjbSphplZlau6ZTkxd3+NMtE4UKVy7U4aVFMmHcgO5CUbw17ZP6QCgyxhzGaU/wFFdTfiojjbLG3/0p9HhAqA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.3.tgz", + "integrity": "sha512-nSZfcZtAnQPRZmUkUQwZq2OjQciR6tEoJaZVFvLHsj0MF6QhNMg0fQ6mUOsiCUpTqxTx0/O6gX0V/nYc7LrgPw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.3.tgz", + "integrity": "sha512-MnvSPGO8KJXIMGlQDYfvYS3IosFN2rKsvxRpPO2l2cum+Z3exiExLwVU+GExL96pn8IP+GdH8Tz70EpBhO0sIQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.3.tgz", + "integrity": "sha512-+W+p/9QNDr2vE2AXU0qIy0qQE75E8RTwTwgqS2G5CRQ11vzq0tbnfBd6brWhS9bCRjAjepJe2fvvkvS3dno+iw==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.3.tgz", + "integrity": "sha512-yXH6K6KfqGXaxHrtr+Uoy+JpNlUlI46BKVyonGiaD74ravdnF9BUNC+vV+SIuB96hUMGShhKV693rF9QDfO6nQ==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.3.tgz", + "integrity": "sha512-R8cwY9wcnApN/KDYWTH4gV/ypvy9yZUHlbJvfaiXSB48JO3KpwSpjOGqO4jnGkLDSk1hgjYkTbTt6Q7uvPf8eg==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.3.tgz", + "integrity": "sha512-kZPbX/NOPh0vhS5sI+dR8L1bU2cSO9FgxwM8r7wHzGydzfSjLRCFAT87GR5U9scj2rhzN3JPYVC7NoBbl4FZ0g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.3.tgz", + "integrity": "sha512-S0Yq+xA1VEH66uiMNhijsWAafffydd2X5b77eLHfRmfLsRSpbiAWiRHV6DEpz6aOToPsgid7TI9rGd6zB1rhbg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.3.tgz", + "integrity": "sha512-9isNzeL34yquCPyerog+IMCNxKR8XYmGd0tHSV+OVx0TmE0aJOo9uw4fZfUuk2qxobP5sug6vNdZR6u7Mw7Q+Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.3.tgz", + "integrity": "sha512-nMIdKnfZfzn1Vsk+RuOvl43ONTZXoAPUUxgcU0tXooqg4YrAqzfKzVenqqk2g5efWh46/D28cKFrOzDSW28gTA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.3.tgz", + "integrity": "sha512-fOvu7PCQjAj4eWDEuD8Xz5gpzFqXzGlxHZozHP4b9Jxv9APtdxL6STqztDzMLuRXEc4UpXGGhx029Xgm91QBeA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@scure/base": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@scure/base/-/base-1.1.8.tgz", + "integrity": "sha512-6CyAclxj3Nb0XT7GHK6K4zK6k2xJm6E4Ft0Ohjt4WgegiFUHEtFb2CGzmPmGBwoIhrLsqNLYfLr04Y1GePrzZg==", + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/@sec-ant/readable-stream": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@sec-ant/readable-stream/-/readable-stream-0.4.1.tgz", + "integrity": "sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==", + "license": "MIT" + }, + "node_modules/@shikijs/core": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-1.10.0.tgz", + "integrity": "sha512-BZcr6FCmPfP6TXaekvujZcnkFmJHZ/Yglu97r/9VjzVndQA56/F4WjUKtJRQUnK59Wi7p/UTAOekMfCJv7jnYg==" + }, + "node_modules/@shikijs/monaco": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/@shikijs/monaco/-/monaco-1.10.0.tgz", + "integrity": "sha512-fEnfzRDNr12fHqCxv6sjYyK8hKQPf3w1j9XHXZihuEvEXIIPM2ZdBjZg1+xN0LW1Bcmu1im84C/tgekQW1bFeQ==", + "dependencies": { + "@shikijs/core": "1.10.0" + } + }, + "node_modules/@sindresorhus/merge-streams": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-4.0.0.tgz", + "integrity": "sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@stylistic/eslint-plugin": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin/-/eslint-plugin-2.8.0.tgz", + "integrity": "sha512-Ufvk7hP+bf+pD35R/QfunF793XlSRIC7USr3/EdgduK9j13i2JjmsM0LUz3/foS+jDYp2fzyWZA9N44CPur0Ow==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/utils": "^8.4.0", + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.1.0", + "estraverse": "^5.3.0", + "picomatch": "^4.0.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "node_modules/@stylistic/eslint-plugin-jsx": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/@stylistic/eslint-plugin-jsx/-/eslint-plugin-jsx-2.8.0.tgz", + "integrity": "sha512-fDeTX2Z9VtOBMpmTrbnc9vqvUyr3CnN6NfHHcu7JRVxamxyHwQ9fRX9FhlGNNlQRLeoQrLuNXTFCwBbJd4HJ1g==", + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^4.0.0", + "espree": "^10.1.0", + "estraverse": "^5.3.0", + "picomatch": "^4.0.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "eslint": ">=8.40.0" + } + }, + "node_modules/@stylistic/eslint-plugin-jsx/node_modules/eslint-visitor-keys": { + "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==", + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@stylistic/eslint-plugin-jsx/node_modules/espree": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", + "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.12.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@stylistic/eslint-plugin-jsx/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/scope-manager": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.7.0.tgz", + "integrity": "sha512-87rC0k3ZlDOuz82zzXRtQ7Akv3GKhHs0ti4YcbAJtaomllXoSO8hi7Ix3ccEvCd824dy9aIX+j3d2UMAfCtVpg==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.7.0", + "@typescript-eslint/visitor-keys": "8.7.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/types": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.7.0.tgz", + "integrity": "sha512-LLt4BLHFwSfASHSF2K29SZ+ZCsbQOM+LuarPjRUuHm+Qd09hSe3GCeaQbcCr+Mik+0QFRmep/FyZBO6fJ64U3w==", + "license": "MIT", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.7.0.tgz", + "integrity": "sha512-MC8nmcGHsmfAKxwnluTQpNqceniT8SteVwd2voYlmiSWGOtjvGXdPl17dYu2797GVscK30Z04WRM28CrKS9WOg==", + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "8.7.0", + "@typescript-eslint/visitor-keys": "8.7.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/utils": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.7.0.tgz", + "integrity": "sha512-ZbdUdwsl2X/s3CiyAu3gOlfQzpbuG3nTWKPoIvAu1pu5r8viiJvv2NPN2AqArL35NCYtw/lrPPfM4gxrMLNLPw==", + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.7.0", + "@typescript-eslint/types": "8.7.0", + "@typescript-eslint/typescript-estree": "8.7.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.7.0.tgz", + "integrity": "sha512-b1tx0orFCCh/THWPQa2ZwWzvOeyzzp36vkJYOpVg0u8UVOIsfVrnuC9FqAw9gRKn+rG2VmWQ/zDJZzkxUnj/XQ==", + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.7.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@stylistic/eslint-plugin/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==", + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/eslint-visitor-keys": { + "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==", + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/espree": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.1.0.tgz", + "integrity": "sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==", + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.12.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.0.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@stylistic/eslint-plugin/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/@substrate/ss58-registry": { + "version": "1.50.0", + "resolved": "https://registry.npmjs.org/@substrate/ss58-registry/-/ss58-registry-1.50.0.tgz", + "integrity": "sha512-mkmlMlcC+MSd9rA+PN8ljGAm5fVZskvVwkXIsbx4NFwaT8kt38r7e9cyDWscG3z2Zn40POviZvEMrJSk+r2SgQ==" + }, + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "dev": true, + "dependencies": { + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" + } + }, + "node_modules/@surma/rollup-plugin-off-main-thread/node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@swc/core": { + "version": "1.7.26", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.7.26.tgz", + "integrity": "sha512-f5uYFf+TmMQyYIoxkn/evWhNGuUzC730dFwAKGwBVHHVoPyak1/GvJUm6i1SKl+2Hrj9oN0i3WSoWWZ4pgI8lw==", + "hasInstallScript": true, + "dependencies": { + "@swc/counter": "^0.1.3", + "@swc/types": "^0.1.12" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.7.26", + "@swc/core-darwin-x64": "1.7.26", + "@swc/core-linux-arm-gnueabihf": "1.7.26", + "@swc/core-linux-arm64-gnu": "1.7.26", + "@swc/core-linux-arm64-musl": "1.7.26", + "@swc/core-linux-x64-gnu": "1.7.26", + "@swc/core-linux-x64-musl": "1.7.26", + "@swc/core-win32-arm64-msvc": "1.7.26", + "@swc/core-win32-ia32-msvc": "1.7.26", + "@swc/core-win32-x64-msvc": "1.7.26" + }, + "peerDependencies": { + "@swc/helpers": "*" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.7.26", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.26.tgz", + "integrity": "sha512-FF3CRYTg6a7ZVW4yT9mesxoVVZTrcSWtmZhxKCYJX9brH4CS/7PRPjAKNk6kzWgWuRoglP7hkjQcd6EpMcZEAw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.7.26", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.26.tgz", + "integrity": "sha512-az3cibZdsay2HNKmc4bjf62QVukuiMRh5sfM5kHR/JMTrLyS6vSw7Ihs3UTkZjUxkLTT8ro54LI6sV6sUQUbLQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.7.26", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.26.tgz", + "integrity": "sha512-VYPFVJDO5zT5U3RpCdHE5v1gz4mmR8BfHecUZTmD2v1JeFY6fv9KArJUpjrHEEsjK/ucXkQFmJ0jaiWXmpOV9Q==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.7.26", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.26.tgz", + "integrity": "sha512-YKevOV7abpjcAzXrhsl+W48Z9mZvgoVs2eP5nY+uoMAdP2b3GxC0Df1Co0I90o2lkzO4jYBpTMcZlmUXLdXn+Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.7.26", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.26.tgz", + "integrity": "sha512-3w8iZICMkQQON0uIcvz7+Q1MPOW6hJ4O5ETjA0LSP/tuKqx30hIniCGOgPDnv3UTMruLUnQbtBwVCZTBKR3Rkg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.7.26", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.26.tgz", + "integrity": "sha512-c+pp9Zkk2lqb06bNGkR2Looxrs7FtGDMA4/aHjZcCqATgp348hOKH5WPvNLBl+yPrISuWjbKDVn3NgAvfvpH4w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.7.26", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.26.tgz", + "integrity": "sha512-PgtyfHBF6xG87dUSSdTJHwZ3/8vWZfNIXQV2GlwEpslrOkGqy+WaiiyE7Of7z9AvDILfBBBcJvJ/r8u980wAfQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.7.26", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.26.tgz", + "integrity": "sha512-9TNXPIJqFynlAOrRD6tUQjMq7KApSklK3R/tXgIxc7Qx+lWu8hlDQ/kVPLpU7PWvMMwC/3hKBW+p5f+Tms1hmA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.7.26", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.26.tgz", + "integrity": "sha512-9YngxNcG3177GYdsTum4V98Re+TlCeJEP4kEwEg9EagT5s3YejYdKwVAkAsJszzkXuyRDdnHUpYbTrPG6FiXrQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.7.26", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.26.tgz", + "integrity": "sha512-VR+hzg9XqucgLjXxA13MtV5O3C0bK0ywtLIBw/+a+O+Oc6mxFWHtdUeXDbIi5AiPbn0fjgVJMqYnyjGyyX8u0w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==" + }, + "node_modules/@swc/types": { + "version": "0.1.12", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.12.tgz", + "integrity": "sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==", + "dependencies": { + "@swc/counter": "^0.1.3" + } + }, + "node_modules/@tanstack/react-table": { + "version": "8.20.5", + "resolved": "https://registry.npmjs.org/@tanstack/react-table/-/react-table-8.20.5.tgz", + "integrity": "sha512-WEHopKw3znbUZ61s9i0+i9g8drmDo6asTWbrQh8Us63DAk/M0FkmIqERew6P71HI75ksZ2Pxyuf4vvKh9rAkiA==", + "license": "MIT", + "dependencies": { + "@tanstack/table-core": "8.20.5" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/@tanstack/react-virtual": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.8.2.tgz", + "integrity": "sha512-g78+DA29K0ByAfDkuibfLQqDshf8Aha/zcyEZ+huAX/yS/TWj/CUiEY4IJfDrFacdxIFmsLm0u4VtsLSKTngRw==", + "dependencies": { + "@tanstack/virtual-core": "3.8.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@tanstack/table-core": { + "version": "8.20.5", + "resolved": "https://registry.npmjs.org/@tanstack/table-core/-/table-core-8.20.5.tgz", + "integrity": "sha512-P9dF7XbibHph2PFRz8gfBKEXEY/HJPOhym8CHmjF8y3q5mWpKx9xtZapXQUWCgkqvsK0R46Azuz+VaxD4Xl+Tg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/virtual-core": { + "version": "3.8.2", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.8.2.tgz", + "integrity": "sha512-ffpN6kTaPGwQPoWMcBAHbdv2ZCpj1SugldoYAcY0C4xH+Pej1KCOEUisNeEgbUnXOp8Y/4q6wGPu2tFHthOIQw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.11.tgz", + "integrity": "sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + }, + "node_modules/@types/bn.js": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/@types/bn.js/-/bn.js-5.1.5.tgz", + "integrity": "sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/file-saver": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/file-saver/-/file-saver-2.0.7.tgz", + "integrity": "sha512-dNKVfHd/jk0SkR/exKGj2ggkB45MAkzvWCaqLUUgkyjITkGNzH8H+yUwr+BLJUBjZOe9w8X3wgmXhZDRg1ED6A==", + "dev": true + }, + "node_modules/@types/history": { + "version": "4.7.11", + "resolved": "https://registry.npmjs.org/@types/history/-/history-4.7.11.tgz", + "integrity": "sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==", + "dev": true + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "22.5.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.4.tgz", + "integrity": "sha512-FDuKUJQm/ju9fT/SeX/6+gBzoPzlVCzfzmGkwKvRHQVxi4BntVbyIwf6a4Xn62mrvndLiml6z/UBXIdEVjQLXg==", + "dependencies": { + "undici-types": "~6.19.2" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "license": "MIT" + }, + "node_modules/@types/pako": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/pako/-/pako-2.0.3.tgz", + "integrity": "sha512-bq0hMV9opAcrmE0Byyo0fY3Ew4tgOevJmQ9grUhpXQhYfyLJ1Kqg3P33JT5fdbT2AjeAjR51zqqVjAL/HMkx7Q==", + "dev": true + }, + "node_modules/@types/prismjs": { + "version": "1.26.4", + "resolved": "https://registry.npmjs.org/@types/prismjs/-/prismjs-1.26.4.tgz", + "integrity": "sha512-rlAnzkW2sZOjbqZ743IHUhFcvzaGbqijwOu8QZnZCjfQzBqFE3s4lOTJEsxikImav9uzz/42I+O7YUs1mWgMlg==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.3.0", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.0.tgz", + "integrity": "sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-router": { + "version": "5.1.20", + "resolved": "https://registry.npmjs.org/@types/react-router/-/react-router-5.1.20.tgz", + "integrity": "sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==", + "dev": true, + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*" + } + }, + "node_modules/@types/react-router-dom": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.3.3.tgz", + "integrity": "sha512-kpqnYK4wcdm5UaWI3fLcELopqLrHgLqNsdpHauzlQktfkHL3npOSwtj1Uz9oKBAzs7lFtVkV8j83voAz2D8fhw==", + "dev": true, + "dependencies": { + "@types/history": "^4.7.11", + "@types/react": "*", + "@types/react-router": "*" + } + }, + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true + }, + "node_modules/@types/stylis": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz", + "integrity": "sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==" + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.14.1.tgz", + "integrity": "sha512-aAJd6bIf2vvQRjUG3ZkNXkmBpN+J7Wd0mfQiiVCJMu9Z5GcZZdcc0j8XwN/BM97Fl7e3SkTXODSk4VehUv7CGw==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.14.1", + "@typescript-eslint/type-utils": "7.14.1", + "@typescript-eslint/utils": "7.14.1", + "@typescript-eslint/visitor-keys": "7.14.1", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.13.1.tgz", + "integrity": "sha512-1ELDPlnLvDQ5ybTSrMhRTFDfOQEOXNM+eP+3HT/Yq7ruWpciQw+Avi73pdEbA4SooCawEWo3dtYbF68gN7Ed1A==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "7.13.1", + "@typescript-eslint/types": "7.13.1", + "@typescript-eslint/typescript-estree": "7.13.1", + "@typescript-eslint/visitor-keys": "7.13.1", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.13.1.tgz", + "integrity": "sha512-adbXNVEs6GmbzaCpymHQ0MB6E4TqoiVbC0iqG3uijR8ZYfpAXMGttouQzF4Oat3P2GxDVIrg7bMI/P65LiQZdg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.13.1", + "@typescript-eslint/visitor-keys": "7.13.1" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.13.1.tgz", + "integrity": "sha512-k/Bfne7lrP7hcb7m9zSsgcBmo+8eicqqfNAJ7uUY+jkTFpKeH2FSkWpFRtimBxgkyvqfu9jTPRbYOvud6isdXA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.13.1", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.14.1.tgz", + "integrity": "sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.14.1", + "@typescript-eslint/visitor-keys": "7.14.1" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/types": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.14.1.tgz", + "integrity": "sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.14.1.tgz", + "integrity": "sha512-/MzmgNd3nnbDbOi3LfasXWWe292+iuo+umJ0bCCMCPc1jLO/z2BQmWUUUXvXLbrQey/JgzdF/OV+I5bzEGwJkQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "7.14.1", + "@typescript-eslint/utils": "7.14.1", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.14.1.tgz", + "integrity": "sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.14.1.tgz", + "integrity": "sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.14.1", + "@typescript-eslint/visitor-keys": "7.14.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.13.1.tgz", + "integrity": "sha512-7K7HMcSQIAND6RBL4kDl24sG/xKM13cA85dc7JnmQXw2cBDngg7c19B++JzvJHRG3zG36n9j1i451GBzRuHchw==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.13.1.tgz", + "integrity": "sha512-uxNr51CMV7npU1BxZzYjoVz9iyjckBduFBP0S5sLlh1tXYzHzgZ3BR9SVsNed+LmwKrmnqN3Kdl5t7eZ5TS1Yw==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.13.1", + "@typescript-eslint/visitor-keys": "7.13.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys": { + "version": "7.13.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.13.1.tgz", + "integrity": "sha512-k/Bfne7lrP7hcb7m9zSsgcBmo+8eicqqfNAJ7uUY+jkTFpKeH2FSkWpFRtimBxgkyvqfu9jTPRbYOvud6isdXA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.13.1", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.14.1.tgz", + "integrity": "sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "7.14.1", + "@typescript-eslint/types": "7.14.1", + "@typescript-eslint/typescript-estree": "7.14.1" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.56.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.14.1.tgz", + "integrity": "sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.14.1.tgz", + "integrity": "sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.14.1", + "@typescript-eslint/visitor-keys": "7.14.1", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.14.1.tgz", + "integrity": "sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "7.14.1", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/@typescript-eslint/types": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.14.1.tgz", + "integrity": "sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==", + "dev": true, + "engines": { + "node": "^18.18.0 || >=20.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript/ata": { + "version": "0.9.6", + "resolved": "https://registry.npmjs.org/@typescript/ata/-/ata-0.9.6.tgz", + "integrity": "sha512-Kj3dmkIRAZ4YRp4hMgEYQ3PghSRO13oUtmhesun5AC9YT/EzZtLbvXBPiqu5clHEHE/chJ2lc3KUsZY1zwMqPg==", + "peerDependencies": { + "typescript": ">=4.4.4" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vitejs/plugin-react-swc": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.7.0.tgz", + "integrity": "sha512-yrknSb3Dci6svCd/qhHqhFPDSw0QtjumcqdKMoNNzmOl5lMXTTiqzjWtG4Qask2HdvvzaNgSunbQGet8/GrKdA==", + "dependencies": { + "@swc/core": "^1.5.7" + }, + "peerDependencies": { + "vite": "^4 || ^5" + } + }, + "node_modules/acorn": { + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.4", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz", + "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==", + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-escapes": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "dev": true, + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "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 + }, + "node_modules/aria-hidden": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", + "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", + "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "is-array-buffer": "^3.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-includes": { + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.findlast": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", + "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.findlastindex": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.5.tgz", + "integrity": "sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.toreversed": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", + "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" + } + }, + "node_modules/array.prototype.tosorted": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/arraybuffer.prototype.slice": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", + "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.3", + "es-errors": "^1.2.1", + "get-intrinsic": "^1.2.3", + "is-array-buffer": "^3.0.4", + "is-shared-array-buffer": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "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/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.19", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", + "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "browserslist": "^4.23.0", + "caniuse-lite": "^1.0.30001599", + "fraction.js": "^4.3.7", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/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, + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.2.tgz", + "integrity": "sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==", + "dependencies": { + "follow-redirects": "^1.15.6", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.6.2", + "semver": "^6.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.10.6", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz", + "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2", + "core-js-compat": "^3.38.0" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.6.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "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==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/bundle-require": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-5.0.0.tgz", + "integrity": "sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==", + "license": "MIT", + "dependencies": { + "load-tsconfig": "^0.2.3" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "peerDependencies": { + "esbuild": ">=0.18" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001660", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz", + "integrity": "sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/canvas-renderer": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/canvas-renderer/-/canvas-renderer-2.2.1.tgz", + "integrity": "sha512-RrBgVL5qCEDIXpJ6NrzyRNoTnXxYarqm/cS/W6ERhUJts5UQtt/XPEosGN3rqUkZ4fjBArlnCbsISJ+KCFnIAg==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "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, + "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/cheerio": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0.tgz", + "integrity": "sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "cheerio-select": "^2.1.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "encoding-sniffer": "^0.2.0", + "htmlparser2": "^9.1.0", + "parse5": "^7.1.2", + "parse5-htmlparser2-tree-adapter": "^7.0.0", + "parse5-parser-stream": "^7.1.2", + "undici": "^6.19.5", + "whatwg-mimetype": "^4.0.0" + }, + "engines": { + "node": ">=18.17" + }, + "funding": { + "url": "https://github.com/cheeriojs/cheerio?sponsor=1" + } + }, + "node_modules/cheerio-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz", + "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-select": "^5.1.0", + "css-what": "^6.1.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/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==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/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==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "node_modules/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==", + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "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==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "engines": { + "node": ">=18" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "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 + }, + "node_modules/consola": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "license": "MIT", + "engines": { + "node": "^14.18.0 || >=16.10.0" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "license": "MIT", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, + "node_modules/core-js-compat": { + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", + "dev": true, + "dependencies": { + "browserslist": "^4.23.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/css-select": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", + "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/date-fns": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-3.6.0.tgz", + "integrity": "sha512-fRHTG8g/Gif+kSh50gaGEdToemgfj74aRX3swtiouboip5JDLAyDE9F11nHMIcvOaXeOC6D7SpNhi7uFyB7Uww==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "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 + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/deepmerge-ts": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/deepmerge-ts/-/deepmerge-ts-7.1.3.tgz", + "integrity": "sha512-qCSH6I0INPxd9Y1VtAiLpnYvz5O//6rCfJXKk0z66Up9/VOSr+1yS8XSKA5IWRxjocFGlzPyaZYe+jxq7OOLtQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=16.0.0" + } + }, + "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, + "dependencies": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", + "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/detect-indent": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-7.0.1.tgz", + "integrity": "sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==", + "license": "MIT", + "engines": { + "node": ">=12.20" + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.1" + } + }, + "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, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", + "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==" + }, + "node_modules/ejs": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", + "dev": true, + "dependencies": { + "jake": "^10.8.5" + }, + "bin": { + "ejs": "bin/cli.js" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.22", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.22.tgz", + "integrity": "sha512-tKYm5YHPU1djz0O+CGJ+oJIvimtsCcwR2Z9w7Skh08lUdyzXY5djods3q+z2JkWdb7tCcmM//eVavSRAiaPRNg==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==" + }, + "node_modules/encoding-sniffer": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.0.tgz", + "integrity": "sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "^0.6.3", + "whatwg-encoding": "^3.1.1" + }, + "funding": { + "url": "https://github.com/fb55/encoding-sniffer?sponsor=1" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz", + "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/es-abstract": { + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.1", + "arraybuffer.prototype.slice": "^1.0.3", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "es-set-tostringtag": "^2.0.3", + "es-to-primitive": "^1.2.1", + "function.prototype.name": "^1.1.6", + "get-intrinsic": "^1.2.4", + "get-symbol-description": "^1.0.2", + "globalthis": "^1.0.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2", + "has-proto": "^1.0.3", + "has-symbols": "^1.0.3", + "hasown": "^2.0.2", + "internal-slot": "^1.0.7", + "is-array-buffer": "^3.0.4", + "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", + "is-negative-zero": "^2.0.3", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.3", + "is-string": "^1.0.7", + "is-typed-array": "^1.1.13", + "is-weakref": "^1.0.2", + "object-inspect": "^1.13.1", + "object-keys": "^1.1.1", + "object.assign": "^4.1.5", + "regexp.prototype.flags": "^1.5.2", + "safe-array-concat": "^1.1.2", + "safe-regex-test": "^1.0.3", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", + "typed-array-buffer": "^1.0.2", + "typed-array-byte-length": "^1.0.1", + "typed-array-byte-offset": "^1.0.2", + "typed-array-length": "^1.0.6", + "unbox-primitive": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-iterator-helpers": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", + "es-set-tostringtag": "^2.0.3", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "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.2", + "safe-array-concat": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", + "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.4", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/esbuild": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", + "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.23.1", + "@esbuild/android-arm": "0.23.1", + "@esbuild/android-arm64": "0.23.1", + "@esbuild/android-x64": "0.23.1", + "@esbuild/darwin-arm64": "0.23.1", + "@esbuild/darwin-x64": "0.23.1", + "@esbuild/freebsd-arm64": "0.23.1", + "@esbuild/freebsd-x64": "0.23.1", + "@esbuild/linux-arm": "0.23.1", + "@esbuild/linux-arm64": "0.23.1", + "@esbuild/linux-ia32": "0.23.1", + "@esbuild/linux-loong64": "0.23.1", + "@esbuild/linux-mips64el": "0.23.1", + "@esbuild/linux-ppc64": "0.23.1", + "@esbuild/linux-riscv64": "0.23.1", + "@esbuild/linux-s390x": "0.23.1", + "@esbuild/linux-x64": "0.23.1", + "@esbuild/netbsd-x64": "0.23.1", + "@esbuild/openbsd-arm64": "0.23.1", + "@esbuild/openbsd-x64": "0.23.1", + "@esbuild/sunos-x64": "0.23.1", + "@esbuild/win32-arm64": "0.23.1", + "@esbuild/win32-ia32": "0.23.1", + "@esbuild/win32-x64": "0.23.1" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "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", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "dev": true, + "dependencies": { + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.6.1.tgz", + "integrity": "sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "enhanced-resolve": "^5.12.0", + "eslint-module-utils": "^2.7.4", + "fast-glob": "^3.3.1", + "get-tsconfig": "^4.5.0", + "is-core-module": "^2.11.0", + "is-glob": "^4.0.3" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts/projects/eslint-import-resolver-ts" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.0.tgz", + "integrity": "sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ==", + "dev": true, + "dependencies": { + "debug": "^3.2.7" + }, + "engines": { + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-filenames": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-filenames/-/eslint-plugin-filenames-1.3.2.tgz", + "integrity": "sha512-tqxJTiEM5a0JmRCUYQmxw23vtTxrb2+a3Q2mMOPhFxvt7ZQQJmdiuMby9B/vUAuVMghyP7oET+nIf6EO6CBd/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.camelcase": "4.3.0", + "lodash.kebabcase": "4.1.1", + "lodash.snakecase": "4.1.1", + "lodash.upperfirst": "4.3.1" + }, + "peerDependencies": { + "eslint": "*" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.1.tgz", + "integrity": "sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.15.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import-newlines": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import-newlines/-/eslint-plugin-import-newlines-1.4.0.tgz", + "integrity": "sha512-+Cz1x2xBLtI9gJbmuYEpvY7F8K75wskBmJ7rk4VRObIJo+jklUJaejFJgtnWeL0dCFWabGEkhausrikXaNbtoQ==", + "dev": true, + "bin": { + "import-linter": "lib/index.js" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-import/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, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-prefer-arrow": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz", + "integrity": "sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ==", + "dev": true, + "peerDependencies": { + "eslint": ">=2.0.0" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.34.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.3.tgz", + "integrity": "sha512-aoW4MV891jkUulwDApQbPYTVZmeuSyFrudpbTAQuj5Fv8VL+o6df2xIGpw8B0hPjAaih1/Fb0om9grCdyFYemA==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.toreversed": "^1.1.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.19", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.hasown": "^1.1.4", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz", + "integrity": "sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.7.tgz", + "integrity": "sha512-yrj+KInFmwuQS2UQcg1SF83ha1tuHC1jMQbRNyuWtlEzzKRDgAl7L4Yp4NlDUZTZNlWvHEzOtJhMi40R7JxcSw==", + "dev": true, + "peerDependencies": { + "eslint": ">=7" + } + }, + "node_modules/eslint-plugin-react/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/eslint-plugin-react/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, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-tailwindcss": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-tailwindcss/-/eslint-plugin-tailwindcss-3.17.4.tgz", + "integrity": "sha512-gJAEHmCq2XFfUP/+vwEfEJ9igrPeZFg+skeMtsxquSQdxba9XRk5bn0Bp9jxG1VV9/wwPKi1g3ZjItu6MIjhNg==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.5", + "postcss": "^8.4.4" + }, + "engines": { + "node": ">=18.12.0" + }, + "peerDependencies": { + "tailwindcss": "^3.4.0" + } + }, + "node_modules/eslint-plugin-unused-imports": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-4.0.0.tgz", + "integrity": "sha512-mzM+y2B7XYpQryVa1usT+Y/BdNAtAZiXzwpSyDCboFoJN/LZRN67TNvQxKtuTK/Aplya3sLNQforiubzPPaIcQ==", + "dev": true, + "dependencies": { + "eslint-rule-composer": "^0.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "8", + "eslint": "9" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + } + } + }, + "node_modules/eslint-rule-composer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz", + "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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==", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.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, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", + "dev": true + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ethereum-blockies-base64": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/ethereum-blockies-base64/-/ethereum-blockies-base64-1.0.2.tgz", + "integrity": "sha512-Vg2HTm7slcWNKaRhCUl/L3b4KrB8ohQXdd5Pu3OI897EcR6tVRvUqdTwAyx+dnmoDzj8e2bwBLDQ50ByFmcz6w==", + "license": "MIT", + "dependencies": { + "pnglib": "0.0.1" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "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 + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "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 + }, + "node_modules/fast-uri": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz", + "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fdir": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.0.tgz", + "integrity": "sha512-3oB133prH1o4j/L5lLW7uOCF1PlD+/It2L0eL/iAqWMB91RBbqTewABqxhj0ibBd90EEmWZq7ntIWzVaWcXTGQ==", + "license": "MIT", + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/figures": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz", + "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==", + "license": "MIT", + "dependencies": { + "is-unicode-supported": "^2.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-saver": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/file-saver/-/file-saver-2.0.5.tgz", + "integrity": "sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA==" + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/firebase": { + "version": "10.14.0", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-10.14.0.tgz", + "integrity": "sha512-/yB/OE4bfBbmtfku0DCdW6nWMHYVayN6xWKw68ztedxqGevfYDoPoygBXiLmvBHdWdBa+IlhJDkdUUiEEpcAUw==", + "dependencies": { + "@firebase/analytics": "0.10.8", + "@firebase/analytics-compat": "0.2.14", + "@firebase/app": "0.10.12", + "@firebase/app-check": "0.8.8", + "@firebase/app-check-compat": "0.3.15", + "@firebase/app-compat": "0.2.42", + "@firebase/app-types": "0.9.2", + "@firebase/auth": "1.7.9", + "@firebase/auth-compat": "0.5.14", + "@firebase/data-connect": "0.1.0", + "@firebase/database": "1.0.8", + "@firebase/database-compat": "1.0.8", + "@firebase/firestore": "4.7.3", + "@firebase/firestore-compat": "0.3.38", + "@firebase/functions": "0.11.8", + "@firebase/functions-compat": "0.3.14", + "@firebase/installations": "0.6.9", + "@firebase/installations-compat": "0.2.9", + "@firebase/messaging": "0.12.11", + "@firebase/messaging-compat": "0.2.11", + "@firebase/performance": "0.6.9", + "@firebase/performance-compat": "0.2.9", + "@firebase/remote-config": "0.4.9", + "@firebase/remote-config-compat": "0.2.9", + "@firebase/storage": "0.13.2", + "@firebase/storage-compat": "0.3.12", + "@firebase/util": "1.10.0", + "@firebase/vertexai-preview": "0.0.4" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.9", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", + "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fraction.js": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", + "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" + } + }, + "node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/fs.promises.exists": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/fs.promises.exists/-/fs.promises.exists-1.1.4.tgz", + "integrity": "sha512-lJzUGWbZn8vhGWBedA+RYjB/BeJ+3458ljUfmplqhIeb6ewzTFWNPCR1HCiYCkXV9zxcHz9zXkJzMsEgDLzh3Q==", + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/fs.promises.exists?sponsor=1" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/function.prototype.name": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", + "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "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==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", + "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", + "dev": true + }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", + "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-tsconfig": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz", + "integrity": "sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==", + "dev": true, + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/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, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globalthis": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "node_modules/goober": { + "version": "2.1.14", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.14.tgz", + "integrity": "sha512-4UpC0NdGyAFqLNPnhCT2iHpza2q+RAY3GV85a/mRPdzyPQMsj0KmMMuetdIkzWRbJ+Hgau1EZztq8ImmiMGhsg==", + "peerDependencies": { + "csstype": "^3.0.10" + } + }, + "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/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", + "dev": true, + "dependencies": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-proto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", + "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", + "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, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.2.tgz", + "integrity": "sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==", + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/htmlparser2": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz", + "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==" + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/index-to-position": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/index-to-position/-/index-to-position-0.1.2.tgz", + "integrity": "sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", + "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", + "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "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==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz", + "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==", + "dev": true, + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-generator-function": { + "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, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", + "dev": true + }, + "node_modules/is-negative-zero": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", + "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-regexp/-/is-regexp-1.0.0.tgz", + "integrity": "sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-set": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", + "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "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, + "dependencies": { + "which-typed-array": "^1.1.14" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + }, + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jake": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.2.tgz", + "integrity": "sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==", + "dev": true, + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/jake/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, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/jdenticon": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jdenticon/-/jdenticon-3.2.0.tgz", + "integrity": "sha512-z6Iq3fTODUMSOiR2nNYrqigS6Y0GvdXfyQWrUby7htDHvX7GNEwaWR4hcaL+FmhEgBe08Xkup/BKxXQhDJByPA==", + "license": "MIT", + "dependencies": { + "canvas-renderer": "~2.2.0" + }, + "bin": { + "jdenticon": "bin/jdenticon.js" + }, + "engines": { + "node": ">=6.4.0" + } + }, + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", + "dev": true, + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/joycon": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "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 + }, + "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 + }, + "node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "dev": true, + "dependencies": { + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" + } + }, + "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, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/lint-staged": { + "version": "15.2.7", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.7.tgz", + "integrity": "sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw==", + "dev": true, + "dependencies": { + "chalk": "~5.3.0", + "commander": "~12.1.0", + "debug": "~4.3.4", + "execa": "~8.0.1", + "lilconfig": "~3.1.1", + "listr2": "~8.2.1", + "micromatch": "~4.0.7", + "pidtree": "~0.6.0", + "string-argv": "~0.3.2", + "yaml": "~2.4.2" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": ">=18.12.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/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, + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/listr2": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.4.tgz", + "integrity": "sha512-opevsywziHd3zHCVQGAj8zu+Z3yHNkkoYhWIGnq54RrCVwLz0MozotJEDnKsIBLvkfLGN6BLOyAeRrYI0pKA4g==", + "dev": true, + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/load-tsconfig": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/load-tsconfig/-/load-tsconfig-0.2.5.tgz", + "integrity": "sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==", + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==", + "license": "MIT" + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "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 + }, + "node_modules/lodash.snakecase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz", + "integrity": "sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "node_modules/lodash.upperfirst": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz", + "integrity": "sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/log-update/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/long": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz", + "integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q==" + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==" + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/monaco-editor": { + "version": "0.50.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.50.0.tgz", + "integrity": "sha512-8CclLCmrRRh+sul7C08BmPBP3P8wVWfBHomsTcndxg5NRCEPfu/mc2AGU8k37ajjDVXcXFc12ORAMUkmk+lkFA==" + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.7.tgz", + "integrity": "sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.js" + }, + "engines": { + "node": "^18 || >=20" + } + }, + "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 + }, + "node_modules/node-releases": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", + "dev": true + }, + "node_modules/normalize-package-data": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.2.tgz", + "integrity": "sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==", + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^7.0.0", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "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/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", + "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.5", + "define-properties": "^1.2.1", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.groupby": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", + "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.hasown": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", + "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", + "dev": true, + "dependencies": { + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ora": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.1.0.tgz", + "integrity": "sha512-GQEkNkH/GHOhPFXcqZs3IDahXEQcQxsSjEkK4KvEEST4t7eNzoMjxTzef+EZ+JluDEV+Raoi3WQ2CflnRdSVnQ==", + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^5.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.2", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", + "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==" + }, + "node_modules/pako": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz", + "integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-8.1.0.tgz", + "integrity": "sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.22.13", + "index-to-position": "^0.1.2", + "type-fest": "^4.7.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-json/node_modules/type-fest": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", + "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-ms": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", + "integrity": "sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.0.0.tgz", + "integrity": "sha512-B77tOZrqqfUfnVcOrUvfdLbz4pu4RopLD/4vmu3HUPswwTA8OH0EMW9BlWR2B0RCoiZRAHEUu7IxeP1Pd1UU+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "domhandler": "^5.0.2", + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-parser-stream": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz", + "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/picocolors": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz", + "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/pnglib": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/pnglib/-/pnglib-0.0.1.tgz", + "integrity": "sha512-95ChzOoYLOPIyVmL+Y6X+abKGXUJlvOVLkB1QQkyXl7Uczc6FElUy/x01NS7r2GX6GRezloO/ecCX9h4U9KadA==", + "license": "BSD" + }, + "node_modules/polkadot-api": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/polkadot-api/-/polkadot-api-1.4.1.tgz", + "integrity": "sha512-fG3r/bqFETZPc4/fBpHO6zhD3ksWcfdHfw/MfX7yW39SaP0RVEltStIShO8I4jvvAvOh3kZEts28xTBbRvFSBg==", + "license": "MIT", + "dependencies": { + "@polkadot-api/cli": "0.9.5", + "@polkadot-api/json-rpc-provider": "0.0.4", + "@polkadot-api/known-chains": "0.5.4", + "@polkadot-api/logs-provider": "0.0.6", + "@polkadot-api/metadata-builders": "0.8.1", + "@polkadot-api/metadata-compatibility": "0.1.8", + "@polkadot-api/observable-client": "0.5.8", + "@polkadot-api/pjs-signer": "0.4.4", + "@polkadot-api/polkadot-sdk-compat": "2.2.2", + "@polkadot-api/polkadot-signer": "0.1.6", + "@polkadot-api/signer": "0.1.7", + "@polkadot-api/sm-provider": "0.1.3", + "@polkadot-api/smoldot": "0.3.3", + "@polkadot-api/substrate-bindings": "0.9.1", + "@polkadot-api/substrate-client": "0.2.2", + "@polkadot-api/utils": "0.1.2", + "@polkadot-api/ws-provider": "0.3.1" + }, + "bin": { + "papi": "bin/cli.mjs", + "polkadot-api": "bin/cli.mjs" + }, + "peerDependencies": { + "rxjs": ">=7.8.0" + } + }, + "node_modules/polkadot-api/node_modules/@polkadot-api/metadata-builders": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/metadata-builders/-/metadata-builders-0.8.1.tgz", + "integrity": "sha512-LFBDJHRK1NsorocgZ35YSbQl1YWJUZx810bXODsUjiPktYILuMH5ayE3wFLus6zCYf6lsVonyha7aPg9Iokfug==", + "license": "MIT", + "dependencies": { + "@polkadot-api/substrate-bindings": "0.9.1", + "@polkadot-api/utils": "0.1.2" + } + }, + "node_modules/polkadot-api/node_modules/@polkadot-api/substrate-bindings": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@polkadot-api/substrate-bindings/-/substrate-bindings-0.9.1.tgz", + "integrity": "sha512-w53luQgfArKypETRHz4y3PSuuLh0pq7hOzqfmTQ5rWgH0R0BgZ+mnMVKphG9XujPskcXpaKzeHxpsB6MsVkeqg==", + "license": "MIT", + "dependencies": { + "@noble/hashes": "^1.4.0", + "@polkadot-api/utils": "0.1.2", + "@scure/base": "^1.1.7", + "scale-ts": "^1.6.0" + } + }, + "node_modules/polkadot-api/node_modules/@polkadot-api/utils": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@polkadot-api/utils/-/utils-0.1.2.tgz", + "integrity": "sha512-yhs5k2a8N1SBJcz7EthZoazzLQUkZxbf+0271Xzu42C5AEM9K9uFLbsB+ojzHEM72O5X8lPtSwGKNmS7WQyDyg==", + "license": "MIT" + }, + "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, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.4.45", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.45.tgz", + "integrity": "sha512-7KTLTdzdZZYscUc65XmjFiB73vBhBfbPztCYdUNvlaso9PrzjzcmjqBPR0lNGkcVlcO4BjiO5rK/qNz+XAen1Q==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.1", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" + }, + "engines": { + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==" + }, + "node_modules/postcss/node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", + "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-bytes": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.1.1.tgz", + "integrity": "sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==", + "dev": true, + "engines": { + "node": "^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/pretty-ms": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.1.0.tgz", + "integrity": "sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==", + "license": "MIT", + "dependencies": { + "parse-ms": "^4.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/prism-themes": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/prism-themes/-/prism-themes-1.9.0.tgz", + "integrity": "sha512-tX2AYsehKDw1EORwBps+WhBFKc2kxfoFpQAjxBndbZKr4fRmMkv47XN0BghC/K1qwodB1otbe4oF23vUTFDokw==" + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/protobufjs": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.4.0.tgz", + "integrity": "sha512-mRUWCc3KUU4w1jU8sGxICXH/gNS94DvI1gxqDvBzhj1JpcsimQkYiOJfwsPUykUI5ZaspFbSgmBLER8IrQ3tqw==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.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==" + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/react": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-copy-to-clipboard": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz", + "integrity": "sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==", + "license": "MIT", + "dependencies": { + "copy-to-clipboard": "^3.3.1", + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "react": "^15.3.0 || 16 || 17 || 18" + } + }, + "node_modules/react-dom": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.2" + }, + "peerDependencies": { + "react": "^18.3.1" + } + }, + "node_modules/react-fast-compare": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-3.2.2.tgz", + "integrity": "sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==" + }, + "node_modules/react-helmet-async": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/react-helmet-async/-/react-helmet-async-2.0.5.tgz", + "integrity": "sha512-rYUYHeus+i27MvFE+Jaa4WsyBKGkL6qVgbJvSBoX8mbsWoABJXdEO0bZyi0F6i+4f0NuIb8AvqPMj3iXFHkMwg==", + "dependencies": { + "invariant": "^2.2.4", + "react-fast-compare": "^3.2.2", + "shallowequal": "^1.1.0" + }, + "peerDependencies": { + "react": "^16.6.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-hot-toast": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.4.1.tgz", + "integrity": "sha512-j8z+cQbWIM5LY37pR6uZR6D4LfseplqnuAO4co4u8917hBUvXlEqyP1ZzqVLcqoyUesZZv/ImreoCeHVDpE5pQ==", + "dependencies": { + "goober": "^2.1.10" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/react-remove-scroll": { + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.7.tgz", + "integrity": "sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.4", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz", + "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-resizable-panels": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/react-resizable-panels/-/react-resizable-panels-2.0.19.tgz", + "integrity": "sha512-v3E41kfKSuCPIvJVb4nL4mIZjjKIn/gh6YqZF/gDfQDolv/8XnhJBek4EiV2gOr3hhc5A3kOGOayk3DhanpaQw==", + "peerDependencies": { + "react": "^16.14.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-router": { + "version": "6.24.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.24.0.tgz", + "integrity": "sha512-sQrgJ5bXk7vbcC4BxQxeNa5UmboFm35we1AFK0VvQaz9g0LzxEIuLOhHIoZ8rnu9BO21ishGeL9no1WB76W/eg==", + "dependencies": { + "@remix-run/router": "1.17.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.24.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.24.0.tgz", + "integrity": "sha512-960sKuau6/yEwS8e+NVEidYQb1hNjAYM327gjEyXlc6r3Skf2vtwuJ2l7lssdegD2YjoKG5l8MsVyeTDlVeY8g==", + "dependencies": { + "@remix-run/router": "1.17.0", + "react-router": "6.24.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react18-json-view": { + "version": "0.2.8", + "resolved": "https://registry.npmjs.org/react18-json-view/-/react18-json-view-0.2.8.tgz", + "integrity": "sha512-uJlcf5PEDaba6yTqfcDAcMSYECZ15SLcpP94mLFTa/+fa1kZANjERqKzS7YxxsrGP4+jDxt6sIaglR0PbQcKPw==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-pkg": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-9.0.1.tgz", + "integrity": "sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==", + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.3", + "normalize-package-data": "^6.0.0", + "parse-json": "^8.0.0", + "type-fest": "^4.6.0", + "unicorn-magic": "^0.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", + "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reflect.getprototypeof": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.6.tgz", + "integrity": "sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.1", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", + "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", + "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", + "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "define-properties": "^1.2.1", + "es-errors": "^1.3.0", + "set-function-name": "^2.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", + "dev": true, + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/restore-cursor/node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.3.tgz", + "integrity": "sha512-7sqRtBNnEbcBtMeRVc6VRsJMmpI+JU1z9VTvW8D4gXIYQFz0aLcsE6rRkyghZkLfEgUZgVvOG7A5CVz/VW5GIA==", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.21.3", + "@rollup/rollup-android-arm64": "4.21.3", + "@rollup/rollup-darwin-arm64": "4.21.3", + "@rollup/rollup-darwin-x64": "4.21.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.21.3", + "@rollup/rollup-linux-arm-musleabihf": "4.21.3", + "@rollup/rollup-linux-arm64-gnu": "4.21.3", + "@rollup/rollup-linux-arm64-musl": "4.21.3", + "@rollup/rollup-linux-powerpc64le-gnu": "4.21.3", + "@rollup/rollup-linux-riscv64-gnu": "4.21.3", + "@rollup/rollup-linux-s390x-gnu": "4.21.3", + "@rollup/rollup-linux-x64-gnu": "4.21.3", + "@rollup/rollup-linux-x64-musl": "4.21.3", + "@rollup/rollup-win32-arm64-msvc": "4.21.3", + "@rollup/rollup-win32-ia32-msvc": "4.21.3", + "@rollup/rollup-win32-x64-msvc": "4.21.3", + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-visualizer": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/rollup-plugin-visualizer/-/rollup-plugin-visualizer-5.12.0.tgz", + "integrity": "sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==", + "dev": true, + "dependencies": { + "open": "^8.4.0", + "picomatch": "^2.3.1", + "source-map": "^0.7.4", + "yargs": "^17.5.1" + }, + "bin": { + "rollup-plugin-visualizer": "dist/bin/cli.js" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "rollup": "2.x || 3.x || 4.x" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-array-concat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", + "has-symbols": "^1.0.3", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">=0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safe-array-concat/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safe-regex-test": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", + "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-regex": "^1.1.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/scale-ts": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/scale-ts/-/scale-ts-1.6.0.tgz", + "integrity": "sha512-Ja5VCjNZR8TGKhUumy9clVVxcDpM+YFjAnkMuwQy68Hixio3VRRvWdE3g8T/yC+HXA0ZDQl2TGyUmtmbcVl40Q==" + }, + "node_modules/scheduler": { + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-function-length": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", + "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", + "dev": true, + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "functions-have-names": "^1.2.3", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "engines": { + "node": ">=8" + } + }, + "node_modules/shiki": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-1.10.0.tgz", + "integrity": "sha512-YD2sXQ+TMD/F9BimV9Jn0wj35pqOvywvOG/3PB6hGHyGKlM7TJ9tyJ02jOb2kF8F0HfJwKNYrh3sW7jEcuRlXA==", + "dependencies": { + "@shikijs/core": "1.10.0" + } + }, + "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/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/slice-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/smob": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz", + "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==", + "dev": true + }, + "node_modules/smoldot": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/smoldot/-/smoldot-2.0.30.tgz", + "integrity": "sha512-5/KaEdIlTHg4+Hs8YovrCkwI+Y9QsKtoyWkHRqz15kXMZFsePf+KdMAPpDgReINK+at6t+D+uEVrCkd+r9JpyQ==", + "license": "GPL-3.0-or-later WITH Classpath-exception-2.0", + "dependencies": { + "ws": "^8.8.1" + } + }, + "node_modules/sort-keys": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-5.1.0.tgz", + "integrity": "sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ==", + "license": "MIT", + "dependencies": { + "is-plain-obj": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", + "license": "CC0-1.0" + }, + "node_modules/stdin-discarder": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/store": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/store/-/store-2.0.12.tgz", + "integrity": "sha512-eO9xlzDpXLiMr9W1nQ3Nfp9EzZieIQc10zPPMP5jsVV7bLOziSFFBP0XoDXACEIFtdI+rIz0NwWVA/QVJ8zJtw==", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trim": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/stringify-object/-/stringify-object-3.3.0.tgz", + "integrity": "sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==", + "dev": true, + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/styled-components": { + "version": "6.1.12", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.12.tgz", + "integrity": "sha512-n/O4PzRPhbYI0k1vKKayfti3C/IGcPf+DqcrOB7O/ab9x4u/zjqraneT5N45+sIe87cxrCApXM8Bna7NYxwoTA==", + "dependencies": { + "@emotion/is-prop-valid": "1.2.2", + "@emotion/unitless": "0.8.1", + "@types/stylis": "4.2.5", + "css-to-react-native": "3.2.0", + "csstype": "3.1.3", + "postcss": "8.4.38", + "shallowequal": "1.1.0", + "stylis": "4.3.2", + "tslib": "2.6.2" + }, + "engines": { + "node": ">= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/styled-components" + }, + "peerDependencies": { + "react": ">= 16.8.0", + "react-dom": ">= 16.8.0" + } + }, + "node_modules/styled-components/node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/styled-components/node_modules/postcss": { + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/styled-components/node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/stylis": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.2.tgz", + "integrity": "sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==" + }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svgo": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-3.3.2.tgz", + "integrity": "sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^5.1.0", + "css-tree": "^2.3.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.0.0" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/svgo/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/tailwind-merge": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.5.2.tgz", + "integrity": "sha512-kjEBm+pvD+6eAwzJL2Bi+02/9LFLal1Gs61+QB7HvTfQQ0aXwC5LGT8PEt1gS0CWKktKe6ysPTAy3cBC5MeiIg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz", + "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dev": true, + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.31.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz", + "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==", + "dev": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "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/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.9.tgz", + "integrity": "sha512-8or1+BGEdk1Zkkw2ii16qSS7uVrQJPre5A9o/XkWPATkk23FZh/15BKFxPnlTy6vkljZxLqYCzzBMj30ZrSvjw==", + "license": "MIT", + "dependencies": { + "fdir": "^6.4.0", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", + "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==", + "license": "MIT" + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/tree-kill": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", + "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", + "license": "MIT", + "bin": { + "tree-kill": "cli.js" + } + }, + "node_modules/ts-api-utils": { + "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==", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "node_modules/tsc-prog": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tsc-prog/-/tsc-prog-2.3.0.tgz", + "integrity": "sha512-ycET2d75EgcX7y8EmG4KiZkLAwUzbY4xRhA6NU0uVbHkY4ZjrAAuzTMxXI85kOwATqPnBI5C/7y7rlpY0xdqHA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "typescript": ">=4" + } + }, + "node_modules/tsconfck": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.3.tgz", + "integrity": "sha512-ulNZP1SVpRDesxeMLON/LtWM8HIgAJEIVpVVhBM6gsmvQ8+Rh+ZG7FWGvHh7Ah3pRABwVJWklWCr/BTZSv0xnQ==", + "dev": true, + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tsconfig-paths": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", + "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", + "dev": true, + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tslib": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz", + "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==" + }, + "node_modules/tsup": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.3.0.tgz", + "integrity": "sha512-ALscEeyS03IomcuNdFdc0YWGVIkwH1Ws7nfTbAPuoILvEV2hpGQAY72LIOjglGo4ShWpZfpBqP/jpQVCzqYQag==", + "license": "MIT", + "dependencies": { + "bundle-require": "^5.0.0", + "cac": "^6.7.14", + "chokidar": "^3.6.0", + "consola": "^3.2.3", + "debug": "^4.3.5", + "esbuild": "^0.23.0", + "execa": "^5.1.1", + "joycon": "^3.1.1", + "picocolors": "^1.0.1", + "postcss-load-config": "^6.0.1", + "resolve-from": "^5.0.0", + "rollup": "^4.19.0", + "source-map": "0.8.0-beta.0", + "sucrase": "^3.35.0", + "tinyglobby": "^0.2.1", + "tree-kill": "^1.2.2" + }, + "bin": { + "tsup": "dist/cli-default.js", + "tsup-node": "dist/cli-node.js" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@microsoft/api-extractor": "^7.36.0", + "@swc/core": "^1", + "postcss": "^8.4.12", + "typescript": ">=4.5.0" + }, + "peerDependenciesMeta": { + "@microsoft/api-extractor": { + "optional": true + }, + "@swc/core": { + "optional": true + }, + "postcss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/tsup/node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/tsup/node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tsup/node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/tsup/node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tsup/node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/tsup/node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsup/node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tsup/node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "lilconfig": "^3.1.1" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/tsup/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/tsup/node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "license": "ISC" + }, + "node_modules/tsup/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tsup/node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "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, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typescript": { + "version": "5.4.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", + "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/undici": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.19.8.tgz", + "integrity": "sha512-U8uCCl2x9TK3WANvmBavymRzxbfFYG+tAu+fgx3zxQy3qdagQqBLwJVrdyO1TBfUXvfKveMKJZhpvUYoOjM+4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==" + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", + "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", + "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "dev": true, + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "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, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", + "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vite": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.1.tgz", + "integrity": "sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.38", + "rollup": "^4.13.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-pwa": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.20.0.tgz", + "integrity": "sha512-/kDZyqF8KqoXRpMUQtR5Atri/7BWayW8Gp7Kz/4bfstsV6zSFTxjREbXZYL7zSuRL40HGA+o2hvUAFRmC+bL7g==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "pretty-bytes": "^6.1.1", + "workbox-build": "^7.1.0", + "workbox-window": "^7.1.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vite-pwa/assets-generator": "^0.2.4", + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0", + "workbox-build": "^7.1.0", + "workbox-window": "^7.1.0" + }, + "peerDependenciesMeta": { + "@vite-pwa/assets-generator": { + "optional": true + } + } + }, + "node_modules/vite-plugin-static-copy": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/vite-plugin-static-copy/-/vite-plugin-static-copy-1.0.6.tgz", + "integrity": "sha512-3uSvsMwDVFZRitqoWHj0t4137Kz7UynnJeq1EZlRW7e25h2068fyIZX4ORCCOAkfp1FklGxJNVJBkBOD+PZIew==", + "dev": true, + "dependencies": { + "chokidar": "^3.5.3", + "fast-glob": "^3.2.11", + "fs-extra": "^11.1.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0" + } + }, + "node_modules/vite-tsconfig-paths": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.3.2.tgz", + "integrity": "sha512-0Vd/a6po6Q+86rPlntHye7F31zA2URZMbH8M3saAZ/xR9QoGN/L21bxEGfXdWmFdNkqPpRdxFT7nmNe12e9/uA==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "tsconfck": "^3.0.3" + }, + "peerDependencies": { + "vite": "*" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-encoding": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz", + "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-mimetype": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", + "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz", + "integrity": "sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==", + "dev": true, + "dependencies": { + "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-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.2", + "which-typed-array": "^1.1.15" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-builtin-type/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/which-collection": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", + "dev": true, + "dependencies": { + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "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, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/workbox-background-sync": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-7.1.0.tgz", + "integrity": "sha512-rMbgrzueVWDFcEq1610YyDW71z0oAXLfdRHRQcKw4SGihkfOK0JUEvqWHFwA6rJ+6TClnMIn7KQI5PNN1XQXwQ==", + "dev": true, + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-7.1.0.tgz", + "integrity": "sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-build": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-7.1.1.tgz", + "integrity": "sha512-WdkVdC70VMpf5NBCtNbiwdSZeKVuhTEd5PV3mAwpTQCGAB5XbOny1P9egEgNdetv4srAMmMKjvBk4RD58LpooA==", + "dev": true, + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.24.4", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^15.2.3", + "@rollup/plugin-replace": "^2.4.1", + "@rollup/plugin-terser": "^0.4.3", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "7.1.0", + "workbox-broadcast-update": "7.1.0", + "workbox-cacheable-response": "7.1.0", + "workbox-core": "7.1.0", + "workbox-expiration": "7.1.0", + "workbox-google-analytics": "7.1.0", + "workbox-navigation-preload": "7.1.0", + "workbox-precaching": "7.1.0", + "workbox-range-requests": "7.1.0", + "workbox-recipes": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0", + "workbox-streams": "7.1.0", + "workbox-sw": "7.1.0", + "workbox-window": "7.1.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/workbox-build/node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/workbox-build/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/workbox-build/node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/workbox-build/node_modules/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-7.1.0.tgz", + "integrity": "sha512-iwsLBll8Hvua3xCuBB9h92+/e0wdsmSVgR2ZlvcfjepZWwhd3osumQB3x9o7flj+FehtWM2VHbZn8UJeBXXo6Q==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-core": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-7.1.0.tgz", + "integrity": "sha512-5KB4KOY8rtL31nEF7BfvU7FMzKT4B5TkbYa2tzkS+Peqj0gayMT9SytSFtNzlrvMaWgv6y/yvP9C0IbpFjV30Q==", + "dev": true + }, + "node_modules/workbox-expiration": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-7.1.0.tgz", + "integrity": "sha512-m5DcMY+A63rJlPTbbBNtpJ20i3enkyOtSgYfv/l8h+D6YbbNiA0zKEkCUaMsdDlxggla1oOfRkyqTvl5Ni5KQQ==", + "dev": true, + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-google-analytics": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-7.1.0.tgz", + "integrity": "sha512-FvE53kBQHfVTcZyczeBVRexhh7JTkyQ8HAvbVY6mXd2n2A7Oyz/9fIwnY406ZcDhvE4NFfKGjW56N4gBiqkrew==", + "dev": true, + "dependencies": { + "workbox-background-sync": "7.1.0", + "workbox-core": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-7.1.0.tgz", + "integrity": "sha512-4wyAbo0vNI/X0uWNJhCMKxnPanNyhybsReMGN9QUpaePLTiDpKxPqFxl4oUmBNddPwIXug01eTSLVIFXimRG/A==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-precaching": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-7.1.0.tgz", + "integrity": "sha512-LyxzQts+UEpgtmfnolo0hHdNjoB7EoRWcF7EDslt+lQGd0lW4iTvvSe3v5JiIckQSB5KTW5xiCqjFviRKPj1zA==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0" + } + }, + "node_modules/workbox-range-requests": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-7.1.0.tgz", + "integrity": "sha512-m7+O4EHolNs5yb/79CrnwPR/g/PRzMFYEdo01LqwixVnc/sbzNSvKz0d04OE3aMRel1CwAAZQheRsqGDwATgPQ==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-recipes": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-7.1.0.tgz", + "integrity": "sha512-NRrk4ycFN9BHXJB6WrKiRX3W3w75YNrNrzSX9cEZgFB5ubeGoO8s/SDmOYVrFYp9HMw6sh1Pm3eAY/1gVS8YLg==", + "dev": true, + "dependencies": { + "workbox-cacheable-response": "7.1.0", + "workbox-core": "7.1.0", + "workbox-expiration": "7.1.0", + "workbox-precaching": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0" + } + }, + "node_modules/workbox-routing": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-7.1.0.tgz", + "integrity": "sha512-oOYk+kLriUY2QyHkIilxUlVcFqwduLJB7oRZIENbqPGeBP/3TWHYNNdmGNhz1dvKuw7aqvJ7CQxn27/jprlTdg==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-strategies": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-7.1.0.tgz", + "integrity": "sha512-/UracPiGhUNehGjRm/tLUQ+9PtWmCbRufWtV0tNrALuf+HZ4F7cmObSEK+E4/Bx1p8Syx2tM+pkIrvtyetdlew==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0" + } + }, + "node_modules/workbox-streams": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-7.1.0.tgz", + "integrity": "sha512-WyHAVxRXBMfysM8ORwiZnI98wvGWTVAq/lOyBjf00pXFvG0mNaVz4Ji+u+fKa/mf1i2SnTfikoYKto4ihHeS6w==", + "dev": true, + "dependencies": { + "workbox-core": "7.1.0", + "workbox-routing": "7.1.0" + } + }, + "node_modules/workbox-sw": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-7.1.0.tgz", + "integrity": "sha512-Hml/9+/njUXBglv3dtZ9WBKHI235AQJyLBV1G7EFmh4/mUdSQuXui80RtjDeVRrXnm/6QWgRUEHG3/YBVbxtsA==", + "dev": true + }, + "node_modules/workbox-window": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-7.1.0.tgz", + "integrity": "sha512-ZHeROyqR+AS5UPzholQRDttLFqGMwP0Np8MKWAdyxsDETxq3qOAyXvqessc3GniohG6e0mAqSQyKOHmT8zPF7g==", + "dev": true, + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "7.1.0" + } + }, + "node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/write-file-atomic": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-5.0.1.tgz", + "integrity": "sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==", + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/write-json-file": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/write-json-file/-/write-json-file-6.0.0.tgz", + "integrity": "sha512-MNHcU3f9WxnNyR6MxsYSj64Jz0+dwIpisWKWq9gqLj/GwmA9INg3BZ3vt70/HB3GEwrnDQWr4RPrywnhNzmUFA==", + "license": "MIT", + "dependencies": { + "detect-indent": "^7.0.1", + "is-plain-obj": "^4.1.0", + "sort-keys": "^5.0.0", + "write-file-atomic": "^5.0.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/write-package": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/write-package/-/write-package-7.1.0.tgz", + "integrity": "sha512-DqUx8GI3r9BFWwU2DPKddL1E7xWfbFED82mLVhGXKlFEPe8IkBftzO7WfNwHtk7oGDHDeuH/o8VMpzzfMwmLUA==", + "license": "MIT", + "dependencies": { + "deepmerge-ts": "^7.1.0", + "read-pkg": "^9.0.1", + "sort-keys": "^5.0.0", + "type-fest": "^4.23.0", + "write-json-file": "^6.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/write-package/node_modules/type-fest": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz", + "integrity": "sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ws": { + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", + "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "license": "MIT", + "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/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", + "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", + "dev": true, + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zustand": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.4.tgz", + "integrity": "sha512-/BPMyLKJPtFEvVL0E9E9BTUM63MNyhPGlvxk1XjrfWTUlV+BR8jufjsovHzrtR6YNcBEcL7cMHovL1n9xHawEg==", + "dependencies": { + "use-sync-external-store": "1.2.0" + }, + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "@types/react": ">=16.8", + "immer": ">=9.0.6", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 00000000..15cbbbcf --- /dev/null +++ b/package.json @@ -0,0 +1,114 @@ +{ + "name": "polkadot-devground", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "build": "vite build", + "dev": "vite", + "add-polkadot": "npx papi add dot -n polkadot --skip-codegen", + "add-polkadot-people": "npx papi add dotpeople -n polkadot_people --skip-codegen", + "add-polkadot-asset-hub": "npx papi add dot_asset_hub -n polkadot_asset_hub --skip-codegen", + "add-polkadot-bridge-hub": "npx papi add dot_bridge_hub -n polkadot_bridge_hub --skip-codegen", + "add-polkadot-collectives": "npx papi add dot_collectives -n polkadot_collectives --skip-codegen", + "add-kusama": "npx papi add kusama -n ksmcc3 --skip-codegen", + "add-kusama-people": "npx papi add kusama_people -n ksmcc3_people --skip-codegen", + "add-kusama-asset-hub": "npx papi add kusama_asset_hub -n ksmcc3_asset_hub --skip-codegen", + "add-kusama-bridge-hub": "npx papi add kusama_bridge_hub -n ksmcc3_bridge_hub --skip-codegen", + "add-westend": "npx papi add westend -n westend2 --skip-codegen", + "add-westend-people": "npx papi add westend_people -n westend2_people --skip-codegen", + "add-westend-asset-hub": "npx papi add westend_asset_hub -n westend2_asset_hub --skip-codegen", + "add-westend-bridge-hub": "npx papi add westend_bridge_hub -n westend2_bridge_hub --skip-codegen", + "add-westend-collectives": "npx papi add westend_collectives -n westend2_collectives --skip-codegen", + "add-paseo": "npx papi add paseo -n paseo --skip-codegen", + "add-paseo-asset-hub": "npx papi add paseo_asset_hub -n paseo_asset_hub --skip-codegen", + "add-descriptors": "npm run add-polkadot && npm run add-polkadot-people && npm run add-polkadot-asset-hub && npm run add-polkadot-bridge-hub && npm run add-polkadot-collectives && npm run add-kusama && npm run add-kusama-people && npm run add-kusama-asset-hub && npm run add-kusama-bridge-hub && npm run add-westend && npm run add-westend-people && npm run add-westend-asset-hub && npm run add-westend-bridge-hub && npm run add-westend-collectives && npm run add-paseo && npm run add-paseo-asset-hub && npx papi generate", + "remove-descriptors": "rm -rf node_modules .papi", + "lint": "npm run tsc && eslint . --ext .ts,.tsx --no-cache", + "lint:fix": "eslint . --ext .ts,.tsx --fix", + "preview": "vite preview", + "start": "vite", + "tsc": "tsc --noEmit" + }, + "dependencies": { + "@pivanov/event-bus": "1.0.0", + "@pivanov/use-toggle-visibility": "0.0.1", + "@polkadot-api/descriptors": "file:.papi/descriptors", + "@polkadot-api/metadata-builders": "0.7.0", + "@polkadot-api/view-builder": "0.3.3", + "@polkadot/react-identicon": "3.9.1", + "@polkadot/types": "12.2.3", + "@radix-ui/react-scroll-area": "1.1.0", + "@radix-ui/react-select": "2.1.1", + "@radix-ui/react-switch": "1.1.0", + "@radix-ui/react-tooltip": "1.1.3", + "@shikijs/monaco": "1.10.0", + "@stylistic/eslint-plugin": "2.8.0", + "@stylistic/eslint-plugin-jsx": "2.8.0", + "@tanstack/react-table": "8.20.5", + "@tanstack/react-virtual": "3.8.2", + "@typescript/ata": "0.9.6", + "@vitejs/plugin-react-swc": "3.7.0", + "axios": "1.7.2", + "clsx": "2.1.1", + "date-fns": "^3.6.0", + "file-saver": "2.0.5", + "firebase": "10.14.0", + "monaco-editor": "0.50.0", + "nanoid": "5.0.7", + "pako": "2.1.0", + "polkadot-api": "1.4.1", + "prettier": "3.3.2", + "prism-themes": "1.9.0", + "prismjs": "1.29.0", + "react": "18.3.1", + "react-dom": "18.3.1", + "react-helmet-async": "2.0.5", + "react-hot-toast": "2.4.1", + "react-resizable-panels": "2.0.19", + "react-router-dom": "6.24.0", + "react18-json-view": "0.2.8", + "scale-ts": "1.6.0", + "shiki": "1.10.0", + "styled-components": "6.1.12", + "sucrase": "3.35.0", + "tailwind-merge": "2.5.2", + "ts-node": "10.9.2", + "vite": "5.3.1", + "zustand": "4.5.4" + }, + "devDependencies": { + "@pivanov/vite-plugin-svg-sprite": "2.1.0", + "@types/file-saver": "2.0.7", + "@types/pako": "2.0.3", + "@types/prismjs": "1.26.4", + "@types/react": "18.3.3", + "@types/react-dom": "18.3.0", + "@types/react-router-dom": "5.3.3", + "@typescript-eslint/eslint-plugin": "7.14.1", + "@typescript-eslint/parser": "7.13.1", + "autoprefixer": "10.4.19", + "eslint": "8.57.0", + "eslint-import-resolver-typescript": "3.6.1", + "eslint-plugin-filenames": "^1.3.2", + "eslint-plugin-import": "2.29.1", + "eslint-plugin-import-newlines": "1.4.0", + "eslint-plugin-prefer-arrow": "1.2.3", + "eslint-plugin-react": "7.34.3", + "eslint-plugin-react-hooks": "4.6.2", + "eslint-plugin-react-refresh": "0.4.7", + "eslint-plugin-tailwindcss": "3.17.4", + "eslint-plugin-unused-imports": "4.0.0", + "lint-staged": "15.2.7", + "rollup-plugin-visualizer": "5.12.0", + "tailwindcss": "3.4.4", + "terser": "5.31.1", + "typescript": "5.4.5", + "vite-plugin-pwa": "0.20.0", + "vite-plugin-static-copy": "1.0.6", + "vite-tsconfig-paths": "4.3.2" + }, + "engines": { + "node": ">=18.0.0" + } +} diff --git a/postcss.config.js b/postcss.config.js new file mode 100644 index 00000000..2aa7205d --- /dev/null +++ b/postcss.config.js @@ -0,0 +1,6 @@ +export default { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +}; diff --git a/public/.keep b/public/.keep new file mode 100644 index 00000000..e69de29b diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8aceb5e1fedb012735a382766eafa8c553921d8e GIT binary patch literal 7059 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 KQLUyc^nU;u$d5Sy literal 0 HcmV?d00001 diff --git a/public/devGround.png b/public/devGround.png new file mode 100644 index 0000000000000000000000000000000000000000..fa1d003176a81154cb24a0f744e640a9dc56d9ff GIT binary patch literal 31949 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 literal 0 HcmV?d00001 diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..63cc81774a7cb3246e911fa93862c839c6fe3dd1 GIT binary patch literal 374 zcmV-+0g3*JP)Px$FiAu~R5(xVlRqp&Q5eO4-+k|SMX@vl>1Y=NCStOYNW>&v#74qMBOS~nY+`9l zMmCc$VGz4f)W0q$+P*(m?(360gU#4)y65KPd?#Pdk$cv&3Tu?a2w|;eQ;@nS+bjWg0op=|IQg-iwS638?JwIh%c?72uF#4ieJ zOTm>Pgi!zB^>l#U$iXd3ZaZBQ3R>a?!vW!{!p_AGf_;t5_p^DNwD{Nik^EGMJ`k*h zraPrUhxD|Dl)(YPpn^p)Q7)06(NF|T?t_Ma zE`u}P7ni9-Ap_o-MxrtS7T^lxQOSLjV8( literal 0 HcmV?d00001 diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..21cbcdce6d2d3dc665116923aac17297012229b2 GIT binary patch literal 669 zcmV;O0%HA%P)Px%S4l)cR9HvtmqADrVHC%IZ+2%E*GdnYx~rB^W*{A+Q*`UnG4LWC#4bgI1)YLY z_#g|SLtqk7m&8MO5juA17M-F)2$@Bey1SYOtyFeq_j~DeoNemXVdnaO@Be=Mzd5`o z3i63DZ!eWJF<(H@cF9{6^q6d$1 z+*yjMUFBB04_5>Vab6aEy-C}ol)2xitc@#rA+8CW8A1B<+@6W5Eiuxo=oHxAI4?n- z3C%-cfEvgKumuwAHqkj3_ws(s$EX3{F-HS}#~|Giy)MuI+6biT0LTx8H^6%bSq+;A ztXk493YcBmPHhpBbEuwE$VC9;6pjO@K=;)HSXP(>d1>Km*d&GedEAm<{5n6OS0c#Q z5HGBIaL}S>6$U_C>i{^5+w|iWraKv(i+jg^(H9u*PD7u<5ZI0cAW0xeAW0xeAW0xe zAW0xe;D1d(RxJ8l&{tV9-@-fJ7S&3PjrmRgG49I!V zmU>(9FOYYN{Vb%`b`P=3K049G-BJ|5JU88cblStYm!(jT{G3pxw# z#RBF-RBaJ+41%YML;-|abV_hSEPYQJFGJp2KNRLfs@ zy)EEPZv!A;+!Dl|=M}JB;Q#47p9e1kvFCXns$hcO(!faazo8AZ00000NkvXXu0mjf D%J(F) literal 0 HcmV?d00001 diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..addad0bc152c457ada8300c05b25b4704d1f4a6f GIT binary patch literal 15406 zcmeHOO=ule6h3K7{aYBTLaG$s!k>zQQ6ZpGur^|?&_y9o=)yoNxDjz-)4camXHm5f zC8ZX+GFg-s33cb9L~5vlpi8NXT1wi!H}_3`Xh_szZPMrWy*oFVzRaDuueP}G1`acG ze!scz%)NKcnTWK>YH4p591HU98j&s$DHQbe#s@@(!Rzdd`v#15pndd!CbLKe10w%Idy5Hv4bUr-uNBd;F>ahg2J;AdAHsi!J^n-ob@KdB&Y0%DG2UNbo|?)d{LVk%-Z-?Wf0R)t z&kyB{$#EK#=)SVlhGDk|x{h<^+B7Iip);_3Dm6Hml)>gqiXDAT$G)%Qe33C3n^cn8 z2=cZLKIi`LF*YLuqK29Y@_j|QxZW0@GU_zj@tQvAn=y2(+DJ5EnsHD@on|{;(WdXOYfh}I4HyW zLH1oB)2L*n|4~Mrq>VWTpYI@yy^s;VPMMA1>nz^go=J}`LK$^z_DR0ke;w8}v^~7e zC-rejW*)W0rwsQ9oqS(-AKJs%d;b_GLI6i z^n$YMBv8=xidCahUwtd2f4h1cJ-Pig>La%)UcK$0T)Dp}(X)6Lex+3^$>hs?zEFQb z`P$_kh<&1+HneRu9`%Wpn9aEJx+t{)JmV)?r|@{cRLcQ;=-(mx7oZMxX@m9Pco9HVWy$E%v8{2RmZ#gEh5;J`TGQI})vl;$Q zf&b^t6ylns{;(13<}v?%gBs^%SNzna4Q*|HHGe7oO}L1an2BBEkG6m}4xgy&svB5m zui^R%Na6ZoNvf#jrW5At^QcW7V_x>iXzut^N9S<$7;SBS$=9)!(pbW4%lL>j+G6nU z$9asOYb5c{V%&cLZw%*Ofv|>IX&89+_Q@qY!+~`TF?mHD>e2>2QJ=K>WlY3YV;W01 z8{e7a`HoxREHZeet zSgN>Yeq`c@F6y=6Z_q!Ayyz`Sr3-b&LN-lx#Pv&;HK0we_fs9&K4%MzjXVd2+EL&E zrrKgYe%651S?m=L_Df}3R$bTR#GN`acE8lN5eqTl9z6a#HP|VB{rLO*Pe}`Bmd_ub zKhDXLqUiI-=TAynIJ12I`22BBmJ~&wKR$m_(!!bL^T+3pbF!o;`uy?vladzBET2C< zf1HygMbYPv&!3dEaAw_V{-7^%4s-=B?=eF^=Wld$=S_rMyqjo|xD)aAQAk@*K*`xn%u4Q*|H$&axU!%1Rt z>0iV;GqCxIcD#38e`gJTC83x2DSCnL1TyuwD}L(IhPG)w4Ue%k2K6&=%{bym4=ntP z`ud*3bL<`1iG8y0OZ0PJa_#?8mp1Hc+5Pf+lSXWgJFqt}u|JpDKcYOQxEI;@{-6H? zkV+V%zablAKh3>=+UOUK#kQ$_O*~*};7H(d#c%E-@3??*{1)FQb-UuHE^UCR@y$>Y zo69-wZK?mrerzD&3*Zfr-#Ue-k*}Za6ZN8N{!o`T$f47%$7^65B4%ReGZ#o@9j}=K ztrEuaHS{{4rw?)HpHhdqw4rUQ@u*L%^kL=;9`)~_`|+kP?0W3McL>H;-rP^Qj;Fs} UaE+1FGvn?O%j@_N$Qprv0N>nKeE + + + diff --git a/src/app/index.tsx b/src/app/index.tsx new file mode 100644 index 00000000..266e62df --- /dev/null +++ b/src/app/index.tsx @@ -0,0 +1,111 @@ +import { getAnalytics } from 'firebase/analytics'; +import { createClient } from 'polkadot-api'; +import { + connectInjectedExtension, + getInjectedExtensions, +} from 'polkadot-api/pjs-signer'; +import { getPolkadotSigner } from 'polkadot-api/signer'; +import { + useEffect, + useRef, +} from 'react'; +import { + createBrowserRouter, + RouterProvider, +} from 'react-router-dom'; + +import * as papiDescriptors from '@polkadot-api/descriptors'; +import { + useStoreAuth, + useStoreChain, + useStoreUI, + useStoreWallet, +} from '@stores'; +import { analyticsApp } from 'firebaseConfig'; +import { useStoreCustomExamples } from 'src/stores/examples'; + +import { routes } from './routes'; + +export const App = () => { + // TODO: Change this when we have new domain + if (window.location.origin === 'https://devground.xyz') { + getAnalytics(analyticsApp); + } + const refTimeout = useRef(); + const refRoutes = useRef(createBrowserRouter(routes())); + + const initStoreAuth = useStoreAuth.use.init?.(); + const { + resetStore: resetStoreAuth, + } = useStoreAuth.use.actions(); + + const initStoreChainClient = useStoreChain.use.init?.(); + const { + resetStore: resetStoreChain, + } = useStoreChain.use.actions(); + + const initStoreUI = useStoreUI.use.init?.(); + const { + resetStore: resetStoreUI, + setWindowSize, + } = useStoreUI.use.actions(); + + const initStoreWallet = useStoreWallet.use.init?.(); + const { + resetStore: resetStoreWallet, + } = useStoreWallet.use.actions(); + + const initStoreExamples = useStoreCustomExamples.use.init?.(); + const { resetStore: resetStoreExamples } = useStoreCustomExamples.use.actions(); + + useEffect(() => { + const initializeStores = async () => { + await initStoreAuth(); + initStoreUI(); + initStoreChainClient(); + initStoreWallet(); + initStoreExamples(); + + window.customPackages = {}; + Object.assign(window.customPackages, { + createClient, + ...createClient, + papiDescriptors, + ...papiDescriptors, + getPolkadotSigner, + connectInjectedExtension, + getInjectedExtensions, + }); + + refTimeout.current = setTimeout(() => { + document.body.removeAttribute('style'); + }, 400); + }; + + initializeStores().catch((error) => { + console.error('Error initializing stores', error); + }); + + return () => { + resetStoreAuth(); + resetStoreUI(); + void resetStoreChain(); + resetStoreWallet(); + resetStoreExamples(); + }; + + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + useEffect(() => { + window.addEventListener('resize', setWindowSize); + return () => { + window.removeEventListener('resize', setWindowSize); + }; + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + return ; +}; + +App.displayName = 'App'; diff --git a/src/app/routes.tsx b/src/app/routes.tsx new file mode 100644 index 00000000..8c739f25 --- /dev/null +++ b/src/app/routes.tsx @@ -0,0 +1,121 @@ +import { lazy } from 'react'; + +import { LayoutBasic } from '@components/layouts/basic'; +import { LayoutCodeEditor } from '@components/layouts/codeEditor'; + +const Home = lazy(() => import('../views/home')); +const CodeEditor = lazy(() => import('../views/codeEditor')); +const CodePreview = lazy(() => import('../views/codePreview')); +const Callback = lazy(() => import('../components/login/callback')); +const BlockDetails = lazy(() => import('../views/blockDetails')); +const Explorer = lazy(() => import('../views/explorer')); +const SignedExtrinsics = lazy(() => import('../views/signedExtrinsics')); +const Forks = lazy(() => import('../views/forks')); +const Extrinsics = lazy(() => import('../views/extrinsics')); +const ChainState = lazy(() => import('../views/chainState')); +const Constants = lazy(() => import('../views/constants')); +const RuntimeCalls = lazy(() => import('../views/runtimeCalls')); +const Onboarding = lazy(() => import('../views/onboarding')); +const LatestBlocks = lazy(() => import('../views/latestBlocks')); +const Decoder = lazy(() => import('../views/decoder')); +const DecoderDynamic = lazy(() => import('../views/decoderDynamic')); +const RpcCalls = lazy(() => import('../views/rpcCalls')); +const NotFound = lazy(() => import('../views/notFound')); + +export const routes = () => ([ + { + path: '/*', + children: [ + { + path: '', + element: , + children: [ + { + path: '', + element: , + }, + { + path: 'forks', + element: , + }, + { + path: 'onboarding', + element: , + }, + { + path: 'login-callback', + element: , + }, + { + path: 'extrinsics', + element: , + }, + { + path: 'chain-state', + element: , + }, + { + path: 'constants', + element: , + }, + { + path: 'runtime-calls', + element: , + }, + { + path: 'rpc-calls', + element: , + }, + { + path: 'decoder', + element: , + }, + { + path: 'decoder-dynamic', + element: , + }, + ], + }, + { + path: 'code', + element: , + children: [ + { + path: '', + element: , + }, + { + path: ':previewId', + element: , + }, + ], + }, + { + path: 'explorer', + element: , + children: [ + { + path: '', + element: , + }, + { + path: 'latest-blocks', + element: , + }, + { + path: ':blockNumber', + element: , + }, + { + path: 'extrinsics', + element: , + }, + ], + }, + { + path: '*', + element: , + }, + ], + }, +]); diff --git a/src/assets/fonts/Geist-Bold.ttf b/src/assets/fonts/Geist-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5625c00a7e2bb203a2c8d17326804b00cecd3b0f GIT binary patch literal 106404 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 literal 0 HcmV?d00001 diff --git a/src/assets/fonts/Poppins-ExtraLight.ttf b/src/assets/fonts/Poppins-ExtraLight.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e76ec69a650f1323fe9af6dafc55628ca1afc7e1 GIT binary patch literal 161456 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 e4&?DO=qzU-SNlDimmCj>Yo9*= literal 0 HcmV?d00001 diff --git a/src/assets/fonts/Poppins-Light.ttf b/src/assets/fonts/Poppins-Light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bc36bcc2427a84e29e61ea7b634024072c04b206 GIT binary patch literal 159892 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 { + @apply py-2 pl-1 font-body3-regular font-geist; + } + } + + .pd-table-row { + @apply border-b border-dev-purple-100 cursor-pointer; + @apply dark:border-dev-purple-700; + @apply hover:bg-dev-purple-100 dark:hover:bg-dev-purple-900; + + >td { + @apply pb-2 pt-4 pl-1 font-body2-regular font-geist break-words; + } + + } + +.json-view--copy { + pointer-events: visible; +} + +.json-view--string { + word-break: break-all; +} diff --git a/src/assets/svgs/chain/kusama-asset-hub.svg b/src/assets/svgs/chain/kusama-asset-hub.svg new file mode 100644 index 00000000..675dea01 --- /dev/null +++ b/src/assets/svgs/chain/kusama-asset-hub.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/assets/svgs/chain/kusama-bridge-hub.svg b/src/assets/svgs/chain/kusama-bridge-hub.svg new file mode 100644 index 00000000..3c5ee29e --- /dev/null +++ b/src/assets/svgs/chain/kusama-bridge-hub.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/svgs/chain/kusama-people.svg b/src/assets/svgs/chain/kusama-people.svg new file mode 100644 index 00000000..128d701e --- /dev/null +++ b/src/assets/svgs/chain/kusama-people.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/svgs/chain/kusama.svg b/src/assets/svgs/chain/kusama.svg new file mode 100644 index 00000000..3feb4a5c --- /dev/null +++ b/src/assets/svgs/chain/kusama.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/svgs/chain/paseo-asset-hub.svg b/src/assets/svgs/chain/paseo-asset-hub.svg new file mode 100644 index 00000000..29638b1f --- /dev/null +++ b/src/assets/svgs/chain/paseo-asset-hub.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/src/assets/svgs/chain/paseo.svg b/src/assets/svgs/chain/paseo.svg new file mode 100644 index 00000000..d251439b --- /dev/null +++ b/src/assets/svgs/chain/paseo.svg @@ -0,0 +1,36 @@ + + + + + + + + + + + + + + diff --git a/src/assets/svgs/chain/polkadot-asset-hub.svg b/src/assets/svgs/chain/polkadot-asset-hub.svg new file mode 100644 index 00000000..7a771221 --- /dev/null +++ b/src/assets/svgs/chain/polkadot-asset-hub.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/assets/svgs/chain/polkadot-bridge-hub.svg b/src/assets/svgs/chain/polkadot-bridge-hub.svg new file mode 100644 index 00000000..257ffbd8 --- /dev/null +++ b/src/assets/svgs/chain/polkadot-bridge-hub.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/src/assets/svgs/chain/polkadot-collectives.svg b/src/assets/svgs/chain/polkadot-collectives.svg new file mode 100644 index 00000000..658005b1 --- /dev/null +++ b/src/assets/svgs/chain/polkadot-collectives.svg @@ -0,0 +1 @@ + diff --git a/src/assets/svgs/chain/polkadot-people.svg b/src/assets/svgs/chain/polkadot-people.svg new file mode 100644 index 00000000..814cd45a --- /dev/null +++ b/src/assets/svgs/chain/polkadot-people.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/svgs/chain/polkadot.svg b/src/assets/svgs/chain/polkadot.svg new file mode 100644 index 00000000..0f8e6377 --- /dev/null +++ b/src/assets/svgs/chain/polkadot.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/svgs/chain/westend-asset-hub.svg b/src/assets/svgs/chain/westend-asset-hub.svg new file mode 100644 index 00000000..a9d2d6aa --- /dev/null +++ b/src/assets/svgs/chain/westend-asset-hub.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/src/assets/svgs/chain/westend-bridge-hub.svg b/src/assets/svgs/chain/westend-bridge-hub.svg new file mode 100644 index 00000000..3b251f5f --- /dev/null +++ b/src/assets/svgs/chain/westend-bridge-hub.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + diff --git a/src/assets/svgs/chain/westend-people.svg b/src/assets/svgs/chain/westend-people.svg new file mode 100644 index 00000000..57bfaed2 --- /dev/null +++ b/src/assets/svgs/chain/westend-people.svg @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/assets/svgs/chain/westend.svg b/src/assets/svgs/chain/westend.svg new file mode 100644 index 00000000..d368f641 --- /dev/null +++ b/src/assets/svgs/chain/westend.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/assets/svgs/icon/add.svg b/src/assets/svgs/icon/add.svg new file mode 100644 index 00000000..c8306c25 --- /dev/null +++ b/src/assets/svgs/icon/add.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/svgs/icon/arrowCircle.svg b/src/assets/svgs/icon/arrowCircle.svg new file mode 100644 index 00000000..d358b60b --- /dev/null +++ b/src/assets/svgs/icon/arrowCircle.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/svgs/icon/arrowLeft.svg b/src/assets/svgs/icon/arrowLeft.svg new file mode 100644 index 00000000..7b9021c8 --- /dev/null +++ b/src/assets/svgs/icon/arrowLeft.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/svgs/icon/block.svg b/src/assets/svgs/icon/block.svg new file mode 100644 index 00000000..09e5a0dc --- /dev/null +++ b/src/assets/svgs/icon/block.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/svgs/icon/blockChecked.svg b/src/assets/svgs/icon/blockChecked.svg new file mode 100644 index 00000000..1c31a5dd --- /dev/null +++ b/src/assets/svgs/icon/blockChecked.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/svgs/icon/brackets.svg b/src/assets/svgs/icon/brackets.svg new file mode 100644 index 00000000..ae8974e4 --- /dev/null +++ b/src/assets/svgs/icon/brackets.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/svgs/icon/chain.svg b/src/assets/svgs/icon/chain.svg new file mode 100644 index 00000000..9776c482 --- /dev/null +++ b/src/assets/svgs/icon/chain.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/svgs/icon/chart.svg b/src/assets/svgs/icon/chart.svg new file mode 100644 index 00000000..3d2fef9a --- /dev/null +++ b/src/assets/svgs/icon/chart.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/svgs/icon/check.svg b/src/assets/svgs/icon/check.svg new file mode 100644 index 00000000..f05bc996 --- /dev/null +++ b/src/assets/svgs/icon/check.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/svgs/icon/checked.svg b/src/assets/svgs/icon/checked.svg new file mode 100644 index 00000000..78a92522 --- /dev/null +++ b/src/assets/svgs/icon/checked.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/svgs/icon/circle-slash.svg b/src/assets/svgs/icon/circle-slash.svg new file mode 100644 index 00000000..bfad8ba3 --- /dev/null +++ b/src/assets/svgs/icon/circle-slash.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/svgs/icon/clipboard.svg b/src/assets/svgs/icon/clipboard.svg new file mode 100644 index 00000000..4c7cbc07 --- /dev/null +++ b/src/assets/svgs/icon/clipboard.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/svgs/icon/clock.svg b/src/assets/svgs/icon/clock.svg new file mode 100644 index 00000000..0c55e5b0 --- /dev/null +++ b/src/assets/svgs/icon/clock.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/svgs/icon/close.svg b/src/assets/svgs/icon/close.svg new file mode 100644 index 00000000..92658906 --- /dev/null +++ b/src/assets/svgs/icon/close.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/svgs/icon/darkMode.svg b/src/assets/svgs/icon/darkMode.svg new file mode 100644 index 00000000..fbf1a729 --- /dev/null +++ b/src/assets/svgs/icon/darkMode.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/svgs/icon/database.svg b/src/assets/svgs/icon/database.svg new file mode 100644 index 00000000..7f36e2a0 --- /dev/null +++ b/src/assets/svgs/icon/database.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/svgs/icon/databaseRepeat.svg b/src/assets/svgs/icon/databaseRepeat.svg new file mode 100644 index 00000000..33ada7bb --- /dev/null +++ b/src/assets/svgs/icon/databaseRepeat.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/assets/svgs/icon/download.svg b/src/assets/svgs/icon/download.svg new file mode 100644 index 00000000..b4ee560f --- /dev/null +++ b/src/assets/svgs/icon/download.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/svgs/icon/dropdownArrow.svg b/src/assets/svgs/icon/dropdownArrow.svg new file mode 100644 index 00000000..8f20fcc1 --- /dev/null +++ b/src/assets/svgs/icon/dropdownArrow.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/svgs/icon/expand.svg b/src/assets/svgs/icon/expand.svg new file mode 100644 index 00000000..5fad45b8 --- /dev/null +++ b/src/assets/svgs/icon/expand.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/svgs/icon/explorer.svg b/src/assets/svgs/icon/explorer.svg new file mode 100644 index 00000000..822692f6 --- /dev/null +++ b/src/assets/svgs/icon/explorer.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/svgs/icon/export.svg b/src/assets/svgs/icon/export.svg new file mode 100644 index 00000000..593cf6c0 --- /dev/null +++ b/src/assets/svgs/icon/export.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/svgs/icon/failed.svg b/src/assets/svgs/icon/failed.svg new file mode 100644 index 00000000..8de881b5 --- /dev/null +++ b/src/assets/svgs/icon/failed.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/svgs/icon/forks.svg b/src/assets/svgs/icon/forks.svg new file mode 100644 index 00000000..9bbc1e08 --- /dev/null +++ b/src/assets/svgs/icon/forks.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/svgs/icon/group.svg b/src/assets/svgs/icon/group.svg new file mode 100644 index 00000000..0bb4ccbc --- /dev/null +++ b/src/assets/svgs/icon/group.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/assets/svgs/icon/info.svg b/src/assets/svgs/icon/info.svg new file mode 100644 index 00000000..a1aa7839 --- /dev/null +++ b/src/assets/svgs/icon/info.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/svgs/icon/lightMode.svg b/src/assets/svgs/icon/lightMode.svg new file mode 100644 index 00000000..93bdde87 --- /dev/null +++ b/src/assets/svgs/icon/lightMode.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/assets/svgs/icon/linkArrow.svg b/src/assets/svgs/icon/linkArrow.svg new file mode 100644 index 00000000..2e1d1ec6 --- /dev/null +++ b/src/assets/svgs/icon/linkArrow.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/svgs/icon/loader.svg b/src/assets/svgs/icon/loader.svg new file mode 100644 index 00000000..36b06104 --- /dev/null +++ b/src/assets/svgs/icon/loader.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/svgs/icon/logout.svg b/src/assets/svgs/icon/logout.svg new file mode 100644 index 00000000..d8a77115 --- /dev/null +++ b/src/assets/svgs/icon/logout.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/svgs/icon/menu.svg b/src/assets/svgs/icon/menu.svg new file mode 100644 index 00000000..9dcc7250 --- /dev/null +++ b/src/assets/svgs/icon/menu.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/svgs/icon/newBlock.svg b/src/assets/svgs/icon/newBlock.svg new file mode 100644 index 00000000..e1f9f209 --- /dev/null +++ b/src/assets/svgs/icon/newBlock.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/svgs/icon/openLink.svg b/src/assets/svgs/icon/openLink.svg new file mode 100644 index 00000000..e48fe973 --- /dev/null +++ b/src/assets/svgs/icon/openLink.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/svgs/icon/pause.svg b/src/assets/svgs/icon/pause.svg new file mode 100644 index 00000000..6ea2a7de --- /dev/null +++ b/src/assets/svgs/icon/pause.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/svgs/icon/pc.svg b/src/assets/svgs/icon/pc.svg new file mode 100644 index 00000000..1d09d0a7 --- /dev/null +++ b/src/assets/svgs/icon/pc.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/svgs/icon/pen.svg b/src/assets/svgs/icon/pen.svg new file mode 100644 index 00000000..41118060 --- /dev/null +++ b/src/assets/svgs/icon/pen.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/svgs/icon/play.svg b/src/assets/svgs/icon/play.svg new file mode 100644 index 00000000..caf73dbd --- /dev/null +++ b/src/assets/svgs/icon/play.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/svgs/icon/reload.svg b/src/assets/svgs/icon/reload.svg new file mode 100644 index 00000000..2d938551 --- /dev/null +++ b/src/assets/svgs/icon/reload.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/svgs/icon/remove.svg b/src/assets/svgs/icon/remove.svg new file mode 100644 index 00000000..7334cfd1 --- /dev/null +++ b/src/assets/svgs/icon/remove.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/svgs/icon/rpcCalls.svg b/src/assets/svgs/icon/rpcCalls.svg new file mode 100644 index 00000000..1f978c58 --- /dev/null +++ b/src/assets/svgs/icon/rpcCalls.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/svgs/icon/runtimeCalls.svg b/src/assets/svgs/icon/runtimeCalls.svg new file mode 100644 index 00000000..7ae5603b --- /dev/null +++ b/src/assets/svgs/icon/runtimeCalls.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/svgs/icon/save.svg b/src/assets/svgs/icon/save.svg new file mode 100644 index 00000000..aef88afe --- /dev/null +++ b/src/assets/svgs/icon/save.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/svgs/icon/search.svg b/src/assets/svgs/icon/search.svg new file mode 100644 index 00000000..4e5224d1 --- /dev/null +++ b/src/assets/svgs/icon/search.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/svgs/icon/share.svg b/src/assets/svgs/icon/share.svg new file mode 100644 index 00000000..1560d1e8 --- /dev/null +++ b/src/assets/svgs/icon/share.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/svgs/icon/shieldPlus.svg b/src/assets/svgs/icon/shieldPlus.svg new file mode 100644 index 00000000..cdaf154b --- /dev/null +++ b/src/assets/svgs/icon/shieldPlus.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/svgs/icon/stackedCoins.svg b/src/assets/svgs/icon/stackedCoins.svg new file mode 100644 index 00000000..43021bc8 --- /dev/null +++ b/src/assets/svgs/icon/stackedCoins.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/svgs/icon/timer.svg b/src/assets/svgs/icon/timer.svg new file mode 100644 index 00000000..ba7aabbc --- /dev/null +++ b/src/assets/svgs/icon/timer.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/svgs/icon/transfer.svg b/src/assets/svgs/icon/transfer.svg new file mode 100644 index 00000000..ff7f96ff --- /dev/null +++ b/src/assets/svgs/icon/transfer.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/assets/svgs/icon/trash.svg b/src/assets/svgs/icon/trash.svg new file mode 100644 index 00000000..c13cc4cc --- /dev/null +++ b/src/assets/svgs/icon/trash.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/assets/svgs/icon/wallet.svg b/src/assets/svgs/icon/wallet.svg new file mode 100644 index 00000000..b2ce54ae --- /dev/null +++ b/src/assets/svgs/icon/wallet.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/assets/svgs/icon/zipFile.svg b/src/assets/svgs/icon/zipFile.svg new file mode 100644 index 00000000..44c54fdf --- /dev/null +++ b/src/assets/svgs/icon/zipFile.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/assets/svgs/logo/devground.svg b/src/assets/svgs/logo/devground.svg new file mode 100644 index 00000000..2f80637a --- /dev/null +++ b/src/assets/svgs/logo/devground.svg @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/src/assets/svgs/logo/github.svg b/src/assets/svgs/logo/github.svg new file mode 100644 index 00000000..0ff04302 --- /dev/null +++ b/src/assets/svgs/logo/github.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/svgs/logo/limeChain.svg b/src/assets/svgs/logo/limeChain.svg new file mode 100644 index 00000000..3ca20381 --- /dev/null +++ b/src/assets/svgs/logo/limeChain.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/assets/svgs/logo/nova.svg b/src/assets/svgs/logo/nova.svg new file mode 100644 index 00000000..a5036fe3 --- /dev/null +++ b/src/assets/svgs/logo/nova.svg @@ -0,0 +1,39 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/svgs/logo/polkadot-js.svg b/src/assets/svgs/logo/polkadot-js.svg new file mode 100644 index 00000000..c9f4ee49 --- /dev/null +++ b/src/assets/svgs/logo/polkadot-js.svg @@ -0,0 +1,25 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/assets/svgs/logo/polkadot.svg b/src/assets/svgs/logo/polkadot.svg new file mode 100644 index 00000000..bf114185 --- /dev/null +++ b/src/assets/svgs/logo/polkadot.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/assets/svgs/logo/polkadotBlockDetails.svg b/src/assets/svgs/logo/polkadotBlockDetails.svg new file mode 100644 index 00000000..7256822b --- /dev/null +++ b/src/assets/svgs/logo/polkadotBlockDetails.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/assets/svgs/logo/subwallet-js.svg b/src/assets/svgs/logo/subwallet-js.svg new file mode 100644 index 00000000..a2801c46 --- /dev/null +++ b/src/assets/svgs/logo/subwallet-js.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/assets/svgs/logo/talisman.svg b/src/assets/svgs/logo/talisman.svg new file mode 100644 index 00000000..05b122b3 --- /dev/null +++ b/src/assets/svgs/logo/talisman.svg @@ -0,0 +1,41 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/svgs/logo/x.svg b/src/assets/svgs/logo/x.svg new file mode 100644 index 00000000..247251f8 --- /dev/null +++ b/src/assets/svgs/logo/x.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/assets/workers/monaco-worker.ts b/src/assets/workers/monaco-worker.ts new file mode 100644 index 00000000..4735f62c --- /dev/null +++ b/src/assets/workers/monaco-worker.ts @@ -0,0 +1,27 @@ +/* eslint-disable */ +import EditorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker'; +import CssWorker from 'monaco-editor/esm/vs/language/css/css.worker?worker'; +import HtmlWorker from 'monaco-editor/esm/vs/language/html/html.worker?worker'; +import JsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker'; +import TsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker'; +/* eslint-enable */ + +if (!self.MonacoEnvironment) { + self.MonacoEnvironment = { + getWorker: (_, label: string) => { + if (label === 'json') { + return new JsonWorker(); + } + if (label === 'css' || label === 'scss' || label === 'less') { + return new CssWorker(); + } + if (label === 'html' || label === 'handlebars' || label === 'razor') { + return new HtmlWorker(); + } + if (label === 'typescript' || label === 'javascript') { + return new TsWorker(); + } + return new EditorWorker(); + }, + }; +} diff --git a/src/components/MobileNotAllowed/index.tsx b/src/components/MobileNotAllowed/index.tsx new file mode 100644 index 00000000..4541e955 --- /dev/null +++ b/src/components/MobileNotAllowed/index.tsx @@ -0,0 +1,30 @@ +import { Icon } from '@components/icon'; +import { PDLink } from '@components/pdLink'; +import { cn } from '@utils/helpers'; + +export const MobileNotAllowed = () => { + + return ( +

+ +
+

Visit Desktop Site

+

For the best experience, please visit the console from your personal computer

+ + Back to Explorer + +
+
+ ); +}; diff --git a/src/components/burgerMenu/index.tsx b/src/components/burgerMenu/index.tsx new file mode 100644 index 00000000..6cb94c56 --- /dev/null +++ b/src/components/burgerMenu/index.tsx @@ -0,0 +1,103 @@ +import { useEventBus } from '@pivanov/event-bus'; +import { + useCallback, + useState, +} from 'react'; +import { useLocation } from 'react-router-dom'; + +import { Icon } from '@components/icon'; +import { Navigation } from '@components/navigation'; +import { PDScrollArea } from '@components/pdScrollArea'; +import { + useStoreChain, + useStoreUI, +} from '@stores'; +import { cn } from '@utils/helpers'; + +import type { IEventBusNavLinkClick } from '@custom-types/eventBus'; + +export const BurgerMenu = () => { + const [ + isOpen, + setIsOpen, + ] = useState(false); + const currentChain = useStoreChain.use.chain(); + const { pathname } = useLocation(); + + const isHomePage = pathname === '/'; + + const { toggleTheme } = useStoreUI.use.actions(); + const theme = useStoreUI.use.theme?.(); + + const handleMenuClick = useCallback(() => { + setIsOpen(!isOpen); + }, [isOpen]); + + useEventBus('@@-navlink-click', () => { + if (isOpen) { + setIsOpen(false); + } + }); + + if (isHomePage) { + return null; + } + + return ( + <> + +
+ +
+
+ +
+ {currentChain.name} +
+
+ +
+ +
+ +
+ + ); +}; diff --git a/src/components/callDocs.tsx b/src/components/callDocs.tsx new file mode 100644 index 00000000..53b3b46d --- /dev/null +++ b/src/components/callDocs.tsx @@ -0,0 +1,42 @@ +import { Icon } from '@components/icon'; +import { cn } from '@utils/helpers'; + +interface ICallDocs { + docs: string[]; + className?: string; +} + +export const CallDocs = ({ + docs, + className, +}: ICallDocs) => { + if (docs.length <= 0) { + return null; + } else { + return ( +
+ +
+ { + docs?.map((doc, i) => ( +

+ {doc} +

+ )) + } +
+
+ ); + } +}; diff --git a/src/components/chainSelectButton/index.tsx b/src/components/chainSelectButton/index.tsx new file mode 100644 index 00000000..ec995293 --- /dev/null +++ b/src/components/chainSelectButton/index.tsx @@ -0,0 +1,47 @@ +import { useToggleVisibility } from '@pivanov/use-toggle-visibility'; +import { useLocation } from 'react-router-dom'; + +import { Icon } from '@components/icon'; +import { ModalChainSelect } from '@components/modals/modalChainSelect'; +import { useStoreChain } from '@stores'; + +const ChainSelectButton = () => { + + const { pathname } = useLocation(); + const isHomePage = pathname === '/'; + + const [ + ChainSelectModal, + toggleVisibility, + ] = useToggleVisibility(ModalChainSelect); + const currentChain = useStoreChain.use.chain(); + + if (isHomePage) { + return null; + } + + return ( + <> + + + + ); +}; + +export default ChainSelectButton; diff --git a/src/components/chainSelector/index.tsx b/src/components/chainSelector/index.tsx new file mode 100644 index 00000000..a365826b --- /dev/null +++ b/src/components/chainSelector/index.tsx @@ -0,0 +1,182 @@ +import { + busDispatch, + useEventBus, +} from '@pivanov/event-bus'; +import { + useCallback, + useEffect, + useState, +} from 'react'; + +import { Icon } from '@components/icon'; +import { PDScrollArea } from '@components/pdScrollArea'; +import { SUPPORTED_CHAIN_GROUPS } from '@constants/chain'; +import { useStoreChain } from '@stores'; +import { cn } from '@utils/helpers'; + +import type { + ISupportedChainGroups, + TChain, +} from '@custom-types/chain'; +import type { + IEventBusSearchChain, + IEventBusSetChain, +} from '@custom-types/eventBus'; + +const CHAIN_GROUPS = Object.keys(SUPPORTED_CHAIN_GROUPS); +const ALL_CHAINS = CHAIN_GROUPS.reduce((acc: ISupportedChainGroups['']['chains'], curr) => { + SUPPORTED_CHAIN_GROUPS[curr].chains.forEach((chain) => { + acc.push(chain); + }); + return acc; +}, []); + +export const ChainSelector = () => { + const { setChain } = useStoreChain.use.actions(); + + const [ + selectedChainGroup, + setSelectedChainGroup, + ] = useState(''); + const [ + filteredChains, + setFilteredChains, + ] = useState']['chains']>(ALL_CHAINS); + const [ + query, + setQuery, + ] = useState(''); + + useEventBus('@@-search-chain', ({ data }) => { + setQuery(data); + }); + + const handleSelectGroup = useCallback((e: React.MouseEvent) => { + const chainGroup = e.currentTarget.getAttribute('data-chain-group') || ''; + if (chainGroup === selectedChainGroup) { + setSelectedChainGroup(''); + } else { + setSelectedChainGroup(chainGroup); + } + }, [selectedChainGroup]); + + const handleSetChain = useCallback((e: React.MouseEvent) => { + const chainId = e.currentTarget.getAttribute('data-chain-id') || ''; + + // const chain = SUPPORTED_CHAIN_GROUPS[chainId].chains.find(c => c.id === chainId); + const chain = ALL_CHAINS.find((c) => c.id === chainId); + + if (chain) { + setChain(chain); + busDispatch({ + type: '@@-set-chain', + data: chain, + }); + } + }, [setChain]); + + const filterChainsByQuery = useCallback((chain: TChain) => { + return chain.id.toLowerCase().startsWith(query.toLowerCase()); + }, [query]); + + useEffect(() => { + if (selectedChainGroup) { + setFilteredChains(SUPPORTED_CHAIN_GROUPS[selectedChainGroup].chains.filter(filterChainsByQuery)); + } else { + setFilteredChains(ALL_CHAINS.filter(filterChainsByQuery)); + } + }, [ + selectedChainGroup, + filterChainsByQuery, + ]); + + return ( +
+ +
    + { + CHAIN_GROUPS.map((chainGroup) => { + return ( +
  • + +
  • + ); + }) + } +
+
+ +
+ { + query && ( + + Search Results for " + {query} + " + + ) + } + { + filteredChains.length > 0 + ? ( +
    + { + filteredChains.map((chain) => { + return ( +
  • + +
  • + ); + }) + } +
+ ) + : No Results + } +
+
+
+ ); +}; diff --git a/src/components/chainState/index.ts b/src/components/chainState/index.ts new file mode 100644 index 00000000..ff7d2160 --- /dev/null +++ b/src/components/chainState/index.ts @@ -0,0 +1 @@ +export { default as InvocationStorageArgs } from './invocationStorageArgs'; diff --git a/src/components/chainState/invocationStorageArgs.tsx b/src/components/chainState/invocationStorageArgs.tsx new file mode 100644 index 00000000..0f2d62e7 --- /dev/null +++ b/src/components/chainState/invocationStorageArgs.tsx @@ -0,0 +1,37 @@ +import { NotImplemented } from '@components/invocationArgsMapper/notImplemented'; +import { useStoreChain } from '@stores'; + +import { InvocationMapper } from '../invocationArgsMapper/invocationMapper'; + +import type { InvocationStorageArgs as Type } from '@components/invocationArgsMapper/types'; +import type { TMetaDataStorageItem } from '@custom-types/papi'; +import type { MetadataLookup } from '@polkadot-api/metadata-builders'; + +const shouldSkipRendering = (storage: TMetaDataStorageItem, lookup: MetadataLookup | null): boolean => { + return storage.type.tag === 'plain' || !lookup; +}; + +const InvocationStorageArgs = ({ args, onChange }: Type) => { + const lookup = useStoreChain?.use?.lookup?.(); + if (!lookup) { + return null; + } + + try { + if (!shouldSkipRendering(args, lookup)) { + return ( + + ); + } else { + return null; + } + } catch (error) { + console.error(error); + return ; + } +}; + +export default InvocationStorageArgs; diff --git a/src/components/copyToClipboard/index.tsx b/src/components/copyToClipboard/index.tsx new file mode 100644 index 00000000..3126af57 --- /dev/null +++ b/src/components/copyToClipboard/index.tsx @@ -0,0 +1,134 @@ +import { + memo, + useCallback, + useEffect, + useMemo, + useRef, + useState, +} from 'react'; +import { toast } from 'react-hot-toast'; + +import { Icon } from '@components/icon'; +import { cn } from '@utils/helpers'; + +import type { + ReactElement, + ReactNode, +} from 'react'; + +interface ICopyToClipboardProps { + text: string; + toastMessage?: string; + children: (props: { ClipboardIcon: ReactNode; onClick: (e: React.MouseEvent) => void; text: string }) => ReactElement; + onCopy?: (success: boolean, text: string) => void; + showToast?: boolean; + className?: string; + iconSize?: number; +} + +export const CopyToClipboard = memo((props: ICopyToClipboardProps) => { + const { + text, + toastMessage, + showToast = true, + children, + onCopy, + className, + iconSize = 16, + } = props; + + const refTimeout = useRef(); + + const [ + isCopied, + setIsCopied, + ] = useState(false); + + useEffect(() => { + if (isCopied) { + refTimeout.current = setTimeout(() => setIsCopied(false), 2000); + return () => { + clearTimeout(refTimeout?.current); + }; + } + }, [isCopied]); + + const copyToClipboard = useCallback(async (e: React.MouseEvent) => { + e.preventDefault(); + e.stopPropagation(); + + const toastId = 'copy-to-clipboard'; + toast.dismiss(toastId); + + try { + await navigator.clipboard.writeText(text); + setIsCopied(true); + onCopy?.(true, text); + + if (showToast && !!toastMessage?.length) { + toast.loading('Copying...', { id: toastId }); + toast.success(( + + Copied + {' '} + {toastMessage} + {' '} + to clipboard + + ), { id: toastId }); + } + } catch (err) { + onCopy?.(false, text); + if (showToast) { + toast.error('Oops. Something went wrong', { id: toastId }); + } + } + }, [ + text, + onCopy, + showToast, + toastMessage, + ]); + + const ClipboardIcon = useMemo(() => { + return ( + + + + ); + }, [ + className, + copyToClipboard, + iconSize, + isCopied, + ]); + + return ( + <> + {children({ + ClipboardIcon, + onClick: copyToClipboard, + text, + })} + + ); +}); diff --git a/src/components/decoder/index.ts b/src/components/decoder/index.ts new file mode 100644 index 00000000..b7ba878f --- /dev/null +++ b/src/components/decoder/index.ts @@ -0,0 +1 @@ +export { default as InvocationDecoder } from './invocationDecoder'; diff --git a/src/components/decoder/invocationDecoder.tsx b/src/components/decoder/invocationDecoder.tsx new file mode 100644 index 00000000..d2f29709 --- /dev/null +++ b/src/components/decoder/invocationDecoder.tsx @@ -0,0 +1,52 @@ +/* eslint-disable react/jsx-no-bind */ +/* eslint-disable react-hooks/exhaustive-deps */ +import { useCallback } from 'react'; + +import { InvocationDecoderArgs } from '@components/decoder/invocationDecoderArgs'; +import { NotImplemented } from '@components/invocationArgsMapper/notImplemented'; + +import styles from '../invocationArgsMapper/styles.module.css'; + +import type { InvocationDecoder as Type } from '@components/invocationArgsMapper/types'; + +const InvocationDecoder = ({ fields, onChange }: Type) => { + const handleOnChange = useCallback((index: number, args: unknown) => { + onChange(index, args); + }, []); + + if (!fields) { + return null; + } else { + return ( +
+ { + fields.map((field, index) => { + const { name, type, description } = field; + if (!type) { + return ; + } else { + return ( +
+ + {name} + +
+
+ handleOnChange(index, args)} + placeholder={description} + /> +
+
+
+ ); + } + }) + } +
+ ); + } +}; + +export default InvocationDecoder; diff --git a/src/components/decoder/invocationDecoderArgs.tsx b/src/components/decoder/invocationDecoderArgs.tsx new file mode 100644 index 00000000..8a05ca62 --- /dev/null +++ b/src/components/decoder/invocationDecoderArgs.tsx @@ -0,0 +1,49 @@ +import { NotImplemented } from '@components/invocationArgsMapper/notImplemented'; +import { OrderBuilder } from '@components/metadataBuilders/orderBuilder'; +import { PrimitiveBuilder } from '@components/metadataBuilders/primitiveBuilder'; + +import type { IDecoderBuilderProps } from '@components/invocationArgsMapper/types'; +import type { InvocationDecoderArgs as Type } from '@constants/decoders/types'; + +const mapperCore: Record JSX.Element> = { + array: (props) => ( + + ), + string: (props) => ( + + ), + hex: (props) => ( + + ), +}; +export const InvocationDecoderArgs = (props: IDecoderBuilderProps) => { + if (!props) { + return null; + } else { + try { + const decoderType = props.decoder.type; + const InvocationComponent = mapperCore[decoderType] ?? NotImplemented; + + return ; + } catch (error) { + console.error(error); + return ; + } + } +}; diff --git a/src/components/decoderDynamic/index.ts b/src/components/decoderDynamic/index.ts new file mode 100644 index 00000000..ef3dd215 --- /dev/null +++ b/src/components/decoderDynamic/index.ts @@ -0,0 +1 @@ +export { default as InvocationDecoderDynamic } from './invocationDecoderDynamic'; diff --git a/src/components/decoderDynamic/invocationDecoderDynamic.tsx b/src/components/decoderDynamic/invocationDecoderDynamic.tsx new file mode 100644 index 00000000..3c21d7fc --- /dev/null +++ b/src/components/decoderDynamic/invocationDecoderDynamic.tsx @@ -0,0 +1,28 @@ +import { PrimitiveBuilder } from '@components/metadataBuilders/primitiveBuilder'; + +import styles from '../invocationArgsMapper/styles.module.css'; + +import type { InvocationDecoderDynamic as Type } from '@components/invocationArgsMapper/types'; + +const InvocationDecoderDynamic = ({ onChange }: Type) => { + return ( +
+
+ + SCALE-encoded value + +
+
+ +
+
+
+
+ ); +}; + +export default InvocationDecoderDynamic; diff --git a/src/components/errorBoundary/index.tsx b/src/components/errorBoundary/index.tsx new file mode 100644 index 00000000..dccb68cc --- /dev/null +++ b/src/components/errorBoundary/index.tsx @@ -0,0 +1,43 @@ +import React, { Component } from 'react'; + +import type { + ErrorInfo, + ReactNode, +} from 'react'; + +interface Props { + children: ReactNode; +} + +interface State { + hasError: boolean; + error?: Error; +} + +export class ErrorBoundary extends Component { + constructor(props: Props) { + super(props); + this.state = { hasError: false }; + } + + static getDerivedStateFromError(error: Error): State { + return { hasError: true, error }; + } + + componentDidCatch(error: Error, errorInfo: ErrorInfo): void { + console.error('Uncaught error:', error, errorInfo); + } + + render() { + if (this.state.hasError) { + return ( +
+

Something went wrong.

+

{this.state.error?.message}

+
+ ); + } + + return this.props.children; + } +} diff --git a/src/components/exampleNotFound/index.tsx b/src/components/exampleNotFound/index.tsx new file mode 100644 index 00000000..86d7ba0a --- /dev/null +++ b/src/components/exampleNotFound/index.tsx @@ -0,0 +1,116 @@ +import { Icon } from '@components/icon'; +import { PDLink } from '@components/pdLink'; +import { useStoreAuth } from '@stores'; +import { cn } from '@utils/helpers'; + +interface ExampleNotFoundProps { + classes?: string; + iconClasses?: string; + textClasses?: string; + onClick?: () => void; +} + +export const ExampleNotFound = (props: ExampleNotFoundProps) => { + const { classes, iconClasses, textClasses, onClick } = props; + const isAuthenticated = useStoreAuth.use.jwtToken?.(); + const { authorize } = useStoreAuth.use.actions(); + + if (!isAuthenticated) { + return ( +
+ +
+

Please Log in

+

+ To access your custom examples, please log in using your GitHub account. +

+ +
+
+ ); + } + + return ( +
+ +
+

Nothing here

+

+ Currently, you don't have any custom examples created. Ready to create one? +

+ + { + onClick + ? ( + + ) + : ( + + + + ) + } + +
+
+ ); +}; diff --git a/src/components/footer/footerLink.tsx b/src/components/footer/footerLink.tsx new file mode 100644 index 00000000..259bac21 --- /dev/null +++ b/src/components/footer/footerLink.tsx @@ -0,0 +1,42 @@ +import { + Icon, + type SVGIconProps, +} from '@components/icon'; +import { + type IPDLink, + PDLink, +} from '@components/pdLink'; +import { cn } from '@utils/helpers'; + +export interface IFooterLinkProps { + linkProps: IPDLink; + iconProps: SVGIconProps; + className?: string; + text?: string; +} + +const FooterLink = ({ linkProps, iconProps, className, text }: IFooterLinkProps) => { + return ( + + + { + text && ( + {text} + ) + } + + ); +}; + +export default FooterLink; diff --git a/src/components/footer/index.tsx b/src/components/footer/index.tsx new file mode 100644 index 00000000..26b631ee --- /dev/null +++ b/src/components/footer/index.tsx @@ -0,0 +1,51 @@ +import { Icon } from '@components/icon'; +import { PDLink } from '@components/pdLink'; +import { footerLinks } from '@constants/footer'; +import { LINK_LIMECHAIN } from '@constants/links'; +import { cn } from '@utils/helpers'; + +import FooterLink from './footerLink'; + +export const Footer = () => { + return ( +
+ + Made by + + +
+ { + footerLinks.map((link) => { + return ( + + ); + }) + } +
+
+ ); +}; + +Footer.displayName = 'Footer'; diff --git a/src/components/githubButton/index.tsx b/src/components/githubButton/index.tsx new file mode 100644 index 00000000..3b672d0d --- /dev/null +++ b/src/components/githubButton/index.tsx @@ -0,0 +1,83 @@ +import { useToggleVisibility } from '@pivanov/use-toggle-visibility'; +import { useCallback } from 'react'; + +import { Icon } from '@components/icon'; +import { ModalGithubLogin } from '@components/modals/modalGithubLogin'; +import { useStoreAuth } from '@stores'; +import { cn } from '@utils/helpers'; +import { useStoreCustomExamples } from 'src/stores/examples'; + +export const GithubButton = () => { + const [ + GithubModal, + toggleVisibility, + ] = useToggleVisibility(ModalGithubLogin); + + const { logout } = useStoreAuth.use.actions(); + const { name, avatar } = useStoreAuth.use.user(); + const isAuthenticated = useStoreAuth.use.jwtToken?.(); + const { resetStore } = useStoreCustomExamples.use.actions(); + + const handleLogout = useCallback(async () => { + resetStore(); + await logout(); + }, [ + logout, + resetStore, + ]); + + return ( +
+ { + isAuthenticated + ? ( +
+
+ avatar + {name.length > 20 ? `${name.slice(0, 20)}..` : name} +
+ +
+ ) + : ( + + ) + } + + +
+ ); +}; diff --git a/src/components/header/index.tsx b/src/components/header/index.tsx new file mode 100644 index 00000000..9496ebc7 --- /dev/null +++ b/src/components/header/index.tsx @@ -0,0 +1,39 @@ +import { BurgerMenu } from '@components/burgerMenu'; +import ChainSelectButton from '@components/chainSelectButton'; +import { Logo } from '@components/logo'; +import { MobileChainSelect } from '@components/mobileChainSelect'; +import { Navigation } from '@components/navigation'; +import { ToggleTheme } from '@components/toggleTheme'; +import WalletSelectButton from '@components/walletSelectButton'; +import { useStoreUI } from '@stores'; + +export const Header = () => { + const isMobile = useStoreUI?.use?.isMobile?.(); + return ( + + ); +}; + +Header.displayName = 'Header'; diff --git a/src/components/icon/index.tsx b/src/components/icon/index.tsx new file mode 100644 index 00000000..0c9c03c8 --- /dev/null +++ b/src/components/icon/index.tsx @@ -0,0 +1,50 @@ +import { + type CSSProperties, + type ForwardedRef, + forwardRef, +} from 'react'; + +export interface SVGIconProps { + size?: Array; + name: string; + fill?: string; + className?: string; + testId?: string; + externalURL?: string; + style?: CSSProperties; +} + +export const Icon = forwardRef( + (props: SVGIconProps, ref: ForwardedRef) => { + const { + size = [24], + name, + fill, + className, + testId, + externalURL = '/svg-sprite.svg', + style, + } = props; + + const attributes = { + width: size?.[0] || '100%', + height: size?.[1] || size?.[0] || '100%', + className, + style, + }; + + const color = fill || 'currentColor'; + const path = `${externalURL}#${name}`; + + return ( + + + + ); + }, +); diff --git a/src/components/invocationArgsMapper/index.tsx b/src/components/invocationArgsMapper/index.tsx new file mode 100644 index 00000000..86c9bf16 --- /dev/null +++ b/src/components/invocationArgsMapper/index.tsx @@ -0,0 +1,39 @@ +import { NotImplemented } from '@components/invocationArgsMapper/notImplemented'; +import { useStoreChain } from '@stores'; + +import { InvocationMapper } from './invocationMapper'; + +import type { InvocationArgsMapper as Type } from '@components/invocationArgsMapper/types'; + +export const InvocationArgsMapper = ({ invocationVar, onChange }: Type) => { + const lookup = useStoreChain?.use?.lookup?.(); + + try { + if (!lookup) { + return null; + } else { + if (!invocationVar?.type) { + return ; + } else { + if (invocationVar.type !== 'lookupEntry') { + return ( + + ); + } else { + return ( + + ); + } + } + } + } catch (error) { + console.error(error); + return ; + } +}; diff --git a/src/components/invocationArgsMapper/invocationMapper.tsx b/src/components/invocationArgsMapper/invocationMapper.tsx new file mode 100644 index 00000000..81080674 --- /dev/null +++ b/src/components/invocationArgsMapper/invocationMapper.tsx @@ -0,0 +1,121 @@ +import { NotImplemented } from '@components/invocationArgsMapper/notImplemented'; +import { AccountBuilder } from '@components/metadataBuilders/accountBuilder'; +import ArrayVarBuilder from '@components/metadataBuilders/arrayBuilder/arrayBuilder'; +import { BitstreamBuilder } from '@components/metadataBuilders/bitstreamBuilder'; +import CompactVarBuilder from '@components/metadataBuilders/compactBuilder/compactBuilder'; +import { ConditionalParamBuilder } from '@components/metadataBuilders/conditionalBuilder'; +import { EnumBuilder } from '@components/metadataBuilders/enumBuilder'; +import { OrderBuilder } from '@components/metadataBuilders/orderBuilder'; +import { PrimitiveBuilder } from '@components/metadataBuilders/primitiveBuilder'; +import { StructBuilder } from '@components/metadataBuilders/structBuilder'; +import { TupleBuilder } from '@components/metadataBuilders/tupleBuilder'; +import { VoidBuilder } from '@components/metadataBuilders/voidBuilder'; + +import type { InvocationMapperProps } from '@components/invocationArgsMapper/types'; +import type { + AccountId20, + AccountId32, + ArrayVar, + CompactVar, + EnumVar, + OptionVar, + PrimitiveVar, + SequenceVar, + StructVar, + TupleVar, +} from '@polkadot-api/metadata-builders'; + +const mapperCore: Record JSX.Element> = { + result: () => , + bitSequence: ({ onChange, placeholder }) => ( + + ), + compact: ({ onChange, invokationVar }) => ( + + ), + array: ({ onChange, invokationVar }) => ( + + ), + enum: ({ invokationVar, onChange }) => ( + + ), + struct: ({ onChange, invokationVar }) => ( + + ), + AccountId20: ({ invokationVar, onChange }) => ( + + ), + AccountId32: ({ invokationVar, onChange }) => ( + + ), + tuple: ({ invokationVar, onChange }) => ( + + ), + sequence: ({ onChange, invokationVar, placeholder }) => ( + + ), + void: ({ onChange }) => , + primitive: ({ onChange, invokationVar, placeholder }) => ( + + ), + option: ({ onChange, invokationVar }) => { + + return ( + + ); + }, +}; + +export const InvocationMapper = (props: InvocationMapperProps) => { + if (!props) { + return null; + } else { + try { + if (!props.invokationVar) { + return ; + } else { + const InvocationComponent = mapperCore[props?.invokationVar?.type] ?? NotImplemented; + return ; + } + } catch (error) { + console.error(error); + return ; + } + } +}; diff --git a/src/components/invocationArgsMapper/invocationRpcSelect.tsx b/src/components/invocationArgsMapper/invocationRpcSelect.tsx new file mode 100644 index 00000000..2812ef8c --- /dev/null +++ b/src/components/invocationArgsMapper/invocationRpcSelect.tsx @@ -0,0 +1,41 @@ +/* eslint-disable react-hooks/exhaustive-deps */ + +import { + useCallback, + useEffect, + useState, +} from 'react'; + +import { PDSelect } from '@components/pdSelect'; + +import type { InvocationRpcArg } from '@components/invocationArgsMapper/types'; + +export const InvocationRpcSelect = ({ onChange, rpc }: InvocationRpcArg) => { + const [ + selectValue, + setSelectValue, + ] = useState(rpc.options?.at(0)); + + const handleOnChange = useCallback((value: string) => { + onChange(value); + setSelectValue(value); + }, []); + + useEffect(() => { + onChange(selectValue); + }, []); + + const selectItems = rpc?.options?.map((opt) => ({ + label: opt, + value: opt, + key: `rpc-select-${opt}`, + })); + + return ( + + ); +}; diff --git a/src/components/invocationArgsMapper/notImplemented.tsx b/src/components/invocationArgsMapper/notImplemented.tsx new file mode 100644 index 00000000..844714f3 --- /dev/null +++ b/src/components/invocationArgsMapper/notImplemented.tsx @@ -0,0 +1,7 @@ +export const NotImplemented = () => { + return ( +
+ Not Implemented +
+ ); +}; diff --git a/src/components/invocationArgsMapper/styles.module.css b/src/components/invocationArgsMapper/styles.module.css new file mode 100644 index 00000000..ba4e337d --- /dev/null +++ b/src/components/invocationArgsMapper/styles.module.css @@ -0,0 +1,23 @@ +.invocationContainer { + @apply border-l border-dashed pl-4 pt-2; + @apply empty:hidden flex flex-col gap-4; + @apply border-dev-purple-300 dark:border-dev-purple-700; +} + +.invocationInputField { + @apply w-full border dark:border-dev-purple-700 border-dev-white-900 outline-none; + @apply w-full outline-none; + @apply p-3 bg-transparent; + @apply font-geist font-body1-regular; + + @apply read-only:opacity-60 read-only:cursor-not-allowed +} + +.invocationInputErrorState { + @apply transition-[border]; + @apply !border-dev-red-700 +} + +.invocationGroup { + @apply flex flex-col gap-2 +} diff --git a/src/components/invocationArgsMapper/types.ts b/src/components/invocationArgsMapper/types.ts new file mode 100644 index 00000000..391a9b93 --- /dev/null +++ b/src/components/invocationArgsMapper/types.ts @@ -0,0 +1,124 @@ +import type { InvocationDecoderArgs } from '@constants/decoders/types'; +import type { IRpcArg } from '@constants/rpcCalls/types'; +import type { + TMetaDataApiMethod, + TMetaDataCallBuilder, + TMetaDataPallet, + TMetaDataStorageItem, +} from '@custom-types/papi'; +import type { + AccountId20, + AccountId32, + ArrayVar, + CompactVar, + EnumVar, + OptionVar, + PrimitiveVar, + SequenceVar, + StructVar, + TupleVar, + Var, +} from '@polkadot-api/metadata-builders'; +import type { InjectedPolkadotAccount } from 'polkadot-api/dist/reexports/pjs-signer'; + +export interface InvocationOnChangeProps { + onChange: (args: unknown) => void; +} + +export interface InvocationOnChangeWithIndexProps { + onChange: (index: number, args: unknown) => void; +} + +export interface InvocationStorageArgs extends InvocationOnChangeProps { + args: TMetaDataStorageItem; +} + +export interface InvocationMapperProps extends InvocationOnChangeProps { + invokationVar: Var; + placeholder?: string; +} +export interface InvocationRpcArgs extends InvocationOnChangeWithIndexProps { + rpcs: IRpcArg[]; +} + +export interface InvocationRpcArg extends InvocationOnChangeProps { + rpc: IRpcArg; + placeholder?: string; + readOnly?: boolean; +} + +export interface InvocationRuntimeArgs extends InvocationOnChangeProps { + runtimeMethod: TMetaDataApiMethod; +} + +export interface InvocationArgsMapper extends InvocationOnChangeProps { + pallet: TMetaDataPallet; + name: string; + invocationVar: TMetaDataCallBuilder; +} + +export interface InvocationDecoder extends InvocationOnChangeWithIndexProps { + fields: InvocationDecoderArgs[]; +} + +export interface IDecoderBuilderProps extends InvocationOnChangeProps { + decoder: InvocationDecoderArgs; + placeholder?: string; + readOnly?: boolean; +} + +export interface InvocationDecoderDynamic extends InvocationOnChangeProps { } + +export interface IBitstreamBuilder extends InvocationOnChangeProps { + minLength: number; + placeholder?: string; + readOnly?: boolean; +} +export interface IArrayVarBuilder extends InvocationOnChangeProps { + data: ArrayVar; +} +export interface ICompactBuilder extends InvocationOnChangeProps { + compact: CompactVar; +} +export interface IStructBuilder extends InvocationOnChangeProps { + struct: StructVar; +} + +export interface StructArgs { + key: string; + value: unknown; +} + +export interface ICustomAccount extends InvocationOnChangeProps { + accountId: AccountId20 | AccountId32; +} + +export interface IAccountBuilder extends InvocationOnChangeProps { + accountId: AccountId20 | AccountId32; +} + +export interface IAccountSelectBuilder extends InvocationOnChangeProps { + accounts: InjectedPolkadotAccount[]; +} +export interface ITupleBuilder extends InvocationOnChangeProps { + tuple: TupleVar; +} + +export interface ISequenceBuilder extends InvocationOnChangeProps { + sequence: SequenceVar; + placeholder?: string; +} + +export interface IPrimitiveBuilder extends InvocationOnChangeProps { + primitive: PrimitiveVar; + placeholder?: string; + readOnly?: boolean; +} + +export interface IConditionalBuilder extends InvocationOnChangeProps { + condition: OptionVar; +} + +export interface IEnumBuilder extends InvocationOnChangeProps { + enum: EnumVar; +} diff --git a/src/components/jsonViewer/index.tsx b/src/components/jsonViewer/index.tsx new file mode 100644 index 00000000..7ed9033a --- /dev/null +++ b/src/components/jsonViewer/index.tsx @@ -0,0 +1,43 @@ +import { + Binary, + FixedSizeBinary, +} from 'polkadot-api'; +import JsonView, { type JsonViewProps } from 'react18-json-view'; +import 'react18-json-view/src/style.css'; + +import { PDScrollArea } from '@components/pdScrollArea'; + +const normalizeData = (data: unknown): unknown => { + // base case + if (typeof data !== 'object' || data == null) { + return data; + } + if (data instanceof Binary || data instanceof FixedSizeBinary) { + return data.asHex(); + } + if (Array.isArray(data)) { + return data.map(normalizeData); + } + return Object.fromEntries( + Object.entries(data).map(([ + key, + value, + ]) => [ + key, + normalizeData(value), + ] as const)); +}; + +export const JsonViewer = (props: JsonViewProps) => { + const { src } = props; + + return ( + + + + ); +}; diff --git a/src/components/layouts/basic/index.tsx b/src/components/layouts/basic/index.tsx new file mode 100644 index 00000000..e8f12341 --- /dev/null +++ b/src/components/layouts/basic/index.tsx @@ -0,0 +1,71 @@ +import { + type CSSProperties, + Suspense, + useRef, +} from 'react'; +import { Outlet } from 'react-router-dom'; + +import { Footer } from '@components/footer'; +import { Header } from '@components/header'; +import { PDScrollArea } from '@components/pdScrollArea'; +import { cn } from '@utils/helpers'; +import { useResizeObserver } from '@utils/hooks/useResizeObserver'; + +interface ILayoutBasic { + classNames?: string; + hasFooter: boolean; +} + +export const LayoutBasic = (props: ILayoutBasic) => { + const { + classNames, + hasFooter, + } = props; + + const refScrollArea = useRef(null); + + const [refContainerDimensions, , computedStyle] = useResizeObserver(refScrollArea, { withComputedStyle: true }); + const scrollAreaHeight = refContainerDimensions?.height; + const scrollAreaWidth = refContainerDimensions?.width; + + const viewportStyles = ( + (scrollAreaHeight && computedStyle?.paddingTop && computedStyle?.paddingBottom) + && (scrollAreaWidth && computedStyle?.paddingLeft && computedStyle?.paddingRight) + ) + ? { + '--initial-scroll-arrea-width': `${(scrollAreaWidth - parseInt(computedStyle?.paddingLeft) - parseInt(computedStyle?.paddingRight))}px`, + '--initial-scroll-arrea-height': `${(scrollAreaHeight - parseInt(computedStyle?.paddingTop) - parseInt(computedStyle?.paddingBottom))}px`, + } as CSSProperties + : undefined; + + return ( + +
+
+ *:first-child]:h-full', + classNames, + )} + > + {viewportStyles && } + + + { + hasFooter && ( +
+ ) + } +
+
+ ); +}; + +LayoutBasic.displayName = 'LayoutBasic'; diff --git a/src/components/layouts/codeEditor/index.tsx b/src/components/layouts/codeEditor/index.tsx new file mode 100644 index 00000000..24dc970c --- /dev/null +++ b/src/components/layouts/codeEditor/index.tsx @@ -0,0 +1,17 @@ +import { Suspense } from 'react'; +import { Outlet } from 'react-router-dom'; + +import { Header } from '@components/header'; + +export const LayoutCodeEditor = () => { + return ( + +
+
+ +
+
+ ); +}; + +LayoutCodeEditor.displayName = 'LayoutCodeEditor'; diff --git a/src/components/loader/index.tsx b/src/components/loader/index.tsx new file mode 100644 index 00000000..e331d673 --- /dev/null +++ b/src/components/loader/index.tsx @@ -0,0 +1,13 @@ +import { cn } from '@utils/helpers'; + +interface LoaderProps { + classNames?: string; +} +export const Loader = (props: LoaderProps) => { + const { classNames } = props; + return ( +
+ ); +}; + +Loader.displayName = 'Loader'; diff --git a/src/components/login/callback.tsx b/src/components/login/callback.tsx new file mode 100644 index 00000000..df151463 --- /dev/null +++ b/src/components/login/callback.tsx @@ -0,0 +1,70 @@ +import { + useEffect, + useRef, + useState, +} from 'react'; +import { useNavigate } from 'react-router-dom'; + +import { STORAGE_AUTH_SUCCESSFUL_REDIRECT_TO } from '@constants/auth'; +import { useStoreAuth } from '@stores'; +import { getSearchParam } from '@utils/helpers'; + +const Callback = () => { + const navigate = useNavigate(); + const codeUsed = useRef(false); + const [ + error, + setError, + ] = useState(null); + + const { login } = useStoreAuth.use.actions(); + + useEffect(() => { + const getAccessToken = async () => { + const code = getSearchParam('code'); + const error = getSearchParam('error'); + + if (error) { + setError(error); + return; + } + + if (codeUsed.current || !code) { + return; + } + + codeUsed.current = true; + const token = await login(code); + const successRedirectTo = window.localStorage.getItem(STORAGE_AUTH_SUCCESSFUL_REDIRECT_TO); + + if (token && successRedirectTo) { + navigate(successRedirectTo || '/'); + window.localStorage.removeItem(STORAGE_AUTH_SUCCESSFUL_REDIRECT_TO); + } + }; + + void getAccessToken(); + + }, [ + navigate, + login, + ]); + + if (error) { + return ( +
+

Failed to authorize with GitHub

+

{error}

+
+ ); + + } + + return ( +
+

Successfully authorized with GitHub

+
+ ); +}; + +export default Callback; diff --git a/src/components/logo/index.tsx b/src/components/logo/index.tsx new file mode 100644 index 00000000..951fcfaf --- /dev/null +++ b/src/components/logo/index.tsx @@ -0,0 +1,19 @@ +import { Icon } from '@components/icon'; +import { PDLink } from '@components/pdLink'; + +export const Logo = () => { + return ( + + + + ); +}; diff --git a/src/components/metadataBuilders/accountBuilder/accountBuilder.tsx b/src/components/metadataBuilders/accountBuilder/accountBuilder.tsx new file mode 100644 index 00000000..08bba882 --- /dev/null +++ b/src/components/metadataBuilders/accountBuilder/accountBuilder.tsx @@ -0,0 +1,85 @@ +/* eslint-disable react-hooks/exhaustive-deps */ +import { type InjectedPolkadotAccount } from 'polkadot-api/pjs-signer'; +import { + useCallback, + useEffect, + useState, +} from 'react'; + +import { PDSwitch } from '@components/pdSwitch'; +import { useStoreWallet } from 'src/stores/wallet'; + +import styles from '../../invocationArgsMapper/styles.module.css'; + +import { ManualAccountInput } from './manualAccountInput'; +import { WalletAccountSelector } from './walletAccountSelector'; + +import type { IAccountBuilder } from '@components/invocationArgsMapper/types'; + +export const AccountBuilder = ({ accountId, onChange }: IAccountBuilder) => { + const walletAccounts = useStoreWallet?.use?.accounts?.() ?? []; + const [ + isManualInput, + setIsManualInput, + ] = useState(false); + + // Reset to wallet selection mode when accounts change + useEffect(() => { + setIsManualInput(false); + if (walletAccounts.length > 0) { + onChange(walletAccounts[0].address); + } + }, [walletAccounts]); + + // Set default wallet account when switching back from manual mode + useEffect(() => { + if (!isManualInput && walletAccounts.length > 0) { + onChange(walletAccounts[0].address); + } + }, [ + isManualInput, + walletAccounts, + ]); + + const handleAccountSelect = useCallback((account: unknown) => { + const selectedAccount = account as InjectedPolkadotAccount; + if (selectedAccount?.address) { + onChange(selectedAccount.address); + } + }, []); + + const handleManualInputToggle = useCallback(() => { + setIsManualInput((prev) => !prev); + }, []); + + const renderAccountInput = () => { + if (isManualInput) { + return ( + + ); + } + + return ( + + ); + }; + + return ( +
+ +
+ {renderAccountInput()} +
+
+ ); +}; diff --git a/src/components/metadataBuilders/accountBuilder/index.ts b/src/components/metadataBuilders/accountBuilder/index.ts new file mode 100644 index 00000000..f1dc6d04 --- /dev/null +++ b/src/components/metadataBuilders/accountBuilder/index.ts @@ -0,0 +1,2 @@ +export { AccountBuilder } from './accountBuilder'; + diff --git a/src/components/metadataBuilders/accountBuilder/manualAccountInput.tsx b/src/components/metadataBuilders/accountBuilder/manualAccountInput.tsx new file mode 100644 index 00000000..9dabb517 --- /dev/null +++ b/src/components/metadataBuilders/accountBuilder/manualAccountInput.tsx @@ -0,0 +1,61 @@ +import { getSs58AddressInfo } from 'polkadot-api'; +import { + type ChangeEvent, + useCallback, + useEffect, + useState, +} from 'react'; + +import { cn } from '@utils/helpers'; + +import styles from '../../invocationArgsMapper/styles.module.css'; + +import type { + AccountId20, + AccountId32, +} from '@polkadot-api/metadata-builders'; + +interface ManualAccountInputProps { + accountId: AccountId20 | AccountId32; + onChange: (address: string) => void; +} + +export const ManualAccountInput = ({ + onChange, +}: ManualAccountInputProps) => { + const [ + address, + setAddress, + ] = useState(''); + const [ + isInvalid, + setIsInvalid, + ] = useState(false); + + useEffect(() => { + onChange(''); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + const handleAddressChange = useCallback((e: ChangeEvent) => { + const newAddress = e.target.value; + setAddress(newAddress); + const { isValid } = getSs58AddressInfo(newAddress); + setIsInvalid(!isValid); + onChange(newAddress); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []); + + return ( + + ); +}; diff --git a/src/components/metadataBuilders/accountBuilder/walletAccountSelector.tsx b/src/components/metadataBuilders/accountBuilder/walletAccountSelector.tsx new file mode 100644 index 00000000..ad171959 --- /dev/null +++ b/src/components/metadataBuilders/accountBuilder/walletAccountSelector.tsx @@ -0,0 +1,63 @@ +import { type InjectedPolkadotAccount } from 'polkadot-api/pjs-signer'; +import { + useCallback, + useEffect, + useMemo, + useState, +} from 'react'; + +import { PDSelect } from '@components/pdSelect'; + +interface WalletAccountSelectorProps { + accounts: InjectedPolkadotAccount[]; + onChange: (account: InjectedPolkadotAccount) => void; +} + +export const WalletAccountSelector = ({ accounts, onChange }: WalletAccountSelectorProps) => { + const [ + selectedAccount, + setSelectedAccount, + ] = useState( + accounts[0], + ); + + useEffect(() => { + if (!!!accounts.length) { + setSelectedAccount(undefined); + return; + } + + if (!selectedAccount) { + setSelectedAccount(accounts[0]); + } + + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [accounts]); + + const handleAccountSelect = useCallback((address: string) => { + const account = accounts.find((acc) => acc.address === address); + if (account) { + setSelectedAccount(account); + onChange(account); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [accounts]); + + const accountOptions = useMemo(() => { + return accounts.map((account) => ({ + label: account.address, + value: account.address, + key: `wallet-account-${account.address}`, + })); + }, [accounts]); + + return ( + + ); +}; diff --git a/src/components/metadataBuilders/arrayBuilder/arrayBuilder.tsx b/src/components/metadataBuilders/arrayBuilder/arrayBuilder.tsx new file mode 100644 index 00000000..f5dac869 --- /dev/null +++ b/src/components/metadataBuilders/arrayBuilder/arrayBuilder.tsx @@ -0,0 +1,32 @@ +import { NotImplemented } from '@components/invocationArgsMapper/notImplemented'; +import { ArrayVarBuilderCore } from '@components/metadataBuilders/arrayBuilder/arrayBuilderCore'; +import { BitstreamBuilder } from '@components/metadataBuilders/bitstreamBuilder'; +import { varIsBinary } from '@utils/papi/helpers'; + +import type { IArrayVarBuilder } from '@components/invocationArgsMapper/types'; + +const ArrayVarBuilder = ({ data, onChange }: IArrayVarBuilder) => { + try { + if (!varIsBinary(data)) { + return ( + + ); + } else { + return ( + + ); + } + } catch (error) { + console.error(error); + return ; + } +}; + +export default ArrayVarBuilder; diff --git a/src/components/metadataBuilders/arrayBuilder/arrayBuilderCore.tsx b/src/components/metadataBuilders/arrayBuilder/arrayBuilderCore.tsx new file mode 100644 index 00000000..4359baad --- /dev/null +++ b/src/components/metadataBuilders/arrayBuilder/arrayBuilderCore.tsx @@ -0,0 +1,53 @@ +/* eslint-disable react-hooks/exhaustive-deps */ +/* eslint-disable react/jsx-no-bind */ +import { + useCallback, + useEffect, + useState, +} from 'react'; + +import { InvocationMapper } from '@components/invocationArgsMapper/invocationMapper'; +import { buildArrayState } from '@utils/invocationMapper'; + +import styles from '../../invocationArgsMapper/styles.module.css'; + +import type { IArrayVarBuilder } from '@components/invocationArgsMapper/types'; + +export const ArrayVarBuilderCore = ({ data, onChange }: IArrayVarBuilder) => { + const [ + arrayProps, + setArrayProps, + ] = useState(buildArrayState(data.len || 0)); + + const handleUpdateVals = useCallback((vals: unknown[]) => { + onChange(vals.some((val) => !Boolean(val)) ? undefined : vals); + }, []); + + useEffect(() => { + handleUpdateVals(arrayProps); + }, [arrayProps]); + + const handleOnChange = useCallback((index: number, args: unknown) => { + setArrayProps((props) => { + const newArrayProps = [...props]; + newArrayProps[index] = args as typeof arrayProps[number]; + return newArrayProps; + }); + }, []); + + return ( +
+ { + arrayProps.map((arrProp, index) => { + return ( + handleOnChange(index, args)} + /> + ); + }) + } +
+ ); +}; diff --git a/src/components/metadataBuilders/arrayBuilder/index.ts b/src/components/metadataBuilders/arrayBuilder/index.ts new file mode 100644 index 00000000..ccc15a27 --- /dev/null +++ b/src/components/metadataBuilders/arrayBuilder/index.ts @@ -0,0 +1 @@ +export { default as ArrayBuilder } from './arrayBuilder'; diff --git a/src/components/metadataBuilders/bitstreamBuilder/bitstreamBuilder.tsx b/src/components/metadataBuilders/bitstreamBuilder/bitstreamBuilder.tsx new file mode 100644 index 00000000..1046ebd8 --- /dev/null +++ b/src/components/metadataBuilders/bitstreamBuilder/bitstreamBuilder.tsx @@ -0,0 +1,57 @@ +/* eslint-disable react-hooks/exhaustive-deps */ +import { Binary } from 'polkadot-api'; +import { + useCallback, + useState, +} from 'react'; + +import { BitstreamInput } from '@components/metadataBuilders/bitstreamBuilder/bitstreamInput'; +import { PDFileUpload } from '@components/pdFileUpload'; +import { PDSwitch } from '@components/pdSwitch'; + +import styles from '../../invocationArgsMapper/styles.module.css'; + +import type { IBitstreamBuilder } from '@components/invocationArgsMapper/types'; +const emptyBin = Binary.fromText(''); +const BitstreamBuilder = ({ + onChange, + minLength, + placeholder, + readOnly, +}: IBitstreamBuilder) => { + const [ + isFile, + setIsFile, + ] = useState(false); + + const handleOnSwitch = useCallback(() => { + setIsFile((prev) => !prev); + onChange(emptyBin); + }, []); + + const shouldUploadFile = isFile && !readOnly; + + return ( +
+ + { + shouldUploadFile + ? + : ( + + ) + } +
+ ); +}; + +export default BitstreamBuilder; diff --git a/src/components/metadataBuilders/bitstreamBuilder/bitstreamInput.tsx b/src/components/metadataBuilders/bitstreamBuilder/bitstreamInput.tsx new file mode 100644 index 00000000..3f2d22f6 --- /dev/null +++ b/src/components/metadataBuilders/bitstreamBuilder/bitstreamInput.tsx @@ -0,0 +1,74 @@ +import { Binary } from 'polkadot-api'; +import { + type ChangeEvent, + useCallback, + useEffect, + useState, +} from 'react'; + +import { cn } from '@utils/helpers'; + +import styles from '../../invocationArgsMapper/styles.module.css'; + +import type { IBitstreamBuilder } from '@components/invocationArgsMapper/types'; + +export const BitstreamInput = ({ + onChange, + minLength, + placeholder, + readOnly, +}: IBitstreamBuilder) => { + const requiredHexLength = minLength * 2; + + const requiredBinaryLength = minLength; + const encodedValue = String().padEnd(requiredHexLength, '0'); + + const [ + value, + setValue, + ] = useState(requiredHexLength ? `0x${encodedValue}` : ''); + const [ + isError, + setIsError, + ] = useState(false); + + const handleOnChange = useCallback((e: ChangeEvent) => { + const text = e.target.value; + setValue(text); + }, []); + + useEffect(() => { + const isHex = value.startsWith('0x'); + + if (isHex) { + const _value = Binary.fromHex(value); + onChange(_value); + + const valueLength = _value.asBytes().length; + setIsError(minLength ? valueLength !== requiredBinaryLength : false); + } else { + const _value = Binary.fromHex(value); + onChange(_value); + + const valueLength = _value.asBytes().length; + setIsError(minLength ? valueLength !== requiredBinaryLength : false); + } + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [value]); + + return ( + + ); +}; diff --git a/src/components/metadataBuilders/bitstreamBuilder/index.ts b/src/components/metadataBuilders/bitstreamBuilder/index.ts new file mode 100644 index 00000000..345318f3 --- /dev/null +++ b/src/components/metadataBuilders/bitstreamBuilder/index.ts @@ -0,0 +1 @@ +export { default as BitstreamBuilder } from './bitstreamBuilder'; diff --git a/src/components/metadataBuilders/compactBuilder/compactBuilder.tsx b/src/components/metadataBuilders/compactBuilder/compactBuilder.tsx new file mode 100644 index 00000000..c2d8ff66 --- /dev/null +++ b/src/components/metadataBuilders/compactBuilder/compactBuilder.tsx @@ -0,0 +1,42 @@ +/* eslint-disable react-hooks/exhaustive-deps */ +import { + type ChangeEvent, + useCallback, + useEffect, + useState, +} from 'react'; + +import { onWheelPreventDefault } from '@utils/callbacks'; +import { getCompactValue } from '@utils/invocationMapper'; + +import styles from '../../invocationArgsMapper/styles.module.css'; + +import type { ICompactBuilder } from '@components/invocationArgsMapper/types'; + +const CompactVarBuilder = ({ compact, onChange }: ICompactBuilder) => { + const [ + compactValue, + setCompactValue, + ] = useState('0'); + + const handleOnChange = useCallback((e: ChangeEvent) => { + setCompactValue(e.target.value); + }, []); + + useEffect(() => { + onChange(getCompactValue(compact.isBig || false, compactValue)); + }, [compactValue]); + + return ( + + ); +}; + +export default CompactVarBuilder; diff --git a/src/components/metadataBuilders/compactBuilder/index.ts b/src/components/metadataBuilders/compactBuilder/index.ts new file mode 100644 index 00000000..953c0bcc --- /dev/null +++ b/src/components/metadataBuilders/compactBuilder/index.ts @@ -0,0 +1 @@ +export { default as CompactBuilder } from './compactBuilder'; diff --git a/src/components/metadataBuilders/conditionalBuilder/conditionalBuilder.tsx b/src/components/metadataBuilders/conditionalBuilder/conditionalBuilder.tsx new file mode 100644 index 00000000..9e73602c --- /dev/null +++ b/src/components/metadataBuilders/conditionalBuilder/conditionalBuilder.tsx @@ -0,0 +1,65 @@ +/* eslint-disable react-hooks/exhaustive-deps */ +import { + useCallback, + useEffect, + useState, +} from 'react'; + +import { PDSwitch } from '@components/pdSwitch'; + +import { InvocationMapper } from '../../invocationArgsMapper/invocationMapper'; +import styles from '../../invocationArgsMapper/styles.module.css'; + +import type { IConditionalBuilder } from '@components/invocationArgsMapper/types'; + +const ConditionalParamBuilder = ({ condition, onChange }: IConditionalBuilder) => { + const [ + paramValue, + setParamValue, + ] = useState(undefined); + const [ + showParam, + setShowParam, + ] = useState(false); + + const handleOnChange = useCallback((args: unknown) => { + setParamValue(args as undefined); + }, []); + + const handleOnSwitch = useCallback(() => { + setShowParam((show) => !show); + }, []); + + useEffect(() => { + let value = undefined; + if (showParam) { + value = paramValue; + } + onChange(value); + }, [ + paramValue, + showParam, + ]); + + return ( +
+ + { + showParam + ? ( + + ) + : null + } +
+ ); +}; + +export default ConditionalParamBuilder; diff --git a/src/components/metadataBuilders/conditionalBuilder/index.ts b/src/components/metadataBuilders/conditionalBuilder/index.ts new file mode 100644 index 00000000..3e06e18d --- /dev/null +++ b/src/components/metadataBuilders/conditionalBuilder/index.ts @@ -0,0 +1 @@ +export { default as ConditionalParamBuilder } from './conditionalBuilder'; diff --git a/src/components/metadataBuilders/enumBuilder/enumBuilder.tsx b/src/components/metadataBuilders/enumBuilder/enumBuilder.tsx new file mode 100644 index 00000000..f8279e49 --- /dev/null +++ b/src/components/metadataBuilders/enumBuilder/enumBuilder.tsx @@ -0,0 +1,85 @@ +/* eslint-disable react-hooks/exhaustive-deps */ +import { + useCallback, + useEffect, + useMemo, + useState, +} from 'react'; + +import { PDSelect } from '@components/pdSelect'; + +import { InvocationMapper } from '../../invocationArgsMapper/invocationMapper'; +import styles from '../../invocationArgsMapper/styles.module.css'; + +import type { IEnumBuilder } from '@components/invocationArgsMapper/types'; + +const EnumBuilder = ({ onChange, ...props }: IEnumBuilder) => { + const enumPropsValue = props.enum; + const enumOptions = Object.keys(enumPropsValue.value); + + const selectItems = useMemo(() => { + return enumOptions.map((key, index) => ({ + label: key, + value: key, + key: `enum-select-${key}-${index}`, + })); + }, [enumOptions]); + + const [ + option, + setOption, + ] = useState(enumOptions.at(0)!); + + const handleSetValue = useCallback((args: unknown) => { + onChange({ type: option, value: args }); + }, [option]); + + const enumValue = enumPropsValue.value[option]; + const getEnumVariable = () => { + if (!enumValue) { + return undefined; + } else { + if (enumValue.type !== 'lookupEntry') { + return enumValue; + } else { + return enumValue.value; + } + } + }; + const enumVariable = getEnumVariable(); + + useEffect(() => { + if (enumVariable?.type === 'void') { + handleSetValue(undefined); + } + }, [ + option, + enumVariable, + handleSetValue, + ]); + + return ( +
+ + { + enumVariable + ? ( +
+ +
+ ) + : null + } +
+ ); +}; + +export default EnumBuilder; diff --git a/src/components/metadataBuilders/enumBuilder/index.ts b/src/components/metadataBuilders/enumBuilder/index.ts new file mode 100644 index 00000000..5fdd7f8a --- /dev/null +++ b/src/components/metadataBuilders/enumBuilder/index.ts @@ -0,0 +1 @@ +export { default as EnumBuilder } from './enumBuilder'; diff --git a/src/components/metadataBuilders/orderBuilder/index.ts b/src/components/metadataBuilders/orderBuilder/index.ts new file mode 100644 index 00000000..98d0d2a5 --- /dev/null +++ b/src/components/metadataBuilders/orderBuilder/index.ts @@ -0,0 +1 @@ +export { default as OrderBuilder } from './orderBuilder'; diff --git a/src/components/metadataBuilders/orderBuilder/orderBuilder.tsx b/src/components/metadataBuilders/orderBuilder/orderBuilder.tsx new file mode 100644 index 00000000..8546a215 --- /dev/null +++ b/src/components/metadataBuilders/orderBuilder/orderBuilder.tsx @@ -0,0 +1,32 @@ +import { BitstreamBuilder } from '@components/metadataBuilders/bitstreamBuilder'; +import { OrderBuilderCore } from '@components/metadataBuilders/orderBuilder/orderBuilderCore'; +import { varIsBinary } from '@utils/papi/helpers'; + +import styles from '../../invocationArgsMapper/styles.module.css'; + +import type { ISequenceBuilder } from '@components/invocationArgsMapper/types'; + +const OrderBuilder = ({ sequence, onChange, placeholder }: ISequenceBuilder) => { + if (!varIsBinary(sequence)) { + return ( + + ); + } else { + return ( +
+ +
+ ); + } +}; + +export default OrderBuilder; diff --git a/src/components/metadataBuilders/orderBuilder/orderBuilderCore.tsx b/src/components/metadataBuilders/orderBuilder/orderBuilderCore.tsx new file mode 100644 index 00000000..023fb24d --- /dev/null +++ b/src/components/metadataBuilders/orderBuilder/orderBuilderCore.tsx @@ -0,0 +1,136 @@ +/* eslint-disable react/jsx-no-bind */ +/* eslint-disable react-hooks/exhaustive-deps */ +import { + useCallback, + useEffect, + useState, +} from 'react'; + +import { Icon } from '@components/icon'; +import { InvocationMapper } from '@components/invocationArgsMapper/invocationMapper'; +import { cn } from '@utils/helpers'; +import { buildSequenceState } from '@utils/invocationMapper'; + +import type { ISequenceBuilder } from '@components/invocationArgsMapper/types'; + +const STARTING_SEQUENCE_LENGTH = 1; + +export const OrderBuilderCore = ({ sequence, onChange, placeholder }: ISequenceBuilder) => { + const [ + sequenceLength, + setSequenceLength, + ] = useState(STARTING_SEQUENCE_LENGTH); + const [ + sequenceState, + setSequenceState, + ] = useState(buildSequenceState(sequenceLength)); + + useEffect(() => { + const res = sequenceState.map((p) => p.value); + onChange(res.includes(undefined) ? undefined : res); + }, [sequenceState]); + + const handleOnChange = useCallback((args: unknown, id: string) => { + setSequenceState((state) => { + const item = state.find((p) => p.id === id); + if (!item) { + return state; + } else { + const index = state.indexOf(item); + const newParams = [...state]; + newParams[index].value = args as undefined; + return newParams; + } + }); + }, []); + + const handleAddItem = useCallback(() => { + setSequenceLength((length) => length + 1); + setSequenceState((state) => ([ + ...state, + { id: crypto.randomUUID(), value: undefined }, + ])); + }, []); + + const handleRemoveItem = useCallback(() => { + setSequenceLength((length) => length - 1); + setSequenceState((params) => params.slice(0, -1)); + }, []); + + return ( +
+
0, + }, + )} + > + + + + +
+ { + sequenceState.map((state, index) => { + const nextType = sequence.value.type; + + return ( +
+ + {index} + : + +
+ handleOnChange(args, state.id)} + placeholder={placeholder} + /> +
+
+ ); + }) + } + +
+ ); +}; diff --git a/src/components/metadataBuilders/primitiveBuilder/index.ts b/src/components/metadataBuilders/primitiveBuilder/index.ts new file mode 100644 index 00000000..45ca267f --- /dev/null +++ b/src/components/metadataBuilders/primitiveBuilder/index.ts @@ -0,0 +1 @@ +export { default as PrimitiveBuilder } from './primitiveBuilder'; diff --git a/src/components/metadataBuilders/primitiveBuilder/primitiveBuilder.tsx b/src/components/metadataBuilders/primitiveBuilder/primitiveBuilder.tsx new file mode 100644 index 00000000..2ddf7759 --- /dev/null +++ b/src/components/metadataBuilders/primitiveBuilder/primitiveBuilder.tsx @@ -0,0 +1,121 @@ +/* eslint-disable react-hooks/exhaustive-deps */ +import { + type ChangeEvent, + useCallback, + useEffect, + useState, +} from 'react'; + +import { NotImplemented } from '@components/invocationArgsMapper/notImplemented'; +import { PDSwitch } from '@components/pdSwitch'; +import { onWheelPreventDefault } from '@utils/callbacks'; +import { handlePrimitiveInputChange } from '@utils/invocationMapper'; + +import styles from '../../invocationArgsMapper/styles.module.css'; + +import type { IPrimitiveBuilder } from '@components/invocationArgsMapper/types'; + +const PrimitiveBuilder = ({ + primitive, + onChange, + placeholder, + readOnly, +}: IPrimitiveBuilder) => { + const [ + primValue, + setPrimValue, + ] = useState(''); + + const handlePDSwitchChange = useCallback(() => { + setPrimValue((val) => Boolean(val) ? '' : 'true'); + }, []); + + const getNumericProps = () => ( + { + type: 'number', + inputMode: 'numeric' as const, + onWheelCapture: onWheelPreventDefault, + } + ); + + const getPrimitiveProps = () => ( + { + placeholder: placeholder || primitive.value, + value: primValue, + className: styles.invocationInputField, + onChange: (event: ChangeEvent) => setPrimValue(event.target.value), + readOnly: !!readOnly, + } + ); + + useEffect(() => { + onChange(handlePrimitiveInputChange(primitive, primValue)); + }, [primValue]); + + const primitiveRenderers: Record = { + i8: , + u8: , + i16: , + u16: , + i32: , + u32: , + i64: , + u64: , + i128: , + u128: , + i256: , + u256: , + str: , + bool: ( + + ), + char: ( + + ), + }; + return primitiveRenderers[primitive.value] || ; +}; + +export default PrimitiveBuilder; diff --git a/src/components/metadataBuilders/structBuilder/index.ts b/src/components/metadataBuilders/structBuilder/index.ts new file mode 100644 index 00000000..d1c52bc1 --- /dev/null +++ b/src/components/metadataBuilders/structBuilder/index.ts @@ -0,0 +1 @@ +export { default as StructBuilder } from './structBuilder'; diff --git a/src/components/metadataBuilders/structBuilder/structBuilder.tsx b/src/components/metadataBuilders/structBuilder/structBuilder.tsx new file mode 100644 index 00000000..cbd7ed4e --- /dev/null +++ b/src/components/metadataBuilders/structBuilder/structBuilder.tsx @@ -0,0 +1,71 @@ +/* eslint-disable react-hooks/exhaustive-deps */ +/* eslint-disable react/jsx-no-bind */ +import { + useCallback, + useEffect, + useState, +} from 'react'; + +import { NotImplemented } from '@components/invocationArgsMapper/notImplemented'; +import { buildStructState } from '@utils/invocationMapper'; + +import { InvocationMapper } from '../../invocationArgsMapper/invocationMapper'; +import styles from '../../invocationArgsMapper/styles.module.css'; + +import type { + IStructBuilder, + StructArgs, +} from '@components/invocationArgsMapper/types'; + +const StructBuilder = ({ struct, onChange }: IStructBuilder) => { + const structEntries = Object.entries(struct.value); + + const [ + structState, + setStructState, + ] = useState(buildStructState(struct)); + + const handleOnChange = useCallback((key: StructArgs['key'], value: StructArgs['value']) => { + setStructState((structState) => { + const newArgs = { ...structState, [key]: value }; + return newArgs; + }); + }, []); + + useEffect(() => { + onChange(structState); + }, [structState]); + + try { + if (!structEntries) { + return null; + } else { + return structEntries.map((strEntry, index) => { + const [ + key, + value, + ] = strEntry; + + return ( +
+ + {key} + +
+ handleOnChange(key, args)} + /> +
+
+ ); + }); + } + } catch (error) { + console.error(error); + return ; + } +}; + +export default StructBuilder; diff --git a/src/components/metadataBuilders/tupleBuilder/index.ts b/src/components/metadataBuilders/tupleBuilder/index.ts new file mode 100644 index 00000000..d4251959 --- /dev/null +++ b/src/components/metadataBuilders/tupleBuilder/index.ts @@ -0,0 +1 @@ +export { default as TupleBuilder } from './tupleBuilder'; diff --git a/src/components/metadataBuilders/tupleBuilder/tupleBuilder.tsx b/src/components/metadataBuilders/tupleBuilder/tupleBuilder.tsx new file mode 100644 index 00000000..addd4941 --- /dev/null +++ b/src/components/metadataBuilders/tupleBuilder/tupleBuilder.tsx @@ -0,0 +1,27 @@ +import { BitstreamBuilder } from '@components/metadataBuilders/bitstreamBuilder'; +import { TupleBuilderCore } from '@components/metadataBuilders/tupleBuilder/tupleBuilderCore'; +import { varIsBinary } from '@utils/papi/helpers'; + +import type { ITupleBuilder } from '@components/invocationArgsMapper/types'; + +const TupleBuilder = ({ tuple, onChange }: ITupleBuilder) => { + if (!varIsBinary(tuple)) { + return ( + + ); + } else { + return ( +
+ +
+ ); + } +}; + +export default TupleBuilder; diff --git a/src/components/metadataBuilders/tupleBuilder/tupleBuilderCore.tsx b/src/components/metadataBuilders/tupleBuilder/tupleBuilderCore.tsx new file mode 100644 index 00000000..301cfd2c --- /dev/null +++ b/src/components/metadataBuilders/tupleBuilder/tupleBuilderCore.tsx @@ -0,0 +1,60 @@ +/* eslint-disable react-hooks/exhaustive-deps */ +/* eslint-disable react/jsx-no-bind */ +import { + useCallback, + useEffect, + useState, +} from 'react'; + +import { InvocationMapper } from '@components/invocationArgsMapper/invocationMapper'; +import { NotImplemented } from '@components/invocationArgsMapper/notImplemented'; +import { buildArrayState } from '@utils/invocationMapper'; + +import styles from '../../invocationArgsMapper/styles.module.css'; + +import type { ITupleBuilder } from '@components/invocationArgsMapper/types'; + +export const TupleBuilderCore = ({ + tuple, + onChange, +}: ITupleBuilder) => { + const [ + state, + setState, + ] = useState(buildArrayState(tuple?.value?.length || 0)); + + const handleOnChange = useCallback((index: number, value: unknown) => { + setState((tuple) => { + const newParams = [...tuple]; + newParams[index] = value as typeof newParams[number]; + return newParams; + }); + }, []); + + useEffect(() => { + onChange(state); + }, [state]); + + try { + if (!tuple) { + return null; + } else { + return ( +
+ { + tuple?.value?.map((tupleVal, i) => ( + handleOnChange(i, value)} + /> + )) + } +
+ ); + } + } catch (error) { + console.error(error); + return ; + } +}; diff --git a/src/components/metadataBuilders/voidBuilder/index.ts b/src/components/metadataBuilders/voidBuilder/index.ts new file mode 100644 index 00000000..e159d10e --- /dev/null +++ b/src/components/metadataBuilders/voidBuilder/index.ts @@ -0,0 +1 @@ +export { default as VoidBuilder } from './voidBuilder'; diff --git a/src/components/metadataBuilders/voidBuilder/voidBuilder.tsx b/src/components/metadataBuilders/voidBuilder/voidBuilder.tsx new file mode 100644 index 00000000..32192572 --- /dev/null +++ b/src/components/metadataBuilders/voidBuilder/voidBuilder.tsx @@ -0,0 +1,19 @@ +/* eslint-disable react-hooks/exhaustive-deps */ +import { useRef } from 'react'; + +import type { InvocationOnChangeProps } from '@components/invocationArgsMapper/types'; + +interface IVoidBuilder extends InvocationOnChangeProps { } + +const VoidBuilder = ({ onChange }: IVoidBuilder) => { + const hasCalledOnChange = useRef(false); + + if (!hasCalledOnChange.current) { + onChange(undefined); + hasCalledOnChange.current = true; + } + + return null; +}; + +export default VoidBuilder; diff --git a/src/components/mobileChainSelect/index.tsx b/src/components/mobileChainSelect/index.tsx new file mode 100644 index 00000000..37fd4c07 --- /dev/null +++ b/src/components/mobileChainSelect/index.tsx @@ -0,0 +1,191 @@ +import { + busDispatch, + useEventBus, +} from '@pivanov/event-bus'; +import { + useCallback, + useState, +} from 'react'; +import { useLocation } from 'react-router-dom'; + +import { Icon } from '@components/icon'; +import { PDScrollArea } from '@components/pdScrollArea'; +import { SearchChain } from '@components/searchChain'; +import { SUPPORTED_CHAIN_GROUPS } from '@constants/chain'; +import { useStoreChain } from '@stores'; +import { cn } from '@utils/helpers'; + +import type { + ISupportedChainGroups, + TChain, +} from '@custom-types/chain'; +import type { + IEventBusNavLinkClick, + IEventBusSearchChain, + IEventBusSetChain, +} from '@custom-types/eventBus'; + +const filterChainsByGroup = (query: string) => { + return Object.values(SUPPORTED_CHAIN_GROUPS).reduce((acc: { chains: TChain[]; name: string }[], group) => { + const filteredChains = group.chains.filter((chain) => + chain.name.toLowerCase().includes(query.toLowerCase()), + ); + + if (filteredChains.length > 0) { + acc.push({ + ...group, + chains: filteredChains, + }); + } + + return acc; + }, []); +}; + +const CHAIN_GROUPS = Object.keys(SUPPORTED_CHAIN_GROUPS); +const ALL_CHAINS = CHAIN_GROUPS.reduce((acc: ISupportedChainGroups['']['chains'], curr) => { + SUPPORTED_CHAIN_GROUPS[curr].chains.forEach((chain) => { + acc.push(chain); + }); + return acc; +}, []); + +export const MobileChainSelect = () => { + const [ + isOpen, + setIsOpen, + ] = useState(false); + const [ + query, + setQuery, + ] = useState(''); + const currentChain = useStoreChain.use.chain(); + const { setChain } = useStoreChain.use.actions(); + + const { pathname } = useLocation(); + const isHomePage = pathname === '/'; + + const handleMenuClick = useCallback(() => { + setIsOpen(!isOpen); + }, [isOpen]); + + const filteredGroups = filterChainsByGroup(query); + + const handleSetChain = useCallback((e: React.MouseEvent) => { + const chainId = e.currentTarget.getAttribute('data-chain-id') || ''; + const chain = ALL_CHAINS.find((c) => c.id === chainId); + + if (chain) { + setChain(chain); + busDispatch({ + type: '@@-set-chain', + data: chain, + }); + } + + setIsOpen(false); + }, [setChain]); + + useEventBus('@@-navlink-click', () => { + if (isOpen) { + setIsOpen(false); + } + }); + + useEventBus('@@-search-chain', ({ data }) => { + setQuery(data); + }); + + if (isHomePage) { + return null; + } + + return ( + <> + +
+ +
+
+ +
{currentChain.name}
+
+ +
+ + + + { + filteredGroups.length > 0 + ? ( + filteredGroups.map((group) => ( +
+

{group.name}

+
    + {group.chains.map((chain) => ( +
  • + + {chain.name} +
  • + ))} +
+
+ )) + ) + : ( +

+ No results found for " + {query} + ". +

+ ) + } +
+
+ + ); +}; diff --git a/src/components/modals/modal/index.tsx b/src/components/modals/modal/index.tsx new file mode 100644 index 00000000..442616a8 --- /dev/null +++ b/src/components/modals/modal/index.tsx @@ -0,0 +1,109 @@ +import { useEventBus } from '@pivanov/event-bus'; +import { + type ReactNode, + useCallback, + useEffect, + useRef, + useState, +} from 'react'; + +import { Icon } from '@components/icon'; +import { ReactPortal } from '@components/reactPortal'; +import { cn } from '@utils/helpers'; + +import type { IEventBusSetChain } from '@custom-types/eventBus'; + +export interface IModal { + onClose: () => void; + children: ReactNode; + className?: string; +} + +export const Modal = ({ onClose, children, className }:IModal) => { + const refTimeout = useRef(); + const refBackdrop = useRef(null); + const refModal = useRef(null); + const [ + open, + setOpen, + ] = useState(false); + + const handleClose = useCallback(() => { + setOpen(false); + }, []); + + const handleTransitionEnd = useCallback(() => { + if (!open) { + onClose(); + } + }, [ + onClose, + open, + ]); + + useEffect(() => { + setOpen(true); + window.document.addEventListener('keydown', (e) => { + if (e.key === 'Escape') { + handleClose(); + } + }); + + }, [handleClose]); + + useEffect(() => { + if (refBackdrop.current) { + refTimeout.current = setTimeout(() => { + refBackdrop.current?.classList.toggle('opacity-70'); + refModal.current?.classList.toggle('opacity-100'); + }, 40); + } + + return () => { + clearTimeout(refTimeout.current); + }; + }, [open]); + + useEventBus('@@-set-chain', () => { + handleClose(); + }); + + return ( + +
+
+ + {children} +
+ + ); +}; + +Modal.displayName = 'Modal'; diff --git a/src/components/modals/modalChainSelect/index.tsx b/src/components/modals/modalChainSelect/index.tsx new file mode 100644 index 00000000..0c6fb71d --- /dev/null +++ b/src/components/modals/modalChainSelect/index.tsx @@ -0,0 +1,33 @@ +import { ChainSelector } from '@components/chainSelector'; +import { SearchChain } from '@components/searchChain'; +import { cn } from '@utils/helpers'; + +import { + type IModal, + Modal, +} from '../modal'; + +interface IModalChainSelect extends Pick {} + +export const ModalChainSelect = ({ onClose }: IModalChainSelect) => { + return ( + +
+

+ Select Parachain +

+
+ +
+
+ +
+ ); +}; diff --git a/src/components/modals/modalDeleteExample/index.tsx b/src/components/modals/modalDeleteExample/index.tsx new file mode 100644 index 00000000..46660a9e --- /dev/null +++ b/src/components/modals/modalDeleteExample/index.tsx @@ -0,0 +1,101 @@ +import { useEventBus } from '@pivanov/event-bus'; +import { useCallback } from 'react'; +import { useNavigate } from 'react-router-dom'; + +import { Icon } from '@components/icon'; +import { + cn, + sleep, +} from '@utils/helpers'; +import { useStoreCustomExamples } from 'src/stores/examples'; + +import { + type IModal, + Modal, +} from '../modal'; + +import type { IDeleteExampleModalClose } from '@custom-types/eventBus'; + +interface IModalDeleteExample extends Pick { + id: string; + onClose: () => void; +} + +export const ModalDeleteExample = (props: IModalDeleteExample) => { + const { id, onClose } = props; + const { deleteExample, loadExampleContent } = useStoreCustomExamples.use.actions(); + const selectedExample = useStoreCustomExamples.use.selectedExample(); + const { isDeleting } = useStoreCustomExamples.use.loading(); + const navigate = useNavigate(); + + const handleDelete = useCallback(async () => { + deleteExample(id); + }, [ + deleteExample, + id, + ]); + + useEventBus('@@-close-delete-example-modal', () => { + if (id === selectedExample?.id) { + loadExampleContent('1', 'default'); + navigate(`/code?d=1`); + void sleep(400); + } + + onClose(); + }); + return ( + +
+ +
+

Delete Example

+ + +
+
+ +
+ ); +}; diff --git a/src/components/modals/modalEditExampleInfo/index.tsx b/src/components/modals/modalEditExampleInfo/index.tsx new file mode 100644 index 00000000..40f275f0 --- /dev/null +++ b/src/components/modals/modalEditExampleInfo/index.tsx @@ -0,0 +1,122 @@ +import { useEventBus } from '@pivanov/event-bus'; +import { + useCallback, + useRef, +} from 'react'; +import { toast } from 'react-hot-toast'; + +import { Icon } from '@components/icon'; +import { cn } from '@utils/helpers'; +import { useStoreCustomExamples } from 'src/stores/examples'; + +import { + type IModal, + Modal, +} from '../modal'; + +import type { IEditExampleInfoModalClose } from '@custom-types/eventBus'; + +interface IModalEditExampleInfo extends Pick { + id: string; + onClose: () => void; +} + +export const ModalEditExampleInfo = (props: IModalEditExampleInfo) => { + const { id, onClose } = props; + + const examples = useStoreCustomExamples.use.examples(); + const { updateExampleInfo } = useStoreCustomExamples.use.actions(); + const { isSavingInfo } = useStoreCustomExamples.use.loading(); + + const example = examples.find((example) => example.id === id); + + const exampleNameRef = useRef(null); + const descriptionRef = useRef(null); + + const handleSubmit = useCallback(() => { + const exampleName = exampleNameRef.current?.value; + const description = descriptionRef.current?.value; + + if (!exampleName || !description) { + toast.error('Please fill all fields'); + return; + } + + updateExampleInfo(id, exampleName, description); + }, [ + id, + updateExampleInfo, + ]); + + useEventBus('@@-close-edit-example-modal', () => { + onClose(); + }); + + return ( + +
+

Edit Example

+ +