├── src ├── index.ts ├── typescript-prelude.ts ├── prelude.ts ├── cli.ts └── typescript-compiler.ts ├── babel.config.js ├── test ├── external │ └── is-hello.ts ├── tsconfig.json ├── exclude-hello.ts ├── omitFunctionKey.ts ├── exclude-hello.pr.ts ├── omitFunctionKey.pr.ts └── compile.js ├── .gitignore ├── postbuild.js ├── tsconfig.json ├── package.json ├── README.md ├── LICENSE └── yarn.lock /src/index.ts: -------------------------------------------------------------------------------- 1 | export {} -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: ["@babel/preset-typescript"] 3 | } -------------------------------------------------------------------------------- /test/external/is-hello.ts: -------------------------------------------------------------------------------- 1 | export type IsHello = 2 | T extends "hello" ? true : false -------------------------------------------------------------------------------- /test/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": ["esnext"] 4 | } 5 | } -------------------------------------------------------------------------------- /test/exclude-hello.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devanshj/prakaar/HEAD/test/exclude-hello.ts -------------------------------------------------------------------------------- /test/omitFunctionKey.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/devanshj/prakaar/HEAD/test/omitFunctionKey.ts -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | 3 | # preconstruct creates these 4 | /dist 5 | /cli 6 | /prelude 7 | /typescript-compiler 8 | /typescript-prelude -------------------------------------------------------------------------------- /postbuild.js: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | 3 | const fs = require("fs") 4 | const file = __dirname + "/cli/dist/prakaar-cli.cjs.js" 5 | 6 | fs.writeFileSync(file, "#!/usr/bin/env node\n\n" + fs.readFileSync(file)) -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2016", 4 | "module": "commonjs", 5 | "esModuleInterop": true, 6 | "strict": true, 7 | "noImplicitAny": true, 8 | "exactOptionalPropertyTypes": true, 9 | "noUncheckedIndexedAccess": true 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /test/exclude-hello.pr.ts: -------------------------------------------------------------------------------- 1 | import { Type, U, B, p, t } from "../src/prelude" 2 | import { IsHello } from "./external/is-hello" 3 | 4 | export let ExcludeHello = (x: Type) => 5 | p(x, U.filter(x => 6 | B.not(t>()) 7 | )) 8 | 9 | let test = 10 | ExcludeHello(t<"hello" | "world" | "prakaar">()) -------------------------------------------------------------------------------- /test/omitFunctionKey.pr.ts: -------------------------------------------------------------------------------- 1 | import { Type, O, U, B, T, p, t } from "../src/prelude" 2 | 3 | export let omitFunctionKey = (t: Type) => 4 | O.create( 5 | p( 6 | O.key(t), 7 | U.filter(k => 8 | B.not(T.isSubtype(O.get(t, k), T.function)) 9 | ) 10 | ), 11 | k => O.get(t, k) 12 | ) 13 | 14 | let test = omitFunctionKey(t<{ 15 | a: string, 16 | b: number, 17 | c: (_: { x: string }) => number, 18 | d: () => void 19 | }>()) -------------------------------------------------------------------------------- /src/typescript-prelude.ts: -------------------------------------------------------------------------------- 1 | export namespace O { 2 | export type get = k extends keyof o ? o[k] : never 3 | export type key = keyof o 4 | } 5 | 6 | export namespace U { 7 | 8 | } 9 | 10 | export namespace T { 11 | export type function_ = (...a: never[]) => unknown 12 | export type isSubtype = a extends b ? true : false 13 | export type cast = a extends b ? a : b 14 | } 15 | 16 | export namespace B { 17 | export type not = 18 | t extends true ? false : 19 | t extends false ? true : 20 | boolean 21 | } 22 | -------------------------------------------------------------------------------- /src/prelude.ts: -------------------------------------------------------------------------------- 1 | export interface Type 2 | { readonly _: unique symbol } 3 | 4 | export declare const O: O 5 | interface O { 6 | get: (o: Type, k: Type) => Type 7 | key: (o: Type) => Type 8 | create: (k: Type, v: (k: Type) => Type) => Type 9 | } 10 | 11 | export declare const T: T 12 | interface T { 13 | function: Type 14 | isSubtype: (a: Type, b:Type) => Type 15 | } 16 | 17 | export declare const U: U 18 | interface U { 19 | filter: (f: (t: Type) => Type) => (t: Type) => Type 20 | } 21 | 22 | export declare const B: B 23 | interface B { 24 | not: (t: Type) => Type 25 | } 26 | 27 | export declare const t: 28 | () => Type 29 | 30 | export declare const p: 31 | (a: Type, ...fs: ((t: Type) => Type)[]) => Type 32 | -------------------------------------------------------------------------------- /test/compile.js: -------------------------------------------------------------------------------- 1 | // @ts-check 2 | const childProcess = require("child_process") 3 | const fs = require("fs/promises") 4 | const { promisify } = require("util") 5 | const exec = promisify(childProcess.exec) 6 | const os = require("os") 7 | 8 | ;(!process.argv[2] 9 | ? fs.readdir(__dirname) 10 | .then(fs => fs.filter(f => f.endsWith(".pr.ts"))) 11 | : Promise.resolve([process.argv[2]]) 12 | ) 13 | .then(fs => 14 | fs.map(f => exec( 15 | `cat ${f} ` + 16 | `| ts-node-transpile-only ../src/cli ` + 17 | `--preludePath "../src/prelude" ` + 18 | `--typescriptPreludePath "../src/typescript-prelude" ` + 19 | `> ${f.replace(".pr.ts", ".ts")}`, 20 | { cwd: __dirname, shell: os.platform() === "win32" ? "powershell" : undefined } 21 | )) 22 | ) -------------------------------------------------------------------------------- /src/cli.ts: -------------------------------------------------------------------------------- 1 | import compile from "./typescript-compiler" 2 | 3 | const main = async () => { 4 | const input = await (async () => { 5 | if (process.stdin.isTTY) return Buffer.alloc(0).toString() 6 | 7 | let result = [] 8 | let length = 0 9 | for await (const chunk of process.stdin) { 10 | result.push(chunk) 11 | length += chunk.length 12 | } 13 | return Buffer.concat(result, length).toString() 14 | })() 15 | 16 | if (input === "" || process.argv.includes("--help")) { 17 | process.stdout.write("cat foo.pr.ts | prakaar > foo.ts\n") 18 | return 19 | } 20 | 21 | let output = compile(input, { 22 | preludePath: arg("preludePath"), 23 | typescriptPreludePath: arg("typescriptPreludePath") 24 | }) 25 | process.stdout.write(output) 26 | } 27 | 28 | const arg = (name: string) => 29 | process.argv.find((_, i, as) => as[i-1] === "--" + name) 30 | 31 | main() -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "prakaar", 3 | "version": "0.0.5", 4 | "description": "A type programming language", 5 | "main": "dist/prakaar.cjs.js", 6 | "bin": "cli/dist/prakaar-cli.cjs.js", 7 | "license": "AGPL-3.0", 8 | "author": { 9 | "name": "Devansh Jethmalani", 10 | "email": "jethmalani.devansh@gmail.com" 11 | }, 12 | "readme": "https://github.com/devanshj/prakaar/tree/main/README.md", 13 | "repository": { 14 | "type": "git", 15 | "url": "git+https://github.com/devanshj/prakaar.git" 16 | }, 17 | "dependencies": { 18 | "@babel/core": "^7.19.0", 19 | "zod": "^3.19.0" 20 | }, 21 | "devDependencies": { 22 | "@babel/preset-typescript": "^7.18.6", 23 | "@preconstruct/cli": "^2.2.1", 24 | "@types/babel__core": "^7.1.19", 25 | "typescript": "^4.8.2" 26 | }, 27 | "preconstruct": { 28 | "entrypoints": [ 29 | "index.ts", 30 | "cli.ts", 31 | "prelude.ts", 32 | "typescript-compiler.ts", 33 | "typescript-prelude.ts" 34 | ] 35 | }, 36 | "scripts": { 37 | "build": "preconstruct build", 38 | "postbuild": "node postbuild.js" 39 | }, 40 | "files": [ 41 | "dist", 42 | "cli", 43 | "prelude", 44 | "typescript-compiler", 45 | "typescript-prelude", 46 | "README.md", 47 | "LICENSE" 48 | ] 49 | } 50 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Prakaar 2 | 3 | Prakaar (hindi for "type") is a type programming language which compiles to and interops with type-level TypeScript. Prakaar itself is also a subset of TypeScript. See [this twitter thread](https://twitter.com/devanshj__/status/1568309131643355141) for an introduction. 4 | 5 | You can install it via `npm i -g prakaar`. And use it via cli with `cat foo.pr.ts | prakaar > foo.ts`. Or programmatically with the `prakaar/typescript-compiler` module. 6 | 7 | Currently, this is just a proof-of-concept and made for fun. But it probably could have a use-case as it does make type-level TypeScript way more accessible. 8 | 9 | Feel free to open an issue for questions or feedback. 10 | 11 | ## Basic example 12 | 13 | ```ts 14 | // ------------------------- 15 | // ./foo.pr.ts 16 | 17 | import { Type, O, U, B, T, p, t } from "prakaar/prelude" 18 | 19 | export let omitFunctionKey = (t: Type) => 20 | O.create( 21 | p( 22 | O.key(t), 23 | U.filter(k => 24 | B.not(T.isSubtype(O.get(t, k), T.function)) 25 | ) 26 | ), 27 | k => O.get(t, k) 28 | ) 29 | 30 | let test = omitFunctionKey(t<{ 31 | a: string, 32 | b: number, 33 | c: (_: { x: string }) => number, 34 | d: () => void 35 | }>()) 36 | 37 | 38 | // ------------------------- 39 | // ./foo.ts (compiled) 40 | 41 | import { T, U, O, B } from "prakaar/typescript-prelude" 42 | 43 | export type omitFunctionKey = 44 | { [_k in T.cast<( 45 | [O.key] extends [infer _a0] ? 46 | [( 47 | [_a0] extends [infer k] ? 48 | k extends unknown ? 49 | (B.not, T.function_>>) extends true ? 50 | k : never : never : never 51 | )] extends [infer _a1] ? 52 | _a1 : never : never 53 | ), keyof any>]: 54 | [_k] extends [infer k] ? 55 | O.get : never 56 | } 57 | 58 | type test = 59 | omitFunctionKey<{ 60 | a: string, 61 | b: number, 62 | c: (_: { x: string }) => number, 63 | d: () => void 64 | }> 65 | ``` 66 | 67 | ## Interop example 68 | 69 | ```ts 70 | // ------------------------- 71 | // ./exclude-hello.pr.ts 72 | 73 | import { Type, U, B, p, t } from "../src/prelude" 74 | import { IsHello } from "./external/is-hello" 75 | 76 | export let ExcludeHello = (x: Type) => 77 | p(x, U.filter(x => 78 | B.not(t>()) 79 | )) 80 | 81 | 82 | // ------------------------- 83 | // ./exclude-hello.ts (compiled) 84 | 85 | import { T, U, O, B } from "../src/typescript-prelude" 86 | import { IsHello } from "./external/is-hello" 87 | 88 | export type ExcludeHello = 89 | [x] extends [infer _a0] ? 90 | [( 91 | [_a0] extends [infer x] ? 92 | x extends unknown ? 93 | ([x] extends [infer x] ? 94 | B.not> : never) extends true ? 95 | x : never : never : never 96 | )] extends [infer _a1] ? 97 | _a1 : never : never 98 | 99 | 100 | // ------------------------- 101 | // ./is-hello.ts 102 | 103 | export type IsHello = 104 | T extends "hello" ? true : false 105 | 106 | 107 | // ------------------------- 108 | // ./test.ts 109 | 110 | import { ExcludeHello } from "./exclude-hello.ts" 111 | 112 | type Test = 113 | ExcludeHello<"hello" | "world" | "prakaar"> 114 | ``` 115 | 116 | ## Future 117 | 118 | - Currently the code is really shabby because I just wanted to make a POC. I might rewrite it in PureScript (if I can make good bindings for babel). 119 | 120 | - The prelude currently only contains the functions used in the readme examples. After I rewrite this I'd gradually add and implement more prelude functions (and more features in general). 121 | 122 | - Optimizations. Eg, `omitFunctionKey` in above output can be optimized to something like this... 123 | 124 | ```ts 125 | export type omitFunctionKey = 126 | { [k in ( 127 | keyof t extends infer p ? 128 | p extends unknown ? 129 | t[p & keyof t] extends ((...a: never[]) => unknown) 130 | ? never 131 | : p & keyof t 132 | : never : never 133 | )]: 134 | t[k] 135 | } 136 | ``` 137 | -------------------------------------------------------------------------------- /src/typescript-compiler.ts: -------------------------------------------------------------------------------- 1 | import { parseSync as parse, traverse, types as bt } from "@babel/core" 2 | import t from "zod" 3 | 4 | type Compile = 5 | (source: string, options?: CompileOptions) => string 6 | 7 | interface CompileOptions 8 | { preludePath?: string | undefined 9 | , typescriptPreludePath?: string | undefined 10 | } 11 | 12 | const compile: Compile = (source, options) => { 13 | let ast = parse(source, { 14 | parserOpts: { plugins: ["typescript"] }, 15 | filename: "source.ts" 16 | })! 17 | preprocess(ast, source) 18 | 19 | let root = l(ast, ast => t.object({ 20 | program: t.object({ 21 | type: t.literal("Program"), 22 | body: t.array( 23 | (declaration => 24 | t.union([ 25 | t.any().refine(bt.isImportDeclaration), 26 | t.object({ 27 | type: t.literal("ExportNamedDeclaration"), 28 | declaration 29 | }), 30 | declaration 31 | ]) 32 | )(t.object({ 33 | type: t.literal("VariableDeclaration"), 34 | declarations: t.tuple([ 35 | t.object({ 36 | type: t.literal("VariableDeclarator"), 37 | id: t.any().refine(bt.isIdentifier), 38 | init: t.any().refine(bt.isExpression) 39 | }) 40 | ]) 41 | })) 42 | ).nonempty() 43 | }) 44 | }).parse(ast)) 45 | 46 | let preludePath = options?.preludePath ?? "prakaar/prelude" 47 | let typescriptPreludePath = options?.typescriptPreludePath ?? "prakaar/typescript-prelude" 48 | 49 | return ( 50 | root.program.body 51 | .filter((d): d is Extract => 52 | bt.isImportDeclaration(d) 53 | ) 54 | .map(d => 55 | d.source.value === preludePath 56 | ? `import { T, U, O, B } from "${typescriptPreludePath}"` 57 | : source.slice(d.start!, d.end!) 58 | ).join("\n") + "\n\n" + 59 | root.program.body 60 | .filter((d): d is Exclude => 61 | !bt.isImportDeclaration(d) 62 | ) 63 | .map(d => tu([ 64 | d.type === "ExportNamedDeclaration" 65 | ? d.declaration.declarations[0] 66 | : d.declarations[0], 67 | d.type === "ExportNamedDeclaration" 68 | ])) 69 | .map(([d, isExported]) => 70 | (isExported ? "export " : "") + 71 | `type ${d.id.name}` + ( 72 | bt.isArrowFunctionExpression(d.init) 73 | ? (pIds => 74 | "<" + pIds.join(", ") + "> =\n" + 75 | indent(" ", transform( 76 | parseAs(bt.isExpression, d.init.body), 77 | { identifiersInScope: pIds, source } 78 | )) 79 | )(d.init.params.map(n => parseAs(bt.isIdentifier, n).name)) 80 | : " =\n" + indent(" ", transform(d.init, { identifiersInScope: [], source })) 81 | ) 82 | ) 83 | .join("\n\n") 84 | ) 85 | } 86 | export default compile 87 | 88 | type Preprocess = 89 | (n: bt.File, source: string) => void 90 | 91 | const preprocess: Preprocess = (n, source) => { 92 | traverse(n, { 93 | CallExpression: p => { 94 | let nParsed = t.object({ 95 | callee: t.object({ 96 | type: t.literal("Identifier"), 97 | name: t.literal("t") 98 | }), 99 | typeParameters: t.object({ 100 | type: t.literal("TSTypeParameterInstantiation"), 101 | params: t.tuple([t.any().refine(bt.isTSTypeReference)]) 102 | }) 103 | }).safeParse(p.node) 104 | if (!nParsed.success) return 105 | let n = nParsed.data.typeParameters.params[0] 106 | 107 | p.replaceWithSourceString( 108 | source.slice(n.start!, n.end!) 109 | .replace("<", "(") 110 | .replace(">", ")") 111 | .replace(/typeof/g, "") 112 | ) 113 | } 114 | }) 115 | } 116 | 117 | 118 | type Transform = 119 | (n: bt.Expression, ctx: TransformContext) => string 120 | 121 | interface TransformContext 122 | { identifiersInScope: string[] 123 | , source: string 124 | } 125 | 126 | const transform: Transform = (n, ctx) => { 127 | if (bt.isIdentifier(n)) { 128 | return n.name 129 | } 130 | 131 | if (bt.isMemberExpression(n)) { 132 | let id = ( 133 | parseAs(bt.isIdentifier, n.object).name + "." + 134 | parseAs(bt.isIdentifier, n.property).name 135 | ) 136 | if (id === "T.function") return "T.function_" 137 | return id 138 | } 139 | 140 | if (bt.isCallExpression(n)) { 141 | if (bt.isMemberExpression(n.callee) || bt.isIdentifier(n.callee)) { 142 | let id = 143 | bt.isMemberExpression(n.callee) 144 | ? parseAs(bt.isIdentifier, n.callee.object).name + "." + 145 | parseAs(bt.isIdentifier, n.callee.property).name 146 | : n.callee.name 147 | 148 | let as = 149 | n.arguments 150 | .map(n => parseAs(bt.isExpression, n)) 151 | 152 | if (id === "t") return ctx.source.slice( 153 | n.typeParameters!.params[0]!.start!, 154 | n.typeParameters!.params[0]!.end! 155 | ) 156 | 157 | if (id === "O.create") return Macros["O.create"]( 158 | parseAs(bt.isExpression, as[0]), 159 | parseAs(bt.isExpression, as[1]) 160 | )(ctx) 161 | 162 | if (id === "p") return Macros.p( 163 | parseAs(bt.isExpression, as[0]), 164 | ...as.slice(1) 165 | )(ctx) 166 | 167 | return `${id}<${as.map(n => transform(n, ctx)).join(", ")}>` 168 | } 169 | 170 | if (bt.isArrowFunctionExpression(n.callee)) { 171 | let pIds = n.callee.params.map(id => parseAs(bt.isIdentifier, id).name) 172 | 173 | let as = 174 | n.arguments 175 | .map(n => parseAs(bt.isExpression, n)) 176 | 177 | t.literal(pIds.length).parse(as.length) 178 | 179 | return ( 180 | as.map((a, i) => 181 | `[${transform(a, ctx)}] extends [infer ${pIds[i]}] ?` 182 | ).join("\n") + "\n" + 183 | transform(parseAs(bt.isExpression, n.callee.body), ctx) + 184 | " : never".repeat(as.length) 185 | ) 186 | } 187 | 188 | if (bt.isCallExpression(n.callee)) { 189 | if (bt.isMemberExpression(n.callee.callee) || bt.isIdentifier(n.callee.callee)) { 190 | let id = 191 | bt.isMemberExpression(n.callee.callee) 192 | ? parseAs(bt.isIdentifier, n.callee.callee.object).name + "." + 193 | parseAs(bt.isIdentifier, n.callee.callee.property).name 194 | : n.callee.callee.name 195 | 196 | if (id === "U.filter") return ( 197 | Macros["U.filter"] 198 | (parseAs(bt.isArrowFunctionExpression, n.callee.arguments[0])) 199 | (parseAs(bt.isExpression, n.arguments[0])) 200 | (ctx) 201 | ) 202 | } 203 | } 204 | } 205 | 206 | throw new Error(`Can't transform node at ${loc(n)}`) 207 | } 208 | 209 | const Macros = { 210 | "O.create": (k: bt.Expression, f: bt.Expression) => (ctx: TransformContext) => 211 | l(tempId("_k", ctx), ([kId, ctx]) => 212 | `{ [${kId} in T.cast<(\n` + 213 | indent(" ", transform(k, ctx)) + "\n" + 214 | " ), keyof any>]:" + "\n" + 215 | indent(" ", transform( 216 | bt.callExpression(f, [bt.identifier(kId)]), 217 | ctx 218 | )) + "\n" + 219 | `}` 220 | ), 221 | 222 | "U.filter": (f: bt.ArrowFunctionExpression) => (a: bt.Expression) => (ctx: TransformContext) => 223 | l(parseAs(bt.isIdentifier, f.params[0]!).name, aId => 224 | "(" + "\n" + 225 | indent(" ", 226 | `[${transform(a, ctx)}] extends [infer ${aId}] ?` + "\n" + 227 | `${aId} extends unknown ?` + "\n" + 228 | `(${transform(bt.callExpression(f, [bt.identifier(aId)]), ctx)}) extends true ?\n` + 229 | `${aId} : never : never : never` 230 | ) + "\n" + 231 | ")" 232 | ), 233 | 234 | p: (a: bt.Expression, ...fs: bt.Expression[])=> (ctx0: TransformContext) => { 235 | let [ids, ctx1] = 236 | [a, ...fs] 237 | .reduce(([ids, ctx], _, i) => 238 | l( 239 | tempId("_a" + i, ctx), 240 | ([id, ctx]) => tu([[...ids, id], ctx]) 241 | ), 242 | [[], ctx0] as [string[], TransformContext] 243 | ) 244 | 245 | return ( 246 | ids.map((id, i, ids) => 247 | i === 0 ? `[${transform(a, ctx1)}] extends [infer ${id}] ? ` : 248 | `[${ 249 | transform( 250 | bt.callExpression(fs[i-1]!, [bt.identifier(ids[i-1]!)]), 251 | ctx1 252 | ) 253 | }] extends [infer ${id}] ? ` 254 | ).join("\n") + "\n" + 255 | ids.slice(-1)[0]! + " : never".repeat(ids.length) 256 | ) 257 | } 258 | } 259 | 260 | const tempId = (id: string, ctx: TransformContext): [string, TransformContext] => 261 | ctx.identifiersInScope.includes(id) 262 | ? tempId( 263 | l(id.match(/_(.*)_(\d+)/), m => 264 | m ? ("_" + m[1] + "_" + (Number(m[2]) + 1)) 265 | : (id + "_1") 266 | ), 267 | ctx 268 | ) 269 | : [id, { ...ctx, identifiersInScope: [...ctx.identifiersInScope, id] }] 270 | 271 | const parseAs = (f: (n: {}) => n is N, n: bt.Node | undefined) => 272 | t.any().refine(f).parse(n) 273 | 274 | const loc = (node: bt.Node) => { 275 | if (!node) return ":" 276 | let start = node.loc?.start 277 | if (!start) return ":" 278 | return start.line + ":" + start.column; 279 | } 280 | 281 | const indent = (t: string, x: string) => 282 | x.split("\n").map(l => t + l).join("\n") 283 | 284 | const l = (a: A, f: (a: A) => R) => f(a) 285 | const tu = (t: [...T]) => t 286 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | GNU AFFERO GENERAL PUBLIC LICENSE 2 | Version 3, 19 November 2007 3 | 4 | Copyright (C) 2007 Free Software Foundation, Inc. 5 | Everyone is permitted to copy and distribute verbatim copies 6 | of this license document, but changing it is not allowed. 7 | 8 | Preamble 9 | 10 | The GNU Affero General Public License is a free, copyleft license for 11 | software and other kinds of works, specifically designed to ensure 12 | cooperation with the community in the case of network server software. 13 | 14 | The licenses for most software and other practical works are designed 15 | to take away your freedom to share and change the works. By contrast, 16 | our General Public Licenses are intended to guarantee your freedom to 17 | share and change all versions of a program--to make sure it remains free 18 | software for all its users. 19 | 20 | When we speak of free software, we are referring to freedom, not 21 | price. Our General Public Licenses are designed to make sure that you 22 | have the freedom to distribute copies of free software (and charge for 23 | them if you wish), that you receive source code or can get it if you 24 | want it, that you can change the software or use pieces of it in new 25 | free programs, and that you know you can do these things. 26 | 27 | Developers that use our General Public Licenses protect your rights 28 | with two steps: (1) assert copyright on the software, and (2) offer 29 | you this License which gives you legal permission to copy, distribute 30 | and/or modify the software. 31 | 32 | A secondary benefit of defending all users' freedom is that 33 | improvements made in alternate versions of the program, if they 34 | receive widespread use, become available for other developers to 35 | incorporate. Many developers of free software are heartened and 36 | encouraged by the resulting cooperation. However, in the case of 37 | software used on network servers, this result may fail to come about. 38 | The GNU General Public License permits making a modified version and 39 | letting the public access it on a server without ever releasing its 40 | source code to the public. 41 | 42 | The GNU Affero General Public License is designed specifically to 43 | ensure that, in such cases, the modified source code becomes available 44 | to the community. It requires the operator of a network server to 45 | provide the source code of the modified version running there to the 46 | users of that server. Therefore, public use of a modified version, on 47 | a publicly accessible server, gives the public access to the source 48 | code of the modified version. 49 | 50 | An older license, called the Affero General Public License and 51 | published by Affero, was designed to accomplish similar goals. This is 52 | a different license, not a version of the Affero GPL, but Affero has 53 | released a new version of the Affero GPL which permits relicensing under 54 | this license. 55 | 56 | The precise terms and conditions for copying, distribution and 57 | modification follow. 58 | 59 | TERMS AND CONDITIONS 60 | 61 | 0. Definitions. 62 | 63 | "This License" refers to version 3 of the GNU Affero General Public License. 64 | 65 | "Copyright" also means copyright-like laws that apply to other kinds of 66 | works, such as semiconductor masks. 67 | 68 | "The Program" refers to any copyrightable work licensed under this 69 | License. Each licensee is addressed as "you". "Licensees" and 70 | "recipients" may be individuals or organizations. 71 | 72 | To "modify" a work means to copy from or adapt all or part of the work 73 | in a fashion requiring copyright permission, other than the making of an 74 | exact copy. The resulting work is called a "modified version" of the 75 | earlier work or a work "based on" the earlier work. 76 | 77 | A "covered work" means either the unmodified Program or a work based 78 | on the Program. 79 | 80 | To "propagate" a work means to do anything with it that, without 81 | permission, would make you directly or secondarily liable for 82 | infringement under applicable copyright law, except executing it on a 83 | computer or modifying a private copy. Propagation includes copying, 84 | distribution (with or without modification), making available to the 85 | public, and in some countries other activities as well. 86 | 87 | To "convey" a work means any kind of propagation that enables other 88 | parties to make or receive copies. Mere interaction with a user through 89 | a computer network, with no transfer of a copy, is not conveying. 90 | 91 | An interactive user interface displays "Appropriate Legal Notices" 92 | to the extent that it includes a convenient and prominently visible 93 | feature that (1) displays an appropriate copyright notice, and (2) 94 | tells the user that there is no warranty for the work (except to the 95 | extent that warranties are provided), that licensees may convey the 96 | work under this License, and how to view a copy of this License. If 97 | the interface presents a list of user commands or options, such as a 98 | menu, a prominent item in the list meets this criterion. 99 | 100 | 1. Source Code. 101 | 102 | The "source code" for a work means the preferred form of the work 103 | for making modifications to it. "Object code" means any non-source 104 | form of a work. 105 | 106 | A "Standard Interface" means an interface that either is an official 107 | standard defined by a recognized standards body, or, in the case of 108 | interfaces specified for a particular programming language, one that 109 | is widely used among developers working in that language. 110 | 111 | The "System Libraries" of an executable work include anything, other 112 | than the work as a whole, that (a) is included in the normal form of 113 | packaging a Major Component, but which is not part of that Major 114 | Component, and (b) serves only to enable use of the work with that 115 | Major Component, or to implement a Standard Interface for which an 116 | implementation is available to the public in source code form. A 117 | "Major Component", in this context, means a major essential component 118 | (kernel, window system, and so on) of the specific operating system 119 | (if any) on which the executable work runs, or a compiler used to 120 | produce the work, or an object code interpreter used to run it. 121 | 122 | The "Corresponding Source" for a work in object code form means all 123 | the source code needed to generate, install, and (for an executable 124 | work) run the object code and to modify the work, including scripts to 125 | control those activities. However, it does not include the work's 126 | System Libraries, or general-purpose tools or generally available free 127 | programs which are used unmodified in performing those activities but 128 | which are not part of the work. For example, Corresponding Source 129 | includes interface definition files associated with source files for 130 | the work, and the source code for shared libraries and dynamically 131 | linked subprograms that the work is specifically designed to require, 132 | such as by intimate data communication or control flow between those 133 | subprograms and other parts of the work. 134 | 135 | The Corresponding Source need not include anything that users 136 | can regenerate automatically from other parts of the Corresponding 137 | Source. 138 | 139 | The Corresponding Source for a work in source code form is that 140 | same work. 141 | 142 | 2. Basic Permissions. 143 | 144 | All rights granted under this License are granted for the term of 145 | copyright on the Program, and are irrevocable provided the stated 146 | conditions are met. This License explicitly affirms your unlimited 147 | permission to run the unmodified Program. The output from running a 148 | covered work is covered by this License only if the output, given its 149 | content, constitutes a covered work. This License acknowledges your 150 | rights of fair use or other equivalent, as provided by copyright law. 151 | 152 | You may make, run and propagate covered works that you do not 153 | convey, without conditions so long as your license otherwise remains 154 | in force. You may convey covered works to others for the sole purpose 155 | of having them make modifications exclusively for you, or provide you 156 | with facilities for running those works, provided that you comply with 157 | the terms of this License in conveying all material for which you do 158 | not control copyright. Those thus making or running the covered works 159 | for you must do so exclusively on your behalf, under your direction 160 | and control, on terms that prohibit them from making any copies of 161 | your copyrighted material outside their relationship with you. 162 | 163 | Conveying under any other circumstances is permitted solely under 164 | the conditions stated below. Sublicensing is not allowed; section 10 165 | makes it unnecessary. 166 | 167 | 3. Protecting Users' Legal Rights From Anti-Circumvention Law. 168 | 169 | No covered work shall be deemed part of an effective technological 170 | measure under any applicable law fulfilling obligations under article 171 | 11 of the WIPO copyright treaty adopted on 20 December 1996, or 172 | similar laws prohibiting or restricting circumvention of such 173 | measures. 174 | 175 | When you convey a covered work, you waive any legal power to forbid 176 | circumvention of technological measures to the extent such circumvention 177 | is effected by exercising rights under this License with respect to 178 | the covered work, and you disclaim any intention to limit operation or 179 | modification of the work as a means of enforcing, against the work's 180 | users, your or third parties' legal rights to forbid circumvention of 181 | technological measures. 182 | 183 | 4. Conveying Verbatim Copies. 184 | 185 | You may convey verbatim copies of the Program's source code as you 186 | receive it, in any medium, provided that you conspicuously and 187 | appropriately publish on each copy an appropriate copyright notice; 188 | keep intact all notices stating that this License and any 189 | non-permissive terms added in accord with section 7 apply to the code; 190 | keep intact all notices of the absence of any warranty; and give all 191 | recipients a copy of this License along with the Program. 192 | 193 | You may charge any price or no price for each copy that you convey, 194 | and you may offer support or warranty protection for a fee. 195 | 196 | 5. Conveying Modified Source Versions. 197 | 198 | You may convey a work based on the Program, or the modifications to 199 | produce it from the Program, in the form of source code under the 200 | terms of section 4, provided that you also meet all of these conditions: 201 | 202 | a) The work must carry prominent notices stating that you modified 203 | it, and giving a relevant date. 204 | 205 | b) The work must carry prominent notices stating that it is 206 | released under this License and any conditions added under section 207 | 7. This requirement modifies the requirement in section 4 to 208 | "keep intact all notices". 209 | 210 | c) You must license the entire work, as a whole, under this 211 | License to anyone who comes into possession of a copy. This 212 | License will therefore apply, along with any applicable section 7 213 | additional terms, to the whole of the work, and all its parts, 214 | regardless of how they are packaged. This License gives no 215 | permission to license the work in any other way, but it does not 216 | invalidate such permission if you have separately received it. 217 | 218 | d) If the work has interactive user interfaces, each must display 219 | Appropriate Legal Notices; however, if the Program has interactive 220 | interfaces that do not display Appropriate Legal Notices, your 221 | work need not make them do so. 222 | 223 | A compilation of a covered work with other separate and independent 224 | works, which are not by their nature extensions of the covered work, 225 | and which are not combined with it such as to form a larger program, 226 | in or on a volume of a storage or distribution medium, is called an 227 | "aggregate" if the compilation and its resulting copyright are not 228 | used to limit the access or legal rights of the compilation's users 229 | beyond what the individual works permit. Inclusion of a covered work 230 | in an aggregate does not cause this License to apply to the other 231 | parts of the aggregate. 232 | 233 | 6. Conveying Non-Source Forms. 234 | 235 | You may convey a covered work in object code form under the terms 236 | of sections 4 and 5, provided that you also convey the 237 | machine-readable Corresponding Source under the terms of this License, 238 | in one of these ways: 239 | 240 | a) Convey the object code in, or embodied in, a physical product 241 | (including a physical distribution medium), accompanied by the 242 | Corresponding Source fixed on a durable physical medium 243 | customarily used for software interchange. 244 | 245 | b) Convey the object code in, or embodied in, a physical product 246 | (including a physical distribution medium), accompanied by a 247 | written offer, valid for at least three years and valid for as 248 | long as you offer spare parts or customer support for that product 249 | model, to give anyone who possesses the object code either (1) a 250 | copy of the Corresponding Source for all the software in the 251 | product that is covered by this License, on a durable physical 252 | medium customarily used for software interchange, for a price no 253 | more than your reasonable cost of physically performing this 254 | conveying of source, or (2) access to copy the 255 | Corresponding Source from a network server at no charge. 256 | 257 | c) Convey individual copies of the object code with a copy of the 258 | written offer to provide the Corresponding Source. This 259 | alternative is allowed only occasionally and noncommercially, and 260 | only if you received the object code with such an offer, in accord 261 | with subsection 6b. 262 | 263 | d) Convey the object code by offering access from a designated 264 | place (gratis or for a charge), and offer equivalent access to the 265 | Corresponding Source in the same way through the same place at no 266 | further charge. You need not require recipients to copy the 267 | Corresponding Source along with the object code. If the place to 268 | copy the object code is a network server, the Corresponding Source 269 | may be on a different server (operated by you or a third party) 270 | that supports equivalent copying facilities, provided you maintain 271 | clear directions next to the object code saying where to find the 272 | Corresponding Source. Regardless of what server hosts the 273 | Corresponding Source, you remain obligated to ensure that it is 274 | available for as long as needed to satisfy these requirements. 275 | 276 | e) Convey the object code using peer-to-peer transmission, provided 277 | you inform other peers where the object code and Corresponding 278 | Source of the work are being offered to the general public at no 279 | charge under subsection 6d. 280 | 281 | A separable portion of the object code, whose source code is excluded 282 | from the Corresponding Source as a System Library, need not be 283 | included in conveying the object code work. 284 | 285 | A "User Product" is either (1) a "consumer product", which means any 286 | tangible personal property which is normally used for personal, family, 287 | or household purposes, or (2) anything designed or sold for incorporation 288 | into a dwelling. In determining whether a product is a consumer product, 289 | doubtful cases shall be resolved in favor of coverage. For a particular 290 | product received by a particular user, "normally used" refers to a 291 | typical or common use of that class of product, regardless of the status 292 | of the particular user or of the way in which the particular user 293 | actually uses, or expects or is expected to use, the product. A product 294 | is a consumer product regardless of whether the product has substantial 295 | commercial, industrial or non-consumer uses, unless such uses represent 296 | the only significant mode of use of the product. 297 | 298 | "Installation Information" for a User Product means any methods, 299 | procedures, authorization keys, or other information required to install 300 | and execute modified versions of a covered work in that User Product from 301 | a modified version of its Corresponding Source. The information must 302 | suffice to ensure that the continued functioning of the modified object 303 | code is in no case prevented or interfered with solely because 304 | modification has been made. 305 | 306 | If you convey an object code work under this section in, or with, or 307 | specifically for use in, a User Product, and the conveying occurs as 308 | part of a transaction in which the right of possession and use of the 309 | User Product is transferred to the recipient in perpetuity or for a 310 | fixed term (regardless of how the transaction is characterized), the 311 | Corresponding Source conveyed under this section must be accompanied 312 | by the Installation Information. But this requirement does not apply 313 | if neither you nor any third party retains the ability to install 314 | modified object code on the User Product (for example, the work has 315 | been installed in ROM). 316 | 317 | The requirement to provide Installation Information does not include a 318 | requirement to continue to provide support service, warranty, or updates 319 | for a work that has been modified or installed by the recipient, or for 320 | the User Product in which it has been modified or installed. Access to a 321 | network may be denied when the modification itself materially and 322 | adversely affects the operation of the network or violates the rules and 323 | protocols for communication across the network. 324 | 325 | Corresponding Source conveyed, and Installation Information provided, 326 | in accord with this section must be in a format that is publicly 327 | documented (and with an implementation available to the public in 328 | source code form), and must require no special password or key for 329 | unpacking, reading or copying. 330 | 331 | 7. Additional Terms. 332 | 333 | "Additional permissions" are terms that supplement the terms of this 334 | License by making exceptions from one or more of its conditions. 335 | Additional permissions that are applicable to the entire Program shall 336 | be treated as though they were included in this License, to the extent 337 | that they are valid under applicable law. If additional permissions 338 | apply only to part of the Program, that part may be used separately 339 | under those permissions, but the entire Program remains governed by 340 | this License without regard to the additional permissions. 341 | 342 | When you convey a copy of a covered work, you may at your option 343 | remove any additional permissions from that copy, or from any part of 344 | it. (Additional permissions may be written to require their own 345 | removal in certain cases when you modify the work.) You may place 346 | additional permissions on material, added by you to a covered work, 347 | for which you have or can give appropriate copyright permission. 348 | 349 | Notwithstanding any other provision of this License, for material you 350 | add to a covered work, you may (if authorized by the copyright holders of 351 | that material) supplement the terms of this License with terms: 352 | 353 | a) Disclaiming warranty or limiting liability differently from the 354 | terms of sections 15 and 16 of this License; or 355 | 356 | b) Requiring preservation of specified reasonable legal notices or 357 | author attributions in that material or in the Appropriate Legal 358 | Notices displayed by works containing it; or 359 | 360 | c) Prohibiting misrepresentation of the origin of that material, or 361 | requiring that modified versions of such material be marked in 362 | reasonable ways as different from the original version; or 363 | 364 | d) Limiting the use for publicity purposes of names of licensors or 365 | authors of the material; or 366 | 367 | e) Declining to grant rights under trademark law for use of some 368 | trade names, trademarks, or service marks; or 369 | 370 | f) Requiring indemnification of licensors and authors of that 371 | material by anyone who conveys the material (or modified versions of 372 | it) with contractual assumptions of liability to the recipient, for 373 | any liability that these contractual assumptions directly impose on 374 | those licensors and authors. 375 | 376 | All other non-permissive additional terms are considered "further 377 | restrictions" within the meaning of section 10. If the Program as you 378 | received it, or any part of it, contains a notice stating that it is 379 | governed by this License along with a term that is a further 380 | restriction, you may remove that term. If a license document contains 381 | a further restriction but permits relicensing or conveying under this 382 | License, you may add to a covered work material governed by the terms 383 | of that license document, provided that the further restriction does 384 | not survive such relicensing or conveying. 385 | 386 | If you add terms to a covered work in accord with this section, you 387 | must place, in the relevant source files, a statement of the 388 | additional terms that apply to those files, or a notice indicating 389 | where to find the applicable terms. 390 | 391 | Additional terms, permissive or non-permissive, may be stated in the 392 | form of a separately written license, or stated as exceptions; 393 | the above requirements apply either way. 394 | 395 | 8. Termination. 396 | 397 | You may not propagate or modify a covered work except as expressly 398 | provided under this License. Any attempt otherwise to propagate or 399 | modify it is void, and will automatically terminate your rights under 400 | this License (including any patent licenses granted under the third 401 | paragraph of section 11). 402 | 403 | However, if you cease all violation of this License, then your 404 | license from a particular copyright holder is reinstated (a) 405 | provisionally, unless and until the copyright holder explicitly and 406 | finally terminates your license, and (b) permanently, if the copyright 407 | holder fails to notify you of the violation by some reasonable means 408 | prior to 60 days after the cessation. 409 | 410 | Moreover, your license from a particular copyright holder is 411 | reinstated permanently if the copyright holder notifies you of the 412 | violation by some reasonable means, this is the first time you have 413 | received notice of violation of this License (for any work) from that 414 | copyright holder, and you cure the violation prior to 30 days after 415 | your receipt of the notice. 416 | 417 | Termination of your rights under this section does not terminate the 418 | licenses of parties who have received copies or rights from you under 419 | this License. If your rights have been terminated and not permanently 420 | reinstated, you do not qualify to receive new licenses for the same 421 | material under section 10. 422 | 423 | 9. Acceptance Not Required for Having Copies. 424 | 425 | You are not required to accept this License in order to receive or 426 | run a copy of the Program. Ancillary propagation of a covered work 427 | occurring solely as a consequence of using peer-to-peer transmission 428 | to receive a copy likewise does not require acceptance. However, 429 | nothing other than this License grants you permission to propagate or 430 | modify any covered work. These actions infringe copyright if you do 431 | not accept this License. Therefore, by modifying or propagating a 432 | covered work, you indicate your acceptance of this License to do so. 433 | 434 | 10. Automatic Licensing of Downstream Recipients. 435 | 436 | Each time you convey a covered work, the recipient automatically 437 | receives a license from the original licensors, to run, modify and 438 | propagate that work, subject to this License. You are not responsible 439 | for enforcing compliance by third parties with this License. 440 | 441 | An "entity transaction" is a transaction transferring control of an 442 | organization, or substantially all assets of one, or subdividing an 443 | organization, or merging organizations. If propagation of a covered 444 | work results from an entity transaction, each party to that 445 | transaction who receives a copy of the work also receives whatever 446 | licenses to the work the party's predecessor in interest had or could 447 | give under the previous paragraph, plus a right to possession of the 448 | Corresponding Source of the work from the predecessor in interest, if 449 | the predecessor has it or can get it with reasonable efforts. 450 | 451 | You may not impose any further restrictions on the exercise of the 452 | rights granted or affirmed under this License. For example, you may 453 | not impose a license fee, royalty, or other charge for exercise of 454 | rights granted under this License, and you may not initiate litigation 455 | (including a cross-claim or counterclaim in a lawsuit) alleging that 456 | any patent claim is infringed by making, using, selling, offering for 457 | sale, or importing the Program or any portion of it. 458 | 459 | 11. Patents. 460 | 461 | A "contributor" is a copyright holder who authorizes use under this 462 | License of the Program or a work on which the Program is based. The 463 | work thus licensed is called the contributor's "contributor version". 464 | 465 | A contributor's "essential patent claims" are all patent claims 466 | owned or controlled by the contributor, whether already acquired or 467 | hereafter acquired, that would be infringed by some manner, permitted 468 | by this License, of making, using, or selling its contributor version, 469 | but do not include claims that would be infringed only as a 470 | consequence of further modification of the contributor version. For 471 | purposes of this definition, "control" includes the right to grant 472 | patent sublicenses in a manner consistent with the requirements of 473 | this License. 474 | 475 | Each contributor grants you a non-exclusive, worldwide, royalty-free 476 | patent license under the contributor's essential patent claims, to 477 | make, use, sell, offer for sale, import and otherwise run, modify and 478 | propagate the contents of its contributor version. 479 | 480 | In the following three paragraphs, a "patent license" is any express 481 | agreement or commitment, however denominated, not to enforce a patent 482 | (such as an express permission to practice a patent or covenant not to 483 | sue for patent infringement). To "grant" such a patent license to a 484 | party means to make such an agreement or commitment not to enforce a 485 | patent against the party. 486 | 487 | If you convey a covered work, knowingly relying on a patent license, 488 | and the Corresponding Source of the work is not available for anyone 489 | to copy, free of charge and under the terms of this License, through a 490 | publicly available network server or other readily accessible means, 491 | then you must either (1) cause the Corresponding Source to be so 492 | available, or (2) arrange to deprive yourself of the benefit of the 493 | patent license for this particular work, or (3) arrange, in a manner 494 | consistent with the requirements of this License, to extend the patent 495 | license to downstream recipients. "Knowingly relying" means you have 496 | actual knowledge that, but for the patent license, your conveying the 497 | covered work in a country, or your recipient's use of the covered work 498 | in a country, would infringe one or more identifiable patents in that 499 | country that you have reason to believe are valid. 500 | 501 | If, pursuant to or in connection with a single transaction or 502 | arrangement, you convey, or propagate by procuring conveyance of, a 503 | covered work, and grant a patent license to some of the parties 504 | receiving the covered work authorizing them to use, propagate, modify 505 | or convey a specific copy of the covered work, then the patent license 506 | you grant is automatically extended to all recipients of the covered 507 | work and works based on it. 508 | 509 | A patent license is "discriminatory" if it does not include within 510 | the scope of its coverage, prohibits the exercise of, or is 511 | conditioned on the non-exercise of one or more of the rights that are 512 | specifically granted under this License. You may not convey a covered 513 | work if you are a party to an arrangement with a third party that is 514 | in the business of distributing software, under which you make payment 515 | to the third party based on the extent of your activity of conveying 516 | the work, and under which the third party grants, to any of the 517 | parties who would receive the covered work from you, a discriminatory 518 | patent license (a) in connection with copies of the covered work 519 | conveyed by you (or copies made from those copies), or (b) primarily 520 | for and in connection with specific products or compilations that 521 | contain the covered work, unless you entered into that arrangement, 522 | or that patent license was granted, prior to 28 March 2007. 523 | 524 | Nothing in this License shall be construed as excluding or limiting 525 | any implied license or other defenses to infringement that may 526 | otherwise be available to you under applicable patent law. 527 | 528 | 12. No Surrender of Others' Freedom. 529 | 530 | If conditions are imposed on you (whether by court order, agreement or 531 | otherwise) that contradict the conditions of this License, they do not 532 | excuse you from the conditions of this License. If you cannot convey a 533 | covered work so as to satisfy simultaneously your obligations under this 534 | License and any other pertinent obligations, then as a consequence you may 535 | not convey it at all. For example, if you agree to terms that obligate you 536 | to collect a royalty for further conveying from those to whom you convey 537 | the Program, the only way you could satisfy both those terms and this 538 | License would be to refrain entirely from conveying the Program. 539 | 540 | 13. Remote Network Interaction; Use with the GNU General Public License. 541 | 542 | Notwithstanding any other provision of this License, if you modify the 543 | Program, your modified version must prominently offer all users 544 | interacting with it remotely through a computer network (if your version 545 | supports such interaction) an opportunity to receive the Corresponding 546 | Source of your version by providing access to the Corresponding Source 547 | from a network server at no charge, through some standard or customary 548 | means of facilitating copying of software. This Corresponding Source 549 | shall include the Corresponding Source for any work covered by version 3 550 | of the GNU General Public License that is incorporated pursuant to the 551 | following paragraph. 552 | 553 | Notwithstanding any other provision of this License, you have 554 | permission to link or combine any covered work with a work licensed 555 | under version 3 of the GNU General Public License into a single 556 | combined work, and to convey the resulting work. The terms of this 557 | License will continue to apply to the part which is the covered work, 558 | but the work with which it is combined will remain governed by version 559 | 3 of the GNU General Public License. 560 | 561 | 14. Revised Versions of this License. 562 | 563 | The Free Software Foundation may publish revised and/or new versions of 564 | the GNU Affero General Public License from time to time. Such new versions 565 | will be similar in spirit to the present version, but may differ in detail to 566 | address new problems or concerns. 567 | 568 | Each version is given a distinguishing version number. If the 569 | Program specifies that a certain numbered version of the GNU Affero General 570 | Public License "or any later version" applies to it, you have the 571 | option of following the terms and conditions either of that numbered 572 | version or of any later version published by the Free Software 573 | Foundation. If the Program does not specify a version number of the 574 | GNU Affero General Public License, you may choose any version ever published 575 | by the Free Software Foundation. 576 | 577 | If the Program specifies that a proxy can decide which future 578 | versions of the GNU Affero General Public License can be used, that proxy's 579 | public statement of acceptance of a version permanently authorizes you 580 | to choose that version for the Program. 581 | 582 | Later license versions may give you additional or different 583 | permissions. However, no additional obligations are imposed on any 584 | author or copyright holder as a result of your choosing to follow a 585 | later version. 586 | 587 | 15. Disclaimer of Warranty. 588 | 589 | THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY 590 | APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT 591 | HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY 592 | OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, 593 | THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 594 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM 595 | IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF 596 | ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 597 | 598 | 16. Limitation of Liability. 599 | 600 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 601 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS 602 | THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY 603 | GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE 604 | USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF 605 | DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD 606 | PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), 607 | EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF 608 | SUCH DAMAGES. 609 | 610 | 17. Interpretation of Sections 15 and 16. 611 | 612 | If the disclaimer of warranty and limitation of liability provided 613 | above cannot be given local legal effect according to their terms, 614 | reviewing courts shall apply local law that most closely approximates 615 | an absolute waiver of all civil liability in connection with the 616 | Program, unless a warranty or assumption of liability accompanies a 617 | copy of the Program in return for a fee. 618 | 619 | END OF TERMS AND CONDITIONS 620 | 621 | How to Apply These Terms to Your New Programs 622 | 623 | If you develop a new program, and you want it to be of the greatest 624 | possible use to the public, the best way to achieve this is to make it 625 | free software which everyone can redistribute and change under these terms. 626 | 627 | To do so, attach the following notices to the program. It is safest 628 | to attach them to the start of each source file to most effectively 629 | state the exclusion of warranty; and each file should have at least 630 | the "copyright" line and a pointer to where the full notice is found. 631 | 632 | 633 | Copyright (C) 634 | 635 | This program is free software: you can redistribute it and/or modify 636 | it under the terms of the GNU Affero General Public License as published 637 | by the Free Software Foundation, either version 3 of the License, or 638 | (at your option) any later version. 639 | 640 | This program is distributed in the hope that it will be useful, 641 | but WITHOUT ANY WARRANTY; without even the implied warranty of 642 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 643 | GNU Affero General Public License for more details. 644 | 645 | You should have received a copy of the GNU Affero General Public License 646 | along with this program. If not, see . 647 | 648 | Also add information on how to contact you by electronic and paper mail. 649 | 650 | If your software can interact with users remotely through a computer 651 | network, you should also make sure that it provides a way for users to 652 | get its source. For example, if your program is a web application, its 653 | interface could display a "Source" link that leads users to an archive 654 | of the code. There are many ways you could offer source, and different 655 | solutions will be better for different programs; see section 13 for the 656 | specific requirements. 657 | 658 | You should also get your employer (if you work as a programmer) or school, 659 | if any, to sign a "copyright disclaimer" for the program, if necessary. 660 | For more information on this, and how to apply and follow the GNU AGPL, see 661 | . 662 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@ampproject/remapping@^2.1.0": 6 | version "2.2.0" 7 | resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" 8 | integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== 9 | dependencies: 10 | "@jridgewell/gen-mapping" "^0.1.0" 11 | "@jridgewell/trace-mapping" "^0.3.9" 12 | 13 | "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.5.5": 14 | version "7.18.6" 15 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" 16 | integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== 17 | dependencies: 18 | "@babel/highlight" "^7.18.6" 19 | 20 | "@babel/compat-data@^7.19.0": 21 | version "7.19.0" 22 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.0.tgz#2a592fd89bacb1fcde68de31bee4f2f2dacb0e86" 23 | integrity sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw== 24 | 25 | "@babel/core@^7.19.0", "@babel/core@^7.7.7": 26 | version "7.19.0" 27 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.0.tgz#d2f5f4f2033c00de8096be3c9f45772563e150c3" 28 | integrity sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ== 29 | dependencies: 30 | "@ampproject/remapping" "^2.1.0" 31 | "@babel/code-frame" "^7.18.6" 32 | "@babel/generator" "^7.19.0" 33 | "@babel/helper-compilation-targets" "^7.19.0" 34 | "@babel/helper-module-transforms" "^7.19.0" 35 | "@babel/helpers" "^7.19.0" 36 | "@babel/parser" "^7.19.0" 37 | "@babel/template" "^7.18.10" 38 | "@babel/traverse" "^7.19.0" 39 | "@babel/types" "^7.19.0" 40 | convert-source-map "^1.7.0" 41 | debug "^4.1.0" 42 | gensync "^1.0.0-beta.2" 43 | json5 "^2.2.1" 44 | semver "^6.3.0" 45 | 46 | "@babel/generator@^7.19.0": 47 | version "7.19.0" 48 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.0.tgz#785596c06425e59334df2ccee63ab166b738419a" 49 | integrity sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg== 50 | dependencies: 51 | "@babel/types" "^7.19.0" 52 | "@jridgewell/gen-mapping" "^0.3.2" 53 | jsesc "^2.5.1" 54 | 55 | "@babel/helper-annotate-as-pure@^7.18.6": 56 | version "7.18.6" 57 | resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" 58 | integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== 59 | dependencies: 60 | "@babel/types" "^7.18.6" 61 | 62 | "@babel/helper-compilation-targets@^7.19.0": 63 | version "7.19.0" 64 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz#537ec8339d53e806ed422f1e06c8f17d55b96bb0" 65 | integrity sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA== 66 | dependencies: 67 | "@babel/compat-data" "^7.19.0" 68 | "@babel/helper-validator-option" "^7.18.6" 69 | browserslist "^4.20.2" 70 | semver "^6.3.0" 71 | 72 | "@babel/helper-create-class-features-plugin@^7.19.0": 73 | version "7.19.0" 74 | resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.19.0.tgz#bfd6904620df4e46470bae4850d66be1054c404b" 75 | integrity sha512-NRz8DwF4jT3UfrmUoZjd0Uph9HQnP30t7Ash+weACcyNkiYTywpIjDBgReJMKgr+n86sn2nPVVmJ28Dm053Kqw== 76 | dependencies: 77 | "@babel/helper-annotate-as-pure" "^7.18.6" 78 | "@babel/helper-environment-visitor" "^7.18.9" 79 | "@babel/helper-function-name" "^7.19.0" 80 | "@babel/helper-member-expression-to-functions" "^7.18.9" 81 | "@babel/helper-optimise-call-expression" "^7.18.6" 82 | "@babel/helper-replace-supers" "^7.18.9" 83 | "@babel/helper-split-export-declaration" "^7.18.6" 84 | 85 | "@babel/helper-environment-visitor@^7.18.9": 86 | version "7.18.9" 87 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" 88 | integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== 89 | 90 | "@babel/helper-function-name@^7.19.0": 91 | version "7.19.0" 92 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c" 93 | integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== 94 | dependencies: 95 | "@babel/template" "^7.18.10" 96 | "@babel/types" "^7.19.0" 97 | 98 | "@babel/helper-hoist-variables@^7.18.6": 99 | version "7.18.6" 100 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" 101 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== 102 | dependencies: 103 | "@babel/types" "^7.18.6" 104 | 105 | "@babel/helper-member-expression-to-functions@^7.18.9": 106 | version "7.18.9" 107 | resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.18.9.tgz#1531661e8375af843ad37ac692c132841e2fd815" 108 | integrity sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg== 109 | dependencies: 110 | "@babel/types" "^7.18.9" 111 | 112 | "@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.18.6": 113 | version "7.18.6" 114 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" 115 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== 116 | dependencies: 117 | "@babel/types" "^7.18.6" 118 | 119 | "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0": 120 | version "7.19.0" 121 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" 122 | integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== 123 | dependencies: 124 | "@babel/helper-environment-visitor" "^7.18.9" 125 | "@babel/helper-module-imports" "^7.18.6" 126 | "@babel/helper-simple-access" "^7.18.6" 127 | "@babel/helper-split-export-declaration" "^7.18.6" 128 | "@babel/helper-validator-identifier" "^7.18.6" 129 | "@babel/template" "^7.18.10" 130 | "@babel/traverse" "^7.19.0" 131 | "@babel/types" "^7.19.0" 132 | 133 | "@babel/helper-optimise-call-expression@^7.18.6": 134 | version "7.18.6" 135 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" 136 | integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== 137 | dependencies: 138 | "@babel/types" "^7.18.6" 139 | 140 | "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0": 141 | version "7.19.0" 142 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" 143 | integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== 144 | 145 | "@babel/helper-replace-supers@^7.18.9": 146 | version "7.18.9" 147 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.18.9.tgz#1092e002feca980fbbb0bd4d51b74a65c6a500e6" 148 | integrity sha512-dNsWibVI4lNT6HiuOIBr1oyxo40HvIVmbwPUm3XZ7wMh4k2WxrxTqZwSqw/eEmXDS9np0ey5M2bz9tBmO9c+YQ== 149 | dependencies: 150 | "@babel/helper-environment-visitor" "^7.18.9" 151 | "@babel/helper-member-expression-to-functions" "^7.18.9" 152 | "@babel/helper-optimise-call-expression" "^7.18.6" 153 | "@babel/traverse" "^7.18.9" 154 | "@babel/types" "^7.18.9" 155 | 156 | "@babel/helper-simple-access@^7.18.6": 157 | version "7.18.6" 158 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" 159 | integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== 160 | dependencies: 161 | "@babel/types" "^7.18.6" 162 | 163 | "@babel/helper-split-export-declaration@^7.18.6": 164 | version "7.18.6" 165 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" 166 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== 167 | dependencies: 168 | "@babel/types" "^7.18.6" 169 | 170 | "@babel/helper-string-parser@^7.18.10": 171 | version "7.18.10" 172 | resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" 173 | integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== 174 | 175 | "@babel/helper-validator-identifier@^7.18.6": 176 | version "7.18.6" 177 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" 178 | integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== 179 | 180 | "@babel/helper-validator-option@^7.18.6": 181 | version "7.18.6" 182 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" 183 | integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== 184 | 185 | "@babel/helpers@^7.19.0": 186 | version "7.19.0" 187 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.0.tgz#f30534657faf246ae96551d88dd31e9d1fa1fc18" 188 | integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg== 189 | dependencies: 190 | "@babel/template" "^7.18.10" 191 | "@babel/traverse" "^7.19.0" 192 | "@babel/types" "^7.19.0" 193 | 194 | "@babel/highlight@^7.18.6": 195 | version "7.18.6" 196 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" 197 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 198 | dependencies: 199 | "@babel/helper-validator-identifier" "^7.18.6" 200 | chalk "^2.0.0" 201 | js-tokens "^4.0.0" 202 | 203 | "@babel/parser@^7.1.0", "@babel/parser@^7.18.10", "@babel/parser@^7.19.0": 204 | version "7.19.0" 205 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.0.tgz#497fcafb1d5b61376959c1c338745ef0577aa02c" 206 | integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw== 207 | 208 | "@babel/plugin-syntax-typescript@^7.18.6": 209 | version "7.18.6" 210 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285" 211 | integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== 212 | dependencies: 213 | "@babel/helper-plugin-utils" "^7.18.6" 214 | 215 | "@babel/plugin-transform-modules-commonjs@^7.7.5": 216 | version "7.18.6" 217 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" 218 | integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== 219 | dependencies: 220 | "@babel/helper-module-transforms" "^7.18.6" 221 | "@babel/helper-plugin-utils" "^7.18.6" 222 | "@babel/helper-simple-access" "^7.18.6" 223 | babel-plugin-dynamic-import-node "^2.3.3" 224 | 225 | "@babel/plugin-transform-typescript@^7.18.6": 226 | version "7.19.0" 227 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.19.0.tgz#50c3a68ec8efd5e040bde2cd764e8e16bc0cbeaf" 228 | integrity sha512-DOOIywxPpkQHXijXv+s9MDAyZcLp12oYRl3CMWZ6u7TjSoCBq/KqHR/nNFR3+i2xqheZxoF0H2XyL7B6xeSRuA== 229 | dependencies: 230 | "@babel/helper-create-class-features-plugin" "^7.19.0" 231 | "@babel/helper-plugin-utils" "^7.19.0" 232 | "@babel/plugin-syntax-typescript" "^7.18.6" 233 | 234 | "@babel/preset-typescript@^7.18.6": 235 | version "7.18.6" 236 | resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz#ce64be3e63eddc44240c6358daefac17b3186399" 237 | integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ== 238 | dependencies: 239 | "@babel/helper-plugin-utils" "^7.18.6" 240 | "@babel/helper-validator-option" "^7.18.6" 241 | "@babel/plugin-transform-typescript" "^7.18.6" 242 | 243 | "@babel/runtime@^7.7.7": 244 | version "7.19.0" 245 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.19.0.tgz#22b11c037b094d27a8a2504ea4dcff00f50e2259" 246 | integrity sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA== 247 | dependencies: 248 | regenerator-runtime "^0.13.4" 249 | 250 | "@babel/template@^7.18.10": 251 | version "7.18.10" 252 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" 253 | integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== 254 | dependencies: 255 | "@babel/code-frame" "^7.18.6" 256 | "@babel/parser" "^7.18.10" 257 | "@babel/types" "^7.18.10" 258 | 259 | "@babel/traverse@^7.18.9", "@babel/traverse@^7.19.0": 260 | version "7.19.0" 261 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.0.tgz#eb9c561c7360005c592cc645abafe0c3c4548eed" 262 | integrity sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA== 263 | dependencies: 264 | "@babel/code-frame" "^7.18.6" 265 | "@babel/generator" "^7.19.0" 266 | "@babel/helper-environment-visitor" "^7.18.9" 267 | "@babel/helper-function-name" "^7.19.0" 268 | "@babel/helper-hoist-variables" "^7.18.6" 269 | "@babel/helper-split-export-declaration" "^7.18.6" 270 | "@babel/parser" "^7.19.0" 271 | "@babel/types" "^7.19.0" 272 | debug "^4.1.0" 273 | globals "^11.1.0" 274 | 275 | "@babel/types@^7.0.0", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.3.0": 276 | version "7.19.0" 277 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600" 278 | integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== 279 | dependencies: 280 | "@babel/helper-string-parser" "^7.18.10" 281 | "@babel/helper-validator-identifier" "^7.18.6" 282 | to-fast-properties "^2.0.0" 283 | 284 | "@jridgewell/gen-mapping@^0.1.0": 285 | version "0.1.1" 286 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" 287 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== 288 | dependencies: 289 | "@jridgewell/set-array" "^1.0.0" 290 | "@jridgewell/sourcemap-codec" "^1.4.10" 291 | 292 | "@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": 293 | version "0.3.2" 294 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" 295 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 296 | dependencies: 297 | "@jridgewell/set-array" "^1.0.1" 298 | "@jridgewell/sourcemap-codec" "^1.4.10" 299 | "@jridgewell/trace-mapping" "^0.3.9" 300 | 301 | "@jridgewell/resolve-uri@^3.0.3": 302 | version "3.1.0" 303 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" 304 | integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== 305 | 306 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": 307 | version "1.1.2" 308 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 309 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 310 | 311 | "@jridgewell/source-map@^0.3.2": 312 | version "0.3.2" 313 | resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" 314 | integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== 315 | dependencies: 316 | "@jridgewell/gen-mapping" "^0.3.0" 317 | "@jridgewell/trace-mapping" "^0.3.9" 318 | 319 | "@jridgewell/sourcemap-codec@^1.4.10": 320 | version "1.4.14" 321 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 322 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 323 | 324 | "@jridgewell/trace-mapping@^0.3.9": 325 | version "0.3.15" 326 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" 327 | integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== 328 | dependencies: 329 | "@jridgewell/resolve-uri" "^3.0.3" 330 | "@jridgewell/sourcemap-codec" "^1.4.10" 331 | 332 | "@nodelib/fs.scandir@2.1.5": 333 | version "2.1.5" 334 | resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" 335 | integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== 336 | dependencies: 337 | "@nodelib/fs.stat" "2.0.5" 338 | run-parallel "^1.1.9" 339 | 340 | "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": 341 | version "2.0.5" 342 | resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" 343 | integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== 344 | 345 | "@nodelib/fs.walk@^1.2.3": 346 | version "1.2.8" 347 | resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" 348 | integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== 349 | dependencies: 350 | "@nodelib/fs.scandir" "2.1.5" 351 | fastq "^1.6.0" 352 | 353 | "@preconstruct/cli@^2.2.1": 354 | version "2.2.1" 355 | resolved "https://registry.yarnpkg.com/@preconstruct/cli/-/cli-2.2.1.tgz#fafff5b5124f895ae933445ca8e2d674006f614f" 356 | integrity sha512-G+sUV9o8l6Ds/82qJZYTXkCsVqPXLuD+bv+nVQeo3OL+eqzO/uAiBBFVp0DMcBJiyQYeU9nb+V8q22/PPaepDw== 357 | dependencies: 358 | "@babel/code-frame" "^7.5.5" 359 | "@babel/core" "^7.7.7" 360 | "@babel/helper-module-imports" "^7.10.4" 361 | "@babel/runtime" "^7.7.7" 362 | "@preconstruct/hook" "^0.4.0" 363 | "@rollup/plugin-alias" "^3.1.1" 364 | "@rollup/plugin-commonjs" "^15.0.0" 365 | "@rollup/plugin-json" "^4.1.0" 366 | "@rollup/plugin-node-resolve" "^11.2.1" 367 | "@rollup/plugin-replace" "^2.4.1" 368 | builtin-modules "^3.1.0" 369 | chalk "^4.1.0" 370 | dataloader "^2.0.0" 371 | detect-indent "^6.0.0" 372 | enquirer "^2.3.6" 373 | estree-walker "^2.0.1" 374 | fast-deep-equal "^2.0.1" 375 | fast-glob "^3.2.4" 376 | fs-extra "^9.0.1" 377 | is-ci "^2.0.0" 378 | is-reference "^1.2.1" 379 | jest-worker "^26.3.0" 380 | magic-string "^0.25.7" 381 | meow "^7.1.0" 382 | ms "^2.1.2" 383 | normalize-path "^3.0.0" 384 | npm-packlist "^2.1.2" 385 | p-limit "^3.0.2" 386 | parse-glob "^3.0.4" 387 | parse-json "^5.1.0" 388 | quick-lru "^5.1.1" 389 | resolve "^1.17.0" 390 | resolve-from "^5.0.0" 391 | rollup "^2.32.0" 392 | semver "^7.3.4" 393 | terser "^5.2.1" 394 | v8-compile-cache "^2.1.1" 395 | 396 | "@preconstruct/hook@^0.4.0": 397 | version "0.4.0" 398 | resolved "https://registry.yarnpkg.com/@preconstruct/hook/-/hook-0.4.0.tgz#c15dfacfc6e60652a6837209c2fd87f0240b099e" 399 | integrity sha512-a7mrlPTM3tAFJyz43qb4pPVpUx8j8TzZBFsNFqcKcE/sEakNXRlQAuCT4RGZRf9dQiiUnBahzSIWawU4rENl+Q== 400 | dependencies: 401 | "@babel/core" "^7.7.7" 402 | "@babel/plugin-transform-modules-commonjs" "^7.7.5" 403 | pirates "^4.0.1" 404 | source-map-support "^0.5.16" 405 | 406 | "@rollup/plugin-alias@^3.1.1": 407 | version "3.1.9" 408 | resolved "https://registry.yarnpkg.com/@rollup/plugin-alias/-/plugin-alias-3.1.9.tgz#a5d267548fe48441f34be8323fb64d1d4a1b3fdf" 409 | integrity sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw== 410 | dependencies: 411 | slash "^3.0.0" 412 | 413 | "@rollup/plugin-commonjs@^15.0.0": 414 | version "15.1.0" 415 | resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-15.1.0.tgz#1e7d076c4f1b2abf7e65248570e555defc37c238" 416 | integrity sha512-xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ== 417 | dependencies: 418 | "@rollup/pluginutils" "^3.1.0" 419 | commondir "^1.0.1" 420 | estree-walker "^2.0.1" 421 | glob "^7.1.6" 422 | is-reference "^1.2.1" 423 | magic-string "^0.25.7" 424 | resolve "^1.17.0" 425 | 426 | "@rollup/plugin-json@^4.1.0": 427 | version "4.1.0" 428 | resolved "https://registry.yarnpkg.com/@rollup/plugin-json/-/plugin-json-4.1.0.tgz#54e09867ae6963c593844d8bd7a9c718294496f3" 429 | integrity sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw== 430 | dependencies: 431 | "@rollup/pluginutils" "^3.0.8" 432 | 433 | "@rollup/plugin-node-resolve@^11.2.1": 434 | version "11.2.1" 435 | resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz#82aa59397a29cd4e13248b106e6a4a1880362a60" 436 | integrity sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg== 437 | dependencies: 438 | "@rollup/pluginutils" "^3.1.0" 439 | "@types/resolve" "1.17.1" 440 | builtin-modules "^3.1.0" 441 | deepmerge "^4.2.2" 442 | is-module "^1.0.0" 443 | resolve "^1.19.0" 444 | 445 | "@rollup/plugin-replace@^2.4.1": 446 | version "2.4.2" 447 | resolved "https://registry.yarnpkg.com/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz#a2d539314fbc77c244858faa523012825068510a" 448 | integrity sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg== 449 | dependencies: 450 | "@rollup/pluginutils" "^3.1.0" 451 | magic-string "^0.25.7" 452 | 453 | "@rollup/pluginutils@^3.0.8", "@rollup/pluginutils@^3.1.0": 454 | version "3.1.0" 455 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" 456 | integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== 457 | dependencies: 458 | "@types/estree" "0.0.39" 459 | estree-walker "^1.0.1" 460 | picomatch "^2.2.2" 461 | 462 | "@types/babel__core@^7.1.19": 463 | version "7.1.19" 464 | resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" 465 | integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== 466 | dependencies: 467 | "@babel/parser" "^7.1.0" 468 | "@babel/types" "^7.0.0" 469 | "@types/babel__generator" "*" 470 | "@types/babel__template" "*" 471 | "@types/babel__traverse" "*" 472 | 473 | "@types/babel__generator@*": 474 | version "7.6.4" 475 | resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" 476 | integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== 477 | dependencies: 478 | "@babel/types" "^7.0.0" 479 | 480 | "@types/babel__template@*": 481 | version "7.4.1" 482 | resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" 483 | integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== 484 | dependencies: 485 | "@babel/parser" "^7.1.0" 486 | "@babel/types" "^7.0.0" 487 | 488 | "@types/babel__traverse@*": 489 | version "7.18.1" 490 | resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.1.tgz#ce5e2c8c272b99b7a9fd69fa39f0b4cd85028bd9" 491 | integrity sha512-FSdLaZh2UxaMuLp9lixWaHq/golWTRWOnRsAXzDTDSDOQLuZb1nsdCt6pJSPWSEQt2eFZ2YVk3oYhn+1kLMeMA== 492 | dependencies: 493 | "@babel/types" "^7.3.0" 494 | 495 | "@types/estree@*": 496 | version "1.0.0" 497 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" 498 | integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== 499 | 500 | "@types/estree@0.0.39": 501 | version "0.0.39" 502 | resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" 503 | integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== 504 | 505 | "@types/minimist@^1.2.0": 506 | version "1.2.2" 507 | resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" 508 | integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== 509 | 510 | "@types/node@*": 511 | version "18.7.16" 512 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.7.16.tgz#0eb3cce1e37c79619943d2fd903919fc30850601" 513 | integrity sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg== 514 | 515 | "@types/normalize-package-data@^2.4.0": 516 | version "2.4.1" 517 | resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" 518 | integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== 519 | 520 | "@types/resolve@1.17.1": 521 | version "1.17.1" 522 | resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" 523 | integrity sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw== 524 | dependencies: 525 | "@types/node" "*" 526 | 527 | acorn@^8.5.0: 528 | version "8.8.0" 529 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" 530 | integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== 531 | 532 | ansi-colors@^4.1.1: 533 | version "4.1.3" 534 | resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" 535 | integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== 536 | 537 | ansi-styles@^3.2.1: 538 | version "3.2.1" 539 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 540 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 541 | dependencies: 542 | color-convert "^1.9.0" 543 | 544 | ansi-styles@^4.1.0: 545 | version "4.3.0" 546 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 547 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 548 | dependencies: 549 | color-convert "^2.0.1" 550 | 551 | arrify@^1.0.1: 552 | version "1.0.1" 553 | resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" 554 | integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== 555 | 556 | at-least-node@^1.0.0: 557 | version "1.0.0" 558 | resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" 559 | integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== 560 | 561 | babel-plugin-dynamic-import-node@^2.3.3: 562 | version "2.3.3" 563 | resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" 564 | integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== 565 | dependencies: 566 | object.assign "^4.1.0" 567 | 568 | balanced-match@^1.0.0: 569 | version "1.0.2" 570 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 571 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 572 | 573 | brace-expansion@^1.1.7: 574 | version "1.1.11" 575 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 576 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 577 | dependencies: 578 | balanced-match "^1.0.0" 579 | concat-map "0.0.1" 580 | 581 | braces@^3.0.2: 582 | version "3.0.2" 583 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 584 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 585 | dependencies: 586 | fill-range "^7.0.1" 587 | 588 | browserslist@^4.20.2: 589 | version "4.21.3" 590 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" 591 | integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== 592 | dependencies: 593 | caniuse-lite "^1.0.30001370" 594 | electron-to-chromium "^1.4.202" 595 | node-releases "^2.0.6" 596 | update-browserslist-db "^1.0.5" 597 | 598 | buffer-from@^1.0.0: 599 | version "1.1.2" 600 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" 601 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== 602 | 603 | builtin-modules@^3.1.0: 604 | version "3.3.0" 605 | resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" 606 | integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== 607 | 608 | call-bind@^1.0.2: 609 | version "1.0.2" 610 | resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" 611 | integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== 612 | dependencies: 613 | function-bind "^1.1.1" 614 | get-intrinsic "^1.0.2" 615 | 616 | camelcase-keys@^6.2.2: 617 | version "6.2.2" 618 | resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" 619 | integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== 620 | dependencies: 621 | camelcase "^5.3.1" 622 | map-obj "^4.0.0" 623 | quick-lru "^4.0.1" 624 | 625 | camelcase@^5.0.0, camelcase@^5.3.1: 626 | version "5.3.1" 627 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 628 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 629 | 630 | caniuse-lite@^1.0.30001370: 631 | version "1.0.30001393" 632 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001393.tgz#1aa161e24fe6af2e2ccda000fc2b94be0b0db356" 633 | integrity sha512-N/od11RX+Gsk+1qY/jbPa0R6zJupEa0lxeBG598EbrtblxVCTJsQwbRBm6+V+rxpc5lHKdsXb9RY83cZIPLseA== 634 | 635 | chalk@^2.0.0: 636 | version "2.4.2" 637 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 638 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 639 | dependencies: 640 | ansi-styles "^3.2.1" 641 | escape-string-regexp "^1.0.5" 642 | supports-color "^5.3.0" 643 | 644 | chalk@^4.1.0: 645 | version "4.1.2" 646 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 647 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 648 | dependencies: 649 | ansi-styles "^4.1.0" 650 | supports-color "^7.1.0" 651 | 652 | ci-info@^2.0.0: 653 | version "2.0.0" 654 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" 655 | integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== 656 | 657 | color-convert@^1.9.0: 658 | version "1.9.3" 659 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 660 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 661 | dependencies: 662 | color-name "1.1.3" 663 | 664 | color-convert@^2.0.1: 665 | version "2.0.1" 666 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 667 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 668 | dependencies: 669 | color-name "~1.1.4" 670 | 671 | color-name@1.1.3: 672 | version "1.1.3" 673 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 674 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 675 | 676 | color-name@~1.1.4: 677 | version "1.1.4" 678 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 679 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 680 | 681 | commander@^2.20.0: 682 | version "2.20.3" 683 | resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" 684 | integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== 685 | 686 | commondir@^1.0.1: 687 | version "1.0.1" 688 | resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" 689 | integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== 690 | 691 | concat-map@0.0.1: 692 | version "0.0.1" 693 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 694 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 695 | 696 | convert-source-map@^1.7.0: 697 | version "1.8.0" 698 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" 699 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== 700 | dependencies: 701 | safe-buffer "~5.1.1" 702 | 703 | dataloader@^2.0.0: 704 | version "2.1.0" 705 | resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.1.0.tgz#c69c538235e85e7ac6c6c444bae8ecabf5de9df7" 706 | integrity sha512-qTcEYLen3r7ojZNgVUaRggOI+KM7jrKxXeSHhogh/TWxYMeONEMqY+hmkobiYQozsGIyg9OYVzO4ZIfoB4I0pQ== 707 | 708 | debug@^4.1.0: 709 | version "4.3.4" 710 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 711 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 712 | dependencies: 713 | ms "2.1.2" 714 | 715 | decamelize-keys@^1.1.0: 716 | version "1.1.0" 717 | resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.0.tgz#d171a87933252807eb3cb61dc1c1445d078df2d9" 718 | integrity sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg== 719 | dependencies: 720 | decamelize "^1.1.0" 721 | map-obj "^1.0.0" 722 | 723 | decamelize@^1.1.0, decamelize@^1.2.0: 724 | version "1.2.0" 725 | resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" 726 | integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== 727 | 728 | deepmerge@^4.2.2: 729 | version "4.2.2" 730 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 731 | integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 732 | 733 | define-properties@^1.1.4: 734 | version "1.1.4" 735 | resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" 736 | integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== 737 | dependencies: 738 | has-property-descriptors "^1.0.0" 739 | object-keys "^1.1.1" 740 | 741 | detect-indent@^6.0.0: 742 | version "6.1.0" 743 | resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" 744 | integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== 745 | 746 | electron-to-chromium@^1.4.202: 747 | version "1.4.244" 748 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.244.tgz#ae9b56ed4ae2107e3a860dad80ed662c936e369e" 749 | integrity sha512-E21saXLt2eTDaTxgUtiJtBUqanF9A32wZasAwDZ8gvrqXoxrBrbwtDCx7c/PQTLp81wj4X0OLDeoGQg7eMo3+w== 750 | 751 | enquirer@^2.3.6: 752 | version "2.3.6" 753 | resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" 754 | integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== 755 | dependencies: 756 | ansi-colors "^4.1.1" 757 | 758 | error-ex@^1.3.1: 759 | version "1.3.2" 760 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 761 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 762 | dependencies: 763 | is-arrayish "^0.2.1" 764 | 765 | escalade@^3.1.1: 766 | version "3.1.1" 767 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 768 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 769 | 770 | escape-string-regexp@^1.0.5: 771 | version "1.0.5" 772 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 773 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 774 | 775 | estree-walker@^1.0.1: 776 | version "1.0.1" 777 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" 778 | integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== 779 | 780 | estree-walker@^2.0.1: 781 | version "2.0.2" 782 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 783 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 784 | 785 | fast-deep-equal@^2.0.1: 786 | version "2.0.1" 787 | resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" 788 | integrity sha512-bCK/2Z4zLidyB4ReuIsvALH6w31YfAQDmXMqMx6FyfHqvBxtjC0eRumeSu4Bs3XtXwpyIywtSTrVT99BxY1f9w== 789 | 790 | fast-glob@^3.2.4: 791 | version "3.2.11" 792 | resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" 793 | integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== 794 | dependencies: 795 | "@nodelib/fs.stat" "^2.0.2" 796 | "@nodelib/fs.walk" "^1.2.3" 797 | glob-parent "^5.1.2" 798 | merge2 "^1.3.0" 799 | micromatch "^4.0.4" 800 | 801 | fastq@^1.6.0: 802 | version "1.13.0" 803 | resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" 804 | integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== 805 | dependencies: 806 | reusify "^1.0.4" 807 | 808 | fill-range@^7.0.1: 809 | version "7.0.1" 810 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 811 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 812 | dependencies: 813 | to-regex-range "^5.0.1" 814 | 815 | find-up@^4.1.0: 816 | version "4.1.0" 817 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 818 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 819 | dependencies: 820 | locate-path "^5.0.0" 821 | path-exists "^4.0.0" 822 | 823 | fs-extra@^9.0.1: 824 | version "9.1.0" 825 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" 826 | integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== 827 | dependencies: 828 | at-least-node "^1.0.0" 829 | graceful-fs "^4.2.0" 830 | jsonfile "^6.0.1" 831 | universalify "^2.0.0" 832 | 833 | fs.realpath@^1.0.0: 834 | version "1.0.0" 835 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 836 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 837 | 838 | fsevents@~2.3.2: 839 | version "2.3.2" 840 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 841 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 842 | 843 | function-bind@^1.1.1: 844 | version "1.1.1" 845 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 846 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 847 | 848 | gensync@^1.0.0-beta.2: 849 | version "1.0.0-beta.2" 850 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 851 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 852 | 853 | get-intrinsic@^1.0.2, get-intrinsic@^1.1.1: 854 | version "1.1.2" 855 | resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.2.tgz#336975123e05ad0b7ba41f152ee4aadbea6cf598" 856 | integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA== 857 | dependencies: 858 | function-bind "^1.1.1" 859 | has "^1.0.3" 860 | has-symbols "^1.0.3" 861 | 862 | glob-base@^0.3.0: 863 | version "0.3.0" 864 | resolved "https://registry.yarnpkg.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4" 865 | integrity sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA== 866 | dependencies: 867 | glob-parent "^2.0.0" 868 | is-glob "^2.0.0" 869 | 870 | glob-parent@^2.0.0: 871 | version "2.0.0" 872 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28" 873 | integrity sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w== 874 | dependencies: 875 | is-glob "^2.0.0" 876 | 877 | glob-parent@^5.1.2: 878 | version "5.1.2" 879 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" 880 | integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== 881 | dependencies: 882 | is-glob "^4.0.1" 883 | 884 | glob@^7.1.6: 885 | version "7.2.3" 886 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 887 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 888 | dependencies: 889 | fs.realpath "^1.0.0" 890 | inflight "^1.0.4" 891 | inherits "2" 892 | minimatch "^3.1.1" 893 | once "^1.3.0" 894 | path-is-absolute "^1.0.0" 895 | 896 | globals@^11.1.0: 897 | version "11.12.0" 898 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 899 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 900 | 901 | graceful-fs@^4.1.6, graceful-fs@^4.2.0: 902 | version "4.2.10" 903 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" 904 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== 905 | 906 | hard-rejection@^2.1.0: 907 | version "2.1.0" 908 | resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" 909 | integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== 910 | 911 | has-flag@^3.0.0: 912 | version "3.0.0" 913 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 914 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 915 | 916 | has-flag@^4.0.0: 917 | version "4.0.0" 918 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 919 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 920 | 921 | has-property-descriptors@^1.0.0: 922 | version "1.0.0" 923 | resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" 924 | integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== 925 | dependencies: 926 | get-intrinsic "^1.1.1" 927 | 928 | has-symbols@^1.0.3: 929 | version "1.0.3" 930 | resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" 931 | integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== 932 | 933 | has@^1.0.3: 934 | version "1.0.3" 935 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 936 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 937 | dependencies: 938 | function-bind "^1.1.1" 939 | 940 | hosted-git-info@^2.1.4: 941 | version "2.8.9" 942 | resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" 943 | integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== 944 | 945 | ignore-walk@^3.0.3: 946 | version "3.0.4" 947 | resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335" 948 | integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ== 949 | dependencies: 950 | minimatch "^3.0.4" 951 | 952 | indent-string@^4.0.0: 953 | version "4.0.0" 954 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" 955 | integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 956 | 957 | inflight@^1.0.4: 958 | version "1.0.6" 959 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 960 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 961 | dependencies: 962 | once "^1.3.0" 963 | wrappy "1" 964 | 965 | inherits@2: 966 | version "2.0.4" 967 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 968 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 969 | 970 | is-arrayish@^0.2.1: 971 | version "0.2.1" 972 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 973 | integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== 974 | 975 | is-ci@^2.0.0: 976 | version "2.0.0" 977 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" 978 | integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== 979 | dependencies: 980 | ci-info "^2.0.0" 981 | 982 | is-core-module@^2.9.0: 983 | version "2.10.0" 984 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" 985 | integrity sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg== 986 | dependencies: 987 | has "^1.0.3" 988 | 989 | is-dotfile@^1.0.0: 990 | version "1.0.3" 991 | resolved "https://registry.yarnpkg.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1" 992 | integrity sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg== 993 | 994 | is-extglob@^1.0.0: 995 | version "1.0.0" 996 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0" 997 | integrity sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww== 998 | 999 | is-extglob@^2.1.1: 1000 | version "2.1.1" 1001 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1002 | integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== 1003 | 1004 | is-glob@^2.0.0: 1005 | version "2.0.1" 1006 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863" 1007 | integrity sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg== 1008 | dependencies: 1009 | is-extglob "^1.0.0" 1010 | 1011 | is-glob@^4.0.1: 1012 | version "4.0.3" 1013 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" 1014 | integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== 1015 | dependencies: 1016 | is-extglob "^2.1.1" 1017 | 1018 | is-module@^1.0.0: 1019 | version "1.0.0" 1020 | resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" 1021 | integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== 1022 | 1023 | is-number@^7.0.0: 1024 | version "7.0.0" 1025 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1026 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1027 | 1028 | is-plain-obj@^1.1.0: 1029 | version "1.1.0" 1030 | resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" 1031 | integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== 1032 | 1033 | is-reference@^1.2.1: 1034 | version "1.2.1" 1035 | resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" 1036 | integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== 1037 | dependencies: 1038 | "@types/estree" "*" 1039 | 1040 | jest-worker@^26.3.0: 1041 | version "26.6.2" 1042 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" 1043 | integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ== 1044 | dependencies: 1045 | "@types/node" "*" 1046 | merge-stream "^2.0.0" 1047 | supports-color "^7.0.0" 1048 | 1049 | js-tokens@^4.0.0: 1050 | version "4.0.0" 1051 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1052 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1053 | 1054 | jsesc@^2.5.1: 1055 | version "2.5.2" 1056 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1057 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1058 | 1059 | json-parse-even-better-errors@^2.3.0: 1060 | version "2.3.1" 1061 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 1062 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 1063 | 1064 | json5@^2.2.1: 1065 | version "2.2.1" 1066 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" 1067 | integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== 1068 | 1069 | jsonfile@^6.0.1: 1070 | version "6.1.0" 1071 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" 1072 | integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== 1073 | dependencies: 1074 | universalify "^2.0.0" 1075 | optionalDependencies: 1076 | graceful-fs "^4.1.6" 1077 | 1078 | kind-of@^6.0.3: 1079 | version "6.0.3" 1080 | resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" 1081 | integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== 1082 | 1083 | lines-and-columns@^1.1.6: 1084 | version "1.2.4" 1085 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 1086 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 1087 | 1088 | locate-path@^5.0.0: 1089 | version "5.0.0" 1090 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 1091 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 1092 | dependencies: 1093 | p-locate "^4.1.0" 1094 | 1095 | lru-cache@^6.0.0: 1096 | version "6.0.0" 1097 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1098 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1099 | dependencies: 1100 | yallist "^4.0.0" 1101 | 1102 | magic-string@^0.25.7: 1103 | version "0.25.9" 1104 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" 1105 | integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== 1106 | dependencies: 1107 | sourcemap-codec "^1.4.8" 1108 | 1109 | map-obj@^1.0.0: 1110 | version "1.0.1" 1111 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" 1112 | integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== 1113 | 1114 | map-obj@^4.0.0: 1115 | version "4.3.0" 1116 | resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" 1117 | integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== 1118 | 1119 | meow@^7.1.0: 1120 | version "7.1.1" 1121 | resolved "https://registry.yarnpkg.com/meow/-/meow-7.1.1.tgz#7c01595e3d337fcb0ec4e8eed1666ea95903d306" 1122 | integrity sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA== 1123 | dependencies: 1124 | "@types/minimist" "^1.2.0" 1125 | camelcase-keys "^6.2.2" 1126 | decamelize-keys "^1.1.0" 1127 | hard-rejection "^2.1.0" 1128 | minimist-options "4.1.0" 1129 | normalize-package-data "^2.5.0" 1130 | read-pkg-up "^7.0.1" 1131 | redent "^3.0.0" 1132 | trim-newlines "^3.0.0" 1133 | type-fest "^0.13.1" 1134 | yargs-parser "^18.1.3" 1135 | 1136 | merge-stream@^2.0.0: 1137 | version "2.0.0" 1138 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 1139 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 1140 | 1141 | merge2@^1.3.0: 1142 | version "1.4.1" 1143 | resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" 1144 | integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== 1145 | 1146 | micromatch@^4.0.4: 1147 | version "4.0.5" 1148 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 1149 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 1150 | dependencies: 1151 | braces "^3.0.2" 1152 | picomatch "^2.3.1" 1153 | 1154 | min-indent@^1.0.0: 1155 | version "1.0.1" 1156 | resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" 1157 | integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== 1158 | 1159 | minimatch@^3.0.4, minimatch@^3.1.1: 1160 | version "3.1.2" 1161 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1162 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1163 | dependencies: 1164 | brace-expansion "^1.1.7" 1165 | 1166 | minimist-options@4.1.0: 1167 | version "4.1.0" 1168 | resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" 1169 | integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== 1170 | dependencies: 1171 | arrify "^1.0.1" 1172 | is-plain-obj "^1.1.0" 1173 | kind-of "^6.0.3" 1174 | 1175 | ms@2.1.2: 1176 | version "2.1.2" 1177 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1178 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1179 | 1180 | ms@^2.1.2: 1181 | version "2.1.3" 1182 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" 1183 | integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== 1184 | 1185 | node-releases@^2.0.6: 1186 | version "2.0.6" 1187 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" 1188 | integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== 1189 | 1190 | normalize-package-data@^2.5.0: 1191 | version "2.5.0" 1192 | resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" 1193 | integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== 1194 | dependencies: 1195 | hosted-git-info "^2.1.4" 1196 | resolve "^1.10.0" 1197 | semver "2 || 3 || 4 || 5" 1198 | validate-npm-package-license "^3.0.1" 1199 | 1200 | normalize-path@^3.0.0: 1201 | version "3.0.0" 1202 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1203 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1204 | 1205 | npm-bundled@^1.1.1: 1206 | version "1.1.2" 1207 | resolved "https://registry.yarnpkg.com/npm-bundled/-/npm-bundled-1.1.2.tgz#944c78789bd739035b70baa2ca5cc32b8d860bc1" 1208 | integrity sha512-x5DHup0SuyQcmL3s7Rx/YQ8sbw/Hzg0rj48eN0dV7hf5cmQq5PXIeioroH3raV1QC1yh3uTYuMThvEQF3iKgGQ== 1209 | dependencies: 1210 | npm-normalize-package-bin "^1.0.1" 1211 | 1212 | npm-normalize-package-bin@^1.0.1: 1213 | version "1.0.1" 1214 | resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2" 1215 | integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA== 1216 | 1217 | npm-packlist@^2.1.2: 1218 | version "2.2.2" 1219 | resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-2.2.2.tgz#076b97293fa620f632833186a7a8f65aaa6148c8" 1220 | integrity sha512-Jt01acDvJRhJGthnUJVF/w6gumWOZxO7IkpY/lsX9//zqQgnF7OJaxgQXcerd4uQOLu7W5bkb4mChL9mdfm+Zg== 1221 | dependencies: 1222 | glob "^7.1.6" 1223 | ignore-walk "^3.0.3" 1224 | npm-bundled "^1.1.1" 1225 | npm-normalize-package-bin "^1.0.1" 1226 | 1227 | object-keys@^1.1.1: 1228 | version "1.1.1" 1229 | resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" 1230 | integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== 1231 | 1232 | object.assign@^4.1.0: 1233 | version "4.1.4" 1234 | resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" 1235 | integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== 1236 | dependencies: 1237 | call-bind "^1.0.2" 1238 | define-properties "^1.1.4" 1239 | has-symbols "^1.0.3" 1240 | object-keys "^1.1.1" 1241 | 1242 | once@^1.3.0: 1243 | version "1.4.0" 1244 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1245 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 1246 | dependencies: 1247 | wrappy "1" 1248 | 1249 | p-limit@^2.2.0: 1250 | version "2.3.0" 1251 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 1252 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 1253 | dependencies: 1254 | p-try "^2.0.0" 1255 | 1256 | p-limit@^3.0.2: 1257 | version "3.1.0" 1258 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" 1259 | integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== 1260 | dependencies: 1261 | yocto-queue "^0.1.0" 1262 | 1263 | p-locate@^4.1.0: 1264 | version "4.1.0" 1265 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 1266 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 1267 | dependencies: 1268 | p-limit "^2.2.0" 1269 | 1270 | p-try@^2.0.0: 1271 | version "2.2.0" 1272 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 1273 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 1274 | 1275 | parse-glob@^3.0.4: 1276 | version "3.0.4" 1277 | resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" 1278 | integrity sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA== 1279 | dependencies: 1280 | glob-base "^0.3.0" 1281 | is-dotfile "^1.0.0" 1282 | is-extglob "^1.0.0" 1283 | is-glob "^2.0.0" 1284 | 1285 | parse-json@^5.0.0, parse-json@^5.1.0: 1286 | version "5.2.0" 1287 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 1288 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 1289 | dependencies: 1290 | "@babel/code-frame" "^7.0.0" 1291 | error-ex "^1.3.1" 1292 | json-parse-even-better-errors "^2.3.0" 1293 | lines-and-columns "^1.1.6" 1294 | 1295 | path-exists@^4.0.0: 1296 | version "4.0.0" 1297 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 1298 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 1299 | 1300 | path-is-absolute@^1.0.0: 1301 | version "1.0.1" 1302 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1303 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 1304 | 1305 | path-parse@^1.0.7: 1306 | version "1.0.7" 1307 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1308 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1309 | 1310 | picocolors@^1.0.0: 1311 | version "1.0.0" 1312 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 1313 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1314 | 1315 | picomatch@^2.2.2, picomatch@^2.3.1: 1316 | version "2.3.1" 1317 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 1318 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 1319 | 1320 | pirates@^4.0.1: 1321 | version "4.0.5" 1322 | resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" 1323 | integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== 1324 | 1325 | queue-microtask@^1.2.2: 1326 | version "1.2.3" 1327 | resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" 1328 | integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== 1329 | 1330 | quick-lru@^4.0.1: 1331 | version "4.0.1" 1332 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" 1333 | integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== 1334 | 1335 | quick-lru@^5.1.1: 1336 | version "5.1.1" 1337 | resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" 1338 | integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== 1339 | 1340 | read-pkg-up@^7.0.1: 1341 | version "7.0.1" 1342 | resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" 1343 | integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== 1344 | dependencies: 1345 | find-up "^4.1.0" 1346 | read-pkg "^5.2.0" 1347 | type-fest "^0.8.1" 1348 | 1349 | read-pkg@^5.2.0: 1350 | version "5.2.0" 1351 | resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" 1352 | integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== 1353 | dependencies: 1354 | "@types/normalize-package-data" "^2.4.0" 1355 | normalize-package-data "^2.5.0" 1356 | parse-json "^5.0.0" 1357 | type-fest "^0.6.0" 1358 | 1359 | redent@^3.0.0: 1360 | version "3.0.0" 1361 | resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" 1362 | integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== 1363 | dependencies: 1364 | indent-string "^4.0.0" 1365 | strip-indent "^3.0.0" 1366 | 1367 | regenerator-runtime@^0.13.4: 1368 | version "0.13.9" 1369 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" 1370 | integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== 1371 | 1372 | resolve-from@^5.0.0: 1373 | version "5.0.0" 1374 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 1375 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 1376 | 1377 | resolve@^1.10.0, resolve@^1.17.0, resolve@^1.19.0: 1378 | version "1.22.1" 1379 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 1380 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 1381 | dependencies: 1382 | is-core-module "^2.9.0" 1383 | path-parse "^1.0.7" 1384 | supports-preserve-symlinks-flag "^1.0.0" 1385 | 1386 | reusify@^1.0.4: 1387 | version "1.0.4" 1388 | resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" 1389 | integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== 1390 | 1391 | rollup@^2.32.0: 1392 | version "2.79.0" 1393 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.0.tgz#9177992c9f09eb58c5e56cbfa641607a12b57ce2" 1394 | integrity sha512-x4KsrCgwQ7ZJPcFA/SUu6QVcYlO7uRLfLAy0DSA4NS2eG8japdbpM50ToH7z4iObodRYOJ0soneF0iaQRJ6zhA== 1395 | optionalDependencies: 1396 | fsevents "~2.3.2" 1397 | 1398 | run-parallel@^1.1.9: 1399 | version "1.2.0" 1400 | resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" 1401 | integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== 1402 | dependencies: 1403 | queue-microtask "^1.2.2" 1404 | 1405 | safe-buffer@~5.1.1: 1406 | version "5.1.2" 1407 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1408 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1409 | 1410 | "semver@2 || 3 || 4 || 5": 1411 | version "5.7.1" 1412 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1413 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1414 | 1415 | semver@^6.3.0: 1416 | version "6.3.0" 1417 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1418 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1419 | 1420 | semver@^7.3.4: 1421 | version "7.3.7" 1422 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" 1423 | integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== 1424 | dependencies: 1425 | lru-cache "^6.0.0" 1426 | 1427 | slash@^3.0.0: 1428 | version "3.0.0" 1429 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 1430 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 1431 | 1432 | source-map-support@^0.5.16, source-map-support@~0.5.20: 1433 | version "0.5.21" 1434 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" 1435 | integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== 1436 | dependencies: 1437 | buffer-from "^1.0.0" 1438 | source-map "^0.6.0" 1439 | 1440 | source-map@^0.6.0: 1441 | version "0.6.1" 1442 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1443 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1444 | 1445 | sourcemap-codec@^1.4.8: 1446 | version "1.4.8" 1447 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 1448 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 1449 | 1450 | spdx-correct@^3.0.0: 1451 | version "3.1.1" 1452 | resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" 1453 | integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== 1454 | dependencies: 1455 | spdx-expression-parse "^3.0.0" 1456 | spdx-license-ids "^3.0.0" 1457 | 1458 | spdx-exceptions@^2.1.0: 1459 | version "2.3.0" 1460 | resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" 1461 | integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== 1462 | 1463 | spdx-expression-parse@^3.0.0: 1464 | version "3.0.1" 1465 | resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" 1466 | integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== 1467 | dependencies: 1468 | spdx-exceptions "^2.1.0" 1469 | spdx-license-ids "^3.0.0" 1470 | 1471 | spdx-license-ids@^3.0.0: 1472 | version "3.0.12" 1473 | resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779" 1474 | integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA== 1475 | 1476 | strip-indent@^3.0.0: 1477 | version "3.0.0" 1478 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" 1479 | integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== 1480 | dependencies: 1481 | min-indent "^1.0.0" 1482 | 1483 | supports-color@^5.3.0: 1484 | version "5.5.0" 1485 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 1486 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 1487 | dependencies: 1488 | has-flag "^3.0.0" 1489 | 1490 | supports-color@^7.0.0, supports-color@^7.1.0: 1491 | version "7.2.0" 1492 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 1493 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 1494 | dependencies: 1495 | has-flag "^4.0.0" 1496 | 1497 | supports-preserve-symlinks-flag@^1.0.0: 1498 | version "1.0.0" 1499 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 1500 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 1501 | 1502 | terser@^5.2.1: 1503 | version "5.15.0" 1504 | resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.0.tgz#e16967894eeba6e1091509ec83f0c60e179f2425" 1505 | integrity sha512-L1BJiXVmheAQQy+as0oF3Pwtlo4s3Wi1X2zNZ2NxOB4wx9bdS9Vk67XQENLFdLYGCK/Z2di53mTj/hBafR+dTA== 1506 | dependencies: 1507 | "@jridgewell/source-map" "^0.3.2" 1508 | acorn "^8.5.0" 1509 | commander "^2.20.0" 1510 | source-map-support "~0.5.20" 1511 | 1512 | to-fast-properties@^2.0.0: 1513 | version "2.0.0" 1514 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 1515 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 1516 | 1517 | to-regex-range@^5.0.1: 1518 | version "5.0.1" 1519 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 1520 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 1521 | dependencies: 1522 | is-number "^7.0.0" 1523 | 1524 | trim-newlines@^3.0.0: 1525 | version "3.0.1" 1526 | resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" 1527 | integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== 1528 | 1529 | type-fest@^0.13.1: 1530 | version "0.13.1" 1531 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" 1532 | integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== 1533 | 1534 | type-fest@^0.6.0: 1535 | version "0.6.0" 1536 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" 1537 | integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== 1538 | 1539 | type-fest@^0.8.1: 1540 | version "0.8.1" 1541 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" 1542 | integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== 1543 | 1544 | typescript@^4.8.2: 1545 | version "4.8.2" 1546 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.8.2.tgz#e3b33d5ccfb5914e4eeab6699cf208adee3fd790" 1547 | integrity sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw== 1548 | 1549 | universalify@^2.0.0: 1550 | version "2.0.0" 1551 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" 1552 | integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== 1553 | 1554 | update-browserslist-db@^1.0.5: 1555 | version "1.0.7" 1556 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz#16279639cff1d0f800b14792de43d97df2d11b7d" 1557 | integrity sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg== 1558 | dependencies: 1559 | escalade "^3.1.1" 1560 | picocolors "^1.0.0" 1561 | 1562 | v8-compile-cache@^2.1.1: 1563 | version "2.3.0" 1564 | resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" 1565 | integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== 1566 | 1567 | validate-npm-package-license@^3.0.1: 1568 | version "3.0.4" 1569 | resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" 1570 | integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== 1571 | dependencies: 1572 | spdx-correct "^3.0.0" 1573 | spdx-expression-parse "^3.0.0" 1574 | 1575 | wrappy@1: 1576 | version "1.0.2" 1577 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 1578 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 1579 | 1580 | yallist@^4.0.0: 1581 | version "4.0.0" 1582 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 1583 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 1584 | 1585 | yargs-parser@^18.1.3: 1586 | version "18.1.3" 1587 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" 1588 | integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== 1589 | dependencies: 1590 | camelcase "^5.0.0" 1591 | decamelize "^1.2.0" 1592 | 1593 | yocto-queue@^0.1.0: 1594 | version "0.1.0" 1595 | resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" 1596 | integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== 1597 | 1598 | zod@^3.19.0: 1599 | version "3.19.0" 1600 | resolved "https://registry.yarnpkg.com/zod/-/zod-3.19.0.tgz#a9303fcaed0950a3dc57bf35cc11f6282d4f52f2" 1601 | integrity sha512-Yw0qvUsCNGBe5YacikdMt5gVYeUuaEFVDIHKMfElrGSaBhwR3CQK6vOzgfAJOjTdGIhEeoaj8GtT+NDZrepZbw== 1602 | --------------------------------------------------------------------------------