├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── bin └── build.js ├── composer.json ├── config └── kainiklas-filament-scout.php ├── package-lock.json ├── postcss.config.cjs └── src ├── FilamentScoutPlugin.php ├── FilamentScoutServiceProvider.php ├── Forms └── Components │ └── ScoutSelect.php ├── Providers ├── MeilisearchGlobalSearchProvider.php └── ScoutGlobalSearchProvider.php └── Traits ├── ConfigurePlugin.php └── InteractsWithScout.php /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | All notable changes to `filament-scout` will be documented in this file. 4 | 5 | ## v0.5.0 - 2025-09-17 6 | 7 | ### What's Changed 8 | 9 | * InteractsWithScout: optimize queries by @RonMelkhior in https://github.com/kainiklas/filament-scout/pull/21 10 | 11 | ### New Contributors 12 | 13 | * @RonMelkhior made their first contribution in https://github.com/kainiklas/filament-scout/pull/21 14 | 15 | **Full Changelog**: https://github.com/kainiklas/filament-scout/compare/v0.4.0...v0.5.0 16 | 17 | ## v0.4.0 - 2024-04-18 18 | 19 | ### What's Changed 20 | 21 | * Configurable search limit and correct primary key by @kainiklas in https://github.com/kainiklas/filament-scout/pull/11 22 | 23 | **Full Changelog**: https://github.com/kainiklas/filament-scout/compare/v0.3.0...v.0.4.0 24 | 25 | ## v0.3.0 - 2024-04-02 26 | 27 | ### What's Changed 28 | 29 | * Add support for Laravel 11 30 | 31 | **Full Changelog**: https://github.com/kainiklas/filament-scout/compare/v0.2.0...v0.3.0 32 | 33 | ## v0.2.0 - 2024-02-14 34 | 35 | ### What's Changed 36 | 37 | - New `ScoutSelect` component to use scout within Select Fields 38 | - You can configure filament-scout as a plugin instead of adding it manually via `globalSearch()` 39 | 40 | **Full Changelog**: https://github.com/kainiklas/filament-scout/compare/v0.1.0...v0.2.0 41 | 42 | ## v0.1.0 - 2023-12-15 43 | 44 | Initial Release 45 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) kainiklas 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Filament Scout Plugin 2 | 3 | [![Latest Version on Packagist](https://img.shields.io/packagist/v/kainiklas/filament-scout.svg?style=flat-square)](https://packagist.org/packages/kainiklas/filament-scout) 4 | [![GitHub Tests Action Status](https://img.shields.io/github/actions/workflow/status/kainiklas/filament-scout/run-tests.yml?branch=main&label=tests&style=flat-square)](https://github.com/kainiklas/filament-scout/actions?query=workflow%3Arun-tests+branch%3Amain) 5 | [![GitHub Code Style Action Status](https://img.shields.io/github/actions/workflow/status/kainiklas/filament-scout/fix-php-code-styling.yml?branch=main&label=code%20style&style=flat-square)](https://github.com/kainiklas/filament-scout/actions?query=workflow%3A"Fix+PHP+code+styling"+branch%3Amain) 6 | [![Total Downloads](https://img.shields.io/packagist/dt/kainiklas/filament-scout.svg?style=flat-square)](https://packagist.org/packages/kainiklas/filament-scout) 7 | 8 | ![Filament Scout Plugin](https://raw.githubusercontent.com/kainiklas/filament-scout/main/art/filament-scout.jpeg) 9 | 10 | 11 | 12 | Plugin to integrate Laravel Scout into Filament **Global Search** and **Table Search**. Plus a **ScoutSelect component** which enhances the standard Select Field with scout search capabilities. 13 | 14 | ## Pre-Requesites 15 | 16 | - [Laravel Scout](https://laravel.com/docs/10.x/scout): Install and configure Laravel Scout as described in the Laravel Docs. 17 | 18 | ## Installation 19 | 20 | You can install the package via composer: 21 | 22 | ```bash 23 | composer require kainiklas/filament-scout 24 | ``` 25 | 26 | ## Table Search 27 | 28 | To use Scout Search instead of the default search on a table, add the trait `InteractsWithScout` to any Page which contains a table, e.g. `app\Filament\Resources\MyResource\Pages\ListMyResources.php`: 29 | 30 | ```php 31 | use Kainiklas\FilamentScout\Traits\InteractsWithScout; 32 | 33 | class ListMyResources extends ListRecords 34 | { 35 | use InteractsWithScout; 36 | } 37 | ``` 38 | 39 | The table defined in the resource needs to be `searchable()` as described in the [Filament table docs](https://filamentphp.com/docs/3.x/tables/advanced#searching-records-with-laravel-scout). 40 | Making each column searchable is not required anymore, as the content of what is searchable is defined within scout. 41 | 42 | ### Increase the number of search results 43 | 44 | Depending on the scout engine you may have limitations on how many search results you get back. 45 | This can be adjusted in two places: 46 | 47 | #### 1. Search Limit 48 | 49 | Add the following `env` variable to adjust the limit of search results: 50 | 51 | ``` 52 | SCOUT_SEARCH_LIMIT=100 53 | ``` 54 | 55 | `100` is the default value within this pagacke. 56 | For example meilisearch has a default limit of `20`. 57 | 58 | #### 2. Index Settings (Example for meilisearch) 59 | 60 | Within meilisearch there is a default limit of `1000` total hits which is also the upper bound for the search limit. 61 | That means if you want to have more than `1000` search results, you need to adapt both: the search limit and the index settings. 62 | The index settings can be adjusted within `config\scout.php`: 63 | 64 | ```php 65 | 'index-settings' => [ 66 | MyClass::class => [ 67 | 'pagination' => [ 68 | 'maxTotalHits' => 10000 69 | ], 70 | ], 71 | ], 72 | ``` 73 | 74 | Then run the following command to sync the settings: `php artisan scout:sync-index-settings` 75 | 76 | 77 | ## Global Search 78 | 79 | 1. Check how to enable [Global Search in the Filament Documentation](https://filamentphp.com/docs/3.x/panels/resources/global-search). 80 | - Set a `$recordTitleAttribute` on your resource: [Setting global search result title](https://filamentphp.com/docs/3.x/panels/resources/global-search#setting-global-search-result-titles). 81 | - (Optional) Add details by implementing the method `getGlobalSearchResultDetails(Model $record)` in your Resource: [Adding extra details to global search results](https://filamentphp.com/docs/3.x/panels/resources/global-search#adding-extra-details-to-global-search-results). 82 | 83 | ```php 84 | class ContractResource extends Resource 85 | { 86 | // required to enable global search 87 | protected static ?string $recordTitleAttribute = 'name'; 88 | 89 | // optional: details 90 | public static function getGlobalSearchResultDetails(Model $record): array 91 | { 92 | return [ 93 | 'Category' => $record->category->name, 94 | ]; 95 | } 96 | } 97 | ``` 98 | 99 | 2. Add the Plugin `FilamentScoutPlugin` to your panel configuration, e.g., in `app\Providers\Filament\AdminPanelProvider.php`. 100 | 101 | ```php 102 | use Kainiklas\FilamentScout\FilamentScoutPlugin; 103 | 104 | class AdminPanelProvider extends PanelProvider 105 | { 106 | public function panel(Panel $panel): Panel 107 | { 108 | return $panel 109 | $plugins([ 110 | FilamentScoutPlugin::make() 111 | ]); 112 | } 113 | } 114 | ``` 115 | 116 | ### Meilisearch 117 | 118 | If you are using [Meilisearch](https://www.meilisearch.com/), you can activate meilisearch specific features (search context highlighting): 119 | 120 | 1. Configure the plugin. 121 | 122 | ```php 123 | use Kainiklas\FilamentScout\FilamentScoutPlugin; 124 | 125 | class AdminPanelProvider extends PanelProvider 126 | { 127 | public function panel(Panel $panel): Panel 128 | { 129 | return $panel 130 | $plugins([ 131 | FilamentScoutPlugin::make() 132 | ->useMeilisearch() // enables meilisearch specific features 133 | ]); 134 | } 135 | } 136 | ``` 137 | 138 | 2. (Optional) Implement/ Adapt `getGlobalSearchResultDetails()` in your Resource: 139 | 140 | ```php 141 | public static function getGlobalSearchResultDetails(Model $record): array 142 | { 143 | // change the filament default implementation from this 144 | // return [ 145 | // 'AttributeTitle' => $record->attribute_name 146 | // ]; 147 | 148 | // to this 149 | return [ 150 | 'scout_attribute_name' => "AttributeTitle" 151 | ]; 152 | } 153 | ``` 154 | 155 | ## Select Form Field 156 | 157 | To enable scout search in your select form fields use the provided `ScoutSelect` component: 158 | 159 | ```php 160 | use Kainiklas\FilamentScout\Forms\Components\ScoutSelect; 161 | 162 | ScoutSelect::make('company_id') 163 | ->searchable() 164 | ->relationship('company', 'name') 165 | ->useScout() // must be called after relationship() 166 | ``` 167 | 168 | Technically, the `ScoutSelect` component inherits from `Filament\Forms\Components\Select`. The `useScout()` method sets a new `getSearchResultsUsing()` closure which uses scout. 169 | 170 | __Important__: The `useScout()` method needs to be called *after* the relationship method. Otherwise it is overriden by the `relationship()` method. 171 | 172 | *Hint*: Only values which are accessible and defined by scout are searchable. 173 | 174 | ## Testing 175 | 176 | ```bash 177 | composer test 178 | ``` 179 | 180 | ## Changelog 181 | 182 | Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently. 183 | 184 | ## Contributing 185 | 186 | Please see [CONTRIBUTING](.github/CONTRIBUTING.md) for details. 187 | 188 | ## Security Vulnerabilities 189 | 190 | Please review [our security policy](../../security/policy) on how to report security vulnerabilities. 191 | 192 | ## Credits 193 | 194 | - [Kai Niklas](https://github.com/kainiklas) 195 | 196 | ## License 197 | 198 | The MIT License (MIT). Please see [License File](LICENSE.md) for more information. 199 | -------------------------------------------------------------------------------- /bin/build.js: -------------------------------------------------------------------------------- 1 | import esbuild from 'esbuild' 2 | 3 | const isDev = process.argv.includes('--dev') 4 | 5 | async function compile(options) { 6 | const context = await esbuild.context(options) 7 | 8 | if (isDev) { 9 | await context.watch() 10 | } else { 11 | await context.rebuild() 12 | await context.dispose() 13 | } 14 | } 15 | 16 | const defaultOptions = { 17 | define: { 18 | 'process.env.NODE_ENV': isDev ? `'development'` : `'production'`, 19 | }, 20 | bundle: true, 21 | mainFields: ['module', 'main'], 22 | platform: 'neutral', 23 | sourcemap: isDev ? 'inline' : false, 24 | sourcesContent: isDev, 25 | treeShaking: true, 26 | target: ['es2020'], 27 | minify: !isDev, 28 | plugins: [{ 29 | name: 'watchPlugin', 30 | setup: function (build) { 31 | build.onStart(() => { 32 | console.log(`Build started at ${new Date(Date.now()).toLocaleTimeString()}: ${build.initialOptions.outfile}`) 33 | }) 34 | 35 | build.onEnd((result) => { 36 | if (result.errors.length > 0) { 37 | console.log(`Build failed at ${new Date(Date.now()).toLocaleTimeString()}: ${build.initialOptions.outfile}`, result.errors) 38 | } else { 39 | console.log(`Build finished at ${new Date(Date.now()).toLocaleTimeString()}: ${build.initialOptions.outfile}`) 40 | } 41 | }) 42 | } 43 | }], 44 | } 45 | 46 | compile({ 47 | ...defaultOptions, 48 | entryPoints: ['./resources/js/index.js'], 49 | outfile: './resources/dist/filament-scout.js', 50 | }) 51 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "kainiklas/filament-scout", 3 | "description": "Filament Plugin to integrate Scout into Global Search and Table Search.", 4 | "keywords": [ 5 | "kainiklas", 6 | "laravel", 7 | "filament-scout", 8 | "filament", 9 | "filamentphp" 10 | ], 11 | "homepage": "https://github.com/kainiklas/filament-scout", 12 | "support": { 13 | "issues": "https://github.com/kainiklas/filament-scout/issues", 14 | "source": "https://github.com/kainiklas/filament-scout" 15 | }, 16 | "license": "MIT", 17 | "authors": [ 18 | { 19 | "name": "Kai Niklas", 20 | "email": "kai.niklas@web.de", 21 | "role": "Developer" 22 | } 23 | ], 24 | "require": { 25 | "php": "^8.1", 26 | "filament/filament": "^3.0", 27 | "laravel/scout": "^10.5", 28 | "spatie/laravel-package-tools": "^1.15.0" 29 | }, 30 | "require-dev": { 31 | "larastan/larastan": "^2.1", 32 | "laravel/pint": "^1.13", 33 | "orchestra/testbench": "^8.10|^9.0", 34 | "pestphp/pest": "^2.10", 35 | "pestphp/pest-plugin-arch": "^2.0", 36 | "pestphp/pest-plugin-laravel": "^2.0", 37 | "phpstan/extension-installer": "^1.1", 38 | "phpstan/phpstan-deprecation-rules": "^1.0", 39 | "phpstan/phpstan-phpunit": "^1.0" 40 | }, 41 | "autoload": { 42 | "psr-4": { 43 | "Kainiklas\\FilamentScout\\": "src/" 44 | } 45 | }, 46 | "autoload-dev": { 47 | "psr-4": { 48 | "Kainiklas\\FilamentScout\\Tests\\": "tests/" 49 | } 50 | }, 51 | "scripts": { 52 | "post-autoload-dump": "@php ./vendor/bin/testbench package:discover --ansi", 53 | "analyse": "vendor/bin/phpstan analyse --memory-limit=2G", 54 | "test": "vendor/bin/pest", 55 | "test-coverage": "vendor/bin/pest --coverage", 56 | "format": "vendor/bin/pint" 57 | }, 58 | "config": { 59 | "sort-packages": true, 60 | "allow-plugins": { 61 | "pestphp/pest-plugin": true, 62 | "phpstan/extension-installer": true 63 | } 64 | }, 65 | "extra": { 66 | "laravel": { 67 | "providers": [ 68 | "Kainiklas\\FilamentScout\\FilamentScoutServiceProvider" 69 | ], 70 | "aliases": { 71 | "FilamentScout": "Kainiklas\\FilamentScout\\Facades\\FilamentScout" 72 | } 73 | } 74 | }, 75 | "minimum-stability": "dev", 76 | "prefer-stable": true 77 | } 78 | -------------------------------------------------------------------------------- /config/kainiklas-filament-scout.php: -------------------------------------------------------------------------------- 1 | env('SCOUT_SEARCH_LIMIT', 100), 6 | ]; 7 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "filament-scout", 3 | "lockfileVersion": 3, 4 | "requires": true, 5 | "packages": { 6 | "": { 7 | "devDependencies": { 8 | "@awcodes/filament-plugin-purge": "^1.1.1", 9 | "@tailwindcss/forms": "^0.5.4", 10 | "@tailwindcss/typography": "^0.5.9", 11 | "autoprefixer": "^10.4.14", 12 | "esbuild": "^0.25.0", 13 | "npm-run-all": "^4.1.5", 14 | "postcss": "^8.4.26", 15 | "postcss-import": "^15.1.0", 16 | "prettier": "^2.7.1", 17 | "prettier-plugin-tailwindcss": "^0.1.13", 18 | "tailwindcss": "^3.3.3" 19 | } 20 | }, 21 | "node_modules/@alloc/quick-lru": { 22 | "version": "5.2.0", 23 | "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", 24 | "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", 25 | "dev": true, 26 | "engines": { 27 | "node": ">=10" 28 | }, 29 | "funding": { 30 | "url": "https://github.com/sponsors/sindresorhus" 31 | } 32 | }, 33 | "node_modules/@awcodes/filament-plugin-purge": { 34 | "version": "1.1.2", 35 | "resolved": "https://registry.npmjs.org/@awcodes/filament-plugin-purge/-/filament-plugin-purge-1.1.2.tgz", 36 | "integrity": "sha512-eFFGA3IPSya8ldUQWUMHk5HxidU/XnL3fEGIdX6Lza/bz4U7hgOdGT64CxLKbhEF1eFJbM7hFsxAfrfZm85x5g==", 37 | "dev": true, 38 | "dependencies": { 39 | "axios": "^1.4.0", 40 | "chalk": "^5.0.1", 41 | "css-tree": "^2.2.1", 42 | "ora": "^6.1.2" 43 | }, 44 | "bin": { 45 | "filament-purge": "filament-purge.js" 46 | } 47 | }, 48 | "node_modules/@esbuild/aix-ppc64": { 49 | "version": "0.25.0", 50 | "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz", 51 | "integrity": "sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==", 52 | "cpu": [ 53 | "ppc64" 54 | ], 55 | "dev": true, 56 | "license": "MIT", 57 | "optional": true, 58 | "os": [ 59 | "aix" 60 | ], 61 | "engines": { 62 | "node": ">=18" 63 | } 64 | }, 65 | "node_modules/@esbuild/android-arm": { 66 | "version": "0.25.0", 67 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.0.tgz", 68 | "integrity": "sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==", 69 | "cpu": [ 70 | "arm" 71 | ], 72 | "dev": true, 73 | "license": "MIT", 74 | "optional": true, 75 | "os": [ 76 | "android" 77 | ], 78 | "engines": { 79 | "node": ">=18" 80 | } 81 | }, 82 | "node_modules/@esbuild/android-arm64": { 83 | "version": "0.25.0", 84 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz", 85 | "integrity": "sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==", 86 | "cpu": [ 87 | "arm64" 88 | ], 89 | "dev": true, 90 | "license": "MIT", 91 | "optional": true, 92 | "os": [ 93 | "android" 94 | ], 95 | "engines": { 96 | "node": ">=18" 97 | } 98 | }, 99 | "node_modules/@esbuild/android-x64": { 100 | "version": "0.25.0", 101 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.0.tgz", 102 | "integrity": "sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==", 103 | "cpu": [ 104 | "x64" 105 | ], 106 | "dev": true, 107 | "license": "MIT", 108 | "optional": true, 109 | "os": [ 110 | "android" 111 | ], 112 | "engines": { 113 | "node": ">=18" 114 | } 115 | }, 116 | "node_modules/@esbuild/darwin-arm64": { 117 | "version": "0.25.0", 118 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz", 119 | "integrity": "sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==", 120 | "cpu": [ 121 | "arm64" 122 | ], 123 | "dev": true, 124 | "license": "MIT", 125 | "optional": true, 126 | "os": [ 127 | "darwin" 128 | ], 129 | "engines": { 130 | "node": ">=18" 131 | } 132 | }, 133 | "node_modules/@esbuild/darwin-x64": { 134 | "version": "0.25.0", 135 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz", 136 | "integrity": "sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==", 137 | "cpu": [ 138 | "x64" 139 | ], 140 | "dev": true, 141 | "license": "MIT", 142 | "optional": true, 143 | "os": [ 144 | "darwin" 145 | ], 146 | "engines": { 147 | "node": ">=18" 148 | } 149 | }, 150 | "node_modules/@esbuild/freebsd-arm64": { 151 | "version": "0.25.0", 152 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz", 153 | "integrity": "sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==", 154 | "cpu": [ 155 | "arm64" 156 | ], 157 | "dev": true, 158 | "license": "MIT", 159 | "optional": true, 160 | "os": [ 161 | "freebsd" 162 | ], 163 | "engines": { 164 | "node": ">=18" 165 | } 166 | }, 167 | "node_modules/@esbuild/freebsd-x64": { 168 | "version": "0.25.0", 169 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz", 170 | "integrity": "sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==", 171 | "cpu": [ 172 | "x64" 173 | ], 174 | "dev": true, 175 | "license": "MIT", 176 | "optional": true, 177 | "os": [ 178 | "freebsd" 179 | ], 180 | "engines": { 181 | "node": ">=18" 182 | } 183 | }, 184 | "node_modules/@esbuild/linux-arm": { 185 | "version": "0.25.0", 186 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz", 187 | "integrity": "sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==", 188 | "cpu": [ 189 | "arm" 190 | ], 191 | "dev": true, 192 | "license": "MIT", 193 | "optional": true, 194 | "os": [ 195 | "linux" 196 | ], 197 | "engines": { 198 | "node": ">=18" 199 | } 200 | }, 201 | "node_modules/@esbuild/linux-arm64": { 202 | "version": "0.25.0", 203 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz", 204 | "integrity": "sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==", 205 | "cpu": [ 206 | "arm64" 207 | ], 208 | "dev": true, 209 | "license": "MIT", 210 | "optional": true, 211 | "os": [ 212 | "linux" 213 | ], 214 | "engines": { 215 | "node": ">=18" 216 | } 217 | }, 218 | "node_modules/@esbuild/linux-ia32": { 219 | "version": "0.25.0", 220 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz", 221 | "integrity": "sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==", 222 | "cpu": [ 223 | "ia32" 224 | ], 225 | "dev": true, 226 | "license": "MIT", 227 | "optional": true, 228 | "os": [ 229 | "linux" 230 | ], 231 | "engines": { 232 | "node": ">=18" 233 | } 234 | }, 235 | "node_modules/@esbuild/linux-loong64": { 236 | "version": "0.25.0", 237 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz", 238 | "integrity": "sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==", 239 | "cpu": [ 240 | "loong64" 241 | ], 242 | "dev": true, 243 | "license": "MIT", 244 | "optional": true, 245 | "os": [ 246 | "linux" 247 | ], 248 | "engines": { 249 | "node": ">=18" 250 | } 251 | }, 252 | "node_modules/@esbuild/linux-mips64el": { 253 | "version": "0.25.0", 254 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz", 255 | "integrity": "sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==", 256 | "cpu": [ 257 | "mips64el" 258 | ], 259 | "dev": true, 260 | "license": "MIT", 261 | "optional": true, 262 | "os": [ 263 | "linux" 264 | ], 265 | "engines": { 266 | "node": ">=18" 267 | } 268 | }, 269 | "node_modules/@esbuild/linux-ppc64": { 270 | "version": "0.25.0", 271 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz", 272 | "integrity": "sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==", 273 | "cpu": [ 274 | "ppc64" 275 | ], 276 | "dev": true, 277 | "license": "MIT", 278 | "optional": true, 279 | "os": [ 280 | "linux" 281 | ], 282 | "engines": { 283 | "node": ">=18" 284 | } 285 | }, 286 | "node_modules/@esbuild/linux-riscv64": { 287 | "version": "0.25.0", 288 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz", 289 | "integrity": "sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==", 290 | "cpu": [ 291 | "riscv64" 292 | ], 293 | "dev": true, 294 | "license": "MIT", 295 | "optional": true, 296 | "os": [ 297 | "linux" 298 | ], 299 | "engines": { 300 | "node": ">=18" 301 | } 302 | }, 303 | "node_modules/@esbuild/linux-s390x": { 304 | "version": "0.25.0", 305 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz", 306 | "integrity": "sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==", 307 | "cpu": [ 308 | "s390x" 309 | ], 310 | "dev": true, 311 | "license": "MIT", 312 | "optional": true, 313 | "os": [ 314 | "linux" 315 | ], 316 | "engines": { 317 | "node": ">=18" 318 | } 319 | }, 320 | "node_modules/@esbuild/linux-x64": { 321 | "version": "0.25.0", 322 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz", 323 | "integrity": "sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==", 324 | "cpu": [ 325 | "x64" 326 | ], 327 | "dev": true, 328 | "license": "MIT", 329 | "optional": true, 330 | "os": [ 331 | "linux" 332 | ], 333 | "engines": { 334 | "node": ">=18" 335 | } 336 | }, 337 | "node_modules/@esbuild/netbsd-arm64": { 338 | "version": "0.25.0", 339 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz", 340 | "integrity": "sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==", 341 | "cpu": [ 342 | "arm64" 343 | ], 344 | "dev": true, 345 | "license": "MIT", 346 | "optional": true, 347 | "os": [ 348 | "netbsd" 349 | ], 350 | "engines": { 351 | "node": ">=18" 352 | } 353 | }, 354 | "node_modules/@esbuild/netbsd-x64": { 355 | "version": "0.25.0", 356 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz", 357 | "integrity": "sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==", 358 | "cpu": [ 359 | "x64" 360 | ], 361 | "dev": true, 362 | "license": "MIT", 363 | "optional": true, 364 | "os": [ 365 | "netbsd" 366 | ], 367 | "engines": { 368 | "node": ">=18" 369 | } 370 | }, 371 | "node_modules/@esbuild/openbsd-arm64": { 372 | "version": "0.25.0", 373 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz", 374 | "integrity": "sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==", 375 | "cpu": [ 376 | "arm64" 377 | ], 378 | "dev": true, 379 | "license": "MIT", 380 | "optional": true, 381 | "os": [ 382 | "openbsd" 383 | ], 384 | "engines": { 385 | "node": ">=18" 386 | } 387 | }, 388 | "node_modules/@esbuild/openbsd-x64": { 389 | "version": "0.25.0", 390 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz", 391 | "integrity": "sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==", 392 | "cpu": [ 393 | "x64" 394 | ], 395 | "dev": true, 396 | "license": "MIT", 397 | "optional": true, 398 | "os": [ 399 | "openbsd" 400 | ], 401 | "engines": { 402 | "node": ">=18" 403 | } 404 | }, 405 | "node_modules/@esbuild/sunos-x64": { 406 | "version": "0.25.0", 407 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz", 408 | "integrity": "sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==", 409 | "cpu": [ 410 | "x64" 411 | ], 412 | "dev": true, 413 | "license": "MIT", 414 | "optional": true, 415 | "os": [ 416 | "sunos" 417 | ], 418 | "engines": { 419 | "node": ">=18" 420 | } 421 | }, 422 | "node_modules/@esbuild/win32-arm64": { 423 | "version": "0.25.0", 424 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz", 425 | "integrity": "sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==", 426 | "cpu": [ 427 | "arm64" 428 | ], 429 | "dev": true, 430 | "license": "MIT", 431 | "optional": true, 432 | "os": [ 433 | "win32" 434 | ], 435 | "engines": { 436 | "node": ">=18" 437 | } 438 | }, 439 | "node_modules/@esbuild/win32-ia32": { 440 | "version": "0.25.0", 441 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz", 442 | "integrity": "sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==", 443 | "cpu": [ 444 | "ia32" 445 | ], 446 | "dev": true, 447 | "license": "MIT", 448 | "optional": true, 449 | "os": [ 450 | "win32" 451 | ], 452 | "engines": { 453 | "node": ">=18" 454 | } 455 | }, 456 | "node_modules/@esbuild/win32-x64": { 457 | "version": "0.25.0", 458 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz", 459 | "integrity": "sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==", 460 | "cpu": [ 461 | "x64" 462 | ], 463 | "dev": true, 464 | "license": "MIT", 465 | "optional": true, 466 | "os": [ 467 | "win32" 468 | ], 469 | "engines": { 470 | "node": ">=18" 471 | } 472 | }, 473 | "node_modules/@isaacs/cliui": { 474 | "version": "8.0.2", 475 | "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", 476 | "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", 477 | "dev": true, 478 | "dependencies": { 479 | "string-width": "^5.1.2", 480 | "string-width-cjs": "npm:string-width@^4.2.0", 481 | "strip-ansi": "^7.0.1", 482 | "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", 483 | "wrap-ansi": "^8.1.0", 484 | "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" 485 | }, 486 | "engines": { 487 | "node": ">=12" 488 | } 489 | }, 490 | "node_modules/@jridgewell/gen-mapping": { 491 | "version": "0.3.5", 492 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", 493 | "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", 494 | "dev": true, 495 | "dependencies": { 496 | "@jridgewell/set-array": "^1.2.1", 497 | "@jridgewell/sourcemap-codec": "^1.4.10", 498 | "@jridgewell/trace-mapping": "^0.3.24" 499 | }, 500 | "engines": { 501 | "node": ">=6.0.0" 502 | } 503 | }, 504 | "node_modules/@jridgewell/resolve-uri": { 505 | "version": "3.1.2", 506 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 507 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 508 | "dev": true, 509 | "engines": { 510 | "node": ">=6.0.0" 511 | } 512 | }, 513 | "node_modules/@jridgewell/set-array": { 514 | "version": "1.2.1", 515 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 516 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 517 | "dev": true, 518 | "engines": { 519 | "node": ">=6.0.0" 520 | } 521 | }, 522 | "node_modules/@jridgewell/sourcemap-codec": { 523 | "version": "1.4.15", 524 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", 525 | "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", 526 | "dev": true 527 | }, 528 | "node_modules/@jridgewell/trace-mapping": { 529 | "version": "0.3.25", 530 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 531 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 532 | "dev": true, 533 | "dependencies": { 534 | "@jridgewell/resolve-uri": "^3.1.0", 535 | "@jridgewell/sourcemap-codec": "^1.4.14" 536 | } 537 | }, 538 | "node_modules/@nodelib/fs.scandir": { 539 | "version": "2.1.5", 540 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", 541 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", 542 | "dev": true, 543 | "dependencies": { 544 | "@nodelib/fs.stat": "2.0.5", 545 | "run-parallel": "^1.1.9" 546 | }, 547 | "engines": { 548 | "node": ">= 8" 549 | } 550 | }, 551 | "node_modules/@nodelib/fs.stat": { 552 | "version": "2.0.5", 553 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", 554 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", 555 | "dev": true, 556 | "engines": { 557 | "node": ">= 8" 558 | } 559 | }, 560 | "node_modules/@nodelib/fs.walk": { 561 | "version": "1.2.8", 562 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", 563 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", 564 | "dev": true, 565 | "dependencies": { 566 | "@nodelib/fs.scandir": "2.1.5", 567 | "fastq": "^1.6.0" 568 | }, 569 | "engines": { 570 | "node": ">= 8" 571 | } 572 | }, 573 | "node_modules/@pkgjs/parseargs": { 574 | "version": "0.11.0", 575 | "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", 576 | "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", 577 | "dev": true, 578 | "optional": true, 579 | "engines": { 580 | "node": ">=14" 581 | } 582 | }, 583 | "node_modules/@tailwindcss/forms": { 584 | "version": "0.5.7", 585 | "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.7.tgz", 586 | "integrity": "sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==", 587 | "dev": true, 588 | "dependencies": { 589 | "mini-svg-data-uri": "^1.2.3" 590 | }, 591 | "peerDependencies": { 592 | "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" 593 | } 594 | }, 595 | "node_modules/@tailwindcss/typography": { 596 | "version": "0.5.12", 597 | "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.12.tgz", 598 | "integrity": "sha512-CNwpBpconcP7ppxmuq3qvaCxiRWnbhANpY/ruH4L5qs2GCiVDJXde/pjj2HWPV1+Q4G9+V/etrwUYopdcjAlyg==", 599 | "dev": true, 600 | "dependencies": { 601 | "lodash.castarray": "^4.4.0", 602 | "lodash.isplainobject": "^4.0.6", 603 | "lodash.merge": "^4.6.2", 604 | "postcss-selector-parser": "6.0.10" 605 | }, 606 | "peerDependencies": { 607 | "tailwindcss": ">=3.0.0 || insiders" 608 | } 609 | }, 610 | "node_modules/ansi-regex": { 611 | "version": "6.0.1", 612 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", 613 | "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", 614 | "dev": true, 615 | "engines": { 616 | "node": ">=12" 617 | }, 618 | "funding": { 619 | "url": "https://github.com/chalk/ansi-regex?sponsor=1" 620 | } 621 | }, 622 | "node_modules/ansi-styles": { 623 | "version": "3.2.1", 624 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 625 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 626 | "dev": true, 627 | "dependencies": { 628 | "color-convert": "^1.9.0" 629 | }, 630 | "engines": { 631 | "node": ">=4" 632 | } 633 | }, 634 | "node_modules/any-promise": { 635 | "version": "1.3.0", 636 | "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", 637 | "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", 638 | "dev": true 639 | }, 640 | "node_modules/anymatch": { 641 | "version": "3.1.3", 642 | "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", 643 | "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", 644 | "dev": true, 645 | "dependencies": { 646 | "normalize-path": "^3.0.0", 647 | "picomatch": "^2.0.4" 648 | }, 649 | "engines": { 650 | "node": ">= 8" 651 | } 652 | }, 653 | "node_modules/arg": { 654 | "version": "5.0.2", 655 | "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", 656 | "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", 657 | "dev": true 658 | }, 659 | "node_modules/array-buffer-byte-length": { 660 | "version": "1.0.1", 661 | "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", 662 | "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", 663 | "dev": true, 664 | "dependencies": { 665 | "call-bind": "^1.0.5", 666 | "is-array-buffer": "^3.0.4" 667 | }, 668 | "engines": { 669 | "node": ">= 0.4" 670 | }, 671 | "funding": { 672 | "url": "https://github.com/sponsors/ljharb" 673 | } 674 | }, 675 | "node_modules/arraybuffer.prototype.slice": { 676 | "version": "1.0.3", 677 | "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", 678 | "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", 679 | "dev": true, 680 | "dependencies": { 681 | "array-buffer-byte-length": "^1.0.1", 682 | "call-bind": "^1.0.5", 683 | "define-properties": "^1.2.1", 684 | "es-abstract": "^1.22.3", 685 | "es-errors": "^1.2.1", 686 | "get-intrinsic": "^1.2.3", 687 | "is-array-buffer": "^3.0.4", 688 | "is-shared-array-buffer": "^1.0.2" 689 | }, 690 | "engines": { 691 | "node": ">= 0.4" 692 | }, 693 | "funding": { 694 | "url": "https://github.com/sponsors/ljharb" 695 | } 696 | }, 697 | "node_modules/asynckit": { 698 | "version": "0.4.0", 699 | "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", 700 | "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", 701 | "dev": true 702 | }, 703 | "node_modules/autoprefixer": { 704 | "version": "10.4.19", 705 | "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.19.tgz", 706 | "integrity": "sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==", 707 | "dev": true, 708 | "funding": [ 709 | { 710 | "type": "opencollective", 711 | "url": "https://opencollective.com/postcss/" 712 | }, 713 | { 714 | "type": "tidelift", 715 | "url": "https://tidelift.com/funding/github/npm/autoprefixer" 716 | }, 717 | { 718 | "type": "github", 719 | "url": "https://github.com/sponsors/ai" 720 | } 721 | ], 722 | "dependencies": { 723 | "browserslist": "^4.23.0", 724 | "caniuse-lite": "^1.0.30001599", 725 | "fraction.js": "^4.3.7", 726 | "normalize-range": "^0.1.2", 727 | "picocolors": "^1.0.0", 728 | "postcss-value-parser": "^4.2.0" 729 | }, 730 | "bin": { 731 | "autoprefixer": "bin/autoprefixer" 732 | }, 733 | "engines": { 734 | "node": "^10 || ^12 || >=14" 735 | }, 736 | "peerDependencies": { 737 | "postcss": "^8.1.0" 738 | } 739 | }, 740 | "node_modules/available-typed-arrays": { 741 | "version": "1.0.7", 742 | "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", 743 | "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", 744 | "dev": true, 745 | "dependencies": { 746 | "possible-typed-array-names": "^1.0.0" 747 | }, 748 | "engines": { 749 | "node": ">= 0.4" 750 | }, 751 | "funding": { 752 | "url": "https://github.com/sponsors/ljharb" 753 | } 754 | }, 755 | "node_modules/axios": { 756 | "version": "1.9.0", 757 | "resolved": "https://registry.npmjs.org/axios/-/axios-1.9.0.tgz", 758 | "integrity": "sha512-re4CqKTJaURpzbLHtIi6XpDv20/CnpXOtjRY5/CU32L8gU8ek9UIivcfvSWvmKEngmVbrUtPpdDwWDWL7DNHvg==", 759 | "dev": true, 760 | "license": "MIT", 761 | "dependencies": { 762 | "follow-redirects": "^1.15.6", 763 | "form-data": "^4.0.0", 764 | "proxy-from-env": "^1.1.0" 765 | } 766 | }, 767 | "node_modules/balanced-match": { 768 | "version": "1.0.2", 769 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 770 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 771 | "dev": true 772 | }, 773 | "node_modules/base64-js": { 774 | "version": "1.5.1", 775 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 776 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 777 | "dev": true, 778 | "funding": [ 779 | { 780 | "type": "github", 781 | "url": "https://github.com/sponsors/feross" 782 | }, 783 | { 784 | "type": "patreon", 785 | "url": "https://www.patreon.com/feross" 786 | }, 787 | { 788 | "type": "consulting", 789 | "url": "https://feross.org/support" 790 | } 791 | ] 792 | }, 793 | "node_modules/binary-extensions": { 794 | "version": "2.3.0", 795 | "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", 796 | "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", 797 | "dev": true, 798 | "engines": { 799 | "node": ">=8" 800 | }, 801 | "funding": { 802 | "url": "https://github.com/sponsors/sindresorhus" 803 | } 804 | }, 805 | "node_modules/bl": { 806 | "version": "5.1.0", 807 | "resolved": "https://registry.npmjs.org/bl/-/bl-5.1.0.tgz", 808 | "integrity": "sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==", 809 | "dev": true, 810 | "dependencies": { 811 | "buffer": "^6.0.3", 812 | "inherits": "^2.0.4", 813 | "readable-stream": "^3.4.0" 814 | } 815 | }, 816 | "node_modules/brace-expansion": { 817 | "version": "1.1.11", 818 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 819 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 820 | "dev": true, 821 | "dependencies": { 822 | "balanced-match": "^1.0.0", 823 | "concat-map": "0.0.1" 824 | } 825 | }, 826 | "node_modules/braces": { 827 | "version": "3.0.3", 828 | "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", 829 | "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", 830 | "dev": true, 831 | "dependencies": { 832 | "fill-range": "^7.1.1" 833 | }, 834 | "engines": { 835 | "node": ">=8" 836 | } 837 | }, 838 | "node_modules/browserslist": { 839 | "version": "4.23.0", 840 | "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", 841 | "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", 842 | "dev": true, 843 | "funding": [ 844 | { 845 | "type": "opencollective", 846 | "url": "https://opencollective.com/browserslist" 847 | }, 848 | { 849 | "type": "tidelift", 850 | "url": "https://tidelift.com/funding/github/npm/browserslist" 851 | }, 852 | { 853 | "type": "github", 854 | "url": "https://github.com/sponsors/ai" 855 | } 856 | ], 857 | "dependencies": { 858 | "caniuse-lite": "^1.0.30001587", 859 | "electron-to-chromium": "^1.4.668", 860 | "node-releases": "^2.0.14", 861 | "update-browserslist-db": "^1.0.13" 862 | }, 863 | "bin": { 864 | "browserslist": "cli.js" 865 | }, 866 | "engines": { 867 | "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" 868 | } 869 | }, 870 | "node_modules/buffer": { 871 | "version": "6.0.3", 872 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", 873 | "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", 874 | "dev": true, 875 | "funding": [ 876 | { 877 | "type": "github", 878 | "url": "https://github.com/sponsors/feross" 879 | }, 880 | { 881 | "type": "patreon", 882 | "url": "https://www.patreon.com/feross" 883 | }, 884 | { 885 | "type": "consulting", 886 | "url": "https://feross.org/support" 887 | } 888 | ], 889 | "dependencies": { 890 | "base64-js": "^1.3.1", 891 | "ieee754": "^1.2.1" 892 | } 893 | }, 894 | "node_modules/call-bind": { 895 | "version": "1.0.7", 896 | "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", 897 | "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", 898 | "dev": true, 899 | "dependencies": { 900 | "es-define-property": "^1.0.0", 901 | "es-errors": "^1.3.0", 902 | "function-bind": "^1.1.2", 903 | "get-intrinsic": "^1.2.4", 904 | "set-function-length": "^1.2.1" 905 | }, 906 | "engines": { 907 | "node": ">= 0.4" 908 | }, 909 | "funding": { 910 | "url": "https://github.com/sponsors/ljharb" 911 | } 912 | }, 913 | "node_modules/call-bind-apply-helpers": { 914 | "version": "1.0.2", 915 | "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", 916 | "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", 917 | "dev": true, 918 | "license": "MIT", 919 | "dependencies": { 920 | "es-errors": "^1.3.0", 921 | "function-bind": "^1.1.2" 922 | }, 923 | "engines": { 924 | "node": ">= 0.4" 925 | } 926 | }, 927 | "node_modules/camelcase-css": { 928 | "version": "2.0.1", 929 | "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", 930 | "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", 931 | "dev": true, 932 | "engines": { 933 | "node": ">= 6" 934 | } 935 | }, 936 | "node_modules/caniuse-lite": { 937 | "version": "1.0.30001605", 938 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001605.tgz", 939 | "integrity": "sha512-nXwGlFWo34uliI9z3n6Qc0wZaf7zaZWA1CPZ169La5mV3I/gem7bst0vr5XQH5TJXZIMfDeZyOrZnSlVzKxxHQ==", 940 | "dev": true, 941 | "funding": [ 942 | { 943 | "type": "opencollective", 944 | "url": "https://opencollective.com/browserslist" 945 | }, 946 | { 947 | "type": "tidelift", 948 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 949 | }, 950 | { 951 | "type": "github", 952 | "url": "https://github.com/sponsors/ai" 953 | } 954 | ] 955 | }, 956 | "node_modules/chalk": { 957 | "version": "5.3.0", 958 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", 959 | "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", 960 | "dev": true, 961 | "engines": { 962 | "node": "^12.17.0 || ^14.13 || >=16.0.0" 963 | }, 964 | "funding": { 965 | "url": "https://github.com/chalk/chalk?sponsor=1" 966 | } 967 | }, 968 | "node_modules/chokidar": { 969 | "version": "3.6.0", 970 | "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", 971 | "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", 972 | "dev": true, 973 | "dependencies": { 974 | "anymatch": "~3.1.2", 975 | "braces": "~3.0.2", 976 | "glob-parent": "~5.1.2", 977 | "is-binary-path": "~2.1.0", 978 | "is-glob": "~4.0.1", 979 | "normalize-path": "~3.0.0", 980 | "readdirp": "~3.6.0" 981 | }, 982 | "engines": { 983 | "node": ">= 8.10.0" 984 | }, 985 | "funding": { 986 | "url": "https://paulmillr.com/funding/" 987 | }, 988 | "optionalDependencies": { 989 | "fsevents": "~2.3.2" 990 | } 991 | }, 992 | "node_modules/chokidar/node_modules/glob-parent": { 993 | "version": "5.1.2", 994 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 995 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 996 | "dev": true, 997 | "dependencies": { 998 | "is-glob": "^4.0.1" 999 | }, 1000 | "engines": { 1001 | "node": ">= 6" 1002 | } 1003 | }, 1004 | "node_modules/cli-cursor": { 1005 | "version": "4.0.0", 1006 | "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-4.0.0.tgz", 1007 | "integrity": "sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==", 1008 | "dev": true, 1009 | "dependencies": { 1010 | "restore-cursor": "^4.0.0" 1011 | }, 1012 | "engines": { 1013 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1014 | }, 1015 | "funding": { 1016 | "url": "https://github.com/sponsors/sindresorhus" 1017 | } 1018 | }, 1019 | "node_modules/cli-spinners": { 1020 | "version": "2.9.2", 1021 | "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", 1022 | "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", 1023 | "dev": true, 1024 | "engines": { 1025 | "node": ">=6" 1026 | }, 1027 | "funding": { 1028 | "url": "https://github.com/sponsors/sindresorhus" 1029 | } 1030 | }, 1031 | "node_modules/clone": { 1032 | "version": "1.0.4", 1033 | "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", 1034 | "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", 1035 | "dev": true, 1036 | "engines": { 1037 | "node": ">=0.8" 1038 | } 1039 | }, 1040 | "node_modules/color-convert": { 1041 | "version": "1.9.3", 1042 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 1043 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 1044 | "dev": true, 1045 | "dependencies": { 1046 | "color-name": "1.1.3" 1047 | } 1048 | }, 1049 | "node_modules/color-name": { 1050 | "version": "1.1.3", 1051 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 1052 | "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", 1053 | "dev": true 1054 | }, 1055 | "node_modules/combined-stream": { 1056 | "version": "1.0.8", 1057 | "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", 1058 | "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", 1059 | "dev": true, 1060 | "dependencies": { 1061 | "delayed-stream": "~1.0.0" 1062 | }, 1063 | "engines": { 1064 | "node": ">= 0.8" 1065 | } 1066 | }, 1067 | "node_modules/commander": { 1068 | "version": "4.1.1", 1069 | "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", 1070 | "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", 1071 | "dev": true, 1072 | "engines": { 1073 | "node": ">= 6" 1074 | } 1075 | }, 1076 | "node_modules/concat-map": { 1077 | "version": "0.0.1", 1078 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1079 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1080 | "dev": true 1081 | }, 1082 | "node_modules/cross-spawn": { 1083 | "version": "6.0.5", 1084 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", 1085 | "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", 1086 | "dev": true, 1087 | "dependencies": { 1088 | "nice-try": "^1.0.4", 1089 | "path-key": "^2.0.1", 1090 | "semver": "^5.5.0", 1091 | "shebang-command": "^1.2.0", 1092 | "which": "^1.2.9" 1093 | }, 1094 | "engines": { 1095 | "node": ">=4.8" 1096 | } 1097 | }, 1098 | "node_modules/css-tree": { 1099 | "version": "2.3.1", 1100 | "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", 1101 | "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", 1102 | "dev": true, 1103 | "dependencies": { 1104 | "mdn-data": "2.0.30", 1105 | "source-map-js": "^1.0.1" 1106 | }, 1107 | "engines": { 1108 | "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" 1109 | } 1110 | }, 1111 | "node_modules/cssesc": { 1112 | "version": "3.0.0", 1113 | "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", 1114 | "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", 1115 | "dev": true, 1116 | "bin": { 1117 | "cssesc": "bin/cssesc" 1118 | }, 1119 | "engines": { 1120 | "node": ">=4" 1121 | } 1122 | }, 1123 | "node_modules/data-view-buffer": { 1124 | "version": "1.0.1", 1125 | "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", 1126 | "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", 1127 | "dev": true, 1128 | "dependencies": { 1129 | "call-bind": "^1.0.6", 1130 | "es-errors": "^1.3.0", 1131 | "is-data-view": "^1.0.1" 1132 | }, 1133 | "engines": { 1134 | "node": ">= 0.4" 1135 | }, 1136 | "funding": { 1137 | "url": "https://github.com/sponsors/ljharb" 1138 | } 1139 | }, 1140 | "node_modules/data-view-byte-length": { 1141 | "version": "1.0.1", 1142 | "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", 1143 | "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", 1144 | "dev": true, 1145 | "dependencies": { 1146 | "call-bind": "^1.0.7", 1147 | "es-errors": "^1.3.0", 1148 | "is-data-view": "^1.0.1" 1149 | }, 1150 | "engines": { 1151 | "node": ">= 0.4" 1152 | }, 1153 | "funding": { 1154 | "url": "https://github.com/sponsors/ljharb" 1155 | } 1156 | }, 1157 | "node_modules/data-view-byte-offset": { 1158 | "version": "1.0.0", 1159 | "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", 1160 | "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", 1161 | "dev": true, 1162 | "dependencies": { 1163 | "call-bind": "^1.0.6", 1164 | "es-errors": "^1.3.0", 1165 | "is-data-view": "^1.0.1" 1166 | }, 1167 | "engines": { 1168 | "node": ">= 0.4" 1169 | }, 1170 | "funding": { 1171 | "url": "https://github.com/sponsors/ljharb" 1172 | } 1173 | }, 1174 | "node_modules/defaults": { 1175 | "version": "1.0.4", 1176 | "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", 1177 | "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", 1178 | "dev": true, 1179 | "dependencies": { 1180 | "clone": "^1.0.2" 1181 | }, 1182 | "funding": { 1183 | "url": "https://github.com/sponsors/sindresorhus" 1184 | } 1185 | }, 1186 | "node_modules/define-data-property": { 1187 | "version": "1.1.4", 1188 | "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", 1189 | "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", 1190 | "dev": true, 1191 | "dependencies": { 1192 | "es-define-property": "^1.0.0", 1193 | "es-errors": "^1.3.0", 1194 | "gopd": "^1.0.1" 1195 | }, 1196 | "engines": { 1197 | "node": ">= 0.4" 1198 | }, 1199 | "funding": { 1200 | "url": "https://github.com/sponsors/ljharb" 1201 | } 1202 | }, 1203 | "node_modules/define-properties": { 1204 | "version": "1.2.1", 1205 | "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", 1206 | "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", 1207 | "dev": true, 1208 | "dependencies": { 1209 | "define-data-property": "^1.0.1", 1210 | "has-property-descriptors": "^1.0.0", 1211 | "object-keys": "^1.1.1" 1212 | }, 1213 | "engines": { 1214 | "node": ">= 0.4" 1215 | }, 1216 | "funding": { 1217 | "url": "https://github.com/sponsors/ljharb" 1218 | } 1219 | }, 1220 | "node_modules/delayed-stream": { 1221 | "version": "1.0.0", 1222 | "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", 1223 | "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", 1224 | "dev": true, 1225 | "engines": { 1226 | "node": ">=0.4.0" 1227 | } 1228 | }, 1229 | "node_modules/didyoumean": { 1230 | "version": "1.2.2", 1231 | "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", 1232 | "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", 1233 | "dev": true 1234 | }, 1235 | "node_modules/dlv": { 1236 | "version": "1.1.3", 1237 | "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", 1238 | "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", 1239 | "dev": true 1240 | }, 1241 | "node_modules/dunder-proto": { 1242 | "version": "1.0.1", 1243 | "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", 1244 | "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", 1245 | "dev": true, 1246 | "license": "MIT", 1247 | "dependencies": { 1248 | "call-bind-apply-helpers": "^1.0.1", 1249 | "es-errors": "^1.3.0", 1250 | "gopd": "^1.2.0" 1251 | }, 1252 | "engines": { 1253 | "node": ">= 0.4" 1254 | } 1255 | }, 1256 | "node_modules/eastasianwidth": { 1257 | "version": "0.2.0", 1258 | "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", 1259 | "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", 1260 | "dev": true 1261 | }, 1262 | "node_modules/electron-to-chromium": { 1263 | "version": "1.4.723", 1264 | "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.723.tgz", 1265 | "integrity": "sha512-rxFVtrMGMFROr4qqU6n95rUi9IlfIm+lIAt+hOToy/9r6CDv0XiEcQdC3VP71y1pE5CFTzKV0RvxOGYCPWWHPw==", 1266 | "dev": true 1267 | }, 1268 | "node_modules/emoji-regex": { 1269 | "version": "9.2.2", 1270 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", 1271 | "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", 1272 | "dev": true 1273 | }, 1274 | "node_modules/error-ex": { 1275 | "version": "1.3.2", 1276 | "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", 1277 | "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", 1278 | "dev": true, 1279 | "dependencies": { 1280 | "is-arrayish": "^0.2.1" 1281 | } 1282 | }, 1283 | "node_modules/es-abstract": { 1284 | "version": "1.23.3", 1285 | "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", 1286 | "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", 1287 | "dev": true, 1288 | "dependencies": { 1289 | "array-buffer-byte-length": "^1.0.1", 1290 | "arraybuffer.prototype.slice": "^1.0.3", 1291 | "available-typed-arrays": "^1.0.7", 1292 | "call-bind": "^1.0.7", 1293 | "data-view-buffer": "^1.0.1", 1294 | "data-view-byte-length": "^1.0.1", 1295 | "data-view-byte-offset": "^1.0.0", 1296 | "es-define-property": "^1.0.0", 1297 | "es-errors": "^1.3.0", 1298 | "es-object-atoms": "^1.0.0", 1299 | "es-set-tostringtag": "^2.0.3", 1300 | "es-to-primitive": "^1.2.1", 1301 | "function.prototype.name": "^1.1.6", 1302 | "get-intrinsic": "^1.2.4", 1303 | "get-symbol-description": "^1.0.2", 1304 | "globalthis": "^1.0.3", 1305 | "gopd": "^1.0.1", 1306 | "has-property-descriptors": "^1.0.2", 1307 | "has-proto": "^1.0.3", 1308 | "has-symbols": "^1.0.3", 1309 | "hasown": "^2.0.2", 1310 | "internal-slot": "^1.0.7", 1311 | "is-array-buffer": "^3.0.4", 1312 | "is-callable": "^1.2.7", 1313 | "is-data-view": "^1.0.1", 1314 | "is-negative-zero": "^2.0.3", 1315 | "is-regex": "^1.1.4", 1316 | "is-shared-array-buffer": "^1.0.3", 1317 | "is-string": "^1.0.7", 1318 | "is-typed-array": "^1.1.13", 1319 | "is-weakref": "^1.0.2", 1320 | "object-inspect": "^1.13.1", 1321 | "object-keys": "^1.1.1", 1322 | "object.assign": "^4.1.5", 1323 | "regexp.prototype.flags": "^1.5.2", 1324 | "safe-array-concat": "^1.1.2", 1325 | "safe-regex-test": "^1.0.3", 1326 | "string.prototype.trim": "^1.2.9", 1327 | "string.prototype.trimend": "^1.0.8", 1328 | "string.prototype.trimstart": "^1.0.8", 1329 | "typed-array-buffer": "^1.0.2", 1330 | "typed-array-byte-length": "^1.0.1", 1331 | "typed-array-byte-offset": "^1.0.2", 1332 | "typed-array-length": "^1.0.6", 1333 | "unbox-primitive": "^1.0.2", 1334 | "which-typed-array": "^1.1.15" 1335 | }, 1336 | "engines": { 1337 | "node": ">= 0.4" 1338 | }, 1339 | "funding": { 1340 | "url": "https://github.com/sponsors/ljharb" 1341 | } 1342 | }, 1343 | "node_modules/es-define-property": { 1344 | "version": "1.0.1", 1345 | "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", 1346 | "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", 1347 | "dev": true, 1348 | "license": "MIT", 1349 | "engines": { 1350 | "node": ">= 0.4" 1351 | } 1352 | }, 1353 | "node_modules/es-errors": { 1354 | "version": "1.3.0", 1355 | "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", 1356 | "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", 1357 | "dev": true, 1358 | "engines": { 1359 | "node": ">= 0.4" 1360 | } 1361 | }, 1362 | "node_modules/es-object-atoms": { 1363 | "version": "1.1.1", 1364 | "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", 1365 | "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", 1366 | "dev": true, 1367 | "license": "MIT", 1368 | "dependencies": { 1369 | "es-errors": "^1.3.0" 1370 | }, 1371 | "engines": { 1372 | "node": ">= 0.4" 1373 | } 1374 | }, 1375 | "node_modules/es-set-tostringtag": { 1376 | "version": "2.1.0", 1377 | "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", 1378 | "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", 1379 | "dev": true, 1380 | "license": "MIT", 1381 | "dependencies": { 1382 | "es-errors": "^1.3.0", 1383 | "get-intrinsic": "^1.2.6", 1384 | "has-tostringtag": "^1.0.2", 1385 | "hasown": "^2.0.2" 1386 | }, 1387 | "engines": { 1388 | "node": ">= 0.4" 1389 | } 1390 | }, 1391 | "node_modules/es-to-primitive": { 1392 | "version": "1.2.1", 1393 | "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", 1394 | "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", 1395 | "dev": true, 1396 | "dependencies": { 1397 | "is-callable": "^1.1.4", 1398 | "is-date-object": "^1.0.1", 1399 | "is-symbol": "^1.0.2" 1400 | }, 1401 | "engines": { 1402 | "node": ">= 0.4" 1403 | }, 1404 | "funding": { 1405 | "url": "https://github.com/sponsors/ljharb" 1406 | } 1407 | }, 1408 | "node_modules/esbuild": { 1409 | "version": "0.25.0", 1410 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.0.tgz", 1411 | "integrity": "sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==", 1412 | "dev": true, 1413 | "hasInstallScript": true, 1414 | "license": "MIT", 1415 | "bin": { 1416 | "esbuild": "bin/esbuild" 1417 | }, 1418 | "engines": { 1419 | "node": ">=18" 1420 | }, 1421 | "optionalDependencies": { 1422 | "@esbuild/aix-ppc64": "0.25.0", 1423 | "@esbuild/android-arm": "0.25.0", 1424 | "@esbuild/android-arm64": "0.25.0", 1425 | "@esbuild/android-x64": "0.25.0", 1426 | "@esbuild/darwin-arm64": "0.25.0", 1427 | "@esbuild/darwin-x64": "0.25.0", 1428 | "@esbuild/freebsd-arm64": "0.25.0", 1429 | "@esbuild/freebsd-x64": "0.25.0", 1430 | "@esbuild/linux-arm": "0.25.0", 1431 | "@esbuild/linux-arm64": "0.25.0", 1432 | "@esbuild/linux-ia32": "0.25.0", 1433 | "@esbuild/linux-loong64": "0.25.0", 1434 | "@esbuild/linux-mips64el": "0.25.0", 1435 | "@esbuild/linux-ppc64": "0.25.0", 1436 | "@esbuild/linux-riscv64": "0.25.0", 1437 | "@esbuild/linux-s390x": "0.25.0", 1438 | "@esbuild/linux-x64": "0.25.0", 1439 | "@esbuild/netbsd-arm64": "0.25.0", 1440 | "@esbuild/netbsd-x64": "0.25.0", 1441 | "@esbuild/openbsd-arm64": "0.25.0", 1442 | "@esbuild/openbsd-x64": "0.25.0", 1443 | "@esbuild/sunos-x64": "0.25.0", 1444 | "@esbuild/win32-arm64": "0.25.0", 1445 | "@esbuild/win32-ia32": "0.25.0", 1446 | "@esbuild/win32-x64": "0.25.0" 1447 | } 1448 | }, 1449 | "node_modules/escalade": { 1450 | "version": "3.1.2", 1451 | "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", 1452 | "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", 1453 | "dev": true, 1454 | "engines": { 1455 | "node": ">=6" 1456 | } 1457 | }, 1458 | "node_modules/escape-string-regexp": { 1459 | "version": "1.0.5", 1460 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 1461 | "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", 1462 | "dev": true, 1463 | "engines": { 1464 | "node": ">=0.8.0" 1465 | } 1466 | }, 1467 | "node_modules/fast-glob": { 1468 | "version": "3.3.2", 1469 | "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", 1470 | "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", 1471 | "dev": true, 1472 | "dependencies": { 1473 | "@nodelib/fs.stat": "^2.0.2", 1474 | "@nodelib/fs.walk": "^1.2.3", 1475 | "glob-parent": "^5.1.2", 1476 | "merge2": "^1.3.0", 1477 | "micromatch": "^4.0.4" 1478 | }, 1479 | "engines": { 1480 | "node": ">=8.6.0" 1481 | } 1482 | }, 1483 | "node_modules/fast-glob/node_modules/glob-parent": { 1484 | "version": "5.1.2", 1485 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", 1486 | "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", 1487 | "dev": true, 1488 | "dependencies": { 1489 | "is-glob": "^4.0.1" 1490 | }, 1491 | "engines": { 1492 | "node": ">= 6" 1493 | } 1494 | }, 1495 | "node_modules/fastq": { 1496 | "version": "1.17.1", 1497 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", 1498 | "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", 1499 | "dev": true, 1500 | "dependencies": { 1501 | "reusify": "^1.0.4" 1502 | } 1503 | }, 1504 | "node_modules/fill-range": { 1505 | "version": "7.1.1", 1506 | "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", 1507 | "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", 1508 | "dev": true, 1509 | "dependencies": { 1510 | "to-regex-range": "^5.0.1" 1511 | }, 1512 | "engines": { 1513 | "node": ">=8" 1514 | } 1515 | }, 1516 | "node_modules/follow-redirects": { 1517 | "version": "1.15.6", 1518 | "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz", 1519 | "integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==", 1520 | "dev": true, 1521 | "funding": [ 1522 | { 1523 | "type": "individual", 1524 | "url": "https://github.com/sponsors/RubenVerborgh" 1525 | } 1526 | ], 1527 | "engines": { 1528 | "node": ">=4.0" 1529 | }, 1530 | "peerDependenciesMeta": { 1531 | "debug": { 1532 | "optional": true 1533 | } 1534 | } 1535 | }, 1536 | "node_modules/for-each": { 1537 | "version": "0.3.3", 1538 | "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", 1539 | "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", 1540 | "dev": true, 1541 | "dependencies": { 1542 | "is-callable": "^1.1.3" 1543 | } 1544 | }, 1545 | "node_modules/foreground-child": { 1546 | "version": "3.1.1", 1547 | "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", 1548 | "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", 1549 | "dev": true, 1550 | "dependencies": { 1551 | "cross-spawn": "^7.0.0", 1552 | "signal-exit": "^4.0.1" 1553 | }, 1554 | "engines": { 1555 | "node": ">=14" 1556 | }, 1557 | "funding": { 1558 | "url": "https://github.com/sponsors/isaacs" 1559 | } 1560 | }, 1561 | "node_modules/foreground-child/node_modules/cross-spawn": { 1562 | "version": "7.0.3", 1563 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 1564 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 1565 | "dev": true, 1566 | "dependencies": { 1567 | "path-key": "^3.1.0", 1568 | "shebang-command": "^2.0.0", 1569 | "which": "^2.0.1" 1570 | }, 1571 | "engines": { 1572 | "node": ">= 8" 1573 | } 1574 | }, 1575 | "node_modules/foreground-child/node_modules/path-key": { 1576 | "version": "3.1.1", 1577 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 1578 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 1579 | "dev": true, 1580 | "engines": { 1581 | "node": ">=8" 1582 | } 1583 | }, 1584 | "node_modules/foreground-child/node_modules/shebang-command": { 1585 | "version": "2.0.0", 1586 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 1587 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 1588 | "dev": true, 1589 | "dependencies": { 1590 | "shebang-regex": "^3.0.0" 1591 | }, 1592 | "engines": { 1593 | "node": ">=8" 1594 | } 1595 | }, 1596 | "node_modules/foreground-child/node_modules/shebang-regex": { 1597 | "version": "3.0.0", 1598 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 1599 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 1600 | "dev": true, 1601 | "engines": { 1602 | "node": ">=8" 1603 | } 1604 | }, 1605 | "node_modules/foreground-child/node_modules/signal-exit": { 1606 | "version": "4.1.0", 1607 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 1608 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 1609 | "dev": true, 1610 | "engines": { 1611 | "node": ">=14" 1612 | }, 1613 | "funding": { 1614 | "url": "https://github.com/sponsors/isaacs" 1615 | } 1616 | }, 1617 | "node_modules/foreground-child/node_modules/which": { 1618 | "version": "2.0.2", 1619 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 1620 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 1621 | "dev": true, 1622 | "dependencies": { 1623 | "isexe": "^2.0.0" 1624 | }, 1625 | "bin": { 1626 | "node-which": "bin/node-which" 1627 | }, 1628 | "engines": { 1629 | "node": ">= 8" 1630 | } 1631 | }, 1632 | "node_modules/form-data": { 1633 | "version": "4.0.4", 1634 | "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz", 1635 | "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==", 1636 | "dev": true, 1637 | "license": "MIT", 1638 | "dependencies": { 1639 | "asynckit": "^0.4.0", 1640 | "combined-stream": "^1.0.8", 1641 | "es-set-tostringtag": "^2.1.0", 1642 | "hasown": "^2.0.2", 1643 | "mime-types": "^2.1.12" 1644 | }, 1645 | "engines": { 1646 | "node": ">= 6" 1647 | } 1648 | }, 1649 | "node_modules/fraction.js": { 1650 | "version": "4.3.7", 1651 | "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", 1652 | "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", 1653 | "dev": true, 1654 | "engines": { 1655 | "node": "*" 1656 | }, 1657 | "funding": { 1658 | "type": "patreon", 1659 | "url": "https://github.com/sponsors/rawify" 1660 | } 1661 | }, 1662 | "node_modules/fsevents": { 1663 | "version": "2.3.3", 1664 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 1665 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 1666 | "dev": true, 1667 | "hasInstallScript": true, 1668 | "optional": true, 1669 | "os": [ 1670 | "darwin" 1671 | ], 1672 | "engines": { 1673 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1674 | } 1675 | }, 1676 | "node_modules/function-bind": { 1677 | "version": "1.1.2", 1678 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", 1679 | "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", 1680 | "dev": true, 1681 | "funding": { 1682 | "url": "https://github.com/sponsors/ljharb" 1683 | } 1684 | }, 1685 | "node_modules/function.prototype.name": { 1686 | "version": "1.1.6", 1687 | "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", 1688 | "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", 1689 | "dev": true, 1690 | "dependencies": { 1691 | "call-bind": "^1.0.2", 1692 | "define-properties": "^1.2.0", 1693 | "es-abstract": "^1.22.1", 1694 | "functions-have-names": "^1.2.3" 1695 | }, 1696 | "engines": { 1697 | "node": ">= 0.4" 1698 | }, 1699 | "funding": { 1700 | "url": "https://github.com/sponsors/ljharb" 1701 | } 1702 | }, 1703 | "node_modules/functions-have-names": { 1704 | "version": "1.2.3", 1705 | "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", 1706 | "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", 1707 | "dev": true, 1708 | "funding": { 1709 | "url": "https://github.com/sponsors/ljharb" 1710 | } 1711 | }, 1712 | "node_modules/get-intrinsic": { 1713 | "version": "1.3.0", 1714 | "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", 1715 | "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", 1716 | "dev": true, 1717 | "license": "MIT", 1718 | "dependencies": { 1719 | "call-bind-apply-helpers": "^1.0.2", 1720 | "es-define-property": "^1.0.1", 1721 | "es-errors": "^1.3.0", 1722 | "es-object-atoms": "^1.1.1", 1723 | "function-bind": "^1.1.2", 1724 | "get-proto": "^1.0.1", 1725 | "gopd": "^1.2.0", 1726 | "has-symbols": "^1.1.0", 1727 | "hasown": "^2.0.2", 1728 | "math-intrinsics": "^1.1.0" 1729 | }, 1730 | "engines": { 1731 | "node": ">= 0.4" 1732 | }, 1733 | "funding": { 1734 | "url": "https://github.com/sponsors/ljharb" 1735 | } 1736 | }, 1737 | "node_modules/get-proto": { 1738 | "version": "1.0.1", 1739 | "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", 1740 | "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", 1741 | "dev": true, 1742 | "license": "MIT", 1743 | "dependencies": { 1744 | "dunder-proto": "^1.0.1", 1745 | "es-object-atoms": "^1.0.0" 1746 | }, 1747 | "engines": { 1748 | "node": ">= 0.4" 1749 | } 1750 | }, 1751 | "node_modules/get-symbol-description": { 1752 | "version": "1.0.2", 1753 | "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", 1754 | "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", 1755 | "dev": true, 1756 | "dependencies": { 1757 | "call-bind": "^1.0.5", 1758 | "es-errors": "^1.3.0", 1759 | "get-intrinsic": "^1.2.4" 1760 | }, 1761 | "engines": { 1762 | "node": ">= 0.4" 1763 | }, 1764 | "funding": { 1765 | "url": "https://github.com/sponsors/ljharb" 1766 | } 1767 | }, 1768 | "node_modules/glob": { 1769 | "version": "10.3.12", 1770 | "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.12.tgz", 1771 | "integrity": "sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==", 1772 | "dev": true, 1773 | "dependencies": { 1774 | "foreground-child": "^3.1.0", 1775 | "jackspeak": "^2.3.6", 1776 | "minimatch": "^9.0.1", 1777 | "minipass": "^7.0.4", 1778 | "path-scurry": "^1.10.2" 1779 | }, 1780 | "bin": { 1781 | "glob": "dist/esm/bin.mjs" 1782 | }, 1783 | "engines": { 1784 | "node": ">=16 || 14 >=14.17" 1785 | }, 1786 | "funding": { 1787 | "url": "https://github.com/sponsors/isaacs" 1788 | } 1789 | }, 1790 | "node_modules/glob-parent": { 1791 | "version": "6.0.2", 1792 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", 1793 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", 1794 | "dev": true, 1795 | "dependencies": { 1796 | "is-glob": "^4.0.3" 1797 | }, 1798 | "engines": { 1799 | "node": ">=10.13.0" 1800 | } 1801 | }, 1802 | "node_modules/glob/node_modules/brace-expansion": { 1803 | "version": "2.0.1", 1804 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", 1805 | "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", 1806 | "dev": true, 1807 | "dependencies": { 1808 | "balanced-match": "^1.0.0" 1809 | } 1810 | }, 1811 | "node_modules/glob/node_modules/minimatch": { 1812 | "version": "9.0.4", 1813 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", 1814 | "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", 1815 | "dev": true, 1816 | "dependencies": { 1817 | "brace-expansion": "^2.0.1" 1818 | }, 1819 | "engines": { 1820 | "node": ">=16 || 14 >=14.17" 1821 | }, 1822 | "funding": { 1823 | "url": "https://github.com/sponsors/isaacs" 1824 | } 1825 | }, 1826 | "node_modules/globalthis": { 1827 | "version": "1.0.3", 1828 | "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", 1829 | "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", 1830 | "dev": true, 1831 | "dependencies": { 1832 | "define-properties": "^1.1.3" 1833 | }, 1834 | "engines": { 1835 | "node": ">= 0.4" 1836 | }, 1837 | "funding": { 1838 | "url": "https://github.com/sponsors/ljharb" 1839 | } 1840 | }, 1841 | "node_modules/gopd": { 1842 | "version": "1.2.0", 1843 | "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", 1844 | "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", 1845 | "dev": true, 1846 | "license": "MIT", 1847 | "engines": { 1848 | "node": ">= 0.4" 1849 | }, 1850 | "funding": { 1851 | "url": "https://github.com/sponsors/ljharb" 1852 | } 1853 | }, 1854 | "node_modules/graceful-fs": { 1855 | "version": "4.2.11", 1856 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 1857 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", 1858 | "dev": true 1859 | }, 1860 | "node_modules/has-bigints": { 1861 | "version": "1.0.2", 1862 | "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", 1863 | "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", 1864 | "dev": true, 1865 | "funding": { 1866 | "url": "https://github.com/sponsors/ljharb" 1867 | } 1868 | }, 1869 | "node_modules/has-flag": { 1870 | "version": "3.0.0", 1871 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 1872 | "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", 1873 | "dev": true, 1874 | "engines": { 1875 | "node": ">=4" 1876 | } 1877 | }, 1878 | "node_modules/has-property-descriptors": { 1879 | "version": "1.0.2", 1880 | "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", 1881 | "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", 1882 | "dev": true, 1883 | "dependencies": { 1884 | "es-define-property": "^1.0.0" 1885 | }, 1886 | "funding": { 1887 | "url": "https://github.com/sponsors/ljharb" 1888 | } 1889 | }, 1890 | "node_modules/has-proto": { 1891 | "version": "1.0.3", 1892 | "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", 1893 | "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", 1894 | "dev": true, 1895 | "engines": { 1896 | "node": ">= 0.4" 1897 | }, 1898 | "funding": { 1899 | "url": "https://github.com/sponsors/ljharb" 1900 | } 1901 | }, 1902 | "node_modules/has-symbols": { 1903 | "version": "1.1.0", 1904 | "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", 1905 | "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", 1906 | "dev": true, 1907 | "license": "MIT", 1908 | "engines": { 1909 | "node": ">= 0.4" 1910 | }, 1911 | "funding": { 1912 | "url": "https://github.com/sponsors/ljharb" 1913 | } 1914 | }, 1915 | "node_modules/has-tostringtag": { 1916 | "version": "1.0.2", 1917 | "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", 1918 | "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", 1919 | "dev": true, 1920 | "dependencies": { 1921 | "has-symbols": "^1.0.3" 1922 | }, 1923 | "engines": { 1924 | "node": ">= 0.4" 1925 | }, 1926 | "funding": { 1927 | "url": "https://github.com/sponsors/ljharb" 1928 | } 1929 | }, 1930 | "node_modules/hasown": { 1931 | "version": "2.0.2", 1932 | "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", 1933 | "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", 1934 | "dev": true, 1935 | "dependencies": { 1936 | "function-bind": "^1.1.2" 1937 | }, 1938 | "engines": { 1939 | "node": ">= 0.4" 1940 | } 1941 | }, 1942 | "node_modules/hosted-git-info": { 1943 | "version": "2.8.9", 1944 | "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", 1945 | "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", 1946 | "dev": true 1947 | }, 1948 | "node_modules/ieee754": { 1949 | "version": "1.2.1", 1950 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1951 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 1952 | "dev": true, 1953 | "funding": [ 1954 | { 1955 | "type": "github", 1956 | "url": "https://github.com/sponsors/feross" 1957 | }, 1958 | { 1959 | "type": "patreon", 1960 | "url": "https://www.patreon.com/feross" 1961 | }, 1962 | { 1963 | "type": "consulting", 1964 | "url": "https://feross.org/support" 1965 | } 1966 | ] 1967 | }, 1968 | "node_modules/inherits": { 1969 | "version": "2.0.4", 1970 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1971 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1972 | "dev": true 1973 | }, 1974 | "node_modules/internal-slot": { 1975 | "version": "1.0.7", 1976 | "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", 1977 | "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", 1978 | "dev": true, 1979 | "dependencies": { 1980 | "es-errors": "^1.3.0", 1981 | "hasown": "^2.0.0", 1982 | "side-channel": "^1.0.4" 1983 | }, 1984 | "engines": { 1985 | "node": ">= 0.4" 1986 | } 1987 | }, 1988 | "node_modules/is-array-buffer": { 1989 | "version": "3.0.4", 1990 | "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", 1991 | "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", 1992 | "dev": true, 1993 | "dependencies": { 1994 | "call-bind": "^1.0.2", 1995 | "get-intrinsic": "^1.2.1" 1996 | }, 1997 | "engines": { 1998 | "node": ">= 0.4" 1999 | }, 2000 | "funding": { 2001 | "url": "https://github.com/sponsors/ljharb" 2002 | } 2003 | }, 2004 | "node_modules/is-arrayish": { 2005 | "version": "0.2.1", 2006 | "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", 2007 | "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", 2008 | "dev": true 2009 | }, 2010 | "node_modules/is-bigint": { 2011 | "version": "1.0.4", 2012 | "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", 2013 | "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", 2014 | "dev": true, 2015 | "dependencies": { 2016 | "has-bigints": "^1.0.1" 2017 | }, 2018 | "funding": { 2019 | "url": "https://github.com/sponsors/ljharb" 2020 | } 2021 | }, 2022 | "node_modules/is-binary-path": { 2023 | "version": "2.1.0", 2024 | "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", 2025 | "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", 2026 | "dev": true, 2027 | "dependencies": { 2028 | "binary-extensions": "^2.0.0" 2029 | }, 2030 | "engines": { 2031 | "node": ">=8" 2032 | } 2033 | }, 2034 | "node_modules/is-boolean-object": { 2035 | "version": "1.1.2", 2036 | "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", 2037 | "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", 2038 | "dev": true, 2039 | "dependencies": { 2040 | "call-bind": "^1.0.2", 2041 | "has-tostringtag": "^1.0.0" 2042 | }, 2043 | "engines": { 2044 | "node": ">= 0.4" 2045 | }, 2046 | "funding": { 2047 | "url": "https://github.com/sponsors/ljharb" 2048 | } 2049 | }, 2050 | "node_modules/is-callable": { 2051 | "version": "1.2.7", 2052 | "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", 2053 | "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", 2054 | "dev": true, 2055 | "engines": { 2056 | "node": ">= 0.4" 2057 | }, 2058 | "funding": { 2059 | "url": "https://github.com/sponsors/ljharb" 2060 | } 2061 | }, 2062 | "node_modules/is-core-module": { 2063 | "version": "2.13.1", 2064 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", 2065 | "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", 2066 | "dev": true, 2067 | "dependencies": { 2068 | "hasown": "^2.0.0" 2069 | }, 2070 | "funding": { 2071 | "url": "https://github.com/sponsors/ljharb" 2072 | } 2073 | }, 2074 | "node_modules/is-data-view": { 2075 | "version": "1.0.1", 2076 | "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", 2077 | "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", 2078 | "dev": true, 2079 | "dependencies": { 2080 | "is-typed-array": "^1.1.13" 2081 | }, 2082 | "engines": { 2083 | "node": ">= 0.4" 2084 | }, 2085 | "funding": { 2086 | "url": "https://github.com/sponsors/ljharb" 2087 | } 2088 | }, 2089 | "node_modules/is-date-object": { 2090 | "version": "1.0.5", 2091 | "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", 2092 | "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", 2093 | "dev": true, 2094 | "dependencies": { 2095 | "has-tostringtag": "^1.0.0" 2096 | }, 2097 | "engines": { 2098 | "node": ">= 0.4" 2099 | }, 2100 | "funding": { 2101 | "url": "https://github.com/sponsors/ljharb" 2102 | } 2103 | }, 2104 | "node_modules/is-extglob": { 2105 | "version": "2.1.1", 2106 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", 2107 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", 2108 | "dev": true, 2109 | "engines": { 2110 | "node": ">=0.10.0" 2111 | } 2112 | }, 2113 | "node_modules/is-fullwidth-code-point": { 2114 | "version": "3.0.0", 2115 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 2116 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 2117 | "dev": true, 2118 | "engines": { 2119 | "node": ">=8" 2120 | } 2121 | }, 2122 | "node_modules/is-glob": { 2123 | "version": "4.0.3", 2124 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", 2125 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", 2126 | "dev": true, 2127 | "dependencies": { 2128 | "is-extglob": "^2.1.1" 2129 | }, 2130 | "engines": { 2131 | "node": ">=0.10.0" 2132 | } 2133 | }, 2134 | "node_modules/is-interactive": { 2135 | "version": "2.0.0", 2136 | "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", 2137 | "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", 2138 | "dev": true, 2139 | "engines": { 2140 | "node": ">=12" 2141 | }, 2142 | "funding": { 2143 | "url": "https://github.com/sponsors/sindresorhus" 2144 | } 2145 | }, 2146 | "node_modules/is-negative-zero": { 2147 | "version": "2.0.3", 2148 | "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", 2149 | "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", 2150 | "dev": true, 2151 | "engines": { 2152 | "node": ">= 0.4" 2153 | }, 2154 | "funding": { 2155 | "url": "https://github.com/sponsors/ljharb" 2156 | } 2157 | }, 2158 | "node_modules/is-number": { 2159 | "version": "7.0.0", 2160 | "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", 2161 | "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", 2162 | "dev": true, 2163 | "engines": { 2164 | "node": ">=0.12.0" 2165 | } 2166 | }, 2167 | "node_modules/is-number-object": { 2168 | "version": "1.0.7", 2169 | "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", 2170 | "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", 2171 | "dev": true, 2172 | "dependencies": { 2173 | "has-tostringtag": "^1.0.0" 2174 | }, 2175 | "engines": { 2176 | "node": ">= 0.4" 2177 | }, 2178 | "funding": { 2179 | "url": "https://github.com/sponsors/ljharb" 2180 | } 2181 | }, 2182 | "node_modules/is-regex": { 2183 | "version": "1.1.4", 2184 | "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", 2185 | "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", 2186 | "dev": true, 2187 | "dependencies": { 2188 | "call-bind": "^1.0.2", 2189 | "has-tostringtag": "^1.0.0" 2190 | }, 2191 | "engines": { 2192 | "node": ">= 0.4" 2193 | }, 2194 | "funding": { 2195 | "url": "https://github.com/sponsors/ljharb" 2196 | } 2197 | }, 2198 | "node_modules/is-shared-array-buffer": { 2199 | "version": "1.0.3", 2200 | "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", 2201 | "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", 2202 | "dev": true, 2203 | "dependencies": { 2204 | "call-bind": "^1.0.7" 2205 | }, 2206 | "engines": { 2207 | "node": ">= 0.4" 2208 | }, 2209 | "funding": { 2210 | "url": "https://github.com/sponsors/ljharb" 2211 | } 2212 | }, 2213 | "node_modules/is-string": { 2214 | "version": "1.0.7", 2215 | "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", 2216 | "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", 2217 | "dev": true, 2218 | "dependencies": { 2219 | "has-tostringtag": "^1.0.0" 2220 | }, 2221 | "engines": { 2222 | "node": ">= 0.4" 2223 | }, 2224 | "funding": { 2225 | "url": "https://github.com/sponsors/ljharb" 2226 | } 2227 | }, 2228 | "node_modules/is-symbol": { 2229 | "version": "1.0.4", 2230 | "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", 2231 | "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", 2232 | "dev": true, 2233 | "dependencies": { 2234 | "has-symbols": "^1.0.2" 2235 | }, 2236 | "engines": { 2237 | "node": ">= 0.4" 2238 | }, 2239 | "funding": { 2240 | "url": "https://github.com/sponsors/ljharb" 2241 | } 2242 | }, 2243 | "node_modules/is-typed-array": { 2244 | "version": "1.1.13", 2245 | "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", 2246 | "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", 2247 | "dev": true, 2248 | "dependencies": { 2249 | "which-typed-array": "^1.1.14" 2250 | }, 2251 | "engines": { 2252 | "node": ">= 0.4" 2253 | }, 2254 | "funding": { 2255 | "url": "https://github.com/sponsors/ljharb" 2256 | } 2257 | }, 2258 | "node_modules/is-unicode-supported": { 2259 | "version": "1.3.0", 2260 | "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", 2261 | "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", 2262 | "dev": true, 2263 | "engines": { 2264 | "node": ">=12" 2265 | }, 2266 | "funding": { 2267 | "url": "https://github.com/sponsors/sindresorhus" 2268 | } 2269 | }, 2270 | "node_modules/is-weakref": { 2271 | "version": "1.0.2", 2272 | "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", 2273 | "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", 2274 | "dev": true, 2275 | "dependencies": { 2276 | "call-bind": "^1.0.2" 2277 | }, 2278 | "funding": { 2279 | "url": "https://github.com/sponsors/ljharb" 2280 | } 2281 | }, 2282 | "node_modules/isarray": { 2283 | "version": "2.0.5", 2284 | "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", 2285 | "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", 2286 | "dev": true 2287 | }, 2288 | "node_modules/isexe": { 2289 | "version": "2.0.0", 2290 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 2291 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 2292 | "dev": true 2293 | }, 2294 | "node_modules/jackspeak": { 2295 | "version": "2.3.6", 2296 | "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", 2297 | "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", 2298 | "dev": true, 2299 | "dependencies": { 2300 | "@isaacs/cliui": "^8.0.2" 2301 | }, 2302 | "engines": { 2303 | "node": ">=14" 2304 | }, 2305 | "funding": { 2306 | "url": "https://github.com/sponsors/isaacs" 2307 | }, 2308 | "optionalDependencies": { 2309 | "@pkgjs/parseargs": "^0.11.0" 2310 | } 2311 | }, 2312 | "node_modules/jiti": { 2313 | "version": "1.21.0", 2314 | "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", 2315 | "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", 2316 | "dev": true, 2317 | "bin": { 2318 | "jiti": "bin/jiti.js" 2319 | } 2320 | }, 2321 | "node_modules/json-parse-better-errors": { 2322 | "version": "1.0.2", 2323 | "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", 2324 | "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", 2325 | "dev": true 2326 | }, 2327 | "node_modules/lilconfig": { 2328 | "version": "2.1.0", 2329 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", 2330 | "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", 2331 | "dev": true, 2332 | "engines": { 2333 | "node": ">=10" 2334 | } 2335 | }, 2336 | "node_modules/lines-and-columns": { 2337 | "version": "1.2.4", 2338 | "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", 2339 | "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", 2340 | "dev": true 2341 | }, 2342 | "node_modules/load-json-file": { 2343 | "version": "4.0.0", 2344 | "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", 2345 | "integrity": "sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==", 2346 | "dev": true, 2347 | "dependencies": { 2348 | "graceful-fs": "^4.1.2", 2349 | "parse-json": "^4.0.0", 2350 | "pify": "^3.0.0", 2351 | "strip-bom": "^3.0.0" 2352 | }, 2353 | "engines": { 2354 | "node": ">=4" 2355 | } 2356 | }, 2357 | "node_modules/load-json-file/node_modules/pify": { 2358 | "version": "3.0.0", 2359 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 2360 | "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", 2361 | "dev": true, 2362 | "engines": { 2363 | "node": ">=4" 2364 | } 2365 | }, 2366 | "node_modules/lodash.castarray": { 2367 | "version": "4.4.0", 2368 | "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz", 2369 | "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==", 2370 | "dev": true 2371 | }, 2372 | "node_modules/lodash.isplainobject": { 2373 | "version": "4.0.6", 2374 | "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", 2375 | "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==", 2376 | "dev": true 2377 | }, 2378 | "node_modules/lodash.merge": { 2379 | "version": "4.6.2", 2380 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", 2381 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", 2382 | "dev": true 2383 | }, 2384 | "node_modules/log-symbols": { 2385 | "version": "5.1.0", 2386 | "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-5.1.0.tgz", 2387 | "integrity": "sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==", 2388 | "dev": true, 2389 | "dependencies": { 2390 | "chalk": "^5.0.0", 2391 | "is-unicode-supported": "^1.1.0" 2392 | }, 2393 | "engines": { 2394 | "node": ">=12" 2395 | }, 2396 | "funding": { 2397 | "url": "https://github.com/sponsors/sindresorhus" 2398 | } 2399 | }, 2400 | "node_modules/lru-cache": { 2401 | "version": "10.2.0", 2402 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", 2403 | "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", 2404 | "dev": true, 2405 | "engines": { 2406 | "node": "14 || >=16.14" 2407 | } 2408 | }, 2409 | "node_modules/math-intrinsics": { 2410 | "version": "1.1.0", 2411 | "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", 2412 | "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", 2413 | "dev": true, 2414 | "license": "MIT", 2415 | "engines": { 2416 | "node": ">= 0.4" 2417 | } 2418 | }, 2419 | "node_modules/mdn-data": { 2420 | "version": "2.0.30", 2421 | "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", 2422 | "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", 2423 | "dev": true 2424 | }, 2425 | "node_modules/memorystream": { 2426 | "version": "0.3.1", 2427 | "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", 2428 | "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", 2429 | "dev": true, 2430 | "engines": { 2431 | "node": ">= 0.10.0" 2432 | } 2433 | }, 2434 | "node_modules/merge2": { 2435 | "version": "1.4.1", 2436 | "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", 2437 | "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", 2438 | "dev": true, 2439 | "engines": { 2440 | "node": ">= 8" 2441 | } 2442 | }, 2443 | "node_modules/micromatch": { 2444 | "version": "4.0.5", 2445 | "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", 2446 | "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", 2447 | "dev": true, 2448 | "dependencies": { 2449 | "braces": "^3.0.2", 2450 | "picomatch": "^2.3.1" 2451 | }, 2452 | "engines": { 2453 | "node": ">=8.6" 2454 | } 2455 | }, 2456 | "node_modules/mime-db": { 2457 | "version": "1.52.0", 2458 | "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", 2459 | "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", 2460 | "dev": true, 2461 | "engines": { 2462 | "node": ">= 0.6" 2463 | } 2464 | }, 2465 | "node_modules/mime-types": { 2466 | "version": "2.1.35", 2467 | "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", 2468 | "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", 2469 | "dev": true, 2470 | "dependencies": { 2471 | "mime-db": "1.52.0" 2472 | }, 2473 | "engines": { 2474 | "node": ">= 0.6" 2475 | } 2476 | }, 2477 | "node_modules/mimic-fn": { 2478 | "version": "2.1.0", 2479 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", 2480 | "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", 2481 | "dev": true, 2482 | "engines": { 2483 | "node": ">=6" 2484 | } 2485 | }, 2486 | "node_modules/mini-svg-data-uri": { 2487 | "version": "1.4.4", 2488 | "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", 2489 | "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", 2490 | "dev": true, 2491 | "bin": { 2492 | "mini-svg-data-uri": "cli.js" 2493 | } 2494 | }, 2495 | "node_modules/minimatch": { 2496 | "version": "3.1.2", 2497 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 2498 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 2499 | "dev": true, 2500 | "dependencies": { 2501 | "brace-expansion": "^1.1.7" 2502 | }, 2503 | "engines": { 2504 | "node": "*" 2505 | } 2506 | }, 2507 | "node_modules/minipass": { 2508 | "version": "7.0.4", 2509 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", 2510 | "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", 2511 | "dev": true, 2512 | "engines": { 2513 | "node": ">=16 || 14 >=14.17" 2514 | } 2515 | }, 2516 | "node_modules/mz": { 2517 | "version": "2.7.0", 2518 | "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", 2519 | "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", 2520 | "dev": true, 2521 | "dependencies": { 2522 | "any-promise": "^1.0.0", 2523 | "object-assign": "^4.0.1", 2524 | "thenify-all": "^1.0.0" 2525 | } 2526 | }, 2527 | "node_modules/nanoid": { 2528 | "version": "3.3.7", 2529 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", 2530 | "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", 2531 | "dev": true, 2532 | "funding": [ 2533 | { 2534 | "type": "github", 2535 | "url": "https://github.com/sponsors/ai" 2536 | } 2537 | ], 2538 | "bin": { 2539 | "nanoid": "bin/nanoid.cjs" 2540 | }, 2541 | "engines": { 2542 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 2543 | } 2544 | }, 2545 | "node_modules/nice-try": { 2546 | "version": "1.0.5", 2547 | "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", 2548 | "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", 2549 | "dev": true 2550 | }, 2551 | "node_modules/node-releases": { 2552 | "version": "2.0.14", 2553 | "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", 2554 | "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", 2555 | "dev": true 2556 | }, 2557 | "node_modules/normalize-package-data": { 2558 | "version": "2.5.0", 2559 | "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", 2560 | "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", 2561 | "dev": true, 2562 | "dependencies": { 2563 | "hosted-git-info": "^2.1.4", 2564 | "resolve": "^1.10.0", 2565 | "semver": "2 || 3 || 4 || 5", 2566 | "validate-npm-package-license": "^3.0.1" 2567 | } 2568 | }, 2569 | "node_modules/normalize-path": { 2570 | "version": "3.0.0", 2571 | "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", 2572 | "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", 2573 | "dev": true, 2574 | "engines": { 2575 | "node": ">=0.10.0" 2576 | } 2577 | }, 2578 | "node_modules/normalize-range": { 2579 | "version": "0.1.2", 2580 | "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", 2581 | "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", 2582 | "dev": true, 2583 | "engines": { 2584 | "node": ">=0.10.0" 2585 | } 2586 | }, 2587 | "node_modules/npm-run-all": { 2588 | "version": "4.1.5", 2589 | "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", 2590 | "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", 2591 | "dev": true, 2592 | "dependencies": { 2593 | "ansi-styles": "^3.2.1", 2594 | "chalk": "^2.4.1", 2595 | "cross-spawn": "^6.0.5", 2596 | "memorystream": "^0.3.1", 2597 | "minimatch": "^3.0.4", 2598 | "pidtree": "^0.3.0", 2599 | "read-pkg": "^3.0.0", 2600 | "shell-quote": "^1.6.1", 2601 | "string.prototype.padend": "^3.0.0" 2602 | }, 2603 | "bin": { 2604 | "npm-run-all": "bin/npm-run-all/index.js", 2605 | "run-p": "bin/run-p/index.js", 2606 | "run-s": "bin/run-s/index.js" 2607 | }, 2608 | "engines": { 2609 | "node": ">= 4" 2610 | } 2611 | }, 2612 | "node_modules/npm-run-all/node_modules/chalk": { 2613 | "version": "2.4.2", 2614 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 2615 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 2616 | "dev": true, 2617 | "dependencies": { 2618 | "ansi-styles": "^3.2.1", 2619 | "escape-string-regexp": "^1.0.5", 2620 | "supports-color": "^5.3.0" 2621 | }, 2622 | "engines": { 2623 | "node": ">=4" 2624 | } 2625 | }, 2626 | "node_modules/object-assign": { 2627 | "version": "4.1.1", 2628 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2629 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 2630 | "dev": true, 2631 | "engines": { 2632 | "node": ">=0.10.0" 2633 | } 2634 | }, 2635 | "node_modules/object-hash": { 2636 | "version": "3.0.0", 2637 | "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", 2638 | "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", 2639 | "dev": true, 2640 | "engines": { 2641 | "node": ">= 6" 2642 | } 2643 | }, 2644 | "node_modules/object-inspect": { 2645 | "version": "1.13.1", 2646 | "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", 2647 | "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", 2648 | "dev": true, 2649 | "funding": { 2650 | "url": "https://github.com/sponsors/ljharb" 2651 | } 2652 | }, 2653 | "node_modules/object-keys": { 2654 | "version": "1.1.1", 2655 | "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", 2656 | "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", 2657 | "dev": true, 2658 | "engines": { 2659 | "node": ">= 0.4" 2660 | } 2661 | }, 2662 | "node_modules/object.assign": { 2663 | "version": "4.1.5", 2664 | "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", 2665 | "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", 2666 | "dev": true, 2667 | "dependencies": { 2668 | "call-bind": "^1.0.5", 2669 | "define-properties": "^1.2.1", 2670 | "has-symbols": "^1.0.3", 2671 | "object-keys": "^1.1.1" 2672 | }, 2673 | "engines": { 2674 | "node": ">= 0.4" 2675 | }, 2676 | "funding": { 2677 | "url": "https://github.com/sponsors/ljharb" 2678 | } 2679 | }, 2680 | "node_modules/onetime": { 2681 | "version": "5.1.2", 2682 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", 2683 | "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", 2684 | "dev": true, 2685 | "dependencies": { 2686 | "mimic-fn": "^2.1.0" 2687 | }, 2688 | "engines": { 2689 | "node": ">=6" 2690 | }, 2691 | "funding": { 2692 | "url": "https://github.com/sponsors/sindresorhus" 2693 | } 2694 | }, 2695 | "node_modules/ora": { 2696 | "version": "6.3.1", 2697 | "resolved": "https://registry.npmjs.org/ora/-/ora-6.3.1.tgz", 2698 | "integrity": "sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==", 2699 | "dev": true, 2700 | "dependencies": { 2701 | "chalk": "^5.0.0", 2702 | "cli-cursor": "^4.0.0", 2703 | "cli-spinners": "^2.6.1", 2704 | "is-interactive": "^2.0.0", 2705 | "is-unicode-supported": "^1.1.0", 2706 | "log-symbols": "^5.1.0", 2707 | "stdin-discarder": "^0.1.0", 2708 | "strip-ansi": "^7.0.1", 2709 | "wcwidth": "^1.0.1" 2710 | }, 2711 | "engines": { 2712 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 2713 | }, 2714 | "funding": { 2715 | "url": "https://github.com/sponsors/sindresorhus" 2716 | } 2717 | }, 2718 | "node_modules/parse-json": { 2719 | "version": "4.0.0", 2720 | "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", 2721 | "integrity": "sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==", 2722 | "dev": true, 2723 | "dependencies": { 2724 | "error-ex": "^1.3.1", 2725 | "json-parse-better-errors": "^1.0.1" 2726 | }, 2727 | "engines": { 2728 | "node": ">=4" 2729 | } 2730 | }, 2731 | "node_modules/path-key": { 2732 | "version": "2.0.1", 2733 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", 2734 | "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==", 2735 | "dev": true, 2736 | "engines": { 2737 | "node": ">=4" 2738 | } 2739 | }, 2740 | "node_modules/path-parse": { 2741 | "version": "1.0.7", 2742 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", 2743 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", 2744 | "dev": true 2745 | }, 2746 | "node_modules/path-scurry": { 2747 | "version": "1.10.2", 2748 | "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.2.tgz", 2749 | "integrity": "sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==", 2750 | "dev": true, 2751 | "dependencies": { 2752 | "lru-cache": "^10.2.0", 2753 | "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" 2754 | }, 2755 | "engines": { 2756 | "node": ">=16 || 14 >=14.17" 2757 | }, 2758 | "funding": { 2759 | "url": "https://github.com/sponsors/isaacs" 2760 | } 2761 | }, 2762 | "node_modules/path-type": { 2763 | "version": "3.0.0", 2764 | "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", 2765 | "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", 2766 | "dev": true, 2767 | "dependencies": { 2768 | "pify": "^3.0.0" 2769 | }, 2770 | "engines": { 2771 | "node": ">=4" 2772 | } 2773 | }, 2774 | "node_modules/path-type/node_modules/pify": { 2775 | "version": "3.0.0", 2776 | "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", 2777 | "integrity": "sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==", 2778 | "dev": true, 2779 | "engines": { 2780 | "node": ">=4" 2781 | } 2782 | }, 2783 | "node_modules/picocolors": { 2784 | "version": "1.0.0", 2785 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 2786 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", 2787 | "dev": true 2788 | }, 2789 | "node_modules/picomatch": { 2790 | "version": "2.3.1", 2791 | "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", 2792 | "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", 2793 | "dev": true, 2794 | "engines": { 2795 | "node": ">=8.6" 2796 | }, 2797 | "funding": { 2798 | "url": "https://github.com/sponsors/jonschlinkert" 2799 | } 2800 | }, 2801 | "node_modules/pidtree": { 2802 | "version": "0.3.1", 2803 | "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", 2804 | "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", 2805 | "dev": true, 2806 | "bin": { 2807 | "pidtree": "bin/pidtree.js" 2808 | }, 2809 | "engines": { 2810 | "node": ">=0.10" 2811 | } 2812 | }, 2813 | "node_modules/pify": { 2814 | "version": "2.3.0", 2815 | "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", 2816 | "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", 2817 | "dev": true, 2818 | "engines": { 2819 | "node": ">=0.10.0" 2820 | } 2821 | }, 2822 | "node_modules/pirates": { 2823 | "version": "4.0.6", 2824 | "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", 2825 | "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", 2826 | "dev": true, 2827 | "engines": { 2828 | "node": ">= 6" 2829 | } 2830 | }, 2831 | "node_modules/possible-typed-array-names": { 2832 | "version": "1.0.0", 2833 | "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", 2834 | "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", 2835 | "dev": true, 2836 | "engines": { 2837 | "node": ">= 0.4" 2838 | } 2839 | }, 2840 | "node_modules/postcss": { 2841 | "version": "8.4.38", 2842 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", 2843 | "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", 2844 | "dev": true, 2845 | "funding": [ 2846 | { 2847 | "type": "opencollective", 2848 | "url": "https://opencollective.com/postcss/" 2849 | }, 2850 | { 2851 | "type": "tidelift", 2852 | "url": "https://tidelift.com/funding/github/npm/postcss" 2853 | }, 2854 | { 2855 | "type": "github", 2856 | "url": "https://github.com/sponsors/ai" 2857 | } 2858 | ], 2859 | "dependencies": { 2860 | "nanoid": "^3.3.7", 2861 | "picocolors": "^1.0.0", 2862 | "source-map-js": "^1.2.0" 2863 | }, 2864 | "engines": { 2865 | "node": "^10 || ^12 || >=14" 2866 | } 2867 | }, 2868 | "node_modules/postcss-import": { 2869 | "version": "15.1.0", 2870 | "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", 2871 | "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", 2872 | "dev": true, 2873 | "dependencies": { 2874 | "postcss-value-parser": "^4.0.0", 2875 | "read-cache": "^1.0.0", 2876 | "resolve": "^1.1.7" 2877 | }, 2878 | "engines": { 2879 | "node": ">=14.0.0" 2880 | }, 2881 | "peerDependencies": { 2882 | "postcss": "^8.0.0" 2883 | } 2884 | }, 2885 | "node_modules/postcss-js": { 2886 | "version": "4.0.1", 2887 | "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", 2888 | "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", 2889 | "dev": true, 2890 | "dependencies": { 2891 | "camelcase-css": "^2.0.1" 2892 | }, 2893 | "engines": { 2894 | "node": "^12 || ^14 || >= 16" 2895 | }, 2896 | "funding": { 2897 | "type": "opencollective", 2898 | "url": "https://opencollective.com/postcss/" 2899 | }, 2900 | "peerDependencies": { 2901 | "postcss": "^8.4.21" 2902 | } 2903 | }, 2904 | "node_modules/postcss-load-config": { 2905 | "version": "4.0.2", 2906 | "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", 2907 | "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", 2908 | "dev": true, 2909 | "funding": [ 2910 | { 2911 | "type": "opencollective", 2912 | "url": "https://opencollective.com/postcss/" 2913 | }, 2914 | { 2915 | "type": "github", 2916 | "url": "https://github.com/sponsors/ai" 2917 | } 2918 | ], 2919 | "dependencies": { 2920 | "lilconfig": "^3.0.0", 2921 | "yaml": "^2.3.4" 2922 | }, 2923 | "engines": { 2924 | "node": ">= 14" 2925 | }, 2926 | "peerDependencies": { 2927 | "postcss": ">=8.0.9", 2928 | "ts-node": ">=9.0.0" 2929 | }, 2930 | "peerDependenciesMeta": { 2931 | "postcss": { 2932 | "optional": true 2933 | }, 2934 | "ts-node": { 2935 | "optional": true 2936 | } 2937 | } 2938 | }, 2939 | "node_modules/postcss-load-config/node_modules/lilconfig": { 2940 | "version": "3.1.1", 2941 | "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", 2942 | "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", 2943 | "dev": true, 2944 | "engines": { 2945 | "node": ">=14" 2946 | }, 2947 | "funding": { 2948 | "url": "https://github.com/sponsors/antonk52" 2949 | } 2950 | }, 2951 | "node_modules/postcss-nested": { 2952 | "version": "6.0.1", 2953 | "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", 2954 | "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", 2955 | "dev": true, 2956 | "dependencies": { 2957 | "postcss-selector-parser": "^6.0.11" 2958 | }, 2959 | "engines": { 2960 | "node": ">=12.0" 2961 | }, 2962 | "funding": { 2963 | "type": "opencollective", 2964 | "url": "https://opencollective.com/postcss/" 2965 | }, 2966 | "peerDependencies": { 2967 | "postcss": "^8.2.14" 2968 | } 2969 | }, 2970 | "node_modules/postcss-nested/node_modules/postcss-selector-parser": { 2971 | "version": "6.0.16", 2972 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", 2973 | "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", 2974 | "dev": true, 2975 | "dependencies": { 2976 | "cssesc": "^3.0.0", 2977 | "util-deprecate": "^1.0.2" 2978 | }, 2979 | "engines": { 2980 | "node": ">=4" 2981 | } 2982 | }, 2983 | "node_modules/postcss-selector-parser": { 2984 | "version": "6.0.10", 2985 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", 2986 | "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", 2987 | "dev": true, 2988 | "dependencies": { 2989 | "cssesc": "^3.0.0", 2990 | "util-deprecate": "^1.0.2" 2991 | }, 2992 | "engines": { 2993 | "node": ">=4" 2994 | } 2995 | }, 2996 | "node_modules/postcss-value-parser": { 2997 | "version": "4.2.0", 2998 | "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", 2999 | "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", 3000 | "dev": true 3001 | }, 3002 | "node_modules/prettier": { 3003 | "version": "2.8.8", 3004 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", 3005 | "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", 3006 | "dev": true, 3007 | "bin": { 3008 | "prettier": "bin-prettier.js" 3009 | }, 3010 | "engines": { 3011 | "node": ">=10.13.0" 3012 | }, 3013 | "funding": { 3014 | "url": "https://github.com/prettier/prettier?sponsor=1" 3015 | } 3016 | }, 3017 | "node_modules/prettier-plugin-tailwindcss": { 3018 | "version": "0.1.13", 3019 | "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.1.13.tgz", 3020 | "integrity": "sha512-/EKQURUrxLu66CMUg4+1LwGdxnz8of7IDvrSLqEtDqhLH61SAlNNUSr90UTvZaemujgl3OH/VHg+fyGltrNixw==", 3021 | "dev": true, 3022 | "engines": { 3023 | "node": ">=12.17.0" 3024 | }, 3025 | "peerDependencies": { 3026 | "prettier": ">=2.2.0" 3027 | } 3028 | }, 3029 | "node_modules/proxy-from-env": { 3030 | "version": "1.1.0", 3031 | "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", 3032 | "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", 3033 | "dev": true 3034 | }, 3035 | "node_modules/queue-microtask": { 3036 | "version": "1.2.3", 3037 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", 3038 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", 3039 | "dev": true, 3040 | "funding": [ 3041 | { 3042 | "type": "github", 3043 | "url": "https://github.com/sponsors/feross" 3044 | }, 3045 | { 3046 | "type": "patreon", 3047 | "url": "https://www.patreon.com/feross" 3048 | }, 3049 | { 3050 | "type": "consulting", 3051 | "url": "https://feross.org/support" 3052 | } 3053 | ] 3054 | }, 3055 | "node_modules/read-cache": { 3056 | "version": "1.0.0", 3057 | "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", 3058 | "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", 3059 | "dev": true, 3060 | "dependencies": { 3061 | "pify": "^2.3.0" 3062 | } 3063 | }, 3064 | "node_modules/read-pkg": { 3065 | "version": "3.0.0", 3066 | "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", 3067 | "integrity": "sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==", 3068 | "dev": true, 3069 | "dependencies": { 3070 | "load-json-file": "^4.0.0", 3071 | "normalize-package-data": "^2.3.2", 3072 | "path-type": "^3.0.0" 3073 | }, 3074 | "engines": { 3075 | "node": ">=4" 3076 | } 3077 | }, 3078 | "node_modules/readable-stream": { 3079 | "version": "3.6.2", 3080 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 3081 | "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 3082 | "dev": true, 3083 | "dependencies": { 3084 | "inherits": "^2.0.3", 3085 | "string_decoder": "^1.1.1", 3086 | "util-deprecate": "^1.0.1" 3087 | }, 3088 | "engines": { 3089 | "node": ">= 6" 3090 | } 3091 | }, 3092 | "node_modules/readdirp": { 3093 | "version": "3.6.0", 3094 | "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", 3095 | "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", 3096 | "dev": true, 3097 | "dependencies": { 3098 | "picomatch": "^2.2.1" 3099 | }, 3100 | "engines": { 3101 | "node": ">=8.10.0" 3102 | } 3103 | }, 3104 | "node_modules/regexp.prototype.flags": { 3105 | "version": "1.5.2", 3106 | "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz", 3107 | "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==", 3108 | "dev": true, 3109 | "dependencies": { 3110 | "call-bind": "^1.0.6", 3111 | "define-properties": "^1.2.1", 3112 | "es-errors": "^1.3.0", 3113 | "set-function-name": "^2.0.1" 3114 | }, 3115 | "engines": { 3116 | "node": ">= 0.4" 3117 | }, 3118 | "funding": { 3119 | "url": "https://github.com/sponsors/ljharb" 3120 | } 3121 | }, 3122 | "node_modules/resolve": { 3123 | "version": "1.22.8", 3124 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", 3125 | "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", 3126 | "dev": true, 3127 | "dependencies": { 3128 | "is-core-module": "^2.13.0", 3129 | "path-parse": "^1.0.7", 3130 | "supports-preserve-symlinks-flag": "^1.0.0" 3131 | }, 3132 | "bin": { 3133 | "resolve": "bin/resolve" 3134 | }, 3135 | "funding": { 3136 | "url": "https://github.com/sponsors/ljharb" 3137 | } 3138 | }, 3139 | "node_modules/restore-cursor": { 3140 | "version": "4.0.0", 3141 | "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-4.0.0.tgz", 3142 | "integrity": "sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==", 3143 | "dev": true, 3144 | "dependencies": { 3145 | "onetime": "^5.1.0", 3146 | "signal-exit": "^3.0.2" 3147 | }, 3148 | "engines": { 3149 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 3150 | }, 3151 | "funding": { 3152 | "url": "https://github.com/sponsors/sindresorhus" 3153 | } 3154 | }, 3155 | "node_modules/reusify": { 3156 | "version": "1.0.4", 3157 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", 3158 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", 3159 | "dev": true, 3160 | "engines": { 3161 | "iojs": ">=1.0.0", 3162 | "node": ">=0.10.0" 3163 | } 3164 | }, 3165 | "node_modules/run-parallel": { 3166 | "version": "1.2.0", 3167 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", 3168 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", 3169 | "dev": true, 3170 | "funding": [ 3171 | { 3172 | "type": "github", 3173 | "url": "https://github.com/sponsors/feross" 3174 | }, 3175 | { 3176 | "type": "patreon", 3177 | "url": "https://www.patreon.com/feross" 3178 | }, 3179 | { 3180 | "type": "consulting", 3181 | "url": "https://feross.org/support" 3182 | } 3183 | ], 3184 | "dependencies": { 3185 | "queue-microtask": "^1.2.2" 3186 | } 3187 | }, 3188 | "node_modules/safe-array-concat": { 3189 | "version": "1.1.2", 3190 | "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", 3191 | "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", 3192 | "dev": true, 3193 | "dependencies": { 3194 | "call-bind": "^1.0.7", 3195 | "get-intrinsic": "^1.2.4", 3196 | "has-symbols": "^1.0.3", 3197 | "isarray": "^2.0.5" 3198 | }, 3199 | "engines": { 3200 | "node": ">=0.4" 3201 | }, 3202 | "funding": { 3203 | "url": "https://github.com/sponsors/ljharb" 3204 | } 3205 | }, 3206 | "node_modules/safe-buffer": { 3207 | "version": "5.2.1", 3208 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 3209 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 3210 | "dev": true, 3211 | "funding": [ 3212 | { 3213 | "type": "github", 3214 | "url": "https://github.com/sponsors/feross" 3215 | }, 3216 | { 3217 | "type": "patreon", 3218 | "url": "https://www.patreon.com/feross" 3219 | }, 3220 | { 3221 | "type": "consulting", 3222 | "url": "https://feross.org/support" 3223 | } 3224 | ] 3225 | }, 3226 | "node_modules/safe-regex-test": { 3227 | "version": "1.0.3", 3228 | "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", 3229 | "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", 3230 | "dev": true, 3231 | "dependencies": { 3232 | "call-bind": "^1.0.6", 3233 | "es-errors": "^1.3.0", 3234 | "is-regex": "^1.1.4" 3235 | }, 3236 | "engines": { 3237 | "node": ">= 0.4" 3238 | }, 3239 | "funding": { 3240 | "url": "https://github.com/sponsors/ljharb" 3241 | } 3242 | }, 3243 | "node_modules/semver": { 3244 | "version": "5.7.2", 3245 | "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", 3246 | "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", 3247 | "dev": true, 3248 | "bin": { 3249 | "semver": "bin/semver" 3250 | } 3251 | }, 3252 | "node_modules/set-function-length": { 3253 | "version": "1.2.2", 3254 | "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", 3255 | "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", 3256 | "dev": true, 3257 | "dependencies": { 3258 | "define-data-property": "^1.1.4", 3259 | "es-errors": "^1.3.0", 3260 | "function-bind": "^1.1.2", 3261 | "get-intrinsic": "^1.2.4", 3262 | "gopd": "^1.0.1", 3263 | "has-property-descriptors": "^1.0.2" 3264 | }, 3265 | "engines": { 3266 | "node": ">= 0.4" 3267 | } 3268 | }, 3269 | "node_modules/set-function-name": { 3270 | "version": "2.0.2", 3271 | "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", 3272 | "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", 3273 | "dev": true, 3274 | "dependencies": { 3275 | "define-data-property": "^1.1.4", 3276 | "es-errors": "^1.3.0", 3277 | "functions-have-names": "^1.2.3", 3278 | "has-property-descriptors": "^1.0.2" 3279 | }, 3280 | "engines": { 3281 | "node": ">= 0.4" 3282 | } 3283 | }, 3284 | "node_modules/shebang-command": { 3285 | "version": "1.2.0", 3286 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", 3287 | "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==", 3288 | "dev": true, 3289 | "dependencies": { 3290 | "shebang-regex": "^1.0.0" 3291 | }, 3292 | "engines": { 3293 | "node": ">=0.10.0" 3294 | } 3295 | }, 3296 | "node_modules/shebang-regex": { 3297 | "version": "1.0.0", 3298 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", 3299 | "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==", 3300 | "dev": true, 3301 | "engines": { 3302 | "node": ">=0.10.0" 3303 | } 3304 | }, 3305 | "node_modules/shell-quote": { 3306 | "version": "1.8.1", 3307 | "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", 3308 | "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", 3309 | "dev": true, 3310 | "funding": { 3311 | "url": "https://github.com/sponsors/ljharb" 3312 | } 3313 | }, 3314 | "node_modules/side-channel": { 3315 | "version": "1.0.6", 3316 | "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", 3317 | "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", 3318 | "dev": true, 3319 | "dependencies": { 3320 | "call-bind": "^1.0.7", 3321 | "es-errors": "^1.3.0", 3322 | "get-intrinsic": "^1.2.4", 3323 | "object-inspect": "^1.13.1" 3324 | }, 3325 | "engines": { 3326 | "node": ">= 0.4" 3327 | }, 3328 | "funding": { 3329 | "url": "https://github.com/sponsors/ljharb" 3330 | } 3331 | }, 3332 | "node_modules/signal-exit": { 3333 | "version": "3.0.7", 3334 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 3335 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 3336 | "dev": true 3337 | }, 3338 | "node_modules/source-map-js": { 3339 | "version": "1.2.0", 3340 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", 3341 | "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", 3342 | "dev": true, 3343 | "engines": { 3344 | "node": ">=0.10.0" 3345 | } 3346 | }, 3347 | "node_modules/spdx-correct": { 3348 | "version": "3.2.0", 3349 | "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", 3350 | "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", 3351 | "dev": true, 3352 | "dependencies": { 3353 | "spdx-expression-parse": "^3.0.0", 3354 | "spdx-license-ids": "^3.0.0" 3355 | } 3356 | }, 3357 | "node_modules/spdx-exceptions": { 3358 | "version": "2.5.0", 3359 | "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", 3360 | "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", 3361 | "dev": true 3362 | }, 3363 | "node_modules/spdx-expression-parse": { 3364 | "version": "3.0.1", 3365 | "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", 3366 | "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", 3367 | "dev": true, 3368 | "dependencies": { 3369 | "spdx-exceptions": "^2.1.0", 3370 | "spdx-license-ids": "^3.0.0" 3371 | } 3372 | }, 3373 | "node_modules/spdx-license-ids": { 3374 | "version": "3.0.17", 3375 | "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", 3376 | "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", 3377 | "dev": true 3378 | }, 3379 | "node_modules/stdin-discarder": { 3380 | "version": "0.1.0", 3381 | "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.1.0.tgz", 3382 | "integrity": "sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==", 3383 | "dev": true, 3384 | "dependencies": { 3385 | "bl": "^5.0.0" 3386 | }, 3387 | "engines": { 3388 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 3389 | }, 3390 | "funding": { 3391 | "url": "https://github.com/sponsors/sindresorhus" 3392 | } 3393 | }, 3394 | "node_modules/string_decoder": { 3395 | "version": "1.3.0", 3396 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 3397 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 3398 | "dev": true, 3399 | "dependencies": { 3400 | "safe-buffer": "~5.2.0" 3401 | } 3402 | }, 3403 | "node_modules/string-width": { 3404 | "version": "5.1.2", 3405 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", 3406 | "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", 3407 | "dev": true, 3408 | "dependencies": { 3409 | "eastasianwidth": "^0.2.0", 3410 | "emoji-regex": "^9.2.2", 3411 | "strip-ansi": "^7.0.1" 3412 | }, 3413 | "engines": { 3414 | "node": ">=12" 3415 | }, 3416 | "funding": { 3417 | "url": "https://github.com/sponsors/sindresorhus" 3418 | } 3419 | }, 3420 | "node_modules/string-width-cjs": { 3421 | "name": "string-width", 3422 | "version": "4.2.3", 3423 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 3424 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 3425 | "dev": true, 3426 | "dependencies": { 3427 | "emoji-regex": "^8.0.0", 3428 | "is-fullwidth-code-point": "^3.0.0", 3429 | "strip-ansi": "^6.0.1" 3430 | }, 3431 | "engines": { 3432 | "node": ">=8" 3433 | } 3434 | }, 3435 | "node_modules/string-width-cjs/node_modules/ansi-regex": { 3436 | "version": "5.0.1", 3437 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 3438 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 3439 | "dev": true, 3440 | "engines": { 3441 | "node": ">=8" 3442 | } 3443 | }, 3444 | "node_modules/string-width-cjs/node_modules/emoji-regex": { 3445 | "version": "8.0.0", 3446 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 3447 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 3448 | "dev": true 3449 | }, 3450 | "node_modules/string-width-cjs/node_modules/strip-ansi": { 3451 | "version": "6.0.1", 3452 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 3453 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 3454 | "dev": true, 3455 | "dependencies": { 3456 | "ansi-regex": "^5.0.1" 3457 | }, 3458 | "engines": { 3459 | "node": ">=8" 3460 | } 3461 | }, 3462 | "node_modules/string.prototype.padend": { 3463 | "version": "3.1.6", 3464 | "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz", 3465 | "integrity": "sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==", 3466 | "dev": true, 3467 | "dependencies": { 3468 | "call-bind": "^1.0.7", 3469 | "define-properties": "^1.2.1", 3470 | "es-abstract": "^1.23.2", 3471 | "es-object-atoms": "^1.0.0" 3472 | }, 3473 | "engines": { 3474 | "node": ">= 0.4" 3475 | }, 3476 | "funding": { 3477 | "url": "https://github.com/sponsors/ljharb" 3478 | } 3479 | }, 3480 | "node_modules/string.prototype.trim": { 3481 | "version": "1.2.9", 3482 | "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", 3483 | "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", 3484 | "dev": true, 3485 | "dependencies": { 3486 | "call-bind": "^1.0.7", 3487 | "define-properties": "^1.2.1", 3488 | "es-abstract": "^1.23.0", 3489 | "es-object-atoms": "^1.0.0" 3490 | }, 3491 | "engines": { 3492 | "node": ">= 0.4" 3493 | }, 3494 | "funding": { 3495 | "url": "https://github.com/sponsors/ljharb" 3496 | } 3497 | }, 3498 | "node_modules/string.prototype.trimend": { 3499 | "version": "1.0.8", 3500 | "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", 3501 | "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", 3502 | "dev": true, 3503 | "dependencies": { 3504 | "call-bind": "^1.0.7", 3505 | "define-properties": "^1.2.1", 3506 | "es-object-atoms": "^1.0.0" 3507 | }, 3508 | "funding": { 3509 | "url": "https://github.com/sponsors/ljharb" 3510 | } 3511 | }, 3512 | "node_modules/string.prototype.trimstart": { 3513 | "version": "1.0.8", 3514 | "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", 3515 | "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", 3516 | "dev": true, 3517 | "dependencies": { 3518 | "call-bind": "^1.0.7", 3519 | "define-properties": "^1.2.1", 3520 | "es-object-atoms": "^1.0.0" 3521 | }, 3522 | "engines": { 3523 | "node": ">= 0.4" 3524 | }, 3525 | "funding": { 3526 | "url": "https://github.com/sponsors/ljharb" 3527 | } 3528 | }, 3529 | "node_modules/strip-ansi": { 3530 | "version": "7.1.0", 3531 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", 3532 | "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", 3533 | "dev": true, 3534 | "dependencies": { 3535 | "ansi-regex": "^6.0.1" 3536 | }, 3537 | "engines": { 3538 | "node": ">=12" 3539 | }, 3540 | "funding": { 3541 | "url": "https://github.com/chalk/strip-ansi?sponsor=1" 3542 | } 3543 | }, 3544 | "node_modules/strip-ansi-cjs": { 3545 | "name": "strip-ansi", 3546 | "version": "6.0.1", 3547 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 3548 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 3549 | "dev": true, 3550 | "dependencies": { 3551 | "ansi-regex": "^5.0.1" 3552 | }, 3553 | "engines": { 3554 | "node": ">=8" 3555 | } 3556 | }, 3557 | "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { 3558 | "version": "5.0.1", 3559 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 3560 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 3561 | "dev": true, 3562 | "engines": { 3563 | "node": ">=8" 3564 | } 3565 | }, 3566 | "node_modules/strip-bom": { 3567 | "version": "3.0.0", 3568 | "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", 3569 | "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", 3570 | "dev": true, 3571 | "engines": { 3572 | "node": ">=4" 3573 | } 3574 | }, 3575 | "node_modules/sucrase": { 3576 | "version": "3.35.0", 3577 | "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", 3578 | "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", 3579 | "dev": true, 3580 | "dependencies": { 3581 | "@jridgewell/gen-mapping": "^0.3.2", 3582 | "commander": "^4.0.0", 3583 | "glob": "^10.3.10", 3584 | "lines-and-columns": "^1.1.6", 3585 | "mz": "^2.7.0", 3586 | "pirates": "^4.0.1", 3587 | "ts-interface-checker": "^0.1.9" 3588 | }, 3589 | "bin": { 3590 | "sucrase": "bin/sucrase", 3591 | "sucrase-node": "bin/sucrase-node" 3592 | }, 3593 | "engines": { 3594 | "node": ">=16 || 14 >=14.17" 3595 | } 3596 | }, 3597 | "node_modules/supports-color": { 3598 | "version": "5.5.0", 3599 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 3600 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 3601 | "dev": true, 3602 | "dependencies": { 3603 | "has-flag": "^3.0.0" 3604 | }, 3605 | "engines": { 3606 | "node": ">=4" 3607 | } 3608 | }, 3609 | "node_modules/supports-preserve-symlinks-flag": { 3610 | "version": "1.0.0", 3611 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", 3612 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", 3613 | "dev": true, 3614 | "engines": { 3615 | "node": ">= 0.4" 3616 | }, 3617 | "funding": { 3618 | "url": "https://github.com/sponsors/ljharb" 3619 | } 3620 | }, 3621 | "node_modules/tailwindcss": { 3622 | "version": "3.4.3", 3623 | "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.3.tgz", 3624 | "integrity": "sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==", 3625 | "dev": true, 3626 | "dependencies": { 3627 | "@alloc/quick-lru": "^5.2.0", 3628 | "arg": "^5.0.2", 3629 | "chokidar": "^3.5.3", 3630 | "didyoumean": "^1.2.2", 3631 | "dlv": "^1.1.3", 3632 | "fast-glob": "^3.3.0", 3633 | "glob-parent": "^6.0.2", 3634 | "is-glob": "^4.0.3", 3635 | "jiti": "^1.21.0", 3636 | "lilconfig": "^2.1.0", 3637 | "micromatch": "^4.0.5", 3638 | "normalize-path": "^3.0.0", 3639 | "object-hash": "^3.0.0", 3640 | "picocolors": "^1.0.0", 3641 | "postcss": "^8.4.23", 3642 | "postcss-import": "^15.1.0", 3643 | "postcss-js": "^4.0.1", 3644 | "postcss-load-config": "^4.0.1", 3645 | "postcss-nested": "^6.0.1", 3646 | "postcss-selector-parser": "^6.0.11", 3647 | "resolve": "^1.22.2", 3648 | "sucrase": "^3.32.0" 3649 | }, 3650 | "bin": { 3651 | "tailwind": "lib/cli.js", 3652 | "tailwindcss": "lib/cli.js" 3653 | }, 3654 | "engines": { 3655 | "node": ">=14.0.0" 3656 | } 3657 | }, 3658 | "node_modules/tailwindcss/node_modules/postcss-selector-parser": { 3659 | "version": "6.0.16", 3660 | "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz", 3661 | "integrity": "sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==", 3662 | "dev": true, 3663 | "dependencies": { 3664 | "cssesc": "^3.0.0", 3665 | "util-deprecate": "^1.0.2" 3666 | }, 3667 | "engines": { 3668 | "node": ">=4" 3669 | } 3670 | }, 3671 | "node_modules/thenify": { 3672 | "version": "3.3.1", 3673 | "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", 3674 | "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", 3675 | "dev": true, 3676 | "dependencies": { 3677 | "any-promise": "^1.0.0" 3678 | } 3679 | }, 3680 | "node_modules/thenify-all": { 3681 | "version": "1.6.0", 3682 | "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", 3683 | "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", 3684 | "dev": true, 3685 | "dependencies": { 3686 | "thenify": ">= 3.1.0 < 4" 3687 | }, 3688 | "engines": { 3689 | "node": ">=0.8" 3690 | } 3691 | }, 3692 | "node_modules/to-regex-range": { 3693 | "version": "5.0.1", 3694 | "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", 3695 | "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", 3696 | "dev": true, 3697 | "dependencies": { 3698 | "is-number": "^7.0.0" 3699 | }, 3700 | "engines": { 3701 | "node": ">=8.0" 3702 | } 3703 | }, 3704 | "node_modules/ts-interface-checker": { 3705 | "version": "0.1.13", 3706 | "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", 3707 | "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", 3708 | "dev": true 3709 | }, 3710 | "node_modules/typed-array-buffer": { 3711 | "version": "1.0.2", 3712 | "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", 3713 | "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", 3714 | "dev": true, 3715 | "dependencies": { 3716 | "call-bind": "^1.0.7", 3717 | "es-errors": "^1.3.0", 3718 | "is-typed-array": "^1.1.13" 3719 | }, 3720 | "engines": { 3721 | "node": ">= 0.4" 3722 | } 3723 | }, 3724 | "node_modules/typed-array-byte-length": { 3725 | "version": "1.0.1", 3726 | "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", 3727 | "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", 3728 | "dev": true, 3729 | "dependencies": { 3730 | "call-bind": "^1.0.7", 3731 | "for-each": "^0.3.3", 3732 | "gopd": "^1.0.1", 3733 | "has-proto": "^1.0.3", 3734 | "is-typed-array": "^1.1.13" 3735 | }, 3736 | "engines": { 3737 | "node": ">= 0.4" 3738 | }, 3739 | "funding": { 3740 | "url": "https://github.com/sponsors/ljharb" 3741 | } 3742 | }, 3743 | "node_modules/typed-array-byte-offset": { 3744 | "version": "1.0.2", 3745 | "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", 3746 | "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", 3747 | "dev": true, 3748 | "dependencies": { 3749 | "available-typed-arrays": "^1.0.7", 3750 | "call-bind": "^1.0.7", 3751 | "for-each": "^0.3.3", 3752 | "gopd": "^1.0.1", 3753 | "has-proto": "^1.0.3", 3754 | "is-typed-array": "^1.1.13" 3755 | }, 3756 | "engines": { 3757 | "node": ">= 0.4" 3758 | }, 3759 | "funding": { 3760 | "url": "https://github.com/sponsors/ljharb" 3761 | } 3762 | }, 3763 | "node_modules/typed-array-length": { 3764 | "version": "1.0.6", 3765 | "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", 3766 | "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", 3767 | "dev": true, 3768 | "dependencies": { 3769 | "call-bind": "^1.0.7", 3770 | "for-each": "^0.3.3", 3771 | "gopd": "^1.0.1", 3772 | "has-proto": "^1.0.3", 3773 | "is-typed-array": "^1.1.13", 3774 | "possible-typed-array-names": "^1.0.0" 3775 | }, 3776 | "engines": { 3777 | "node": ">= 0.4" 3778 | }, 3779 | "funding": { 3780 | "url": "https://github.com/sponsors/ljharb" 3781 | } 3782 | }, 3783 | "node_modules/unbox-primitive": { 3784 | "version": "1.0.2", 3785 | "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", 3786 | "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", 3787 | "dev": true, 3788 | "dependencies": { 3789 | "call-bind": "^1.0.2", 3790 | "has-bigints": "^1.0.2", 3791 | "has-symbols": "^1.0.3", 3792 | "which-boxed-primitive": "^1.0.2" 3793 | }, 3794 | "funding": { 3795 | "url": "https://github.com/sponsors/ljharb" 3796 | } 3797 | }, 3798 | "node_modules/update-browserslist-db": { 3799 | "version": "1.0.13", 3800 | "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", 3801 | "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", 3802 | "dev": true, 3803 | "funding": [ 3804 | { 3805 | "type": "opencollective", 3806 | "url": "https://opencollective.com/browserslist" 3807 | }, 3808 | { 3809 | "type": "tidelift", 3810 | "url": "https://tidelift.com/funding/github/npm/browserslist" 3811 | }, 3812 | { 3813 | "type": "github", 3814 | "url": "https://github.com/sponsors/ai" 3815 | } 3816 | ], 3817 | "dependencies": { 3818 | "escalade": "^3.1.1", 3819 | "picocolors": "^1.0.0" 3820 | }, 3821 | "bin": { 3822 | "update-browserslist-db": "cli.js" 3823 | }, 3824 | "peerDependencies": { 3825 | "browserslist": ">= 4.21.0" 3826 | } 3827 | }, 3828 | "node_modules/util-deprecate": { 3829 | "version": "1.0.2", 3830 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 3831 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 3832 | "dev": true 3833 | }, 3834 | "node_modules/validate-npm-package-license": { 3835 | "version": "3.0.4", 3836 | "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", 3837 | "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", 3838 | "dev": true, 3839 | "dependencies": { 3840 | "spdx-correct": "^3.0.0", 3841 | "spdx-expression-parse": "^3.0.0" 3842 | } 3843 | }, 3844 | "node_modules/wcwidth": { 3845 | "version": "1.0.1", 3846 | "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", 3847 | "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", 3848 | "dev": true, 3849 | "dependencies": { 3850 | "defaults": "^1.0.3" 3851 | } 3852 | }, 3853 | "node_modules/which": { 3854 | "version": "1.3.1", 3855 | "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", 3856 | "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", 3857 | "dev": true, 3858 | "dependencies": { 3859 | "isexe": "^2.0.0" 3860 | }, 3861 | "bin": { 3862 | "which": "bin/which" 3863 | } 3864 | }, 3865 | "node_modules/which-boxed-primitive": { 3866 | "version": "1.0.2", 3867 | "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", 3868 | "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", 3869 | "dev": true, 3870 | "dependencies": { 3871 | "is-bigint": "^1.0.1", 3872 | "is-boolean-object": "^1.1.0", 3873 | "is-number-object": "^1.0.4", 3874 | "is-string": "^1.0.5", 3875 | "is-symbol": "^1.0.3" 3876 | }, 3877 | "funding": { 3878 | "url": "https://github.com/sponsors/ljharb" 3879 | } 3880 | }, 3881 | "node_modules/which-typed-array": { 3882 | "version": "1.1.15", 3883 | "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", 3884 | "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", 3885 | "dev": true, 3886 | "dependencies": { 3887 | "available-typed-arrays": "^1.0.7", 3888 | "call-bind": "^1.0.7", 3889 | "for-each": "^0.3.3", 3890 | "gopd": "^1.0.1", 3891 | "has-tostringtag": "^1.0.2" 3892 | }, 3893 | "engines": { 3894 | "node": ">= 0.4" 3895 | }, 3896 | "funding": { 3897 | "url": "https://github.com/sponsors/ljharb" 3898 | } 3899 | }, 3900 | "node_modules/wrap-ansi": { 3901 | "version": "8.1.0", 3902 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", 3903 | "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", 3904 | "dev": true, 3905 | "dependencies": { 3906 | "ansi-styles": "^6.1.0", 3907 | "string-width": "^5.0.1", 3908 | "strip-ansi": "^7.0.1" 3909 | }, 3910 | "engines": { 3911 | "node": ">=12" 3912 | }, 3913 | "funding": { 3914 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 3915 | } 3916 | }, 3917 | "node_modules/wrap-ansi-cjs": { 3918 | "name": "wrap-ansi", 3919 | "version": "7.0.0", 3920 | "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", 3921 | "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", 3922 | "dev": true, 3923 | "dependencies": { 3924 | "ansi-styles": "^4.0.0", 3925 | "string-width": "^4.1.0", 3926 | "strip-ansi": "^6.0.0" 3927 | }, 3928 | "engines": { 3929 | "node": ">=10" 3930 | }, 3931 | "funding": { 3932 | "url": "https://github.com/chalk/wrap-ansi?sponsor=1" 3933 | } 3934 | }, 3935 | "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { 3936 | "version": "5.0.1", 3937 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 3938 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 3939 | "dev": true, 3940 | "engines": { 3941 | "node": ">=8" 3942 | } 3943 | }, 3944 | "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { 3945 | "version": "4.3.0", 3946 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", 3947 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", 3948 | "dev": true, 3949 | "dependencies": { 3950 | "color-convert": "^2.0.1" 3951 | }, 3952 | "engines": { 3953 | "node": ">=8" 3954 | }, 3955 | "funding": { 3956 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 3957 | } 3958 | }, 3959 | "node_modules/wrap-ansi-cjs/node_modules/color-convert": { 3960 | "version": "2.0.1", 3961 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", 3962 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", 3963 | "dev": true, 3964 | "dependencies": { 3965 | "color-name": "~1.1.4" 3966 | }, 3967 | "engines": { 3968 | "node": ">=7.0.0" 3969 | } 3970 | }, 3971 | "node_modules/wrap-ansi-cjs/node_modules/color-name": { 3972 | "version": "1.1.4", 3973 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", 3974 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", 3975 | "dev": true 3976 | }, 3977 | "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { 3978 | "version": "8.0.0", 3979 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 3980 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 3981 | "dev": true 3982 | }, 3983 | "node_modules/wrap-ansi-cjs/node_modules/string-width": { 3984 | "version": "4.2.3", 3985 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 3986 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 3987 | "dev": true, 3988 | "dependencies": { 3989 | "emoji-regex": "^8.0.0", 3990 | "is-fullwidth-code-point": "^3.0.0", 3991 | "strip-ansi": "^6.0.1" 3992 | }, 3993 | "engines": { 3994 | "node": ">=8" 3995 | } 3996 | }, 3997 | "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { 3998 | "version": "6.0.1", 3999 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 4000 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 4001 | "dev": true, 4002 | "dependencies": { 4003 | "ansi-regex": "^5.0.1" 4004 | }, 4005 | "engines": { 4006 | "node": ">=8" 4007 | } 4008 | }, 4009 | "node_modules/wrap-ansi/node_modules/ansi-styles": { 4010 | "version": "6.2.1", 4011 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", 4012 | "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", 4013 | "dev": true, 4014 | "engines": { 4015 | "node": ">=12" 4016 | }, 4017 | "funding": { 4018 | "url": "https://github.com/chalk/ansi-styles?sponsor=1" 4019 | } 4020 | }, 4021 | "node_modules/yaml": { 4022 | "version": "2.4.1", 4023 | "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.1.tgz", 4024 | "integrity": "sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==", 4025 | "dev": true, 4026 | "bin": { 4027 | "yaml": "bin.mjs" 4028 | }, 4029 | "engines": { 4030 | "node": ">= 14" 4031 | } 4032 | } 4033 | } 4034 | } 4035 | -------------------------------------------------------------------------------- /postcss.config.cjs: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | "postcss-import": {}, 4 | "tailwindcss/nesting": {}, 5 | tailwindcss: {}, 6 | autoprefixer: {}, 7 | }, 8 | } 9 | -------------------------------------------------------------------------------- /src/FilamentScoutPlugin.php: -------------------------------------------------------------------------------- 1 | getUseMeiliSearch()) { 29 | $panel->globalSearch(MeilisearchGlobalSearchProvider::class); 30 | } else { 31 | $panel->globalSearch(ScoutGlobalSearchProvider::class); 32 | } 33 | } 34 | 35 | public static function make(): static 36 | { 37 | return app(static::class); 38 | } 39 | 40 | public static function get(): static 41 | { 42 | /** @var static $plugin */ 43 | $plugin = filament(app(static::class)->getId()); 44 | 45 | return $plugin; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /src/FilamentScoutServiceProvider.php: -------------------------------------------------------------------------------- 1 | name(static::$name) 23 | ->hasInstallCommand(function (InstallCommand $command) { 24 | $command 25 | ->askToStarRepoOnGitHub('kainiklas/filament-scout'); 26 | }); 27 | 28 | $package->hasConfigFile(); 29 | } 30 | 31 | public function packageRegistered(): void 32 | { 33 | } 34 | 35 | public function packageBooted(): void 36 | { 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/Forms/Components/ScoutSelect.php: -------------------------------------------------------------------------------- 1 | evaluate($condition); 15 | 16 | if (! $useScoutSearch) { 17 | return $this; 18 | } 19 | 20 | $this->getSearchResultsUsing(function (ScoutSelect $component, string $search): array { 21 | $relationship = Relation::noConstraints(fn () => $component->getRelationship()); 22 | $qualifiedRelatedKeyName = $component->getQualifiedRelatedKeyNameForRelationship($relationship); 23 | 24 | return $relationship 25 | ->getRelated() 26 | ->search($search, function ($scout, string $query, array $options) { 27 | $options['limit'] = $this->getOptionsLimit(); 28 | 29 | return $scout->search($query, $options); 30 | }) 31 | ->get() 32 | ->pluck($component->getRelationshipTitleAttribute(), Str::afterLast($qualifiedRelatedKeyName, '.')) 33 | ->toArray(); 34 | }); 35 | 36 | return $this; 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /src/Providers/MeilisearchGlobalSearchProvider.php: -------------------------------------------------------------------------------- 1 | '; 34 | $options['highlightPostTag'] = ''; 35 | 36 | return $meiliSearch->search($query, $options); 37 | } 38 | ); 39 | 40 | $scoutKeyName = app($resource::getModel())->getScoutKeyName(); 41 | $hits = collect($search->raw()['hits'])->keyBy($scoutKeyName); 42 | 43 | $resourceResults = $search 44 | ->get() 45 | ->map(function (Model $record) use ($resource, $hits): ?GlobalSearchResult { 46 | $url = $resource::getGlobalSearchResultUrl($record); 47 | 48 | if (blank($url)) { 49 | return null; 50 | } 51 | 52 | // @phpstan-ignore-next-line 53 | $hit = $hits[$record->getScoutKey()]; 54 | 55 | $titleAttribute = $resource::getRecordTitleAttribute(); 56 | $formattedTitle = new HtmlString($hit['_formatted'][$titleAttribute]); 57 | 58 | // expects to get array of [attributeName => attributeTitle] 59 | $details = $resource::getGlobalSearchResultDetails($record); 60 | $formattedDetails = []; 61 | foreach ($details as $attributeName => $attributeTitle) { 62 | $formattedDetails += [ 63 | $attributeTitle => new HtmlString($hit['_formatted'][$attributeName]), 64 | ]; 65 | } 66 | 67 | return new GlobalSearchResult( 68 | title: $formattedTitle, 69 | url: $url, 70 | details: $formattedDetails, 71 | actions: $resource::getGlobalSearchResultActions($record), 72 | ); 73 | }) 74 | ->filter(); 75 | 76 | if (! $resourceResults->count()) { 77 | continue; 78 | } 79 | 80 | $builder->category($resource::getPluralModelLabel(), $resourceResults); 81 | } 82 | 83 | return $builder; 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /src/Providers/ScoutGlobalSearchProvider.php: -------------------------------------------------------------------------------- 1 | get() 31 | ->map(function (Model $record) use ($resource): ?GlobalSearchResult { 32 | $url = $resource::getGlobalSearchResultUrl($record); 33 | 34 | if (blank($url)) { 35 | return null; 36 | } 37 | 38 | return new GlobalSearchResult( 39 | title: $resource::getGlobalSearchResultTitle($record), 40 | url: $url, 41 | details: $resource::getGlobalSearchResultDetails($record), 42 | actions: $resource::getGlobalSearchResultActions($record), 43 | ); 44 | }) 45 | ->filter(); 46 | 47 | if (! $resourceResults->count()) { 48 | continue; 49 | } 50 | 51 | $builder->category($resource::getPluralModelLabel(), $resourceResults); 52 | } 53 | 54 | return $builder; 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /src/Traits/ConfigurePlugin.php: -------------------------------------------------------------------------------- 1 | useMeilisearch = $condition; 12 | 13 | return $this; 14 | } 15 | 16 | public function getUseMeilisearch(): bool 17 | { 18 | return $this->useMeilisearch; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /src/Traits/InteractsWithScout.php: -------------------------------------------------------------------------------- 1 | applyColumnSearchesToTableQuery($query); 12 | 13 | $search = $this->getTableSearch(); 14 | 15 | if (blank($search)) { 16 | return $query; 17 | } 18 | 19 | $searchLimit = config('kainiklas-filament-scout.scout_search_limit'); 20 | $keys = $this->getModel()::search($search)->take($searchLimit)->keys(); 21 | 22 | return $query->whereKey($keys); 23 | } 24 | } 25 | --------------------------------------------------------------------------------