├── .eslintrc.js ├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.yml │ └── config.yml ├── release.yml └── workflows │ ├── bump.yml │ ├── main.yml │ └── publish.yml ├── .gitignore ├── .husky ├── .gitignore └── pre-commit ├── .prettierrc ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── package.json ├── src └── index.ts ├── tsconfig.json └── yarn.lock /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: 'galex', 3 | rules: { 4 | '@typescript-eslint/explicit-member-accessibility': [ 5 | 'error', 6 | { 7 | accessibility: 'explicit', 8 | overrides: { 9 | accessors: 'explicit', 10 | constructors: 'no-public', 11 | methods: 'explicit', 12 | properties: 'explicit', 13 | parameterProperties: 'explicit', 14 | }, 15 | }, 16 | ], 17 | '@typescript-eslint/no-throw-literal': 'off', 18 | 'sonarjs/no-duplicate-string': 'off', 19 | }, 20 | } 21 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- 1 | name: '🐛 Bug report' 2 | description: Create a report to help us improve 3 | body: 4 | - type: markdown 5 | attributes: 6 | value: | 7 | Thank you for reporting an issue :pray:. 8 | 9 | This issue tracker is for reporting bugs found in `remix-auth-email-link` (https://github.com/pbteja1998/remix-auth-email-link). 10 | If you have a question about how to achieve something and are struggling, please post a question 11 | inside of `remix-auth-email-link` Discussions tab: https://github.com/pbteja1998/remix-auth-email-link/discussions 12 | 13 | Before submitting a new bug/issue, please check the links below to see if there is a solution or question posted there already: 14 | - `remix-auth-email-link` Issues tab: https://github.com/pbteja1998/remix-auth-email-link/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc 15 | - `remix-auth-email-link` closed issues tab: https://github.com/pbteja1998/remix-auth-email-link/issues?q=is%3Aissue+sort%3Aupdated-desc+is%3Aclosed 16 | - `remix-auth-email-link` Discussions tab: https://github.com/pbteja1998/remix-auth-email-link/discussions 17 | 18 | The more information you fill in, the better the community can help you. 19 | - type: textarea 20 | id: description 21 | attributes: 22 | label: Describe the bug 23 | description: Provide a clear and concise description of the challenge you are running into. 24 | validations: 25 | required: true 26 | - type: input 27 | id: link 28 | attributes: 29 | label: Your Example Website or App 30 | description: | 31 | Which website or app were you using when the bug happened? 32 | Note: 33 | - Your bug will may get fixed much faster if we can run your code and it doesn't have dependencies other than the Remix Auth npm package. 34 | - To create a shareable code example you can use Stackblitz (https://stackblitz.com/). Please no localhost URLs. 35 | - Please read these tips for providing a minimal example: https://stackoverflow.com/help/mcve. 36 | placeholder: | 37 | e.g. https://stackblitz.com/edit/...... OR Github Repo 38 | validations: 39 | required: true 40 | - type: textarea 41 | id: steps 42 | attributes: 43 | label: Steps to Reproduce the Bug or Issue 44 | description: Describe the steps we have to take to reproduce the behavior. 45 | placeholder: | 46 | 1. Go to '...' 47 | 2. Click on '....' 48 | 3. Scroll down to '....' 49 | 4. See error 50 | validations: 51 | required: true 52 | - type: textarea 53 | id: expected 54 | attributes: 55 | label: Expected behavior 56 | description: Provide a clear and concise description of what you expected to happen. 57 | placeholder: | 58 | As a user, I expected ___ behavior but i am seeing ___ 59 | validations: 60 | required: true 61 | - type: textarea 62 | id: screenshots_or_videos 63 | attributes: 64 | label: Screenshots or Videos 65 | description: | 66 | If applicable, add screenshots or a video to help explain your problem. 67 | For more information on the supported file image/file types and the file size limits, please refer 68 | to the following link: https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/attaching-files 69 | placeholder: | 70 | You can drag your video or image files inside of this editor ↓ 71 | - type: textarea 72 | id: platform 73 | attributes: 74 | label: Platform 75 | value: | 76 | - OS: [e.g. macOS, Windows, Linux] 77 | - Browser: [e.g. Chrome, Safari, Firefox] 78 | - Version: [e.g. 91.1] 79 | validations: 80 | required: true 81 | - type: textarea 82 | id: additional 83 | attributes: 84 | label: Additional context 85 | description: Add any other context about the problem here. 86 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/config.yml: -------------------------------------------------------------------------------- 1 | blank_issues_enabled: false 2 | contact_links: 3 | - name: 🤔 Feature Requests & Questions 4 | url: https://github.com/pbteja1998/remix-auth-email-link/discussions 5 | about: Please ask and answer questions here. 6 | - name: 💬 Remix Discord Channel 7 | url: https://rmx.as/discord 8 | about: Interact with other people using Remix 📀 9 | - name: 💬 New Updates (Twitter) 10 | url: https://twitter.com/remix_run 11 | about: Stay up to date with Remix news on twitter 12 | - name: 🍿 Remix YouTube Channel 13 | url: https://www.youtube.com/channel/UC_9cztXyAZCli9Cky6NWWwQ 14 | about: Are you a techlead or wanting to learn more about Remix in depth? Checkout the Remix YouTube Channel 15 | -------------------------------------------------------------------------------- /.github/release.yml: -------------------------------------------------------------------------------- 1 | changelog: 2 | categories: 3 | - title: Documentation Changes 4 | labels: 5 | - documentation 6 | - title: New Features 7 | labels: 8 | - enhancement 9 | - title: Bug Fixes 10 | labels: 11 | - bug 12 | - title: Other Changes 13 | labels: 14 | - '*' 15 | -------------------------------------------------------------------------------- /.github/workflows/bump.yml: -------------------------------------------------------------------------------- 1 | name: Bump version 2 | 3 | on: 4 | workflow_dispatch: 5 | inputs: 6 | version: 7 | description: 'Type of version (major / minor / patch)' 8 | required: true 9 | 10 | jobs: 11 | bump-version: 12 | name: Bump version 13 | runs-on: ubuntu-latest 14 | steps: 15 | - name: Check out source 16 | uses: actions/checkout@v2 17 | with: 18 | ssh-key: ${{ secrets.DEPLOY_KEY }} 19 | - name: Setup Node.js 20 | uses: actions/setup-node@v2 21 | with: 22 | node-version: '18' 23 | cache: 'yarn' 24 | - name: Install dependencies 25 | uses: bahmutov/npm-install@v1 26 | - name: Setup Git 27 | run: | 28 | git config user.name '${{ secrets.GIT_USER_NAME }}' 29 | git config user.email '${{ secrets.GIT_USER_EMAIL }}' 30 | - name: bump version 31 | run: yarn version --${{ github.event.inputs.version }} 32 | 33 | - name: Push latest version 34 | run: git push origin main --follow-tags 35 | -------------------------------------------------------------------------------- /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: [push] 4 | 5 | jobs: 6 | build: 7 | name: Build 8 | runs-on: ubuntu-latest 9 | steps: 10 | - name: Checkout repo 11 | uses: actions/checkout@v2 12 | 13 | - name: Use Node 18 14 | uses: actions/setup-node@v1 15 | with: 16 | node-version: 18 17 | 18 | - name: Install dependencies 19 | uses: bahmutov/npm-install@v1 20 | 21 | - name: Build 22 | run: yarn build 23 | 24 | typecheck: 25 | name: Typechecker 26 | runs-on: ubuntu-latest 27 | steps: 28 | - name: Checkout repo 29 | uses: actions/checkout@v2 30 | 31 | - name: Use Node 18 32 | uses: actions/setup-node@v1 33 | with: 34 | node-version: 18 35 | 36 | - name: Install dependencies 37 | uses: bahmutov/npm-install@v1 38 | 39 | - name: Typecheck 40 | run: yarn typecheck 41 | 42 | lint: 43 | name: Linter 44 | runs-on: ubuntu-latest 45 | steps: 46 | - name: Checkout repo 47 | uses: actions/checkout@v2 48 | 49 | - name: Use Node 18 50 | uses: actions/setup-node@v1 51 | with: 52 | node-version: 18 53 | 54 | - name: Install dependencies 55 | uses: bahmutov/npm-install@v1 56 | 57 | - name: Build 58 | run: yarn build 59 | 60 | - name: Lint 61 | run: yarn lint 62 | -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: Publish 2 | 3 | on: 4 | release: 5 | types: [published] 6 | 7 | jobs: 8 | build: 9 | runs-on: ubuntu-latest 10 | steps: 11 | - uses: actions/checkout@v1 12 | - uses: actions/setup-node@v1 13 | with: 14 | node-version: 18 15 | registry-url: https://registry.npmjs.org/ 16 | - run: yarn install 17 | - run: yarn build 18 | - run: npm publish --access public 19 | env: 20 | NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} 21 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | /build 3 | /coverage 4 | 5 | *.log 6 | .DS_Store -------------------------------------------------------------------------------- /.husky/.gitignore: -------------------------------------------------------------------------------- 1 | _ 2 | -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | . "$(dirname "$0")/_/husky.sh" 3 | 4 | npx lint-staged 5 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "arrowParens": "always", 4 | "singleQuote": true, 5 | "proseWrap": "never" 6 | } 7 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contribution 2 | 3 | ## Setup 4 | 5 | First make sure you have yarn 1.x (classic) installed. If you are on yarn 2 or 3, you can use yarn 1.x by issueing the following command: 6 | 7 | ```bash 8 | yarn set version classic 9 | ``` 10 | 11 | Run `yarn install` to install the dependencies. 12 | 13 | Run the tests with `yarn run test`. 14 | 15 | Run the linter with `yarn run lint`. 16 | 17 | Run the typechecker with `yarn run typecheck`. 18 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Sergio Xalambrí 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Email Link Strategy - Remix Auth 2 | 3 | > This strategy is heavily based on **kcd** strategy present in the [v2 of Remix Auth](https://github.com/sergiodxa/remix-auth/blob/v2.6.0/docs/strategies/kcd.md). The major difference being we are using `crypto-js` instead of `crypto` so that it can be deployed on CF. 4 | 5 | The Email Link Strategy implements the authentication strategy used on [kentcdodds.com](https://kentcdodds.com). 6 | 7 | This strategy uses passwordless flow with magic links. A magic link is a special URL generated when the user tries to login, this URL is sent to the user via email, after the click on it the user is automatically logged in. 8 | 9 | You can read more about how this work in the [kentcdodds.com/how-i-built-a-modern-website-in-2021](https://kentcdodds.com/blog/how-i-built-a-modern-website-in-2021#authentication-with-magic-links). 10 | 11 | ## Supported runtimes 12 | 13 | | Runtime | Has Support | 14 | | ---------- | ----------- | 15 | | Node.js | ✅ | 16 | | Cloudflare | ✅ | 17 | 18 | 19 | 20 | ## How to use 21 | 22 | 23 | 24 | ## Setup 25 | 26 | Because of how this strategy works you need a little bit more setup than other strategies, but nothing specially crazy. 27 | 28 | ### Email Service 29 | 30 | You will need to have some email service configured in your application. What you actually use to send emails is not important, as far as you can create a function with this type: 31 | 32 | ```ts 33 | type SendEmailOptions = { 34 | emailAddress: string 35 | magicLink: string 36 | user?: User | null 37 | domainUrl: string 38 | form: FormData 39 | } 40 | 41 | type SendEmailFunction = { 42 | (options: SendEmailOptions): Promise 43 | } 44 | ``` 45 | 46 | So if you have something like `app/services/email-provider.server.ts` file exposing a generic function like `sendEmail` function receiving an email address, subject and body, you could use it like this: 47 | 48 | ```tsx 49 | // app/services/email.server.tsx 50 | import { renderToString } from 'react-dom/server' 51 | import type { SendEmailFunction } from 'remix-auth-email-link' 52 | import type { User } from '~/models/user.model' 53 | import * as emailProvider from '~/services/email-provider.server' 54 | 55 | export let sendEmail: SendEmailFunction = async (options) => { 56 | let subject = "Here's your Magic sign-in link" 57 | let body = renderToString( 58 |

59 | Hi {options.user?.name || 'there'},
60 |
61 | Click here to login on example.app 62 |

63 | ) 64 | 65 | await emailProvider.sendEmail(options.emailAddress, subject, body) 66 | } 67 | ``` 68 | 69 | Again, what you use as email provider is not important, you could use a third party service like [Mailgun](https://mailgun.com) or [Sendgrid](https://sendgrid.com), if you are using AWS you could use SES. 70 | 71 | ### Create the strategy instance 72 | 73 | Now that you have your sendEmail email function you can create an instance of the Authenticator and the EmailLinkStrategy. 74 | 75 | ```ts 76 | // app/services/auth.server.ts 77 | import { Authenticator } from 'remix-auth' 78 | import { EmailLinkStrategy } from 'remix-auth-email-link' 79 | import { sessionStorage } from '~/services/session.server' 80 | import { sendEmail } from '~/services/email.server' 81 | import { User, getUserByEmail } from '~/models/user.server' 82 | 83 | // This secret is used to encrypt the token sent in the magic link and the 84 | // session used to validate someone else is not trying to sign-in as another 85 | // user. 86 | let secret = process.env.MAGIC_LINK_SECRET 87 | if (!secret) throw new Error('Missing MAGIC_LINK_SECRET env variable.') 88 | 89 | export let auth = new Authenticator(sessionStorage) 90 | 91 | // Here we need the sendEmail, the secret and the URL where the user is sent 92 | // after clicking on the magic link 93 | auth.use( 94 | new EmailLinkStrategy( 95 | { sendEmail, secret, callbackURL: '/magic' }, 96 | // In the verify callback, 97 | // you will receive the email address, form data and whether or not this is being called after clicking on magic link 98 | // and you should return the user instance 99 | async ({ 100 | email, 101 | form, 102 | magicLinkVerify, 103 | }: { 104 | email: string 105 | form: FormData 106 | magicLinkVerify: boolean 107 | }) => { 108 | let user = await getUserByEmail(email) 109 | return user 110 | } 111 | ) 112 | ) 113 | ``` 114 | 115 | ### Setup your routes 116 | 117 | Now you can proceed to create your routes and do the setup. 118 | 119 | ```tsx 120 | // app/routes/login.tsx 121 | import { ActionArgs, LoaderArgs } from '@remix-run/node' 122 | import { json } from '@remix-run/node' 123 | import { Form, useLoaderData } from '@remix-run/react' 124 | import { auth } from '~/services/auth.server' 125 | import { sessionStorage } from '~/services/session.server' 126 | 127 | export let loader = async ({ request }: LoaderArgs) => { 128 | await auth.isAuthenticated(request, { successRedirect: '/me' }) 129 | let session = await sessionStorage.getSession(request.headers.get('Cookie')) 130 | // This session key `auth:magiclink` is the default one used by the EmailLinkStrategy 131 | // you can customize it passing a `sessionMagicLinkKey` when creating an 132 | // instance. 133 | return json({ 134 | magicLinkSent: session.has('auth:magiclink'), 135 | magicLinkEmail: session.get('auth:email'), 136 | }) 137 | } 138 | 139 | export let action = async ({ request }: ActionArgs) => { 140 | // The success redirect is required in this action, this is where the user is 141 | // going to be redirected after the magic link is sent, note that here the 142 | // user is not yet authenticated, so you can't send it to a private page. 143 | await auth.authenticate('email-link', request, { 144 | successRedirect: '/login', 145 | // If this is not set, any error will be throw and the ErrorBoundary will be 146 | // rendered. 147 | failureRedirect: '/login', 148 | }) 149 | } 150 | 151 | // app/routes/login.tsx 152 | export default function Login() { 153 | let { magicLinkSent, magicLinkEmail } = useLoaderData() 154 | 155 | return ( 156 |
157 | {magicLinkSent ? ( 158 |

159 | Successfully sent magic link{' '} 160 | {magicLinkEmail ? `to ${magicLinkEmail}` : ''} 161 |

162 | ) : ( 163 | <> 164 |

Log in to your account.

165 |
166 | 167 | 168 |
169 | 170 | 171 | )} 172 |
173 | ) 174 | } 175 | ``` 176 | 177 | ```tsx 178 | // app/routes/magic.tsx 179 | import { LoaderArgs } from '@remix-run/node' 180 | import { auth } from '~/services/auth.server' 181 | 182 | export let loader = async ({ request }: LoaderArgs) => { 183 | await auth.authenticate('email-link', request, { 184 | // If the user was authenticated, we redirect them to their profile page 185 | // This redirect is optional, if not defined the user will be returned by 186 | // the `authenticate` function and you can render something on this page 187 | // manually redirect the user. 188 | successRedirect: '/me', 189 | // If something failed we take them back to the login page 190 | // This redirect is optional, if not defined any error will be throw and 191 | // the ErrorBoundary will be rendered. 192 | failureRedirect: '/login', 193 | }) 194 | } 195 | ``` 196 | 197 | ```tsx 198 | // app/routes/me.tsx 199 | import { LoaderArgs } from '@remix-run/node' 200 | import { json } from '@remix-run/node' 201 | import { useLoaderData } from '@remix-run/react' 202 | import { auth } from '~/services/auth.server' 203 | 204 | export let loader = async ({ request }: LoaderArgs) => { 205 | // If the user is here, it's already authenticated, if not redirect them to 206 | // the login page. 207 | let user = await auth.isAuthenticated(request, { failureRedirect: '/login' }) 208 | return json({ user }) 209 | } 210 | 211 | export default function Me() { 212 | let { user } = useLoaderData() 213 | return ( 214 |
215 |

Welcome {user.name}

216 |

You are logged in as {user.email}

217 |
218 | ) 219 | } 220 | ``` 221 | 222 | ## Email validation 223 | 224 | The EmailLinkStrategy also supports email validation, this is useful if you want to prevent someone from signing-in with a disposable email address or you have some denylist of emails for some reason. 225 | 226 | By default, the EmailStrategy will validate every email against the regular expression `/.+@.+/`, if it doesn't pass it will throw an error. 227 | 228 | If you want to customize it you can create a function with this type and pass it to the EmailLinkStrategy. 229 | 230 | ```ts 231 | type VerifyEmailFunction = { 232 | (email: string): Promise 233 | } 234 | ``` 235 | 236 | ### Example 237 | 238 | ```ts 239 | // app/services/verifier.server.ts 240 | import { VerifyEmailFunction } from 'remix-auth-email-link' 241 | import { isEmailBurner } from 'burner-email-providers' 242 | import isEmail from 'validator/lib/isEmail' 243 | 244 | export let verifyEmailAddress: VerifyEmailFunction = async (email) => { 245 | if (!isEmail(email)) throw new Error('Invalid email address.') 246 | if (isEmailBurner(email)) throw new Error('Email not allowed.') 247 | } 248 | ``` 249 | 250 | ```ts 251 | // app/services/auth.server.ts 252 | import { Authenticator } from 'remix-auth' 253 | import { Authenticator, EmailLinkStrategy } from 'remix-auth-email-link' 254 | import { sessionStorage } from '~/services/session.server' 255 | import { sendEmail } from '~/services/email.server' 256 | import { User, getUserByEmail } from '~/models/user.model' 257 | import { verifyEmailAddress } from '~/services/verifier.server' 258 | 259 | // This secret is used to encrypt the token sent in the magic link and the 260 | // session used to validate someone else is not trying to sign-in as another 261 | // user. 262 | let secret = process.env.MAGIC_LINK_SECRET 263 | if (!secret) throw new Error('Missing MAGIC_LINK_SECRET env variable.') 264 | 265 | let auth = new Authenticator(sessionStorage) 266 | 267 | // Here we need the sendEmail, the secret and the URL where the user is sent 268 | // after clicking on the magic link 269 | auth.use( 270 | new EmailLinkStrategy( 271 | { verifyEmailAddress, sendEmail, secret, callbackURL: '/magic' }, 272 | // In the verify callback you will only receive the email address and you 273 | // should return the user instance 274 | async ({ email }: { email: string }) => { 275 | let user = await getUserByEmail(email) 276 | return user 277 | } 278 | ) 279 | ) 280 | ``` 281 | 282 | ## Options options 283 | 284 | The EmailLinkStrategy supports a few more optional configuration options you can set. Here's the whole type with each option commented. 285 | 286 | ```ts 287 | type EmailLinkStrategyOptions = { 288 | /** 289 | * The endpoint the user will go after clicking on the email link. 290 | * A whole URL is not required, the pathname is enough, the strategy will 291 | * detect the host of the request and use it to build the URL. 292 | * @default "/magic" 293 | */ 294 | callbackURL?: string 295 | /** 296 | * A function to send the email. This function should receive the email 297 | * address of the user and the URL to redirect to and should return a Promise. 298 | * The value of the Promise will be ignored. 299 | */ 300 | sendEmail: SendEmailFunction 301 | /** 302 | * A function to validate the email address. This function should receive the 303 | * email address as a string and return a Promise. The value of the Promise 304 | * will be ignored, in case of error throw an error. 305 | * 306 | * By default it only test the email against the RegExp `/.+@.+/`. 307 | */ 308 | verifyEmailAddress?: VerifyEmailFunction 309 | /** 310 | * A secret string used to encrypt and decrypt the token and magic link. 311 | */ 312 | secret: string 313 | /** 314 | * The name of the form input used to get the email. 315 | * @default "email" 316 | */ 317 | emailField?: string 318 | /** 319 | * The param name the strategy will use to read the token from the email link. 320 | * @default "token" 321 | */ 322 | magicLinkSearchParam?: string 323 | /** 324 | * How long the magic link will be valid. Default to 30 minutes. 325 | * @default 1_800_000 326 | */ 327 | linkExpirationTime?: number 328 | /** 329 | * The key on the session to store any error message. 330 | * @default "auth:error" 331 | */ 332 | sessionErrorKey?: string 333 | /** 334 | * The key on the session to store the magic link. 335 | * @default "auth:magiclink" 336 | */ 337 | sessionMagicLinkKey?: string 338 | /** 339 | * Add an extra layer of protection and validate the magic link is valid. 340 | * @default false 341 | */ 342 | validateSessionMagicLink?: boolean 343 | 344 | /** 345 | * The key on the session to store the email. 346 | * It's unset the same time the sessionMagicLinkKey is. 347 | * @default "auth:email" 348 | */ 349 | sessionEmailKey?: string 350 | } 351 | ``` 352 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "remix-auth-email-link", 3 | "version": "2.1.1", 4 | "main": "./build/index.js", 5 | "types": "./build/index.d.ts", 6 | "scripts": { 7 | "build": "tsc --project tsconfig.json", 8 | "typecheck": "tsc --project tsconfig.json --noEmit", 9 | "lint": "eslint . --fix --ignore-path .gitignore", 10 | "format": "prettier --config .prettierrc --write --list-different --ignore-path .gitignore .", 11 | "coverage": "yarn test -- --coverage", 12 | "prepare": "husky install" 13 | }, 14 | "keywords": [ 15 | "remix", 16 | "remix-auth", 17 | "auth", 18 | "authentication", 19 | "strategy" 20 | ], 21 | "author": { 22 | "name": "Bhanu Teja Pachipulusu", 23 | "email": "pbteja1998@gmail.com", 24 | "url": "https://github.com/pbteja1998" 25 | }, 26 | "repository": { 27 | "url": "https://github.com/pbteja1998/remix-auth-email-link", 28 | "type": "git" 29 | }, 30 | "license": "MIT", 31 | "files": [ 32 | "build", 33 | "package.json", 34 | "README.md" 35 | ], 36 | "peerDependencies": { 37 | "@remix-run/server-runtime": "^2.0.1", 38 | "remix-auth": "^3.6.0" 39 | }, 40 | "devDependencies": { 41 | "@remix-run/node": "^2.0.1", 42 | "@remix-run/react": "^2.0.1", 43 | "@remix-run/server-runtime": "^2.0.1", 44 | "@types/crypto-js": "^4.1.0", 45 | "@typescript-eslint/eslint-plugin": "^5.8.1", 46 | "@typescript-eslint/parser": "^5.8.1", 47 | "core-js-pure": "^3.33.0", 48 | "eslint": "^8.5.0", 49 | "eslint-config-galex": "^3.5.3", 50 | "husky": ">=6", 51 | "lint-staged": ">=12.1.4", 52 | "prettier": "^2.5.1", 53 | "react": "^18.0.2", 54 | "remix-auth": "^3.6.0", 55 | "ts-node": "^10.4.0", 56 | "typescript": "^5.2.0" 57 | }, 58 | "dependencies": { 59 | "crypto-js": "^4.2.0" 60 | }, 61 | "lint-staged": { 62 | "*.{js,jsx,ts,tsx}": "yarn lint", 63 | "*.{js,jsx,ts,tsx,css,json,md}": "yarn format" 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import type { SessionStorage } from '@remix-run/server-runtime' 2 | import { redirect } from '@remix-run/server-runtime' 3 | import crypto from 'crypto-js' 4 | import type { AuthenticateOptions, StrategyVerifyCallback } from 'remix-auth' 5 | import { Strategy } from 'remix-auth' 6 | 7 | export type SendEmailOptions = { 8 | emailAddress: string 9 | magicLink: string 10 | user?: User | null 11 | domainUrl: string 12 | form: FormData 13 | } 14 | 15 | export type SendEmailFunction = { 16 | (options: SendEmailOptions): Promise 17 | } 18 | 19 | /** 20 | * Validate the email address the user is trying to use to login. 21 | * This can be useful to ensure it's not a disposable email address. 22 | * @param emailAddress The email address to validate 23 | */ 24 | export type VerifyEmailFunction = { 25 | (email: string): Promise 26 | } 27 | 28 | /** 29 | * The content of the magic link payload. Keys are minified so that the resulting link is as short as possible. 30 | */ 31 | export type MagicLinkPayload = { 32 | /** 33 | * Email address used to authenticate. 34 | */ 35 | e: string 36 | /** 37 | * Form data received in the request. 38 | */ 39 | f?: Record 40 | /** 41 | * Creation date of the magic link, as an ISO string. This is used to check 42 | * the email link is still valid. 43 | */ 44 | c: number 45 | } 46 | 47 | /** 48 | * This interface declares what configuration the strategy needs from the 49 | * developer to correctly work. 50 | */ 51 | export type EmailLinkStrategyOptions = { 52 | /** 53 | * The endpoint the user will go after clicking on the email link. 54 | * A whole URL is not required, the pathname is enough, the strategy will 55 | * detect the host of the request and use it to build the URL. 56 | * @default "/magic" 57 | */ 58 | callbackURL?: string 59 | /** 60 | * A function to send the email. This function should receive the email 61 | * address of the user and the URL to redirect to and should return a Promise. 62 | * The value of the Promise will be ignored. 63 | */ 64 | sendEmail: SendEmailFunction 65 | /** 66 | * A function to validate the email address. This function should receive the 67 | * email address as a string and return a Promise. The value of the Promise 68 | * will be ignored, in case of error throw an error. 69 | * 70 | * By default it only test the email against the RegExp `/.+@.+/`. 71 | */ 72 | verifyEmailAddress?: VerifyEmailFunction 73 | /** 74 | * A secret string used to encrypt and decrypt the token and magic link. 75 | */ 76 | secret: string 77 | /** 78 | * The name of the form input used to get the email. 79 | * @default "email" 80 | */ 81 | emailField?: string 82 | /** 83 | * The param name the strategy will use to read the token from the email link. 84 | * @default "token" 85 | */ 86 | magicLinkSearchParam?: string 87 | /** 88 | * How long the magic link will be valid. Default to 30 minutes. 89 | * @default 1_800_000 90 | */ 91 | linkExpirationTime?: number 92 | /** 93 | * The key on the session to store any error message. 94 | * @default "auth:error" 95 | */ 96 | sessionErrorKey?: string 97 | /** 98 | * The key on the session to store the magic link. 99 | * @default "auth:magiclink" 100 | */ 101 | sessionMagicLinkKey?: string 102 | /** 103 | * Add an extra layer of protection and validate the magic link is valid. 104 | * @default false 105 | */ 106 | validateSessionMagicLink?: boolean 107 | 108 | /** 109 | * The key on the session to store the email. 110 | * It's unset the same time the sessionMagicLinkKey is. 111 | * @default "auth:email" 112 | */ 113 | sessionEmailKey?: string 114 | } 115 | 116 | /** 117 | * This interface declares what the developer will receive from the strategy 118 | * to verify the user identity in their system. 119 | */ 120 | export type EmailLinkStrategyVerifyParams = { 121 | email: string 122 | form: FormData 123 | /** 124 | * True, if the verify callback is called after clicking on the magic link 125 | */ 126 | magicLinkVerify: boolean 127 | } 128 | 129 | const verifyEmailAddress: VerifyEmailFunction = async (email) => { 130 | if (!/.+@.+/u.test(email)) { 131 | throw new Error('A valid email is required.') 132 | } 133 | } 134 | 135 | export class EmailLinkStrategy extends Strategy< 136 | User, 137 | EmailLinkStrategyVerifyParams 138 | > { 139 | public name = 'email-link' 140 | 141 | private readonly emailField: string = 'email' 142 | 143 | private readonly callbackURL: string 144 | 145 | private readonly sendEmail: SendEmailFunction 146 | 147 | private readonly validateEmail: VerifyEmailFunction 148 | 149 | private readonly secret: string 150 | 151 | private readonly magicLinkSearchParam: string 152 | 153 | private readonly linkExpirationTime: number 154 | 155 | private readonly sessionErrorKey: string 156 | 157 | private readonly sessionMagicLinkKey: string 158 | 159 | private readonly validateSessionMagicLink: boolean 160 | 161 | private readonly sessionEmailKey: string 162 | 163 | constructor( 164 | options: EmailLinkStrategyOptions, 165 | verify: StrategyVerifyCallback 166 | ) { 167 | super(verify) 168 | this.sendEmail = options.sendEmail 169 | this.callbackURL = options.callbackURL ?? '/magic' 170 | this.secret = options.secret 171 | this.sessionErrorKey = options.sessionErrorKey ?? 'auth:error' 172 | this.sessionMagicLinkKey = options.sessionMagicLinkKey ?? 'auth:magiclink' 173 | this.validateEmail = options.verifyEmailAddress ?? verifyEmailAddress 174 | this.emailField = options.emailField ?? this.emailField 175 | this.magicLinkSearchParam = options.magicLinkSearchParam ?? 'token' 176 | this.linkExpirationTime = options.linkExpirationTime ?? 1000 * 60 * 30 // 30 minutes 177 | this.validateSessionMagicLink = options.validateSessionMagicLink ?? false 178 | this.sessionEmailKey = options.sessionEmailKey ?? 'auth:email' 179 | } 180 | 181 | public async authenticate( 182 | request: Request, 183 | sessionStorage: SessionStorage, 184 | options: AuthenticateOptions 185 | ): Promise { 186 | const session = await sessionStorage.getSession( 187 | request.headers.get('Cookie') 188 | ) 189 | 190 | const form = new URLSearchParams(await request.text()) 191 | const formData = new FormData() 192 | 193 | // Convert the URLSearchParams to FormData 194 | for (const [name, value] of form) { 195 | formData.append(name, value) 196 | } 197 | 198 | // This should only be called in an action if it's used to start the login process 199 | if (request.method === 'POST') { 200 | if (!options.successRedirect) { 201 | throw new Error( 202 | 'Missing successRedirect. The successRedirect is required for POST requests.' 203 | ) 204 | } 205 | 206 | // get the email address from the request body 207 | const emailAddress = form.get(this.emailField) 208 | 209 | // if it doesn't have an email address, 210 | if (!emailAddress || typeof emailAddress !== 'string') { 211 | const message = 'Missing email address.' 212 | if (!options.failureRedirect) { 213 | throw new Error(message) 214 | } 215 | session.flash(this.sessionErrorKey, { message }) 216 | const cookie = await sessionStorage.commitSession(session) 217 | throw redirect(options.failureRedirect, { 218 | headers: { 'Set-Cookie': cookie }, 219 | }) 220 | } 221 | 222 | try { 223 | // Validate the email address 224 | await this.validateEmail(emailAddress) 225 | 226 | const domainUrl = this.getDomainURL(request) 227 | 228 | const magicLink = await this.sendToken( 229 | emailAddress, 230 | domainUrl, 231 | formData 232 | ) 233 | 234 | session.set(this.sessionMagicLinkKey, await this.encrypt(magicLink)) 235 | session.set(this.sessionEmailKey, emailAddress) 236 | 237 | throw redirect(options.successRedirect, { 238 | headers: { 239 | 'Set-Cookie': await sessionStorage.commitSession(session), 240 | }, 241 | }) 242 | } catch (error) { 243 | // eslint-disable-next-line @typescript-eslint/no-explicit-any 244 | if ((error as any).status === 302) { 245 | // If it's a redirect, then just throw the redirect as it is 246 | throw error 247 | } 248 | if (!options.failureRedirect) { 249 | throw error 250 | } 251 | const { message } = error as Error 252 | session.flash(this.sessionErrorKey, { message }) 253 | const cookie = await sessionStorage.commitSession(session) 254 | throw redirect(options.failureRedirect, { 255 | headers: { 'Set-Cookie': cookie }, 256 | }) 257 | } 258 | } 259 | 260 | let user: User 261 | 262 | try { 263 | // If we get here, the user clicked on the magic link inside email 264 | const magicLink = session.get(this.sessionMagicLinkKey) ?? '' 265 | const { emailAddress: email, form } = await this.validateMagicLink( 266 | request.url, 267 | await this.decrypt(magicLink) 268 | ) 269 | // now that we have the user email we can call verify to get the user 270 | user = await this.verify({ email, form, magicLinkVerify: true }) 271 | } catch (error) { 272 | // if something happens, we should redirect to the failureRedirect 273 | // and flash the error message, or just throw the error if failureRedirect 274 | // is not defined 275 | if (!options.failureRedirect) { 276 | throw error 277 | } 278 | const { message } = error as Error 279 | session.flash(this.sessionErrorKey, { message }) 280 | const cookie = await sessionStorage.commitSession(session) 281 | throw redirect(options.failureRedirect, { 282 | headers: { 'Set-Cookie': cookie }, 283 | }) 284 | } 285 | 286 | if (!options.successRedirect) { 287 | return user 288 | } 289 | 290 | // remove the magic link and email from the session 291 | session.unset(this.sessionMagicLinkKey) 292 | session.unset(this.sessionEmailKey) 293 | 294 | session.set(options.sessionKey, user) 295 | const cookie = await sessionStorage.commitSession(session) 296 | throw redirect(options.successRedirect, { 297 | headers: { 'Set-Cookie': cookie }, 298 | }) 299 | } 300 | 301 | public async getMagicLink( 302 | emailAddress: string, 303 | domainUrl: string, 304 | form: FormData 305 | ): Promise { 306 | const payload = this.createMagicLinkPayload(emailAddress, form) 307 | const stringToEncrypt = JSON.stringify(payload) 308 | const encryptedString = await this.encrypt(stringToEncrypt) 309 | const url = new URL(domainUrl) 310 | url.pathname = this.callbackURL 311 | url.searchParams.set(this.magicLinkSearchParam, encryptedString) 312 | return url.toString() 313 | } 314 | 315 | private getDomainURL(request: Request): string { 316 | const host = 317 | request.headers.get('X-Forwarded-Host') ?? request.headers.get('host') 318 | 319 | if (!host) { 320 | throw new Error('Could not determine domain URL.') 321 | } 322 | 323 | const protocol = 324 | host.includes('localhost') || host.includes('127.0.0.1') 325 | ? 'http' 326 | : request.headers.get('X-Forwarded-Proto') ?? 'https' 327 | 328 | return `${protocol}://${host}` 329 | } 330 | 331 | private async sendToken(email: string, domainUrl: string, form: FormData) { 332 | const magicLink = await this.getMagicLink(email, domainUrl, form) 333 | 334 | const user = await this.verify({ 335 | email, 336 | form, 337 | magicLinkVerify: false, 338 | }).catch(() => null) 339 | 340 | await this.sendEmail({ 341 | emailAddress: email, 342 | magicLink, 343 | user, 344 | domainUrl, 345 | form, 346 | }) 347 | 348 | return magicLink 349 | } 350 | 351 | private createFormPayload(form: FormData): MagicLinkPayload['f'] { 352 | const formKeys = [...form.keys()] 353 | return formKeys.length === 1 354 | ? undefined 355 | : Object.fromEntries( 356 | formKeys 357 | .filter((key) => key !== this.emailField) 358 | .map((key) => [ 359 | key, 360 | form.getAll(key).length > 1 ? form.getAll(key) : form.get(key), 361 | ]) 362 | ) 363 | } 364 | 365 | private createMagicLinkPayload( 366 | emailAddress: string, 367 | form: FormData 368 | ): MagicLinkPayload { 369 | const formPayload = this.createFormPayload(form) 370 | return { 371 | e: emailAddress, 372 | ...(formPayload && { f: formPayload }), 373 | c: Date.now(), 374 | } 375 | } 376 | 377 | private async encrypt(value: string): Promise { 378 | return crypto.AES.encrypt(value, this.secret).toString() 379 | } 380 | 381 | private async decrypt(value: string): Promise { 382 | const bytes = crypto.AES.decrypt(value, this.secret) 383 | return bytes.toString(crypto.enc.Utf8) 384 | } 385 | 386 | private getMagicLinkCode(link: string) { 387 | try { 388 | const url = new URL(link) 389 | return url.searchParams.get(this.magicLinkSearchParam) ?? '' 390 | } catch { 391 | return '' 392 | } 393 | } 394 | 395 | private async validateMagicLink( 396 | requestUrl: string, 397 | sessionMagicLink?: string 398 | ) { 399 | const linkCode = this.getMagicLinkCode(requestUrl) 400 | const sessionLinkCode = sessionMagicLink 401 | ? this.getMagicLinkCode(sessionMagicLink) 402 | : null 403 | 404 | let emailAddress 405 | let linkCreationTime 406 | let form: Record 407 | try { 408 | const decryptedString = await this.decrypt(linkCode) 409 | const payload = JSON.parse(decryptedString) as MagicLinkPayload 410 | emailAddress = payload.e 411 | form = payload.f ?? {} 412 | form[this.emailField] = emailAddress 413 | linkCreationTime = payload.c 414 | } catch (error: unknown) { 415 | console.error(error) 416 | throw new Error('Sign in link invalid. Please request a new one.') 417 | } 418 | 419 | if (typeof emailAddress !== 'string') { 420 | throw new TypeError('Sign in link invalid. Please request a new one.') 421 | } 422 | 423 | if (this.validateSessionMagicLink) { 424 | if (!sessionLinkCode) { 425 | throw new Error('Sign in link invalid. Please request a new one.') 426 | } 427 | if (linkCode !== sessionLinkCode) { 428 | throw new Error( 429 | `You must open the magic link on the same device it was created from for security reasons. Please request a new link.` 430 | ) 431 | } 432 | } 433 | 434 | if (typeof linkCreationTime !== 'number') { 435 | throw new TypeError('Sign in link invalid. Please request a new one.') 436 | } 437 | 438 | const expirationTime = linkCreationTime + this.linkExpirationTime 439 | if (Date.now() > expirationTime) { 440 | throw new Error('Magic link expired. Please request a new one.') 441 | } 442 | const formData = new FormData() 443 | Object.keys(form).forEach((key) => { 444 | if (Array.isArray(form[key])) { 445 | ;(form[key] as unknown[]).forEach((value) => { 446 | formData.append(key, value as string | Blob) 447 | }) 448 | } else { 449 | formData.append(key, form[key] as string | Blob) 450 | } 451 | }) 452 | return { emailAddress, form: formData } 453 | } 454 | } 455 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["DOM", "DOM.Iterable", "ES2019"], 4 | "esModuleInterop": true, 5 | "moduleResolution": "Node", 6 | "module": "CommonJS", 7 | "target": "ES2019", 8 | "strict": true, 9 | "skipLibCheck": true, 10 | "declaration": true, 11 | "jsx": "react-jsx", 12 | "outDir": "./build" 13 | }, 14 | "exclude": ["node_modules"], 15 | "include": ["src/**/*.ts", "src/**/*.tsx"] 16 | } 17 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@aashutoshrathi/word-wrap@^1.2.3": 6 | version "1.2.6" 7 | resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" 8 | integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== 9 | 10 | "@ampproject/remapping@^2.1.0": 11 | version "2.2.1" 12 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" 13 | integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== 14 | dependencies: 15 | "@jridgewell/gen-mapping" "^0.3.0" 16 | "@jridgewell/trace-mapping" "^0.3.9" 17 | 18 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.22.13": 19 | version "7.22.13" 20 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" 21 | integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== 22 | dependencies: 23 | "@babel/highlight" "^7.22.13" 24 | chalk "^2.4.2" 25 | 26 | "@babel/compat-data@^7.22.9": 27 | version "7.23.3" 28 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.3.tgz#3febd552541e62b5e883a25eb3effd7c7379db11" 29 | integrity sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ== 30 | 31 | "@babel/core@7.17.4": 32 | version "7.17.4" 33 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.17.4.tgz#a22f1ae8999122873b3d18865e98c7a3936b8c8b" 34 | integrity sha512-R9x5r4t4+hBqZTmioSnkrW+I6NmbojwjGT8p4G2Gw1thWbXIHGDnmGdLdFw0/7ljucdIrNRp7Npgb4CyBYzzJg== 35 | dependencies: 36 | "@ampproject/remapping" "^2.1.0" 37 | "@babel/code-frame" "^7.16.7" 38 | "@babel/generator" "^7.17.3" 39 | "@babel/helper-compilation-targets" "^7.16.7" 40 | "@babel/helper-module-transforms" "^7.16.7" 41 | "@babel/helpers" "^7.17.2" 42 | "@babel/parser" "^7.17.3" 43 | "@babel/template" "^7.16.7" 44 | "@babel/traverse" "^7.17.3" 45 | "@babel/types" "^7.17.0" 46 | convert-source-map "^1.7.0" 47 | debug "^4.1.0" 48 | gensync "^1.0.0-beta.2" 49 | json5 "^2.1.2" 50 | semver "^6.3.0" 51 | 52 | "@babel/eslint-parser@7.17.0": 53 | version "7.17.0" 54 | resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.17.0.tgz#eabb24ad9f0afa80e5849f8240d0e5facc2d90d6" 55 | integrity sha512-PUEJ7ZBXbRkbq3qqM/jZ2nIuakUBqCYc7Qf52Lj7dlZ6zERnqisdHioL0l4wwQZnmskMeasqUNzLBFKs3nylXA== 56 | dependencies: 57 | eslint-scope "^5.1.1" 58 | eslint-visitor-keys "^2.1.0" 59 | semver "^6.3.0" 60 | 61 | "@babel/generator@^7.17.3", "@babel/generator@^7.23.3": 62 | version "7.23.3" 63 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.3.tgz#86e6e83d95903fbe7613f448613b8b319f330a8e" 64 | integrity sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg== 65 | dependencies: 66 | "@babel/types" "^7.23.3" 67 | "@jridgewell/gen-mapping" "^0.3.2" 68 | "@jridgewell/trace-mapping" "^0.3.17" 69 | jsesc "^2.5.1" 70 | 71 | "@babel/helper-annotate-as-pure@^7.22.5": 72 | version "7.22.5" 73 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" 74 | integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg== 75 | dependencies: 76 | "@babel/types" "^7.22.5" 77 | 78 | "@babel/helper-compilation-targets@^7.16.7": 79 | version "7.22.15" 80 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" 81 | integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== 82 | dependencies: 83 | "@babel/compat-data" "^7.22.9" 84 | "@babel/helper-validator-option" "^7.22.15" 85 | browserslist "^4.21.9" 86 | lru-cache "^5.1.1" 87 | semver "^6.3.1" 88 | 89 | "@babel/helper-environment-visitor@^7.22.20": 90 | version "7.22.20" 91 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" 92 | integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== 93 | 94 | "@babel/helper-function-name@^7.23.0": 95 | version "7.23.0" 96 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" 97 | integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== 98 | dependencies: 99 | "@babel/template" "^7.22.15" 100 | "@babel/types" "^7.23.0" 101 | 102 | "@babel/helper-hoist-variables@^7.22.5": 103 | version "7.22.5" 104 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" 105 | integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== 106 | dependencies: 107 | "@babel/types" "^7.22.5" 108 | 109 | "@babel/helper-module-imports@^7.22.15": 110 | version "7.22.15" 111 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" 112 | integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== 113 | dependencies: 114 | "@babel/types" "^7.22.15" 115 | 116 | "@babel/helper-module-transforms@^7.16.7": 117 | version "7.23.3" 118 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" 119 | integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== 120 | dependencies: 121 | "@babel/helper-environment-visitor" "^7.22.20" 122 | "@babel/helper-module-imports" "^7.22.15" 123 | "@babel/helper-simple-access" "^7.22.5" 124 | "@babel/helper-split-export-declaration" "^7.22.6" 125 | "@babel/helper-validator-identifier" "^7.22.20" 126 | 127 | "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.22.5": 128 | version "7.22.5" 129 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" 130 | integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== 131 | 132 | "@babel/helper-simple-access@^7.22.5": 133 | version "7.22.5" 134 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" 135 | integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== 136 | dependencies: 137 | "@babel/types" "^7.22.5" 138 | 139 | "@babel/helper-split-export-declaration@^7.22.6": 140 | version "7.22.6" 141 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" 142 | integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== 143 | dependencies: 144 | "@babel/types" "^7.22.5" 145 | 146 | "@babel/helper-string-parser@^7.22.5": 147 | version "7.22.5" 148 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" 149 | integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== 150 | 151 | "@babel/helper-validator-identifier@^7.15.7", "@babel/helper-validator-identifier@^7.22.20": 152 | version "7.22.20" 153 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" 154 | integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== 155 | 156 | "@babel/helper-validator-option@^7.16.7", "@babel/helper-validator-option@^7.22.15": 157 | version "7.22.15" 158 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" 159 | integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== 160 | 161 | "@babel/helpers@^7.17.2": 162 | version "7.23.2" 163 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.2.tgz#2832549a6e37d484286e15ba36a5330483cac767" 164 | integrity sha512-lzchcp8SjTSVe/fPmLwtWVBFC7+Tbn8LGHDVfDp9JGxpAY5opSaEFgt8UQvrnECWOTdji2mOWMz1rOhkHscmGQ== 165 | dependencies: 166 | "@babel/template" "^7.22.15" 167 | "@babel/traverse" "^7.23.2" 168 | "@babel/types" "^7.23.0" 169 | 170 | "@babel/highlight@^7.22.13": 171 | version "7.22.20" 172 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" 173 | integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== 174 | dependencies: 175 | "@babel/helper-validator-identifier" "^7.22.20" 176 | chalk "^2.4.2" 177 | js-tokens "^4.0.0" 178 | 179 | "@babel/parser@^7.17.3", "@babel/parser@^7.22.15", "@babel/parser@^7.23.3": 180 | version "7.23.3" 181 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.3.tgz#0ce0be31a4ca4f1884b5786057cadcb6c3be58f9" 182 | integrity sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw== 183 | 184 | "@babel/plugin-syntax-jsx@^7.22.5": 185 | version "7.23.3" 186 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" 187 | integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== 188 | dependencies: 189 | "@babel/helper-plugin-utils" "^7.22.5" 190 | 191 | "@babel/plugin-transform-react-display-name@^7.16.7": 192 | version "7.23.3" 193 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.23.3.tgz#70529f034dd1e561045ad3c8152a267f0d7b6200" 194 | integrity sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw== 195 | dependencies: 196 | "@babel/helper-plugin-utils" "^7.22.5" 197 | 198 | "@babel/plugin-transform-react-jsx-development@^7.16.7": 199 | version "7.22.5" 200 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.22.5.tgz#e716b6edbef972a92165cd69d92f1255f7e73e87" 201 | integrity sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A== 202 | dependencies: 203 | "@babel/plugin-transform-react-jsx" "^7.22.5" 204 | 205 | "@babel/plugin-transform-react-jsx@^7.16.7", "@babel/plugin-transform-react-jsx@^7.22.5": 206 | version "7.22.15" 207 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.22.15.tgz#7e6266d88705d7c49f11c98db8b9464531289cd6" 208 | integrity sha512-oKckg2eZFa8771O/5vi7XeTvmM6+O9cxZu+kanTU7tD4sin5nO/G8jGJhq8Hvt2Z0kUoEDRayuZLaUlYl8QuGA== 209 | dependencies: 210 | "@babel/helper-annotate-as-pure" "^7.22.5" 211 | "@babel/helper-module-imports" "^7.22.15" 212 | "@babel/helper-plugin-utils" "^7.22.5" 213 | "@babel/plugin-syntax-jsx" "^7.22.5" 214 | "@babel/types" "^7.22.15" 215 | 216 | "@babel/plugin-transform-react-pure-annotations@^7.16.7": 217 | version "7.23.3" 218 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.23.3.tgz#fabedbdb8ee40edf5da96f3ecfc6958e3783b93c" 219 | integrity sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ== 220 | dependencies: 221 | "@babel/helper-annotate-as-pure" "^7.22.5" 222 | "@babel/helper-plugin-utils" "^7.22.5" 223 | 224 | "@babel/preset-react@7.16.7": 225 | version "7.16.7" 226 | resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.7.tgz#4c18150491edc69c183ff818f9f2aecbe5d93852" 227 | integrity sha512-fWpyI8UM/HE6DfPBzD8LnhQ/OcH8AgTaqcqP2nGOXEUV+VKBR5JRN9hCk9ai+zQQ57vtm9oWeXguBCPNUjytgA== 228 | dependencies: 229 | "@babel/helper-plugin-utils" "^7.16.7" 230 | "@babel/helper-validator-option" "^7.16.7" 231 | "@babel/plugin-transform-react-display-name" "^7.16.7" 232 | "@babel/plugin-transform-react-jsx" "^7.16.7" 233 | "@babel/plugin-transform-react-jsx-development" "^7.16.7" 234 | "@babel/plugin-transform-react-pure-annotations" "^7.16.7" 235 | 236 | "@babel/runtime-corejs3@^7.10.2": 237 | version "7.23.2" 238 | resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.23.2.tgz#a5cd9d8b408fb946b2f074b21ea40c04e516795c" 239 | integrity sha512-54cIh74Z1rp4oIjsHjqN+WM4fMyCBYe+LpZ9jWm51CZ1fbH3SkAzQD/3XLoNkjbJ7YEmjobLXyvQrFypRHOrXw== 240 | dependencies: 241 | core-js-pure "^3.30.2" 242 | regenerator-runtime "^0.14.0" 243 | 244 | "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3": 245 | version "7.23.2" 246 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.2.tgz#062b0ac103261d68a966c4c7baf2ae3e62ec3885" 247 | integrity sha512-mM8eg4yl5D6i3lu2QKPuPH4FArvJ8KhTofbE7jwMUv9KX5mBvwPAqnV3MlyBNqdp9RyRKP6Yck8TrfYrPvX3bg== 248 | dependencies: 249 | regenerator-runtime "^0.14.0" 250 | 251 | "@babel/template@^7.16.7", "@babel/template@^7.22.15": 252 | version "7.22.15" 253 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" 254 | integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== 255 | dependencies: 256 | "@babel/code-frame" "^7.22.13" 257 | "@babel/parser" "^7.22.15" 258 | "@babel/types" "^7.22.15" 259 | 260 | "@babel/traverse@^7.17.3", "@babel/traverse@^7.23.2": 261 | version "7.23.3" 262 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.3.tgz#26ee5f252e725aa7aca3474aa5b324eaf7908b5b" 263 | integrity sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ== 264 | dependencies: 265 | "@babel/code-frame" "^7.22.13" 266 | "@babel/generator" "^7.23.3" 267 | "@babel/helper-environment-visitor" "^7.22.20" 268 | "@babel/helper-function-name" "^7.23.0" 269 | "@babel/helper-hoist-variables" "^7.22.5" 270 | "@babel/helper-split-export-declaration" "^7.22.6" 271 | "@babel/parser" "^7.23.3" 272 | "@babel/types" "^7.23.3" 273 | debug "^4.1.0" 274 | globals "^11.1.0" 275 | 276 | "@babel/types@^7.17.0", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.3": 277 | version "7.23.3" 278 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.3.tgz#d5ea892c07f2ec371ac704420f4dcdb07b5f9598" 279 | integrity sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw== 280 | dependencies: 281 | "@babel/helper-string-parser" "^7.22.5" 282 | "@babel/helper-validator-identifier" "^7.22.20" 283 | to-fast-properties "^2.0.0" 284 | 285 | "@cspotcode/source-map-support@^0.8.0": 286 | version "0.8.1" 287 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" 288 | integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== 289 | dependencies: 290 | "@jridgewell/trace-mapping" "0.3.9" 291 | 292 | "@eslint-community/eslint-utils@^4.2.0": 293 | version "4.4.0" 294 | resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" 295 | integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== 296 | dependencies: 297 | eslint-visitor-keys "^3.3.0" 298 | 299 | "@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": 300 | version "4.10.0" 301 | resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" 302 | integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== 303 | 304 | "@eslint/eslintrc@^2.1.3": 305 | version "2.1.3" 306 | resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.3.tgz#797470a75fe0fbd5a53350ee715e85e87baff22d" 307 | integrity sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA== 308 | dependencies: 309 | ajv "^6.12.4" 310 | debug "^4.3.2" 311 | espree "^9.6.0" 312 | globals "^13.19.0" 313 | ignore "^5.2.0" 314 | import-fresh "^3.2.1" 315 | js-yaml "^4.1.0" 316 | minimatch "^3.1.2" 317 | strip-json-comments "^3.1.1" 318 | 319 | "@eslint/js@8.53.0": 320 | version "8.53.0" 321 | resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.53.0.tgz#bea56f2ed2b5baea164348ff4d5a879f6f81f20d" 322 | integrity sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w== 323 | 324 | "@humanwhocodes/config-array@^0.11.13": 325 | version "0.11.13" 326 | resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297" 327 | integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ== 328 | dependencies: 329 | "@humanwhocodes/object-schema" "^2.0.1" 330 | debug "^4.1.1" 331 | minimatch "^3.0.5" 332 | 333 | "@humanwhocodes/module-importer@^1.0.1": 334 | version "1.0.1" 335 | resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" 336 | integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== 337 | 338 | "@humanwhocodes/object-schema@^2.0.1": 339 | version "2.0.1" 340 | resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044" 341 | integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== 342 | 343 | "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": 344 | version "0.3.3" 345 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" 346 | integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== 347 | dependencies: 348 | "@jridgewell/set-array" "^1.0.1" 349 | "@jridgewell/sourcemap-codec" "^1.4.10" 350 | "@jridgewell/trace-mapping" "^0.3.9" 351 | 352 | "@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": 353 | version "3.1.1" 354 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" 355 | integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== 356 | 357 | "@jridgewell/set-array@^1.0.1": 358 | version "1.1.2" 359 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 360 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 361 | 362 | "@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": 363 | version "1.4.15" 364 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" 365 | integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== 366 | 367 | "@jridgewell/trace-mapping@0.3.9": 368 | version "0.3.9" 369 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" 370 | integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== 371 | dependencies: 372 | "@jridgewell/resolve-uri" "^3.0.3" 373 | "@jridgewell/sourcemap-codec" "^1.4.10" 374 | 375 | "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": 376 | version "0.3.20" 377 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" 378 | integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== 379 | dependencies: 380 | "@jridgewell/resolve-uri" "^3.1.0" 381 | "@jridgewell/sourcemap-codec" "^1.4.14" 382 | 383 | "@next/eslint-plugin-next@12.0.10": 384 | version "12.0.10" 385 | resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.0.10.tgz#521ab5d05a89e818528668df8a3edb8f9df2c547" 386 | integrity sha512-PbGRnV5HGSfRGLjf8uTh1MaWgLwnjKjWiGVjK752ifITJbZ28/5AmLAFT2shDYeux8BHgpgVll5QXu7GN3YLFw== 387 | dependencies: 388 | glob "7.1.7" 389 | 390 | "@nodelib/fs.scandir@2.1.5": 391 | version "2.1.5" 392 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 393 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 394 | dependencies: 395 | "@nodelib/fs.stat" "2.0.5" 396 | run-parallel "^1.1.9" 397 | 398 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 399 | version "2.0.5" 400 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 401 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 402 | 403 | "@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": 404 | version "1.2.8" 405 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 406 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 407 | dependencies: 408 | "@nodelib/fs.scandir" "2.1.5" 409 | fastq "^1.6.0" 410 | 411 | "@remix-run/node@^2.0.1": 412 | version "2.2.0" 413 | resolved "https://registry.yarnpkg.com/@remix-run/node/-/node-2.2.0.tgz#766aa73c9a5d131b79f8d35b722393af1dcb4da6" 414 | integrity sha512-QZBdsQE2bZXAMFdPtB64L9icRiduUDRj1lXMzJJXgg+tnIYEF1A3FsDwI+VKaRY+Z4h+bLEftSO0yM0RijP/Ow== 415 | dependencies: 416 | "@remix-run/server-runtime" "2.2.0" 417 | "@remix-run/web-fetch" "^4.4.1" 418 | "@remix-run/web-file" "^3.1.0" 419 | "@remix-run/web-stream" "^1.1.0" 420 | "@web3-storage/multipart-parser" "^1.0.0" 421 | cookie-signature "^1.1.0" 422 | source-map-support "^0.5.21" 423 | stream-slice "^0.1.2" 424 | 425 | "@remix-run/react@^2.0.1": 426 | version "2.2.0" 427 | resolved "https://registry.yarnpkg.com/@remix-run/react/-/react-2.2.0.tgz#81995d76e64fb7a2bab254841d533844db7f2d1b" 428 | integrity sha512-1nD5ihI0A1wUpFr9Eo9bquEtqjhjvg1OwFF7qDXXHgQ4Zh13y3MKO5dRmHf+Os999o0vqVJ+xSnVPN+Vbco3uA== 429 | dependencies: 430 | "@remix-run/router" "1.11.0" 431 | "@remix-run/server-runtime" "2.2.0" 432 | react-router-dom "6.18.0" 433 | 434 | "@remix-run/router@1.11.0": 435 | version "1.11.0" 436 | resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.11.0.tgz#e0e45ac3fff9d8a126916f166809825537e9f955" 437 | integrity sha512-BHdhcWgeiudl91HvVa2wxqZjSHbheSgIiDvxrF1VjFzBzpTtuDPkOdOi3Iqvc08kXtFkLjhbS+ML9aM8mJS+wQ== 438 | 439 | "@remix-run/server-runtime@2.2.0", "@remix-run/server-runtime@^2.0.1": 440 | version "2.2.0" 441 | resolved "https://registry.yarnpkg.com/@remix-run/server-runtime/-/server-runtime-2.2.0.tgz#1c1b2ec4d6292b43987cef8edf38ea8785468308" 442 | integrity sha512-+FiQy/Y6yqakkP2dRMhyf47fEvO2Pbu5aHCknUC9GKuzvDSbR5z65lB/rlRYUg1f8OBY46b7AMVG46qM+tRxeQ== 443 | dependencies: 444 | "@remix-run/router" "1.11.0" 445 | "@types/cookie" "^0.4.1" 446 | "@web3-storage/multipart-parser" "^1.0.0" 447 | cookie "^0.4.1" 448 | set-cookie-parser "^2.4.8" 449 | source-map "^0.7.3" 450 | 451 | "@remix-run/web-blob@^3.1.0": 452 | version "3.1.0" 453 | resolved "https://registry.yarnpkg.com/@remix-run/web-blob/-/web-blob-3.1.0.tgz#e0c669934c1eb6028960047e57a13ed38bbfb434" 454 | integrity sha512-owGzFLbqPH9PlKb8KvpNJ0NO74HWE2euAn61eEiyCXX/oteoVzTVSN8mpLgDjaxBf2btj5/nUllSUgpyd6IH6g== 455 | dependencies: 456 | "@remix-run/web-stream" "^1.1.0" 457 | web-encoding "1.1.5" 458 | 459 | "@remix-run/web-fetch@^4.4.1": 460 | version "4.4.1" 461 | resolved "https://registry.yarnpkg.com/@remix-run/web-fetch/-/web-fetch-4.4.1.tgz#1ea34e6f1c660a52e7582007917a552f0efdc58b" 462 | integrity sha512-xMceEGn2kvfeWS91nHSOhEQHPGgjFnmDVpWFZrbWPVdiTByMZIn421/tdSF6Kd1RsNsY+5Iwt3JFEKZHAcMQHw== 463 | dependencies: 464 | "@remix-run/web-blob" "^3.1.0" 465 | "@remix-run/web-file" "^3.1.0" 466 | "@remix-run/web-form-data" "^3.1.0" 467 | "@remix-run/web-stream" "^1.1.0" 468 | "@web3-storage/multipart-parser" "^1.0.0" 469 | abort-controller "^3.0.0" 470 | data-uri-to-buffer "^3.0.1" 471 | mrmime "^1.0.0" 472 | 473 | "@remix-run/web-file@^3.1.0": 474 | version "3.1.0" 475 | resolved "https://registry.yarnpkg.com/@remix-run/web-file/-/web-file-3.1.0.tgz#07219021a2910e90231bc30ca1ce693d0e9d3825" 476 | integrity sha512-dW2MNGwoiEYhlspOAXFBasmLeYshyAyhIdrlXBi06Duex5tDr3ut2LFKVj7tyHLmn8nnNwFf1BjNbkQpygC2aQ== 477 | dependencies: 478 | "@remix-run/web-blob" "^3.1.0" 479 | 480 | "@remix-run/web-form-data@^3.1.0": 481 | version "3.1.0" 482 | resolved "https://registry.yarnpkg.com/@remix-run/web-form-data/-/web-form-data-3.1.0.tgz#47f9ad8ce8bf1c39ed83eab31e53967fe8e3df6a" 483 | integrity sha512-NdeohLMdrb+pHxMQ/Geuzdp0eqPbea+Ieo8M8Jx2lGC6TBHsgHzYcBvr0LyPdPVycNRDEpWpiDdCOdCryo3f9A== 484 | dependencies: 485 | web-encoding "1.1.5" 486 | 487 | "@remix-run/web-stream@^1.1.0": 488 | version "1.1.0" 489 | resolved "https://registry.yarnpkg.com/@remix-run/web-stream/-/web-stream-1.1.0.tgz#b93a8f806c2c22204930837c44d81fdedfde079f" 490 | integrity sha512-KRJtwrjRV5Bb+pM7zxcTJkhIqWWSy+MYsIxHK+0m5atcznsf15YwUBWHWulZerV2+vvHH1Lp1DD7pw6qKW8SgA== 491 | dependencies: 492 | web-streams-polyfill "^3.1.1" 493 | 494 | "@storybook/csf@^0.0.1": 495 | version "0.0.1" 496 | resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.0.1.tgz#95901507dc02f0bc6f9ac8ee1983e2fc5bb98ce6" 497 | integrity sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw== 498 | dependencies: 499 | lodash "^4.17.15" 500 | 501 | "@testing-library/dom@^8.11.1": 502 | version "8.20.1" 503 | resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.1.tgz#2e52a32e46fc88369eef7eef634ac2a192decd9f" 504 | integrity sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g== 505 | dependencies: 506 | "@babel/code-frame" "^7.10.4" 507 | "@babel/runtime" "^7.12.5" 508 | "@types/aria-query" "^5.0.1" 509 | aria-query "5.1.3" 510 | chalk "^4.1.0" 511 | dom-accessibility-api "^0.5.9" 512 | lz-string "^1.5.0" 513 | pretty-format "^27.0.2" 514 | 515 | "@tsconfig/node10@^1.0.7": 516 | version "1.0.9" 517 | resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" 518 | integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== 519 | 520 | "@tsconfig/node12@^1.0.7": 521 | version "1.0.11" 522 | resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" 523 | integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== 524 | 525 | "@tsconfig/node14@^1.0.0": 526 | version "1.0.3" 527 | resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" 528 | integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== 529 | 530 | "@tsconfig/node16@^1.0.2": 531 | version "1.0.4" 532 | resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9" 533 | integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== 534 | 535 | "@types/aria-query@^5.0.1": 536 | version "5.0.4" 537 | resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.4.tgz#1a31c3d378850d2778dabb6374d036dcba4ba708" 538 | integrity sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw== 539 | 540 | "@types/cookie@^0.4.1": 541 | version "0.4.1" 542 | resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" 543 | integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== 544 | 545 | "@types/crypto-js@^4.1.0": 546 | version "4.2.1" 547 | resolved "https://registry.yarnpkg.com/@types/crypto-js/-/crypto-js-4.2.1.tgz#480edd76991a63050cb88db1a8840758c55a7135" 548 | integrity sha512-FSPGd9+OcSok3RsM0UZ/9fcvMOXJ1ENE/ZbLfOPlBWj7BgXtEAM8VYfTtT760GiLbQIMoVozwVuisjvsVwqYWw== 549 | 550 | "@types/json-schema@^7.0.9": 551 | version "7.0.15" 552 | resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" 553 | integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== 554 | 555 | "@types/json5@^0.0.29": 556 | version "0.0.29" 557 | resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" 558 | integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== 559 | 560 | "@types/normalize-package-data@^2.4.0": 561 | version "2.4.4" 562 | resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" 563 | integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== 564 | 565 | "@types/semver@^7.3.12": 566 | version "7.5.5" 567 | resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.5.tgz#deed5ab7019756c9c90ea86139106b0346223f35" 568 | integrity sha512-+d+WYC1BxJ6yVOgUgzK8gWvp5qF8ssV5r4nsDcZWKRWcDQLQ619tvWAxJQYGgBrO1MnLJC7a5GtiYsAoQ47dJg== 569 | 570 | "@typescript-eslint/eslint-plugin@5.12.0": 571 | version "5.12.0" 572 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.12.0.tgz#bb46dd7ce7015c0928b98af1e602118e97df6c70" 573 | integrity sha512-fwCMkDimwHVeIOKeBHiZhRUfJXU8n6xW1FL9diDxAyGAFvKcH4csy0v7twivOQdQdA0KC8TDr7GGRd3L4Lv0rQ== 574 | dependencies: 575 | "@typescript-eslint/scope-manager" "5.12.0" 576 | "@typescript-eslint/type-utils" "5.12.0" 577 | "@typescript-eslint/utils" "5.12.0" 578 | debug "^4.3.2" 579 | functional-red-black-tree "^1.0.1" 580 | ignore "^5.1.8" 581 | regexpp "^3.2.0" 582 | semver "^7.3.5" 583 | tsutils "^3.21.0" 584 | 585 | "@typescript-eslint/eslint-plugin@^5.8.1": 586 | version "5.62.0" 587 | resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" 588 | integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== 589 | dependencies: 590 | "@eslint-community/regexpp" "^4.4.0" 591 | "@typescript-eslint/scope-manager" "5.62.0" 592 | "@typescript-eslint/type-utils" "5.62.0" 593 | "@typescript-eslint/utils" "5.62.0" 594 | debug "^4.3.4" 595 | graphemer "^1.4.0" 596 | ignore "^5.2.0" 597 | natural-compare-lite "^1.4.0" 598 | semver "^7.3.7" 599 | tsutils "^3.21.0" 600 | 601 | "@typescript-eslint/experimental-utils@^5.3.0": 602 | version "5.62.0" 603 | resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz#14559bf73383a308026b427a4a6129bae2146741" 604 | integrity sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw== 605 | dependencies: 606 | "@typescript-eslint/utils" "5.62.0" 607 | 608 | "@typescript-eslint/parser@5.12.0": 609 | version "5.12.0" 610 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.12.0.tgz#0ca669861813df99ce54916f66f524c625ed2434" 611 | integrity sha512-MfSwg9JMBojMUoGjUmX+D2stoQj1CBYTCP0qnnVtu9A+YQXVKNtLjasYh+jozOcrb/wau8TCfWOkQTiOAruBog== 612 | dependencies: 613 | "@typescript-eslint/scope-manager" "5.12.0" 614 | "@typescript-eslint/types" "5.12.0" 615 | "@typescript-eslint/typescript-estree" "5.12.0" 616 | debug "^4.3.2" 617 | 618 | "@typescript-eslint/parser@^5.8.1": 619 | version "5.62.0" 620 | resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" 621 | integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== 622 | dependencies: 623 | "@typescript-eslint/scope-manager" "5.62.0" 624 | "@typescript-eslint/types" "5.62.0" 625 | "@typescript-eslint/typescript-estree" "5.62.0" 626 | debug "^4.3.4" 627 | 628 | "@typescript-eslint/scope-manager@5.12.0": 629 | version "5.12.0" 630 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.12.0.tgz#59619e6e5e2b1ce6cb3948b56014d3a24da83f5e" 631 | integrity sha512-GAMobtIJI8FGf1sLlUWNUm2IOkIjvn7laFWyRx7CLrv6nLBI7su+B7lbStqVlK5NdLvHRFiJo2HhiDF7Ki01WQ== 632 | dependencies: 633 | "@typescript-eslint/types" "5.12.0" 634 | "@typescript-eslint/visitor-keys" "5.12.0" 635 | 636 | "@typescript-eslint/scope-manager@5.62.0": 637 | version "5.62.0" 638 | resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" 639 | integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== 640 | dependencies: 641 | "@typescript-eslint/types" "5.62.0" 642 | "@typescript-eslint/visitor-keys" "5.62.0" 643 | 644 | "@typescript-eslint/type-utils@5.12.0": 645 | version "5.12.0" 646 | resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.12.0.tgz#aaf45765de71c6d9707c66ccff76ec2b9aa31bb6" 647 | integrity sha512-9j9rli3zEBV+ae7rlbBOotJcI6zfc6SHFMdKI9M3Nc0sy458LJ79Os+TPWeBBL96J9/e36rdJOfCuyRSgFAA0Q== 648 | dependencies: 649 | "@typescript-eslint/utils" "5.12.0" 650 | debug "^4.3.2" 651 | tsutils "^3.21.0" 652 | 653 | "@typescript-eslint/type-utils@5.62.0": 654 | version "5.62.0" 655 | resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" 656 | integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== 657 | dependencies: 658 | "@typescript-eslint/typescript-estree" "5.62.0" 659 | "@typescript-eslint/utils" "5.62.0" 660 | debug "^4.3.4" 661 | tsutils "^3.21.0" 662 | 663 | "@typescript-eslint/types@5.12.0": 664 | version "5.12.0" 665 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.12.0.tgz#5b4030a28222ee01e851836562c07769eecda0b8" 666 | integrity sha512-JowqbwPf93nvf8fZn5XrPGFBdIK8+yx5UEGs2QFAYFI8IWYfrzz+6zqlurGr2ctShMaJxqwsqmra3WXWjH1nRQ== 667 | 668 | "@typescript-eslint/types@5.62.0": 669 | version "5.62.0" 670 | resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" 671 | integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== 672 | 673 | "@typescript-eslint/typescript-estree@5.12.0": 674 | version "5.12.0" 675 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.0.tgz#cabf545fd592722f0e2b4104711e63bf89525cd2" 676 | integrity sha512-Dd9gVeOqt38QHR0BEA8oRaT65WYqPYbIc5tRFQPkfLquVEFPD1HAtbZT98TLBkEcCkvwDYOAvuSvAD9DnQhMfQ== 677 | dependencies: 678 | "@typescript-eslint/types" "5.12.0" 679 | "@typescript-eslint/visitor-keys" "5.12.0" 680 | debug "^4.3.2" 681 | globby "^11.0.4" 682 | is-glob "^4.0.3" 683 | semver "^7.3.5" 684 | tsutils "^3.21.0" 685 | 686 | "@typescript-eslint/typescript-estree@5.62.0": 687 | version "5.62.0" 688 | resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" 689 | integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== 690 | dependencies: 691 | "@typescript-eslint/types" "5.62.0" 692 | "@typescript-eslint/visitor-keys" "5.62.0" 693 | debug "^4.3.4" 694 | globby "^11.1.0" 695 | is-glob "^4.0.3" 696 | semver "^7.3.7" 697 | tsutils "^3.21.0" 698 | 699 | "@typescript-eslint/utils@5.12.0": 700 | version "5.12.0" 701 | resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.12.0.tgz#92fd3193191621ab863add2f553a7b38b65646af" 702 | integrity sha512-k4J2WovnMPGI4PzKgDtQdNrCnmBHpMUFy21qjX2CoPdoBcSBIMvVBr9P2YDP8jOqZOeK3ThOL6VO/sy6jtnvzw== 703 | dependencies: 704 | "@types/json-schema" "^7.0.9" 705 | "@typescript-eslint/scope-manager" "5.12.0" 706 | "@typescript-eslint/types" "5.12.0" 707 | "@typescript-eslint/typescript-estree" "5.12.0" 708 | eslint-scope "^5.1.1" 709 | eslint-utils "^3.0.0" 710 | 711 | "@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.10.0", "@typescript-eslint/utils@^5.10.2": 712 | version "5.62.0" 713 | resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" 714 | integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== 715 | dependencies: 716 | "@eslint-community/eslint-utils" "^4.2.0" 717 | "@types/json-schema" "^7.0.9" 718 | "@types/semver" "^7.3.12" 719 | "@typescript-eslint/scope-manager" "5.62.0" 720 | "@typescript-eslint/types" "5.62.0" 721 | "@typescript-eslint/typescript-estree" "5.62.0" 722 | eslint-scope "^5.1.1" 723 | semver "^7.3.7" 724 | 725 | "@typescript-eslint/visitor-keys@5.12.0": 726 | version "5.12.0" 727 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.0.tgz#1ac9352ed140b07ba144ebf371b743fdf537ec16" 728 | integrity sha512-cFwTlgnMV6TgezQynx2c/4/tx9Tufbuo9LPzmWqyRC3QC4qTGkAG1C6pBr0/4I10PAI/FlYunI3vJjIcu+ZHMg== 729 | dependencies: 730 | "@typescript-eslint/types" "5.12.0" 731 | eslint-visitor-keys "^3.0.0" 732 | 733 | "@typescript-eslint/visitor-keys@5.62.0": 734 | version "5.62.0" 735 | resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" 736 | integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== 737 | dependencies: 738 | "@typescript-eslint/types" "5.62.0" 739 | eslint-visitor-keys "^3.3.0" 740 | 741 | "@ungap/structured-clone@^1.2.0": 742 | version "1.2.0" 743 | resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" 744 | integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== 745 | 746 | "@web3-storage/multipart-parser@^1.0.0": 747 | version "1.0.0" 748 | resolved "https://registry.yarnpkg.com/@web3-storage/multipart-parser/-/multipart-parser-1.0.0.tgz#6b69dc2a32a5b207ba43e556c25cc136a56659c4" 749 | integrity sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw== 750 | 751 | "@zxing/text-encoding@0.9.0": 752 | version "0.9.0" 753 | resolved "https://registry.yarnpkg.com/@zxing/text-encoding/-/text-encoding-0.9.0.tgz#fb50ffabc6c7c66a0c96b4c03e3d9be74864b70b" 754 | integrity sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA== 755 | 756 | abort-controller@^3.0.0: 757 | version "3.0.0" 758 | resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" 759 | integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== 760 | dependencies: 761 | event-target-shim "^5.0.0" 762 | 763 | acorn-jsx@^5.3.2: 764 | version "5.3.2" 765 | resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" 766 | integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== 767 | 768 | acorn-walk@^8.1.1: 769 | version "8.3.0" 770 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.0.tgz#2097665af50fd0cf7a2dfccd2b9368964e66540f" 771 | integrity sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA== 772 | 773 | acorn@^8.4.1, acorn@^8.9.0: 774 | version "8.11.2" 775 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.2.tgz#ca0d78b51895be5390a5903c5b3bdcdaf78ae40b" 776 | integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w== 777 | 778 | ajv@^6.12.4: 779 | version "6.12.6" 780 | resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" 781 | integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== 782 | dependencies: 783 | fast-deep-equal "^3.1.1" 784 | fast-json-stable-stringify "^2.0.0" 785 | json-schema-traverse "^0.4.1" 786 | uri-js "^4.2.2" 787 | 788 | ansi-escapes@^5.0.0: 789 | version "5.0.0" 790 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-5.0.0.tgz#b6a0caf0eef0c41af190e9a749e0c00ec04bb2a6" 791 | integrity sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA== 792 | dependencies: 793 | type-fest "^1.0.2" 794 | 795 | ansi-regex@^5.0.1: 796 | version "5.0.1" 797 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 798 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 799 | 800 | ansi-regex@^6.0.1: 801 | version "6.0.1" 802 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" 803 | integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== 804 | 805 | ansi-styles@^3.2.1: 806 | version "3.2.1" 807 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 808 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 809 | dependencies: 810 | color-convert "^1.9.0" 811 | 812 | ansi-styles@^4.1.0: 813 | version "4.3.0" 814 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 815 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 816 | dependencies: 817 | color-convert "^2.0.1" 818 | 819 | ansi-styles@^5.0.0: 820 | version "5.2.0" 821 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" 822 | integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== 823 | 824 | ansi-styles@^6.0.0, ansi-styles@^6.1.0: 825 | version "6.2.1" 826 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5" 827 | integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== 828 | 829 | arg@^4.1.0: 830 | version "4.1.3" 831 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" 832 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== 833 | 834 | argparse@^2.0.1: 835 | version "2.0.1" 836 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" 837 | integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== 838 | 839 | aria-query@5.1.3: 840 | version "5.1.3" 841 | resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" 842 | integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== 843 | dependencies: 844 | deep-equal "^2.0.5" 845 | 846 | aria-query@^4.2.2: 847 | version "4.2.2" 848 | resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" 849 | integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== 850 | dependencies: 851 | "@babel/runtime" "^7.10.2" 852 | "@babel/runtime-corejs3" "^7.10.2" 853 | 854 | array-buffer-byte-length@^1.0.0: 855 | version "1.0.0" 856 | resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" 857 | integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== 858 | dependencies: 859 | call-bind "^1.0.2" 860 | is-array-buffer "^3.0.1" 861 | 862 | array-includes@^3.1.4, array-includes@^3.1.6: 863 | version "3.1.7" 864 | resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" 865 | integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== 866 | dependencies: 867 | call-bind "^1.0.2" 868 | define-properties "^1.2.0" 869 | es-abstract "^1.22.1" 870 | get-intrinsic "^1.2.1" 871 | is-string "^1.0.7" 872 | 873 | array-union@^2.1.0: 874 | version "2.1.0" 875 | resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" 876 | integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== 877 | 878 | array.prototype.flat@^1.2.5, array.prototype.flat@^1.3.1: 879 | version "1.3.2" 880 | resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" 881 | integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== 882 | dependencies: 883 | call-bind "^1.0.2" 884 | define-properties "^1.2.0" 885 | es-abstract "^1.22.1" 886 | es-shim-unscopables "^1.0.0" 887 | 888 | array.prototype.flatmap@^1.2.5: 889 | version "1.3.2" 890 | resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz#c9a7c6831db8e719d6ce639190146c24bbd3e527" 891 | integrity sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ== 892 | dependencies: 893 | call-bind "^1.0.2" 894 | define-properties "^1.2.0" 895 | es-abstract "^1.22.1" 896 | es-shim-unscopables "^1.0.0" 897 | 898 | arraybuffer.prototype.slice@^1.0.2: 899 | version "1.0.2" 900 | resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" 901 | integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== 902 | dependencies: 903 | array-buffer-byte-length "^1.0.0" 904 | call-bind "^1.0.2" 905 | define-properties "^1.2.0" 906 | es-abstract "^1.22.1" 907 | get-intrinsic "^1.2.1" 908 | is-array-buffer "^3.0.2" 909 | is-shared-array-buffer "^1.0.2" 910 | 911 | ast-types-flow@^0.0.7: 912 | version "0.0.7" 913 | resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" 914 | integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== 915 | 916 | available-typed-arrays@^1.0.5: 917 | version "1.0.5" 918 | resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" 919 | integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== 920 | 921 | axe-core@^4.3.5: 922 | version "4.8.2" 923 | resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.8.2.tgz#2f6f3cde40935825cf4465e3c1c9e77b240ff6ae" 924 | integrity sha512-/dlp0fxyM3R8YW7MFzaHWXrf4zzbr0vaYb23VBFCl83R7nWNPg/yaQw2Dc8jzCMmDVLhSdzH8MjrsuIUuvX+6g== 925 | 926 | axobject-query@^2.2.0: 927 | version "2.2.0" 928 | resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" 929 | integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== 930 | 931 | balanced-match@^1.0.0: 932 | version "1.0.2" 933 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 934 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 935 | 936 | brace-expansion@^1.1.7: 937 | version "1.1.11" 938 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 939 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 940 | dependencies: 941 | balanced-match "^1.0.0" 942 | concat-map "0.0.1" 943 | 944 | braces@^3.0.2: 945 | version "3.0.2" 946 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 947 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 948 | dependencies: 949 | fill-range "^7.0.1" 950 | 951 | browserslist@^4.21.9: 952 | version "4.22.1" 953 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" 954 | integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== 955 | dependencies: 956 | caniuse-lite "^1.0.30001541" 957 | electron-to-chromium "^1.4.535" 958 | node-releases "^2.0.13" 959 | update-browserslist-db "^1.0.13" 960 | 961 | buffer-from@^1.0.0: 962 | version "1.1.2" 963 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" 964 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== 965 | 966 | builtin-modules@^3.3.0: 967 | version "3.3.0" 968 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" 969 | integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== 970 | 971 | call-bind@^1.0.0, call-bind@^1.0.2, call-bind@^1.0.4, call-bind@^1.0.5: 972 | version "1.0.5" 973 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.5.tgz#6fa2b7845ce0ea49bf4d8b9ef64727a2c2e2e513" 974 | integrity sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ== 975 | dependencies: 976 | function-bind "^1.1.2" 977 | get-intrinsic "^1.2.1" 978 | set-function-length "^1.1.1" 979 | 980 | callsites@^3.0.0: 981 | version "3.1.0" 982 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 983 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 984 | 985 | caniuse-lite@^1.0.30001541: 986 | version "1.0.30001561" 987 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz#752f21f56f96f1b1a52e97aae98c57c562d5d9da" 988 | integrity sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw== 989 | 990 | chalk@5.3.0: 991 | version "5.3.0" 992 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.3.0.tgz#67c20a7ebef70e7f3970a01f90fa210cb6860385" 993 | integrity sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== 994 | 995 | chalk@^2.4.2: 996 | version "2.4.2" 997 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 998 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 999 | dependencies: 1000 | ansi-styles "^3.2.1" 1001 | escape-string-regexp "^1.0.5" 1002 | supports-color "^5.3.0" 1003 | 1004 | chalk@^4.0.0, chalk@^4.1.0: 1005 | version "4.1.2" 1006 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 1007 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 1008 | dependencies: 1009 | ansi-styles "^4.1.0" 1010 | supports-color "^7.1.0" 1011 | 1012 | ci-info@^3.3.0: 1013 | version "3.9.0" 1014 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" 1015 | integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== 1016 | 1017 | clean-regexp@^1.0.0: 1018 | version "1.0.0" 1019 | resolved "https://registry.yarnpkg.com/clean-regexp/-/clean-regexp-1.0.0.tgz#8df7c7aae51fd36874e8f8d05b9180bc11a3fed7" 1020 | integrity sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== 1021 | dependencies: 1022 | escape-string-regexp "^1.0.5" 1023 | 1024 | cli-cursor@^4.0.0: 1025 | version "4.0.0" 1026 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-4.0.0.tgz#3cecfe3734bf4fe02a8361cbdc0f6fe28c6a57ea" 1027 | integrity sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== 1028 | dependencies: 1029 | restore-cursor "^4.0.0" 1030 | 1031 | cli-truncate@^3.1.0: 1032 | version "3.1.0" 1033 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" 1034 | integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== 1035 | dependencies: 1036 | slice-ansi "^5.0.0" 1037 | string-width "^5.0.0" 1038 | 1039 | color-convert@^1.9.0: 1040 | version "1.9.3" 1041 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 1042 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 1043 | dependencies: 1044 | color-name "1.1.3" 1045 | 1046 | color-convert@^2.0.1: 1047 | version "2.0.1" 1048 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 1049 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 1050 | dependencies: 1051 | color-name "~1.1.4" 1052 | 1053 | color-name@1.1.3: 1054 | version "1.1.3" 1055 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 1056 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 1057 | 1058 | color-name@~1.1.4: 1059 | version "1.1.4" 1060 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 1061 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 1062 | 1063 | colorette@^2.0.20: 1064 | version "2.0.20" 1065 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" 1066 | integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== 1067 | 1068 | commander@11.1.0: 1069 | version "11.1.0" 1070 | resolved "https://registry.yarnpkg.com/commander/-/commander-11.1.0.tgz#62fdce76006a68e5c1ab3314dc92e800eb83d906" 1071 | integrity sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ== 1072 | 1073 | concat-map@0.0.1: 1074 | version "0.0.1" 1075 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1076 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 1077 | 1078 | confusing-browser-globals@1.0.11: 1079 | version "1.0.11" 1080 | resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" 1081 | integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== 1082 | 1083 | convert-source-map@^1.7.0: 1084 | version "1.9.0" 1085 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" 1086 | integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== 1087 | 1088 | cookie-signature@^1.1.0: 1089 | version "1.2.1" 1090 | resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.2.1.tgz#790dea2cce64638c7ae04d9fabed193bd7ccf3b4" 1091 | integrity sha512-78KWk9T26NhzXtuL26cIJ8/qNHANyJ/ZYrmEXFzUmhZdjpBv+DlWlOANRTGBt48YcyslsLrj0bMLFTmXvLRCOw== 1092 | 1093 | cookie@^0.4.1: 1094 | version "0.4.2" 1095 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" 1096 | integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== 1097 | 1098 | core-js-pure@^3.30.2, core-js-pure@^3.33.0: 1099 | version "3.33.2" 1100 | resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.33.2.tgz#644830db2507ef84d068a70980ccd99c275f5fa6" 1101 | integrity sha512-a8zeCdyVk7uF2elKIGz67AjcXOxjRbwOLz8SbklEso1V+2DoW4OkAMZN9S9GBgvZIaqQi/OemFX4OiSoQEmg1Q== 1102 | 1103 | create-require@^1.1.0: 1104 | version "1.1.1" 1105 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" 1106 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== 1107 | 1108 | cross-spawn@^7.0.2, cross-spawn@^7.0.3: 1109 | version "7.0.3" 1110 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 1111 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 1112 | dependencies: 1113 | path-key "^3.1.0" 1114 | shebang-command "^2.0.0" 1115 | which "^2.0.1" 1116 | 1117 | crypto-js@^4.2.0: 1118 | version "4.2.0" 1119 | resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631" 1120 | integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q== 1121 | 1122 | damerau-levenshtein@^1.0.7: 1123 | version "1.0.8" 1124 | resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" 1125 | integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== 1126 | 1127 | data-uri-to-buffer@^3.0.1: 1128 | version "3.0.1" 1129 | resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" 1130 | integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== 1131 | 1132 | debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.2, debug@^4.3.4: 1133 | version "4.3.4" 1134 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 1135 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 1136 | dependencies: 1137 | ms "2.1.2" 1138 | 1139 | debug@^2.6.9: 1140 | version "2.6.9" 1141 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 1142 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 1143 | dependencies: 1144 | ms "2.0.0" 1145 | 1146 | debug@^3.2.7: 1147 | version "3.2.7" 1148 | resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" 1149 | integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== 1150 | dependencies: 1151 | ms "^2.1.1" 1152 | 1153 | deep-equal@^2.0.5: 1154 | version "2.2.3" 1155 | resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.3.tgz#af89dafb23a396c7da3e862abc0be27cf51d56e1" 1156 | integrity sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA== 1157 | dependencies: 1158 | array-buffer-byte-length "^1.0.0" 1159 | call-bind "^1.0.5" 1160 | es-get-iterator "^1.1.3" 1161 | get-intrinsic "^1.2.2" 1162 | is-arguments "^1.1.1" 1163 | is-array-buffer "^3.0.2" 1164 | is-date-object "^1.0.5" 1165 | is-regex "^1.1.4" 1166 | is-shared-array-buffer "^1.0.2" 1167 | isarray "^2.0.5" 1168 | object-is "^1.1.5" 1169 | object-keys "^1.1.1" 1170 | object.assign "^4.1.4" 1171 | regexp.prototype.flags "^1.5.1" 1172 | side-channel "^1.0.4" 1173 | which-boxed-primitive "^1.0.2" 1174 | which-collection "^1.0.1" 1175 | which-typed-array "^1.1.13" 1176 | 1177 | deep-is@^0.1.3: 1178 | version "0.1.4" 1179 | resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" 1180 | integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== 1181 | 1182 | define-data-property@^1.0.1, define-data-property@^1.1.1: 1183 | version "1.1.1" 1184 | resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.1.tgz#c35f7cd0ab09883480d12ac5cb213715587800b3" 1185 | integrity sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ== 1186 | dependencies: 1187 | get-intrinsic "^1.2.1" 1188 | gopd "^1.0.1" 1189 | has-property-descriptors "^1.0.0" 1190 | 1191 | define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0: 1192 | version "1.2.1" 1193 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" 1194 | integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== 1195 | dependencies: 1196 | define-data-property "^1.0.1" 1197 | has-property-descriptors "^1.0.0" 1198 | object-keys "^1.1.1" 1199 | 1200 | diff@^4.0.1: 1201 | version "4.0.2" 1202 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 1203 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 1204 | 1205 | dir-glob@^3.0.1: 1206 | version "3.0.1" 1207 | resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" 1208 | integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== 1209 | dependencies: 1210 | path-type "^4.0.0" 1211 | 1212 | doctrine@^2.1.0: 1213 | version "2.1.0" 1214 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" 1215 | integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== 1216 | dependencies: 1217 | esutils "^2.0.2" 1218 | 1219 | doctrine@^3.0.0: 1220 | version "3.0.0" 1221 | resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" 1222 | integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== 1223 | dependencies: 1224 | esutils "^2.0.2" 1225 | 1226 | dom-accessibility-api@^0.5.9: 1227 | version "0.5.16" 1228 | resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" 1229 | integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== 1230 | 1231 | eastasianwidth@^0.2.0: 1232 | version "0.2.0" 1233 | resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" 1234 | integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== 1235 | 1236 | electron-to-chromium@^1.4.535: 1237 | version "1.4.580" 1238 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.580.tgz#2f8f70f70733a6be1fb6f31de1224e6dc4bb196d" 1239 | integrity sha512-T5q3pjQon853xxxHUq3ZP68ZpvJHuSMY2+BZaW3QzjS4HvNuvsMmZ/+lU+nCrftre1jFZ+OSlExynXWBihnXzw== 1240 | 1241 | emoji-regex@^9.2.2: 1242 | version "9.2.2" 1243 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" 1244 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 1245 | 1246 | error-ex@^1.3.1: 1247 | version "1.3.2" 1248 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 1249 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 1250 | dependencies: 1251 | is-arrayish "^0.2.1" 1252 | 1253 | es-abstract@^1.22.1: 1254 | version "1.22.3" 1255 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" 1256 | integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA== 1257 | dependencies: 1258 | array-buffer-byte-length "^1.0.0" 1259 | arraybuffer.prototype.slice "^1.0.2" 1260 | available-typed-arrays "^1.0.5" 1261 | call-bind "^1.0.5" 1262 | es-set-tostringtag "^2.0.1" 1263 | es-to-primitive "^1.2.1" 1264 | function.prototype.name "^1.1.6" 1265 | get-intrinsic "^1.2.2" 1266 | get-symbol-description "^1.0.0" 1267 | globalthis "^1.0.3" 1268 | gopd "^1.0.1" 1269 | has-property-descriptors "^1.0.0" 1270 | has-proto "^1.0.1" 1271 | has-symbols "^1.0.3" 1272 | hasown "^2.0.0" 1273 | internal-slot "^1.0.5" 1274 | is-array-buffer "^3.0.2" 1275 | is-callable "^1.2.7" 1276 | is-negative-zero "^2.0.2" 1277 | is-regex "^1.1.4" 1278 | is-shared-array-buffer "^1.0.2" 1279 | is-string "^1.0.7" 1280 | is-typed-array "^1.1.12" 1281 | is-weakref "^1.0.2" 1282 | object-inspect "^1.13.1" 1283 | object-keys "^1.1.1" 1284 | object.assign "^4.1.4" 1285 | regexp.prototype.flags "^1.5.1" 1286 | safe-array-concat "^1.0.1" 1287 | safe-regex-test "^1.0.0" 1288 | string.prototype.trim "^1.2.8" 1289 | string.prototype.trimend "^1.0.7" 1290 | string.prototype.trimstart "^1.0.7" 1291 | typed-array-buffer "^1.0.0" 1292 | typed-array-byte-length "^1.0.0" 1293 | typed-array-byte-offset "^1.0.0" 1294 | typed-array-length "^1.0.4" 1295 | unbox-primitive "^1.0.2" 1296 | which-typed-array "^1.1.13" 1297 | 1298 | es-get-iterator@^1.1.3: 1299 | version "1.1.3" 1300 | resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" 1301 | integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== 1302 | dependencies: 1303 | call-bind "^1.0.2" 1304 | get-intrinsic "^1.1.3" 1305 | has-symbols "^1.0.3" 1306 | is-arguments "^1.1.1" 1307 | is-map "^2.0.2" 1308 | is-set "^2.0.2" 1309 | is-string "^1.0.7" 1310 | isarray "^2.0.5" 1311 | stop-iteration-iterator "^1.0.0" 1312 | 1313 | es-set-tostringtag@^2.0.1: 1314 | version "2.0.2" 1315 | resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9" 1316 | integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q== 1317 | dependencies: 1318 | get-intrinsic "^1.2.2" 1319 | has-tostringtag "^1.0.0" 1320 | hasown "^2.0.0" 1321 | 1322 | es-shim-unscopables@^1.0.0: 1323 | version "1.0.2" 1324 | resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" 1325 | integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== 1326 | dependencies: 1327 | hasown "^2.0.0" 1328 | 1329 | es-to-primitive@^1.2.1: 1330 | version "1.2.1" 1331 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 1332 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 1333 | dependencies: 1334 | is-callable "^1.1.4" 1335 | is-date-object "^1.0.1" 1336 | is-symbol "^1.0.2" 1337 | 1338 | escalade@^3.1.1: 1339 | version "3.1.1" 1340 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 1341 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1342 | 1343 | escape-string-regexp@^1.0.5: 1344 | version "1.0.5" 1345 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1346 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 1347 | 1348 | escape-string-regexp@^4.0.0: 1349 | version "4.0.0" 1350 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" 1351 | integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== 1352 | 1353 | eslint-config-galex@^3.5.3: 1354 | version "3.6.5" 1355 | resolved "https://registry.yarnpkg.com/eslint-config-galex/-/eslint-config-galex-3.6.5.tgz#9024c9b226cbe20faec01a03f1262ca63d3c14e7" 1356 | integrity sha512-MX+S1/svtXMpfP75DSU7ceHuN4tdSJ5RY7XLY5LgsLdp+ikufAJf/8PjfC+nr6RcdkaYHo1nDQS24HRLI0D9iQ== 1357 | dependencies: 1358 | "@babel/core" "7.17.4" 1359 | "@babel/eslint-parser" "7.17.0" 1360 | "@babel/preset-react" "7.16.7" 1361 | "@next/eslint-plugin-next" "12.0.10" 1362 | "@typescript-eslint/eslint-plugin" "5.12.0" 1363 | "@typescript-eslint/parser" "5.12.0" 1364 | confusing-browser-globals "1.0.11" 1365 | eslint-config-prettier "8.3.0" 1366 | eslint-import-resolver-jsconfig "1.1.0" 1367 | eslint-plugin-import "2.25.4" 1368 | eslint-plugin-jest "26.1.1" 1369 | eslint-plugin-jest-dom "4.0.1" 1370 | eslint-plugin-jest-formatting "3.1.0" 1371 | eslint-plugin-jsx-a11y "6.5.1" 1372 | eslint-plugin-promise "6.0.0" 1373 | eslint-plugin-react "7.28.0" 1374 | eslint-plugin-react-hooks "4.3.0" 1375 | eslint-plugin-sonarjs "0.11.0" 1376 | eslint-plugin-storybook "0.5.6" 1377 | eslint-plugin-testing-library "5.0.5" 1378 | eslint-plugin-unicorn "40.1.0" 1379 | read-pkg-up "7.0.1" 1380 | typescript "4.5.5" 1381 | 1382 | eslint-config-prettier@8.3.0: 1383 | version "8.3.0" 1384 | resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a" 1385 | integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew== 1386 | 1387 | eslint-import-resolver-jsconfig@1.1.0: 1388 | version "1.1.0" 1389 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-jsconfig/-/eslint-import-resolver-jsconfig-1.1.0.tgz#7e2ea0868205fff33fd1d9ed79642cdeaa1e42df" 1390 | integrity sha512-MEiD/zyEkVVwnblRI058/0liYrKXMUwgAtM4EKrTldrThb1AvgPIQeR4emDKC2IotTuWF7KzekvGP+KLhtM3rw== 1391 | dependencies: 1392 | find-root "^1.1.0" 1393 | glob-parent "^6.0.1" 1394 | resolve "^1.20.0" 1395 | 1396 | eslint-import-resolver-node@^0.3.6: 1397 | version "0.3.9" 1398 | resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz#d4eaac52b8a2e7c3cd1903eb00f7e053356118ac" 1399 | integrity sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g== 1400 | dependencies: 1401 | debug "^3.2.7" 1402 | is-core-module "^2.13.0" 1403 | resolve "^1.22.4" 1404 | 1405 | eslint-module-utils@^2.7.2: 1406 | version "2.8.0" 1407 | resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49" 1408 | integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw== 1409 | dependencies: 1410 | debug "^3.2.7" 1411 | 1412 | eslint-plugin-import@2.25.4: 1413 | version "2.25.4" 1414 | resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1" 1415 | integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA== 1416 | dependencies: 1417 | array-includes "^3.1.4" 1418 | array.prototype.flat "^1.2.5" 1419 | debug "^2.6.9" 1420 | doctrine "^2.1.0" 1421 | eslint-import-resolver-node "^0.3.6" 1422 | eslint-module-utils "^2.7.2" 1423 | has "^1.0.3" 1424 | is-core-module "^2.8.0" 1425 | is-glob "^4.0.3" 1426 | minimatch "^3.0.4" 1427 | object.values "^1.1.5" 1428 | resolve "^1.20.0" 1429 | tsconfig-paths "^3.12.0" 1430 | 1431 | eslint-plugin-jest-dom@4.0.1: 1432 | version "4.0.1" 1433 | resolved "https://registry.yarnpkg.com/eslint-plugin-jest-dom/-/eslint-plugin-jest-dom-4.0.1.tgz#d19b65e714a2689fd1f62393ce8553cf1f25e6cc" 1434 | integrity sha512-9aUaX4AtlFBziLqKSjc7DKHQ/y1T32qNapG3uSeLDMJYKswASoQLJWOfLIE+zEHKvCNzNIz8T7282tQkuu0TKQ== 1435 | dependencies: 1436 | "@babel/runtime" "^7.16.3" 1437 | "@testing-library/dom" "^8.11.1" 1438 | requireindex "^1.2.0" 1439 | 1440 | eslint-plugin-jest-formatting@3.1.0: 1441 | version "3.1.0" 1442 | resolved "https://registry.yarnpkg.com/eslint-plugin-jest-formatting/-/eslint-plugin-jest-formatting-3.1.0.tgz#b26dd5a40f432b642dcc880021a771bb1c93dcd2" 1443 | integrity sha512-XyysraZ1JSgGbLSDxjj5HzKKh0glgWf+7CkqxbTqb7zEhW7X2WHo5SBQ8cGhnszKN+2Lj3/oevBlHNbHezoc/A== 1444 | 1445 | eslint-plugin-jest@26.1.1: 1446 | version "26.1.1" 1447 | resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-26.1.1.tgz#7176dd745ef8bca3070263f62cdf112f2dfc9aa1" 1448 | integrity sha512-HRKOuPi5ADhza4ZBK5ufyNXy28bXXkib87w+pQqdvBhSTsamndh6sIAKPAUl8y0/n9jSWBdTPslrwtKWqkp8dA== 1449 | dependencies: 1450 | "@typescript-eslint/utils" "^5.10.0" 1451 | 1452 | eslint-plugin-jsx-a11y@6.5.1: 1453 | version "6.5.1" 1454 | resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8" 1455 | integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g== 1456 | dependencies: 1457 | "@babel/runtime" "^7.16.3" 1458 | aria-query "^4.2.2" 1459 | array-includes "^3.1.4" 1460 | ast-types-flow "^0.0.7" 1461 | axe-core "^4.3.5" 1462 | axobject-query "^2.2.0" 1463 | damerau-levenshtein "^1.0.7" 1464 | emoji-regex "^9.2.2" 1465 | has "^1.0.3" 1466 | jsx-ast-utils "^3.2.1" 1467 | language-tags "^1.0.5" 1468 | minimatch "^3.0.4" 1469 | 1470 | eslint-plugin-promise@6.0.0: 1471 | version "6.0.0" 1472 | resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-6.0.0.tgz#017652c07c9816413a41e11c30adc42c3d55ff18" 1473 | integrity sha512-7GPezalm5Bfi/E22PnQxDWH2iW9GTvAlUNTztemeHb6c1BniSyoeTrM87JkC0wYdi6aQrZX9p2qEiAno8aTcbw== 1474 | 1475 | eslint-plugin-react-hooks@4.3.0: 1476 | version "4.3.0" 1477 | resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" 1478 | integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== 1479 | 1480 | eslint-plugin-react@7.28.0: 1481 | version "7.28.0" 1482 | resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz#8f3ff450677571a659ce76efc6d80b6a525adbdf" 1483 | integrity sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw== 1484 | dependencies: 1485 | array-includes "^3.1.4" 1486 | array.prototype.flatmap "^1.2.5" 1487 | doctrine "^2.1.0" 1488 | estraverse "^5.3.0" 1489 | jsx-ast-utils "^2.4.1 || ^3.0.0" 1490 | minimatch "^3.0.4" 1491 | object.entries "^1.1.5" 1492 | object.fromentries "^2.0.5" 1493 | object.hasown "^1.1.0" 1494 | object.values "^1.1.5" 1495 | prop-types "^15.7.2" 1496 | resolve "^2.0.0-next.3" 1497 | semver "^6.3.0" 1498 | string.prototype.matchall "^4.0.6" 1499 | 1500 | eslint-plugin-sonarjs@0.11.0: 1501 | version "0.11.0" 1502 | resolved "https://registry.yarnpkg.com/eslint-plugin-sonarjs/-/eslint-plugin-sonarjs-0.11.0.tgz#46d18bc4066c66e490de057253b9cc97bde9f176" 1503 | integrity sha512-ei/WuZiL0wP+qx2KrxKyZs3+eDbxiGAhFSm3GKCOOAUkg+G2ny6TSXDB2j67tvyqHefi+eoQsAgGQvz+nEtIBw== 1504 | 1505 | eslint-plugin-storybook@0.5.6: 1506 | version "0.5.6" 1507 | resolved "https://registry.yarnpkg.com/eslint-plugin-storybook/-/eslint-plugin-storybook-0.5.6.tgz#10bce5933ad9ceec46cdf5ed5a81b50b33f73bf7" 1508 | integrity sha512-hxeydYXi0DZC80kV9wPz9pA9oG9GVdfNg9iXR/KhqnMdqZWCGQKsex05k4VlX52no7mm/sICjW/iKYtRqVkaaw== 1509 | dependencies: 1510 | "@storybook/csf" "^0.0.1" 1511 | "@typescript-eslint/experimental-utils" "^5.3.0" 1512 | requireindex "^1.1.0" 1513 | 1514 | eslint-plugin-testing-library@5.0.5: 1515 | version "5.0.5" 1516 | resolved "https://registry.yarnpkg.com/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.0.5.tgz#5757961ec20a6ca8b0992d2c5487db1b51612d8d" 1517 | integrity sha512-0j355vJpJCE/2g+aayIgJRUB6jBVqpD5ztMLGcadR1PgrgGPnPxN1HJuOAsAAwiMo27GwRnpJB8KOQzyNuNZrw== 1518 | dependencies: 1519 | "@typescript-eslint/utils" "^5.10.2" 1520 | 1521 | eslint-plugin-unicorn@40.1.0: 1522 | version "40.1.0" 1523 | resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-40.1.0.tgz#48975360e39d23df726e4b33e8dd5d650e184832" 1524 | integrity sha512-y5doK2DF9Sr5AqKEHbHxjFllJ167nKDRU01HDcWyv4Tnmaoe9iNxMrBnaybZvWZUaE3OC5Unu0lNIevYamloig== 1525 | dependencies: 1526 | "@babel/helper-validator-identifier" "^7.15.7" 1527 | ci-info "^3.3.0" 1528 | clean-regexp "^1.0.0" 1529 | eslint-utils "^3.0.0" 1530 | esquery "^1.4.0" 1531 | indent-string "^4.0.0" 1532 | is-builtin-module "^3.1.0" 1533 | lodash "^4.17.21" 1534 | pluralize "^8.0.0" 1535 | read-pkg-up "^7.0.1" 1536 | regexp-tree "^0.1.24" 1537 | safe-regex "^2.1.1" 1538 | semver "^7.3.5" 1539 | strip-indent "^3.0.0" 1540 | 1541 | eslint-scope@^5.1.1: 1542 | version "5.1.1" 1543 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" 1544 | integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== 1545 | dependencies: 1546 | esrecurse "^4.3.0" 1547 | estraverse "^4.1.1" 1548 | 1549 | eslint-scope@^7.2.2: 1550 | version "7.2.2" 1551 | resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" 1552 | integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== 1553 | dependencies: 1554 | esrecurse "^4.3.0" 1555 | estraverse "^5.2.0" 1556 | 1557 | eslint-utils@^3.0.0: 1558 | version "3.0.0" 1559 | resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" 1560 | integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== 1561 | dependencies: 1562 | eslint-visitor-keys "^2.0.0" 1563 | 1564 | eslint-visitor-keys@^2.0.0, eslint-visitor-keys@^2.1.0: 1565 | version "2.1.0" 1566 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" 1567 | integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== 1568 | 1569 | eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: 1570 | version "3.4.3" 1571 | resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" 1572 | integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== 1573 | 1574 | eslint@^8.5.0: 1575 | version "8.53.0" 1576 | resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.53.0.tgz#14f2c8244298fcae1f46945459577413ba2697ce" 1577 | integrity sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag== 1578 | dependencies: 1579 | "@eslint-community/eslint-utils" "^4.2.0" 1580 | "@eslint-community/regexpp" "^4.6.1" 1581 | "@eslint/eslintrc" "^2.1.3" 1582 | "@eslint/js" "8.53.0" 1583 | "@humanwhocodes/config-array" "^0.11.13" 1584 | "@humanwhocodes/module-importer" "^1.0.1" 1585 | "@nodelib/fs.walk" "^1.2.8" 1586 | "@ungap/structured-clone" "^1.2.0" 1587 | ajv "^6.12.4" 1588 | chalk "^4.0.0" 1589 | cross-spawn "^7.0.2" 1590 | debug "^4.3.2" 1591 | doctrine "^3.0.0" 1592 | escape-string-regexp "^4.0.0" 1593 | eslint-scope "^7.2.2" 1594 | eslint-visitor-keys "^3.4.3" 1595 | espree "^9.6.1" 1596 | esquery "^1.4.2" 1597 | esutils "^2.0.2" 1598 | fast-deep-equal "^3.1.3" 1599 | file-entry-cache "^6.0.1" 1600 | find-up "^5.0.0" 1601 | glob-parent "^6.0.2" 1602 | globals "^13.19.0" 1603 | graphemer "^1.4.0" 1604 | ignore "^5.2.0" 1605 | imurmurhash "^0.1.4" 1606 | is-glob "^4.0.0" 1607 | is-path-inside "^3.0.3" 1608 | js-yaml "^4.1.0" 1609 | json-stable-stringify-without-jsonify "^1.0.1" 1610 | levn "^0.4.1" 1611 | lodash.merge "^4.6.2" 1612 | minimatch "^3.1.2" 1613 | natural-compare "^1.4.0" 1614 | optionator "^0.9.3" 1615 | strip-ansi "^6.0.1" 1616 | text-table "^0.2.0" 1617 | 1618 | espree@^9.6.0, espree@^9.6.1: 1619 | version "9.6.1" 1620 | resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" 1621 | integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== 1622 | dependencies: 1623 | acorn "^8.9.0" 1624 | acorn-jsx "^5.3.2" 1625 | eslint-visitor-keys "^3.4.1" 1626 | 1627 | esquery@^1.4.0, esquery@^1.4.2: 1628 | version "1.5.0" 1629 | resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" 1630 | integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== 1631 | dependencies: 1632 | estraverse "^5.1.0" 1633 | 1634 | esrecurse@^4.3.0: 1635 | version "4.3.0" 1636 | resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" 1637 | integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== 1638 | dependencies: 1639 | estraverse "^5.2.0" 1640 | 1641 | estraverse@^4.1.1: 1642 | version "4.3.0" 1643 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" 1644 | integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== 1645 | 1646 | estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: 1647 | version "5.3.0" 1648 | resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" 1649 | integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== 1650 | 1651 | esutils@^2.0.2: 1652 | version "2.0.3" 1653 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 1654 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 1655 | 1656 | event-target-shim@^5.0.0: 1657 | version "5.0.1" 1658 | resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" 1659 | integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== 1660 | 1661 | eventemitter3@^5.0.1: 1662 | version "5.0.1" 1663 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-5.0.1.tgz#53f5ffd0a492ac800721bb42c66b841de96423c4" 1664 | integrity sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== 1665 | 1666 | execa@8.0.1: 1667 | version "8.0.1" 1668 | resolved "https://registry.yarnpkg.com/execa/-/execa-8.0.1.tgz#51f6a5943b580f963c3ca9c6321796db8cc39b8c" 1669 | integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== 1670 | dependencies: 1671 | cross-spawn "^7.0.3" 1672 | get-stream "^8.0.1" 1673 | human-signals "^5.0.0" 1674 | is-stream "^3.0.0" 1675 | merge-stream "^2.0.0" 1676 | npm-run-path "^5.1.0" 1677 | onetime "^6.0.0" 1678 | signal-exit "^4.1.0" 1679 | strip-final-newline "^3.0.0" 1680 | 1681 | fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: 1682 | version "3.1.3" 1683 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" 1684 | integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== 1685 | 1686 | fast-glob@^3.2.9: 1687 | version "3.3.2" 1688 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" 1689 | integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== 1690 | dependencies: 1691 | "@nodelib/fs.stat" "^2.0.2" 1692 | "@nodelib/fs.walk" "^1.2.3" 1693 | glob-parent "^5.1.2" 1694 | merge2 "^1.3.0" 1695 | micromatch "^4.0.4" 1696 | 1697 | fast-json-stable-stringify@^2.0.0: 1698 | version "2.1.0" 1699 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1700 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1701 | 1702 | fast-levenshtein@^2.0.6: 1703 | version "2.0.6" 1704 | resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" 1705 | integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== 1706 | 1707 | fastq@^1.6.0: 1708 | version "1.15.0" 1709 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" 1710 | integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== 1711 | dependencies: 1712 | reusify "^1.0.4" 1713 | 1714 | file-entry-cache@^6.0.1: 1715 | version "6.0.1" 1716 | resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" 1717 | integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== 1718 | dependencies: 1719 | flat-cache "^3.0.4" 1720 | 1721 | fill-range@^7.0.1: 1722 | version "7.0.1" 1723 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1724 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1725 | dependencies: 1726 | to-regex-range "^5.0.1" 1727 | 1728 | find-root@^1.1.0: 1729 | version "1.1.0" 1730 | resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4" 1731 | integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng== 1732 | 1733 | find-up@^4.1.0: 1734 | version "4.1.0" 1735 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 1736 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 1737 | dependencies: 1738 | locate-path "^5.0.0" 1739 | path-exists "^4.0.0" 1740 | 1741 | find-up@^5.0.0: 1742 | version "5.0.0" 1743 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" 1744 | integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== 1745 | dependencies: 1746 | locate-path "^6.0.0" 1747 | path-exists "^4.0.0" 1748 | 1749 | flat-cache@^3.0.4: 1750 | version "3.1.1" 1751 | resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.1.1.tgz#a02a15fdec25a8f844ff7cc658f03dd99eb4609b" 1752 | integrity sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q== 1753 | dependencies: 1754 | flatted "^3.2.9" 1755 | keyv "^4.5.3" 1756 | rimraf "^3.0.2" 1757 | 1758 | flatted@^3.2.9: 1759 | version "3.2.9" 1760 | resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.9.tgz#7eb4c67ca1ba34232ca9d2d93e9886e611ad7daf" 1761 | integrity sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ== 1762 | 1763 | for-each@^0.3.3: 1764 | version "0.3.3" 1765 | resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" 1766 | integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== 1767 | dependencies: 1768 | is-callable "^1.1.3" 1769 | 1770 | fs.realpath@^1.0.0: 1771 | version "1.0.0" 1772 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1773 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 1774 | 1775 | function-bind@^1.1.2: 1776 | version "1.1.2" 1777 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" 1778 | integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== 1779 | 1780 | function.prototype.name@^1.1.6: 1781 | version "1.1.6" 1782 | resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" 1783 | integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== 1784 | dependencies: 1785 | call-bind "^1.0.2" 1786 | define-properties "^1.2.0" 1787 | es-abstract "^1.22.1" 1788 | functions-have-names "^1.2.3" 1789 | 1790 | functional-red-black-tree@^1.0.1: 1791 | version "1.0.1" 1792 | resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" 1793 | integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== 1794 | 1795 | functions-have-names@^1.2.3: 1796 | version "1.2.3" 1797 | resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" 1798 | integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== 1799 | 1800 | gensync@^1.0.0-beta.2: 1801 | version "1.0.0-beta.2" 1802 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1803 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1804 | 1805 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2: 1806 | version "1.2.2" 1807 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.2.tgz#281b7622971123e1ef4b3c90fd7539306da93f3b" 1808 | integrity sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA== 1809 | dependencies: 1810 | function-bind "^1.1.2" 1811 | has-proto "^1.0.1" 1812 | has-symbols "^1.0.3" 1813 | hasown "^2.0.0" 1814 | 1815 | get-stream@^8.0.1: 1816 | version "8.0.1" 1817 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-8.0.1.tgz#def9dfd71742cd7754a7761ed43749a27d02eca2" 1818 | integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== 1819 | 1820 | get-symbol-description@^1.0.0: 1821 | version "1.0.0" 1822 | resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" 1823 | integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== 1824 | dependencies: 1825 | call-bind "^1.0.2" 1826 | get-intrinsic "^1.1.1" 1827 | 1828 | glob-parent@^5.1.2: 1829 | version "5.1.2" 1830 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 1831 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 1832 | dependencies: 1833 | is-glob "^4.0.1" 1834 | 1835 | glob-parent@^6.0.1, glob-parent@^6.0.2: 1836 | version "6.0.2" 1837 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" 1838 | integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== 1839 | dependencies: 1840 | is-glob "^4.0.3" 1841 | 1842 | glob@7.1.7: 1843 | version "7.1.7" 1844 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" 1845 | integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== 1846 | dependencies: 1847 | fs.realpath "^1.0.0" 1848 | inflight "^1.0.4" 1849 | inherits "2" 1850 | minimatch "^3.0.4" 1851 | once "^1.3.0" 1852 | path-is-absolute "^1.0.0" 1853 | 1854 | glob@^7.1.3: 1855 | version "7.2.3" 1856 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 1857 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 1858 | dependencies: 1859 | fs.realpath "^1.0.0" 1860 | inflight "^1.0.4" 1861 | inherits "2" 1862 | minimatch "^3.1.1" 1863 | once "^1.3.0" 1864 | path-is-absolute "^1.0.0" 1865 | 1866 | globals@^11.1.0: 1867 | version "11.12.0" 1868 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1869 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1870 | 1871 | globals@^13.19.0: 1872 | version "13.23.0" 1873 | resolved "https://registry.yarnpkg.com/globals/-/globals-13.23.0.tgz#ef31673c926a0976e1f61dab4dca57e0c0a8af02" 1874 | integrity sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA== 1875 | dependencies: 1876 | type-fest "^0.20.2" 1877 | 1878 | globalthis@^1.0.3: 1879 | version "1.0.3" 1880 | resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" 1881 | integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== 1882 | dependencies: 1883 | define-properties "^1.1.3" 1884 | 1885 | globby@^11.0.4, globby@^11.1.0: 1886 | version "11.1.0" 1887 | resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" 1888 | integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== 1889 | dependencies: 1890 | array-union "^2.1.0" 1891 | dir-glob "^3.0.1" 1892 | fast-glob "^3.2.9" 1893 | ignore "^5.2.0" 1894 | merge2 "^1.4.1" 1895 | slash "^3.0.0" 1896 | 1897 | gopd@^1.0.1: 1898 | version "1.0.1" 1899 | resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" 1900 | integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== 1901 | dependencies: 1902 | get-intrinsic "^1.1.3" 1903 | 1904 | graphemer@^1.4.0: 1905 | version "1.4.0" 1906 | resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" 1907 | integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== 1908 | 1909 | has-bigints@^1.0.1, has-bigints@^1.0.2: 1910 | version "1.0.2" 1911 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" 1912 | integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== 1913 | 1914 | has-flag@^3.0.0: 1915 | version "3.0.0" 1916 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1917 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 1918 | 1919 | has-flag@^4.0.0: 1920 | version "4.0.0" 1921 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1922 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1923 | 1924 | has-property-descriptors@^1.0.0: 1925 | version "1.0.1" 1926 | resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340" 1927 | integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg== 1928 | dependencies: 1929 | get-intrinsic "^1.2.2" 1930 | 1931 | has-proto@^1.0.1: 1932 | version "1.0.1" 1933 | resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" 1934 | integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== 1935 | 1936 | has-symbols@^1.0.2, has-symbols@^1.0.3: 1937 | version "1.0.3" 1938 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 1939 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 1940 | 1941 | has-tostringtag@^1.0.0: 1942 | version "1.0.0" 1943 | resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" 1944 | integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== 1945 | dependencies: 1946 | has-symbols "^1.0.2" 1947 | 1948 | has@^1.0.3: 1949 | version "1.0.4" 1950 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" 1951 | integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== 1952 | 1953 | hasown@^2.0.0: 1954 | version "2.0.0" 1955 | resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" 1956 | integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== 1957 | dependencies: 1958 | function-bind "^1.1.2" 1959 | 1960 | hosted-git-info@^2.1.4: 1961 | version "2.8.9" 1962 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" 1963 | integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== 1964 | 1965 | human-signals@^5.0.0: 1966 | version "5.0.0" 1967 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-5.0.0.tgz#42665a284f9ae0dade3ba41ebc37eb4b852f3a28" 1968 | integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== 1969 | 1970 | husky@>=6: 1971 | version "8.0.3" 1972 | resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184" 1973 | integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== 1974 | 1975 | ignore@^5.1.8, ignore@^5.2.0: 1976 | version "5.2.4" 1977 | resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" 1978 | integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== 1979 | 1980 | import-fresh@^3.2.1: 1981 | version "3.3.0" 1982 | resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" 1983 | integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== 1984 | dependencies: 1985 | parent-module "^1.0.0" 1986 | resolve-from "^4.0.0" 1987 | 1988 | imurmurhash@^0.1.4: 1989 | version "0.1.4" 1990 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1991 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 1992 | 1993 | indent-string@^4.0.0: 1994 | version "4.0.0" 1995 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" 1996 | integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 1997 | 1998 | inflight@^1.0.4: 1999 | version "1.0.6" 2000 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 2001 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 2002 | dependencies: 2003 | once "^1.3.0" 2004 | wrappy "1" 2005 | 2006 | inherits@2, inherits@^2.0.3: 2007 | version "2.0.4" 2008 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 2009 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 2010 | 2011 | internal-slot@^1.0.4, internal-slot@^1.0.5: 2012 | version "1.0.6" 2013 | resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.6.tgz#37e756098c4911c5e912b8edbf71ed3aa116f930" 2014 | integrity sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg== 2015 | dependencies: 2016 | get-intrinsic "^1.2.2" 2017 | hasown "^2.0.0" 2018 | side-channel "^1.0.4" 2019 | 2020 | is-arguments@^1.0.4, is-arguments@^1.1.1: 2021 | version "1.1.1" 2022 | resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" 2023 | integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== 2024 | dependencies: 2025 | call-bind "^1.0.2" 2026 | has-tostringtag "^1.0.0" 2027 | 2028 | is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: 2029 | version "3.0.2" 2030 | resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" 2031 | integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== 2032 | dependencies: 2033 | call-bind "^1.0.2" 2034 | get-intrinsic "^1.2.0" 2035 | is-typed-array "^1.1.10" 2036 | 2037 | is-arrayish@^0.2.1: 2038 | version "0.2.1" 2039 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 2040 | integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== 2041 | 2042 | is-bigint@^1.0.1: 2043 | version "1.0.4" 2044 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" 2045 | integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== 2046 | dependencies: 2047 | has-bigints "^1.0.1" 2048 | 2049 | is-boolean-object@^1.1.0: 2050 | version "1.1.2" 2051 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" 2052 | integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== 2053 | dependencies: 2054 | call-bind "^1.0.2" 2055 | has-tostringtag "^1.0.0" 2056 | 2057 | is-builtin-module@^3.1.0: 2058 | version "3.2.1" 2059 | resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" 2060 | integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== 2061 | dependencies: 2062 | builtin-modules "^3.3.0" 2063 | 2064 | is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: 2065 | version "1.2.7" 2066 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" 2067 | integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== 2068 | 2069 | is-core-module@^2.13.0, is-core-module@^2.8.0: 2070 | version "2.13.1" 2071 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" 2072 | integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== 2073 | dependencies: 2074 | hasown "^2.0.0" 2075 | 2076 | is-date-object@^1.0.1, is-date-object@^1.0.5: 2077 | version "1.0.5" 2078 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" 2079 | integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== 2080 | dependencies: 2081 | has-tostringtag "^1.0.0" 2082 | 2083 | is-extglob@^2.1.1: 2084 | version "2.1.1" 2085 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 2086 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 2087 | 2088 | is-fullwidth-code-point@^4.0.0: 2089 | version "4.0.0" 2090 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" 2091 | integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== 2092 | 2093 | is-generator-function@^1.0.7: 2094 | version "1.0.10" 2095 | resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" 2096 | integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== 2097 | dependencies: 2098 | has-tostringtag "^1.0.0" 2099 | 2100 | is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: 2101 | version "4.0.3" 2102 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 2103 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 2104 | dependencies: 2105 | is-extglob "^2.1.1" 2106 | 2107 | is-map@^2.0.1, is-map@^2.0.2: 2108 | version "2.0.2" 2109 | resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" 2110 | integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== 2111 | 2112 | is-negative-zero@^2.0.2: 2113 | version "2.0.2" 2114 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" 2115 | integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== 2116 | 2117 | is-number-object@^1.0.4: 2118 | version "1.0.7" 2119 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" 2120 | integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== 2121 | dependencies: 2122 | has-tostringtag "^1.0.0" 2123 | 2124 | is-number@^7.0.0: 2125 | version "7.0.0" 2126 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 2127 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 2128 | 2129 | is-path-inside@^3.0.3: 2130 | version "3.0.3" 2131 | resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" 2132 | integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== 2133 | 2134 | is-regex@^1.1.4: 2135 | version "1.1.4" 2136 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" 2137 | integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== 2138 | dependencies: 2139 | call-bind "^1.0.2" 2140 | has-tostringtag "^1.0.0" 2141 | 2142 | is-set@^2.0.1, is-set@^2.0.2: 2143 | version "2.0.2" 2144 | resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" 2145 | integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== 2146 | 2147 | is-shared-array-buffer@^1.0.2: 2148 | version "1.0.2" 2149 | resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" 2150 | integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== 2151 | dependencies: 2152 | call-bind "^1.0.2" 2153 | 2154 | is-stream@^3.0.0: 2155 | version "3.0.0" 2156 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" 2157 | integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== 2158 | 2159 | is-string@^1.0.5, is-string@^1.0.7: 2160 | version "1.0.7" 2161 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" 2162 | integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== 2163 | dependencies: 2164 | has-tostringtag "^1.0.0" 2165 | 2166 | is-symbol@^1.0.2, is-symbol@^1.0.3: 2167 | version "1.0.4" 2168 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" 2169 | integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== 2170 | dependencies: 2171 | has-symbols "^1.0.2" 2172 | 2173 | is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.3, is-typed-array@^1.1.9: 2174 | version "1.1.12" 2175 | resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.12.tgz#d0bab5686ef4a76f7a73097b95470ab199c57d4a" 2176 | integrity sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg== 2177 | dependencies: 2178 | which-typed-array "^1.1.11" 2179 | 2180 | is-weakmap@^2.0.1: 2181 | version "2.0.1" 2182 | resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" 2183 | integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== 2184 | 2185 | is-weakref@^1.0.2: 2186 | version "1.0.2" 2187 | resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" 2188 | integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== 2189 | dependencies: 2190 | call-bind "^1.0.2" 2191 | 2192 | is-weakset@^2.0.1: 2193 | version "2.0.2" 2194 | resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" 2195 | integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== 2196 | dependencies: 2197 | call-bind "^1.0.2" 2198 | get-intrinsic "^1.1.1" 2199 | 2200 | isarray@^2.0.5: 2201 | version "2.0.5" 2202 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" 2203 | integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== 2204 | 2205 | isexe@^2.0.0: 2206 | version "2.0.0" 2207 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 2208 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 2209 | 2210 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 2211 | version "4.0.0" 2212 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 2213 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 2214 | 2215 | js-yaml@^4.1.0: 2216 | version "4.1.0" 2217 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" 2218 | integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== 2219 | dependencies: 2220 | argparse "^2.0.1" 2221 | 2222 | jsesc@^2.5.1: 2223 | version "2.5.2" 2224 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 2225 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 2226 | 2227 | json-buffer@3.0.1: 2228 | version "3.0.1" 2229 | resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" 2230 | integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== 2231 | 2232 | json-parse-even-better-errors@^2.3.0: 2233 | version "2.3.1" 2234 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 2235 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 2236 | 2237 | json-schema-traverse@^0.4.1: 2238 | version "0.4.1" 2239 | resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" 2240 | integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== 2241 | 2242 | json-stable-stringify-without-jsonify@^1.0.1: 2243 | version "1.0.1" 2244 | resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" 2245 | integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== 2246 | 2247 | json5@^1.0.2: 2248 | version "1.0.2" 2249 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" 2250 | integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== 2251 | dependencies: 2252 | minimist "^1.2.0" 2253 | 2254 | json5@^2.1.2: 2255 | version "2.2.3" 2256 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" 2257 | integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== 2258 | 2259 | "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: 2260 | version "3.3.5" 2261 | resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" 2262 | integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== 2263 | dependencies: 2264 | array-includes "^3.1.6" 2265 | array.prototype.flat "^1.3.1" 2266 | object.assign "^4.1.4" 2267 | object.values "^1.1.6" 2268 | 2269 | keyv@^4.5.3: 2270 | version "4.5.4" 2271 | resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" 2272 | integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== 2273 | dependencies: 2274 | json-buffer "3.0.1" 2275 | 2276 | language-subtag-registry@^0.3.20: 2277 | version "0.3.22" 2278 | resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz#2e1500861b2e457eba7e7ae86877cbd08fa1fd1d" 2279 | integrity sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w== 2280 | 2281 | language-tags@^1.0.5: 2282 | version "1.0.9" 2283 | resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.9.tgz#1ffdcd0ec0fafb4b1be7f8b11f306ad0f9c08777" 2284 | integrity sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA== 2285 | dependencies: 2286 | language-subtag-registry "^0.3.20" 2287 | 2288 | levn@^0.4.1: 2289 | version "0.4.1" 2290 | resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" 2291 | integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== 2292 | dependencies: 2293 | prelude-ls "^1.2.1" 2294 | type-check "~0.4.0" 2295 | 2296 | lilconfig@2.1.0: 2297 | version "2.1.0" 2298 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" 2299 | integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== 2300 | 2301 | lines-and-columns@^1.1.6: 2302 | version "1.2.4" 2303 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 2304 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 2305 | 2306 | lint-staged@>=12.1.4: 2307 | version "15.0.2" 2308 | resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-15.0.2.tgz#abef713182ec2770143e40a5d6d0130fe61ed442" 2309 | integrity sha512-vnEy7pFTHyVuDmCAIFKR5QDO8XLVlPFQQyujQ/STOxe40ICWqJ6knS2wSJ/ffX/Lw0rz83luRDh+ET7toN+rOw== 2310 | dependencies: 2311 | chalk "5.3.0" 2312 | commander "11.1.0" 2313 | debug "4.3.4" 2314 | execa "8.0.1" 2315 | lilconfig "2.1.0" 2316 | listr2 "7.0.2" 2317 | micromatch "4.0.5" 2318 | pidtree "0.6.0" 2319 | string-argv "0.3.2" 2320 | yaml "2.3.3" 2321 | 2322 | listr2@7.0.2: 2323 | version "7.0.2" 2324 | resolved "https://registry.yarnpkg.com/listr2/-/listr2-7.0.2.tgz#3aa3e1549dfaf3c57ab5eeaba754da3b87f33063" 2325 | integrity sha512-rJysbR9GKIalhTbVL2tYbF2hVyDnrf7pFUZBwjPaMIdadYHmeT+EVi/Bu3qd7ETQPahTotg2WRCatXwRBW554g== 2326 | dependencies: 2327 | cli-truncate "^3.1.0" 2328 | colorette "^2.0.20" 2329 | eventemitter3 "^5.0.1" 2330 | log-update "^5.0.1" 2331 | rfdc "^1.3.0" 2332 | wrap-ansi "^8.1.0" 2333 | 2334 | locate-path@^5.0.0: 2335 | version "5.0.0" 2336 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 2337 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 2338 | dependencies: 2339 | p-locate "^4.1.0" 2340 | 2341 | locate-path@^6.0.0: 2342 | version "6.0.0" 2343 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" 2344 | integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== 2345 | dependencies: 2346 | p-locate "^5.0.0" 2347 | 2348 | lodash.merge@^4.6.2: 2349 | version "4.6.2" 2350 | resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" 2351 | integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== 2352 | 2353 | lodash@^4.17.15, lodash@^4.17.21: 2354 | version "4.17.21" 2355 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 2356 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 2357 | 2358 | log-update@^5.0.1: 2359 | version "5.0.1" 2360 | resolved "https://registry.yarnpkg.com/log-update/-/log-update-5.0.1.tgz#9e928bf70cb183c1f0c9e91d9e6b7115d597ce09" 2361 | integrity sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw== 2362 | dependencies: 2363 | ansi-escapes "^5.0.0" 2364 | cli-cursor "^4.0.0" 2365 | slice-ansi "^5.0.0" 2366 | strip-ansi "^7.0.1" 2367 | wrap-ansi "^8.0.1" 2368 | 2369 | loose-envify@^1.1.0, loose-envify@^1.4.0: 2370 | version "1.4.0" 2371 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 2372 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 2373 | dependencies: 2374 | js-tokens "^3.0.0 || ^4.0.0" 2375 | 2376 | lru-cache@^5.1.1: 2377 | version "5.1.1" 2378 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" 2379 | integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== 2380 | dependencies: 2381 | yallist "^3.0.2" 2382 | 2383 | lru-cache@^6.0.0: 2384 | version "6.0.0" 2385 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 2386 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 2387 | dependencies: 2388 | yallist "^4.0.0" 2389 | 2390 | lz-string@^1.5.0: 2391 | version "1.5.0" 2392 | resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" 2393 | integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== 2394 | 2395 | make-error@^1.1.1: 2396 | version "1.3.6" 2397 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 2398 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 2399 | 2400 | merge-stream@^2.0.0: 2401 | version "2.0.0" 2402 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 2403 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 2404 | 2405 | merge2@^1.3.0, merge2@^1.4.1: 2406 | version "1.4.1" 2407 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 2408 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 2409 | 2410 | micromatch@4.0.5, micromatch@^4.0.4: 2411 | version "4.0.5" 2412 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 2413 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 2414 | dependencies: 2415 | braces "^3.0.2" 2416 | picomatch "^2.3.1" 2417 | 2418 | mimic-fn@^2.1.0: 2419 | version "2.1.0" 2420 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 2421 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 2422 | 2423 | mimic-fn@^4.0.0: 2424 | version "4.0.0" 2425 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" 2426 | integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== 2427 | 2428 | min-indent@^1.0.0: 2429 | version "1.0.1" 2430 | resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" 2431 | integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== 2432 | 2433 | minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: 2434 | version "3.1.2" 2435 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 2436 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 2437 | dependencies: 2438 | brace-expansion "^1.1.7" 2439 | 2440 | minimist@^1.2.0, minimist@^1.2.6: 2441 | version "1.2.8" 2442 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" 2443 | integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== 2444 | 2445 | mrmime@^1.0.0: 2446 | version "1.0.1" 2447 | resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.1.tgz#5f90c825fad4bdd41dc914eff5d1a8cfdaf24f27" 2448 | integrity sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw== 2449 | 2450 | ms@2.0.0: 2451 | version "2.0.0" 2452 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 2453 | integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== 2454 | 2455 | ms@2.1.2: 2456 | version "2.1.2" 2457 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 2458 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 2459 | 2460 | ms@^2.1.1: 2461 | version "2.1.3" 2462 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 2463 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 2464 | 2465 | natural-compare-lite@^1.4.0: 2466 | version "1.4.0" 2467 | resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" 2468 | integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== 2469 | 2470 | natural-compare@^1.4.0: 2471 | version "1.4.0" 2472 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 2473 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 2474 | 2475 | node-releases@^2.0.13: 2476 | version "2.0.13" 2477 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" 2478 | integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== 2479 | 2480 | normalize-package-data@^2.5.0: 2481 | version "2.5.0" 2482 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 2483 | integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 2484 | dependencies: 2485 | hosted-git-info "^2.1.4" 2486 | resolve "^1.10.0" 2487 | semver "2 || 3 || 4 || 5" 2488 | validate-npm-package-license "^3.0.1" 2489 | 2490 | npm-run-path@^5.1.0: 2491 | version "5.1.0" 2492 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" 2493 | integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== 2494 | dependencies: 2495 | path-key "^4.0.0" 2496 | 2497 | object-assign@^4.1.1: 2498 | version "4.1.1" 2499 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 2500 | integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== 2501 | 2502 | object-inspect@^1.13.1, object-inspect@^1.9.0: 2503 | version "1.13.1" 2504 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" 2505 | integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== 2506 | 2507 | object-is@^1.1.5: 2508 | version "1.1.5" 2509 | resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" 2510 | integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== 2511 | dependencies: 2512 | call-bind "^1.0.2" 2513 | define-properties "^1.1.3" 2514 | 2515 | object-keys@^1.1.1: 2516 | version "1.1.1" 2517 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 2518 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 2519 | 2520 | object.assign@^4.1.4: 2521 | version "4.1.4" 2522 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" 2523 | integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== 2524 | dependencies: 2525 | call-bind "^1.0.2" 2526 | define-properties "^1.1.4" 2527 | has-symbols "^1.0.3" 2528 | object-keys "^1.1.1" 2529 | 2530 | object.entries@^1.1.5: 2531 | version "1.1.7" 2532 | resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.7.tgz#2b47760e2a2e3a752f39dd874655c61a7f03c131" 2533 | integrity sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA== 2534 | dependencies: 2535 | call-bind "^1.0.2" 2536 | define-properties "^1.2.0" 2537 | es-abstract "^1.22.1" 2538 | 2539 | object.fromentries@^2.0.5: 2540 | version "2.0.7" 2541 | resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.7.tgz#71e95f441e9a0ea6baf682ecaaf37fa2a8d7e616" 2542 | integrity sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA== 2543 | dependencies: 2544 | call-bind "^1.0.2" 2545 | define-properties "^1.2.0" 2546 | es-abstract "^1.22.1" 2547 | 2548 | object.hasown@^1.1.0: 2549 | version "1.1.3" 2550 | resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.3.tgz#6a5f2897bb4d3668b8e79364f98ccf971bda55ae" 2551 | integrity sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA== 2552 | dependencies: 2553 | define-properties "^1.2.0" 2554 | es-abstract "^1.22.1" 2555 | 2556 | object.values@^1.1.5, object.values@^1.1.6: 2557 | version "1.1.7" 2558 | resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.7.tgz#617ed13272e7e1071b43973aa1655d9291b8442a" 2559 | integrity sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng== 2560 | dependencies: 2561 | call-bind "^1.0.2" 2562 | define-properties "^1.2.0" 2563 | es-abstract "^1.22.1" 2564 | 2565 | once@^1.3.0: 2566 | version "1.4.0" 2567 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 2568 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 2569 | dependencies: 2570 | wrappy "1" 2571 | 2572 | onetime@^5.1.0: 2573 | version "5.1.2" 2574 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 2575 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 2576 | dependencies: 2577 | mimic-fn "^2.1.0" 2578 | 2579 | onetime@^6.0.0: 2580 | version "6.0.0" 2581 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" 2582 | integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== 2583 | dependencies: 2584 | mimic-fn "^4.0.0" 2585 | 2586 | optionator@^0.9.3: 2587 | version "0.9.3" 2588 | resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" 2589 | integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== 2590 | dependencies: 2591 | "@aashutoshrathi/word-wrap" "^1.2.3" 2592 | deep-is "^0.1.3" 2593 | fast-levenshtein "^2.0.6" 2594 | levn "^0.4.1" 2595 | prelude-ls "^1.2.1" 2596 | type-check "^0.4.0" 2597 | 2598 | p-limit@^2.2.0: 2599 | version "2.3.0" 2600 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 2601 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 2602 | dependencies: 2603 | p-try "^2.0.0" 2604 | 2605 | p-limit@^3.0.2: 2606 | version "3.1.0" 2607 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 2608 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 2609 | dependencies: 2610 | yocto-queue "^0.1.0" 2611 | 2612 | p-locate@^4.1.0: 2613 | version "4.1.0" 2614 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 2615 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 2616 | dependencies: 2617 | p-limit "^2.2.0" 2618 | 2619 | p-locate@^5.0.0: 2620 | version "5.0.0" 2621 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" 2622 | integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== 2623 | dependencies: 2624 | p-limit "^3.0.2" 2625 | 2626 | p-try@^2.0.0: 2627 | version "2.2.0" 2628 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 2629 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 2630 | 2631 | parent-module@^1.0.0: 2632 | version "1.0.1" 2633 | resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" 2634 | integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== 2635 | dependencies: 2636 | callsites "^3.0.0" 2637 | 2638 | parse-json@^5.0.0: 2639 | version "5.2.0" 2640 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 2641 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 2642 | dependencies: 2643 | "@babel/code-frame" "^7.0.0" 2644 | error-ex "^1.3.1" 2645 | json-parse-even-better-errors "^2.3.0" 2646 | lines-and-columns "^1.1.6" 2647 | 2648 | path-exists@^4.0.0: 2649 | version "4.0.0" 2650 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 2651 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 2652 | 2653 | path-is-absolute@^1.0.0: 2654 | version "1.0.1" 2655 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2656 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 2657 | 2658 | path-key@^3.1.0: 2659 | version "3.1.1" 2660 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 2661 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2662 | 2663 | path-key@^4.0.0: 2664 | version "4.0.0" 2665 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" 2666 | integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== 2667 | 2668 | path-parse@^1.0.7: 2669 | version "1.0.7" 2670 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 2671 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 2672 | 2673 | path-type@^4.0.0: 2674 | version "4.0.0" 2675 | resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" 2676 | integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== 2677 | 2678 | picocolors@^1.0.0: 2679 | version "1.0.0" 2680 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 2681 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 2682 | 2683 | picomatch@^2.3.1: 2684 | version "2.3.1" 2685 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 2686 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 2687 | 2688 | pidtree@0.6.0: 2689 | version "0.6.0" 2690 | resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" 2691 | integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== 2692 | 2693 | pluralize@^8.0.0: 2694 | version "8.0.0" 2695 | resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" 2696 | integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== 2697 | 2698 | prelude-ls@^1.2.1: 2699 | version "1.2.1" 2700 | resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" 2701 | integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== 2702 | 2703 | prettier@^2.5.1: 2704 | version "2.8.8" 2705 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" 2706 | integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== 2707 | 2708 | pretty-format@^27.0.2: 2709 | version "27.5.1" 2710 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" 2711 | integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== 2712 | dependencies: 2713 | ansi-regex "^5.0.1" 2714 | ansi-styles "^5.0.0" 2715 | react-is "^17.0.1" 2716 | 2717 | prop-types@^15.7.2: 2718 | version "15.8.1" 2719 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" 2720 | integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== 2721 | dependencies: 2722 | loose-envify "^1.4.0" 2723 | object-assign "^4.1.1" 2724 | react-is "^16.13.1" 2725 | 2726 | punycode@^2.1.0: 2727 | version "2.3.1" 2728 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" 2729 | integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== 2730 | 2731 | queue-microtask@^1.2.2: 2732 | version "1.2.3" 2733 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 2734 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 2735 | 2736 | react-is@^16.13.1: 2737 | version "16.13.1" 2738 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" 2739 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 2740 | 2741 | react-is@^17.0.1: 2742 | version "17.0.2" 2743 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" 2744 | integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== 2745 | 2746 | react-router-dom@6.18.0: 2747 | version "6.18.0" 2748 | resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.18.0.tgz#0a50c167209d6e7bd2ed9de200a6579ea4fb1dca" 2749 | integrity sha512-Ubrue4+Ercc/BoDkFQfc6og5zRQ4A8YxSO3Knsne+eRbZ+IepAsK249XBH/XaFuOYOYr3L3r13CXTLvYt5JDjw== 2750 | dependencies: 2751 | "@remix-run/router" "1.11.0" 2752 | react-router "6.18.0" 2753 | 2754 | react-router@6.18.0: 2755 | version "6.18.0" 2756 | resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.18.0.tgz#32e2bedc318e095a48763b5ed7758e54034cd36a" 2757 | integrity sha512-vk2y7Dsy8wI02eRRaRmOs9g2o+aE72YCx5q9VasT1N9v+lrdB79tIqrjMfByHiY5+6aYkH2rUa5X839nwWGPDg== 2758 | dependencies: 2759 | "@remix-run/router" "1.11.0" 2760 | 2761 | react@^18.0.2: 2762 | version "18.2.0" 2763 | resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" 2764 | integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== 2765 | dependencies: 2766 | loose-envify "^1.1.0" 2767 | 2768 | read-pkg-up@7.0.1, read-pkg-up@^7.0.1: 2769 | version "7.0.1" 2770 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" 2771 | integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== 2772 | dependencies: 2773 | find-up "^4.1.0" 2774 | read-pkg "^5.2.0" 2775 | type-fest "^0.8.1" 2776 | 2777 | read-pkg@^5.2.0: 2778 | version "5.2.0" 2779 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" 2780 | integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== 2781 | dependencies: 2782 | "@types/normalize-package-data" "^2.4.0" 2783 | normalize-package-data "^2.5.0" 2784 | parse-json "^5.0.0" 2785 | type-fest "^0.6.0" 2786 | 2787 | regenerator-runtime@^0.14.0: 2788 | version "0.14.0" 2789 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz#5e19d68eb12d486f797e15a3c6a918f7cec5eb45" 2790 | integrity sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA== 2791 | 2792 | regexp-tree@^0.1.24, regexp-tree@~0.1.1: 2793 | version "0.1.27" 2794 | resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.27.tgz#2198f0ef54518ffa743fe74d983b56ffd631b6cd" 2795 | integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== 2796 | 2797 | regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1: 2798 | version "1.5.1" 2799 | resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e" 2800 | integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg== 2801 | dependencies: 2802 | call-bind "^1.0.2" 2803 | define-properties "^1.2.0" 2804 | set-function-name "^2.0.0" 2805 | 2806 | regexpp@^3.2.0: 2807 | version "3.2.0" 2808 | resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" 2809 | integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== 2810 | 2811 | remix-auth@^3.6.0: 2812 | version "3.6.0" 2813 | resolved "https://registry.yarnpkg.com/remix-auth/-/remix-auth-3.6.0.tgz#3ed6a070a11e72f13a4c10ed0704a5e411cbdf02" 2814 | integrity sha512-mxlzLYi+/GKQSaXIqIw15dxAT1wm+93REAeDIft2unrKDYnjaGhhpapyPhdbALln86wt9lNAk21znfRss3fG7Q== 2815 | dependencies: 2816 | uuid "^8.3.2" 2817 | 2818 | requireindex@^1.1.0, requireindex@^1.2.0: 2819 | version "1.2.0" 2820 | resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.2.0.tgz#3463cdb22ee151902635aa6c9535d4de9c2ef1ef" 2821 | integrity sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww== 2822 | 2823 | resolve-from@^4.0.0: 2824 | version "4.0.0" 2825 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" 2826 | integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== 2827 | 2828 | resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.4: 2829 | version "1.22.8" 2830 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" 2831 | integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== 2832 | dependencies: 2833 | is-core-module "^2.13.0" 2834 | path-parse "^1.0.7" 2835 | supports-preserve-symlinks-flag "^1.0.0" 2836 | 2837 | resolve@^2.0.0-next.3: 2838 | version "2.0.0-next.5" 2839 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.5.tgz#6b0ec3107e671e52b68cd068ef327173b90dc03c" 2840 | integrity sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA== 2841 | dependencies: 2842 | is-core-module "^2.13.0" 2843 | path-parse "^1.0.7" 2844 | supports-preserve-symlinks-flag "^1.0.0" 2845 | 2846 | restore-cursor@^4.0.0: 2847 | version "4.0.0" 2848 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-4.0.0.tgz#519560a4318975096def6e609d44100edaa4ccb9" 2849 | integrity sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== 2850 | dependencies: 2851 | onetime "^5.1.0" 2852 | signal-exit "^3.0.2" 2853 | 2854 | reusify@^1.0.4: 2855 | version "1.0.4" 2856 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 2857 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 2858 | 2859 | rfdc@^1.3.0: 2860 | version "1.3.0" 2861 | resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" 2862 | integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== 2863 | 2864 | rimraf@^3.0.2: 2865 | version "3.0.2" 2866 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 2867 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 2868 | dependencies: 2869 | glob "^7.1.3" 2870 | 2871 | run-parallel@^1.1.9: 2872 | version "1.2.0" 2873 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 2874 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 2875 | dependencies: 2876 | queue-microtask "^1.2.2" 2877 | 2878 | safe-array-concat@^1.0.1: 2879 | version "1.0.1" 2880 | resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" 2881 | integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== 2882 | dependencies: 2883 | call-bind "^1.0.2" 2884 | get-intrinsic "^1.2.1" 2885 | has-symbols "^1.0.3" 2886 | isarray "^2.0.5" 2887 | 2888 | safe-regex-test@^1.0.0: 2889 | version "1.0.0" 2890 | resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" 2891 | integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== 2892 | dependencies: 2893 | call-bind "^1.0.2" 2894 | get-intrinsic "^1.1.3" 2895 | is-regex "^1.1.4" 2896 | 2897 | safe-regex@^2.1.1: 2898 | version "2.1.1" 2899 | resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-2.1.1.tgz#f7128f00d056e2fe5c11e81a1324dd974aadced2" 2900 | integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A== 2901 | dependencies: 2902 | regexp-tree "~0.1.1" 2903 | 2904 | "semver@2 || 3 || 4 || 5": 2905 | version "5.7.2" 2906 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" 2907 | integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== 2908 | 2909 | semver@^6.3.0, semver@^6.3.1: 2910 | version "6.3.1" 2911 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" 2912 | integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== 2913 | 2914 | semver@^7.3.5, semver@^7.3.7: 2915 | version "7.5.4" 2916 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" 2917 | integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== 2918 | dependencies: 2919 | lru-cache "^6.0.0" 2920 | 2921 | set-cookie-parser@^2.4.8: 2922 | version "2.6.0" 2923 | resolved "https://registry.yarnpkg.com/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz#131921e50f62ff1a66a461d7d62d7b21d5d15a51" 2924 | integrity sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ== 2925 | 2926 | set-function-length@^1.1.1: 2927 | version "1.1.1" 2928 | resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.1.1.tgz#4bc39fafb0307224a33e106a7d35ca1218d659ed" 2929 | integrity sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ== 2930 | dependencies: 2931 | define-data-property "^1.1.1" 2932 | get-intrinsic "^1.2.1" 2933 | gopd "^1.0.1" 2934 | has-property-descriptors "^1.0.0" 2935 | 2936 | set-function-name@^2.0.0: 2937 | version "2.0.1" 2938 | resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a" 2939 | integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA== 2940 | dependencies: 2941 | define-data-property "^1.0.1" 2942 | functions-have-names "^1.2.3" 2943 | has-property-descriptors "^1.0.0" 2944 | 2945 | shebang-command@^2.0.0: 2946 | version "2.0.0" 2947 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 2948 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 2949 | dependencies: 2950 | shebang-regex "^3.0.0" 2951 | 2952 | shebang-regex@^3.0.0: 2953 | version "3.0.0" 2954 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 2955 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 2956 | 2957 | side-channel@^1.0.4: 2958 | version "1.0.4" 2959 | resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" 2960 | integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== 2961 | dependencies: 2962 | call-bind "^1.0.0" 2963 | get-intrinsic "^1.0.2" 2964 | object-inspect "^1.9.0" 2965 | 2966 | signal-exit@^3.0.2: 2967 | version "3.0.7" 2968 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" 2969 | integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== 2970 | 2971 | signal-exit@^4.1.0: 2972 | version "4.1.0" 2973 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04" 2974 | integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== 2975 | 2976 | slash@^3.0.0: 2977 | version "3.0.0" 2978 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 2979 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 2980 | 2981 | slice-ansi@^5.0.0: 2982 | version "5.0.0" 2983 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" 2984 | integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== 2985 | dependencies: 2986 | ansi-styles "^6.0.0" 2987 | is-fullwidth-code-point "^4.0.0" 2988 | 2989 | source-map-support@^0.5.21: 2990 | version "0.5.21" 2991 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" 2992 | integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== 2993 | dependencies: 2994 | buffer-from "^1.0.0" 2995 | source-map "^0.6.0" 2996 | 2997 | source-map@^0.6.0: 2998 | version "0.6.1" 2999 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 3000 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 3001 | 3002 | source-map@^0.7.3: 3003 | version "0.7.4" 3004 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" 3005 | integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== 3006 | 3007 | spdx-correct@^3.0.0: 3008 | version "3.2.0" 3009 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" 3010 | integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== 3011 | dependencies: 3012 | spdx-expression-parse "^3.0.0" 3013 | spdx-license-ids "^3.0.0" 3014 | 3015 | spdx-exceptions@^2.1.0: 3016 | version "2.3.0" 3017 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" 3018 | integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== 3019 | 3020 | spdx-expression-parse@^3.0.0: 3021 | version "3.0.1" 3022 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" 3023 | integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== 3024 | dependencies: 3025 | spdx-exceptions "^2.1.0" 3026 | spdx-license-ids "^3.0.0" 3027 | 3028 | spdx-license-ids@^3.0.0: 3029 | version "3.0.16" 3030 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz#a14f64e0954f6e25cc6587bd4f392522db0d998f" 3031 | integrity sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw== 3032 | 3033 | stop-iteration-iterator@^1.0.0: 3034 | version "1.0.0" 3035 | resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" 3036 | integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== 3037 | dependencies: 3038 | internal-slot "^1.0.4" 3039 | 3040 | stream-slice@^0.1.2: 3041 | version "0.1.2" 3042 | resolved "https://registry.yarnpkg.com/stream-slice/-/stream-slice-0.1.2.tgz#2dc4f4e1b936fb13f3eb39a2def1932798d07a4b" 3043 | integrity sha512-QzQxpoacatkreL6jsxnVb7X5R/pGw9OUv2qWTYWnmLpg4NdN31snPy/f3TdQE1ZUXaThRvj1Zw4/OGg0ZkaLMA== 3044 | 3045 | string-argv@0.3.2: 3046 | version "0.3.2" 3047 | resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" 3048 | integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== 3049 | 3050 | string-width@^5.0.0, string-width@^5.0.1: 3051 | version "5.1.2" 3052 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" 3053 | integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== 3054 | dependencies: 3055 | eastasianwidth "^0.2.0" 3056 | emoji-regex "^9.2.2" 3057 | strip-ansi "^7.0.1" 3058 | 3059 | string.prototype.matchall@^4.0.6: 3060 | version "4.0.10" 3061 | resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100" 3062 | integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ== 3063 | dependencies: 3064 | call-bind "^1.0.2" 3065 | define-properties "^1.2.0" 3066 | es-abstract "^1.22.1" 3067 | get-intrinsic "^1.2.1" 3068 | has-symbols "^1.0.3" 3069 | internal-slot "^1.0.5" 3070 | regexp.prototype.flags "^1.5.0" 3071 | set-function-name "^2.0.0" 3072 | side-channel "^1.0.4" 3073 | 3074 | string.prototype.trim@^1.2.8: 3075 | version "1.2.8" 3076 | resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd" 3077 | integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ== 3078 | dependencies: 3079 | call-bind "^1.0.2" 3080 | define-properties "^1.2.0" 3081 | es-abstract "^1.22.1" 3082 | 3083 | string.prototype.trimend@^1.0.7: 3084 | version "1.0.7" 3085 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e" 3086 | integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA== 3087 | dependencies: 3088 | call-bind "^1.0.2" 3089 | define-properties "^1.2.0" 3090 | es-abstract "^1.22.1" 3091 | 3092 | string.prototype.trimstart@^1.0.7: 3093 | version "1.0.7" 3094 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" 3095 | integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== 3096 | dependencies: 3097 | call-bind "^1.0.2" 3098 | define-properties "^1.2.0" 3099 | es-abstract "^1.22.1" 3100 | 3101 | strip-ansi@^6.0.1: 3102 | version "6.0.1" 3103 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 3104 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 3105 | dependencies: 3106 | ansi-regex "^5.0.1" 3107 | 3108 | strip-ansi@^7.0.1: 3109 | version "7.1.0" 3110 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" 3111 | integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== 3112 | dependencies: 3113 | ansi-regex "^6.0.1" 3114 | 3115 | strip-bom@^3.0.0: 3116 | version "3.0.0" 3117 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 3118 | integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== 3119 | 3120 | strip-final-newline@^3.0.0: 3121 | version "3.0.0" 3122 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" 3123 | integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== 3124 | 3125 | strip-indent@^3.0.0: 3126 | version "3.0.0" 3127 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" 3128 | integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== 3129 | dependencies: 3130 | min-indent "^1.0.0" 3131 | 3132 | strip-json-comments@^3.1.1: 3133 | version "3.1.1" 3134 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 3135 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 3136 | 3137 | supports-color@^5.3.0: 3138 | version "5.5.0" 3139 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 3140 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 3141 | dependencies: 3142 | has-flag "^3.0.0" 3143 | 3144 | supports-color@^7.1.0: 3145 | version "7.2.0" 3146 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 3147 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 3148 | dependencies: 3149 | has-flag "^4.0.0" 3150 | 3151 | supports-preserve-symlinks-flag@^1.0.0: 3152 | version "1.0.0" 3153 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 3154 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 3155 | 3156 | text-table@^0.2.0: 3157 | version "0.2.0" 3158 | resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" 3159 | integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== 3160 | 3161 | to-fast-properties@^2.0.0: 3162 | version "2.0.0" 3163 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 3164 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 3165 | 3166 | to-regex-range@^5.0.1: 3167 | version "5.0.1" 3168 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 3169 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 3170 | dependencies: 3171 | is-number "^7.0.0" 3172 | 3173 | ts-node@^10.4.0: 3174 | version "10.9.1" 3175 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" 3176 | integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== 3177 | dependencies: 3178 | "@cspotcode/source-map-support" "^0.8.0" 3179 | "@tsconfig/node10" "^1.0.7" 3180 | "@tsconfig/node12" "^1.0.7" 3181 | "@tsconfig/node14" "^1.0.0" 3182 | "@tsconfig/node16" "^1.0.2" 3183 | acorn "^8.4.1" 3184 | acorn-walk "^8.1.1" 3185 | arg "^4.1.0" 3186 | create-require "^1.1.0" 3187 | diff "^4.0.1" 3188 | make-error "^1.1.1" 3189 | v8-compile-cache-lib "^3.0.1" 3190 | yn "3.1.1" 3191 | 3192 | tsconfig-paths@^3.12.0: 3193 | version "3.14.2" 3194 | resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" 3195 | integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== 3196 | dependencies: 3197 | "@types/json5" "^0.0.29" 3198 | json5 "^1.0.2" 3199 | minimist "^1.2.6" 3200 | strip-bom "^3.0.0" 3201 | 3202 | tslib@^1.8.1: 3203 | version "1.14.1" 3204 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" 3205 | integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== 3206 | 3207 | tsutils@^3.21.0: 3208 | version "3.21.0" 3209 | resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" 3210 | integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== 3211 | dependencies: 3212 | tslib "^1.8.1" 3213 | 3214 | type-check@^0.4.0, type-check@~0.4.0: 3215 | version "0.4.0" 3216 | resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" 3217 | integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== 3218 | dependencies: 3219 | prelude-ls "^1.2.1" 3220 | 3221 | type-fest@^0.20.2: 3222 | version "0.20.2" 3223 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" 3224 | integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== 3225 | 3226 | type-fest@^0.6.0: 3227 | version "0.6.0" 3228 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" 3229 | integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== 3230 | 3231 | type-fest@^0.8.1: 3232 | version "0.8.1" 3233 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" 3234 | integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== 3235 | 3236 | type-fest@^1.0.2: 3237 | version "1.4.0" 3238 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" 3239 | integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== 3240 | 3241 | typed-array-buffer@^1.0.0: 3242 | version "1.0.0" 3243 | resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz#18de3e7ed7974b0a729d3feecb94338d1472cd60" 3244 | integrity sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw== 3245 | dependencies: 3246 | call-bind "^1.0.2" 3247 | get-intrinsic "^1.2.1" 3248 | is-typed-array "^1.1.10" 3249 | 3250 | typed-array-byte-length@^1.0.0: 3251 | version "1.0.0" 3252 | resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0" 3253 | integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA== 3254 | dependencies: 3255 | call-bind "^1.0.2" 3256 | for-each "^0.3.3" 3257 | has-proto "^1.0.1" 3258 | is-typed-array "^1.1.10" 3259 | 3260 | typed-array-byte-offset@^1.0.0: 3261 | version "1.0.0" 3262 | resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b" 3263 | integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg== 3264 | dependencies: 3265 | available-typed-arrays "^1.0.5" 3266 | call-bind "^1.0.2" 3267 | for-each "^0.3.3" 3268 | has-proto "^1.0.1" 3269 | is-typed-array "^1.1.10" 3270 | 3271 | typed-array-length@^1.0.4: 3272 | version "1.0.4" 3273 | resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" 3274 | integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== 3275 | dependencies: 3276 | call-bind "^1.0.2" 3277 | for-each "^0.3.3" 3278 | is-typed-array "^1.1.9" 3279 | 3280 | typescript@4.5.5: 3281 | version "4.5.5" 3282 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" 3283 | integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== 3284 | 3285 | typescript@^5.2.0: 3286 | version "5.2.2" 3287 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" 3288 | integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== 3289 | 3290 | unbox-primitive@^1.0.2: 3291 | version "1.0.2" 3292 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" 3293 | integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== 3294 | dependencies: 3295 | call-bind "^1.0.2" 3296 | has-bigints "^1.0.2" 3297 | has-symbols "^1.0.3" 3298 | which-boxed-primitive "^1.0.2" 3299 | 3300 | update-browserslist-db@^1.0.13: 3301 | version "1.0.13" 3302 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" 3303 | integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== 3304 | dependencies: 3305 | escalade "^3.1.1" 3306 | picocolors "^1.0.0" 3307 | 3308 | uri-js@^4.2.2: 3309 | version "4.4.1" 3310 | resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" 3311 | integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== 3312 | dependencies: 3313 | punycode "^2.1.0" 3314 | 3315 | util@^0.12.3: 3316 | version "0.12.5" 3317 | resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" 3318 | integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== 3319 | dependencies: 3320 | inherits "^2.0.3" 3321 | is-arguments "^1.0.4" 3322 | is-generator-function "^1.0.7" 3323 | is-typed-array "^1.1.3" 3324 | which-typed-array "^1.1.2" 3325 | 3326 | uuid@^8.3.2: 3327 | version "8.3.2" 3328 | resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" 3329 | integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== 3330 | 3331 | v8-compile-cache-lib@^3.0.1: 3332 | version "3.0.1" 3333 | resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" 3334 | integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== 3335 | 3336 | validate-npm-package-license@^3.0.1: 3337 | version "3.0.4" 3338 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 3339 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 3340 | dependencies: 3341 | spdx-correct "^3.0.0" 3342 | spdx-expression-parse "^3.0.0" 3343 | 3344 | web-encoding@1.1.5: 3345 | version "1.1.5" 3346 | resolved "https://registry.yarnpkg.com/web-encoding/-/web-encoding-1.1.5.tgz#fc810cf7667364a6335c939913f5051d3e0c4864" 3347 | integrity sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA== 3348 | dependencies: 3349 | util "^0.12.3" 3350 | optionalDependencies: 3351 | "@zxing/text-encoding" "0.9.0" 3352 | 3353 | web-streams-polyfill@^3.1.1: 3354 | version "3.2.1" 3355 | resolved "https://registry.yarnpkg.com/web-streams-polyfill/-/web-streams-polyfill-3.2.1.tgz#71c2718c52b45fd49dbeee88634b3a60ceab42a6" 3356 | integrity sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q== 3357 | 3358 | which-boxed-primitive@^1.0.2: 3359 | version "1.0.2" 3360 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" 3361 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== 3362 | dependencies: 3363 | is-bigint "^1.0.1" 3364 | is-boolean-object "^1.1.0" 3365 | is-number-object "^1.0.4" 3366 | is-string "^1.0.5" 3367 | is-symbol "^1.0.3" 3368 | 3369 | which-collection@^1.0.1: 3370 | version "1.0.1" 3371 | resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" 3372 | integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== 3373 | dependencies: 3374 | is-map "^2.0.1" 3375 | is-set "^2.0.1" 3376 | is-weakmap "^2.0.1" 3377 | is-weakset "^2.0.1" 3378 | 3379 | which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.2: 3380 | version "1.1.13" 3381 | resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.13.tgz#870cd5be06ddb616f504e7b039c4c24898184d36" 3382 | integrity sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow== 3383 | dependencies: 3384 | available-typed-arrays "^1.0.5" 3385 | call-bind "^1.0.4" 3386 | for-each "^0.3.3" 3387 | gopd "^1.0.1" 3388 | has-tostringtag "^1.0.0" 3389 | 3390 | which@^2.0.1: 3391 | version "2.0.2" 3392 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 3393 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 3394 | dependencies: 3395 | isexe "^2.0.0" 3396 | 3397 | wrap-ansi@^8.0.1, wrap-ansi@^8.1.0: 3398 | version "8.1.0" 3399 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" 3400 | integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== 3401 | dependencies: 3402 | ansi-styles "^6.1.0" 3403 | string-width "^5.0.1" 3404 | strip-ansi "^7.0.1" 3405 | 3406 | wrappy@1: 3407 | version "1.0.2" 3408 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 3409 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 3410 | 3411 | yallist@^3.0.2: 3412 | version "3.1.1" 3413 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" 3414 | integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== 3415 | 3416 | yallist@^4.0.0: 3417 | version "4.0.0" 3418 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 3419 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 3420 | 3421 | yaml@2.3.3: 3422 | version "2.3.3" 3423 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.3.tgz#01f6d18ef036446340007db8e016810e5d64aad9" 3424 | integrity sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ== 3425 | 3426 | yn@3.1.1: 3427 | version "3.1.1" 3428 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" 3429 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== 3430 | 3431 | yocto-queue@^0.1.0: 3432 | version "0.1.0" 3433 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 3434 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 3435 | --------------------------------------------------------------------------------