├── .github
├── embd.png
└── workflows
│ └── release_package.yml
├── .gitignore
├── LICENSE
├── README.md
├── package.json
├── playground
├── .eslintrc.js
├── README.md
├── next-env.d.ts
├── next.config.js
├── package.json
├── pnpm-lock.yaml
├── postcss.config.js
├── public
│ └── chrome.png
├── src
│ ├── components
│ │ ├── layout.tsx
│ │ └── modal.tsx
│ ├── pages
│ │ ├── _app.tsx
│ │ ├── _document.tsx
│ │ ├── api
│ │ │ └── hello.ts
│ │ └── index.tsx
│ ├── styles
│ │ ├── Home.module.css
│ │ └── globals.css
│ └── util.ts
├── tailwind.config.js
└── tsconfig.json
├── pnpm-lock.yaml
├── src
├── db
│ ├── modelDB.ts
│ └── types.ts
├── index.ts
├── inferenceSession.ts
├── models.ts
├── session.worker.ts
├── sessionManager.ts
└── utils
│ └── retry.ts
└── tsconfig.json
/.github/embd.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FL33TW00D/embd/2646f497e64e36c676eb6942beb0964a5e28ffd8/.github/embd.png
--------------------------------------------------------------------------------
/.github/workflows/release_package.yml:
--------------------------------------------------------------------------------
1 | name: Release package
2 | on:
3 | workflow_dispatch:
4 | inputs:
5 | release-type:
6 | description: 'Release type (one of): patch, minor, major, prepatch, preminor, premajor, prerelease'
7 | required: true
8 | jobs:
9 | release:
10 | runs-on: ubuntu-latest
11 | steps:
12 | # Checkout project repository
13 | - name: Checkout
14 | uses: actions/checkout@v3
15 |
16 | # Setup Node.js environment
17 | - name: Setup Node.js
18 | uses: actions/setup-node@v3
19 | with:
20 | registry-url: https://registry.npmjs.org/
21 | node-version: '16'
22 |
23 | - name: Install pnpm
24 | uses: pnpm/action-setup@v2
25 | with:
26 | version: 8
27 |
28 | - name: Install dependencies
29 | run: pnpm install
30 |
31 | - name: Run build
32 | run: pnpm run build
33 |
34 | # Configure Git
35 | - name: Git configuration
36 | run: |
37 | git config --global user.email "fleetwoodpersonal@gmail.com"
38 | git config --global user.name "GitHub Actions"
39 |
40 | # Bump package version
41 | # Use tag latest
42 | - name: Bump release version
43 | if: startsWith(github.event.inputs.release-type, 'pre') != true
44 | run: |
45 | echo "NEW_VERSION=$(npm --no-git-tag-version version $RELEASE_TYPE)" >> $GITHUB_ENV
46 | echo "RELEASE_TAG=latest" >> $GITHUB_ENV
47 | env:
48 | RELEASE_TYPE: ${{ github.event.inputs.release-type }}
49 |
50 | # Bump package pre-release version
51 | # Use tag beta for pre-release versions
52 | - name: Bump pre-release version
53 | if: startsWith(github.event.inputs.release-type, 'pre')
54 | run: |
55 | echo "NEW_VERSION=$(npm --no-git-tag-version --preid=beta version $RELEASE_TYPE
56 | echo "RELEASE_TAG=beta" >> $GITHUB_ENV
57 | env:
58 | RELEASE_TYPE: ${{ github.event.inputs.release-type }}
59 |
60 | # Commit changes
61 | - name: Commit package.json changes and create tag
62 | run: |
63 | git add "package.json" "pnpm-lock.yaml"
64 | git commit -m "chore: release ${{ env.NEW_VERSION }}"
65 | git tag ${{ env.NEW_VERSION }}
66 |
67 | # Publish version to public repository
68 | - name: Publish
69 | run: npm publish --verbose --access public --tag ${{ env.RELEASE_TAG }}
70 | env:
71 | NODE_AUTH_TOKEN: ${{ secrets.NPMJS_RELEASE_TOKEN }}
72 |
73 | - name: Bump playground
74 | working-directory: "./playground"
75 | run: |
76 | pnpm install embd@${{ env.NEW_VERSION }}
77 | git add "package.json" "pnpm-lock.yaml"
78 | git commit -m "chore: bump embd"
79 |
80 | # Push repository changes
81 | - name: Push changes to repository
82 | env:
83 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
84 | run: |
85 | git push origin && git push --tags
86 |
87 | # Update GitHub release with changelog
88 | - name: Update GitHub release documentation
89 | uses: softprops/action-gh-release@v1
90 | with:
91 | tag_name: ${{ env.NEW_VERSION }}
92 | body: "New release"
93 | prerelease: ${{ startsWith(github.event.inputs.release-type, 'pre') }}
94 | env:
95 | GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
96 |
97 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.seed
2 | *.log
3 | *.csv
4 | *.dat
5 | *.out
6 | *.pid
7 | *.gz
8 | *.swp
9 |
10 | pids
11 | logs
12 | results
13 | tmp
14 |
15 | # Build
16 | public/css/main.css
17 |
18 | # Coverage reports
19 | coverage
20 |
21 | # API keys and secrets
22 | .env
23 |
24 | # Dependency directory
25 | node_modules
26 | bower_components
27 |
28 | # Editors
29 | .idea
30 | *.iml
31 |
32 | # OS metadata
33 | .DS_Store
34 | Thumbs.db
35 |
36 | # Ignore built ts files
37 | dist/**/*
38 |
39 | # ignore yarn.lock
40 | yarn.lock
41 |
42 | .next
43 | **/tokenizer.json
44 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
5 |
6 | ## What is EMBD?
7 |
8 | EMBD is a fast, **cross-platform** GPU accelerated library for computing embeddings from text, designed to run entirely client-side in your browser/electron app.
9 |
10 | Perfect for vector search, RAG etc.
11 |
12 | Check out [Getting Started](https://ratchet.sh/embd) for more.
13 |
14 | ## Supported Models
15 |
16 | | Model | Size (MB) |
17 | | ------------- | ------------- |
18 | | [bge-small-en-v1.5](https://huggingface.co/BAAI/bge-small-en-v1.5) | 30 (WIP) |
19 |
20 | Don't see the model you want? Send us an email!
21 |
22 | ## Benchmarks
23 |
24 |
25 |
26 | ## Warning ⚠️
27 |
28 | This is in **alpha** - breaking changes are guaranteed.
29 |
30 | ## Supported Platforms
31 |
32 | WebGPU is only officially supported on Chromium based browsers running on Windows & MacOS.
33 | For more information, check out [Supported Platforms](https://ratchet.sh/whisper-turbo/platforms)
34 |
35 | ## Want to get involved?
36 |
37 | - Are you a GPU wizard?
38 | - Do you know what a HRTB is in Rust?
39 | - Do you know what is going on [here](https://github.com/RuyiLi/cursed-typescript/blob/master/random/game-of-life.ts)?
40 | - Reach out: chris@fleetwood.dev
41 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "embd",
3 | "version": "0.5.0",
4 | "author": "Christopher Fleetwood ",
5 | "description": "Cross-platform, GPU accelerated embeddings",
6 | "repository": "FL33TW00D/embd",
7 | "keywords": [
8 | "RAG",
9 | "embeddings",
10 | "WebGPU",
11 | "ML",
12 | "Machine Learning",
13 | "AI"
14 | ],
15 | "main": "dist/index.js",
16 | "types": "dist/index.d.ts",
17 | "devDependencies": {
18 | "@types/node": "^14.18.63",
19 | "@types/uuid": "^9.0.7",
20 | "@typescript-eslint/eslint-plugin": "^6.12.0",
21 | "@typescript-eslint/parser": "^6.12.0",
22 | "eslint": "^8.54.0",
23 | "typescript": "~4.7.4"
24 | },
25 | "scripts": {
26 | "build": "rm -rf ./dist && tsc",
27 | "format": "prettier --write \"src/**/*.ts\"",
28 | "lint": "eslint ./src"
29 | },
30 | "dependencies": {
31 | "comlink": "4.3.1",
32 | "embd-webgpu": "0.3.0",
33 | "idb": "^7.1.1",
34 | "true-myth": "^6.2.0",
35 | "uuid": "^9.0.1"
36 | },
37 | "files": [
38 | "dist/**/*"
39 | ]
40 | }
41 |
--------------------------------------------------------------------------------
/playground/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | env: {
3 | browser: true,
4 | es2021: true,
5 | },
6 | extends: [
7 | "eslint:recommended",
8 | "plugin:@typescript-eslint/eslint-recommended",
9 | "plugin:@typescript-eslint/recommended",
10 | "next/core-web-vitals",
11 | ],
12 | };
13 |
--------------------------------------------------------------------------------
/playground/README.md:
--------------------------------------------------------------------------------
1 | This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app).
2 |
3 | ## Getting Started
4 |
5 | First, run the development server:
6 |
7 | ```bash
8 | npm run dev
9 | # or
10 | yarn dev
11 | # or
12 | pnpm dev
13 | ```
14 |
15 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result.
16 |
17 | You can start editing the page by modifying `pages/index.tsx`. The page auto-updates as you edit the file.
18 |
19 | [API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.ts`.
20 |
21 | The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages.
22 |
23 | This project uses [`next/font`](https://nextjs.org/docs/basic-features/font-optimization) to automatically optimize and load Inter, a custom Google Font.
24 |
25 | ## Learn More
26 |
27 | To learn more about Next.js, take a look at the following resources:
28 |
29 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API.
30 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial.
31 |
32 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome!
33 |
34 | ## Deploy on Vercel
35 |
36 | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js.
37 |
38 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details.
39 |
--------------------------------------------------------------------------------
/playground/next-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 |
4 | // NOTE: This file should not be edited
5 | // see https://nextjs.org/docs/basic-features/typescript for more information.
6 |
--------------------------------------------------------------------------------
/playground/next.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('next').NextConfig} */
2 | const nextConfig = {
3 | reactStrictMode: true,
4 | transpilePackages: ["embd"],
5 | };
6 |
7 | module.exports = nextConfig;
8 |
--------------------------------------------------------------------------------
/playground/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "playground",
3 | "version": "0.1.0",
4 | "scripts": {
5 | "dev": "next dev",
6 | "build": "next build",
7 | "start": "next start",
8 | "lint": "next lint"
9 | },
10 | "dependencies": {
11 | "@next/font": "13.1.0",
12 | "@typescript-eslint/eslint-plugin": "^5.62.0",
13 | "embd": "^0.5.0",
14 | "next": "13.1.0",
15 | "react": "^18.2.0",
16 | "react-dom": "^18.2.0",
17 | "react-hot-toast": "^2.4.1",
18 | "react-responsive-modal": "^6.4.2",
19 | "true-myth": "^7.1.0"
20 | },
21 | "devDependencies": {
22 | "@tailwindcss/typography": "^0.5.10",
23 | "@types/node": "18.11.9",
24 | "@types/react": "18.0.25",
25 | "@types/react-dom": "18.0.9",
26 | "autoprefixer": "^10.4.16",
27 | "eslint": "8.28.0",
28 | "eslint-config-next": "13.0.5",
29 | "postcss": "^8.4.31",
30 | "tailwindcss": "^3.3.5",
31 | "typescript": "4.9.3"
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/playground/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | dependencies:
8 | '@next/font':
9 | specifier: 13.1.0
10 | version: 13.1.0
11 | '@typescript-eslint/eslint-plugin':
12 | specifier: ^5.62.0
13 | version: 5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.28.0)(typescript@4.9.3)
14 | embd:
15 | specifier: ^0.5.0
16 | version: 0.5.0
17 | next:
18 | specifier: 13.1.0
19 | version: 13.1.0(react-dom@18.2.0)(react@18.2.0)
20 | react:
21 | specifier: ^18.2.0
22 | version: 18.2.0
23 | react-dom:
24 | specifier: ^18.2.0
25 | version: 18.2.0(react@18.2.0)
26 | react-hot-toast:
27 | specifier: ^2.4.1
28 | version: 2.4.1(csstype@3.1.2)(react-dom@18.2.0)(react@18.2.0)
29 | react-responsive-modal:
30 | specifier: ^6.4.2
31 | version: 6.4.2(react-dom@18.2.0)(react@18.2.0)
32 | true-myth:
33 | specifier: ^7.1.0
34 | version: 7.1.0
35 |
36 | devDependencies:
37 | '@tailwindcss/typography':
38 | specifier: ^0.5.10
39 | version: 0.5.10(tailwindcss@3.3.5)
40 | '@types/node':
41 | specifier: 18.11.9
42 | version: 18.11.9
43 | '@types/react':
44 | specifier: 18.0.25
45 | version: 18.0.25
46 | '@types/react-dom':
47 | specifier: 18.0.9
48 | version: 18.0.9
49 | autoprefixer:
50 | specifier: ^10.4.16
51 | version: 10.4.16(postcss@8.4.31)
52 | eslint:
53 | specifier: 8.28.0
54 | version: 8.28.0
55 | eslint-config-next:
56 | specifier: 13.0.5
57 | version: 13.0.5(eslint@8.28.0)(typescript@4.9.3)
58 | postcss:
59 | specifier: ^8.4.31
60 | version: 8.4.31
61 | tailwindcss:
62 | specifier: ^3.3.5
63 | version: 3.3.5
64 | typescript:
65 | specifier: 4.9.3
66 | version: 4.9.3
67 |
68 | packages:
69 |
70 | /@aashutoshrathi/word-wrap@1.2.6:
71 | resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
72 | engines: {node: '>=0.10.0'}
73 |
74 | /@alloc/quick-lru@5.2.0:
75 | resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
76 | engines: {node: '>=10'}
77 | dev: true
78 |
79 | /@babel/runtime@7.23.4:
80 | resolution: {integrity: sha512-2Yv65nlWnWlSpe3fXEyX5i7fx5kIKo4Qbcj+hMO0odwaneFjfXw5fdum+4yL20O0QiaHpia0cYQ9xpNMqrBwHg==}
81 | engines: {node: '>=6.9.0'}
82 | dependencies:
83 | regenerator-runtime: 0.14.0
84 | dev: true
85 |
86 | /@bedrock-layout/use-forwarded-ref@1.6.1(react@18.2.0):
87 | resolution: {integrity: sha512-GD9A9AFLzFNjr7k6fgerSqxfwDWl+wsPS11PErOKe1zkVz0y7RGC9gzlOiX/JrgpyB3NFHWIuGtoOQqifJQQpw==}
88 | peerDependencies:
89 | react: ^16.8 || ^17 || ^18
90 | dependencies:
91 | '@bedrock-layout/use-stateful-ref': 1.4.1(react@18.2.0)
92 | react: 18.2.0
93 | dev: false
94 |
95 | /@bedrock-layout/use-stateful-ref@1.4.1(react@18.2.0):
96 | resolution: {integrity: sha512-4eKO2KdQEXcR5LI4QcxqlJykJUDQJWDeWYAukIn6sRQYoabcfI5kDl61PUi6FR6o8VFgQ8IEP7HleKqWlSe8SQ==}
97 | peerDependencies:
98 | react: ^16.8 || ^17 || ^18
99 | dependencies:
100 | react: 18.2.0
101 | dev: false
102 |
103 | /@eslint-community/eslint-utils@4.4.0(eslint@8.28.0):
104 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
105 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
106 | peerDependencies:
107 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
108 | dependencies:
109 | eslint: 8.28.0
110 | eslint-visitor-keys: 3.4.3
111 | dev: false
112 |
113 | /@eslint-community/regexpp@4.10.0:
114 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
115 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
116 | dev: false
117 |
118 | /@eslint/eslintrc@1.4.1:
119 | resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==}
120 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
121 | dependencies:
122 | ajv: 6.12.6
123 | debug: 4.3.4
124 | espree: 9.6.1
125 | globals: 13.23.0
126 | ignore: 5.3.0
127 | import-fresh: 3.3.0
128 | js-yaml: 4.1.0
129 | minimatch: 3.1.2
130 | strip-json-comments: 3.1.1
131 | transitivePeerDependencies:
132 | - supports-color
133 |
134 | /@humanwhocodes/config-array@0.11.13:
135 | resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==}
136 | engines: {node: '>=10.10.0'}
137 | dependencies:
138 | '@humanwhocodes/object-schema': 2.0.1
139 | debug: 4.3.4
140 | minimatch: 3.1.2
141 | transitivePeerDependencies:
142 | - supports-color
143 |
144 | /@humanwhocodes/module-importer@1.0.1:
145 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
146 | engines: {node: '>=12.22'}
147 |
148 | /@humanwhocodes/object-schema@2.0.1:
149 | resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
150 |
151 | /@jridgewell/gen-mapping@0.3.3:
152 | resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==}
153 | engines: {node: '>=6.0.0'}
154 | dependencies:
155 | '@jridgewell/set-array': 1.1.2
156 | '@jridgewell/sourcemap-codec': 1.4.15
157 | '@jridgewell/trace-mapping': 0.3.20
158 | dev: true
159 |
160 | /@jridgewell/resolve-uri@3.1.1:
161 | resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==}
162 | engines: {node: '>=6.0.0'}
163 | dev: true
164 |
165 | /@jridgewell/set-array@1.1.2:
166 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==}
167 | engines: {node: '>=6.0.0'}
168 | dev: true
169 |
170 | /@jridgewell/sourcemap-codec@1.4.15:
171 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
172 | dev: true
173 |
174 | /@jridgewell/trace-mapping@0.3.20:
175 | resolution: {integrity: sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==}
176 | dependencies:
177 | '@jridgewell/resolve-uri': 3.1.1
178 | '@jridgewell/sourcemap-codec': 1.4.15
179 | dev: true
180 |
181 | /@next/env@13.1.0:
182 | resolution: {integrity: sha512-6iNixFzCndH+Bl4FetQzOMjxCJqg8fs0LAlZviig1K6mIjOWH2m2oPcHcOg1Ta5VCe7Bx5KG1Hs+NrWDUkBt9A==}
183 | dev: false
184 |
185 | /@next/eslint-plugin-next@13.0.5:
186 | resolution: {integrity: sha512-H9U9B1dFnCDmylDZ6/dYt95Ie1Iu+SLBMcO6rkIGIDcj5UK+DNyMiWm83xWBZ1gREM8cfp5Srv1g6wqf8pM4lw==}
187 | dependencies:
188 | glob: 7.1.7
189 | dev: true
190 |
191 | /@next/font@13.1.0:
192 | resolution: {integrity: sha512-9+c2eWoeLftcGAul1fiXD8lL4o4/0beQrz2/0h0B0VV5AWrqCCfj/204quUxdp541ab+NCWVX/m49qjbqFMaFA==}
193 | dev: false
194 |
195 | /@next/swc-android-arm-eabi@13.1.0:
196 | resolution: {integrity: sha512-ANBZZRjZBV+Sii11ZVxbxSvfIi6dZwu4w+XnJBDmz+0/wtAigpjYWyMkuWZ/RCD7INdusOlU4EgJ99WzWGIDjA==}
197 | engines: {node: '>= 10'}
198 | cpu: [arm]
199 | os: [android]
200 | requiresBuild: true
201 | dev: false
202 | optional: true
203 |
204 | /@next/swc-android-arm64@13.1.0:
205 | resolution: {integrity: sha512-nPwbkS3aZjCIe61wztgjXjIeylijOP8uGtDGjjJVUF3B/5GLVx3ngZu6tjPTMEgaLM0u//HuGK+aZolWUQWE4g==}
206 | engines: {node: '>= 10'}
207 | cpu: [arm64]
208 | os: [android]
209 | requiresBuild: true
210 | dev: false
211 | optional: true
212 |
213 | /@next/swc-darwin-arm64@13.1.0:
214 | resolution: {integrity: sha512-0hUydiAW18jK2uGPnZRdnRQtdB/3ZoPo84A6zH7MJHxAWw9lzVsv3kMg9kgVBBlrivzqdNN8rdgA+eYNxzXU9w==}
215 | engines: {node: '>= 10'}
216 | cpu: [arm64]
217 | os: [darwin]
218 | requiresBuild: true
219 | dev: false
220 | optional: true
221 |
222 | /@next/swc-darwin-x64@13.1.0:
223 | resolution: {integrity: sha512-3S3iQqJIysklj0Q9gnanuYMzF8H9p+fUVhvSHxVVLcKH4HsE8EGddNkXsaOyznL1kC6vGKw7h6uz1ojaXEafCA==}
224 | engines: {node: '>= 10'}
225 | cpu: [x64]
226 | os: [darwin]
227 | requiresBuild: true
228 | dev: false
229 | optional: true
230 |
231 | /@next/swc-freebsd-x64@13.1.0:
232 | resolution: {integrity: sha512-wAgzwm/em48GIuWq3OYr0BpncMy7c+UA3hsyX+xKh/vb/sOIpQly7JTa+GNdk17s7kprhMfsgzPG3da36NLpkA==}
233 | engines: {node: '>= 10'}
234 | cpu: [x64]
235 | os: [freebsd]
236 | requiresBuild: true
237 | dev: false
238 | optional: true
239 |
240 | /@next/swc-linux-arm-gnueabihf@13.1.0:
241 | resolution: {integrity: sha512-Cr2hzL7ad+4nj9KrR1Cz1RDcsWa61X6I7gc6PToRYIY4gL480Sijq19xo7dlXQPnr1viVzbNiNnNXZASHv7uvw==}
242 | engines: {node: '>= 10'}
243 | cpu: [arm]
244 | os: [linux]
245 | requiresBuild: true
246 | dev: false
247 | optional: true
248 |
249 | /@next/swc-linux-arm64-gnu@13.1.0:
250 | resolution: {integrity: sha512-EjCIKfeZB9h72evL2yGNwBvE5Im96Zn7o2zxImlvCiUYb/xXDqn4hzhck035BSP3g3sGDLfijFTE1wKRyXIk4w==}
251 | engines: {node: '>= 10'}
252 | cpu: [arm64]
253 | os: [linux]
254 | requiresBuild: true
255 | dev: false
256 | optional: true
257 |
258 | /@next/swc-linux-arm64-musl@13.1.0:
259 | resolution: {integrity: sha512-WAsZtCtPXlz/7/bnW9ryw856xEun+c6xSwZwbcvrMxtcSiW3z0LD91Nsj3AkexsjRtBjeEpNeVtDExqF2VKKSA==}
260 | engines: {node: '>= 10'}
261 | cpu: [arm64]
262 | os: [linux]
263 | requiresBuild: true
264 | dev: false
265 | optional: true
266 |
267 | /@next/swc-linux-x64-gnu@13.1.0:
268 | resolution: {integrity: sha512-Tjd5gieI3X9vPce5yF+GsQxOl0jwUkyOrTR1g5PQr+bT/9Qos/yPL48H1L5ayEp0hxgLVPW7skGal7lVnAoVEQ==}
269 | engines: {node: '>= 10'}
270 | cpu: [x64]
271 | os: [linux]
272 | requiresBuild: true
273 | dev: false
274 | optional: true
275 |
276 | /@next/swc-linux-x64-musl@13.1.0:
277 | resolution: {integrity: sha512-H9UMEQv40e9pkgdX4mCms0dDf2dimmZ6WXhDTWF/yIh9icgcsHaP73BJ9IFlgvh80wLiUgWZ3LAX4vXnXzidmg==}
278 | engines: {node: '>= 10'}
279 | cpu: [x64]
280 | os: [linux]
281 | requiresBuild: true
282 | dev: false
283 | optional: true
284 |
285 | /@next/swc-win32-arm64-msvc@13.1.0:
286 | resolution: {integrity: sha512-LFFIKjW/cPl4wvG8HF/6oYPJZ+Jy32G3FUflC8UW1Od6W9yOSEvadhk9fMyDZN4cgsNOcVc3uVSMpcuuCpbDGw==}
287 | engines: {node: '>= 10'}
288 | cpu: [arm64]
289 | os: [win32]
290 | requiresBuild: true
291 | dev: false
292 | optional: true
293 |
294 | /@next/swc-win32-ia32-msvc@13.1.0:
295 | resolution: {integrity: sha512-MBLaoHZSenMdxhB3Ww1VNEhjyPT3uLjzAi5Ygk48LLLbOGu5KxQolhINRrqGuJWqJRNWSJ9JSFBfJrZwQzrUew==}
296 | engines: {node: '>= 10'}
297 | cpu: [ia32]
298 | os: [win32]
299 | requiresBuild: true
300 | dev: false
301 | optional: true
302 |
303 | /@next/swc-win32-x64-msvc@13.1.0:
304 | resolution: {integrity: sha512-fFTfIQvnmpbKoyh4v3ezlGqtERlgc2Sx8qJwPuYqoVi0V08wCx9wp2Iq1CINxP3UMHkEeNX7gYpDOd+9Cw9EiQ==}
305 | engines: {node: '>= 10'}
306 | cpu: [x64]
307 | os: [win32]
308 | requiresBuild: true
309 | dev: false
310 | optional: true
311 |
312 | /@nodelib/fs.scandir@2.1.5:
313 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
314 | engines: {node: '>= 8'}
315 | dependencies:
316 | '@nodelib/fs.stat': 2.0.5
317 | run-parallel: 1.2.0
318 |
319 | /@nodelib/fs.stat@2.0.5:
320 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
321 | engines: {node: '>= 8'}
322 |
323 | /@nodelib/fs.walk@1.2.8:
324 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
325 | engines: {node: '>= 8'}
326 | dependencies:
327 | '@nodelib/fs.scandir': 2.1.5
328 | fastq: 1.15.0
329 |
330 | /@rushstack/eslint-patch@1.6.0:
331 | resolution: {integrity: sha512-2/U3GXA6YiPYQDLGwtGlnNgKYBSwCFIHf8Y9LUY5VATHdtbLlU0Y1R3QoBnT0aB4qv/BEiVVsj7LJXoQCgJ2vA==}
332 | dev: true
333 |
334 | /@swc/helpers@0.4.14:
335 | resolution: {integrity: sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==}
336 | dependencies:
337 | tslib: 2.6.2
338 | dev: false
339 |
340 | /@tailwindcss/typography@0.5.10(tailwindcss@3.3.5):
341 | resolution: {integrity: sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw==}
342 | peerDependencies:
343 | tailwindcss: '>=3.0.0 || insiders'
344 | dependencies:
345 | lodash.castarray: 4.4.0
346 | lodash.isplainobject: 4.0.6
347 | lodash.merge: 4.6.2
348 | postcss-selector-parser: 6.0.10
349 | tailwindcss: 3.3.5
350 | dev: true
351 |
352 | /@types/json-schema@7.0.15:
353 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
354 | dev: false
355 |
356 | /@types/json5@0.0.29:
357 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
358 | dev: true
359 |
360 | /@types/node@18.11.9:
361 | resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==}
362 | dev: true
363 |
364 | /@types/prop-types@15.7.11:
365 | resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==}
366 | dev: true
367 |
368 | /@types/react-dom@18.0.9:
369 | resolution: {integrity: sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==}
370 | dependencies:
371 | '@types/react': 18.0.25
372 | dev: true
373 |
374 | /@types/react@18.0.25:
375 | resolution: {integrity: sha512-xD6c0KDT4m7n9uD4ZHi02lzskaiqcBxf4zi+tXZY98a04wvc0hi/TcCPC2FOESZi51Nd7tlUeOJY8RofL799/g==}
376 | dependencies:
377 | '@types/prop-types': 15.7.11
378 | '@types/scheduler': 0.16.8
379 | csstype: 3.1.2
380 | dev: true
381 |
382 | /@types/retry@0.12.1:
383 | resolution: {integrity: sha512-xoDlM2S4ortawSWORYqsdU+2rxdh4LRW9ytc3zmT37RIKQh6IHyKwwtKhKis9ah8ol07DCkZxPt8BBvPjC6v4g==}
384 | dev: false
385 |
386 | /@types/scheduler@0.16.8:
387 | resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==}
388 | dev: true
389 |
390 | /@types/semver@7.5.6:
391 | resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==}
392 | dev: false
393 |
394 | /@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0)(eslint@8.28.0)(typescript@4.9.3):
395 | resolution: {integrity: sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==}
396 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
397 | peerDependencies:
398 | '@typescript-eslint/parser': ^5.0.0
399 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
400 | typescript: '*'
401 | peerDependenciesMeta:
402 | typescript:
403 | optional: true
404 | dependencies:
405 | '@eslint-community/regexpp': 4.10.0
406 | '@typescript-eslint/parser': 5.62.0(eslint@8.28.0)(typescript@4.9.3)
407 | '@typescript-eslint/scope-manager': 5.62.0
408 | '@typescript-eslint/type-utils': 5.62.0(eslint@8.28.0)(typescript@4.9.3)
409 | '@typescript-eslint/utils': 5.62.0(eslint@8.28.0)(typescript@4.9.3)
410 | debug: 4.3.4
411 | eslint: 8.28.0
412 | graphemer: 1.4.0
413 | ignore: 5.3.0
414 | natural-compare-lite: 1.4.0
415 | semver: 7.5.4
416 | tsutils: 3.21.0(typescript@4.9.3)
417 | typescript: 4.9.3
418 | transitivePeerDependencies:
419 | - supports-color
420 | dev: false
421 |
422 | /@typescript-eslint/parser@5.62.0(eslint@8.28.0)(typescript@4.9.3):
423 | resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==}
424 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
425 | peerDependencies:
426 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
427 | typescript: '*'
428 | peerDependenciesMeta:
429 | typescript:
430 | optional: true
431 | dependencies:
432 | '@typescript-eslint/scope-manager': 5.62.0
433 | '@typescript-eslint/types': 5.62.0
434 | '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.3)
435 | debug: 4.3.4
436 | eslint: 8.28.0
437 | typescript: 4.9.3
438 | transitivePeerDependencies:
439 | - supports-color
440 |
441 | /@typescript-eslint/scope-manager@5.62.0:
442 | resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==}
443 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
444 | dependencies:
445 | '@typescript-eslint/types': 5.62.0
446 | '@typescript-eslint/visitor-keys': 5.62.0
447 |
448 | /@typescript-eslint/type-utils@5.62.0(eslint@8.28.0)(typescript@4.9.3):
449 | resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==}
450 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
451 | peerDependencies:
452 | eslint: '*'
453 | typescript: '*'
454 | peerDependenciesMeta:
455 | typescript:
456 | optional: true
457 | dependencies:
458 | '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.3)
459 | '@typescript-eslint/utils': 5.62.0(eslint@8.28.0)(typescript@4.9.3)
460 | debug: 4.3.4
461 | eslint: 8.28.0
462 | tsutils: 3.21.0(typescript@4.9.3)
463 | typescript: 4.9.3
464 | transitivePeerDependencies:
465 | - supports-color
466 | dev: false
467 |
468 | /@typescript-eslint/types@5.62.0:
469 | resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==}
470 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
471 |
472 | /@typescript-eslint/typescript-estree@5.62.0(typescript@4.9.3):
473 | resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==}
474 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
475 | peerDependencies:
476 | typescript: '*'
477 | peerDependenciesMeta:
478 | typescript:
479 | optional: true
480 | dependencies:
481 | '@typescript-eslint/types': 5.62.0
482 | '@typescript-eslint/visitor-keys': 5.62.0
483 | debug: 4.3.4
484 | globby: 11.1.0
485 | is-glob: 4.0.3
486 | semver: 7.5.4
487 | tsutils: 3.21.0(typescript@4.9.3)
488 | typescript: 4.9.3
489 | transitivePeerDependencies:
490 | - supports-color
491 |
492 | /@typescript-eslint/utils@5.62.0(eslint@8.28.0)(typescript@4.9.3):
493 | resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==}
494 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
495 | peerDependencies:
496 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
497 | dependencies:
498 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.28.0)
499 | '@types/json-schema': 7.0.15
500 | '@types/semver': 7.5.6
501 | '@typescript-eslint/scope-manager': 5.62.0
502 | '@typescript-eslint/types': 5.62.0
503 | '@typescript-eslint/typescript-estree': 5.62.0(typescript@4.9.3)
504 | eslint: 8.28.0
505 | eslint-scope: 5.1.1
506 | semver: 7.5.4
507 | transitivePeerDependencies:
508 | - supports-color
509 | - typescript
510 | dev: false
511 |
512 | /@typescript-eslint/visitor-keys@5.62.0:
513 | resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==}
514 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
515 | dependencies:
516 | '@typescript-eslint/types': 5.62.0
517 | eslint-visitor-keys: 3.4.3
518 |
519 | /acorn-jsx@5.3.2(acorn@8.11.2):
520 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
521 | peerDependencies:
522 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
523 | dependencies:
524 | acorn: 8.11.2
525 |
526 | /acorn@8.11.2:
527 | resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==}
528 | engines: {node: '>=0.4.0'}
529 | hasBin: true
530 |
531 | /ajv@6.12.6:
532 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
533 | dependencies:
534 | fast-deep-equal: 3.1.3
535 | fast-json-stable-stringify: 2.1.0
536 | json-schema-traverse: 0.4.1
537 | uri-js: 4.4.1
538 |
539 | /ansi-regex@5.0.1:
540 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
541 | engines: {node: '>=8'}
542 |
543 | /ansi-styles@4.3.0:
544 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
545 | engines: {node: '>=8'}
546 | dependencies:
547 | color-convert: 2.0.1
548 |
549 | /any-promise@1.3.0:
550 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
551 | dev: true
552 |
553 | /anymatch@3.1.3:
554 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
555 | engines: {node: '>= 8'}
556 | dependencies:
557 | normalize-path: 3.0.0
558 | picomatch: 2.3.1
559 | dev: true
560 |
561 | /arg@5.0.2:
562 | resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
563 | dev: true
564 |
565 | /argparse@2.0.1:
566 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
567 |
568 | /aria-query@5.3.0:
569 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
570 | dependencies:
571 | dequal: 2.0.3
572 | dev: true
573 |
574 | /array-buffer-byte-length@1.0.0:
575 | resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==}
576 | dependencies:
577 | call-bind: 1.0.5
578 | is-array-buffer: 3.0.2
579 | dev: true
580 |
581 | /array-includes@3.1.7:
582 | resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==}
583 | engines: {node: '>= 0.4'}
584 | dependencies:
585 | call-bind: 1.0.5
586 | define-properties: 1.2.1
587 | es-abstract: 1.22.3
588 | get-intrinsic: 1.2.2
589 | is-string: 1.0.7
590 | dev: true
591 |
592 | /array-union@2.1.0:
593 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
594 | engines: {node: '>=8'}
595 |
596 | /array.prototype.findlastindex@1.2.3:
597 | resolution: {integrity: sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==}
598 | engines: {node: '>= 0.4'}
599 | dependencies:
600 | call-bind: 1.0.5
601 | define-properties: 1.2.1
602 | es-abstract: 1.22.3
603 | es-shim-unscopables: 1.0.2
604 | get-intrinsic: 1.2.2
605 | dev: true
606 |
607 | /array.prototype.flat@1.3.2:
608 | resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
609 | engines: {node: '>= 0.4'}
610 | dependencies:
611 | call-bind: 1.0.5
612 | define-properties: 1.2.1
613 | es-abstract: 1.22.3
614 | es-shim-unscopables: 1.0.2
615 | dev: true
616 |
617 | /array.prototype.flatmap@1.3.2:
618 | resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
619 | engines: {node: '>= 0.4'}
620 | dependencies:
621 | call-bind: 1.0.5
622 | define-properties: 1.2.1
623 | es-abstract: 1.22.3
624 | es-shim-unscopables: 1.0.2
625 | dev: true
626 |
627 | /array.prototype.tosorted@1.1.2:
628 | resolution: {integrity: sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==}
629 | dependencies:
630 | call-bind: 1.0.5
631 | define-properties: 1.2.1
632 | es-abstract: 1.22.3
633 | es-shim-unscopables: 1.0.2
634 | get-intrinsic: 1.2.2
635 | dev: true
636 |
637 | /arraybuffer.prototype.slice@1.0.2:
638 | resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==}
639 | engines: {node: '>= 0.4'}
640 | dependencies:
641 | array-buffer-byte-length: 1.0.0
642 | call-bind: 1.0.5
643 | define-properties: 1.2.1
644 | es-abstract: 1.22.3
645 | get-intrinsic: 1.2.2
646 | is-array-buffer: 3.0.2
647 | is-shared-array-buffer: 1.0.2
648 | dev: true
649 |
650 | /ast-types-flow@0.0.8:
651 | resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
652 | dev: true
653 |
654 | /asynciterator.prototype@1.0.0:
655 | resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==}
656 | dependencies:
657 | has-symbols: 1.0.3
658 | dev: true
659 |
660 | /autoprefixer@10.4.16(postcss@8.4.31):
661 | resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==}
662 | engines: {node: ^10 || ^12 || >=14}
663 | hasBin: true
664 | peerDependencies:
665 | postcss: ^8.1.0
666 | dependencies:
667 | browserslist: 4.22.1
668 | caniuse-lite: 1.0.30001564
669 | fraction.js: 4.3.7
670 | normalize-range: 0.1.2
671 | picocolors: 1.0.0
672 | postcss: 8.4.31
673 | postcss-value-parser: 4.2.0
674 | dev: true
675 |
676 | /available-typed-arrays@1.0.5:
677 | resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==}
678 | engines: {node: '>= 0.4'}
679 | dev: true
680 |
681 | /axe-core@4.7.0:
682 | resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==}
683 | engines: {node: '>=4'}
684 | dev: true
685 |
686 | /axobject-query@3.2.1:
687 | resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
688 | dependencies:
689 | dequal: 2.0.3
690 | dev: true
691 |
692 | /balanced-match@1.0.2:
693 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
694 |
695 | /binary-extensions@2.2.0:
696 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
697 | engines: {node: '>=8'}
698 | dev: true
699 |
700 | /body-scroll-lock@3.1.5:
701 | resolution: {integrity: sha512-Yi1Xaml0EvNA0OYWxXiYNqY24AfWkbA6w5vxE7GWxtKfzIbZM+Qw+aSmkgsbWzbHiy/RCSkUZBplVxTA+E4jJg==}
702 | dev: false
703 |
704 | /brace-expansion@1.1.11:
705 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
706 | dependencies:
707 | balanced-match: 1.0.2
708 | concat-map: 0.0.1
709 |
710 | /braces@3.0.2:
711 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
712 | engines: {node: '>=8'}
713 | dependencies:
714 | fill-range: 7.0.1
715 |
716 | /browserslist@4.22.1:
717 | resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==}
718 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
719 | hasBin: true
720 | dependencies:
721 | caniuse-lite: 1.0.30001564
722 | electron-to-chromium: 1.4.594
723 | node-releases: 2.0.13
724 | update-browserslist-db: 1.0.13(browserslist@4.22.1)
725 | dev: true
726 |
727 | /call-bind@1.0.5:
728 | resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==}
729 | dependencies:
730 | function-bind: 1.1.2
731 | get-intrinsic: 1.2.2
732 | set-function-length: 1.1.1
733 | dev: true
734 |
735 | /callsites@3.1.0:
736 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
737 | engines: {node: '>=6'}
738 |
739 | /camelcase-css@2.0.1:
740 | resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==}
741 | engines: {node: '>= 6'}
742 | dev: true
743 |
744 | /caniuse-lite@1.0.30001564:
745 | resolution: {integrity: sha512-DqAOf+rhof+6GVx1y+xzbFPeOumfQnhYzVnZD6LAXijR77yPtm9mfOcqOnT3mpnJiZVT+kwLAFnRlZcIz+c6bg==}
746 |
747 | /chalk@4.1.2:
748 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
749 | engines: {node: '>=10'}
750 | dependencies:
751 | ansi-styles: 4.3.0
752 | supports-color: 7.2.0
753 |
754 | /chokidar@3.5.3:
755 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
756 | engines: {node: '>= 8.10.0'}
757 | dependencies:
758 | anymatch: 3.1.3
759 | braces: 3.0.2
760 | glob-parent: 5.1.2
761 | is-binary-path: 2.1.0
762 | is-glob: 4.0.3
763 | normalize-path: 3.0.0
764 | readdirp: 3.6.0
765 | optionalDependencies:
766 | fsevents: 2.3.3
767 | dev: true
768 |
769 | /classnames@2.3.2:
770 | resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==}
771 | dev: false
772 |
773 | /client-only@0.0.1:
774 | resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
775 | dev: false
776 |
777 | /color-convert@2.0.1:
778 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
779 | engines: {node: '>=7.0.0'}
780 | dependencies:
781 | color-name: 1.1.4
782 |
783 | /color-name@1.1.4:
784 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
785 |
786 | /comlink@4.3.1:
787 | resolution: {integrity: sha512-+YbhUdNrpBZggBAHWcgQMLPLH1KDF3wJpeqrCKieWQ8RL7atmgsgTQko1XEBK6PsecfopWNntopJ+ByYG1lRaA==}
788 | dev: false
789 |
790 | /commander@4.1.1:
791 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
792 | engines: {node: '>= 6'}
793 | dev: true
794 |
795 | /concat-map@0.0.1:
796 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
797 |
798 | /cross-spawn@7.0.3:
799 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
800 | engines: {node: '>= 8'}
801 | dependencies:
802 | path-key: 3.1.1
803 | shebang-command: 2.0.0
804 | which: 2.0.2
805 |
806 | /cssesc@3.0.0:
807 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
808 | engines: {node: '>=4'}
809 | hasBin: true
810 | dev: true
811 |
812 | /csstype@3.1.2:
813 | resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==}
814 |
815 | /damerau-levenshtein@1.0.8:
816 | resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
817 | dev: true
818 |
819 | /debug@3.2.7:
820 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
821 | peerDependencies:
822 | supports-color: '*'
823 | peerDependenciesMeta:
824 | supports-color:
825 | optional: true
826 | dependencies:
827 | ms: 2.1.3
828 | dev: true
829 |
830 | /debug@4.3.4:
831 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
832 | engines: {node: '>=6.0'}
833 | peerDependencies:
834 | supports-color: '*'
835 | peerDependenciesMeta:
836 | supports-color:
837 | optional: true
838 | dependencies:
839 | ms: 2.1.2
840 |
841 | /deep-is@0.1.4:
842 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
843 |
844 | /define-data-property@1.1.1:
845 | resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==}
846 | engines: {node: '>= 0.4'}
847 | dependencies:
848 | get-intrinsic: 1.2.2
849 | gopd: 1.0.1
850 | has-property-descriptors: 1.0.1
851 | dev: true
852 |
853 | /define-properties@1.2.1:
854 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
855 | engines: {node: '>= 0.4'}
856 | dependencies:
857 | define-data-property: 1.1.1
858 | has-property-descriptors: 1.0.1
859 | object-keys: 1.1.1
860 | dev: true
861 |
862 | /dequal@2.0.3:
863 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
864 | engines: {node: '>=6'}
865 | dev: true
866 |
867 | /didyoumean@1.2.2:
868 | resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==}
869 | dev: true
870 |
871 | /dir-glob@3.0.1:
872 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
873 | engines: {node: '>=8'}
874 | dependencies:
875 | path-type: 4.0.0
876 |
877 | /dlv@1.1.3:
878 | resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==}
879 | dev: true
880 |
881 | /doctrine@2.1.0:
882 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
883 | engines: {node: '>=0.10.0'}
884 | dependencies:
885 | esutils: 2.0.3
886 | dev: true
887 |
888 | /doctrine@3.0.0:
889 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
890 | engines: {node: '>=6.0.0'}
891 | dependencies:
892 | esutils: 2.0.3
893 |
894 | /electron-to-chromium@1.4.594:
895 | resolution: {integrity: sha512-xT1HVAu5xFn7bDfkjGQi9dNpMqGchUkebwf1GL7cZN32NSwwlHRPMSDJ1KN6HkS0bWUtndbSQZqvpQftKG2uFQ==}
896 | dev: true
897 |
898 | /embd-webgpu@0.3.0:
899 | resolution: {integrity: sha512-HblIe8xnOTsJWiIIsg8YDsa4JKGptT9moW3NzQ2mXcaVVV0/PYWjUFtQfW4SmWpDi7QRo6Cj2O/XKu3OVp6P+Q==}
900 | dev: false
901 |
902 | /embd@0.5.0:
903 | resolution: {integrity: sha512-ww4jUv9gacISerMft7ArZZX6N0YegwQk1x8bfg+IE7MtpgB1Lys18PN5/4sP1MwAl3l/RjphGXrkUU1skKtgZg==}
904 | dependencies:
905 | comlink: 4.3.1
906 | embd-webgpu: 0.3.0
907 | idb: 7.1.1
908 | p-retry: 5.1.2
909 | true-myth: 6.2.0
910 | uuid: 9.0.1
911 | dev: false
912 |
913 | /emoji-regex@9.2.2:
914 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
915 | dev: true
916 |
917 | /enhanced-resolve@5.15.0:
918 | resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==}
919 | engines: {node: '>=10.13.0'}
920 | dependencies:
921 | graceful-fs: 4.2.11
922 | tapable: 2.2.1
923 | dev: true
924 |
925 | /es-abstract@1.22.3:
926 | resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==}
927 | engines: {node: '>= 0.4'}
928 | dependencies:
929 | array-buffer-byte-length: 1.0.0
930 | arraybuffer.prototype.slice: 1.0.2
931 | available-typed-arrays: 1.0.5
932 | call-bind: 1.0.5
933 | es-set-tostringtag: 2.0.2
934 | es-to-primitive: 1.2.1
935 | function.prototype.name: 1.1.6
936 | get-intrinsic: 1.2.2
937 | get-symbol-description: 1.0.0
938 | globalthis: 1.0.3
939 | gopd: 1.0.1
940 | has-property-descriptors: 1.0.1
941 | has-proto: 1.0.1
942 | has-symbols: 1.0.3
943 | hasown: 2.0.0
944 | internal-slot: 1.0.6
945 | is-array-buffer: 3.0.2
946 | is-callable: 1.2.7
947 | is-negative-zero: 2.0.2
948 | is-regex: 1.1.4
949 | is-shared-array-buffer: 1.0.2
950 | is-string: 1.0.7
951 | is-typed-array: 1.1.12
952 | is-weakref: 1.0.2
953 | object-inspect: 1.13.1
954 | object-keys: 1.1.1
955 | object.assign: 4.1.4
956 | regexp.prototype.flags: 1.5.1
957 | safe-array-concat: 1.0.1
958 | safe-regex-test: 1.0.0
959 | string.prototype.trim: 1.2.8
960 | string.prototype.trimend: 1.0.7
961 | string.prototype.trimstart: 1.0.7
962 | typed-array-buffer: 1.0.0
963 | typed-array-byte-length: 1.0.0
964 | typed-array-byte-offset: 1.0.0
965 | typed-array-length: 1.0.4
966 | unbox-primitive: 1.0.2
967 | which-typed-array: 1.1.13
968 | dev: true
969 |
970 | /es-iterator-helpers@1.0.15:
971 | resolution: {integrity: sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==}
972 | dependencies:
973 | asynciterator.prototype: 1.0.0
974 | call-bind: 1.0.5
975 | define-properties: 1.2.1
976 | es-abstract: 1.22.3
977 | es-set-tostringtag: 2.0.2
978 | function-bind: 1.1.2
979 | get-intrinsic: 1.2.2
980 | globalthis: 1.0.3
981 | has-property-descriptors: 1.0.1
982 | has-proto: 1.0.1
983 | has-symbols: 1.0.3
984 | internal-slot: 1.0.6
985 | iterator.prototype: 1.1.2
986 | safe-array-concat: 1.0.1
987 | dev: true
988 |
989 | /es-set-tostringtag@2.0.2:
990 | resolution: {integrity: sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==}
991 | engines: {node: '>= 0.4'}
992 | dependencies:
993 | get-intrinsic: 1.2.2
994 | has-tostringtag: 1.0.0
995 | hasown: 2.0.0
996 | dev: true
997 |
998 | /es-shim-unscopables@1.0.2:
999 | resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
1000 | dependencies:
1001 | hasown: 2.0.0
1002 | dev: true
1003 |
1004 | /es-to-primitive@1.2.1:
1005 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
1006 | engines: {node: '>= 0.4'}
1007 | dependencies:
1008 | is-callable: 1.2.7
1009 | is-date-object: 1.0.5
1010 | is-symbol: 1.0.4
1011 | dev: true
1012 |
1013 | /escalade@3.1.1:
1014 | resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
1015 | engines: {node: '>=6'}
1016 | dev: true
1017 |
1018 | /escape-string-regexp@4.0.0:
1019 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1020 | engines: {node: '>=10'}
1021 |
1022 | /eslint-config-next@13.0.5(eslint@8.28.0)(typescript@4.9.3):
1023 | resolution: {integrity: sha512-lge94W7ME6kNCO96eCykq5GbKbllzmcDNDhh1/llMCRgNPl0+GIQ8dOoM0I7uRQVW56VmTXFybJFXgow11a5pg==}
1024 | peerDependencies:
1025 | eslint: ^7.23.0 || ^8.0.0
1026 | typescript: '>=3.3.1'
1027 | peerDependenciesMeta:
1028 | typescript:
1029 | optional: true
1030 | dependencies:
1031 | '@next/eslint-plugin-next': 13.0.5
1032 | '@rushstack/eslint-patch': 1.6.0
1033 | '@typescript-eslint/parser': 5.62.0(eslint@8.28.0)(typescript@4.9.3)
1034 | eslint: 8.28.0
1035 | eslint-import-resolver-node: 0.3.9
1036 | eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.28.0)
1037 | eslint-plugin-import: 2.29.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.28.0)
1038 | eslint-plugin-jsx-a11y: 6.8.0(eslint@8.28.0)
1039 | eslint-plugin-react: 7.33.2(eslint@8.28.0)
1040 | eslint-plugin-react-hooks: 4.6.0(eslint@8.28.0)
1041 | typescript: 4.9.3
1042 | transitivePeerDependencies:
1043 | - eslint-import-resolver-webpack
1044 | - supports-color
1045 | dev: true
1046 |
1047 | /eslint-import-resolver-node@0.3.9:
1048 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
1049 | dependencies:
1050 | debug: 3.2.7
1051 | is-core-module: 2.13.1
1052 | resolve: 1.22.8
1053 | transitivePeerDependencies:
1054 | - supports-color
1055 | dev: true
1056 |
1057 | /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.28.0):
1058 | resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
1059 | engines: {node: ^14.18.0 || >=16.0.0}
1060 | peerDependencies:
1061 | eslint: '*'
1062 | eslint-plugin-import: '*'
1063 | dependencies:
1064 | debug: 4.3.4
1065 | enhanced-resolve: 5.15.0
1066 | eslint: 8.28.0
1067 | eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.28.0)
1068 | eslint-plugin-import: 2.29.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.28.0)
1069 | fast-glob: 3.3.2
1070 | get-tsconfig: 4.7.2
1071 | is-core-module: 2.13.1
1072 | is-glob: 4.0.3
1073 | transitivePeerDependencies:
1074 | - '@typescript-eslint/parser'
1075 | - eslint-import-resolver-node
1076 | - eslint-import-resolver-webpack
1077 | - supports-color
1078 | dev: true
1079 |
1080 | /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.28.0):
1081 | resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==}
1082 | engines: {node: '>=4'}
1083 | peerDependencies:
1084 | '@typescript-eslint/parser': '*'
1085 | eslint: '*'
1086 | eslint-import-resolver-node: '*'
1087 | eslint-import-resolver-typescript: '*'
1088 | eslint-import-resolver-webpack: '*'
1089 | peerDependenciesMeta:
1090 | '@typescript-eslint/parser':
1091 | optional: true
1092 | eslint:
1093 | optional: true
1094 | eslint-import-resolver-node:
1095 | optional: true
1096 | eslint-import-resolver-typescript:
1097 | optional: true
1098 | eslint-import-resolver-webpack:
1099 | optional: true
1100 | dependencies:
1101 | '@typescript-eslint/parser': 5.62.0(eslint@8.28.0)(typescript@4.9.3)
1102 | debug: 3.2.7
1103 | eslint: 8.28.0
1104 | eslint-import-resolver-node: 0.3.9
1105 | eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.29.0)(eslint@8.28.0)
1106 | transitivePeerDependencies:
1107 | - supports-color
1108 | dev: true
1109 |
1110 | /eslint-plugin-import@2.29.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.28.0):
1111 | resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==}
1112 | engines: {node: '>=4'}
1113 | peerDependencies:
1114 | '@typescript-eslint/parser': '*'
1115 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
1116 | peerDependenciesMeta:
1117 | '@typescript-eslint/parser':
1118 | optional: true
1119 | dependencies:
1120 | '@typescript-eslint/parser': 5.62.0(eslint@8.28.0)(typescript@4.9.3)
1121 | array-includes: 3.1.7
1122 | array.prototype.findlastindex: 1.2.3
1123 | array.prototype.flat: 1.3.2
1124 | array.prototype.flatmap: 1.3.2
1125 | debug: 3.2.7
1126 | doctrine: 2.1.0
1127 | eslint: 8.28.0
1128 | eslint-import-resolver-node: 0.3.9
1129 | eslint-module-utils: 2.8.0(@typescript-eslint/parser@5.62.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.28.0)
1130 | hasown: 2.0.0
1131 | is-core-module: 2.13.1
1132 | is-glob: 4.0.3
1133 | minimatch: 3.1.2
1134 | object.fromentries: 2.0.7
1135 | object.groupby: 1.0.1
1136 | object.values: 1.1.7
1137 | semver: 6.3.1
1138 | tsconfig-paths: 3.14.2
1139 | transitivePeerDependencies:
1140 | - eslint-import-resolver-typescript
1141 | - eslint-import-resolver-webpack
1142 | - supports-color
1143 | dev: true
1144 |
1145 | /eslint-plugin-jsx-a11y@6.8.0(eslint@8.28.0):
1146 | resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==}
1147 | engines: {node: '>=4.0'}
1148 | peerDependencies:
1149 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
1150 | dependencies:
1151 | '@babel/runtime': 7.23.4
1152 | aria-query: 5.3.0
1153 | array-includes: 3.1.7
1154 | array.prototype.flatmap: 1.3.2
1155 | ast-types-flow: 0.0.8
1156 | axe-core: 4.7.0
1157 | axobject-query: 3.2.1
1158 | damerau-levenshtein: 1.0.8
1159 | emoji-regex: 9.2.2
1160 | es-iterator-helpers: 1.0.15
1161 | eslint: 8.28.0
1162 | hasown: 2.0.0
1163 | jsx-ast-utils: 3.3.5
1164 | language-tags: 1.0.9
1165 | minimatch: 3.1.2
1166 | object.entries: 1.1.7
1167 | object.fromentries: 2.0.7
1168 | dev: true
1169 |
1170 | /eslint-plugin-react-hooks@4.6.0(eslint@8.28.0):
1171 | resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
1172 | engines: {node: '>=10'}
1173 | peerDependencies:
1174 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
1175 | dependencies:
1176 | eslint: 8.28.0
1177 | dev: true
1178 |
1179 | /eslint-plugin-react@7.33.2(eslint@8.28.0):
1180 | resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==}
1181 | engines: {node: '>=4'}
1182 | peerDependencies:
1183 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
1184 | dependencies:
1185 | array-includes: 3.1.7
1186 | array.prototype.flatmap: 1.3.2
1187 | array.prototype.tosorted: 1.1.2
1188 | doctrine: 2.1.0
1189 | es-iterator-helpers: 1.0.15
1190 | eslint: 8.28.0
1191 | estraverse: 5.3.0
1192 | jsx-ast-utils: 3.3.5
1193 | minimatch: 3.1.2
1194 | object.entries: 1.1.7
1195 | object.fromentries: 2.0.7
1196 | object.hasown: 1.1.3
1197 | object.values: 1.1.7
1198 | prop-types: 15.8.1
1199 | resolve: 2.0.0-next.5
1200 | semver: 6.3.1
1201 | string.prototype.matchall: 4.0.10
1202 | dev: true
1203 |
1204 | /eslint-scope@5.1.1:
1205 | resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
1206 | engines: {node: '>=8.0.0'}
1207 | dependencies:
1208 | esrecurse: 4.3.0
1209 | estraverse: 4.3.0
1210 | dev: false
1211 |
1212 | /eslint-scope@7.2.2:
1213 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
1214 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1215 | dependencies:
1216 | esrecurse: 4.3.0
1217 | estraverse: 5.3.0
1218 |
1219 | /eslint-utils@3.0.0(eslint@8.28.0):
1220 | resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
1221 | engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
1222 | peerDependencies:
1223 | eslint: '>=5'
1224 | dependencies:
1225 | eslint: 8.28.0
1226 | eslint-visitor-keys: 2.1.0
1227 |
1228 | /eslint-visitor-keys@2.1.0:
1229 | resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
1230 | engines: {node: '>=10'}
1231 |
1232 | /eslint-visitor-keys@3.4.3:
1233 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
1234 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1235 |
1236 | /eslint@8.28.0:
1237 | resolution: {integrity: sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==}
1238 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1239 | hasBin: true
1240 | dependencies:
1241 | '@eslint/eslintrc': 1.4.1
1242 | '@humanwhocodes/config-array': 0.11.13
1243 | '@humanwhocodes/module-importer': 1.0.1
1244 | '@nodelib/fs.walk': 1.2.8
1245 | ajv: 6.12.6
1246 | chalk: 4.1.2
1247 | cross-spawn: 7.0.3
1248 | debug: 4.3.4
1249 | doctrine: 3.0.0
1250 | escape-string-regexp: 4.0.0
1251 | eslint-scope: 7.2.2
1252 | eslint-utils: 3.0.0(eslint@8.28.0)
1253 | eslint-visitor-keys: 3.4.3
1254 | espree: 9.6.1
1255 | esquery: 1.5.0
1256 | esutils: 2.0.3
1257 | fast-deep-equal: 3.1.3
1258 | file-entry-cache: 6.0.1
1259 | find-up: 5.0.0
1260 | glob-parent: 6.0.2
1261 | globals: 13.23.0
1262 | grapheme-splitter: 1.0.4
1263 | ignore: 5.3.0
1264 | import-fresh: 3.3.0
1265 | imurmurhash: 0.1.4
1266 | is-glob: 4.0.3
1267 | is-path-inside: 3.0.3
1268 | js-sdsl: 4.4.2
1269 | js-yaml: 4.1.0
1270 | json-stable-stringify-without-jsonify: 1.0.1
1271 | levn: 0.4.1
1272 | lodash.merge: 4.6.2
1273 | minimatch: 3.1.2
1274 | natural-compare: 1.4.0
1275 | optionator: 0.9.3
1276 | regexpp: 3.2.0
1277 | strip-ansi: 6.0.1
1278 | strip-json-comments: 3.1.1
1279 | text-table: 0.2.0
1280 | transitivePeerDependencies:
1281 | - supports-color
1282 |
1283 | /espree@9.6.1:
1284 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
1285 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1286 | dependencies:
1287 | acorn: 8.11.2
1288 | acorn-jsx: 5.3.2(acorn@8.11.2)
1289 | eslint-visitor-keys: 3.4.3
1290 |
1291 | /esquery@1.5.0:
1292 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
1293 | engines: {node: '>=0.10'}
1294 | dependencies:
1295 | estraverse: 5.3.0
1296 |
1297 | /esrecurse@4.3.0:
1298 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1299 | engines: {node: '>=4.0'}
1300 | dependencies:
1301 | estraverse: 5.3.0
1302 |
1303 | /estraverse@4.3.0:
1304 | resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
1305 | engines: {node: '>=4.0'}
1306 | dev: false
1307 |
1308 | /estraverse@5.3.0:
1309 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1310 | engines: {node: '>=4.0'}
1311 |
1312 | /esutils@2.0.3:
1313 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1314 | engines: {node: '>=0.10.0'}
1315 |
1316 | /fast-deep-equal@3.1.3:
1317 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1318 |
1319 | /fast-glob@3.3.2:
1320 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
1321 | engines: {node: '>=8.6.0'}
1322 | dependencies:
1323 | '@nodelib/fs.stat': 2.0.5
1324 | '@nodelib/fs.walk': 1.2.8
1325 | glob-parent: 5.1.2
1326 | merge2: 1.4.1
1327 | micromatch: 4.0.5
1328 |
1329 | /fast-json-stable-stringify@2.1.0:
1330 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1331 |
1332 | /fast-levenshtein@2.0.6:
1333 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1334 |
1335 | /fastq@1.15.0:
1336 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
1337 | dependencies:
1338 | reusify: 1.0.4
1339 |
1340 | /file-entry-cache@6.0.1:
1341 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
1342 | engines: {node: ^10.12.0 || >=12.0.0}
1343 | dependencies:
1344 | flat-cache: 3.2.0
1345 |
1346 | /fill-range@7.0.1:
1347 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
1348 | engines: {node: '>=8'}
1349 | dependencies:
1350 | to-regex-range: 5.0.1
1351 |
1352 | /find-up@5.0.0:
1353 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1354 | engines: {node: '>=10'}
1355 | dependencies:
1356 | locate-path: 6.0.0
1357 | path-exists: 4.0.0
1358 |
1359 | /flat-cache@3.2.0:
1360 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
1361 | engines: {node: ^10.12.0 || >=12.0.0}
1362 | dependencies:
1363 | flatted: 3.2.9
1364 | keyv: 4.5.4
1365 | rimraf: 3.0.2
1366 |
1367 | /flatted@3.2.9:
1368 | resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
1369 |
1370 | /for-each@0.3.3:
1371 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
1372 | dependencies:
1373 | is-callable: 1.2.7
1374 | dev: true
1375 |
1376 | /fraction.js@4.3.7:
1377 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
1378 | dev: true
1379 |
1380 | /fs.realpath@1.0.0:
1381 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
1382 |
1383 | /fsevents@2.3.3:
1384 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1385 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1386 | os: [darwin]
1387 | requiresBuild: true
1388 | dev: true
1389 | optional: true
1390 |
1391 | /function-bind@1.1.2:
1392 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
1393 | dev: true
1394 |
1395 | /function.prototype.name@1.1.6:
1396 | resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
1397 | engines: {node: '>= 0.4'}
1398 | dependencies:
1399 | call-bind: 1.0.5
1400 | define-properties: 1.2.1
1401 | es-abstract: 1.22.3
1402 | functions-have-names: 1.2.3
1403 | dev: true
1404 |
1405 | /functions-have-names@1.2.3:
1406 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
1407 | dev: true
1408 |
1409 | /get-intrinsic@1.2.2:
1410 | resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==}
1411 | dependencies:
1412 | function-bind: 1.1.2
1413 | has-proto: 1.0.1
1414 | has-symbols: 1.0.3
1415 | hasown: 2.0.0
1416 | dev: true
1417 |
1418 | /get-symbol-description@1.0.0:
1419 | resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==}
1420 | engines: {node: '>= 0.4'}
1421 | dependencies:
1422 | call-bind: 1.0.5
1423 | get-intrinsic: 1.2.2
1424 | dev: true
1425 |
1426 | /get-tsconfig@4.7.2:
1427 | resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==}
1428 | dependencies:
1429 | resolve-pkg-maps: 1.0.0
1430 | dev: true
1431 |
1432 | /glob-parent@5.1.2:
1433 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1434 | engines: {node: '>= 6'}
1435 | dependencies:
1436 | is-glob: 4.0.3
1437 |
1438 | /glob-parent@6.0.2:
1439 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1440 | engines: {node: '>=10.13.0'}
1441 | dependencies:
1442 | is-glob: 4.0.3
1443 |
1444 | /glob@7.1.6:
1445 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
1446 | dependencies:
1447 | fs.realpath: 1.0.0
1448 | inflight: 1.0.6
1449 | inherits: 2.0.4
1450 | minimatch: 3.1.2
1451 | once: 1.4.0
1452 | path-is-absolute: 1.0.1
1453 | dev: true
1454 |
1455 | /glob@7.1.7:
1456 | resolution: {integrity: sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==}
1457 | dependencies:
1458 | fs.realpath: 1.0.0
1459 | inflight: 1.0.6
1460 | inherits: 2.0.4
1461 | minimatch: 3.1.2
1462 | once: 1.4.0
1463 | path-is-absolute: 1.0.1
1464 | dev: true
1465 |
1466 | /glob@7.2.3:
1467 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
1468 | dependencies:
1469 | fs.realpath: 1.0.0
1470 | inflight: 1.0.6
1471 | inherits: 2.0.4
1472 | minimatch: 3.1.2
1473 | once: 1.4.0
1474 | path-is-absolute: 1.0.1
1475 |
1476 | /globals@13.23.0:
1477 | resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==}
1478 | engines: {node: '>=8'}
1479 | dependencies:
1480 | type-fest: 0.20.2
1481 |
1482 | /globalthis@1.0.3:
1483 | resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
1484 | engines: {node: '>= 0.4'}
1485 | dependencies:
1486 | define-properties: 1.2.1
1487 | dev: true
1488 |
1489 | /globby@11.1.0:
1490 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
1491 | engines: {node: '>=10'}
1492 | dependencies:
1493 | array-union: 2.1.0
1494 | dir-glob: 3.0.1
1495 | fast-glob: 3.3.2
1496 | ignore: 5.3.0
1497 | merge2: 1.4.1
1498 | slash: 3.0.0
1499 |
1500 | /goober@2.1.13(csstype@3.1.2):
1501 | resolution: {integrity: sha512-jFj3BQeleOoy7t93E9rZ2de+ScC4lQICLwiAQmKMg9F6roKGaLSHoCDYKkWlSafg138jejvq/mTdvmnwDQgqoQ==}
1502 | peerDependencies:
1503 | csstype: ^3.0.10
1504 | dependencies:
1505 | csstype: 3.1.2
1506 | dev: false
1507 |
1508 | /gopd@1.0.1:
1509 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
1510 | dependencies:
1511 | get-intrinsic: 1.2.2
1512 | dev: true
1513 |
1514 | /graceful-fs@4.2.11:
1515 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1516 | dev: true
1517 |
1518 | /grapheme-splitter@1.0.4:
1519 | resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
1520 |
1521 | /graphemer@1.4.0:
1522 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1523 | dev: false
1524 |
1525 | /has-bigints@1.0.2:
1526 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
1527 | dev: true
1528 |
1529 | /has-flag@4.0.0:
1530 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1531 | engines: {node: '>=8'}
1532 |
1533 | /has-property-descriptors@1.0.1:
1534 | resolution: {integrity: sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==}
1535 | dependencies:
1536 | get-intrinsic: 1.2.2
1537 | dev: true
1538 |
1539 | /has-proto@1.0.1:
1540 | resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==}
1541 | engines: {node: '>= 0.4'}
1542 | dev: true
1543 |
1544 | /has-symbols@1.0.3:
1545 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
1546 | engines: {node: '>= 0.4'}
1547 | dev: true
1548 |
1549 | /has-tostringtag@1.0.0:
1550 | resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==}
1551 | engines: {node: '>= 0.4'}
1552 | dependencies:
1553 | has-symbols: 1.0.3
1554 | dev: true
1555 |
1556 | /hasown@2.0.0:
1557 | resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==}
1558 | engines: {node: '>= 0.4'}
1559 | dependencies:
1560 | function-bind: 1.1.2
1561 | dev: true
1562 |
1563 | /idb@7.1.1:
1564 | resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==}
1565 | dev: false
1566 |
1567 | /ignore@5.3.0:
1568 | resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
1569 | engines: {node: '>= 4'}
1570 |
1571 | /import-fresh@3.3.0:
1572 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1573 | engines: {node: '>=6'}
1574 | dependencies:
1575 | parent-module: 1.0.1
1576 | resolve-from: 4.0.0
1577 |
1578 | /imurmurhash@0.1.4:
1579 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1580 | engines: {node: '>=0.8.19'}
1581 |
1582 | /inflight@1.0.6:
1583 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
1584 | dependencies:
1585 | once: 1.4.0
1586 | wrappy: 1.0.2
1587 |
1588 | /inherits@2.0.4:
1589 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
1590 |
1591 | /internal-slot@1.0.6:
1592 | resolution: {integrity: sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==}
1593 | engines: {node: '>= 0.4'}
1594 | dependencies:
1595 | get-intrinsic: 1.2.2
1596 | hasown: 2.0.0
1597 | side-channel: 1.0.4
1598 | dev: true
1599 |
1600 | /is-array-buffer@3.0.2:
1601 | resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==}
1602 | dependencies:
1603 | call-bind: 1.0.5
1604 | get-intrinsic: 1.2.2
1605 | is-typed-array: 1.1.12
1606 | dev: true
1607 |
1608 | /is-async-function@2.0.0:
1609 | resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
1610 | engines: {node: '>= 0.4'}
1611 | dependencies:
1612 | has-tostringtag: 1.0.0
1613 | dev: true
1614 |
1615 | /is-bigint@1.0.4:
1616 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
1617 | dependencies:
1618 | has-bigints: 1.0.2
1619 | dev: true
1620 |
1621 | /is-binary-path@2.1.0:
1622 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
1623 | engines: {node: '>=8'}
1624 | dependencies:
1625 | binary-extensions: 2.2.0
1626 | dev: true
1627 |
1628 | /is-boolean-object@1.1.2:
1629 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
1630 | engines: {node: '>= 0.4'}
1631 | dependencies:
1632 | call-bind: 1.0.5
1633 | has-tostringtag: 1.0.0
1634 | dev: true
1635 |
1636 | /is-callable@1.2.7:
1637 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
1638 | engines: {node: '>= 0.4'}
1639 | dev: true
1640 |
1641 | /is-core-module@2.13.1:
1642 | resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
1643 | dependencies:
1644 | hasown: 2.0.0
1645 | dev: true
1646 |
1647 | /is-date-object@1.0.5:
1648 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
1649 | engines: {node: '>= 0.4'}
1650 | dependencies:
1651 | has-tostringtag: 1.0.0
1652 | dev: true
1653 |
1654 | /is-extglob@2.1.1:
1655 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1656 | engines: {node: '>=0.10.0'}
1657 |
1658 | /is-finalizationregistry@1.0.2:
1659 | resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
1660 | dependencies:
1661 | call-bind: 1.0.5
1662 | dev: true
1663 |
1664 | /is-generator-function@1.0.10:
1665 | resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
1666 | engines: {node: '>= 0.4'}
1667 | dependencies:
1668 | has-tostringtag: 1.0.0
1669 | dev: true
1670 |
1671 | /is-glob@4.0.3:
1672 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1673 | engines: {node: '>=0.10.0'}
1674 | dependencies:
1675 | is-extglob: 2.1.1
1676 |
1677 | /is-map@2.0.2:
1678 | resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==}
1679 | dev: true
1680 |
1681 | /is-negative-zero@2.0.2:
1682 | resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==}
1683 | engines: {node: '>= 0.4'}
1684 | dev: true
1685 |
1686 | /is-number-object@1.0.7:
1687 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
1688 | engines: {node: '>= 0.4'}
1689 | dependencies:
1690 | has-tostringtag: 1.0.0
1691 | dev: true
1692 |
1693 | /is-number@7.0.0:
1694 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1695 | engines: {node: '>=0.12.0'}
1696 |
1697 | /is-path-inside@3.0.3:
1698 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
1699 | engines: {node: '>=8'}
1700 |
1701 | /is-regex@1.1.4:
1702 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
1703 | engines: {node: '>= 0.4'}
1704 | dependencies:
1705 | call-bind: 1.0.5
1706 | has-tostringtag: 1.0.0
1707 | dev: true
1708 |
1709 | /is-set@2.0.2:
1710 | resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==}
1711 | dev: true
1712 |
1713 | /is-shared-array-buffer@1.0.2:
1714 | resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==}
1715 | dependencies:
1716 | call-bind: 1.0.5
1717 | dev: true
1718 |
1719 | /is-string@1.0.7:
1720 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
1721 | engines: {node: '>= 0.4'}
1722 | dependencies:
1723 | has-tostringtag: 1.0.0
1724 | dev: true
1725 |
1726 | /is-symbol@1.0.4:
1727 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
1728 | engines: {node: '>= 0.4'}
1729 | dependencies:
1730 | has-symbols: 1.0.3
1731 | dev: true
1732 |
1733 | /is-typed-array@1.1.12:
1734 | resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==}
1735 | engines: {node: '>= 0.4'}
1736 | dependencies:
1737 | which-typed-array: 1.1.13
1738 | dev: true
1739 |
1740 | /is-weakmap@2.0.1:
1741 | resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==}
1742 | dev: true
1743 |
1744 | /is-weakref@1.0.2:
1745 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
1746 | dependencies:
1747 | call-bind: 1.0.5
1748 | dev: true
1749 |
1750 | /is-weakset@2.0.2:
1751 | resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==}
1752 | dependencies:
1753 | call-bind: 1.0.5
1754 | get-intrinsic: 1.2.2
1755 | dev: true
1756 |
1757 | /isarray@2.0.5:
1758 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
1759 | dev: true
1760 |
1761 | /isexe@2.0.0:
1762 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1763 |
1764 | /iterator.prototype@1.1.2:
1765 | resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
1766 | dependencies:
1767 | define-properties: 1.2.1
1768 | get-intrinsic: 1.2.2
1769 | has-symbols: 1.0.3
1770 | reflect.getprototypeof: 1.0.4
1771 | set-function-name: 2.0.1
1772 | dev: true
1773 |
1774 | /jiti@1.21.0:
1775 | resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==}
1776 | hasBin: true
1777 | dev: true
1778 |
1779 | /js-sdsl@4.4.2:
1780 | resolution: {integrity: sha512-dwXFwByc/ajSV6m5bcKAPwe4yDDF6D614pxmIi5odytzxRlwqF6nwoiCek80Ixc7Cvma5awClxrzFtxCQvcM8w==}
1781 |
1782 | /js-tokens@4.0.0:
1783 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1784 |
1785 | /js-yaml@4.1.0:
1786 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1787 | hasBin: true
1788 | dependencies:
1789 | argparse: 2.0.1
1790 |
1791 | /json-buffer@3.0.1:
1792 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
1793 |
1794 | /json-schema-traverse@0.4.1:
1795 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1796 |
1797 | /json-stable-stringify-without-jsonify@1.0.1:
1798 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1799 |
1800 | /json5@1.0.2:
1801 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
1802 | hasBin: true
1803 | dependencies:
1804 | minimist: 1.2.8
1805 | dev: true
1806 |
1807 | /jsx-ast-utils@3.3.5:
1808 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
1809 | engines: {node: '>=4.0'}
1810 | dependencies:
1811 | array-includes: 3.1.7
1812 | array.prototype.flat: 1.3.2
1813 | object.assign: 4.1.4
1814 | object.values: 1.1.7
1815 | dev: true
1816 |
1817 | /keyv@4.5.4:
1818 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
1819 | dependencies:
1820 | json-buffer: 3.0.1
1821 |
1822 | /language-subtag-registry@0.3.22:
1823 | resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
1824 | dev: true
1825 |
1826 | /language-tags@1.0.9:
1827 | resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
1828 | engines: {node: '>=0.10'}
1829 | dependencies:
1830 | language-subtag-registry: 0.3.22
1831 | dev: true
1832 |
1833 | /levn@0.4.1:
1834 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1835 | engines: {node: '>= 0.8.0'}
1836 | dependencies:
1837 | prelude-ls: 1.2.1
1838 | type-check: 0.4.0
1839 |
1840 | /lilconfig@2.1.0:
1841 | resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
1842 | engines: {node: '>=10'}
1843 | dev: true
1844 |
1845 | /lilconfig@3.0.0:
1846 | resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==}
1847 | engines: {node: '>=14'}
1848 | dev: true
1849 |
1850 | /lines-and-columns@1.2.4:
1851 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1852 | dev: true
1853 |
1854 | /locate-path@6.0.0:
1855 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1856 | engines: {node: '>=10'}
1857 | dependencies:
1858 | p-locate: 5.0.0
1859 |
1860 | /lodash.castarray@4.4.0:
1861 | resolution: {integrity: sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q==}
1862 | dev: true
1863 |
1864 | /lodash.isplainobject@4.0.6:
1865 | resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==}
1866 | dev: true
1867 |
1868 | /lodash.merge@4.6.2:
1869 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1870 |
1871 | /loose-envify@1.4.0:
1872 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1873 | hasBin: true
1874 | dependencies:
1875 | js-tokens: 4.0.0
1876 |
1877 | /lru-cache@6.0.0:
1878 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
1879 | engines: {node: '>=10'}
1880 | dependencies:
1881 | yallist: 4.0.0
1882 |
1883 | /merge2@1.4.1:
1884 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1885 | engines: {node: '>= 8'}
1886 |
1887 | /micromatch@4.0.5:
1888 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
1889 | engines: {node: '>=8.6'}
1890 | dependencies:
1891 | braces: 3.0.2
1892 | picomatch: 2.3.1
1893 |
1894 | /minimatch@3.1.2:
1895 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1896 | dependencies:
1897 | brace-expansion: 1.1.11
1898 |
1899 | /minimist@1.2.8:
1900 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
1901 | dev: true
1902 |
1903 | /ms@2.1.2:
1904 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
1905 |
1906 | /ms@2.1.3:
1907 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1908 | dev: true
1909 |
1910 | /mz@2.7.0:
1911 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
1912 | dependencies:
1913 | any-promise: 1.3.0
1914 | object-assign: 4.1.1
1915 | thenify-all: 1.6.0
1916 | dev: true
1917 |
1918 | /nanoid@3.3.7:
1919 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
1920 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1921 | hasBin: true
1922 |
1923 | /natural-compare-lite@1.4.0:
1924 | resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
1925 | dev: false
1926 |
1927 | /natural-compare@1.4.0:
1928 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1929 |
1930 | /next@13.1.0(react-dom@18.2.0)(react@18.2.0):
1931 | resolution: {integrity: sha512-lQMZH1V94L5IL/WaihQkTYabSY73aqgrkGPJB5uz+2O3ES4I3losV/maXLY7l7x5e+oNyE9N81upNQ8uRsR5/A==}
1932 | engines: {node: '>=14.6.0'}
1933 | hasBin: true
1934 | peerDependencies:
1935 | fibers: '>= 3.1.0'
1936 | node-sass: ^6.0.0 || ^7.0.0
1937 | react: ^18.2.0
1938 | react-dom: ^18.2.0
1939 | sass: ^1.3.0
1940 | peerDependenciesMeta:
1941 | fibers:
1942 | optional: true
1943 | node-sass:
1944 | optional: true
1945 | sass:
1946 | optional: true
1947 | dependencies:
1948 | '@next/env': 13.1.0
1949 | '@swc/helpers': 0.4.14
1950 | caniuse-lite: 1.0.30001564
1951 | postcss: 8.4.14
1952 | react: 18.2.0
1953 | react-dom: 18.2.0(react@18.2.0)
1954 | styled-jsx: 5.1.1(react@18.2.0)
1955 | optionalDependencies:
1956 | '@next/swc-android-arm-eabi': 13.1.0
1957 | '@next/swc-android-arm64': 13.1.0
1958 | '@next/swc-darwin-arm64': 13.1.0
1959 | '@next/swc-darwin-x64': 13.1.0
1960 | '@next/swc-freebsd-x64': 13.1.0
1961 | '@next/swc-linux-arm-gnueabihf': 13.1.0
1962 | '@next/swc-linux-arm64-gnu': 13.1.0
1963 | '@next/swc-linux-arm64-musl': 13.1.0
1964 | '@next/swc-linux-x64-gnu': 13.1.0
1965 | '@next/swc-linux-x64-musl': 13.1.0
1966 | '@next/swc-win32-arm64-msvc': 13.1.0
1967 | '@next/swc-win32-ia32-msvc': 13.1.0
1968 | '@next/swc-win32-x64-msvc': 13.1.0
1969 | transitivePeerDependencies:
1970 | - '@babel/core'
1971 | - babel-plugin-macros
1972 | dev: false
1973 |
1974 | /node-releases@2.0.13:
1975 | resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==}
1976 | dev: true
1977 |
1978 | /normalize-path@3.0.0:
1979 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
1980 | engines: {node: '>=0.10.0'}
1981 | dev: true
1982 |
1983 | /normalize-range@0.1.2:
1984 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
1985 | engines: {node: '>=0.10.0'}
1986 | dev: true
1987 |
1988 | /object-assign@4.1.1:
1989 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1990 | engines: {node: '>=0.10.0'}
1991 | dev: true
1992 |
1993 | /object-hash@3.0.0:
1994 | resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==}
1995 | engines: {node: '>= 6'}
1996 | dev: true
1997 |
1998 | /object-inspect@1.13.1:
1999 | resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
2000 | dev: true
2001 |
2002 | /object-keys@1.1.1:
2003 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
2004 | engines: {node: '>= 0.4'}
2005 | dev: true
2006 |
2007 | /object.assign@4.1.4:
2008 | resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==}
2009 | engines: {node: '>= 0.4'}
2010 | dependencies:
2011 | call-bind: 1.0.5
2012 | define-properties: 1.2.1
2013 | has-symbols: 1.0.3
2014 | object-keys: 1.1.1
2015 | dev: true
2016 |
2017 | /object.entries@1.1.7:
2018 | resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==}
2019 | engines: {node: '>= 0.4'}
2020 | dependencies:
2021 | call-bind: 1.0.5
2022 | define-properties: 1.2.1
2023 | es-abstract: 1.22.3
2024 | dev: true
2025 |
2026 | /object.fromentries@2.0.7:
2027 | resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==}
2028 | engines: {node: '>= 0.4'}
2029 | dependencies:
2030 | call-bind: 1.0.5
2031 | define-properties: 1.2.1
2032 | es-abstract: 1.22.3
2033 | dev: true
2034 |
2035 | /object.groupby@1.0.1:
2036 | resolution: {integrity: sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==}
2037 | dependencies:
2038 | call-bind: 1.0.5
2039 | define-properties: 1.2.1
2040 | es-abstract: 1.22.3
2041 | get-intrinsic: 1.2.2
2042 | dev: true
2043 |
2044 | /object.hasown@1.1.3:
2045 | resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==}
2046 | dependencies:
2047 | define-properties: 1.2.1
2048 | es-abstract: 1.22.3
2049 | dev: true
2050 |
2051 | /object.values@1.1.7:
2052 | resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==}
2053 | engines: {node: '>= 0.4'}
2054 | dependencies:
2055 | call-bind: 1.0.5
2056 | define-properties: 1.2.1
2057 | es-abstract: 1.22.3
2058 | dev: true
2059 |
2060 | /once@1.4.0:
2061 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
2062 | dependencies:
2063 | wrappy: 1.0.2
2064 |
2065 | /optionator@0.9.3:
2066 | resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
2067 | engines: {node: '>= 0.8.0'}
2068 | dependencies:
2069 | '@aashutoshrathi/word-wrap': 1.2.6
2070 | deep-is: 0.1.4
2071 | fast-levenshtein: 2.0.6
2072 | levn: 0.4.1
2073 | prelude-ls: 1.2.1
2074 | type-check: 0.4.0
2075 |
2076 | /p-limit@3.1.0:
2077 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
2078 | engines: {node: '>=10'}
2079 | dependencies:
2080 | yocto-queue: 0.1.0
2081 |
2082 | /p-locate@5.0.0:
2083 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
2084 | engines: {node: '>=10'}
2085 | dependencies:
2086 | p-limit: 3.1.0
2087 |
2088 | /p-retry@5.1.2:
2089 | resolution: {integrity: sha512-couX95waDu98NfNZV+i/iLt+fdVxmI7CbrrdC2uDWfPdUAApyxT4wmDlyOtR5KtTDmkDO0zDScDjDou9YHhd9g==}
2090 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
2091 | dependencies:
2092 | '@types/retry': 0.12.1
2093 | retry: 0.13.1
2094 | dev: false
2095 |
2096 | /parent-module@1.0.1:
2097 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
2098 | engines: {node: '>=6'}
2099 | dependencies:
2100 | callsites: 3.1.0
2101 |
2102 | /path-exists@4.0.0:
2103 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
2104 | engines: {node: '>=8'}
2105 |
2106 | /path-is-absolute@1.0.1:
2107 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
2108 | engines: {node: '>=0.10.0'}
2109 |
2110 | /path-key@3.1.1:
2111 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
2112 | engines: {node: '>=8'}
2113 |
2114 | /path-parse@1.0.7:
2115 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
2116 | dev: true
2117 |
2118 | /path-type@4.0.0:
2119 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
2120 | engines: {node: '>=8'}
2121 |
2122 | /picocolors@1.0.0:
2123 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
2124 |
2125 | /picomatch@2.3.1:
2126 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
2127 | engines: {node: '>=8.6'}
2128 |
2129 | /pify@2.3.0:
2130 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==}
2131 | engines: {node: '>=0.10.0'}
2132 | dev: true
2133 |
2134 | /pirates@4.0.6:
2135 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
2136 | engines: {node: '>= 6'}
2137 | dev: true
2138 |
2139 | /postcss-import@15.1.0(postcss@8.4.31):
2140 | resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==}
2141 | engines: {node: '>=14.0.0'}
2142 | peerDependencies:
2143 | postcss: ^8.0.0
2144 | dependencies:
2145 | postcss: 8.4.31
2146 | postcss-value-parser: 4.2.0
2147 | read-cache: 1.0.0
2148 | resolve: 1.22.8
2149 | dev: true
2150 |
2151 | /postcss-js@4.0.1(postcss@8.4.31):
2152 | resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==}
2153 | engines: {node: ^12 || ^14 || >= 16}
2154 | peerDependencies:
2155 | postcss: ^8.4.21
2156 | dependencies:
2157 | camelcase-css: 2.0.1
2158 | postcss: 8.4.31
2159 | dev: true
2160 |
2161 | /postcss-load-config@4.0.2(postcss@8.4.31):
2162 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==}
2163 | engines: {node: '>= 14'}
2164 | peerDependencies:
2165 | postcss: '>=8.0.9'
2166 | ts-node: '>=9.0.0'
2167 | peerDependenciesMeta:
2168 | postcss:
2169 | optional: true
2170 | ts-node:
2171 | optional: true
2172 | dependencies:
2173 | lilconfig: 3.0.0
2174 | postcss: 8.4.31
2175 | yaml: 2.3.4
2176 | dev: true
2177 |
2178 | /postcss-nested@6.0.1(postcss@8.4.31):
2179 | resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==}
2180 | engines: {node: '>=12.0'}
2181 | peerDependencies:
2182 | postcss: ^8.2.14
2183 | dependencies:
2184 | postcss: 8.4.31
2185 | postcss-selector-parser: 6.0.13
2186 | dev: true
2187 |
2188 | /postcss-selector-parser@6.0.10:
2189 | resolution: {integrity: sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==}
2190 | engines: {node: '>=4'}
2191 | dependencies:
2192 | cssesc: 3.0.0
2193 | util-deprecate: 1.0.2
2194 | dev: true
2195 |
2196 | /postcss-selector-parser@6.0.13:
2197 | resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==}
2198 | engines: {node: '>=4'}
2199 | dependencies:
2200 | cssesc: 3.0.0
2201 | util-deprecate: 1.0.2
2202 | dev: true
2203 |
2204 | /postcss-value-parser@4.2.0:
2205 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
2206 | dev: true
2207 |
2208 | /postcss@8.4.14:
2209 | resolution: {integrity: sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==}
2210 | engines: {node: ^10 || ^12 || >=14}
2211 | dependencies:
2212 | nanoid: 3.3.7
2213 | picocolors: 1.0.0
2214 | source-map-js: 1.0.2
2215 | dev: false
2216 |
2217 | /postcss@8.4.31:
2218 | resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
2219 | engines: {node: ^10 || ^12 || >=14}
2220 | dependencies:
2221 | nanoid: 3.3.7
2222 | picocolors: 1.0.0
2223 | source-map-js: 1.0.2
2224 | dev: true
2225 |
2226 | /prelude-ls@1.2.1:
2227 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
2228 | engines: {node: '>= 0.8.0'}
2229 |
2230 | /prop-types@15.8.1:
2231 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
2232 | dependencies:
2233 | loose-envify: 1.4.0
2234 | object-assign: 4.1.1
2235 | react-is: 16.13.1
2236 | dev: true
2237 |
2238 | /punycode@2.3.1:
2239 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
2240 | engines: {node: '>=6'}
2241 |
2242 | /queue-microtask@1.2.3:
2243 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
2244 |
2245 | /react-dom@18.2.0(react@18.2.0):
2246 | resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
2247 | peerDependencies:
2248 | react: ^18.2.0
2249 | dependencies:
2250 | loose-envify: 1.4.0
2251 | react: 18.2.0
2252 | scheduler: 0.23.0
2253 | dev: false
2254 |
2255 | /react-hot-toast@2.4.1(csstype@3.1.2)(react-dom@18.2.0)(react@18.2.0):
2256 | resolution: {integrity: sha512-j8z+cQbWIM5LY37pR6uZR6D4LfseplqnuAO4co4u8917hBUvXlEqyP1ZzqVLcqoyUesZZv/ImreoCeHVDpE5pQ==}
2257 | engines: {node: '>=10'}
2258 | peerDependencies:
2259 | react: '>=16'
2260 | react-dom: '>=16'
2261 | dependencies:
2262 | goober: 2.1.13(csstype@3.1.2)
2263 | react: 18.2.0
2264 | react-dom: 18.2.0(react@18.2.0)
2265 | transitivePeerDependencies:
2266 | - csstype
2267 | dev: false
2268 |
2269 | /react-is@16.13.1:
2270 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
2271 | dev: true
2272 |
2273 | /react-responsive-modal@6.4.2(react-dom@18.2.0)(react@18.2.0):
2274 | resolution: {integrity: sha512-ARjGEKE5Gu5CSvyA8U9ARVbtK4SMAtdXsjtzwtxRlQIHC99RQTnOUctLpl7+/sp1Kg1OJZ6yqvp6ivd4TBueEw==}
2275 | peerDependencies:
2276 | react: ^16.8.0 || ^17 || ^18
2277 | react-dom: ^16.8.0 || ^17 || ^18
2278 | dependencies:
2279 | '@bedrock-layout/use-forwarded-ref': 1.6.1(react@18.2.0)
2280 | body-scroll-lock: 3.1.5
2281 | classnames: 2.3.2
2282 | react: 18.2.0
2283 | react-dom: 18.2.0(react@18.2.0)
2284 | dev: false
2285 |
2286 | /react@18.2.0:
2287 | resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
2288 | engines: {node: '>=0.10.0'}
2289 | dependencies:
2290 | loose-envify: 1.4.0
2291 | dev: false
2292 |
2293 | /read-cache@1.0.0:
2294 | resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==}
2295 | dependencies:
2296 | pify: 2.3.0
2297 | dev: true
2298 |
2299 | /readdirp@3.6.0:
2300 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
2301 | engines: {node: '>=8.10.0'}
2302 | dependencies:
2303 | picomatch: 2.3.1
2304 | dev: true
2305 |
2306 | /reflect.getprototypeof@1.0.4:
2307 | resolution: {integrity: sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==}
2308 | engines: {node: '>= 0.4'}
2309 | dependencies:
2310 | call-bind: 1.0.5
2311 | define-properties: 1.2.1
2312 | es-abstract: 1.22.3
2313 | get-intrinsic: 1.2.2
2314 | globalthis: 1.0.3
2315 | which-builtin-type: 1.1.3
2316 | dev: true
2317 |
2318 | /regenerator-runtime@0.14.0:
2319 | resolution: {integrity: sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==}
2320 | dev: true
2321 |
2322 | /regexp.prototype.flags@1.5.1:
2323 | resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==}
2324 | engines: {node: '>= 0.4'}
2325 | dependencies:
2326 | call-bind: 1.0.5
2327 | define-properties: 1.2.1
2328 | set-function-name: 2.0.1
2329 | dev: true
2330 |
2331 | /regexpp@3.2.0:
2332 | resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
2333 | engines: {node: '>=8'}
2334 |
2335 | /resolve-from@4.0.0:
2336 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
2337 | engines: {node: '>=4'}
2338 |
2339 | /resolve-pkg-maps@1.0.0:
2340 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
2341 | dev: true
2342 |
2343 | /resolve@1.22.8:
2344 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
2345 | hasBin: true
2346 | dependencies:
2347 | is-core-module: 2.13.1
2348 | path-parse: 1.0.7
2349 | supports-preserve-symlinks-flag: 1.0.0
2350 | dev: true
2351 |
2352 | /resolve@2.0.0-next.5:
2353 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
2354 | hasBin: true
2355 | dependencies:
2356 | is-core-module: 2.13.1
2357 | path-parse: 1.0.7
2358 | supports-preserve-symlinks-flag: 1.0.0
2359 | dev: true
2360 |
2361 | /retry@0.13.1:
2362 | resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
2363 | engines: {node: '>= 4'}
2364 | dev: false
2365 |
2366 | /reusify@1.0.4:
2367 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
2368 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
2369 |
2370 | /rimraf@3.0.2:
2371 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
2372 | hasBin: true
2373 | dependencies:
2374 | glob: 7.2.3
2375 |
2376 | /run-parallel@1.2.0:
2377 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
2378 | dependencies:
2379 | queue-microtask: 1.2.3
2380 |
2381 | /safe-array-concat@1.0.1:
2382 | resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==}
2383 | engines: {node: '>=0.4'}
2384 | dependencies:
2385 | call-bind: 1.0.5
2386 | get-intrinsic: 1.2.2
2387 | has-symbols: 1.0.3
2388 | isarray: 2.0.5
2389 | dev: true
2390 |
2391 | /safe-regex-test@1.0.0:
2392 | resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==}
2393 | dependencies:
2394 | call-bind: 1.0.5
2395 | get-intrinsic: 1.2.2
2396 | is-regex: 1.1.4
2397 | dev: true
2398 |
2399 | /scheduler@0.23.0:
2400 | resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
2401 | dependencies:
2402 | loose-envify: 1.4.0
2403 | dev: false
2404 |
2405 | /semver@6.3.1:
2406 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
2407 | hasBin: true
2408 | dev: true
2409 |
2410 | /semver@7.5.4:
2411 | resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
2412 | engines: {node: '>=10'}
2413 | hasBin: true
2414 | dependencies:
2415 | lru-cache: 6.0.0
2416 |
2417 | /set-function-length@1.1.1:
2418 | resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==}
2419 | engines: {node: '>= 0.4'}
2420 | dependencies:
2421 | define-data-property: 1.1.1
2422 | get-intrinsic: 1.2.2
2423 | gopd: 1.0.1
2424 | has-property-descriptors: 1.0.1
2425 | dev: true
2426 |
2427 | /set-function-name@2.0.1:
2428 | resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==}
2429 | engines: {node: '>= 0.4'}
2430 | dependencies:
2431 | define-data-property: 1.1.1
2432 | functions-have-names: 1.2.3
2433 | has-property-descriptors: 1.0.1
2434 | dev: true
2435 |
2436 | /shebang-command@2.0.0:
2437 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2438 | engines: {node: '>=8'}
2439 | dependencies:
2440 | shebang-regex: 3.0.0
2441 |
2442 | /shebang-regex@3.0.0:
2443 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2444 | engines: {node: '>=8'}
2445 |
2446 | /side-channel@1.0.4:
2447 | resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==}
2448 | dependencies:
2449 | call-bind: 1.0.5
2450 | get-intrinsic: 1.2.2
2451 | object-inspect: 1.13.1
2452 | dev: true
2453 |
2454 | /slash@3.0.0:
2455 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
2456 | engines: {node: '>=8'}
2457 |
2458 | /source-map-js@1.0.2:
2459 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
2460 | engines: {node: '>=0.10.0'}
2461 |
2462 | /string.prototype.matchall@4.0.10:
2463 | resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==}
2464 | dependencies:
2465 | call-bind: 1.0.5
2466 | define-properties: 1.2.1
2467 | es-abstract: 1.22.3
2468 | get-intrinsic: 1.2.2
2469 | has-symbols: 1.0.3
2470 | internal-slot: 1.0.6
2471 | regexp.prototype.flags: 1.5.1
2472 | set-function-name: 2.0.1
2473 | side-channel: 1.0.4
2474 | dev: true
2475 |
2476 | /string.prototype.trim@1.2.8:
2477 | resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==}
2478 | engines: {node: '>= 0.4'}
2479 | dependencies:
2480 | call-bind: 1.0.5
2481 | define-properties: 1.2.1
2482 | es-abstract: 1.22.3
2483 | dev: true
2484 |
2485 | /string.prototype.trimend@1.0.7:
2486 | resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==}
2487 | dependencies:
2488 | call-bind: 1.0.5
2489 | define-properties: 1.2.1
2490 | es-abstract: 1.22.3
2491 | dev: true
2492 |
2493 | /string.prototype.trimstart@1.0.7:
2494 | resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==}
2495 | dependencies:
2496 | call-bind: 1.0.5
2497 | define-properties: 1.2.1
2498 | es-abstract: 1.22.3
2499 | dev: true
2500 |
2501 | /strip-ansi@6.0.1:
2502 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
2503 | engines: {node: '>=8'}
2504 | dependencies:
2505 | ansi-regex: 5.0.1
2506 |
2507 | /strip-bom@3.0.0:
2508 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
2509 | engines: {node: '>=4'}
2510 | dev: true
2511 |
2512 | /strip-json-comments@3.1.1:
2513 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
2514 | engines: {node: '>=8'}
2515 |
2516 | /styled-jsx@5.1.1(react@18.2.0):
2517 | resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==}
2518 | engines: {node: '>= 12.0.0'}
2519 | peerDependencies:
2520 | '@babel/core': '*'
2521 | babel-plugin-macros: '*'
2522 | react: '>= 16.8.0 || 17.x.x || ^18.0.0-0'
2523 | peerDependenciesMeta:
2524 | '@babel/core':
2525 | optional: true
2526 | babel-plugin-macros:
2527 | optional: true
2528 | dependencies:
2529 | client-only: 0.0.1
2530 | react: 18.2.0
2531 | dev: false
2532 |
2533 | /sucrase@3.34.0:
2534 | resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==}
2535 | engines: {node: '>=8'}
2536 | hasBin: true
2537 | dependencies:
2538 | '@jridgewell/gen-mapping': 0.3.3
2539 | commander: 4.1.1
2540 | glob: 7.1.6
2541 | lines-and-columns: 1.2.4
2542 | mz: 2.7.0
2543 | pirates: 4.0.6
2544 | ts-interface-checker: 0.1.13
2545 | dev: true
2546 |
2547 | /supports-color@7.2.0:
2548 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2549 | engines: {node: '>=8'}
2550 | dependencies:
2551 | has-flag: 4.0.0
2552 |
2553 | /supports-preserve-symlinks-flag@1.0.0:
2554 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2555 | engines: {node: '>= 0.4'}
2556 | dev: true
2557 |
2558 | /tailwindcss@3.3.5:
2559 | resolution: {integrity: sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==}
2560 | engines: {node: '>=14.0.0'}
2561 | hasBin: true
2562 | dependencies:
2563 | '@alloc/quick-lru': 5.2.0
2564 | arg: 5.0.2
2565 | chokidar: 3.5.3
2566 | didyoumean: 1.2.2
2567 | dlv: 1.1.3
2568 | fast-glob: 3.3.2
2569 | glob-parent: 6.0.2
2570 | is-glob: 4.0.3
2571 | jiti: 1.21.0
2572 | lilconfig: 2.1.0
2573 | micromatch: 4.0.5
2574 | normalize-path: 3.0.0
2575 | object-hash: 3.0.0
2576 | picocolors: 1.0.0
2577 | postcss: 8.4.31
2578 | postcss-import: 15.1.0(postcss@8.4.31)
2579 | postcss-js: 4.0.1(postcss@8.4.31)
2580 | postcss-load-config: 4.0.2(postcss@8.4.31)
2581 | postcss-nested: 6.0.1(postcss@8.4.31)
2582 | postcss-selector-parser: 6.0.13
2583 | resolve: 1.22.8
2584 | sucrase: 3.34.0
2585 | transitivePeerDependencies:
2586 | - ts-node
2587 | dev: true
2588 |
2589 | /tapable@2.2.1:
2590 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
2591 | engines: {node: '>=6'}
2592 | dev: true
2593 |
2594 | /text-table@0.2.0:
2595 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
2596 |
2597 | /thenify-all@1.6.0:
2598 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
2599 | engines: {node: '>=0.8'}
2600 | dependencies:
2601 | thenify: 3.3.1
2602 | dev: true
2603 |
2604 | /thenify@3.3.1:
2605 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
2606 | dependencies:
2607 | any-promise: 1.3.0
2608 | dev: true
2609 |
2610 | /to-regex-range@5.0.1:
2611 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2612 | engines: {node: '>=8.0'}
2613 | dependencies:
2614 | is-number: 7.0.0
2615 |
2616 | /true-myth@6.2.0:
2617 | resolution: {integrity: sha512-NYvzj/h2mGXmdIBmz825c/lQhpI4bzUQEEiBCAbNOVpr6aeYa1WTpJ+OmGmj1yPqbTLPKCCSi54yDnaEup504Q==}
2618 | engines: {node: 14.* || 16.* || >= 18.*}
2619 | dev: false
2620 |
2621 | /true-myth@7.1.0:
2622 | resolution: {integrity: sha512-DcdyFRHfNyG31HgNtxqrVAHmBf7y1w4YZCpU7IR2Ohytm4LITv+u075Vc3dLyK9cdEPq6K9398iao6YpkU8hHA==}
2623 | engines: {node: 18.* || >= 20.*}
2624 | dev: false
2625 |
2626 | /ts-interface-checker@0.1.13:
2627 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
2628 | dev: true
2629 |
2630 | /tsconfig-paths@3.14.2:
2631 | resolution: {integrity: sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==}
2632 | dependencies:
2633 | '@types/json5': 0.0.29
2634 | json5: 1.0.2
2635 | minimist: 1.2.8
2636 | strip-bom: 3.0.0
2637 | dev: true
2638 |
2639 | /tslib@1.14.1:
2640 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
2641 |
2642 | /tslib@2.6.2:
2643 | resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
2644 | dev: false
2645 |
2646 | /tsutils@3.21.0(typescript@4.9.3):
2647 | resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
2648 | engines: {node: '>= 6'}
2649 | peerDependencies:
2650 | typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
2651 | dependencies:
2652 | tslib: 1.14.1
2653 | typescript: 4.9.3
2654 |
2655 | /type-check@0.4.0:
2656 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
2657 | engines: {node: '>= 0.8.0'}
2658 | dependencies:
2659 | prelude-ls: 1.2.1
2660 |
2661 | /type-fest@0.20.2:
2662 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
2663 | engines: {node: '>=10'}
2664 |
2665 | /typed-array-buffer@1.0.0:
2666 | resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==}
2667 | engines: {node: '>= 0.4'}
2668 | dependencies:
2669 | call-bind: 1.0.5
2670 | get-intrinsic: 1.2.2
2671 | is-typed-array: 1.1.12
2672 | dev: true
2673 |
2674 | /typed-array-byte-length@1.0.0:
2675 | resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==}
2676 | engines: {node: '>= 0.4'}
2677 | dependencies:
2678 | call-bind: 1.0.5
2679 | for-each: 0.3.3
2680 | has-proto: 1.0.1
2681 | is-typed-array: 1.1.12
2682 | dev: true
2683 |
2684 | /typed-array-byte-offset@1.0.0:
2685 | resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==}
2686 | engines: {node: '>= 0.4'}
2687 | dependencies:
2688 | available-typed-arrays: 1.0.5
2689 | call-bind: 1.0.5
2690 | for-each: 0.3.3
2691 | has-proto: 1.0.1
2692 | is-typed-array: 1.1.12
2693 | dev: true
2694 |
2695 | /typed-array-length@1.0.4:
2696 | resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==}
2697 | dependencies:
2698 | call-bind: 1.0.5
2699 | for-each: 0.3.3
2700 | is-typed-array: 1.1.12
2701 | dev: true
2702 |
2703 | /typescript@4.9.3:
2704 | resolution: {integrity: sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==}
2705 | engines: {node: '>=4.2.0'}
2706 | hasBin: true
2707 |
2708 | /unbox-primitive@1.0.2:
2709 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==}
2710 | dependencies:
2711 | call-bind: 1.0.5
2712 | has-bigints: 1.0.2
2713 | has-symbols: 1.0.3
2714 | which-boxed-primitive: 1.0.2
2715 | dev: true
2716 |
2717 | /update-browserslist-db@1.0.13(browserslist@4.22.1):
2718 | resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
2719 | hasBin: true
2720 | peerDependencies:
2721 | browserslist: '>= 4.21.0'
2722 | dependencies:
2723 | browserslist: 4.22.1
2724 | escalade: 3.1.1
2725 | picocolors: 1.0.0
2726 | dev: true
2727 |
2728 | /uri-js@4.4.1:
2729 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
2730 | dependencies:
2731 | punycode: 2.3.1
2732 |
2733 | /util-deprecate@1.0.2:
2734 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
2735 | dev: true
2736 |
2737 | /uuid@9.0.1:
2738 | resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
2739 | hasBin: true
2740 | dev: false
2741 |
2742 | /which-boxed-primitive@1.0.2:
2743 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
2744 | dependencies:
2745 | is-bigint: 1.0.4
2746 | is-boolean-object: 1.1.2
2747 | is-number-object: 1.0.7
2748 | is-string: 1.0.7
2749 | is-symbol: 1.0.4
2750 | dev: true
2751 |
2752 | /which-builtin-type@1.1.3:
2753 | resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==}
2754 | engines: {node: '>= 0.4'}
2755 | dependencies:
2756 | function.prototype.name: 1.1.6
2757 | has-tostringtag: 1.0.0
2758 | is-async-function: 2.0.0
2759 | is-date-object: 1.0.5
2760 | is-finalizationregistry: 1.0.2
2761 | is-generator-function: 1.0.10
2762 | is-regex: 1.1.4
2763 | is-weakref: 1.0.2
2764 | isarray: 2.0.5
2765 | which-boxed-primitive: 1.0.2
2766 | which-collection: 1.0.1
2767 | which-typed-array: 1.1.13
2768 | dev: true
2769 |
2770 | /which-collection@1.0.1:
2771 | resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==}
2772 | dependencies:
2773 | is-map: 2.0.2
2774 | is-set: 2.0.2
2775 | is-weakmap: 2.0.1
2776 | is-weakset: 2.0.2
2777 | dev: true
2778 |
2779 | /which-typed-array@1.1.13:
2780 | resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==}
2781 | engines: {node: '>= 0.4'}
2782 | dependencies:
2783 | available-typed-arrays: 1.0.5
2784 | call-bind: 1.0.5
2785 | for-each: 0.3.3
2786 | gopd: 1.0.1
2787 | has-tostringtag: 1.0.0
2788 | dev: true
2789 |
2790 | /which@2.0.2:
2791 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2792 | engines: {node: '>= 8'}
2793 | hasBin: true
2794 | dependencies:
2795 | isexe: 2.0.0
2796 |
2797 | /wrappy@1.0.2:
2798 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
2799 |
2800 | /yallist@4.0.0:
2801 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
2802 |
2803 | /yaml@2.3.4:
2804 | resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==}
2805 | engines: {node: '>= 14'}
2806 | dev: true
2807 |
2808 | /yocto-queue@0.1.0:
2809 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2810 | engines: {node: '>=10'}
2811 |
--------------------------------------------------------------------------------
/playground/postcss.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | plugins: {
3 | tailwindcss: {},
4 | autoprefixer: {},
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/playground/public/chrome.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/FL33TW00D/embd/2646f497e64e36c676eb6942beb0964a5e28ffd8/playground/public/chrome.png
--------------------------------------------------------------------------------
/playground/src/components/layout.tsx:
--------------------------------------------------------------------------------
1 | import Head from "next/head";
2 | import { Toaster } from "react-hot-toast";
3 | import React from "react";
4 |
5 | export const siteTitle = "EMBD";
6 |
7 | type LayoutProps = {
8 | children: React.ReactNode;
9 | title: string;
10 | };
11 |
12 | export default function Layout(props: LayoutProps) {
13 | return (
14 |
15 |
16 |
{props.title}
17 |
18 |
22 |
26 |
27 |
28 |
29 | {props.children}
30 |
31 |
32 | );
33 | }
34 |
--------------------------------------------------------------------------------
/playground/src/components/modal.tsx:
--------------------------------------------------------------------------------
1 | import React, { useState, useEffect } from "react";
2 | import Modal from "react-responsive-modal";
3 |
4 | const WebGPUModal = () => {
5 | const [hasWebGPU, setHasWebGPU] = useState(false);
6 | const [isModalOpen, setIsModalOpen] = useState(true);
7 |
8 | useEffect(() => {
9 | //@ts-ignore
10 | if (!navigator.gpu) {
11 | setIsModalOpen(true);
12 | return;
13 | }
14 | setHasWebGPU(true);
15 | }, []);
16 |
17 | const handleModalClose = () => {
18 | setIsModalOpen(false);
19 | };
20 |
21 | const closeIcon = (
22 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 | );
47 |
48 | return (
49 | <>
50 | {!hasWebGPU ? (
51 |
60 |
66 |
67 |
68 | Uh oh! It looks like your browser doesn't
69 | support WebGPU. Please try again in a different
70 | browser.
71 |
72 |
73 |
74 |
75 | ) : (
76 | <>>
77 | )}
78 | >
79 | );
80 | };
81 |
82 | export default WebGPUModal;
83 |
--------------------------------------------------------------------------------
/playground/src/pages/_app.tsx:
--------------------------------------------------------------------------------
1 | import '../styles/globals.css';
2 | import type { AppProps } from 'next/app'
3 | import "react-responsive-modal/styles.css";
4 |
5 | export default function App({ Component, pageProps }: AppProps) {
6 | return
7 | }
8 |
--------------------------------------------------------------------------------
/playground/src/pages/_document.tsx:
--------------------------------------------------------------------------------
1 | import { Html, Head, Main, NextScript } from 'next/document'
2 |
3 | export default function Document() {
4 | return (
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | )
13 | }
14 |
--------------------------------------------------------------------------------
/playground/src/pages/api/hello.ts:
--------------------------------------------------------------------------------
1 | // Next.js API route support: https://nextjs.org/docs/api-routes/introduction
2 | import type { NextApiRequest, NextApiResponse } from 'next'
3 |
4 | type Data = {
5 | name: string
6 | }
7 |
8 | export default function handler(
9 | req: NextApiRequest,
10 | res: NextApiResponse
11 | ) {
12 | res.status(200).json({ name: 'John Doe' })
13 | }
14 |
--------------------------------------------------------------------------------
/playground/src/pages/index.tsx:
--------------------------------------------------------------------------------
1 | import type { NextPage } from "next";
2 | import { useRef, useState } from "react";
3 | import Layout from "../components/layout";
4 | import WebGPUModal from "../components/modal";
5 | import {
6 | InferenceSession,
7 | SessionManager,
8 | AvailableModels,
9 | initialize,
10 | } from "embd";
11 | import toast from "react-hot-toast";
12 | import { Result } from "true-myth";
13 |
14 | const Home: NextPage = () => {
15 | const session = useRef(null);
16 | const [batch, setBatch] = useState([]);
17 | const [embeddings, setEmbeddings] = useState(null);
18 |
19 | const loadModel = async () => {
20 | if (session.current) {
21 | session.current.destroy();
22 | }
23 |
24 | const manager = new SessionManager();
25 | const loadResult = await manager.loadModel(
26 | AvailableModels.BAAI_SMALL_EN_v1_5,
27 | () => {
28 | console.log("LOADED");
29 | },
30 | (p: number) => {
31 | console.log("PROGRESS", p);
32 | }
33 | );
34 | if (loadResult.isErr) {
35 | toast.error(loadResult.error.message);
36 | } else {
37 | session.current = loadResult.value;
38 | }
39 | };
40 |
41 | const runSession = async () => {
42 | if (!session.current) {
43 | toast.error("No model loaded");
44 | return;
45 | }
46 | await initialize();
47 | const embeddingsResult = await session.current.run(batch, {});
48 |
49 | //@ts-ignore
50 | const [state, data] = embeddingsResult.repr;
51 | if (state === "Err") {
52 | return Result.err(
53 | new Error("Session run failed: " + data.toString())
54 | );
55 | }
56 | const embeddings = data;
57 | setEmbeddings(embeddings);
58 | };
59 |
60 | return (
61 |
62 |
63 |
Welcome to EMBD
64 |
Load Model
65 |
78 |
79 |
80 | );
81 | };
82 |
83 | export default Home;
84 |
--------------------------------------------------------------------------------
/playground/src/styles/Home.module.css:
--------------------------------------------------------------------------------
1 | .container {
2 | padding: 0 2rem;
3 | }
4 |
5 | .main {
6 | min-height: 100vh;
7 | padding: 4rem 0;
8 | flex: 1;
9 | display: flex;
10 | flex-direction: column;
11 | justify-content: center;
12 | align-items: center;
13 | }
14 |
15 | .title a {
16 | color: #0070f3;
17 | text-decoration: none;
18 | }
19 |
20 | .title a:hover,
21 | .title a:focus,
22 | .title a:active {
23 | text-decoration: underline;
24 | }
25 |
26 | .title {
27 | margin: 0;
28 | line-height: 1.15;
29 | font-size: 4rem;
30 | text-align: center;
31 | }
32 |
33 | .example {
34 | margin: 4rem 0;
35 | line-height: 1.5;
36 | font-size: 1.5rem;
37 | text-align: center;
38 | }
39 |
40 | @media (max-width: 600px) {
41 | .title {
42 | font-size: 3rem;
43 | }
44 | }
45 |
46 |
--------------------------------------------------------------------------------
/playground/src/styles/globals.css:
--------------------------------------------------------------------------------
1 | @tailwind base;
2 | @tailwind components;
3 | @tailwind utilities;
4 |
5 | html,
6 | body {
7 | padding: 0;
8 | margin: 0;
9 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen,
10 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
11 | }
12 |
13 | a {
14 | color: inherit;
15 | text-decoration: none;
16 | }
17 |
18 | * {
19 | box-sizing: border-box;
20 | }
21 |
22 | :root {
23 | --foreground-rgb: 0, 0, 0;
24 | --background-start-rgb: 214, 219, 220;
25 | --background-end-rgb: 255, 255, 255;
26 | }
27 |
28 | @media (prefers-color-scheme: dark) {
29 | :root {
30 | --foreground-rgb: 255, 255, 255;
31 | --background-start-rgb: 0, 0, 0;
32 | --background-end-rgb: 0, 0, 0;
33 | }
34 | }
35 |
36 | body {
37 | color: rgb(var(--foreground-rgb));
38 | background: linear-gradient(
39 | to bottom,
40 | transparent,
41 | rgb(var(--background-end-rgb))
42 | )
43 | rgb(var(--background-start-rgb));
44 | }
45 |
46 | audio::-webkit-media-controls-current-time-display {
47 | font-family: "__VT323_2a9463";
48 | font-size: 1.2rem;
49 | }
50 |
51 | audio::-webkit-media-controls-time-remaining-display {
52 | font-family: "__VT323_2a9463";
53 | font-size: 1.2rem;
54 | }
55 |
56 | audio::-webkit-media-controls-enclosure {
57 | border-radius: 0;
58 | border: 2px solid black;
59 | }
60 |
61 | .loader {
62 | animation: spin 1s linear infinite;
63 | height: 10px;
64 | width: 10px;
65 | margin: -5px;
66 | scale: 0.5;
67 | }
68 |
69 | @keyframes spin {
70 | 0% {
71 | box-shadow:
72 | 0px -30px #fff,
73 | 10px -30px #fff,
74 | 20px -20px #fff,
75 | 30px -10px #fff,
76 | 30px 0px #fff,
77 | 30px 10px #fff,
78 | 20px 20px #fff,
79 | 10px 30px #fff,
80 | 0px 30px transparent,
81 | -10px 30px transparent,
82 | -20px 20px transparent,
83 | -30px 10px transparent,
84 | -30px 0px transparent,
85 | -30px -10px transparent,
86 | -20px -20px transparent,
87 | -10px -30px transparent;
88 | }
89 | 6.25% {
90 | box-shadow:
91 | 0px -30px transparent,
92 | 10px -30px #fff,
93 | 20px -20px #fff,
94 | 30px -10px #fff,
95 | 30px 0px #fff,
96 | 30px 10px #fff,
97 | 20px 20px #fff,
98 | 10px 30px #fff,
99 | 0px 30px #fff,
100 | -10px 30px transparent,
101 | -20px 20px transparent,
102 | -30px 10px transparent,
103 | -30px 0px transparent,
104 | -30px -10px transparent,
105 | -20px -20px transparent,
106 | -10px -30px transparent;
107 | }
108 | 12.5% {
109 | box-shadow:
110 | 0px -30px transparent,
111 | 10px -30px transparent,
112 | 20px -20px #fff,
113 | 30px -10px #fff,
114 | 30px 0px #fff,
115 | 30px 10px #fff,
116 | 20px 20px #fff,
117 | 10px 30px #fff,
118 | 0px 30px #fff,
119 | -10px 30px #fff,
120 | -20px 20px transparent,
121 | -30px 10px transparent,
122 | -30px 0px transparent,
123 | -30px -10px transparent,
124 | -20px -20px transparent,
125 | -10px -30px transparent;
126 | }
127 | 18.75% {
128 | box-shadow:
129 | 0px -30px transparent,
130 | 10px -30px transparent,
131 | 20px -20px transparent,
132 | 30px -10px #fff,
133 | 30px 0px #fff,
134 | 30px 10px #fff,
135 | 20px 20px #fff,
136 | 10px 30px #fff,
137 | 0px 30px #fff,
138 | -10px 30px #fff,
139 | -20px 20px #fff,
140 | -30px 10px transparent,
141 | -30px 0px transparent,
142 | -30px -10px transparent,
143 | -20px -20px transparent,
144 | -10px -30px transparent;
145 | }
146 | 25% {
147 | box-shadow:
148 | 0px -30px transparent,
149 | 10px -30px transparent,
150 | 20px -20px transparent,
151 | 30px -10px transparent,
152 | 30px 0px #fff,
153 | 30px 10px #fff,
154 | 20px 20px #fff,
155 | 10px 30px #fff,
156 | 0px 30px #fff,
157 | -10px 30px #fff,
158 | -20px 20px #fff,
159 | -30px 10px #fff,
160 | -30px 0px transparent,
161 | -30px -10px transparent,
162 | -20px -20px transparent,
163 | -10px -30px transparent;
164 | }
165 | 31.25% {
166 | box-shadow:
167 | 0px -30px transparent,
168 | 10px -30px transparent,
169 | 20px -20px transparent,
170 | 30px -10px transparent,
171 | 30px 0px transparent,
172 | 30px 10px #fff,
173 | 20px 20px #fff,
174 | 10px 30px #fff,
175 | 0px 30px #fff,
176 | -10px 30px #fff,
177 | -20px 20px #fff,
178 | -30px 10px #fff,
179 | -30px 0px #fff,
180 | -30px -10px transparent,
181 | -20px -20px transparent,
182 | -10px -30px transparent;
183 | }
184 | 37.5% {
185 | box-shadow:
186 | 0px -30px transparent,
187 | 10px -30px transparent,
188 | 20px -20px transparent,
189 | 30px -10px transparent,
190 | 30px 0px transparent,
191 | 30px 10px transparent,
192 | 20px 20px #fff,
193 | 10px 30px #fff,
194 | 0px 30px #fff,
195 | -10px 30px #fff,
196 | -20px 20px #fff,
197 | -30px 10px #fff,
198 | -30px 0px #fff,
199 | -30px -10px #fff,
200 | -20px -20px transparent,
201 | -10px -30px transparent;
202 | }
203 | 43.75% {
204 | box-shadow:
205 | 0px -30px transparent,
206 | 10px -30px transparent,
207 | 20px -20px transparent,
208 | 30px -10px transparent,
209 | 30px 0px transparent,
210 | 30px 10px transparent,
211 | 20px 20px transparent,
212 | 10px 30px #fff,
213 | 0px 30px #fff,
214 | -10px 30px #fff,
215 | -20px 20px #fff,
216 | -30px 10px #fff,
217 | -30px 0px #fff,
218 | -30px -10px #fff,
219 | -20px -20px #fff,
220 | -10px -30px transparent;
221 | }
222 | 50% {
223 | box-shadow:
224 | 0px -30px transparent,
225 | 10px -30px transparent,
226 | 20px -20px transparent,
227 | 30px -10px transparent,
228 | 30px 0px transparent,
229 | 30px 10px transparent,
230 | 20px 20px transparent,
231 | 10px 30px transparent,
232 | 0px 30px #fff,
233 | -10px 30px #fff,
234 | -20px 20px #fff,
235 | -30px 10px #fff,
236 | -30px 0px #fff,
237 | -30px -10px #fff,
238 | -20px -20px #fff,
239 | -10px -30px #fff;
240 | }
241 | 56.25% {
242 | box-shadow:
243 | 0px -30px #fff,
244 | 10px -30px transparent,
245 | 20px -20px transparent,
246 | 30px -10px transparent,
247 | 30px 0px transparent,
248 | 30px 10px transparent,
249 | 20px 20px transparent,
250 | 10px 30px transparent,
251 | 0px 30px transparent,
252 | -10px 30px #fff,
253 | -20px 20px #fff,
254 | -30px 10px #fff,
255 | -30px 0px #fff,
256 | -30px -10px #fff,
257 | -20px -20px #fff,
258 | -10px -30px #fff;
259 | }
260 | 62.5% {
261 | box-shadow:
262 | 0px -30px #fff,
263 | 10px -30px #fff,
264 | 20px -20px transparent,
265 | 30px -10px transparent,
266 | 30px 0px transparent,
267 | 30px 10px transparent,
268 | 20px 20px transparent,
269 | 10px 30px transparent,
270 | 0px 30px transparent,
271 | -10px 30px transparent,
272 | -20px 20px #fff,
273 | -30px 10px #fff,
274 | -30px 0px #fff,
275 | -30px -10px #fff,
276 | -20px -20px #fff,
277 | -10px -30px #fff;
278 | }
279 | 68.75% {
280 | box-shadow:
281 | 0px -30px #fff,
282 | 10px -30px #fff,
283 | 20px -20px #fff,
284 | 30px -10px transparent,
285 | 30px 0px transparent,
286 | 30px 10px transparent,
287 | 20px 20px transparent,
288 | 10px 30px transparent,
289 | 0px 30px transparent,
290 | -10px 30px transparent,
291 | -20px 20px transparent,
292 | -30px 10px #fff,
293 | -30px 0px #fff,
294 | -30px -10px #fff,
295 | -20px -20px #fff,
296 | -10px -30px #fff;
297 | }
298 | 75% {
299 | box-shadow:
300 | 0px -30px #fff,
301 | 10px -30px #fff,
302 | 20px -20px #fff,
303 | 30px -10px #fff,
304 | 30px 0px transparent,
305 | 30px 10px transparent,
306 | 20px 20px transparent,
307 | 10px 30px transparent,
308 | 0px 30px transparent,
309 | -10px 30px transparent,
310 | -20px 20px transparent,
311 | -30px 10px transparent,
312 | -30px 0px #fff,
313 | -30px -10px #fff,
314 | -20px -20px #fff,
315 | -10px -30px #fff;
316 | }
317 | 81.25% {
318 | box-shadow:
319 | 0px -30px #fff,
320 | 10px -30px #fff,
321 | 20px -20px #fff,
322 | 30px -10px #fff,
323 | 30px 0px #fff,
324 | 30px 10px transparent,
325 | 20px 20px transparent,
326 | 10px 30px transparent,
327 | 0px 30px transparent,
328 | -10px 30px transparent,
329 | -20px 20px transparent,
330 | -30px 10px transparent,
331 | -30px 0px transparent,
332 | -30px -10px #fff,
333 | -20px -20px #fff,
334 | -10px -30px #fff;
335 | }
336 | 87.5% {
337 | box-shadow:
338 | 0px -30px #fff,
339 | 10px -30px #fff,
340 | 20px -20px #fff,
341 | 30px -10px #fff,
342 | 30px 0px #fff,
343 | 30px 10px #fff,
344 | 20px 20px transparent,
345 | 10px 30px transparent,
346 | 0px 30px transparent,
347 | -10px 30px transparent,
348 | -20px 20px transparent,
349 | -30px 10px transparent,
350 | -30px 0px transparent,
351 | -30px -10px transparent,
352 | -20px -20px #fff,
353 | -10px -30px #fff;
354 | }
355 | 93.75% {
356 | box-shadow:
357 | 0px -30px #fff,
358 | 10px -30px #fff,
359 | 20px -20px #fff,
360 | 30px -10px #fff,
361 | 30px 0px #fff,
362 | 30px 10px #fff,
363 | 20px 20px #fff,
364 | 10px 30px transparent,
365 | 0px 30px transparent,
366 | -10px 30px transparent,
367 | -20px 20px transparent,
368 | -30px 10px transparent,
369 | -30px 0px transparent,
370 | -30px -10px transparent,
371 | -20px -20px transparent,
372 | -10px -30px #fff;
373 | }
374 | 100% {
375 | box-shadow:
376 | 0px -30px #fff,
377 | 10px -30px #fff,
378 | 20px -20px #fff,
379 | 30px -10px #fff,
380 | 30px 0px #fff,
381 | 30px 10px #fff,
382 | 20px 20px #fff,
383 | 10px 30px #fff,
384 | 0px 30px transparent,
385 | -10px 30px transparent,
386 | -20px 20px transparent,
387 | -30px 10px transparent,
388 | -30px 0px transparent,
389 | -30px -10px transparent,
390 | -20px -20px transparent,
391 | -10px -30px transparent;
392 | }
393 | }
394 |
--------------------------------------------------------------------------------
/playground/src/util.ts:
--------------------------------------------------------------------------------
1 | const UNITS = [
2 | "byte",
3 | "kilobyte",
4 | "megabyte",
5 | "gigabyte",
6 | "terabyte",
7 | "petabyte",
8 | ];
9 | const BYTES_PER_KB = 1000;
10 |
11 | /**
12 | * Format bytes as human-readable text.
13 | *
14 | * @param sizeBytes Number of bytes.
15 | *
16 | * @return Formatted string.
17 | */
18 | export function humanFileSize(sizeBytes: number | bigint): string {
19 | let size = Math.abs(Number(sizeBytes));
20 |
21 | let u = 0;
22 | while (size >= BYTES_PER_KB && u < UNITS.length - 1) {
23 | size /= BYTES_PER_KB;
24 | ++u;
25 | }
26 |
27 | return new Intl.NumberFormat([], {
28 | style: "unit",
29 | unit: UNITS[u],
30 | unitDisplay: "short",
31 | maximumFractionDigits: 1,
32 | }).format(size);
33 | }
34 |
--------------------------------------------------------------------------------
/playground/tailwind.config.js:
--------------------------------------------------------------------------------
1 | /** @type {import('tailwindcss').Config} */
2 | module.exports = {
3 | content: ["./src/**/*.{js,ts,jsx,tsx}"],
4 | theme: {
5 | extend: {
6 | colors: {
7 | dark: "#131414",
8 | "pop-orange": "#f93c26",
9 | "pop-orange-dark": "#cc1905",
10 | },
11 | },
12 | },
13 | plugins: [require("@tailwindcss/typography")],
14 | };
15 |
--------------------------------------------------------------------------------
/playground/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "allowJs": true,
6 | "skipLibCheck": true,
7 | "strict": true,
8 | "forceConsistentCasingInFileNames": true,
9 | "noEmit": true,
10 | "esModuleInterop": true,
11 | "module": "esnext",
12 | "moduleResolution": "node",
13 | "resolveJsonModule": true,
14 | "isolatedModules": true,
15 | "jsx": "preserve",
16 | "incremental": true
17 | },
18 | "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
19 | "exclude": ["node_modules"]
20 | }
21 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '6.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | dependencies:
8 | comlink:
9 | specifier: 4.3.1
10 | version: 4.3.1
11 | embd-webgpu:
12 | specifier: 0.3.0
13 | version: 0.3.0
14 | idb:
15 | specifier: ^7.1.1
16 | version: 7.1.1
17 | true-myth:
18 | specifier: ^6.2.0
19 | version: 6.2.0
20 | uuid:
21 | specifier: ^9.0.1
22 | version: 9.0.1
23 |
24 | devDependencies:
25 | '@types/node':
26 | specifier: ^14.18.63
27 | version: 14.18.63
28 | '@types/uuid':
29 | specifier: ^9.0.7
30 | version: 9.0.7
31 | '@typescript-eslint/eslint-plugin':
32 | specifier: ^6.12.0
33 | version: 6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@4.7.4)
34 | '@typescript-eslint/parser':
35 | specifier: ^6.12.0
36 | version: 6.12.0(eslint@8.54.0)(typescript@4.7.4)
37 | eslint:
38 | specifier: ^8.54.0
39 | version: 8.54.0
40 | typescript:
41 | specifier: ~4.7.4
42 | version: 4.7.4
43 |
44 | packages:
45 |
46 | /@aashutoshrathi/word-wrap@1.2.6:
47 | resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
48 | engines: {node: '>=0.10.0'}
49 | dev: true
50 |
51 | /@eslint-community/eslint-utils@4.4.0(eslint@8.54.0):
52 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
53 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
54 | peerDependencies:
55 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
56 | dependencies:
57 | eslint: 8.54.0
58 | eslint-visitor-keys: 3.4.3
59 | dev: true
60 |
61 | /@eslint-community/regexpp@4.10.0:
62 | resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
63 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
64 | dev: true
65 |
66 | /@eslint/eslintrc@2.1.3:
67 | resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==}
68 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
69 | dependencies:
70 | ajv: 6.12.6
71 | debug: 4.3.4
72 | espree: 9.6.1
73 | globals: 13.23.0
74 | ignore: 5.3.0
75 | import-fresh: 3.3.0
76 | js-yaml: 4.1.0
77 | minimatch: 3.1.2
78 | strip-json-comments: 3.1.1
79 | transitivePeerDependencies:
80 | - supports-color
81 | dev: true
82 |
83 | /@eslint/js@8.54.0:
84 | resolution: {integrity: sha512-ut5V+D+fOoWPgGGNj83GGjnntO39xDy6DWxO0wb7Jp3DcMX0TfIqdzHF85VTQkerdyGmuuMD9AKAo5KiNlf/AQ==}
85 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
86 | dev: true
87 |
88 | /@humanwhocodes/config-array@0.11.13:
89 | resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==}
90 | engines: {node: '>=10.10.0'}
91 | dependencies:
92 | '@humanwhocodes/object-schema': 2.0.1
93 | debug: 4.3.4
94 | minimatch: 3.1.2
95 | transitivePeerDependencies:
96 | - supports-color
97 | dev: true
98 |
99 | /@humanwhocodes/module-importer@1.0.1:
100 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
101 | engines: {node: '>=12.22'}
102 | dev: true
103 |
104 | /@humanwhocodes/object-schema@2.0.1:
105 | resolution: {integrity: sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==}
106 | dev: true
107 |
108 | /@nodelib/fs.scandir@2.1.5:
109 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
110 | engines: {node: '>= 8'}
111 | dependencies:
112 | '@nodelib/fs.stat': 2.0.5
113 | run-parallel: 1.2.0
114 | dev: true
115 |
116 | /@nodelib/fs.stat@2.0.5:
117 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
118 | engines: {node: '>= 8'}
119 | dev: true
120 |
121 | /@nodelib/fs.walk@1.2.8:
122 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
123 | engines: {node: '>= 8'}
124 | dependencies:
125 | '@nodelib/fs.scandir': 2.1.5
126 | fastq: 1.15.0
127 | dev: true
128 |
129 | /@types/json-schema@7.0.15:
130 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
131 | dev: true
132 |
133 | /@types/node@14.18.63:
134 | resolution: {integrity: sha512-fAtCfv4jJg+ExtXhvCkCqUKZ+4ok/JQk01qDKhL5BDDoS3AxKXhV5/MAVUZyQnSEd2GT92fkgZl0pz0Q0AzcIQ==}
135 | dev: true
136 |
137 | /@types/semver@7.5.6:
138 | resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==}
139 | dev: true
140 |
141 | /@types/uuid@9.0.7:
142 | resolution: {integrity: sha512-WUtIVRUZ9i5dYXefDEAI7sh9/O7jGvHg7Df/5O/gtH3Yabe5odI3UWopVR1qbPXQtvOxWu3mM4XxlYeZtMWF4g==}
143 | dev: true
144 |
145 | /@typescript-eslint/eslint-plugin@6.12.0(@typescript-eslint/parser@6.12.0)(eslint@8.54.0)(typescript@4.7.4):
146 | resolution: {integrity: sha512-XOpZ3IyJUIV1b15M7HVOpgQxPPF7lGXgsfcEIu3yDxFPaf/xZKt7s9QO/pbk7vpWQyVulpJbu4E5LwpZiQo4kA==}
147 | engines: {node: ^16.0.0 || >=18.0.0}
148 | peerDependencies:
149 | '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
150 | eslint: ^7.0.0 || ^8.0.0
151 | typescript: '*'
152 | peerDependenciesMeta:
153 | typescript:
154 | optional: true
155 | dependencies:
156 | '@eslint-community/regexpp': 4.10.0
157 | '@typescript-eslint/parser': 6.12.0(eslint@8.54.0)(typescript@4.7.4)
158 | '@typescript-eslint/scope-manager': 6.12.0
159 | '@typescript-eslint/type-utils': 6.12.0(eslint@8.54.0)(typescript@4.7.4)
160 | '@typescript-eslint/utils': 6.12.0(eslint@8.54.0)(typescript@4.7.4)
161 | '@typescript-eslint/visitor-keys': 6.12.0
162 | debug: 4.3.4
163 | eslint: 8.54.0
164 | graphemer: 1.4.0
165 | ignore: 5.3.0
166 | natural-compare: 1.4.0
167 | semver: 7.5.4
168 | ts-api-utils: 1.0.3(typescript@4.7.4)
169 | typescript: 4.7.4
170 | transitivePeerDependencies:
171 | - supports-color
172 | dev: true
173 |
174 | /@typescript-eslint/parser@6.12.0(eslint@8.54.0)(typescript@4.7.4):
175 | resolution: {integrity: sha512-s8/jNFPKPNRmXEnNXfuo1gemBdVmpQsK1pcu+QIvuNJuhFzGrpD7WjOcvDc/+uEdfzSYpNu7U/+MmbScjoQ6vg==}
176 | engines: {node: ^16.0.0 || >=18.0.0}
177 | peerDependencies:
178 | eslint: ^7.0.0 || ^8.0.0
179 | typescript: '*'
180 | peerDependenciesMeta:
181 | typescript:
182 | optional: true
183 | dependencies:
184 | '@typescript-eslint/scope-manager': 6.12.0
185 | '@typescript-eslint/types': 6.12.0
186 | '@typescript-eslint/typescript-estree': 6.12.0(typescript@4.7.4)
187 | '@typescript-eslint/visitor-keys': 6.12.0
188 | debug: 4.3.4
189 | eslint: 8.54.0
190 | typescript: 4.7.4
191 | transitivePeerDependencies:
192 | - supports-color
193 | dev: true
194 |
195 | /@typescript-eslint/scope-manager@6.12.0:
196 | resolution: {integrity: sha512-5gUvjg+XdSj8pcetdL9eXJzQNTl3RD7LgUiYTl8Aabdi8hFkaGSYnaS6BLc0BGNaDH+tVzVwmKtWvu0jLgWVbw==}
197 | engines: {node: ^16.0.0 || >=18.0.0}
198 | dependencies:
199 | '@typescript-eslint/types': 6.12.0
200 | '@typescript-eslint/visitor-keys': 6.12.0
201 | dev: true
202 |
203 | /@typescript-eslint/type-utils@6.12.0(eslint@8.54.0)(typescript@4.7.4):
204 | resolution: {integrity: sha512-WWmRXxhm1X8Wlquj+MhsAG4dU/Blvf1xDgGaYCzfvStP2NwPQh6KBvCDbiOEvaE0filhranjIlK/2fSTVwtBng==}
205 | engines: {node: ^16.0.0 || >=18.0.0}
206 | peerDependencies:
207 | eslint: ^7.0.0 || ^8.0.0
208 | typescript: '*'
209 | peerDependenciesMeta:
210 | typescript:
211 | optional: true
212 | dependencies:
213 | '@typescript-eslint/typescript-estree': 6.12.0(typescript@4.7.4)
214 | '@typescript-eslint/utils': 6.12.0(eslint@8.54.0)(typescript@4.7.4)
215 | debug: 4.3.4
216 | eslint: 8.54.0
217 | ts-api-utils: 1.0.3(typescript@4.7.4)
218 | typescript: 4.7.4
219 | transitivePeerDependencies:
220 | - supports-color
221 | dev: true
222 |
223 | /@typescript-eslint/types@6.12.0:
224 | resolution: {integrity: sha512-MA16p/+WxM5JG/F3RTpRIcuOghWO30//VEOvzubM8zuOOBYXsP+IfjoCXXiIfy2Ta8FRh9+IO9QLlaFQUU+10Q==}
225 | engines: {node: ^16.0.0 || >=18.0.0}
226 | dev: true
227 |
228 | /@typescript-eslint/typescript-estree@6.12.0(typescript@4.7.4):
229 | resolution: {integrity: sha512-vw9E2P9+3UUWzhgjyyVczLWxZ3GuQNT7QpnIY3o5OMeLO/c8oHljGc8ZpryBMIyympiAAaKgw9e5Hl9dCWFOYw==}
230 | engines: {node: ^16.0.0 || >=18.0.0}
231 | peerDependencies:
232 | typescript: '*'
233 | peerDependenciesMeta:
234 | typescript:
235 | optional: true
236 | dependencies:
237 | '@typescript-eslint/types': 6.12.0
238 | '@typescript-eslint/visitor-keys': 6.12.0
239 | debug: 4.3.4
240 | globby: 11.1.0
241 | is-glob: 4.0.3
242 | semver: 7.5.4
243 | ts-api-utils: 1.0.3(typescript@4.7.4)
244 | typescript: 4.7.4
245 | transitivePeerDependencies:
246 | - supports-color
247 | dev: true
248 |
249 | /@typescript-eslint/utils@6.12.0(eslint@8.54.0)(typescript@4.7.4):
250 | resolution: {integrity: sha512-LywPm8h3tGEbgfyjYnu3dauZ0U7R60m+miXgKcZS8c7QALO9uWJdvNoP+duKTk2XMWc7/Q3d/QiCuLN9X6SWyQ==}
251 | engines: {node: ^16.0.0 || >=18.0.0}
252 | peerDependencies:
253 | eslint: ^7.0.0 || ^8.0.0
254 | dependencies:
255 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0)
256 | '@types/json-schema': 7.0.15
257 | '@types/semver': 7.5.6
258 | '@typescript-eslint/scope-manager': 6.12.0
259 | '@typescript-eslint/types': 6.12.0
260 | '@typescript-eslint/typescript-estree': 6.12.0(typescript@4.7.4)
261 | eslint: 8.54.0
262 | semver: 7.5.4
263 | transitivePeerDependencies:
264 | - supports-color
265 | - typescript
266 | dev: true
267 |
268 | /@typescript-eslint/visitor-keys@6.12.0:
269 | resolution: {integrity: sha512-rg3BizTZHF1k3ipn8gfrzDXXSFKyOEB5zxYXInQ6z0hUvmQlhaZQzK+YmHmNViMA9HzW5Q9+bPPt90bU6GQwyw==}
270 | engines: {node: ^16.0.0 || >=18.0.0}
271 | dependencies:
272 | '@typescript-eslint/types': 6.12.0
273 | eslint-visitor-keys: 3.4.3
274 | dev: true
275 |
276 | /@ungap/structured-clone@1.2.0:
277 | resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
278 | dev: true
279 |
280 | /acorn-jsx@5.3.2(acorn@8.11.2):
281 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
282 | peerDependencies:
283 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
284 | dependencies:
285 | acorn: 8.11.2
286 | dev: true
287 |
288 | /acorn@8.11.2:
289 | resolution: {integrity: sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==}
290 | engines: {node: '>=0.4.0'}
291 | hasBin: true
292 | dev: true
293 |
294 | /ajv@6.12.6:
295 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
296 | dependencies:
297 | fast-deep-equal: 3.1.3
298 | fast-json-stable-stringify: 2.1.0
299 | json-schema-traverse: 0.4.1
300 | uri-js: 4.4.1
301 | dev: true
302 |
303 | /ansi-regex@5.0.1:
304 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
305 | engines: {node: '>=8'}
306 | dev: true
307 |
308 | /ansi-styles@4.3.0:
309 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
310 | engines: {node: '>=8'}
311 | dependencies:
312 | color-convert: 2.0.1
313 | dev: true
314 |
315 | /argparse@2.0.1:
316 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
317 | dev: true
318 |
319 | /array-union@2.1.0:
320 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
321 | engines: {node: '>=8'}
322 | dev: true
323 |
324 | /balanced-match@1.0.2:
325 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
326 | dev: true
327 |
328 | /brace-expansion@1.1.11:
329 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
330 | dependencies:
331 | balanced-match: 1.0.2
332 | concat-map: 0.0.1
333 | dev: true
334 |
335 | /braces@3.0.2:
336 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
337 | engines: {node: '>=8'}
338 | dependencies:
339 | fill-range: 7.0.1
340 | dev: true
341 |
342 | /callsites@3.1.0:
343 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
344 | engines: {node: '>=6'}
345 | dev: true
346 |
347 | /chalk@4.1.2:
348 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
349 | engines: {node: '>=10'}
350 | dependencies:
351 | ansi-styles: 4.3.0
352 | supports-color: 7.2.0
353 | dev: true
354 |
355 | /color-convert@2.0.1:
356 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
357 | engines: {node: '>=7.0.0'}
358 | dependencies:
359 | color-name: 1.1.4
360 | dev: true
361 |
362 | /color-name@1.1.4:
363 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
364 | dev: true
365 |
366 | /comlink@4.3.1:
367 | resolution: {integrity: sha512-+YbhUdNrpBZggBAHWcgQMLPLH1KDF3wJpeqrCKieWQ8RL7atmgsgTQko1XEBK6PsecfopWNntopJ+ByYG1lRaA==}
368 | dev: false
369 |
370 | /concat-map@0.0.1:
371 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
372 | dev: true
373 |
374 | /cross-spawn@7.0.3:
375 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
376 | engines: {node: '>= 8'}
377 | dependencies:
378 | path-key: 3.1.1
379 | shebang-command: 2.0.0
380 | which: 2.0.2
381 | dev: true
382 |
383 | /debug@4.3.4:
384 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
385 | engines: {node: '>=6.0'}
386 | peerDependencies:
387 | supports-color: '*'
388 | peerDependenciesMeta:
389 | supports-color:
390 | optional: true
391 | dependencies:
392 | ms: 2.1.2
393 | dev: true
394 |
395 | /deep-is@0.1.4:
396 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
397 | dev: true
398 |
399 | /dir-glob@3.0.1:
400 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
401 | engines: {node: '>=8'}
402 | dependencies:
403 | path-type: 4.0.0
404 | dev: true
405 |
406 | /doctrine@3.0.0:
407 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
408 | engines: {node: '>=6.0.0'}
409 | dependencies:
410 | esutils: 2.0.3
411 | dev: true
412 |
413 | /embd-webgpu@0.3.0:
414 | resolution: {integrity: sha512-HblIe8xnOTsJWiIIsg8YDsa4JKGptT9moW3NzQ2mXcaVVV0/PYWjUFtQfW4SmWpDi7QRo6Cj2O/XKu3OVp6P+Q==}
415 | dev: false
416 |
417 | /escape-string-regexp@4.0.0:
418 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
419 | engines: {node: '>=10'}
420 | dev: true
421 |
422 | /eslint-scope@7.2.2:
423 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
424 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
425 | dependencies:
426 | esrecurse: 4.3.0
427 | estraverse: 5.3.0
428 | dev: true
429 |
430 | /eslint-visitor-keys@3.4.3:
431 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
432 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
433 | dev: true
434 |
435 | /eslint@8.54.0:
436 | resolution: {integrity: sha512-NY0DfAkM8BIZDVl6PgSa1ttZbx3xHgJzSNJKYcQglem6CppHyMhRIQkBVSSMaSRnLhig3jsDbEzOjwCVt4AmmA==}
437 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
438 | hasBin: true
439 | dependencies:
440 | '@eslint-community/eslint-utils': 4.4.0(eslint@8.54.0)
441 | '@eslint-community/regexpp': 4.10.0
442 | '@eslint/eslintrc': 2.1.3
443 | '@eslint/js': 8.54.0
444 | '@humanwhocodes/config-array': 0.11.13
445 | '@humanwhocodes/module-importer': 1.0.1
446 | '@nodelib/fs.walk': 1.2.8
447 | '@ungap/structured-clone': 1.2.0
448 | ajv: 6.12.6
449 | chalk: 4.1.2
450 | cross-spawn: 7.0.3
451 | debug: 4.3.4
452 | doctrine: 3.0.0
453 | escape-string-regexp: 4.0.0
454 | eslint-scope: 7.2.2
455 | eslint-visitor-keys: 3.4.3
456 | espree: 9.6.1
457 | esquery: 1.5.0
458 | esutils: 2.0.3
459 | fast-deep-equal: 3.1.3
460 | file-entry-cache: 6.0.1
461 | find-up: 5.0.0
462 | glob-parent: 6.0.2
463 | globals: 13.23.0
464 | graphemer: 1.4.0
465 | ignore: 5.3.0
466 | imurmurhash: 0.1.4
467 | is-glob: 4.0.3
468 | is-path-inside: 3.0.3
469 | js-yaml: 4.1.0
470 | json-stable-stringify-without-jsonify: 1.0.1
471 | levn: 0.4.1
472 | lodash.merge: 4.6.2
473 | minimatch: 3.1.2
474 | natural-compare: 1.4.0
475 | optionator: 0.9.3
476 | strip-ansi: 6.0.1
477 | text-table: 0.2.0
478 | transitivePeerDependencies:
479 | - supports-color
480 | dev: true
481 |
482 | /espree@9.6.1:
483 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
484 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
485 | dependencies:
486 | acorn: 8.11.2
487 | acorn-jsx: 5.3.2(acorn@8.11.2)
488 | eslint-visitor-keys: 3.4.3
489 | dev: true
490 |
491 | /esquery@1.5.0:
492 | resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
493 | engines: {node: '>=0.10'}
494 | dependencies:
495 | estraverse: 5.3.0
496 | dev: true
497 |
498 | /esrecurse@4.3.0:
499 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
500 | engines: {node: '>=4.0'}
501 | dependencies:
502 | estraverse: 5.3.0
503 | dev: true
504 |
505 | /estraverse@5.3.0:
506 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
507 | engines: {node: '>=4.0'}
508 | dev: true
509 |
510 | /esutils@2.0.3:
511 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
512 | engines: {node: '>=0.10.0'}
513 | dev: true
514 |
515 | /fast-deep-equal@3.1.3:
516 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
517 | dev: true
518 |
519 | /fast-glob@3.3.2:
520 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
521 | engines: {node: '>=8.6.0'}
522 | dependencies:
523 | '@nodelib/fs.stat': 2.0.5
524 | '@nodelib/fs.walk': 1.2.8
525 | glob-parent: 5.1.2
526 | merge2: 1.4.1
527 | micromatch: 4.0.5
528 | dev: true
529 |
530 | /fast-json-stable-stringify@2.1.0:
531 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
532 | dev: true
533 |
534 | /fast-levenshtein@2.0.6:
535 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
536 | dev: true
537 |
538 | /fastq@1.15.0:
539 | resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==}
540 | dependencies:
541 | reusify: 1.0.4
542 | dev: true
543 |
544 | /file-entry-cache@6.0.1:
545 | resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
546 | engines: {node: ^10.12.0 || >=12.0.0}
547 | dependencies:
548 | flat-cache: 3.2.0
549 | dev: true
550 |
551 | /fill-range@7.0.1:
552 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
553 | engines: {node: '>=8'}
554 | dependencies:
555 | to-regex-range: 5.0.1
556 | dev: true
557 |
558 | /find-up@5.0.0:
559 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
560 | engines: {node: '>=10'}
561 | dependencies:
562 | locate-path: 6.0.0
563 | path-exists: 4.0.0
564 | dev: true
565 |
566 | /flat-cache@3.2.0:
567 | resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
568 | engines: {node: ^10.12.0 || >=12.0.0}
569 | dependencies:
570 | flatted: 3.2.9
571 | keyv: 4.5.4
572 | rimraf: 3.0.2
573 | dev: true
574 |
575 | /flatted@3.2.9:
576 | resolution: {integrity: sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==}
577 | dev: true
578 |
579 | /fs.realpath@1.0.0:
580 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
581 | dev: true
582 |
583 | /glob-parent@5.1.2:
584 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
585 | engines: {node: '>= 6'}
586 | dependencies:
587 | is-glob: 4.0.3
588 | dev: true
589 |
590 | /glob-parent@6.0.2:
591 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
592 | engines: {node: '>=10.13.0'}
593 | dependencies:
594 | is-glob: 4.0.3
595 | dev: true
596 |
597 | /glob@7.2.3:
598 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
599 | dependencies:
600 | fs.realpath: 1.0.0
601 | inflight: 1.0.6
602 | inherits: 2.0.4
603 | minimatch: 3.1.2
604 | once: 1.4.0
605 | path-is-absolute: 1.0.1
606 | dev: true
607 |
608 | /globals@13.23.0:
609 | resolution: {integrity: sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==}
610 | engines: {node: '>=8'}
611 | dependencies:
612 | type-fest: 0.20.2
613 | dev: true
614 |
615 | /globby@11.1.0:
616 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
617 | engines: {node: '>=10'}
618 | dependencies:
619 | array-union: 2.1.0
620 | dir-glob: 3.0.1
621 | fast-glob: 3.3.2
622 | ignore: 5.3.0
623 | merge2: 1.4.1
624 | slash: 3.0.0
625 | dev: true
626 |
627 | /graphemer@1.4.0:
628 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
629 | dev: true
630 |
631 | /has-flag@4.0.0:
632 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
633 | engines: {node: '>=8'}
634 | dev: true
635 |
636 | /idb@7.1.1:
637 | resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==}
638 | dev: false
639 |
640 | /ignore@5.3.0:
641 | resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==}
642 | engines: {node: '>= 4'}
643 | dev: true
644 |
645 | /import-fresh@3.3.0:
646 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
647 | engines: {node: '>=6'}
648 | dependencies:
649 | parent-module: 1.0.1
650 | resolve-from: 4.0.0
651 | dev: true
652 |
653 | /imurmurhash@0.1.4:
654 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
655 | engines: {node: '>=0.8.19'}
656 | dev: true
657 |
658 | /inflight@1.0.6:
659 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
660 | dependencies:
661 | once: 1.4.0
662 | wrappy: 1.0.2
663 | dev: true
664 |
665 | /inherits@2.0.4:
666 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
667 | dev: true
668 |
669 | /is-extglob@2.1.1:
670 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
671 | engines: {node: '>=0.10.0'}
672 | dev: true
673 |
674 | /is-glob@4.0.3:
675 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
676 | engines: {node: '>=0.10.0'}
677 | dependencies:
678 | is-extglob: 2.1.1
679 | dev: true
680 |
681 | /is-number@7.0.0:
682 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
683 | engines: {node: '>=0.12.0'}
684 | dev: true
685 |
686 | /is-path-inside@3.0.3:
687 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
688 | engines: {node: '>=8'}
689 | dev: true
690 |
691 | /isexe@2.0.0:
692 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
693 | dev: true
694 |
695 | /js-yaml@4.1.0:
696 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
697 | hasBin: true
698 | dependencies:
699 | argparse: 2.0.1
700 | dev: true
701 |
702 | /json-buffer@3.0.1:
703 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
704 | dev: true
705 |
706 | /json-schema-traverse@0.4.1:
707 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
708 | dev: true
709 |
710 | /json-stable-stringify-without-jsonify@1.0.1:
711 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
712 | dev: true
713 |
714 | /keyv@4.5.4:
715 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
716 | dependencies:
717 | json-buffer: 3.0.1
718 | dev: true
719 |
720 | /levn@0.4.1:
721 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
722 | engines: {node: '>= 0.8.0'}
723 | dependencies:
724 | prelude-ls: 1.2.1
725 | type-check: 0.4.0
726 | dev: true
727 |
728 | /locate-path@6.0.0:
729 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
730 | engines: {node: '>=10'}
731 | dependencies:
732 | p-locate: 5.0.0
733 | dev: true
734 |
735 | /lodash.merge@4.6.2:
736 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
737 | dev: true
738 |
739 | /lru-cache@6.0.0:
740 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
741 | engines: {node: '>=10'}
742 | dependencies:
743 | yallist: 4.0.0
744 | dev: true
745 |
746 | /merge2@1.4.1:
747 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
748 | engines: {node: '>= 8'}
749 | dev: true
750 |
751 | /micromatch@4.0.5:
752 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
753 | engines: {node: '>=8.6'}
754 | dependencies:
755 | braces: 3.0.2
756 | picomatch: 2.3.1
757 | dev: true
758 |
759 | /minimatch@3.1.2:
760 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
761 | dependencies:
762 | brace-expansion: 1.1.11
763 | dev: true
764 |
765 | /ms@2.1.2:
766 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
767 | dev: true
768 |
769 | /natural-compare@1.4.0:
770 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
771 | dev: true
772 |
773 | /once@1.4.0:
774 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
775 | dependencies:
776 | wrappy: 1.0.2
777 | dev: true
778 |
779 | /optionator@0.9.3:
780 | resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
781 | engines: {node: '>= 0.8.0'}
782 | dependencies:
783 | '@aashutoshrathi/word-wrap': 1.2.6
784 | deep-is: 0.1.4
785 | fast-levenshtein: 2.0.6
786 | levn: 0.4.1
787 | prelude-ls: 1.2.1
788 | type-check: 0.4.0
789 | dev: true
790 |
791 | /p-limit@3.1.0:
792 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
793 | engines: {node: '>=10'}
794 | dependencies:
795 | yocto-queue: 0.1.0
796 | dev: true
797 |
798 | /p-locate@5.0.0:
799 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
800 | engines: {node: '>=10'}
801 | dependencies:
802 | p-limit: 3.1.0
803 | dev: true
804 |
805 | /parent-module@1.0.1:
806 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
807 | engines: {node: '>=6'}
808 | dependencies:
809 | callsites: 3.1.0
810 | dev: true
811 |
812 | /path-exists@4.0.0:
813 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
814 | engines: {node: '>=8'}
815 | dev: true
816 |
817 | /path-is-absolute@1.0.1:
818 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
819 | engines: {node: '>=0.10.0'}
820 | dev: true
821 |
822 | /path-key@3.1.1:
823 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
824 | engines: {node: '>=8'}
825 | dev: true
826 |
827 | /path-type@4.0.0:
828 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
829 | engines: {node: '>=8'}
830 | dev: true
831 |
832 | /picomatch@2.3.1:
833 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
834 | engines: {node: '>=8.6'}
835 | dev: true
836 |
837 | /prelude-ls@1.2.1:
838 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
839 | engines: {node: '>= 0.8.0'}
840 | dev: true
841 |
842 | /punycode@2.3.1:
843 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
844 | engines: {node: '>=6'}
845 | dev: true
846 |
847 | /queue-microtask@1.2.3:
848 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
849 | dev: true
850 |
851 | /resolve-from@4.0.0:
852 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
853 | engines: {node: '>=4'}
854 | dev: true
855 |
856 | /reusify@1.0.4:
857 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
858 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
859 | dev: true
860 |
861 | /rimraf@3.0.2:
862 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
863 | hasBin: true
864 | dependencies:
865 | glob: 7.2.3
866 | dev: true
867 |
868 | /run-parallel@1.2.0:
869 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
870 | dependencies:
871 | queue-microtask: 1.2.3
872 | dev: true
873 |
874 | /semver@7.5.4:
875 | resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==}
876 | engines: {node: '>=10'}
877 | hasBin: true
878 | dependencies:
879 | lru-cache: 6.0.0
880 | dev: true
881 |
882 | /shebang-command@2.0.0:
883 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
884 | engines: {node: '>=8'}
885 | dependencies:
886 | shebang-regex: 3.0.0
887 | dev: true
888 |
889 | /shebang-regex@3.0.0:
890 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
891 | engines: {node: '>=8'}
892 | dev: true
893 |
894 | /slash@3.0.0:
895 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
896 | engines: {node: '>=8'}
897 | dev: true
898 |
899 | /strip-ansi@6.0.1:
900 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
901 | engines: {node: '>=8'}
902 | dependencies:
903 | ansi-regex: 5.0.1
904 | dev: true
905 |
906 | /strip-json-comments@3.1.1:
907 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
908 | engines: {node: '>=8'}
909 | dev: true
910 |
911 | /supports-color@7.2.0:
912 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
913 | engines: {node: '>=8'}
914 | dependencies:
915 | has-flag: 4.0.0
916 | dev: true
917 |
918 | /text-table@0.2.0:
919 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
920 | dev: true
921 |
922 | /to-regex-range@5.0.1:
923 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
924 | engines: {node: '>=8.0'}
925 | dependencies:
926 | is-number: 7.0.0
927 | dev: true
928 |
929 | /true-myth@6.2.0:
930 | resolution: {integrity: sha512-NYvzj/h2mGXmdIBmz825c/lQhpI4bzUQEEiBCAbNOVpr6aeYa1WTpJ+OmGmj1yPqbTLPKCCSi54yDnaEup504Q==}
931 | engines: {node: 14.* || 16.* || >= 18.*}
932 | dev: false
933 |
934 | /ts-api-utils@1.0.3(typescript@4.7.4):
935 | resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==}
936 | engines: {node: '>=16.13.0'}
937 | peerDependencies:
938 | typescript: '>=4.2.0'
939 | dependencies:
940 | typescript: 4.7.4
941 | dev: true
942 |
943 | /type-check@0.4.0:
944 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
945 | engines: {node: '>= 0.8.0'}
946 | dependencies:
947 | prelude-ls: 1.2.1
948 | dev: true
949 |
950 | /type-fest@0.20.2:
951 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
952 | engines: {node: '>=10'}
953 | dev: true
954 |
955 | /typescript@4.7.4:
956 | resolution: {integrity: sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==}
957 | engines: {node: '>=4.2.0'}
958 | hasBin: true
959 | dev: true
960 |
961 | /uri-js@4.4.1:
962 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
963 | dependencies:
964 | punycode: 2.3.1
965 | dev: true
966 |
967 | /uuid@9.0.1:
968 | resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==}
969 | hasBin: true
970 | dev: false
971 |
972 | /which@2.0.2:
973 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
974 | engines: {node: '>= 8'}
975 | hasBin: true
976 | dependencies:
977 | isexe: 2.0.0
978 | dev: true
979 |
980 | /wrappy@1.0.2:
981 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
982 | dev: true
983 |
984 | /yallist@4.0.0:
985 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
986 | dev: true
987 |
988 | /yocto-queue@0.1.0:
989 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
990 | engines: {node: '>=10'}
991 | dev: true
992 |
--------------------------------------------------------------------------------
/src/db/modelDB.ts:
--------------------------------------------------------------------------------
1 | import { DBSchema, IDBPDatabase, openDB } from "idb/with-async-ittr";
2 | import { v4 as uuidv4 } from "uuid";
3 | import { DBModel, DBTokenizer } from "./types";
4 | import { AvailableModels } from "../models";
5 | import { Result } from "true-myth";
6 | import { retry } from "../utils/retry";
7 |
8 | interface ModelDBSchema extends DBSchema {
9 | models: {
10 | value: DBModel;
11 | key: string;
12 | indexes: { modelID: string };
13 | };
14 | availableModels: {
15 | value: string;
16 | key: AvailableModels;
17 | };
18 | tokenizer: {
19 | value: DBTokenizer;
20 | key: string;
21 | indexes: { modelID: string };
22 | };
23 | }
24 |
25 | /**
26 | * A class that represents a database of models and related data.
27 | *
28 | * @remarks
29 | * The `ModelDB` class uses the IndexedDB API to store and retrieve data. The database schema is defined by the `ModelDBSchema` interface.
30 | *
31 | * To use the `ModelDB` class, first create an instance by calling the constructor. Then call the `init` method to open the database.
32 | *
33 | * Example usage:
34 | *
35 | * ```typescript
36 | * ```
37 | */
38 | export default class ModelDB {
39 | private readonly remoteUrl = "https://rmbl.us";
40 | private db: IDBPDatabase | null;
41 |
42 | private constructor(db: IDBPDatabase) {
43 | this.db = db;
44 | }
45 |
46 | public static async create(): Promise {
47 | const db = await openDB("models", 1, {
48 | upgrade(db) {
49 | const modelStore = db.createObjectStore("models");
50 | modelStore.createIndex("modelID", "modelID");
51 | db.createObjectStore("availableModels");
52 | const tokenizerStore = db.createObjectStore("tokenizer");
53 | tokenizerStore.createIndex("modelID", "modelID");
54 | },
55 | });
56 |
57 | return new ModelDB(db);
58 | }
59 |
60 | private async fetchBytes(
61 | url: string,
62 | onProgress?: (progress: number) => void
63 | ): Promise> {
64 | const run = async () => {
65 | const response = await fetch(url);
66 | if (!response.ok) {
67 | return Result.err(
68 | new Error(`Fetch failed: ${response.status}`)
69 | );
70 | }
71 | const contentLength = +response.headers.get("Content-Length")!;
72 |
73 | const reader = response.body!.getReader();
74 | let receivedLength = 0;
75 | const chunks: Uint8Array = new Uint8Array(contentLength);
76 | for (;;) {
77 | const { done, value } = await reader.read();
78 |
79 | if (done) {
80 | break;
81 | }
82 |
83 | chunks.set(value, receivedLength);
84 | receivedLength += value.length;
85 | if (onProgress) {
86 | onProgress((receivedLength / contentLength) * 100);
87 | }
88 | }
89 | return Result.ok(chunks);
90 | };
91 | return await retry(run, { retries: 3 });
92 | }
93 |
94 | async _getModel(modelID: string): Promise> {
95 | if (!this.db) {
96 | return Result.err(new Error("ModelDB not initialized"));
97 | }
98 |
99 | const tx = this.db.transaction("models", "readonly");
100 | const store = tx.objectStore("models");
101 | const model = await store.get(modelID);
102 |
103 | if (!model) {
104 | return Result.err(new Error("Model not found"));
105 | }
106 | return Result.ok(model);
107 | }
108 |
109 | async getTokenizer(modelID: string): Promise> {
110 | if (!this.db) {
111 | return Result.err(new Error("ModelDB not initialized"));
112 | }
113 |
114 | let tokenizer = await this.db.getFromIndex(
115 | "tokenizer",
116 | "modelID",
117 | modelID
118 | );
119 |
120 | if (!tokenizer) {
121 | //todo: configure URL
122 | const tokenizerBytes = await this.fetchBytes(
123 | "https://huggingface.co/BAAI/bge-small-en-v1.5/raw/main/tokenizer.json"
124 | );
125 | if (tokenizerBytes.isErr) {
126 | return Result.err(tokenizerBytes.error);
127 | }
128 | const tokenizerBytesValue = tokenizerBytes.value;
129 | tokenizer = {
130 | modelID,
131 | bytes: tokenizerBytesValue,
132 | };
133 | this.db.put("tokenizer", tokenizer, modelID);
134 | tokenizer = await this.db.getFromIndex(
135 | "tokenizer",
136 | "modelID",
137 | modelID
138 | );
139 | }
140 |
141 | return Result.ok(tokenizer!);
142 | }
143 |
144 | async getModel(
145 | model: AvailableModels,
146 | onProgress: (progress: number) => void
147 | ): Promise> {
148 | if (!this.db) {
149 | return Result.err(new Error("ModelDB not initialized"));
150 | }
151 | let modelID = await this.db.get("availableModels", model);
152 | if (!modelID) {
153 | await this.fetchRemote(model, onProgress);
154 | modelID = await this.db.get("availableModels", model);
155 | }
156 | return await this._getModel(modelID!);
157 | }
158 |
159 | async fetchRemote(
160 | model: AvailableModels,
161 | onProgress: (progress: number) => void
162 | ): Promise> {
163 | const remoteURL = `${this.remoteUrl}/embd/${model}-f32.bin`;
164 | const fetchResult = await this.fetchBytes(remoteURL, onProgress);
165 |
166 | if (fetchResult.isErr) {
167 | return Result.err(fetchResult.error);
168 | }
169 | const data = fetchResult.value;
170 |
171 | const modelID = uuidv4();
172 | this.db!.put("availableModels", modelID, model);
173 | const dbModel = { name: model, ID: modelID, bytes: data };
174 | this.db!.put("models", dbModel, modelID);
175 | this.getTokenizer(modelID);
176 |
177 | return Result.ok(undefined);
178 | }
179 | }
180 |
--------------------------------------------------------------------------------
/src/db/types.ts:
--------------------------------------------------------------------------------
1 | export interface DBModel {
2 | name: string;
3 | ID: string;
4 | bytes: Uint8Array;
5 | }
6 |
7 | export interface DBTokenizer {
8 | bytes: Uint8Array;
9 | modelID: string;
10 | }
11 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | export { InferenceSession } from "./inferenceSession";
2 | export { AvailableModels } from "./models";
3 | export { SessionManager } from "./sessionManager";
4 | export { default as initialize } from "embd-webgpu";
5 |
--------------------------------------------------------------------------------
/src/inferenceSession.ts:
--------------------------------------------------------------------------------
1 | import { Session } from "./session.worker";
2 | import * as Comlink from "comlink";
3 | import { Result } from "true-myth";
4 | import { AvailableModels } from "./models";
5 |
6 | //User facing API
7 | export class InferenceSession {
8 | private session: Comlink.Remote | Session | null;
9 | private innerWorker: Worker | null; //Keep a reference to the worker so we can terminate it
10 |
11 | constructor(session: Comlink.Remote | Session, worker?: Worker) {
12 | this.session = session;
13 | this.innerWorker = worker || null;
14 | }
15 |
16 | async initSession(
17 | selectedModel: AvailableModels,
18 | onProgress: (progress: number) => void
19 | ): Promise> {
20 | return await this.session!.initSession(selectedModel, onProgress);
21 | }
22 |
23 | async run(
24 | batch: string[],
25 | options: any
26 | ): Promise> {
27 | if (this.session == null) {
28 | return Result.err(new Error("Session not initialized"));
29 | }
30 | return await this.session.run(batch, options);
31 | }
32 |
33 | public destroy(): void {
34 | if (this.innerWorker !== null) {
35 | console.warn("Terminating worker");
36 | this.innerWorker.terminate();
37 | }
38 | this.session = null;
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/src/models.ts:
--------------------------------------------------------------------------------
1 | import { Result } from "true-myth";
2 | import ModelDB from "./db/modelDB";
3 | import { DBModel } from "./db/types";
4 |
5 | export enum AvailableModels {
6 | BAAI_SMALL_EN_v1_5 = "bge-small-en-v1.5",
7 | }
8 |
9 | export const ModelSizes: Map = new Map([
10 | [AvailableModels.BAAI_SMALL_EN_v1_5, 30000000],
11 | ]);
12 |
13 | export class Model {
14 | name: string;
15 | data: Uint8Array;
16 | tokenizer: Uint8Array;
17 |
18 | constructor(name: string, data: Uint8Array, tokenizer: Uint8Array) {
19 | this.name = name;
20 | this.data = data;
21 | this.tokenizer = tokenizer;
22 | }
23 |
24 | static async fromDBModel(
25 | dbModel: DBModel,
26 | db: ModelDB
27 | ): Promise> {
28 | const tokenizerResult = await db.getTokenizer(dbModel.ID);
29 | if (tokenizerResult.isErr) {
30 | return Result.err(tokenizerResult.error);
31 | }
32 | const tokenizerBytes = tokenizerResult.value.bytes;
33 |
34 | return Result.ok(
35 | new Model(dbModel.name, dbModel.bytes, tokenizerBytes)
36 | );
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/src/session.worker.ts:
--------------------------------------------------------------------------------
1 | import * as embd from "embd-webgpu";
2 | import * as Comlink from "comlink";
3 | import { Result } from "true-myth";
4 | import { AvailableModels, Model } from "./models";
5 | import ModelDB from "./db/modelDB";
6 |
7 | export class Session {
8 | embdSession: embd.Session | undefined;
9 |
10 | public async initSession(
11 | selectedModel: AvailableModels,
12 | onProgress: (progress: number) => void
13 | ): Promise> {
14 | if (this.embdSession) {
15 | return Result.err(
16 | new Error(
17 | "Session already initialized. Call `destroy()` first."
18 | )
19 | );
20 | }
21 | const modelResult = await this.loadModel(selectedModel, onProgress);
22 | if (modelResult.isErr) {
23 | return Result.err(modelResult.error);
24 | }
25 | const model = modelResult.value;
26 | await embd.default();
27 | const builder = new embd.SessionBuilder();
28 | const session = await builder
29 | .setModel(model.data)
30 | .setTokenizer(model.tokenizer)
31 | .build();
32 | this.embdSession = session;
33 | return Result.ok(undefined);
34 | }
35 |
36 | private async loadModel(
37 | selectedModel: AvailableModels,
38 | onProgress: (progress: number) => void
39 | ): Promise> {
40 | const db = await ModelDB.create(); //TODO: don't create a new db every time
41 | const dbResult = await db.getModel(selectedModel, onProgress);
42 | if (dbResult.isErr) {
43 | return Result.err(
44 | new Error(
45 | `Failed to load model ${selectedModel} with error: ${dbResult.error}`
46 | )
47 | );
48 | }
49 | const dbModel = dbResult.value;
50 |
51 | const modelResult = await Model.fromDBModel(dbModel, db);
52 |
53 | if (modelResult.isErr) {
54 | return Result.err(
55 | new Error(
56 | `Failed to transmute model ${selectedModel} with error: ${modelResult.error}`
57 | )
58 | );
59 | }
60 | const model = modelResult.value;
61 | return Result.ok(model);
62 | }
63 |
64 | public async run(
65 | batch: string[],
66 | options: any
67 | ): Promise> {
68 | if (!this.embdSession) {
69 | return Result.err(
70 | new Error(
71 | "The session is not initialized. Call `initSession()` method first."
72 | )
73 | );
74 | }
75 |
76 | return Result.ok(await this.embdSession.run(batch, options));
77 | }
78 | }
79 |
80 | if (typeof self !== "undefined") {
81 | Comlink.expose(Session);
82 | }
83 |
--------------------------------------------------------------------------------
/src/sessionManager.ts:
--------------------------------------------------------------------------------
1 | import { InferenceSession } from "./inferenceSession";
2 | import * as Comlink from "comlink";
3 | import { Session } from "./session.worker";
4 | import { AvailableModels } from "./models";
5 | import { Result } from "true-myth";
6 |
7 | export class SessionManager {
8 | /**
9 | * Loads a model and returns a Session instance.
10 | * @param selectedModel - The model to load.
11 | * @param onLoaded - A callback that is called when the model is loaded.
12 | * @returns A Promise that resolves with a Session instance.
13 | *
14 | */
15 | public async loadModel(
16 | selectedModel: AvailableModels,
17 | onLoaded: (result: any) => void,
18 | onProgress: (progress: number) => void
19 | ): Promise> {
20 | const creationResult = await this.createSession(
21 | true,
22 | selectedModel,
23 | onProgress
24 | );
25 | if (creationResult.isErr) {
26 | return Result.err(creationResult.error);
27 | }
28 | onLoaded(creationResult.value);
29 | return Result.ok(creationResult.value);
30 | }
31 |
32 | /**
33 | * Creates a new session with the specified models.
34 | *
35 | * @param spawnWorker - Determines whether a Web Worker should be used for the session.
36 | * @param selectedModel - The model to use for the session.
37 | * @returns A Promise that resolves with a Session instance, or a Remote instance if a Web Worker was used.
38 | *
39 | */
40 | private async createSession(
41 | spawnWorker: boolean,
42 | selectedModel: AvailableModels,
43 | onProgress: (progress: number) => void
44 | ): Promise> {
45 | if (spawnWorker && typeof document !== "undefined") {
46 | const worker = new Worker(
47 | new URL("./session.worker.js", import.meta.url),
48 | {
49 | type: "module",
50 | }
51 | );
52 | const SessionWorker = Comlink.wrap(worker);
53 | const session = await new SessionWorker();
54 | const initResult = await session.initSession(
55 | selectedModel,
56 | Comlink.proxy(onProgress)
57 | );
58 | //@ts-ignore
59 | const [state, data] = initResult.repr;
60 | if (state === "Err") {
61 | return Result.err(
62 | new Error(
63 | "Session initialization failed: " + data.toString()
64 | )
65 | );
66 | }
67 | return Result.ok(new InferenceSession(session, worker));
68 | } else {
69 | const session = new Session();
70 | const initResult = await session.initSession(
71 | selectedModel,
72 | onProgress
73 | );
74 | if (initResult.isErr) {
75 | console.error("Error initializing session: ", initResult);
76 | return Result.err(initResult.error);
77 | }
78 | return Result.ok(new InferenceSession(session));
79 | }
80 | }
81 | }
82 |
83 |
--------------------------------------------------------------------------------
/src/utils/retry.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Retry a function until it succeeds or the number of retries is reached.
3 | */
4 | export async function retry(
5 | callback: () => Promise,
6 | { retries }: { retries: number }
7 | ): Promise {
8 | for (let i = 0; i < retries; i++) {
9 | try {
10 | return await callback();
11 | } catch (error) {
12 | if (i === retries - 1) {
13 | console.error("Retries exhausted, throwing error: ", error);
14 | throw error;
15 | } else {
16 | console.warn("Retrying after error: ", error);
17 | }
18 | }
19 | }
20 |
21 | // Just to make the TypeScript compiler happy.
22 | throw new Error("Unreachable");
23 | }
24 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es2016",
4 | "strict": true,
5 | "module": "esnext",
6 | "lib": ["dom", "esnext"],
7 | "moduleResolution": "node",
8 | "declaration": true,
9 | "forceConsistentCasingInFileNames": true,
10 | "noEmit": false,
11 | "checkJs": false,
12 | "esModuleInterop": true,
13 | "noImplicitAny": false,
14 | "outDir": "./dist",
15 | "sourceMap": true,
16 | "strictPropertyInitialization": true
17 | },
18 | "include": ["src/**/*.ts"],
19 | "exclude": ["node_modules", "test"]
20 | }
21 |
--------------------------------------------------------------------------------