├── .npmignore ├── examples ├── next-app │ ├── next.config.js │ ├── pages │ │ ├── api │ │ │ ├── hello.d.ts │ │ │ └── hello.js │ │ ├── _app.js │ │ └── index.js │ ├── public │ │ ├── favicon.ico │ │ └── vercel.svg │ ├── package.json │ ├── styles │ │ ├── globals.css │ │ └── Home.module.css │ ├── .gitignore │ ├── README.md │ └── yarn.lock ├── cloudfront-single-lambda │ ├── .npmignore │ ├── .gitignore │ ├── jest.config.js │ ├── bin │ │ └── cloudfront-single-lambda.ts │ ├── lib │ │ └── cloudfront-single-lambda-stack.ts │ ├── test │ │ └── cloudfront-single-lambda.test.ts │ ├── README.md │ ├── tsconfig.json │ ├── package.json │ └── cdk.json └── README.md ├── src ├── types.d.ts ├── utils.ts └── index.ts ├── LICENSE ├── package.json ├── tsconfig.json ├── .gitignore └── README.md /.npmignore: -------------------------------------------------------------------------------- 1 | examples 2 | src -------------------------------------------------------------------------------- /examples/next-app/next.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | target: 'serverless' 3 | } -------------------------------------------------------------------------------- /examples/next-app/pages/api/hello.d.ts: -------------------------------------------------------------------------------- 1 | declare function _default(req: any, res: any): void; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /examples/cloudfront-single-lambda/.npmignore: -------------------------------------------------------------------------------- 1 | *.ts 2 | !*.d.ts 3 | 4 | # CDK asset staging directory 5 | .cdk.staging 6 | cdk.out 7 | -------------------------------------------------------------------------------- /examples/next-app/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tekkeon/cdk-nextjs-serverless/HEAD/examples/next-app/public/favicon.ico -------------------------------------------------------------------------------- /examples/cloudfront-single-lambda/.gitignore: -------------------------------------------------------------------------------- 1 | *.js 2 | !jest.config.js 3 | *.d.ts 4 | node_modules 5 | 6 | # CDK asset staging directory 7 | .cdk.staging 8 | cdk.out 9 | cdk-next-serverless.out -------------------------------------------------------------------------------- /examples/next-app/pages/_app.js: -------------------------------------------------------------------------------- 1 | import '../styles/globals.css' 2 | 3 | function MyApp({ Component, pageProps }) { 4 | return 5 | } 6 | 7 | export default MyApp 8 | -------------------------------------------------------------------------------- /examples/cloudfront-single-lambda/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | roots: ['/test'], 3 | testMatch: ['**/*.test.ts'], 4 | transform: { 5 | '^.+\\.tsx?$': 'ts-jest' 6 | } 7 | }; 8 | -------------------------------------------------------------------------------- /examples/next-app/pages/api/hello.js: -------------------------------------------------------------------------------- 1 | // Next.js API route support: https://nextjs.org/docs/api-routes/introduction 2 | 3 | export default (req, res) => { 4 | res.status(200).json({ name: 'John Doe' }) 5 | } 6 | -------------------------------------------------------------------------------- /examples/next-app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "next-app", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "next dev", 7 | "build": "next build", 8 | "start": "next start" 9 | }, 10 | "dependencies": { 11 | "next": "10.1.3", 12 | "react": "17.0.2", 13 | "react-dom": "17.0.2" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /examples/next-app/styles/globals.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | padding: 0; 4 | margin: 0; 5 | font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, 6 | Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; 7 | } 8 | 9 | a { 10 | color: inherit; 11 | text-decoration: none; 12 | } 13 | 14 | * { 15 | box-sizing: border-box; 16 | } 17 | -------------------------------------------------------------------------------- /examples/cloudfront-single-lambda/bin/cloudfront-single-lambda.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | import 'source-map-support/register'; 3 | import * as cdk from '@aws-cdk/core'; 4 | import { CloudfrontSingleLambdaStack } from '../lib/cloudfront-single-lambda-stack'; 5 | 6 | const app = new cdk.App(); 7 | new CloudfrontSingleLambdaStack(app, 'CloudfrontSingleLambdaStack', { 8 | env: { 9 | region: 'us-east-1' 10 | } 11 | }); 12 | -------------------------------------------------------------------------------- /examples/cloudfront-single-lambda/lib/cloudfront-single-lambda-stack.ts: -------------------------------------------------------------------------------- 1 | import * as cdk from '@aws-cdk/core'; 2 | import { NextJSServerless } from 'cdk-nextjs-serverless' 3 | 4 | export class CloudfrontSingleLambdaStack extends cdk.Stack { 5 | constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) { 6 | super(scope, id, props); 7 | 8 | new NextJSServerless(this, 'ExampleNextJSServerless', { 9 | nextJSDir: '../next-app' 10 | }); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /examples/next-app/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | *.pem 21 | 22 | # debug 23 | npm-debug.log* 24 | yarn-debug.log* 25 | yarn-error.log* 26 | 27 | # local env files 28 | .env.local 29 | .env.development.local 30 | .env.test.local 31 | .env.production.local 32 | 33 | # vercel 34 | .vercel 35 | -------------------------------------------------------------------------------- /examples/cloudfront-single-lambda/test/cloudfront-single-lambda.test.ts: -------------------------------------------------------------------------------- 1 | import { expect as expectCDK, matchTemplate, MatchStyle } from '@aws-cdk/assert'; 2 | import * as cdk from '@aws-cdk/core'; 3 | import * as CloudfrontSingleLambda from '../lib/cloudfront-single-lambda-stack'; 4 | 5 | test('Empty Stack', () => { 6 | const app = new cdk.App(); 7 | // WHEN 8 | const stack = new CloudfrontSingleLambda.CloudfrontSingleLambdaStack(app, 'MyTestStack'); 9 | // THEN 10 | expectCDK(stack).to(matchTemplate({ 11 | "Resources": {} 12 | }, MatchStyle.EXACT)) 13 | }); 14 | -------------------------------------------------------------------------------- /examples/cloudfront-single-lambda/README.md: -------------------------------------------------------------------------------- 1 | # Welcome to your CDK TypeScript project! 2 | 3 | This is a blank project for TypeScript development with CDK. 4 | 5 | The `cdk.json` file tells the CDK Toolkit how to execute your app. 6 | 7 | ## Useful commands 8 | 9 | * `npm run build` compile typescript to js 10 | * `npm run watch` watch for changes and compile 11 | * `npm run test` perform the jest unit tests 12 | * `cdk deploy` deploy this stack to your default AWS account/region 13 | * `cdk diff` compare deployed stack with current state 14 | * `cdk synth` emits the synthesized CloudFormation template 15 | -------------------------------------------------------------------------------- /src/types.d.ts: -------------------------------------------------------------------------------- 1 | // From @sls/lambda-at-edge 2 | export type BuildOptions = { 3 | args?: string[]; 4 | cwd?: string; 5 | env?: NodeJS.ProcessEnv; 6 | cmd?: string; 7 | useServerlessTraceTarget?: boolean; 8 | logLambdaExecutionTimes?: boolean; 9 | domainRedirects?: { 10 | [key: string]: string; 11 | }; 12 | minifyHandlers?: boolean; 13 | enableHTTPCompression?: boolean; 14 | handler?: string; 15 | authentication?: { 16 | username: string; 17 | password: string; 18 | } | undefined; 19 | resolve?: (id: string, parent: string, job: Job, cjsResolve: boolean) => string | string[]; 20 | baseDir?: string; 21 | }; -------------------------------------------------------------------------------- /examples/cloudfront-single-lambda/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2018", 4 | "module": "commonjs", 5 | "lib": ["es2018"], 6 | "declaration": true, 7 | "strict": true, 8 | "noImplicitAny": true, 9 | "strictNullChecks": true, 10 | "noImplicitThis": true, 11 | "alwaysStrict": true, 12 | "noUnusedLocals": false, 13 | "noUnusedParameters": false, 14 | "noImplicitReturns": true, 15 | "noFallthroughCasesInSwitch": false, 16 | "inlineSourceMap": true, 17 | "inlineSources": true, 18 | "experimentalDecorators": true, 19 | "strictPropertyInitialization": false, 20 | "typeRoots": ["./node_modules/@types"] 21 | }, 22 | "exclude": ["cdk.out"] 23 | } 24 | -------------------------------------------------------------------------------- /examples/cloudfront-single-lambda/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cloudfront-single-lambda", 3 | "version": "0.1.0", 4 | "bin": { 5 | "cloudfront-single-lambda": "bin/cloudfront-single-lambda.js" 6 | }, 7 | "scripts": { 8 | "build": "tsc", 9 | "watch": "tsc -w", 10 | "test": "jest", 11 | "cdk": "cdk" 12 | }, 13 | "devDependencies": { 14 | "@aws-cdk/assert": "1.100.0", 15 | "@types/jest": "^26.0.10", 16 | "@types/node": "10.17.27", 17 | "aws-cdk": "1.100.0", 18 | "jest": "^26.4.2", 19 | "ts-jest": "^26.2.0", 20 | "ts-node": "^9.0.0", 21 | "typescript": "~3.9.7" 22 | }, 23 | "dependencies": { 24 | "@aws-cdk/core": "1.100.0", 25 | "cdk-nextjs-serverless": "^1.0.4", 26 | "source-map-support": "^0.5.16" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /examples/cloudfront-single-lambda/cdk.json: -------------------------------------------------------------------------------- 1 | { 2 | "app": "npx ts-node --prefer-ts-exts bin/cloudfront-single-lambda.ts", 3 | "context": { 4 | "@aws-cdk/aws-apigateway:usagePlanKeyOrderInsensitiveId": true, 5 | "@aws-cdk/core:enableStackNameDuplicates": "true", 6 | "aws-cdk:enableDiffNoFail": "true", 7 | "@aws-cdk/core:stackRelativeExports": "true", 8 | "@aws-cdk/aws-ecr-assets:dockerIgnoreSupport": true, 9 | "@aws-cdk/aws-secretsmanager:parseOwnedSecretName": true, 10 | "@aws-cdk/aws-kms:defaultKeyPolicies": true, 11 | "@aws-cdk/aws-s3:grantWriteWithoutAcl": true, 12 | "@aws-cdk/aws-ecs-patterns:removeDefaultDesiredCount": true, 13 | "@aws-cdk/aws-rds:lowercaseDbIdentifier": true, 14 | "@aws-cdk/aws-efs:defaultEncryptionAtRest": true 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /examples/next-app/public/vercel.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Mitchell Kossoris 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 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cdk-nextjs-serverless", 3 | "version": "1.0.5", 4 | "description": "An AWS CDK construct for deploying a serverless NextJS application", 5 | "main": "dist/index.js", 6 | "types": "dist/index.d.ts", 7 | "scripts": { 8 | "test": "echo \"Error: no test specified\" && exit 1", 9 | "prepublish": "tsc" 10 | }, 11 | "repository": { 12 | "type": "git", 13 | "url": "git+https://github.com/mkossoris/cdk-nextjs-serverless.git" 14 | }, 15 | "keywords": [ 16 | "aws", 17 | "nextjs", 18 | "serverless", 19 | "cdk", 20 | "lambda", 21 | "edge", 22 | "cloudfront" 23 | ], 24 | "author": "Mitchell Kossoris", 25 | "license": "MIT", 26 | "bugs": { 27 | "url": "https://github.com/mkossoris/cdk-nextjs-serverless/issues" 28 | }, 29 | "homepage": "https://github.com/mkossoris/cdk-nextjs-serverless#readme", 30 | "dependencies": { 31 | "@aws-cdk/aws-cloudfront": "^1.100.0", 32 | "@aws-cdk/aws-cloudfront-origins": "^1.100.0", 33 | "@aws-cdk/aws-iam": "^1.100.0", 34 | "@aws-cdk/aws-lambda": "^1.100.0", 35 | "@aws-cdk/aws-logs": "^1.100.0", 36 | "@aws-cdk/aws-s3-deployment": "^1.100.0", 37 | "@aws-cdk/core": "^1.100.0", 38 | "@sls-next/lambda-at-edge": "^1.8.0-alpha.15", 39 | "child_process": "^1.0.2" 40 | }, 41 | "devDependencies": { 42 | "@types/node": "^14.14.28" 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /examples/README.md: -------------------------------------------------------------------------------- 1 | # cdk-nextjs-serverless 2 | 🚀 Live Demo: https://d3027dwnjxq2g2.cloudfront.net/ 3 | ## Example App Setup 4 | ### Prerequisites 5 | * You should **have an AWS account** setup. Instructions for setting up a new account can be found [here](https://aws.amazon.com/premiumsupport/knowledge-center/create-and-activate-aws-account/). 6 | * **NodeJS and the npm** CLI should be installed. Install it [here](https://nodejs.org/en/). 7 | * **AWS CDK** CLI should be installed. See instructions [here](https://docs.aws.amazon.com/cdk/latest/guide/getting_started.html). 8 | * **AWS CLI** should be installed and a default profile configured for your AWS account. See installation and setup instructions [here](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html). 9 | ### Steps 10 | 1. Clone or download the examples directory. 11 | 2. Run `npm install` in `examples/cloudfront-single-lambda` and `examples/next-app` to install the dependencies in both packages. 12 | 3. `cd` to `examples/cloudfront-single-lambda` and run `cdk synth`. You should see that the NextJS app builds and after it's finished the CloudFormation template should be printed. 13 | 4. Assuming the previous step was successful, run `cdk deploy [--profile ]`. (if you don't have named profiles setup, don't include the profile argument). 14 | 5. And that's it! This will deploy all the resources including the application to AWS and immediately start serving traffic! -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | import path from 'path'; 2 | import fs from 'fs'; 3 | import { BuildOptions } from './types' 4 | import { Builder } from '@sls-next/lambda-at-edge'; 5 | 6 | const OUT_DIR_NAME = 'cdk-next-serverless.out'; 7 | 8 | export function buildNextJsProject(nextJSDir: string, nodeModulesDir?: string): Promise { 9 | console.log('Building NextJS app...'); 10 | nodeModulesDir = nodeModulesDir ?? getNodeModulesDir(nextJSDir, 20); 11 | 12 | const options: BuildOptions = { 13 | cmd: './node_modules/.bin/next', 14 | env: { 15 | NODE_ENV: 'development' 16 | }, 17 | cwd: nextJSDir, 18 | args: ['build'], 19 | baseDir: nextJSDir 20 | } 21 | 22 | const builder = new Builder( 23 | nextJSDir, 24 | OUT_DIR_NAME, 25 | options 26 | ); 27 | 28 | return builder 29 | .build() 30 | .then(() => OUT_DIR_NAME) 31 | .catch((e: Error) => { 32 | console.log('Error building the NextJS application...'); 33 | console.log(e); 34 | }) 35 | } 36 | 37 | function getNodeModulesDir(inputPath: string, maxDepth: number): string { 38 | if (maxDepth <= 0) { 39 | throw new Error(`Max depth exceeded when searching for node_modules directory starting from ${inputPath}.`); 40 | } 41 | 42 | const returnPath = path.join(inputPath, './node_modules'); 43 | 44 | if (fs.existsSync(returnPath)) { 45 | return returnPath 46 | } else { 47 | return getNodeModulesDir(path.join('../', returnPath), --maxDepth); 48 | } 49 | } -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ 4 | "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ 5 | "allowJs": true, /* Allow javascript files to be compiled. */ 6 | "declaration": true, /* Generates corresponding '.d.ts' file. */ 7 | "outDir": "dist", /* Redirect output structure to the directory. */ 8 | "rootDir": "./src", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 9 | "strict": true, /* Enable all strict type-checking options. */ 10 | "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 11 | "types": ["node"], /* Type declaration files to be included in compilation. */ 12 | "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 13 | "skipLibCheck": true, /* Skip type checking of declaration files. */ 14 | "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ 15 | }, 16 | "exclude": [ 17 | "node_modules", 18 | "dist", 19 | "examples/*" 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /examples/next-app/README.md: -------------------------------------------------------------------------------- 1 | This is a [Next.js](https://nextjs.org/) project bootstrapped with [`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). 2 | 3 | ## Getting Started 4 | 5 | First, run the development server: 6 | 7 | ```bash 8 | npm run dev 9 | # or 10 | yarn dev 11 | ``` 12 | 13 | Open [http://localhost:3000](http://localhost:3000) with your browser to see the result. 14 | 15 | You can start editing the page by modifying `pages/index.js`. The page auto-updates as you edit the file. 16 | 17 | [API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on [http://localhost:3000/api/hello](http://localhost:3000/api/hello). This endpoint can be edited in `pages/api/hello.js`. 18 | 19 | The `pages/api` directory is mapped to `/api/*`. Files in this directory are treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead of React pages. 20 | 21 | ## Learn More 22 | 23 | To learn more about Next.js, take a look at the following resources: 24 | 25 | - [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js features and API. 26 | - [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. 27 | 28 | You can check out [the Next.js GitHub repository](https://github.com/vercel/next.js/) - your feedback and contributions are welcome! 29 | 30 | ## Deploy on Vercel 31 | 32 | The easiest way to deploy your Next.js app is to use the [Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) from the creators of Next.js. 33 | 34 | Check out our [Next.js deployment documentation](https://nextjs.org/docs/deployment) for more details. 35 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | lerna-debug.log* 8 | 9 | # Diagnostic reports (https://nodejs.org/api/report.html) 10 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json 11 | 12 | # Runtime data 13 | pids 14 | *.pid 15 | *.seed 16 | *.pid.lock 17 | 18 | # Directory for instrumented libs generated by jscoverage/JSCover 19 | lib-cov 20 | 21 | # Coverage directory used by tools like istanbul 22 | coverage 23 | *.lcov 24 | 25 | # nyc test coverage 26 | .nyc_output 27 | 28 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) 29 | .grunt 30 | 31 | # Bower dependency directory (https://bower.io/) 32 | bower_components 33 | 34 | # node-waf configuration 35 | .lock-wscript 36 | 37 | # Compiled binary addons (https://nodejs.org/api/addons.html) 38 | build/Release 39 | 40 | # Dependency directories 41 | node_modules/ 42 | jspm_packages/ 43 | 44 | # TypeScript v1 declaration files 45 | typings/ 46 | 47 | # TypeScript cache 48 | *.tsbuildinfo 49 | 50 | # Optional npm cache directory 51 | .npm 52 | 53 | # Optional eslint cache 54 | .eslintcache 55 | 56 | # Microbundle cache 57 | .rpt2_cache/ 58 | .rts2_cache_cjs/ 59 | .rts2_cache_es/ 60 | .rts2_cache_umd/ 61 | 62 | # Optional REPL history 63 | .node_repl_history 64 | 65 | # Output of 'npm pack' 66 | *.tgz 67 | 68 | # Yarn Integrity file 69 | .yarn-integrity 70 | 71 | # dotenv environment variables file 72 | .env 73 | .env.test 74 | 75 | # parcel-bundler cache (https://parceljs.org/) 76 | .cache 77 | 78 | # Next.js build output 79 | .next 80 | 81 | # Nuxt.js build / generate output 82 | .nuxt 83 | dist 84 | 85 | # Gatsby files 86 | .cache/ 87 | # Comment in the public line in if your project uses Gatsby and *not* Next.js 88 | # https://nextjs.org/blog/next-9-1#public-directory-support 89 | # public 90 | 91 | # vuepress build output 92 | .vuepress/dist 93 | 94 | # Serverless directories 95 | .serverless/ 96 | 97 | # FuseBox cache 98 | .fusebox/ 99 | 100 | # DynamoDB Local files 101 | .dynamodb/ 102 | 103 | # TernJS port file 104 | .tern-port 105 | -------------------------------------------------------------------------------- /examples/next-app/pages/index.js: -------------------------------------------------------------------------------- 1 | import Head from 'next/head' 2 | import styles from '../styles/Home.module.css' 3 | 4 | export default function Home() { 5 | return ( 6 |
7 | 8 | Create Next App 9 | 10 | 11 | 12 |
13 | Deployed using cdk-nextjs-serverless! 14 | 15 |
16 | 17 |
18 |

19 | Welcome to Next.js! 20 |

21 | 22 |

23 | Get started by editing{' '} 24 | pages/index.js 25 |

26 | 27 | 56 |
57 | 58 | 68 |
69 | ) 70 | } 71 | -------------------------------------------------------------------------------- /examples/next-app/styles/Home.module.css: -------------------------------------------------------------------------------- 1 | .container { 2 | min-height: 100vh; 3 | padding: 0; 4 | display: flex; 5 | flex-direction: column; 6 | justify-content: center; 7 | align-items: center; 8 | } 9 | 10 | .header { 11 | background-color: rgb(82, 82, 82); 12 | width: 100%; 13 | padding: 10px; 14 | color: white; 15 | } 16 | 17 | .header a { 18 | color: rgb(0, 225, 255); 19 | } 20 | 21 | .githubStarCount { 22 | position: absolute; 23 | right: 10px; 24 | top: 10px; 25 | } 26 | 27 | .main { 28 | padding: 5rem 0; 29 | flex: 1; 30 | display: flex; 31 | flex-direction: column; 32 | justify-content: center; 33 | align-items: center; 34 | } 35 | 36 | .footer { 37 | width: 100%; 38 | height: 100px; 39 | border-top: 1px solid #eaeaea; 40 | display: flex; 41 | justify-content: center; 42 | align-items: center; 43 | } 44 | 45 | .footer img { 46 | margin-left: 0.5rem; 47 | } 48 | 49 | .footer a { 50 | display: flex; 51 | justify-content: center; 52 | align-items: center; 53 | } 54 | 55 | .title a { 56 | color: #0070f3; 57 | text-decoration: none; 58 | } 59 | 60 | .title a:hover, 61 | .title a:focus, 62 | .title a:active { 63 | text-decoration: underline; 64 | } 65 | 66 | .title { 67 | margin: 0; 68 | line-height: 1.15; 69 | font-size: 4rem; 70 | } 71 | 72 | .title, 73 | .description { 74 | text-align: center; 75 | } 76 | 77 | .description { 78 | line-height: 1.5; 79 | font-size: 1.5rem; 80 | } 81 | 82 | .code { 83 | background: #fafafa; 84 | border-radius: 5px; 85 | padding: 0.75rem; 86 | font-size: 1.1rem; 87 | font-family: Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, 88 | Bitstream Vera Sans Mono, Courier New, monospace; 89 | } 90 | 91 | .grid { 92 | display: flex; 93 | align-items: center; 94 | justify-content: center; 95 | flex-wrap: wrap; 96 | max-width: 800px; 97 | margin-top: 3rem; 98 | } 99 | 100 | .card { 101 | margin: 1rem; 102 | flex-basis: 45%; 103 | padding: 1.5rem; 104 | text-align: left; 105 | color: inherit; 106 | text-decoration: none; 107 | border: 1px solid #eaeaea; 108 | border-radius: 10px; 109 | transition: color 0.15s ease, border-color 0.15s ease; 110 | } 111 | 112 | .card:hover, 113 | .card:focus, 114 | .card:active { 115 | color: #0070f3; 116 | border-color: #0070f3; 117 | } 118 | 119 | .card h3 { 120 | margin: 0 0 1rem 0; 121 | font-size: 1.5rem; 122 | } 123 | 124 | .card p { 125 | margin: 0; 126 | font-size: 1.25rem; 127 | line-height: 1.5; 128 | } 129 | 130 | .logo { 131 | height: 1em; 132 | } 133 | 134 | @media (max-width: 600px) { 135 | .grid { 136 | width: 100%; 137 | flex-direction: column; 138 | } 139 | } 140 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### :warning: **Serverless has released an official CDK construct for NextJS [here](https://github.com/serverless-nextjs/serverless-next.js/tree/master/packages/serverless-components/nextjs-cdk-construct). As such, I am archiving this repo.** 2 | 3 | # cdk-nextjs-serverless 4 | 5 | **cdk-nextjs-serverless** is a Level 3/Pattern construct for deploying NextJS applications to AWS on CloudFront, Lambda@Edge, and S3 for a completely serverless frontend stack. Currently, the package supports only CloudFront deployment utilizing the same build process as Serverless Framework's [NextJS at the Edge component](https://www.serverless.com/blog/serverless-nextjs). As I continue to develop the project, I plan to support per-page Lambdas and an option for deploying to API Gateway. 6 | 7 | *Note: this package does not utilize the serverless framework CLI to deploy resources - it is fully written and deployed in CDK-generated CloudFormation.* 8 | 9 | ## Demo 10 | 11 | 🚀 Live demo of NextJS app deployed through **cdk-nextjs-serverless**: https://d3027dwnjxq2g2.cloudfront.net/ 12 | See the source code and setup instructions in the [examples directory](https://github.com/mkossoris/cdk-nextjs-serverless/tree/main/examples). 13 | 14 | ## Installation 15 | 16 | Use the [npm](https://www.npmjs.com/) or [yarn](https://yarnpkg.com/) package manager to install the package. 17 | 18 | ```bash 19 | npm i cdk-nextjs-serverless 20 | ``` 21 | 22 | ## Usage 23 | 24 | ### Pre-Requisites 25 | 26 | 1. `target: 'serverless'` is in your `next.config.js`. 27 | 2. Your project has been configured with CDK. 28 | 3. `next` is installed (you can check that `node_modules/.bin/next` is there to ensure it will be compatible) 29 | 30 | ### Basic Usage 31 | 32 | At a minimum, specify the location of your Next app directory, and the construct will build your next app and generate the required resources: 33 | 34 | ```ts 35 | new NextJSServerless(this, 'NextJSApp', { 36 | nextJSDir: './next-app' // Relative to CDK project root 37 | }) 38 | ``` 39 | The construct will attempt to locate the nearest parent `node_modules` directory of the supplied `nextJSDir`. If your `next` package is installed in a different `node_modules` directory or the construct cannot find the directory, you can manually specify it: 40 | 41 | ```ts 42 | new NextJSServerless(this, 'NextJSApp', { 43 | nextJSDir: 'src/next-app', 44 | nodeModulesDir: './node_modules' // Relative to CDK project root 45 | }) 46 | ``` 47 | 48 | ### Resource Configurations 49 | 50 | You can define properties of the generated resources by defining them in the construct props: 51 | 52 | ```ts 53 | new NextJSServerless(this, 'NextJSApp', { 54 | nextJSDir: 'next-app', 55 | lambdaFunctionProps: { 56 | timeout: Duration.seconds(15), 57 | memorySize: 1500 58 | }, 59 | cloudFrontDistributionProps: { 60 | additionalBehaviors: { 61 | 'npm': { 62 | origin: origin 63 | } 64 | } 65 | } 66 | }) 67 | ``` 68 | 69 | The construct will add your custom props in along with its default props and override custom props for any reserved configurations that are required for the deployment to work. 70 | 71 | #### Asynchronous Resource Configurations 72 | Because the construct asynchronously builds your application, the returned object won't yet have its resource properties hydrated. In the case that you'd like to be able to interact with the created resources after initialization, you can use the promise function like so: 73 | 74 | ```ts 75 | new NextJSServerless(this, 'NextJSApp', { 76 | nextJSDir: 'next-app', 77 | lambdaFunctionProps: { 78 | timeout: Duration.seconds(15), 79 | memorySize: 1500 80 | } 81 | }) 82 | .promise() 83 | .then(nextJSApp => { 84 | nextJSApp.cloudFrontWebDistribution? 85 | .addBehavior('github', new origins.HttpOrigin('https://www.github.com')); 86 | }); 87 | }) 88 | ``` 89 | 90 | ## Features 91 | - [X] Build and deploy with single NextJS directory prop 92 | - [X] Ability to supply arguments for underlying created resources before and after instantiation 93 | - [X] CloudFront invalidation on deployment 94 | - [ ] Deployment with per-page lambdas 95 | - [ ] Deployment to API Gateway + Lambda rather than CloudFront + Lambda@Edge 96 | 97 | ## Examples 98 | Checkout the [examples directory](https://github.com/mkossoris/cdk-nextjs-serverless/tree/main/examples) to see a real world usage which you can clone and try deploying for yourself. 99 | 100 | ## Contributing 101 | Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. 102 | 103 | ## License 104 | [MIT](https://choosealicense.com/licenses/mit/) 105 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import * as lambda from '@aws-cdk/aws-lambda'; 2 | import * as cloudfront from '@aws-cdk/aws-cloudfront'; 3 | import * as logs from '@aws-cdk/aws-logs'; 4 | import * as origins from '@aws-cdk/aws-cloudfront-origins' 5 | import * as s3 from '@aws-cdk/aws-s3'; 6 | import * as s3deploy from '@aws-cdk/aws-s3-deployment' 7 | import { Construct, Duration } from '@aws-cdk/core'; 8 | import path from 'path'; 9 | import { buildNextJsProject } from './utils'; 10 | import { BucketDeploymentProps } from '@aws-cdk/aws-s3-deployment'; 11 | 12 | export enum NextJSServerlessDeployment { 13 | CloudFrontMinimal, 14 | CloudFrontSplitRoutes, 15 | CloudFrontToAPIGateway, 16 | APIGatewayOnly 17 | } 18 | 19 | /** 20 | * @summary The properties for the NextJSServerless Construct 21 | */ 22 | export interface NextJSServerlessProps { 23 | /** 24 | * Path to NextJS application directory. 25 | * 26 | * @default - None 27 | */ 28 | readonly nextJSDir: string 29 | /** 30 | * (Optional) Path to node_modules directory to use for NextJS build. If not provided, nearest node_modules directory to nextJSDir will be used. 31 | * 32 | * @default - None 33 | */ 34 | readonly nodeModulesDir?: string 35 | /** 36 | * (NOT YET FUNCTIONAL) Type of deployment. See documentation for how this differs the architecture. 37 | * 38 | * @default - CloudFrontOnlyMinimal 39 | */ 40 | readonly deploymentType?: NextJSServerlessDeployment 41 | /** 42 | * (Optional) Lambda function props to use for the NextJS rendering and API Lambdas. 43 | * 44 | * @default - None 45 | */ 46 | readonly lambdaFunctionProps?: Partial 47 | /** 48 | * (Optional) Props to override the default props for the CloudFront distribution. 49 | * 50 | * @default - Default props are used 51 | */ 52 | readonly cloudFrontDistributionProps?: Partial 53 | /** 54 | * (Optional) 55 | * 56 | * @default true 57 | */ 58 | readonly invalidateOnDeploy?: boolean; 59 | } 60 | 61 | const defaultLambdaFunctionProps: lambda.FunctionProps = { 62 | runtime: lambda.Runtime.NODEJS_12_X, 63 | handler: '', 64 | code: lambda.Code.fromAsset(''), 65 | timeout: Duration.seconds(10) 66 | } 67 | 68 | export class NextJSServerless extends Construct { 69 | public cloudFrontLoggingBucket?: s3.Bucket; 70 | public cloudFrontWebDistribution?: cloudfront.Distribution; 71 | public edgeLambdaFunctionVersion?: lambda.Version; 72 | public lambdaFunctionVersions: lambda.IVersion[]; 73 | public staticAssetsBucket?: s3.Bucket; 74 | 75 | private buildPromise: Promise; 76 | 77 | /** 78 | * @summary Constructs a new instance of the NextJSServerless class. 79 | * @param {cdk.App} scope - represents the scope for all the resources. 80 | * @param {string} id - this is a a scope-unique id. 81 | * @param {NextJSServerlessProps} props - user provided props for the construct 82 | * @access public 83 | */ 84 | constructor(scope: Construct, id: string, props: NextJSServerlessProps) { 85 | super(scope, id); 86 | 87 | this.lambdaFunctionVersions = []; 88 | 89 | this.buildPromise = buildNextJsProject(props.nextJSDir, props.nodeModulesDir) 90 | .then((outDir) => { 91 | if (!outDir) { 92 | throw new Error(); 93 | } 94 | 95 | // Lambda Functions 96 | var edgeFunctionProps: cloudfront.experimental.EdgeFunctionProps = { 97 | ...defaultLambdaFunctionProps, 98 | ...props.lambdaFunctionProps 99 | } 100 | 101 | const defaultLambda = new cloudfront.experimental.EdgeFunction(this, 'NextJSServerlessDefaultLambda', { 102 | ...edgeFunctionProps, 103 | handler: 'index.handler', 104 | code: lambda.Code.fromAsset(path.join(outDir, 'default-lambda')) 105 | }); 106 | 107 | const apiLambda = new cloudfront.experimental.EdgeFunction(this, 'NextJSServerlessAPILambda', { 108 | ...edgeFunctionProps, 109 | handler: 'index.handler', 110 | code: lambda.Code.fromAsset(path.join(outDir, 'api-lambda')), 111 | }); 112 | 113 | this.lambdaFunctionVersions.push(defaultLambda, apiLambda); 114 | 115 | // S3 Buckets 116 | this.staticAssetsBucket = new s3.Bucket(this, 'NextJSServerlessBucket'); 117 | this.cloudFrontLoggingBucket = new s3.Bucket(this, 'NextJSServerlessLogBucket'); 118 | 119 | const origin = new origins.S3Origin(this.staticAssetsBucket); 120 | 121 | // CloudFront Distribution 122 | this.cloudFrontWebDistribution = new cloudfront.Distribution(this, 'NextJSServerlessCloudfront', { 123 | ...props.cloudFrontDistributionProps, 124 | defaultBehavior: { 125 | ...props.cloudFrontDistributionProps?.defaultBehavior, 126 | origin, 127 | viewerProtocolPolicy: cloudfront.ViewerProtocolPolicy.REDIRECT_TO_HTTPS, 128 | edgeLambdas: [ 129 | { 130 | functionVersion: defaultLambda.currentVersion, 131 | eventType: cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST, 132 | } 133 | ] 134 | }, 135 | additionalBehaviors: { 136 | ...props.cloudFrontDistributionProps?.additionalBehaviors, 137 | '_next/static/*': { 138 | origin 139 | }, 140 | 'api/*': { 141 | origin, 142 | edgeLambdas: [ 143 | { 144 | functionVersion: apiLambda.currentVersion, 145 | eventType: cloudfront.LambdaEdgeEventType.ORIGIN_REQUEST, 146 | includeBody: true 147 | } 148 | ] 149 | } 150 | }, 151 | logBucket: this.cloudFrontLoggingBucket, 152 | }); 153 | 154 | let bucketDeploymentProps: BucketDeploymentProps = { 155 | sources: [ 156 | s3deploy.Source.asset(path.join(outDir, 'assets')) 157 | ], 158 | destinationBucket: this.staticAssetsBucket, 159 | } 160 | 161 | // Can't use !props.invalidateOnDeploy because if it's undefined, it would be falsy 162 | // and the default should be true 163 | if (props.invalidateOnDeploy !== false) { 164 | bucketDeploymentProps = { 165 | ...bucketDeploymentProps, 166 | distribution: this.cloudFrontWebDistribution, 167 | distributionPaths: ['/*'] 168 | } 169 | } 170 | 171 | new s3deploy.BucketDeployment(this, 'NextJSServerlessAssets', bucketDeploymentProps); 172 | }).then(() => { 173 | return this; 174 | }) 175 | } 176 | 177 | promise() { 178 | return this.buildPromise; 179 | } 180 | } -------------------------------------------------------------------------------- /examples/next-app/yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@7.12.11": 6 | version "7.12.11" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" 8 | integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== 9 | dependencies: 10 | "@babel/highlight" "^7.10.4" 11 | 12 | "@babel/helper-validator-identifier@^7.12.11": 13 | version "7.12.11" 14 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz#c9a1f021917dcb5ccf0d4e453e399022981fc9ed" 15 | integrity sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw== 16 | 17 | "@babel/highlight@^7.10.4": 18 | version "7.13.10" 19 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.13.10.tgz#a8b2a66148f5b27d666b15d81774347a731d52d1" 20 | integrity sha512-5aPpe5XQPzflQrFwL1/QoeHkP2MsA4JCntcXHRhEsdsfPVkvPi2w7Qix4iV7t5S/oC9OodGrggd8aco1g3SZFg== 21 | dependencies: 22 | "@babel/helper-validator-identifier" "^7.12.11" 23 | chalk "^2.0.0" 24 | js-tokens "^4.0.0" 25 | 26 | "@babel/runtime@7.12.5": 27 | version "7.12.5" 28 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" 29 | integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== 30 | dependencies: 31 | regenerator-runtime "^0.13.4" 32 | 33 | "@babel/types@7.8.3": 34 | version "7.8.3" 35 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.8.3.tgz#5a383dffa5416db1b73dedffd311ffd0788fb31c" 36 | integrity sha512-jBD+G8+LWpMBBWvVcdr4QysjUE4mU/syrhN17o1u3gx0/WzJB1kwiVZAXRtWbsIPOwW8pF/YJV5+nmetPzepXg== 37 | dependencies: 38 | esutils "^2.0.2" 39 | lodash "^4.17.13" 40 | to-fast-properties "^2.0.0" 41 | 42 | "@hapi/accept@5.0.1": 43 | version "5.0.1" 44 | resolved "https://registry.yarnpkg.com/@hapi/accept/-/accept-5.0.1.tgz#068553e867f0f63225a506ed74e899441af53e10" 45 | integrity sha512-fMr4d7zLzsAXo28PRRQPXR1o2Wmu+6z+VY1UzDp0iFo13Twj8WePakwXBiqn3E1aAlTpSNzCXdnnQXFhst8h8Q== 46 | dependencies: 47 | "@hapi/boom" "9.x.x" 48 | "@hapi/hoek" "9.x.x" 49 | 50 | "@hapi/boom@9.x.x": 51 | version "9.1.2" 52 | resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-9.1.2.tgz#48bd41d67437164a2d636e3b5bc954f8c8dc5e38" 53 | integrity sha512-uJEJtiNHzKw80JpngDGBCGAmWjBtzxDCz17A9NO2zCi8LLBlb5Frpq4pXwyN+2JQMod4pKz5BALwyneCgDg89Q== 54 | dependencies: 55 | "@hapi/hoek" "9.x.x" 56 | 57 | "@hapi/hoek@9.x.x": 58 | version "9.2.0" 59 | resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.0.tgz#f3933a44e365864f4dad5db94158106d511e8131" 60 | integrity sha512-sqKVVVOe5ivCaXDWivIJYVSaEgdQK9ul7a4Kity5Iw7u9+wBAPbX1RMSnLLmp7O4Vzj0WOWwMAJsTL00xwaNug== 61 | 62 | "@next/env@10.1.3": 63 | version "10.1.3" 64 | resolved "https://registry.yarnpkg.com/@next/env/-/env-10.1.3.tgz#29e5d62919b4a7b1859f8d36169848dc3f5ddebe" 65 | integrity sha512-q7z7NvmRs66lCQmVJtKjDxVtMTjSwP6ExVzaH46pbTH60MHgzEJ9H4jXrFLTihPmCIvpAv6Ai04jbS8dcg1ZMQ== 66 | 67 | "@next/polyfill-module@10.1.3": 68 | version "10.1.3" 69 | resolved "https://registry.yarnpkg.com/@next/polyfill-module/-/polyfill-module-10.1.3.tgz#beafe89bc4235d436fa0ed02c9d2a5d311fb0238" 70 | integrity sha512-1DtUVcuoBJAn5IrxIZQjUG1KTPkiXMYloykPSkRxawimgvG9dRj2kscU+4KGNSFxHoxW9c68VRCb+7MDz5aGGw== 71 | 72 | "@next/react-dev-overlay@10.1.3": 73 | version "10.1.3" 74 | resolved "https://registry.yarnpkg.com/@next/react-dev-overlay/-/react-dev-overlay-10.1.3.tgz#ee1c6033b29be9b383e061bd9705021d131ea445" 75 | integrity sha512-vIgUah3bR9+MKzwU1Ni5ONfYM0VdI42i7jZ+Ei1c0wjwkG9anVnDqhSQ3mVg62GP2nt7ExaaFyf9THbsw5KYXg== 76 | dependencies: 77 | "@babel/code-frame" "7.12.11" 78 | anser "1.4.9" 79 | chalk "4.0.0" 80 | classnames "2.2.6" 81 | css.escape "1.5.1" 82 | data-uri-to-buffer "3.0.1" 83 | platform "1.3.6" 84 | shell-quote "1.7.2" 85 | source-map "0.8.0-beta.0" 86 | stacktrace-parser "0.1.10" 87 | strip-ansi "6.0.0" 88 | 89 | "@next/react-refresh-utils@10.1.3": 90 | version "10.1.3" 91 | resolved "https://registry.yarnpkg.com/@next/react-refresh-utils/-/react-refresh-utils-10.1.3.tgz#65b3e1b9846c02452787fde1d54ad9c54b506dbd" 92 | integrity sha512-P4GJZuLKfD/o42JvGZ/xP4Hxg68vd3NeZxOLqIuQKFjjaYgC2IrO+lE5PTwGmRkytjfprJC+9j7Jss/xQAS6QA== 93 | 94 | "@opentelemetry/api@0.14.0": 95 | version "0.14.0" 96 | resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-0.14.0.tgz#4e17d8d2f1da72b19374efa7b6526aa001267cae" 97 | integrity sha512-L7RMuZr5LzMmZiQSQDy9O1jo0q+DaLy6XpYJfIGfYSfoJA5qzYwUP3sP1uMIQ549DvxAgM3ng85EaPTM/hUHwQ== 98 | dependencies: 99 | "@opentelemetry/context-base" "^0.14.0" 100 | 101 | "@opentelemetry/context-base@^0.14.0": 102 | version "0.14.0" 103 | resolved "https://registry.yarnpkg.com/@opentelemetry/context-base/-/context-base-0.14.0.tgz#c67fc20a4d891447ca1a855d7d70fa79a3533001" 104 | integrity sha512-sDOAZcYwynHFTbLo6n8kIbLiVF3a3BLkrmehJUyEbT9F+Smbi47kLGS2gG2g0fjBLR/Lr1InPD7kXL7FaTqEkw== 105 | 106 | "@types/node@*": 107 | version "14.14.41" 108 | resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.41.tgz#d0b939d94c1d7bd53d04824af45f1139b8c45615" 109 | integrity sha512-dueRKfaJL4RTtSa7bWeTK1M+VH+Gns73oCgzvYfHZywRCoPSd8EkXBL0mZ9unPTveBn+D9phZBaxuzpwjWkW0g== 110 | 111 | anser@1.4.9: 112 | version "1.4.9" 113 | resolved "https://registry.yarnpkg.com/anser/-/anser-1.4.9.tgz#1f85423a5dcf8da4631a341665ff675b96845760" 114 | integrity sha512-AI+BjTeGt2+WFk4eWcqbQ7snZpDBt8SaLlj0RT2h5xfdWaiy51OjYvqwMrNzJLGy8iOAL6nKDITWO+rd4MkYEA== 115 | 116 | ansi-regex@^5.0.0: 117 | version "5.0.0" 118 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" 119 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 120 | 121 | ansi-styles@^3.2.1: 122 | version "3.2.1" 123 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 124 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 125 | dependencies: 126 | color-convert "^1.9.0" 127 | 128 | ansi-styles@^4.1.0: 129 | version "4.3.0" 130 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 131 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 132 | dependencies: 133 | color-convert "^2.0.1" 134 | 135 | anymatch@~3.1.1: 136 | version "3.1.2" 137 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 138 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 139 | dependencies: 140 | normalize-path "^3.0.0" 141 | picomatch "^2.0.4" 142 | 143 | array-filter@^1.0.0: 144 | version "1.0.0" 145 | resolved "https://registry.yarnpkg.com/array-filter/-/array-filter-1.0.0.tgz#baf79e62e6ef4c2a4c0b831232daffec251f9d83" 146 | integrity sha1-uveeYubvTCpMC4MSMtr/7CUfnYM= 147 | 148 | asn1.js@^5.2.0: 149 | version "5.4.1" 150 | resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" 151 | integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== 152 | dependencies: 153 | bn.js "^4.0.0" 154 | inherits "^2.0.1" 155 | minimalistic-assert "^1.0.0" 156 | safer-buffer "^2.1.0" 157 | 158 | assert@2.0.0: 159 | version "2.0.0" 160 | resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" 161 | integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== 162 | dependencies: 163 | es6-object-assign "^1.1.0" 164 | is-nan "^1.2.1" 165 | object-is "^1.0.1" 166 | util "^0.12.0" 167 | 168 | assert@^1.1.1: 169 | version "1.5.0" 170 | resolved "https://registry.yarnpkg.com/assert/-/assert-1.5.0.tgz#55c109aaf6e0aefdb3dc4b71240c70bf574b18eb" 171 | integrity sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA== 172 | dependencies: 173 | object-assign "^4.1.1" 174 | util "0.10.3" 175 | 176 | ast-types@0.13.2: 177 | version "0.13.2" 178 | resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.2.tgz#df39b677a911a83f3a049644fb74fdded23cea48" 179 | integrity sha512-uWMHxJxtfj/1oZClOxDEV1sQ1HCDkA4MG8Gr69KKeBjEVH0R84WlejZ0y2DcwyBlpAEMltmVYkVgqfLFb2oyiA== 180 | 181 | available-typed-arrays@^1.0.2: 182 | version "1.0.2" 183 | resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz#6b098ca9d8039079ee3f77f7b783c4480ba513f5" 184 | integrity sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ== 185 | dependencies: 186 | array-filter "^1.0.0" 187 | 188 | babel-plugin-syntax-jsx@6.18.0: 189 | version "6.18.0" 190 | resolved "https://registry.yarnpkg.com/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz#0af32a9a6e13ca7a3fd5069e62d7b0f58d0d8946" 191 | integrity sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY= 192 | 193 | base64-js@^1.0.2: 194 | version "1.5.1" 195 | resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" 196 | integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== 197 | 198 | big.js@^5.2.2: 199 | version "5.2.2" 200 | resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" 201 | integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== 202 | 203 | binary-extensions@^2.0.0: 204 | version "2.2.0" 205 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" 206 | integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== 207 | 208 | bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: 209 | version "4.12.0" 210 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" 211 | integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== 212 | 213 | bn.js@^5.0.0, bn.js@^5.1.1: 214 | version "5.2.0" 215 | resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" 216 | integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== 217 | 218 | braces@~3.0.2: 219 | version "3.0.2" 220 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 221 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 222 | dependencies: 223 | fill-range "^7.0.1" 224 | 225 | brorand@^1.0.1, brorand@^1.1.0: 226 | version "1.1.0" 227 | resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" 228 | integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= 229 | 230 | browserify-aes@^1.0.0, browserify-aes@^1.0.4: 231 | version "1.2.0" 232 | resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" 233 | integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== 234 | dependencies: 235 | buffer-xor "^1.0.3" 236 | cipher-base "^1.0.0" 237 | create-hash "^1.1.0" 238 | evp_bytestokey "^1.0.3" 239 | inherits "^2.0.1" 240 | safe-buffer "^5.0.1" 241 | 242 | browserify-cipher@^1.0.0: 243 | version "1.0.1" 244 | resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" 245 | integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== 246 | dependencies: 247 | browserify-aes "^1.0.4" 248 | browserify-des "^1.0.0" 249 | evp_bytestokey "^1.0.0" 250 | 251 | browserify-des@^1.0.0: 252 | version "1.0.2" 253 | resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" 254 | integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== 255 | dependencies: 256 | cipher-base "^1.0.1" 257 | des.js "^1.0.0" 258 | inherits "^2.0.1" 259 | safe-buffer "^5.1.2" 260 | 261 | browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: 262 | version "4.1.0" 263 | resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" 264 | integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== 265 | dependencies: 266 | bn.js "^5.0.0" 267 | randombytes "^2.0.1" 268 | 269 | browserify-sign@^4.0.0: 270 | version "4.2.1" 271 | resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" 272 | integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== 273 | dependencies: 274 | bn.js "^5.1.1" 275 | browserify-rsa "^4.0.1" 276 | create-hash "^1.2.0" 277 | create-hmac "^1.1.7" 278 | elliptic "^6.5.3" 279 | inherits "^2.0.4" 280 | parse-asn1 "^5.1.5" 281 | readable-stream "^3.6.0" 282 | safe-buffer "^5.2.0" 283 | 284 | browserify-zlib@0.2.0, browserify-zlib@^0.2.0: 285 | version "0.2.0" 286 | resolved "https://registry.yarnpkg.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f" 287 | integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA== 288 | dependencies: 289 | pako "~1.0.5" 290 | 291 | browserslist@4.16.1: 292 | version "4.16.1" 293 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.1.tgz#bf757a2da376b3447b800a16f0f1c96358138766" 294 | integrity sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA== 295 | dependencies: 296 | caniuse-lite "^1.0.30001173" 297 | colorette "^1.2.1" 298 | electron-to-chromium "^1.3.634" 299 | escalade "^3.1.1" 300 | node-releases "^1.1.69" 301 | 302 | buffer-xor@^1.0.3: 303 | version "1.0.3" 304 | resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" 305 | integrity sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk= 306 | 307 | buffer@5.6.0: 308 | version "5.6.0" 309 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" 310 | integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== 311 | dependencies: 312 | base64-js "^1.0.2" 313 | ieee754 "^1.1.4" 314 | 315 | buffer@^4.3.0: 316 | version "4.9.2" 317 | resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8" 318 | integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg== 319 | dependencies: 320 | base64-js "^1.0.2" 321 | ieee754 "^1.1.4" 322 | isarray "^1.0.0" 323 | 324 | builtin-status-codes@^3.0.0: 325 | version "3.0.0" 326 | resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" 327 | integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug= 328 | 329 | bytes@3.1.0: 330 | version "3.1.0" 331 | resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6" 332 | integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg== 333 | 334 | call-bind@^1.0.0, call-bind@^1.0.2: 335 | version "1.0.2" 336 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 337 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 338 | dependencies: 339 | function-bind "^1.1.1" 340 | get-intrinsic "^1.0.2" 341 | 342 | caniuse-lite@^1.0.30001173, caniuse-lite@^1.0.30001179: 343 | version "1.0.30001214" 344 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001214.tgz#70f153c78223515c6d37a9fde6cd69250da9d872" 345 | integrity sha512-O2/SCpuaU3eASWVaesQirZv1MSjUNOvmugaD8zNSJqw6Vv5SGwoOpA9LJs3pNPfM745nxqPvfZY3MQKY4AKHYg== 346 | 347 | chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.2: 348 | version "2.4.2" 349 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 350 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 351 | dependencies: 352 | ansi-styles "^3.2.1" 353 | escape-string-regexp "^1.0.5" 354 | supports-color "^5.3.0" 355 | 356 | chalk@4.0.0: 357 | version "4.0.0" 358 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.0.0.tgz#6e98081ed2d17faab615eb52ac66ec1fe6209e72" 359 | integrity sha512-N9oWFcegS0sFr9oh1oz2d7Npos6vNoWW9HvtCg5N1KRFpUhaAhvTv5Y58g880fZaEYSNm3qDz8SU1UrGvp+n7A== 360 | dependencies: 361 | ansi-styles "^4.1.0" 362 | supports-color "^7.1.0" 363 | 364 | chokidar@3.5.1: 365 | version "3.5.1" 366 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" 367 | integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== 368 | dependencies: 369 | anymatch "~3.1.1" 370 | braces "~3.0.2" 371 | glob-parent "~5.1.0" 372 | is-binary-path "~2.1.0" 373 | is-glob "~4.0.1" 374 | normalize-path "~3.0.0" 375 | readdirp "~3.5.0" 376 | optionalDependencies: 377 | fsevents "~2.3.1" 378 | 379 | cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: 380 | version "1.0.4" 381 | resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" 382 | integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== 383 | dependencies: 384 | inherits "^2.0.1" 385 | safe-buffer "^5.0.1" 386 | 387 | classnames@2.2.6: 388 | version "2.2.6" 389 | resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" 390 | integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== 391 | 392 | color-convert@^1.9.0: 393 | version "1.9.3" 394 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 395 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 396 | dependencies: 397 | color-name "1.1.3" 398 | 399 | color-convert@^2.0.1: 400 | version "2.0.1" 401 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 402 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 403 | dependencies: 404 | color-name "~1.1.4" 405 | 406 | color-name@1.1.3: 407 | version "1.1.3" 408 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 409 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 410 | 411 | color-name@~1.1.4: 412 | version "1.1.4" 413 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 414 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 415 | 416 | colorette@^1.2.1: 417 | version "1.2.2" 418 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" 419 | integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== 420 | 421 | commondir@^1.0.1: 422 | version "1.0.1" 423 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 424 | integrity sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs= 425 | 426 | console-browserify@^1.1.0: 427 | version "1.2.0" 428 | resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336" 429 | integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA== 430 | 431 | constants-browserify@1.0.0, constants-browserify@^1.0.0: 432 | version "1.0.0" 433 | resolved "https://registry.yarnpkg.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75" 434 | integrity sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U= 435 | 436 | convert-source-map@1.7.0: 437 | version "1.7.0" 438 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" 439 | integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== 440 | dependencies: 441 | safe-buffer "~5.1.1" 442 | 443 | core-util-is@~1.0.0: 444 | version "1.0.2" 445 | resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" 446 | integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= 447 | 448 | create-ecdh@^4.0.0: 449 | version "4.0.4" 450 | resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" 451 | integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== 452 | dependencies: 453 | bn.js "^4.1.0" 454 | elliptic "^6.5.3" 455 | 456 | create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: 457 | version "1.2.0" 458 | resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" 459 | integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== 460 | dependencies: 461 | cipher-base "^1.0.1" 462 | inherits "^2.0.1" 463 | md5.js "^1.3.4" 464 | ripemd160 "^2.0.1" 465 | sha.js "^2.4.0" 466 | 467 | create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: 468 | version "1.1.7" 469 | resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" 470 | integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== 471 | dependencies: 472 | cipher-base "^1.0.3" 473 | create-hash "^1.1.0" 474 | inherits "^2.0.1" 475 | ripemd160 "^2.0.0" 476 | safe-buffer "^5.0.1" 477 | sha.js "^2.4.8" 478 | 479 | crypto-browserify@3.12.0, crypto-browserify@^3.11.0: 480 | version "3.12.0" 481 | resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" 482 | integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== 483 | dependencies: 484 | browserify-cipher "^1.0.0" 485 | browserify-sign "^4.0.0" 486 | create-ecdh "^4.0.0" 487 | create-hash "^1.1.0" 488 | create-hmac "^1.1.0" 489 | diffie-hellman "^5.0.0" 490 | inherits "^2.0.1" 491 | pbkdf2 "^3.0.3" 492 | public-encrypt "^4.0.0" 493 | randombytes "^2.0.0" 494 | randomfill "^1.0.3" 495 | 496 | css.escape@1.5.1: 497 | version "1.5.1" 498 | resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" 499 | integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= 500 | 501 | cssnano-preset-simple@1.2.2: 502 | version "1.2.2" 503 | resolved "https://registry.yarnpkg.com/cssnano-preset-simple/-/cssnano-preset-simple-1.2.2.tgz#c631bf79ffec7fdfc4069e2f2da3ca67d99d8413" 504 | integrity sha512-gtvrcRSGtP3hA/wS8mFVinFnQdEsEpm3v4I/s/KmNjpdWaThV/4E5EojAzFXxyT5OCSRPLlHR9iQexAqKHlhGQ== 505 | dependencies: 506 | caniuse-lite "^1.0.30001179" 507 | postcss "^7.0.32" 508 | 509 | cssnano-simple@1.2.2: 510 | version "1.2.2" 511 | resolved "https://registry.yarnpkg.com/cssnano-simple/-/cssnano-simple-1.2.2.tgz#72c2c3970e67123c3b4130894a30dc1050267007" 512 | integrity sha512-4slyYc1w4JhSbhVX5xi9G0aQ42JnRyPg+7l7cqoNyoIDzfWx40Rq3JQZnoAWDu60A4AvKVp9ln/YSUOdhDX68g== 513 | dependencies: 514 | cssnano-preset-simple "1.2.2" 515 | postcss "^7.0.32" 516 | 517 | data-uri-to-buffer@3.0.1: 518 | version "3.0.1" 519 | resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636" 520 | integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og== 521 | 522 | debug@2: 523 | version "2.6.9" 524 | resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" 525 | integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== 526 | dependencies: 527 | ms "2.0.0" 528 | 529 | define-properties@^1.1.3: 530 | version "1.1.3" 531 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" 532 | integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== 533 | dependencies: 534 | object-keys "^1.0.12" 535 | 536 | depd@~1.1.2: 537 | version "1.1.2" 538 | resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" 539 | integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= 540 | 541 | des.js@^1.0.0: 542 | version "1.0.1" 543 | resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" 544 | integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== 545 | dependencies: 546 | inherits "^2.0.1" 547 | minimalistic-assert "^1.0.0" 548 | 549 | diffie-hellman@^5.0.0: 550 | version "5.0.3" 551 | resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" 552 | integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== 553 | dependencies: 554 | bn.js "^4.1.0" 555 | miller-rabin "^4.0.0" 556 | randombytes "^2.0.0" 557 | 558 | domain-browser@4.19.0: 559 | version "4.19.0" 560 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.19.0.tgz#1093e17c0a17dbd521182fe90d49ac1370054af1" 561 | integrity sha512-fRA+BaAWOR/yr/t7T9E9GJztHPeFjj8U35ajyAjCDtAAnTn1Rc1f6W6VGPJrO1tkQv9zWu+JRof7z6oQtiYVFQ== 562 | 563 | domain-browser@^1.1.1: 564 | version "1.2.0" 565 | resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" 566 | integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== 567 | 568 | electron-to-chromium@^1.3.634: 569 | version "1.3.720" 570 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.720.tgz#f5d66df8754d993006b7b2ded15ff7738c58bd94" 571 | integrity sha512-B6zLTxxaOFP4WZm6DrvgRk8kLFYWNhQ5TrHMC0l5WtkMXhU5UbnvWoTfeEwqOruUSlNMhVLfYak7REX6oC5Yfw== 572 | 573 | elliptic@^6.5.3: 574 | version "6.5.4" 575 | resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" 576 | integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== 577 | dependencies: 578 | bn.js "^4.11.9" 579 | brorand "^1.1.0" 580 | hash.js "^1.0.0" 581 | hmac-drbg "^1.0.1" 582 | inherits "^2.0.4" 583 | minimalistic-assert "^1.0.1" 584 | minimalistic-crypto-utils "^1.0.1" 585 | 586 | emojis-list@^2.0.0: 587 | version "2.1.0" 588 | resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389" 589 | integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k= 590 | 591 | encoding@0.1.13: 592 | version "0.1.13" 593 | resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" 594 | integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== 595 | dependencies: 596 | iconv-lite "^0.6.2" 597 | 598 | es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2: 599 | version "1.18.0" 600 | resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.0.tgz#ab80b359eecb7ede4c298000390bc5ac3ec7b5a4" 601 | integrity sha512-LJzK7MrQa8TS0ja2w3YNLzUgJCGPdPOV1yVvezjNnS89D+VR08+Szt2mz3YB2Dck/+w5tfIq/RoUAFqJJGM2yw== 602 | dependencies: 603 | call-bind "^1.0.2" 604 | es-to-primitive "^1.2.1" 605 | function-bind "^1.1.1" 606 | get-intrinsic "^1.1.1" 607 | has "^1.0.3" 608 | has-symbols "^1.0.2" 609 | is-callable "^1.2.3" 610 | is-negative-zero "^2.0.1" 611 | is-regex "^1.1.2" 612 | is-string "^1.0.5" 613 | object-inspect "^1.9.0" 614 | object-keys "^1.1.1" 615 | object.assign "^4.1.2" 616 | string.prototype.trimend "^1.0.4" 617 | string.prototype.trimstart "^1.0.4" 618 | unbox-primitive "^1.0.0" 619 | 620 | es-to-primitive@^1.2.1: 621 | version "1.2.1" 622 | resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" 623 | integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== 624 | dependencies: 625 | is-callable "^1.1.4" 626 | is-date-object "^1.0.1" 627 | is-symbol "^1.0.2" 628 | 629 | es6-object-assign@^1.1.0: 630 | version "1.1.0" 631 | resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" 632 | integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= 633 | 634 | escalade@^3.1.1: 635 | version "3.1.1" 636 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 637 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 638 | 639 | escape-string-regexp@^1.0.5: 640 | version "1.0.5" 641 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 642 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 643 | 644 | esutils@^2.0.2: 645 | version "2.0.3" 646 | resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" 647 | integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== 648 | 649 | etag@1.8.1: 650 | version "1.8.1" 651 | resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" 652 | integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= 653 | 654 | events@^3.0.0: 655 | version "3.3.0" 656 | resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" 657 | integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== 658 | 659 | evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: 660 | version "1.0.3" 661 | resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" 662 | integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== 663 | dependencies: 664 | md5.js "^1.3.4" 665 | safe-buffer "^5.1.1" 666 | 667 | fill-range@^7.0.1: 668 | version "7.0.1" 669 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 670 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 671 | dependencies: 672 | to-regex-range "^5.0.1" 673 | 674 | find-cache-dir@3.3.1: 675 | version "3.3.1" 676 | resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" 677 | integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== 678 | dependencies: 679 | commondir "^1.0.1" 680 | make-dir "^3.0.2" 681 | pkg-dir "^4.1.0" 682 | 683 | find-up@^4.0.0: 684 | version "4.1.0" 685 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 686 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 687 | dependencies: 688 | locate-path "^5.0.0" 689 | path-exists "^4.0.0" 690 | 691 | foreach@^2.0.5: 692 | version "2.0.5" 693 | resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" 694 | integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= 695 | 696 | fsevents@~2.3.1: 697 | version "2.3.2" 698 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 699 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 700 | 701 | function-bind@^1.1.1: 702 | version "1.1.1" 703 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 704 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 705 | 706 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: 707 | version "1.1.1" 708 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" 709 | integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== 710 | dependencies: 711 | function-bind "^1.1.1" 712 | has "^1.0.3" 713 | has-symbols "^1.0.1" 714 | 715 | get-orientation@1.1.2: 716 | version "1.1.2" 717 | resolved "https://registry.yarnpkg.com/get-orientation/-/get-orientation-1.1.2.tgz#20507928951814f8a91ded0a0e67b29dfab98947" 718 | integrity sha512-/pViTfifW+gBbh/RnlFYHINvELT9Znt+SYyDKAUL6uV6By019AK/s+i9XP4jSwq7lwP38Fd8HVeTxym3+hkwmQ== 719 | dependencies: 720 | stream-parser "^0.3.1" 721 | 722 | glob-parent@~5.1.0: 723 | version "5.1.2" 724 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 725 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 726 | dependencies: 727 | is-glob "^4.0.1" 728 | 729 | glob-to-regexp@^0.4.1: 730 | version "0.4.1" 731 | resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" 732 | integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== 733 | 734 | graceful-fs@^4.1.2: 735 | version "4.2.6" 736 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" 737 | integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== 738 | 739 | has-bigints@^1.0.1: 740 | version "1.0.1" 741 | resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" 742 | integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== 743 | 744 | has-flag@^3.0.0: 745 | version "3.0.0" 746 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 747 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 748 | 749 | has-flag@^4.0.0: 750 | version "4.0.0" 751 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 752 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 753 | 754 | has-symbols@^1.0.1, has-symbols@^1.0.2: 755 | version "1.0.2" 756 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" 757 | integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== 758 | 759 | has@^1.0.3: 760 | version "1.0.3" 761 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 762 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 763 | dependencies: 764 | function-bind "^1.1.1" 765 | 766 | hash-base@^3.0.0: 767 | version "3.1.0" 768 | resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" 769 | integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== 770 | dependencies: 771 | inherits "^2.0.4" 772 | readable-stream "^3.6.0" 773 | safe-buffer "^5.2.0" 774 | 775 | hash.js@^1.0.0, hash.js@^1.0.3: 776 | version "1.1.7" 777 | resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" 778 | integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== 779 | dependencies: 780 | inherits "^2.0.3" 781 | minimalistic-assert "^1.0.1" 782 | 783 | he@1.2.0: 784 | version "1.2.0" 785 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 786 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 787 | 788 | hmac-drbg@^1.0.1: 789 | version "1.0.1" 790 | resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" 791 | integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= 792 | dependencies: 793 | hash.js "^1.0.3" 794 | minimalistic-assert "^1.0.0" 795 | minimalistic-crypto-utils "^1.0.1" 796 | 797 | http-errors@1.7.3: 798 | version "1.7.3" 799 | resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" 800 | integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== 801 | dependencies: 802 | depd "~1.1.2" 803 | inherits "2.0.4" 804 | setprototypeof "1.1.1" 805 | statuses ">= 1.5.0 < 2" 806 | toidentifier "1.0.0" 807 | 808 | https-browserify@1.0.0, https-browserify@^1.0.0: 809 | version "1.0.0" 810 | resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73" 811 | integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM= 812 | 813 | iconv-lite@0.4.24: 814 | version "0.4.24" 815 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" 816 | integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== 817 | dependencies: 818 | safer-buffer ">= 2.1.2 < 3" 819 | 820 | iconv-lite@^0.6.2: 821 | version "0.6.2" 822 | resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.2.tgz#ce13d1875b0c3a674bd6a04b7f76b01b1b6ded01" 823 | integrity sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ== 824 | dependencies: 825 | safer-buffer ">= 2.1.2 < 3.0.0" 826 | 827 | ieee754@^1.1.4: 828 | version "1.2.1" 829 | resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" 830 | integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== 831 | 832 | inherits@2.0.1: 833 | version "2.0.1" 834 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.1.tgz#b17d08d326b4423e568eff719f91b0b1cbdf69f1" 835 | integrity sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE= 836 | 837 | inherits@2.0.3: 838 | version "2.0.3" 839 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" 840 | integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= 841 | 842 | inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: 843 | version "2.0.4" 844 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 845 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 846 | 847 | is-arguments@^1.0.4: 848 | version "1.1.0" 849 | resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.0.tgz#62353031dfbee07ceb34656a6bde59efecae8dd9" 850 | integrity sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg== 851 | dependencies: 852 | call-bind "^1.0.0" 853 | 854 | is-bigint@^1.0.1: 855 | version "1.0.1" 856 | resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.1.tgz#6923051dfcbc764278540b9ce0e6b3213aa5ebc2" 857 | integrity sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg== 858 | 859 | is-binary-path@~2.1.0: 860 | version "2.1.0" 861 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 862 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 863 | dependencies: 864 | binary-extensions "^2.0.0" 865 | 866 | is-boolean-object@^1.1.0: 867 | version "1.1.0" 868 | resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.0.tgz#e2aaad3a3a8fca34c28f6eee135b156ed2587ff0" 869 | integrity sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA== 870 | dependencies: 871 | call-bind "^1.0.0" 872 | 873 | is-callable@^1.1.4, is-callable@^1.2.3: 874 | version "1.2.3" 875 | resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" 876 | integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== 877 | 878 | is-date-object@^1.0.1: 879 | version "1.0.2" 880 | resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" 881 | integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== 882 | 883 | is-extglob@^2.1.1: 884 | version "2.1.1" 885 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 886 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 887 | 888 | is-generator-function@^1.0.7: 889 | version "1.0.8" 890 | resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.8.tgz#dfb5c2b120e02b0a8d9d2c6806cd5621aa922f7b" 891 | integrity sha512-2Omr/twNtufVZFr1GhxjOMFPAj2sjc/dKaIqBhvo4qciXfJmITGH6ZGd8eZYNHza8t1y0e01AuqRhJwfWp26WQ== 892 | 893 | is-glob@^4.0.1, is-glob@~4.0.1: 894 | version "4.0.1" 895 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 896 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 897 | dependencies: 898 | is-extglob "^2.1.1" 899 | 900 | is-nan@^1.2.1: 901 | version "1.3.2" 902 | resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" 903 | integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== 904 | dependencies: 905 | call-bind "^1.0.0" 906 | define-properties "^1.1.3" 907 | 908 | is-negative-zero@^2.0.1: 909 | version "2.0.1" 910 | resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24" 911 | integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== 912 | 913 | is-number-object@^1.0.4: 914 | version "1.0.4" 915 | resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.4.tgz#36ac95e741cf18b283fc1ddf5e83da798e3ec197" 916 | integrity sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw== 917 | 918 | is-number@^7.0.0: 919 | version "7.0.0" 920 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 921 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 922 | 923 | is-regex@^1.1.2: 924 | version "1.1.2" 925 | resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.2.tgz#81c8ebde4db142f2cf1c53fc86d6a45788266251" 926 | integrity sha512-axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg== 927 | dependencies: 928 | call-bind "^1.0.2" 929 | has-symbols "^1.0.1" 930 | 931 | is-string@^1.0.5: 932 | version "1.0.5" 933 | resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" 934 | integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== 935 | 936 | is-symbol@^1.0.2, is-symbol@^1.0.3: 937 | version "1.0.3" 938 | resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" 939 | integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== 940 | dependencies: 941 | has-symbols "^1.0.1" 942 | 943 | is-typed-array@^1.1.3: 944 | version "1.1.5" 945 | resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.5.tgz#f32e6e096455e329eb7b423862456aa213f0eb4e" 946 | integrity sha512-S+GRDgJlR3PyEbsX/Fobd9cqpZBuvUS+8asRqYDMLCb2qMzt1oz5m5oxQCxOgUDxiWsOVNi4yaF+/uvdlHlYug== 947 | dependencies: 948 | available-typed-arrays "^1.0.2" 949 | call-bind "^1.0.2" 950 | es-abstract "^1.18.0-next.2" 951 | foreach "^2.0.5" 952 | has-symbols "^1.0.1" 953 | 954 | isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: 955 | version "1.0.0" 956 | resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" 957 | integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE= 958 | 959 | isobject@^2.0.0: 960 | version "2.1.0" 961 | resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" 962 | integrity sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk= 963 | dependencies: 964 | isarray "1.0.0" 965 | 966 | jest-worker@27.0.0-next.5: 967 | version "27.0.0-next.5" 968 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.0.0-next.5.tgz#5985ee29b12a4e191f4aae4bb73b97971d86ec28" 969 | integrity sha512-mk0umAQ5lT+CaOJ+Qp01N6kz48sJG2kr2n1rX0koqKf6FIygQV0qLOdN9SCYID4IVeSigDOcPeGLozdMLYfb5g== 970 | dependencies: 971 | "@types/node" "*" 972 | merge-stream "^2.0.0" 973 | supports-color "^8.0.0" 974 | 975 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 976 | version "4.0.0" 977 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 978 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 979 | 980 | json5@^1.0.1: 981 | version "1.0.1" 982 | resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe" 983 | integrity sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow== 984 | dependencies: 985 | minimist "^1.2.0" 986 | 987 | line-column@^1.0.2: 988 | version "1.0.2" 989 | resolved "https://registry.yarnpkg.com/line-column/-/line-column-1.0.2.tgz#d25af2936b6f4849172b312e4792d1d987bc34a2" 990 | integrity sha1-0lryk2tvSEkXKzEuR5LR2Ye8NKI= 991 | dependencies: 992 | isarray "^1.0.0" 993 | isobject "^2.0.0" 994 | 995 | loader-utils@1.2.3: 996 | version "1.2.3" 997 | resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.2.3.tgz#1ff5dc6911c9f0a062531a4c04b609406108c2c7" 998 | integrity sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA== 999 | dependencies: 1000 | big.js "^5.2.2" 1001 | emojis-list "^2.0.0" 1002 | json5 "^1.0.1" 1003 | 1004 | locate-path@^5.0.0: 1005 | version "5.0.0" 1006 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 1007 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 1008 | dependencies: 1009 | p-locate "^4.1.0" 1010 | 1011 | lodash.sortby@^4.7.0: 1012 | version "4.7.0" 1013 | resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" 1014 | integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= 1015 | 1016 | lodash@^4.17.13: 1017 | version "4.17.21" 1018 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" 1019 | integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== 1020 | 1021 | loose-envify@^1.1.0, loose-envify@^1.4.0: 1022 | version "1.4.0" 1023 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1024 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1025 | dependencies: 1026 | js-tokens "^3.0.0 || ^4.0.0" 1027 | 1028 | make-dir@^3.0.2: 1029 | version "3.1.0" 1030 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 1031 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== 1032 | dependencies: 1033 | semver "^6.0.0" 1034 | 1035 | md5.js@^1.3.4: 1036 | version "1.3.5" 1037 | resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" 1038 | integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== 1039 | dependencies: 1040 | hash-base "^3.0.0" 1041 | inherits "^2.0.1" 1042 | safe-buffer "^5.1.2" 1043 | 1044 | merge-stream@^2.0.0: 1045 | version "2.0.0" 1046 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 1047 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 1048 | 1049 | miller-rabin@^4.0.0: 1050 | version "4.0.1" 1051 | resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" 1052 | integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== 1053 | dependencies: 1054 | bn.js "^4.0.0" 1055 | brorand "^1.0.1" 1056 | 1057 | minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: 1058 | version "1.0.1" 1059 | resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" 1060 | integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== 1061 | 1062 | minimalistic-crypto-utils@^1.0.1: 1063 | version "1.0.1" 1064 | resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" 1065 | integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= 1066 | 1067 | minimist@^1.2.0: 1068 | version "1.2.5" 1069 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 1070 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 1071 | 1072 | ms@2.0.0: 1073 | version "2.0.0" 1074 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" 1075 | integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= 1076 | 1077 | nanoid@^3.1.16: 1078 | version "3.1.22" 1079 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.22.tgz#b35f8fb7d151990a8aebd5aa5015c03cf726f844" 1080 | integrity sha512-/2ZUaJX2ANuLtTvqTlgqBQNJoQO398KyJgZloL0PZkC0dpysjncRUPsFe3DUPzz/y3h+u7C46np8RMuvF3jsSQ== 1081 | 1082 | native-url@0.3.4: 1083 | version "0.3.4" 1084 | resolved "https://registry.yarnpkg.com/native-url/-/native-url-0.3.4.tgz#29c943172aed86c63cee62c8c04db7f5756661f8" 1085 | integrity sha512-6iM8R99ze45ivyH8vybJ7X0yekIcPf5GgLV5K0ENCbmRcaRIDoj37BC8iLEmaaBfqqb8enuZ5p0uhY+lVAbAcA== 1086 | dependencies: 1087 | querystring "^0.2.0" 1088 | 1089 | next@10.1.3: 1090 | version "10.1.3" 1091 | resolved "https://registry.yarnpkg.com/next/-/next-10.1.3.tgz#e26e8371343a42bc2ba9be5cb253a7d324d03673" 1092 | integrity sha512-8Jf38F+s0YcXXkJGF5iUxOqSmbHrey0fX5Epc43L0uwDKmN2jK9vhc2ihCwXC1pmu8d2m/8wfTiXRJKGti55yw== 1093 | dependencies: 1094 | "@babel/runtime" "7.12.5" 1095 | "@hapi/accept" "5.0.1" 1096 | "@next/env" "10.1.3" 1097 | "@next/polyfill-module" "10.1.3" 1098 | "@next/react-dev-overlay" "10.1.3" 1099 | "@next/react-refresh-utils" "10.1.3" 1100 | "@opentelemetry/api" "0.14.0" 1101 | assert "2.0.0" 1102 | ast-types "0.13.2" 1103 | browserify-zlib "0.2.0" 1104 | browserslist "4.16.1" 1105 | buffer "5.6.0" 1106 | caniuse-lite "^1.0.30001179" 1107 | chalk "2.4.2" 1108 | chokidar "3.5.1" 1109 | constants-browserify "1.0.0" 1110 | crypto-browserify "3.12.0" 1111 | cssnano-simple "1.2.2" 1112 | domain-browser "4.19.0" 1113 | encoding "0.1.13" 1114 | etag "1.8.1" 1115 | find-cache-dir "3.3.1" 1116 | get-orientation "1.1.2" 1117 | https-browserify "1.0.0" 1118 | jest-worker "27.0.0-next.5" 1119 | native-url "0.3.4" 1120 | node-fetch "2.6.1" 1121 | node-html-parser "1.4.9" 1122 | node-libs-browser "^2.2.1" 1123 | os-browserify "0.3.0" 1124 | p-limit "3.1.0" 1125 | path-browserify "1.0.1" 1126 | pnp-webpack-plugin "1.6.4" 1127 | postcss "8.1.7" 1128 | process "0.11.10" 1129 | prop-types "15.7.2" 1130 | querystring-es3 "0.2.1" 1131 | raw-body "2.4.1" 1132 | react-is "16.13.1" 1133 | react-refresh "0.8.3" 1134 | stream-browserify "3.0.0" 1135 | stream-http "3.1.1" 1136 | string_decoder "1.3.0" 1137 | styled-jsx "3.3.2" 1138 | timers-browserify "2.0.12" 1139 | tty-browserify "0.0.1" 1140 | use-subscription "1.5.1" 1141 | util "0.12.3" 1142 | vm-browserify "1.1.2" 1143 | watchpack "2.1.1" 1144 | 1145 | node-fetch@2.6.1: 1146 | version "2.6.1" 1147 | resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" 1148 | integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== 1149 | 1150 | node-html-parser@1.4.9: 1151 | version "1.4.9" 1152 | resolved "https://registry.yarnpkg.com/node-html-parser/-/node-html-parser-1.4.9.tgz#3c8f6cac46479fae5800725edb532e9ae8fd816c" 1153 | integrity sha512-UVcirFD1Bn0O+TSmloHeHqZZCxHjvtIeGdVdGMhyZ8/PWlEiZaZ5iJzR189yKZr8p0FXN58BUeC7RHRkf/KYGw== 1154 | dependencies: 1155 | he "1.2.0" 1156 | 1157 | node-libs-browser@^2.2.1: 1158 | version "2.2.1" 1159 | resolved "https://registry.yarnpkg.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425" 1160 | integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q== 1161 | dependencies: 1162 | assert "^1.1.1" 1163 | browserify-zlib "^0.2.0" 1164 | buffer "^4.3.0" 1165 | console-browserify "^1.1.0" 1166 | constants-browserify "^1.0.0" 1167 | crypto-browserify "^3.11.0" 1168 | domain-browser "^1.1.1" 1169 | events "^3.0.0" 1170 | https-browserify "^1.0.0" 1171 | os-browserify "^0.3.0" 1172 | path-browserify "0.0.1" 1173 | process "^0.11.10" 1174 | punycode "^1.2.4" 1175 | querystring-es3 "^0.2.0" 1176 | readable-stream "^2.3.3" 1177 | stream-browserify "^2.0.1" 1178 | stream-http "^2.7.2" 1179 | string_decoder "^1.0.0" 1180 | timers-browserify "^2.0.4" 1181 | tty-browserify "0.0.0" 1182 | url "^0.11.0" 1183 | util "^0.11.0" 1184 | vm-browserify "^1.0.1" 1185 | 1186 | node-releases@^1.1.69: 1187 | version "1.1.71" 1188 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.71.tgz#cb1334b179896b1c89ecfdd4b725fb7bbdfc7dbb" 1189 | integrity sha512-zR6HoT6LrLCRBwukmrVbHv0EpEQjksO6GmFcZQQuCAy139BEsoVKPYnf3jongYW83fAa1torLGYwxxky/p28sg== 1190 | 1191 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1192 | version "3.0.0" 1193 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1194 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1195 | 1196 | object-assign@^4.1.1: 1197 | version "4.1.1" 1198 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1199 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 1200 | 1201 | object-inspect@^1.9.0: 1202 | version "1.10.2" 1203 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.2.tgz#b6385a3e2b7cae0b5eafcf90cddf85d128767f30" 1204 | integrity sha512-gz58rdPpadwztRrPjZE9DZLOABUpTGdcANUgOwBFO1C+HZZhePoP83M65WGDmbpwFYJSWqavbl4SgDn4k8RYTA== 1205 | 1206 | object-is@^1.0.1: 1207 | version "1.1.5" 1208 | resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" 1209 | integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== 1210 | dependencies: 1211 | call-bind "^1.0.2" 1212 | define-properties "^1.1.3" 1213 | 1214 | object-keys@^1.0.12, object-keys@^1.1.1: 1215 | version "1.1.1" 1216 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1217 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1218 | 1219 | object.assign@^4.1.2: 1220 | version "4.1.2" 1221 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" 1222 | integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== 1223 | dependencies: 1224 | call-bind "^1.0.0" 1225 | define-properties "^1.1.3" 1226 | has-symbols "^1.0.1" 1227 | object-keys "^1.1.1" 1228 | 1229 | os-browserify@0.3.0, os-browserify@^0.3.0: 1230 | version "0.3.0" 1231 | resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" 1232 | integrity sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc= 1233 | 1234 | p-limit@3.1.0: 1235 | version "3.1.0" 1236 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 1237 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 1238 | dependencies: 1239 | yocto-queue "^0.1.0" 1240 | 1241 | p-limit@^2.2.0: 1242 | version "2.3.0" 1243 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 1244 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 1245 | dependencies: 1246 | p-try "^2.0.0" 1247 | 1248 | p-locate@^4.1.0: 1249 | version "4.1.0" 1250 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 1251 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 1252 | dependencies: 1253 | p-limit "^2.2.0" 1254 | 1255 | p-try@^2.0.0: 1256 | version "2.2.0" 1257 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 1258 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 1259 | 1260 | pako@~1.0.5: 1261 | version "1.0.11" 1262 | resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf" 1263 | integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== 1264 | 1265 | parse-asn1@^5.0.0, parse-asn1@^5.1.5: 1266 | version "5.1.6" 1267 | resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" 1268 | integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== 1269 | dependencies: 1270 | asn1.js "^5.2.0" 1271 | browserify-aes "^1.0.0" 1272 | evp_bytestokey "^1.0.0" 1273 | pbkdf2 "^3.0.3" 1274 | safe-buffer "^5.1.1" 1275 | 1276 | path-browserify@0.0.1: 1277 | version "0.0.1" 1278 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a" 1279 | integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ== 1280 | 1281 | path-browserify@1.0.1: 1282 | version "1.0.1" 1283 | resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd" 1284 | integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g== 1285 | 1286 | path-exists@^4.0.0: 1287 | version "4.0.0" 1288 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 1289 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1290 | 1291 | pbkdf2@^3.0.3: 1292 | version "3.1.2" 1293 | resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" 1294 | integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== 1295 | dependencies: 1296 | create-hash "^1.1.2" 1297 | create-hmac "^1.1.4" 1298 | ripemd160 "^2.0.1" 1299 | safe-buffer "^5.0.1" 1300 | sha.js "^2.4.8" 1301 | 1302 | picomatch@^2.0.4, picomatch@^2.2.1: 1303 | version "2.2.3" 1304 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d" 1305 | integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg== 1306 | 1307 | pkg-dir@^4.1.0: 1308 | version "4.2.0" 1309 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 1310 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 1311 | dependencies: 1312 | find-up "^4.0.0" 1313 | 1314 | platform@1.3.6: 1315 | version "1.3.6" 1316 | resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.6.tgz#48b4ce983164b209c2d45a107adb31f473a6e7a7" 1317 | integrity sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg== 1318 | 1319 | pnp-webpack-plugin@1.6.4: 1320 | version "1.6.4" 1321 | resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" 1322 | integrity sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg== 1323 | dependencies: 1324 | ts-pnp "^1.1.6" 1325 | 1326 | postcss@8.1.7: 1327 | version "8.1.7" 1328 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.1.7.tgz#ff6a82691bd861f3354fd9b17b2332f88171233f" 1329 | integrity sha512-llCQW1Pz4MOPwbZLmOddGM9eIJ8Bh7SZ2Oj5sxZva77uVaotYDsYTch1WBTNu7fUY0fpWp0fdt7uW40D4sRiiQ== 1330 | dependencies: 1331 | colorette "^1.2.1" 1332 | line-column "^1.0.2" 1333 | nanoid "^3.1.16" 1334 | source-map "^0.6.1" 1335 | 1336 | postcss@^7.0.32: 1337 | version "7.0.35" 1338 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.35.tgz#d2be00b998f7f211d8a276974079f2e92b970e24" 1339 | integrity sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg== 1340 | dependencies: 1341 | chalk "^2.4.2" 1342 | source-map "^0.6.1" 1343 | supports-color "^6.1.0" 1344 | 1345 | process-nextick-args@~2.0.0: 1346 | version "2.0.1" 1347 | resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" 1348 | integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== 1349 | 1350 | process@0.11.10, process@^0.11.10: 1351 | version "0.11.10" 1352 | resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" 1353 | integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= 1354 | 1355 | prop-types@15.7.2: 1356 | version "15.7.2" 1357 | resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" 1358 | integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== 1359 | dependencies: 1360 | loose-envify "^1.4.0" 1361 | object-assign "^4.1.1" 1362 | react-is "^16.8.1" 1363 | 1364 | public-encrypt@^4.0.0: 1365 | version "4.0.3" 1366 | resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" 1367 | integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== 1368 | dependencies: 1369 | bn.js "^4.1.0" 1370 | browserify-rsa "^4.0.0" 1371 | create-hash "^1.1.0" 1372 | parse-asn1 "^5.0.0" 1373 | randombytes "^2.0.1" 1374 | safe-buffer "^5.1.2" 1375 | 1376 | punycode@1.3.2: 1377 | version "1.3.2" 1378 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.3.2.tgz#9653a036fb7c1ee42342f2325cceefea3926c48d" 1379 | integrity sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0= 1380 | 1381 | punycode@^1.2.4: 1382 | version "1.4.1" 1383 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" 1384 | integrity sha1-wNWmOycYgArY4esPpSachN1BhF4= 1385 | 1386 | punycode@^2.1.0: 1387 | version "2.1.1" 1388 | resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" 1389 | integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== 1390 | 1391 | querystring-es3@0.2.1, querystring-es3@^0.2.0: 1392 | version "0.2.1" 1393 | resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" 1394 | integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= 1395 | 1396 | querystring@0.2.0: 1397 | version "0.2.0" 1398 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" 1399 | integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= 1400 | 1401 | querystring@^0.2.0: 1402 | version "0.2.1" 1403 | resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" 1404 | integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== 1405 | 1406 | randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5: 1407 | version "2.1.0" 1408 | resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" 1409 | integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== 1410 | dependencies: 1411 | safe-buffer "^5.1.0" 1412 | 1413 | randomfill@^1.0.3: 1414 | version "1.0.4" 1415 | resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" 1416 | integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== 1417 | dependencies: 1418 | randombytes "^2.0.5" 1419 | safe-buffer "^5.1.0" 1420 | 1421 | raw-body@2.4.1: 1422 | version "2.4.1" 1423 | resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.1.tgz#30ac82f98bb5ae8c152e67149dac8d55153b168c" 1424 | integrity sha512-9WmIKF6mkvA0SLmA2Knm9+qj89e+j1zqgyn8aXGd7+nAduPoqgI9lO57SAZNn/Byzo5P7JhXTyg9PzaJbH73bA== 1425 | dependencies: 1426 | bytes "3.1.0" 1427 | http-errors "1.7.3" 1428 | iconv-lite "0.4.24" 1429 | unpipe "1.0.0" 1430 | 1431 | react-dom@17.0.2: 1432 | version "17.0.2" 1433 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" 1434 | integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== 1435 | dependencies: 1436 | loose-envify "^1.1.0" 1437 | object-assign "^4.1.1" 1438 | scheduler "^0.20.2" 1439 | 1440 | react-is@16.13.1, react-is@^16.8.1: 1441 | version "16.13.1" 1442 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" 1443 | integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== 1444 | 1445 | react-refresh@0.8.3: 1446 | version "0.8.3" 1447 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.8.3.tgz#721d4657672d400c5e3c75d063c4a85fb2d5d68f" 1448 | integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== 1449 | 1450 | react@17.0.2: 1451 | version "17.0.2" 1452 | resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" 1453 | integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== 1454 | dependencies: 1455 | loose-envify "^1.1.0" 1456 | object-assign "^4.1.1" 1457 | 1458 | readable-stream@^2.0.2, readable-stream@^2.3.3, readable-stream@^2.3.6: 1459 | version "2.3.7" 1460 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" 1461 | integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw== 1462 | dependencies: 1463 | core-util-is "~1.0.0" 1464 | inherits "~2.0.3" 1465 | isarray "~1.0.0" 1466 | process-nextick-args "~2.0.0" 1467 | safe-buffer "~5.1.1" 1468 | string_decoder "~1.1.1" 1469 | util-deprecate "~1.0.1" 1470 | 1471 | readable-stream@^3.5.0, readable-stream@^3.6.0: 1472 | version "3.6.0" 1473 | resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" 1474 | integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== 1475 | dependencies: 1476 | inherits "^2.0.3" 1477 | string_decoder "^1.1.1" 1478 | util-deprecate "^1.0.1" 1479 | 1480 | readdirp@~3.5.0: 1481 | version "3.5.0" 1482 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" 1483 | integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== 1484 | dependencies: 1485 | picomatch "^2.2.1" 1486 | 1487 | regenerator-runtime@^0.13.4: 1488 | version "0.13.7" 1489 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" 1490 | integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== 1491 | 1492 | ripemd160@^2.0.0, ripemd160@^2.0.1: 1493 | version "2.0.2" 1494 | resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" 1495 | integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== 1496 | dependencies: 1497 | hash-base "^3.0.0" 1498 | inherits "^2.0.1" 1499 | 1500 | safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: 1501 | version "5.2.1" 1502 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" 1503 | integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== 1504 | 1505 | safe-buffer@~5.1.0, safe-buffer@~5.1.1: 1506 | version "5.1.2" 1507 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1508 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1509 | 1510 | "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.1.0: 1511 | version "2.1.2" 1512 | resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" 1513 | integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== 1514 | 1515 | scheduler@^0.20.2: 1516 | version "0.20.2" 1517 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" 1518 | integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== 1519 | dependencies: 1520 | loose-envify "^1.1.0" 1521 | object-assign "^4.1.1" 1522 | 1523 | semver@^6.0.0: 1524 | version "6.3.0" 1525 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1526 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1527 | 1528 | setimmediate@^1.0.4: 1529 | version "1.0.5" 1530 | resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" 1531 | integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= 1532 | 1533 | setprototypeof@1.1.1: 1534 | version "1.1.1" 1535 | resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683" 1536 | integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw== 1537 | 1538 | sha.js@^2.4.0, sha.js@^2.4.8: 1539 | version "2.4.11" 1540 | resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" 1541 | integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== 1542 | dependencies: 1543 | inherits "^2.0.1" 1544 | safe-buffer "^5.0.1" 1545 | 1546 | shell-quote@1.7.2: 1547 | version "1.7.2" 1548 | resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2" 1549 | integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg== 1550 | 1551 | source-map@0.7.3: 1552 | version "0.7.3" 1553 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" 1554 | integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== 1555 | 1556 | source-map@0.8.0-beta.0: 1557 | version "0.8.0-beta.0" 1558 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11" 1559 | integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== 1560 | dependencies: 1561 | whatwg-url "^7.0.0" 1562 | 1563 | source-map@^0.6.1: 1564 | version "0.6.1" 1565 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1566 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1567 | 1568 | stacktrace-parser@0.1.10: 1569 | version "0.1.10" 1570 | resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a" 1571 | integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== 1572 | dependencies: 1573 | type-fest "^0.7.1" 1574 | 1575 | "statuses@>= 1.5.0 < 2": 1576 | version "1.5.0" 1577 | resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" 1578 | integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= 1579 | 1580 | stream-browserify@3.0.0: 1581 | version "3.0.0" 1582 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" 1583 | integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== 1584 | dependencies: 1585 | inherits "~2.0.4" 1586 | readable-stream "^3.5.0" 1587 | 1588 | stream-browserify@^2.0.1: 1589 | version "2.0.2" 1590 | resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b" 1591 | integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg== 1592 | dependencies: 1593 | inherits "~2.0.1" 1594 | readable-stream "^2.0.2" 1595 | 1596 | stream-http@3.1.1: 1597 | version "3.1.1" 1598 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-3.1.1.tgz#0370a8017cf8d050b9a8554afe608f043eaff564" 1599 | integrity sha512-S7OqaYu0EkFpgeGFb/NPOoPLxFko7TPqtEeFg5DXPB4v/KETHG0Ln6fRFrNezoelpaDKmycEmmZ81cC9DAwgYg== 1600 | dependencies: 1601 | builtin-status-codes "^3.0.0" 1602 | inherits "^2.0.4" 1603 | readable-stream "^3.6.0" 1604 | xtend "^4.0.2" 1605 | 1606 | stream-http@^2.7.2: 1607 | version "2.8.3" 1608 | resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc" 1609 | integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw== 1610 | dependencies: 1611 | builtin-status-codes "^3.0.0" 1612 | inherits "^2.0.1" 1613 | readable-stream "^2.3.6" 1614 | to-arraybuffer "^1.0.0" 1615 | xtend "^4.0.0" 1616 | 1617 | stream-parser@^0.3.1: 1618 | version "0.3.1" 1619 | resolved "https://registry.yarnpkg.com/stream-parser/-/stream-parser-0.3.1.tgz#1618548694420021a1182ff0af1911c129761773" 1620 | integrity sha1-FhhUhpRCACGhGC/wrxkRwSl2F3M= 1621 | dependencies: 1622 | debug "2" 1623 | 1624 | string-hash@1.1.3: 1625 | version "1.1.3" 1626 | resolved "https://registry.yarnpkg.com/string-hash/-/string-hash-1.1.3.tgz#e8aafc0ac1855b4666929ed7dd1275df5d6c811b" 1627 | integrity sha1-6Kr8CsGFW0Zmkp7X3RJ1311sgRs= 1628 | 1629 | string.prototype.trimend@^1.0.4: 1630 | version "1.0.4" 1631 | resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" 1632 | integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== 1633 | dependencies: 1634 | call-bind "^1.0.2" 1635 | define-properties "^1.1.3" 1636 | 1637 | string.prototype.trimstart@^1.0.4: 1638 | version "1.0.4" 1639 | resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" 1640 | integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== 1641 | dependencies: 1642 | call-bind "^1.0.2" 1643 | define-properties "^1.1.3" 1644 | 1645 | string_decoder@1.3.0, string_decoder@^1.0.0, string_decoder@^1.1.1: 1646 | version "1.3.0" 1647 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" 1648 | integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== 1649 | dependencies: 1650 | safe-buffer "~5.2.0" 1651 | 1652 | string_decoder@~1.1.1: 1653 | version "1.1.1" 1654 | resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" 1655 | integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== 1656 | dependencies: 1657 | safe-buffer "~5.1.0" 1658 | 1659 | strip-ansi@6.0.0: 1660 | version "6.0.0" 1661 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" 1662 | integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== 1663 | dependencies: 1664 | ansi-regex "^5.0.0" 1665 | 1666 | styled-jsx@3.3.2: 1667 | version "3.3.2" 1668 | resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-3.3.2.tgz#2474601a26670a6049fb4d3f94bd91695b3ce018" 1669 | integrity sha512-daAkGd5mqhbBhLd6jYAjYBa9LpxYCzsgo/f6qzPdFxVB8yoGbhxvzQgkC0pfmCVvW3JuAEBn0UzFLBfkHVZG1g== 1670 | dependencies: 1671 | "@babel/types" "7.8.3" 1672 | babel-plugin-syntax-jsx "6.18.0" 1673 | convert-source-map "1.7.0" 1674 | loader-utils "1.2.3" 1675 | source-map "0.7.3" 1676 | string-hash "1.1.3" 1677 | stylis "3.5.4" 1678 | stylis-rule-sheet "0.0.10" 1679 | 1680 | stylis-rule-sheet@0.0.10: 1681 | version "0.0.10" 1682 | resolved "https://registry.yarnpkg.com/stylis-rule-sheet/-/stylis-rule-sheet-0.0.10.tgz#44e64a2b076643f4b52e5ff71efc04d8c3c4a430" 1683 | integrity sha512-nTbZoaqoBnmK+ptANthb10ZRZOGC+EmTLLUxeYIuHNkEKcmKgXX1XWKkUBT2Ac4es3NybooPe0SmvKdhKJZAuw== 1684 | 1685 | stylis@3.5.4: 1686 | version "3.5.4" 1687 | resolved "https://registry.yarnpkg.com/stylis/-/stylis-3.5.4.tgz#f665f25f5e299cf3d64654ab949a57c768b73fbe" 1688 | integrity sha512-8/3pSmthWM7lsPBKv7NXkzn2Uc9W7NotcwGNpJaa3k7WMM1XDCA4MgT5k/8BIexd5ydZdboXtU90XH9Ec4Bv/Q== 1689 | 1690 | supports-color@^5.3.0: 1691 | version "5.5.0" 1692 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1693 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1694 | dependencies: 1695 | has-flag "^3.0.0" 1696 | 1697 | supports-color@^6.1.0: 1698 | version "6.1.0" 1699 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" 1700 | integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== 1701 | dependencies: 1702 | has-flag "^3.0.0" 1703 | 1704 | supports-color@^7.1.0: 1705 | version "7.2.0" 1706 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1707 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1708 | dependencies: 1709 | has-flag "^4.0.0" 1710 | 1711 | supports-color@^8.0.0: 1712 | version "8.1.1" 1713 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 1714 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 1715 | dependencies: 1716 | has-flag "^4.0.0" 1717 | 1718 | timers-browserify@2.0.12, timers-browserify@^2.0.4: 1719 | version "2.0.12" 1720 | resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" 1721 | integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== 1722 | dependencies: 1723 | setimmediate "^1.0.4" 1724 | 1725 | to-arraybuffer@^1.0.0: 1726 | version "1.0.1" 1727 | resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" 1728 | integrity sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M= 1729 | 1730 | to-fast-properties@^2.0.0: 1731 | version "2.0.0" 1732 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1733 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 1734 | 1735 | to-regex-range@^5.0.1: 1736 | version "5.0.1" 1737 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1738 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1739 | dependencies: 1740 | is-number "^7.0.0" 1741 | 1742 | toidentifier@1.0.0: 1743 | version "1.0.0" 1744 | resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553" 1745 | integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw== 1746 | 1747 | tr46@^1.0.1: 1748 | version "1.0.1" 1749 | resolved "https://registry.yarnpkg.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09" 1750 | integrity sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk= 1751 | dependencies: 1752 | punycode "^2.1.0" 1753 | 1754 | ts-pnp@^1.1.6: 1755 | version "1.2.0" 1756 | resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" 1757 | integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== 1758 | 1759 | tty-browserify@0.0.0: 1760 | version "0.0.0" 1761 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6" 1762 | integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY= 1763 | 1764 | tty-browserify@0.0.1: 1765 | version "0.0.1" 1766 | resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" 1767 | integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== 1768 | 1769 | type-fest@^0.7.1: 1770 | version "0.7.1" 1771 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" 1772 | integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== 1773 | 1774 | unbox-primitive@^1.0.0: 1775 | version "1.0.1" 1776 | resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" 1777 | integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== 1778 | dependencies: 1779 | function-bind "^1.1.1" 1780 | has-bigints "^1.0.1" 1781 | has-symbols "^1.0.2" 1782 | which-boxed-primitive "^1.0.2" 1783 | 1784 | unpipe@1.0.0: 1785 | version "1.0.0" 1786 | resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" 1787 | integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= 1788 | 1789 | url@^0.11.0: 1790 | version "0.11.0" 1791 | resolved "https://registry.yarnpkg.com/url/-/url-0.11.0.tgz#3838e97cfc60521eb73c525a8e55bfdd9e2e28f1" 1792 | integrity sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE= 1793 | dependencies: 1794 | punycode "1.3.2" 1795 | querystring "0.2.0" 1796 | 1797 | use-subscription@1.5.1: 1798 | version "1.5.1" 1799 | resolved "https://registry.yarnpkg.com/use-subscription/-/use-subscription-1.5.1.tgz#73501107f02fad84c6dd57965beb0b75c68c42d1" 1800 | integrity sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA== 1801 | dependencies: 1802 | object-assign "^4.1.1" 1803 | 1804 | util-deprecate@^1.0.1, util-deprecate@~1.0.1: 1805 | version "1.0.2" 1806 | resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" 1807 | integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= 1808 | 1809 | util@0.10.3: 1810 | version "0.10.3" 1811 | resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" 1812 | integrity sha1-evsa/lCAUkZInj23/g7TeTNqwPk= 1813 | dependencies: 1814 | inherits "2.0.1" 1815 | 1816 | util@0.12.3, util@^0.12.0: 1817 | version "0.12.3" 1818 | resolved "https://registry.yarnpkg.com/util/-/util-0.12.3.tgz#971bb0292d2cc0c892dab7c6a5d37c2bec707888" 1819 | integrity sha512-I8XkoQwE+fPQEhy9v012V+TSdH2kp9ts29i20TaaDUXsg7x/onePbhFJUExBfv/2ay1ZOp/Vsm3nDlmnFGSAog== 1820 | dependencies: 1821 | inherits "^2.0.3" 1822 | is-arguments "^1.0.4" 1823 | is-generator-function "^1.0.7" 1824 | is-typed-array "^1.1.3" 1825 | safe-buffer "^5.1.2" 1826 | which-typed-array "^1.1.2" 1827 | 1828 | util@^0.11.0: 1829 | version "0.11.1" 1830 | resolved "https://registry.yarnpkg.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61" 1831 | integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ== 1832 | dependencies: 1833 | inherits "2.0.3" 1834 | 1835 | vm-browserify@1.1.2, vm-browserify@^1.0.1: 1836 | version "1.1.2" 1837 | resolved "https://registry.yarnpkg.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0" 1838 | integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ== 1839 | 1840 | watchpack@2.1.1: 1841 | version "2.1.1" 1842 | resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.1.1.tgz#e99630550fca07df9f90a06056987baa40a689c7" 1843 | integrity sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw== 1844 | dependencies: 1845 | glob-to-regexp "^0.4.1" 1846 | graceful-fs "^4.1.2" 1847 | 1848 | webidl-conversions@^4.0.2: 1849 | version "4.0.2" 1850 | resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" 1851 | integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== 1852 | 1853 | whatwg-url@^7.0.0: 1854 | version "7.1.0" 1855 | resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" 1856 | integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== 1857 | dependencies: 1858 | lodash.sortby "^4.7.0" 1859 | tr46 "^1.0.1" 1860 | webidl-conversions "^4.0.2" 1861 | 1862 | which-boxed-primitive@^1.0.2: 1863 | version "1.0.2" 1864 | resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" 1865 | integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== 1866 | dependencies: 1867 | is-bigint "^1.0.1" 1868 | is-boolean-object "^1.1.0" 1869 | is-number-object "^1.0.4" 1870 | is-string "^1.0.5" 1871 | is-symbol "^1.0.3" 1872 | 1873 | which-typed-array@^1.1.2: 1874 | version "1.1.4" 1875 | resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.4.tgz#8fcb7d3ee5adf2d771066fba7cf37e32fe8711ff" 1876 | integrity sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA== 1877 | dependencies: 1878 | available-typed-arrays "^1.0.2" 1879 | call-bind "^1.0.0" 1880 | es-abstract "^1.18.0-next.1" 1881 | foreach "^2.0.5" 1882 | function-bind "^1.1.1" 1883 | has-symbols "^1.0.1" 1884 | is-typed-array "^1.1.3" 1885 | 1886 | xtend@^4.0.0, xtend@^4.0.2: 1887 | version "4.0.2" 1888 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 1889 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 1890 | 1891 | yocto-queue@^0.1.0: 1892 | version "0.1.0" 1893 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 1894 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 1895 | --------------------------------------------------------------------------------