├── .gitignore ├── .husky └── pre-commit ├── jest.config.js ├── tsconfig.json ├── .github └── workflows │ └── ci.yml ├── tests ├── field-removed.spec.ts ├── required-input-field-added.spec.ts ├── required-arg-added.spec.ts ├── type-removed.spec.ts ├── type-removed-from-union.spec.ts ├── type-changed-kind.spec.ts ├── arg-removed.spec.ts ├── implemented-interface-removed.spec.ts ├── testkit.ts ├── field-changed-kind.spec.ts ├── value-removed-from-enum.spec.ts └── arg-changed-kind.spec.ts ├── README.md ├── package.json └── yarn.lock /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules -------------------------------------------------------------------------------- /.husky/pre-commit: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | . "$(dirname -- "$0")/_/husky.sh" 3 | 4 | npx lint-staged 5 | -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */ 2 | module.exports = { 3 | preset: 'ts-jest', 4 | testEnvironment: 'node', 5 | }; -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2020", 4 | "module": "commonjs", 5 | "moduleResolution": "node", 6 | 7 | "isolatedModules": true, 8 | "strict": true, 9 | 10 | "types": ["jest"] 11 | }, 12 | "include": ["tests"], 13 | "exclude": ["node_modules"] 14 | } 15 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | on: [pull_request, push] 3 | 4 | jobs: 5 | test: 6 | name: Test 7 | runs-on: ubuntu-latest 8 | 9 | steps: 10 | - name: Git checkout 11 | uses: actions/checkout@v3 12 | with: 13 | fetch-depth: 1 14 | 15 | - uses: actions/setup-node@v2 16 | with: 17 | node-version: 16 18 | 19 | - name: Install Dependencies 20 | run: yarn 21 | 22 | - name: Test 23 | run: yarn test 24 | 25 | - name: Prettier check 26 | run: yarn format:check 27 | -------------------------------------------------------------------------------- /tests/field-removed.spec.ts: -------------------------------------------------------------------------------- 1 | import { gql } from "./testkit"; 2 | 3 | test("safe: field removed and is not selected", () => { 4 | expect({ 5 | before: gql` 6 | type User { 7 | id: ID! 8 | name: String 9 | } 10 | 11 | type Query { 12 | user: User 13 | } 14 | `, 15 | after: gql` 16 | type User { 17 | id: ID! 18 | } 19 | 20 | type Query { 21 | user: User 22 | } 23 | `, 24 | query: gql` 25 | { 26 | user { 27 | id 28 | } 29 | } 30 | `, 31 | }).toBeSafe(); 32 | }); 33 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Breaking changes in GraphQL Schema 2 | 3 | Currently, tools like GraphQL Hive, GraphQL Inspector and Apollo Studio visit fields, variables, arguments, and object fields in `DocumentNode`, collect their return types and parent types, turn them into schema coordinates and persist in a database. 4 | When a GraphQL Schema is modified, a list of changes represented by schema coordinates is created. 5 | This list is checked against the database to see if a schema coordinate was used in the past, and if so, to mark the change as breaking. 6 | 7 | This is too safe. It prevents breaking changes but also prevents pushing changes that are safe 🙂 8 | 9 | The goal of this repository is to define and tests set of scenarios and changes in schema and to ensure that they are safe or breaking. 10 | 11 | ## How to contribute? 12 | 13 | Just create a test case in the `tests` directory :) -------------------------------------------------------------------------------- /tests/required-input-field-added.spec.ts: -------------------------------------------------------------------------------- 1 | import { gql } from "./testkit"; 2 | 3 | test("safe: field using input is not selected", () => { 4 | expect({ 5 | before: gql` 6 | type Query { 7 | document: String 8 | foo: String 9 | } 10 | `, 11 | after: gql` 12 | type Query { 13 | document(id: ID!): String 14 | foo: String 15 | } 16 | `, 17 | query: gql` 18 | { 19 | foo 20 | } 21 | `, 22 | }).toBeSafe(); 23 | }); 24 | 25 | test("breaking: field using input is selected", () => { 26 | expect({ 27 | before: gql` 28 | type Query { 29 | document: String 30 | } 31 | `, 32 | after: gql` 33 | type Query { 34 | document(id: ID!): String 35 | } 36 | `, 37 | query: gql` 38 | { 39 | document 40 | } 41 | `, 42 | }).not.toBeSafe(); 43 | }); 44 | -------------------------------------------------------------------------------- /tests/required-arg-added.spec.ts: -------------------------------------------------------------------------------- 1 | import { gql } from "./testkit"; 2 | 3 | test("safe: arg added but field is not selected", () => { 4 | expect({ 5 | before: gql` 6 | type Query { 7 | used: String 8 | foo: String 9 | } 10 | `, 11 | after: gql` 12 | type Query { 13 | used: String 14 | foo(required: Boolean!): ID 15 | } 16 | `, 17 | query: gql` 18 | { 19 | used 20 | } 21 | `, 22 | }).toBeSafe(); 23 | }); 24 | 25 | test("safe: adding a new non-nullable argument with default value", () => { 26 | expect({ 27 | before: gql` 28 | type Query { 29 | words: [String] 30 | } 31 | `, 32 | after: gql` 33 | type Query { 34 | words(len: Int! = 2): [String] 35 | } 36 | `, 37 | query: gql` 38 | { 39 | words 40 | } 41 | `, 42 | }).toBeSafe(); 43 | }); 44 | -------------------------------------------------------------------------------- /tests/type-removed.spec.ts: -------------------------------------------------------------------------------- 1 | import { gql } from "./testkit"; 2 | 3 | test("safe: type removed and is not selected", () => { 4 | expect({ 5 | before: gql` 6 | type Query { 7 | foo: String 8 | user: User 9 | } 10 | 11 | type User { 12 | name: String 13 | } 14 | `, 15 | after: gql` 16 | type Query { 17 | foo: String 18 | } 19 | `, 20 | query: gql` 21 | { 22 | foo 23 | } 24 | `, 25 | }).toBeSafe(); 26 | }); 27 | 28 | test("breaking: type removed and is selected", () => { 29 | expect({ 30 | before: gql` 31 | type Query { 32 | foo: String 33 | user: User 34 | } 35 | 36 | type User { 37 | name: String 38 | } 39 | `, 40 | after: gql` 41 | type Query { 42 | foo: String 43 | } 44 | `, 45 | query: gql` 46 | { 47 | user { 48 | name 49 | } 50 | } 51 | `, 52 | }).not.toBeSafe(); 53 | }); 54 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "name": "graphql-breaking-changes", 4 | "version": "0.0.0", 5 | "author": { 6 | "name": "Kamil Kisiela", 7 | "email": "kamil.kisiela@gmail.com", 8 | "url": "https://github.com/kamilkisiela" 9 | }, 10 | "repository": { 11 | "type": "git", 12 | "url": "https://github.com/kamilkisiela/graphql-breaking-changes" 13 | }, 14 | "license": "MIT", 15 | "scripts": { 16 | "test": "jest", 17 | "format": "prettier --write 'tests/**/*.ts'", 18 | "format:check": "prettier --check 'tests/**/*.ts'", 19 | "prepare": "husky install" 20 | }, 21 | "lint-staged": { 22 | "*.ts": "prettier --write" 23 | }, 24 | "devDependencies": { 25 | "@graphql-tools/mock": "^9.0.0", 26 | "@types/jest": "^28.1.3", 27 | "graphql": "^16.5.0", 28 | "husky": "^8.0.1", 29 | "jest": "^28.1.1", 30 | "lint-staged": "^13.0.3", 31 | "prettier": "^2.7.1", 32 | "ts-jest": "^28.0.5", 33 | "typescript": "^4.7.4" 34 | }, 35 | "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e" 36 | } 37 | -------------------------------------------------------------------------------- /tests/type-removed-from-union.spec.ts: -------------------------------------------------------------------------------- 1 | import { gql } from "./testkit"; 2 | 3 | test("safe: removed type from union and type is not used in inline fragment", () => { 4 | expect({ 5 | before: gql` 6 | type Query { 7 | user: User 8 | } 9 | 10 | union User = Customer | Admin 11 | 12 | type Customer { 13 | name: String 14 | } 15 | 16 | type Admin { 17 | id: ID! 18 | } 19 | `, 20 | after: gql` 21 | type Query { 22 | user: User 23 | } 24 | 25 | union User = Customer 26 | 27 | type Customer { 28 | name: String 29 | } 30 | `, 31 | query: gql` 32 | { 33 | user { 34 | ... on Customer { 35 | name 36 | } 37 | } 38 | } 39 | `, 40 | mocks: { 41 | User: () => ({ __typename: "Customer", name: "Jeff" }), 42 | }, 43 | }).toBeSafe(); 44 | }); 45 | 46 | // This used to be breaking... 47 | test("safe: removed type from union and type is used in inline fragment", () => { 48 | expect({ 49 | before: gql` 50 | type Query { 51 | user: User 52 | } 53 | 54 | union User = Customer | Admin 55 | 56 | type Customer { 57 | name: String 58 | } 59 | 60 | type Admin { 61 | id: ID! 62 | } 63 | `, 64 | after: gql` 65 | type Query { 66 | user: User 67 | } 68 | 69 | union User = Customer 70 | 71 | type Customer { 72 | name: String 73 | } 74 | `, 75 | query: gql` 76 | { 77 | user { 78 | ... on Customer { 79 | name 80 | } 81 | ... on Admin { 82 | id 83 | } 84 | } 85 | } 86 | `, 87 | mocks: { 88 | User: () => ({ __typename: "Customer", name: "Jeff" }), 89 | }, 90 | }).toBeSafe(); 91 | }); 92 | -------------------------------------------------------------------------------- /tests/type-changed-kind.spec.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Renaming means changing the name but keeping the exact same shape. 3 | */ 4 | 5 | import { gql } from "./testkit"; 6 | 7 | test("safe: renaming object type and __typename is not selected", () => { 8 | expect({ 9 | before: gql` 10 | type Query { 11 | user: User 12 | } 13 | 14 | type User { 15 | name: String 16 | } 17 | `, 18 | after: gql` 19 | type Query { 20 | user: NewUser 21 | } 22 | 23 | type NewUser { 24 | name: String 25 | } 26 | `, 27 | query: gql` 28 | { 29 | user { 30 | name 31 | } 32 | } 33 | `, 34 | }).toBeSafe(); 35 | }); 36 | 37 | test("breaking: renaming object type and __typename is selected", () => { 38 | expect({ 39 | before: gql` 40 | type Query { 41 | user: User 42 | } 43 | 44 | type User { 45 | name: String 46 | } 47 | `, 48 | after: gql` 49 | type Query { 50 | user: NewUser 51 | } 52 | 53 | type NewUser { 54 | name: String 55 | } 56 | `, 57 | query: gql` 58 | { 59 | user { 60 | __typename 61 | name 62 | } 63 | } 64 | `, 65 | }).not.toBeSafe(); 66 | }); 67 | 68 | test("breaking: renaming object type and type is used in fragment", () => { 69 | expect({ 70 | before: gql` 71 | type Query { 72 | user: User 73 | } 74 | 75 | type User { 76 | name: String 77 | } 78 | `, 79 | after: gql` 80 | type Query { 81 | user: NewUser 82 | } 83 | 84 | type NewUser { 85 | name: String 86 | } 87 | `, 88 | query: gql` 89 | fragment UserName on User { 90 | name 91 | } 92 | 93 | { 94 | user { 95 | ...UserName 96 | } 97 | } 98 | `, 99 | }).not.toBeSafe(); 100 | }); 101 | -------------------------------------------------------------------------------- /tests/arg-removed.spec.ts: -------------------------------------------------------------------------------- 1 | import { gql } from "./testkit"; 2 | 3 | test("safe: argument is nullable and was never requested", () => { 4 | expect({ 5 | before: gql` 6 | type Query { 7 | foo(bar: Boolean): String 8 | } 9 | `, 10 | after: gql` 11 | type Query { 12 | foo: String 13 | } 14 | `, 15 | query: gql` 16 | { 17 | foo 18 | } 19 | `, 20 | }).toBeSafe(); 21 | }); 22 | 23 | test("safe: argument is non-nullable with a default, and was never requested with the argument", () => { 24 | expect({ 25 | before: gql` 26 | type Query { 27 | foo(bar: Boolean! = true): String 28 | } 29 | `, 30 | after: gql` 31 | type Query { 32 | foo: String 33 | } 34 | `, 35 | query: gql` 36 | { 37 | foo 38 | } 39 | `, 40 | }).toBeSafe(); 41 | }); 42 | 43 | test("safe: argument is nullable and was passed a null variable", () => { 44 | expect({ 45 | before: gql` 46 | type Query { 47 | foo(bar: Boolean): String 48 | } 49 | `, 50 | after: gql` 51 | type Query { 52 | foo: String 53 | } 54 | `, 55 | query: gql` 56 | query FooBar($bar: Boolean) { 57 | foo(bar: $bar) 58 | } 59 | `, 60 | variables: { 61 | bar: null, 62 | }, 63 | }).toBeSafe(); 64 | }); 65 | 66 | test("safe: argument is nullable and was passed a variable", () => { 67 | expect({ 68 | before: gql` 69 | type Query { 70 | foo(bar: Boolean): String 71 | } 72 | `, 73 | after: gql` 74 | type Query { 75 | foo: String 76 | } 77 | `, 78 | query: gql` 79 | query FooBar($bar: Boolean) { 80 | foo(bar: $bar) 81 | } 82 | `, 83 | variables: { 84 | bar: true, 85 | }, 86 | }).toBeSafe(); 87 | }); 88 | 89 | // @note this used to be breaking I thought... 90 | test("safe: argument is non-nullable and was passed a variable", () => { 91 | expect({ 92 | before: gql` 93 | type Query { 94 | foo(bar: Boolean!): String 95 | } 96 | `, 97 | after: gql` 98 | type Query { 99 | foo: String 100 | } 101 | `, 102 | query: gql` 103 | query FooBar($bar: Boolean!) { 104 | foo(bar: $bar) 105 | } 106 | `, 107 | variables: { 108 | bar: true, 109 | }, 110 | }).toBeSafe(); 111 | }); 112 | -------------------------------------------------------------------------------- /tests/implemented-interface-removed.spec.ts: -------------------------------------------------------------------------------- 1 | import { gql } from "./testkit"; 2 | 3 | test("safe: implemented interface removed, but implementing type keeps the selected fields", () => { 4 | expect({ 5 | before: gql` 6 | interface User { 7 | id: ID! 8 | name: String 9 | } 10 | 11 | type Admin implements User { 12 | id: ID! 13 | name: String 14 | role: String 15 | } 16 | 17 | type Query { 18 | admin: Admin 19 | } 20 | `, 21 | after: gql` 22 | type Admin { 23 | id: ID! 24 | name: String 25 | role: String 26 | } 27 | 28 | type Query { 29 | admin: Admin 30 | } 31 | `, 32 | query: gql` 33 | { 34 | admin { 35 | id 36 | } 37 | } 38 | `, 39 | }).toBeSafe(); 40 | }); 41 | 42 | test("safe: implemented interface removed and only implemented type is used is in selection", () => { 43 | expect({ 44 | before: gql` 45 | interface User { 46 | id: ID! 47 | name: String 48 | } 49 | 50 | type Admin implements User { 51 | id: ID! 52 | name: String 53 | role: String 54 | } 55 | 56 | type Query { 57 | user: User 58 | } 59 | `, 60 | after: gql` 61 | type Admin { 62 | id: ID! 63 | name: String 64 | role: String 65 | } 66 | 67 | type Query { 68 | user: Admin 69 | } 70 | `, 71 | query: gql` 72 | { 73 | user { 74 | ... on Admin { 75 | id 76 | } 77 | } 78 | } 79 | `, 80 | }).toBeSafe(); 81 | }); 82 | 83 | test("breaking: implemented interface removed and is used is in selection", () => { 84 | expect({ 85 | before: gql` 86 | interface User { 87 | id: ID! 88 | name: String 89 | } 90 | 91 | type Admin implements User { 92 | id: ID! 93 | name: String 94 | role: String 95 | } 96 | 97 | type Query { 98 | user: User 99 | } 100 | `, 101 | after: gql` 102 | type Admin { 103 | id: ID! 104 | name: String 105 | role: String 106 | } 107 | 108 | type Query { 109 | user: Admin 110 | } 111 | `, 112 | query: gql` 113 | { 114 | user { 115 | ... on User { 116 | id 117 | } 118 | } 119 | } 120 | `, 121 | }).not.toBeSafe(); 122 | }); 123 | -------------------------------------------------------------------------------- /tests/testkit.ts: -------------------------------------------------------------------------------- 1 | import { buildASTSchema, parse, executeSync, DocumentNode } from "graphql"; 2 | import { addMocksToSchema, IMocks } from "@graphql-tools/mock"; 3 | import { expect } from "@jest/globals"; 4 | 5 | declare global { 6 | namespace jest { 7 | interface Matchers { 8 | toBeSafe(): R; 9 | } 10 | } 11 | } 12 | 13 | export function gql(literals: string | readonly string[]) { 14 | if (typeof literals === "string") { 15 | return parse(literals); 16 | } 17 | 18 | return parse(literals[0]); 19 | } 20 | 21 | expect.extend({ 22 | toBeSafe: function (received: { 23 | before: DocumentNode; 24 | after: DocumentNode; 25 | query: DocumentNode; 26 | variables?: { [key: string]: any }; 27 | mocks?: IMocks; 28 | }) { 29 | const before = executeQuery({ 30 | schema: received.before, 31 | query: received.query, 32 | variables: received.variables, 33 | mocks: received.mocks, 34 | }); 35 | const after = executeQuery({ 36 | schema: received.after, 37 | query: received.query, 38 | variables: received.variables, 39 | mocks: received.mocks, 40 | }); 41 | 42 | const pass = !Array.isArray(before.errors) && this.equals(before, after); 43 | 44 | if (pass) { 45 | return { 46 | message: () => 47 | `expected to be breaking, but it was safe.\n\n${this.utils.printDiffOrStringify( 48 | before, 49 | after, 50 | "Before", 51 | "After", 52 | true 53 | )}`, 54 | pass: true, 55 | }; 56 | } 57 | 58 | return { 59 | message: () => 60 | `expected to be safe, but it was breaking\n\n${this.utils.printDiffOrStringify( 61 | before, 62 | after, 63 | "Before", 64 | "After", 65 | true 66 | )}`, 67 | pass: false, 68 | }; 69 | }, 70 | }); 71 | 72 | function buildMockSchema(schema: DocumentNode, mocks?: IMocks) { 73 | return addMocksToSchema({ 74 | schema: buildASTSchema(schema), 75 | mocks: { 76 | Boolean: () => true, 77 | ID: () => "3ba6c565-9c41-4e57-8afe-26e11ffa312d", 78 | ...(mocks ?? {}), 79 | }, 80 | }); 81 | } 82 | 83 | function executeQuery({ 84 | query, 85 | schema, 86 | variables, 87 | mocks, 88 | }: { 89 | schema: DocumentNode; 90 | query: DocumentNode; 91 | variables?: { [key: string]: any }; 92 | /** 93 | * Used if you need to return a specific value for the test cases to match consistently. e.g. for unions or enums 94 | * See https://the-guild.dev/graphql/tools/docs/mocking#customizing-mocks 95 | */ 96 | mocks?: IMocks; 97 | }) { 98 | return executeSync({ 99 | schema: buildMockSchema(schema, mocks), 100 | document: query, 101 | variableValues: variables, 102 | }); 103 | } 104 | -------------------------------------------------------------------------------- /tests/field-changed-kind.spec.ts: -------------------------------------------------------------------------------- 1 | import { gql } from "./testkit"; 2 | 3 | /** @note: This would risk breaking consumers if a new value is returned though... E.g. an int in this case */ 4 | test("safe: field changed to inclusive kind and is selected", () => { 5 | expect({ 6 | before: gql` 7 | type Query { 8 | foo: String 9 | } 10 | `, 11 | after: gql` 12 | type Query { 13 | foo: ID 14 | } 15 | `, 16 | query: gql` 17 | { 18 | foo 19 | } 20 | `, 21 | mocks: { 22 | ID: () => "Hello World", 23 | }, 24 | }).toBeSafe(); 25 | }); 26 | 27 | test("safe: field changed to partially inclusive kind, is selected, and based on usage is returning a compatible kind", () => { 28 | expect({ 29 | before: gql` 30 | type Query { 31 | foo: ID 32 | } 33 | `, 34 | after: gql` 35 | type Query { 36 | foo: String 37 | } 38 | `, 39 | query: gql` 40 | { 41 | foo 42 | } 43 | `, 44 | mocks: { 45 | ID: () => "Hello World", 46 | }, 47 | }).toBeSafe(); 48 | }); 49 | 50 | test("safe: field changed to compatible kind and the typename is not selected", () => { 51 | expect({ 52 | before: gql` 53 | type Foo { 54 | id: ID! 55 | } 56 | 57 | type Query { 58 | foo: Foo 59 | } 60 | `, 61 | after: gql` 62 | type Bar { 63 | id: ID! 64 | } 65 | 66 | type Query { 67 | foo: Bar 68 | } 69 | `, 70 | query: gql` 71 | { 72 | foo { 73 | id 74 | } 75 | } 76 | `, 77 | }).toBeSafe(); 78 | }); 79 | 80 | test("breaking: field changed to compatible kind and the typename is selected", () => { 81 | expect({ 82 | before: gql` 83 | type Foo { 84 | id: ID! 85 | } 86 | 87 | type Query { 88 | foo: Foo 89 | } 90 | `, 91 | after: gql` 92 | type Bar { 93 | id: ID! 94 | } 95 | 96 | type Query { 97 | foo: Bar 98 | } 99 | `, 100 | query: gql` 101 | { 102 | foo { 103 | __typename 104 | id 105 | } 106 | } 107 | `, 108 | }).not.toBeSafe(); 109 | }); 110 | 111 | test("breaking: field changed to compatible kind and the type is used in a the selected fragment", () => { 112 | expect({ 113 | before: gql` 114 | type Foo { 115 | id: ID! 116 | } 117 | 118 | type Query { 119 | foo: Foo 120 | } 121 | `, 122 | after: gql` 123 | type Bar { 124 | id: ID! 125 | } 126 | 127 | type Query { 128 | foo: Bar 129 | } 130 | `, 131 | query: gql` 132 | fragment FooFrag on Foo { 133 | id 134 | } 135 | { 136 | foo { 137 | ...FooFrag 138 | } 139 | } 140 | `, 141 | }).not.toBeSafe(); 142 | }); 143 | -------------------------------------------------------------------------------- /tests/value-removed-from-enum.spec.ts: -------------------------------------------------------------------------------- 1 | import { gql } from "./testkit"; 2 | 3 | test("safe: value removed and field returning the enum is not selected", () => { 4 | expect({ 5 | before: gql` 6 | type Query { 7 | status: Status 8 | otherField: Boolean 9 | } 10 | 11 | enum Status { 12 | DEFAULT 13 | DEPRECATED 14 | } 15 | `, 16 | after: gql` 17 | type Query { 18 | status: Status 19 | otherField: Boolean 20 | } 21 | 22 | enum Status { 23 | DEFAULT 24 | } 25 | `, 26 | query: gql` 27 | { 28 | otherField 29 | } 30 | `, 31 | }).toBeSafe(); 32 | }); 33 | 34 | // Removing an enum value is safe based on selection 35 | test("safe: value removed and field returning the enum is selected", () => { 36 | expect({ 37 | before: gql` 38 | type Query { 39 | status: Status 40 | } 41 | 42 | enum Status { 43 | DEFAULT 44 | DEPRECATED 45 | } 46 | `, 47 | after: gql` 48 | type Query { 49 | status: Status 50 | } 51 | 52 | enum Status { 53 | DEFAULT 54 | } 55 | `, 56 | query: gql` 57 | { 58 | status 59 | } 60 | `, 61 | mocks: { 62 | Status: () => "DEFAULT", 63 | }, 64 | }).toBeSafe(); 65 | }); 66 | 67 | test("breaking: value removed and enum value is used as argument", () => { 68 | expect({ 69 | before: gql` 70 | type Query { 71 | userNames(status: Status): [String] 72 | } 73 | 74 | enum Status { 75 | DEFAULT 76 | DEPRECATED 77 | } 78 | `, 79 | after: gql` 80 | type Query { 81 | userNames(status: Status): [String] 82 | } 83 | 84 | enum Status { 85 | DEFAULT 86 | } 87 | `, 88 | query: gql` 89 | { 90 | userNames(status: DEPRECATED) 91 | } 92 | `, 93 | }).not.toBeSafe(); 94 | }); 95 | 96 | test("breaking: value removed and enum value is used as input", () => { 97 | expect({ 98 | before: gql` 99 | input UserNamesInput { 100 | status: Status 101 | } 102 | 103 | type Query { 104 | userNames(input: UserNamesInput): [String] 105 | } 106 | 107 | enum Status { 108 | DEFAULT 109 | DEPRECATED 110 | } 111 | `, 112 | after: gql` 113 | type Query { 114 | userNames(input: UserNamesInput): [String] 115 | } 116 | 117 | input UserNamesInput { 118 | status: Status 119 | } 120 | 121 | enum Status { 122 | DEFAULT 123 | } 124 | `, 125 | query: gql` 126 | { 127 | userNames(input: { status: DEPRECATED }) 128 | } 129 | `, 130 | }).not.toBeSafe(); 131 | }); 132 | 133 | test("breaking: value removed and enum value is used as operation variable", () => { 134 | expect({ 135 | before: gql` 136 | type Query { 137 | userNames(status: Status): [String] 138 | } 139 | 140 | enum Status { 141 | DEFAULT 142 | DEPRECATED 143 | } 144 | `, 145 | after: gql` 146 | type Query { 147 | userNames(status: Status): [String] 148 | } 149 | 150 | enum Status { 151 | DEFAULT 152 | } 153 | `, 154 | query: gql` 155 | query GetUserNames($status: Status) { 156 | userNames(status: $status) 157 | } 158 | `, 159 | variables: { 160 | status: "DEPRECATED", 161 | }, 162 | }).not.toBeSafe(); 163 | }); 164 | -------------------------------------------------------------------------------- /tests/arg-changed-kind.spec.ts: -------------------------------------------------------------------------------- 1 | import { gql } from "./testkit"; 2 | 3 | /** @note: This would risk breaking consumers if a new value is returned though... E.g. an int in this case */ 4 | test("safe: arg changed to inclusive kind and is used", () => { 5 | expect({ 6 | before: gql` 7 | type Query { 8 | foo(bar: String): String 9 | } 10 | `, 11 | after: gql` 12 | type Query { 13 | foo(bar: ID): String 14 | } 15 | `, 16 | query: gql` 17 | { 18 | foo(bar: "string") 19 | } 20 | `, 21 | }).toBeSafe(); 22 | }); 23 | 24 | test("safe: arg changed to partially inclusive kind, is used, and based on usage is passing a compatible kind", () => { 25 | expect({ 26 | before: gql` 27 | type Query { 28 | foo(bar: ID): String 29 | } 30 | `, 31 | after: gql` 32 | type Query { 33 | foo(bar: String): String 34 | } 35 | `, 36 | query: gql` 37 | { 38 | foo(bar: "string") 39 | } 40 | `, 41 | }).toBeSafe(); 42 | }); 43 | 44 | test("breaking: arg changed to partially inclusive kind, is used, and based on usage is not passing a compatible kind", () => { 45 | expect({ 46 | before: gql` 47 | type Query { 48 | foo(bar: ID): String 49 | } 50 | `, 51 | after: gql` 52 | type Query { 53 | foo(bar: Int): String 54 | } 55 | `, 56 | query: gql` 57 | { 58 | foo(bar: "string") 59 | } 60 | `, 61 | }).not.toBeSafe(); 62 | }); 63 | 64 | test("breaking: removing a default value from an non-nullable argument", () => { 65 | expect({ 66 | before: gql` 67 | type Query { 68 | words(len: Int! = 2): [String] 69 | } 70 | `, 71 | after: gql` 72 | type Query { 73 | words(len: Int!): [String] 74 | } 75 | `, 76 | query: gql` 77 | { 78 | words 79 | } 80 | `, 81 | }).not.toBeSafe(); 82 | }); 83 | 84 | test("safe: removing a default value from an nullable argument", () => { 85 | expect({ 86 | before: gql` 87 | type Query { 88 | words(len: Int = 2): [String] 89 | } 90 | `, 91 | after: gql` 92 | type Query { 93 | words(len: Int): [String] 94 | } 95 | `, 96 | query: gql` 97 | { 98 | words 99 | } 100 | `, 101 | }).toBeSafe(); 102 | }); 103 | 104 | test("safe: adding a default value to existing non-nullable argument", () => { 105 | expect({ 106 | before: gql` 107 | type Query { 108 | words(len: Int!): [String] 109 | } 110 | `, 111 | after: gql` 112 | type Query { 113 | words(len: Int! = 2): [String] 114 | } 115 | `, 116 | query: gql` 117 | { 118 | words(len: 3) 119 | } 120 | `, 121 | }).toBeSafe(); 122 | }); 123 | 124 | test("safe: adding a default value to existing nullable argument", () => { 125 | expect({ 126 | before: gql` 127 | type Query { 128 | words(len: Int): [String] 129 | } 130 | `, 131 | after: gql` 132 | type Query { 133 | words(len: Int = 2): [String] 134 | } 135 | `, 136 | query: gql` 137 | { 138 | words 139 | } 140 | `, 141 | }).toBeSafe(); 142 | }); 143 | 144 | test("safe: adding a new nullable argument with default value", () => { 145 | expect({ 146 | before: gql` 147 | type Query { 148 | words: [String] 149 | } 150 | `, 151 | after: gql` 152 | type Query { 153 | words(len: Int = 2): [String] 154 | } 155 | `, 156 | query: gql` 157 | { 158 | words 159 | } 160 | `, 161 | }).toBeSafe(); 162 | }); 163 | -------------------------------------------------------------------------------- /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.12.13", "@babel/code-frame@^7.18.6": 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.18.6": 21 | version "7.18.6" 22 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.18.6.tgz#8b37d24e88e8e21c499d4328db80577d8882fa53" 23 | integrity sha512-tzulrgDT0QD6U7BJ4TKVk2SDDg7wlP39P9yAx1RfLy7vP/7rsDRlWVfbWxElslu56+r7QOhB2NSDsabYYruoZQ== 24 | 25 | "@babel/core@^7.11.6", "@babel/core@^7.12.3": 26 | version "7.18.6" 27 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.18.6.tgz#54a107a3c298aee3fe5e1947a6464b9b6faca03d" 28 | integrity sha512-cQbWBpxcbbs/IUredIPkHiAGULLV8iwgNRMFzvbhEXISp4f3rUUXE5+TIw6KwUWUR3DwyI6gmBRnmAtYaWehwQ== 29 | dependencies: 30 | "@ampproject/remapping" "^2.1.0" 31 | "@babel/code-frame" "^7.18.6" 32 | "@babel/generator" "^7.18.6" 33 | "@babel/helper-compilation-targets" "^7.18.6" 34 | "@babel/helper-module-transforms" "^7.18.6" 35 | "@babel/helpers" "^7.18.6" 36 | "@babel/parser" "^7.18.6" 37 | "@babel/template" "^7.18.6" 38 | "@babel/traverse" "^7.18.6" 39 | "@babel/types" "^7.18.6" 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.18.6", "@babel/generator@^7.7.2": 47 | version "7.18.6" 48 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.6.tgz#9ab2d46d3cbf631f0e80f72e72874a04c3fc12a9" 49 | integrity sha512-AIwwoOS8axIC5MZbhNHRLKi3D+DMpvDf9XUcu3pIVAfOHFT45f4AoDAltRbHIQomCipkCZxrNkfpOEHhJz/VKw== 50 | dependencies: 51 | "@babel/types" "^7.18.6" 52 | "@jridgewell/gen-mapping" "^0.3.0" 53 | jsesc "^2.5.1" 54 | 55 | "@babel/helper-compilation-targets@^7.18.6": 56 | version "7.18.6" 57 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.6.tgz#18d35bfb9f83b1293c22c55b3d576c1315b6ed96" 58 | integrity sha512-vFjbfhNCzqdeAtZflUFrG5YIFqGTqsctrtkZ1D/NB0mDW9TwW3GmmUepYY4G9wCET5rY5ugz4OGTcLd614IzQg== 59 | dependencies: 60 | "@babel/compat-data" "^7.18.6" 61 | "@babel/helper-validator-option" "^7.18.6" 62 | browserslist "^4.20.2" 63 | semver "^6.3.0" 64 | 65 | "@babel/helper-environment-visitor@^7.18.6": 66 | version "7.18.6" 67 | resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.6.tgz#b7eee2b5b9d70602e59d1a6cad7dd24de7ca6cd7" 68 | integrity sha512-8n6gSfn2baOY+qlp+VSzsosjCVGFqWKmDF0cCWOybh52Dw3SEyoWR1KrhMJASjLwIEkkAufZ0xvr+SxLHSpy2Q== 69 | 70 | "@babel/helper-function-name@^7.18.6": 71 | version "7.18.6" 72 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.18.6.tgz#8334fecb0afba66e6d87a7e8c6bb7fed79926b83" 73 | integrity sha512-0mWMxV1aC97dhjCah5U5Ua7668r5ZmSC2DLfH2EZnf9c3/dHZKiFa5pRLMH5tjSl471tY6496ZWk/kjNONBxhw== 74 | dependencies: 75 | "@babel/template" "^7.18.6" 76 | "@babel/types" "^7.18.6" 77 | 78 | "@babel/helper-hoist-variables@^7.18.6": 79 | version "7.18.6" 80 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" 81 | integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== 82 | dependencies: 83 | "@babel/types" "^7.18.6" 84 | 85 | "@babel/helper-module-imports@^7.18.6": 86 | version "7.18.6" 87 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" 88 | integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== 89 | dependencies: 90 | "@babel/types" "^7.18.6" 91 | 92 | "@babel/helper-module-transforms@^7.18.6": 93 | version "7.18.6" 94 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.18.6.tgz#57e3ca669e273d55c3cda55e6ebf552f37f483c8" 95 | integrity sha512-L//phhB4al5uucwzlimruukHB3jRd5JGClwRMD/ROrVjXfLqovYnvQrK/JK36WYyVwGGO7OD3kMyVTjx+WVPhw== 96 | dependencies: 97 | "@babel/helper-environment-visitor" "^7.18.6" 98 | "@babel/helper-module-imports" "^7.18.6" 99 | "@babel/helper-simple-access" "^7.18.6" 100 | "@babel/helper-split-export-declaration" "^7.18.6" 101 | "@babel/helper-validator-identifier" "^7.18.6" 102 | "@babel/template" "^7.18.6" 103 | "@babel/traverse" "^7.18.6" 104 | "@babel/types" "^7.18.6" 105 | 106 | "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.8.0": 107 | version "7.18.6" 108 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.6.tgz#9448974dd4fb1d80fefe72e8a0af37809cd30d6d" 109 | integrity sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg== 110 | 111 | "@babel/helper-simple-access@^7.18.6": 112 | version "7.18.6" 113 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" 114 | integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== 115 | dependencies: 116 | "@babel/types" "^7.18.6" 117 | 118 | "@babel/helper-split-export-declaration@^7.18.6": 119 | version "7.18.6" 120 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" 121 | integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== 122 | dependencies: 123 | "@babel/types" "^7.18.6" 124 | 125 | "@babel/helper-validator-identifier@^7.18.6": 126 | version "7.18.6" 127 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" 128 | integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== 129 | 130 | "@babel/helper-validator-option@^7.18.6": 131 | version "7.18.6" 132 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" 133 | integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== 134 | 135 | "@babel/helpers@^7.18.6": 136 | version "7.18.6" 137 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.18.6.tgz#4c966140eaa1fcaa3d5a8c09d7db61077d4debfd" 138 | integrity sha512-vzSiiqbQOghPngUYt/zWGvK3LAsPhz55vc9XNN0xAl2gV4ieShI2OQli5duxWHD+72PZPTKAcfcZDE1Cwc5zsQ== 139 | dependencies: 140 | "@babel/template" "^7.18.6" 141 | "@babel/traverse" "^7.18.6" 142 | "@babel/types" "^7.18.6" 143 | 144 | "@babel/highlight@^7.18.6": 145 | version "7.18.6" 146 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" 147 | integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== 148 | dependencies: 149 | "@babel/helper-validator-identifier" "^7.18.6" 150 | chalk "^2.0.0" 151 | js-tokens "^4.0.0" 152 | 153 | "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.6": 154 | version "7.18.6" 155 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.6.tgz#845338edecad65ebffef058d3be851f1d28a63bc" 156 | integrity sha512-uQVSa9jJUe/G/304lXspfWVpKpK4euFLgGiMQFOCpM/bgcAdeoHwi/OQz23O9GK2osz26ZiXRRV9aV+Yl1O8tw== 157 | 158 | "@babel/plugin-syntax-async-generators@^7.8.4": 159 | version "7.8.4" 160 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" 161 | integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== 162 | dependencies: 163 | "@babel/helper-plugin-utils" "^7.8.0" 164 | 165 | "@babel/plugin-syntax-bigint@^7.8.3": 166 | version "7.8.3" 167 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" 168 | integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== 169 | dependencies: 170 | "@babel/helper-plugin-utils" "^7.8.0" 171 | 172 | "@babel/plugin-syntax-class-properties@^7.8.3": 173 | version "7.12.13" 174 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" 175 | integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== 176 | dependencies: 177 | "@babel/helper-plugin-utils" "^7.12.13" 178 | 179 | "@babel/plugin-syntax-import-meta@^7.8.3": 180 | version "7.10.4" 181 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" 182 | integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== 183 | dependencies: 184 | "@babel/helper-plugin-utils" "^7.10.4" 185 | 186 | "@babel/plugin-syntax-json-strings@^7.8.3": 187 | version "7.8.3" 188 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" 189 | integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== 190 | dependencies: 191 | "@babel/helper-plugin-utils" "^7.8.0" 192 | 193 | "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": 194 | version "7.10.4" 195 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" 196 | integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== 197 | dependencies: 198 | "@babel/helper-plugin-utils" "^7.10.4" 199 | 200 | "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": 201 | version "7.8.3" 202 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" 203 | integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== 204 | dependencies: 205 | "@babel/helper-plugin-utils" "^7.8.0" 206 | 207 | "@babel/plugin-syntax-numeric-separator@^7.8.3": 208 | version "7.10.4" 209 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" 210 | integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== 211 | dependencies: 212 | "@babel/helper-plugin-utils" "^7.10.4" 213 | 214 | "@babel/plugin-syntax-object-rest-spread@^7.8.3": 215 | version "7.8.3" 216 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" 217 | integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== 218 | dependencies: 219 | "@babel/helper-plugin-utils" "^7.8.0" 220 | 221 | "@babel/plugin-syntax-optional-catch-binding@^7.8.3": 222 | version "7.8.3" 223 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" 224 | integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== 225 | dependencies: 226 | "@babel/helper-plugin-utils" "^7.8.0" 227 | 228 | "@babel/plugin-syntax-optional-chaining@^7.8.3": 229 | version "7.8.3" 230 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" 231 | integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== 232 | dependencies: 233 | "@babel/helper-plugin-utils" "^7.8.0" 234 | 235 | "@babel/plugin-syntax-top-level-await@^7.8.3": 236 | version "7.14.5" 237 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" 238 | integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== 239 | dependencies: 240 | "@babel/helper-plugin-utils" "^7.14.5" 241 | 242 | "@babel/plugin-syntax-typescript@^7.7.2": 243 | version "7.18.6" 244 | resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz#1c09cd25795c7c2b8a4ba9ae49394576d4133285" 245 | integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA== 246 | dependencies: 247 | "@babel/helper-plugin-utils" "^7.18.6" 248 | 249 | "@babel/template@^7.18.6", "@babel/template@^7.3.3": 250 | version "7.18.6" 251 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.6.tgz#1283f4993e00b929d6e2d3c72fdc9168a2977a31" 252 | integrity sha512-JoDWzPe+wgBsTTgdnIma3iHNFC7YVJoPssVBDjiHfNlyt4YcunDtcDOUmfVDfCK5MfdsaIoX9PkijPhjH3nYUw== 253 | dependencies: 254 | "@babel/code-frame" "^7.18.6" 255 | "@babel/parser" "^7.18.6" 256 | "@babel/types" "^7.18.6" 257 | 258 | "@babel/traverse@^7.18.6", "@babel/traverse@^7.7.2": 259 | version "7.18.6" 260 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.18.6.tgz#a228562d2f46e89258efa4ddd0416942e2fd671d" 261 | integrity sha512-zS/OKyqmD7lslOtFqbscH6gMLFYOfG1YPqCKfAW5KrTeolKqvB8UelR49Fpr6y93kYkW2Ik00mT1LOGiAGvizw== 262 | dependencies: 263 | "@babel/code-frame" "^7.18.6" 264 | "@babel/generator" "^7.18.6" 265 | "@babel/helper-environment-visitor" "^7.18.6" 266 | "@babel/helper-function-name" "^7.18.6" 267 | "@babel/helper-hoist-variables" "^7.18.6" 268 | "@babel/helper-split-export-declaration" "^7.18.6" 269 | "@babel/parser" "^7.18.6" 270 | "@babel/types" "^7.18.6" 271 | debug "^4.1.0" 272 | globals "^11.1.0" 273 | 274 | "@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.3.0", "@babel/types@^7.3.3": 275 | version "7.18.6" 276 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.18.6.tgz#5d781dd10a3f0c9f1f931bd19de5eb26ec31acf0" 277 | integrity sha512-NdBNzPDwed30fZdDQtVR7ZgaO4UKjuaQFH9VArS+HMnurlOY0JWN+4ROlu/iapMFwjRQU4pOG4StZfDmulEwGA== 278 | dependencies: 279 | "@babel/helper-validator-identifier" "^7.18.6" 280 | to-fast-properties "^2.0.0" 281 | 282 | "@bcoe/v8-coverage@^0.2.3": 283 | version "0.2.3" 284 | resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" 285 | integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== 286 | 287 | "@graphql-tools/merge@^9.0.24": 288 | version "9.0.24" 289 | resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-9.0.24.tgz#1f366e85588894cb496bd1c332be7665db143df2" 290 | integrity sha512-NzWx/Afl/1qHT3Nm1bghGG2l4jub28AdvtG11PoUlmjcIjnFBJMv4vqL0qnxWe8A82peWo4/TkVdjJRLXwgGEw== 291 | dependencies: 292 | "@graphql-tools/utils" "^10.8.6" 293 | tslib "^2.4.0" 294 | 295 | "@graphql-tools/mock@^9.0.0": 296 | version "9.0.22" 297 | resolved "https://registry.yarnpkg.com/@graphql-tools/mock/-/mock-9.0.22.tgz#f5ac4a72762b3d622e4622a4a7b920e55df74981" 298 | integrity sha512-5hU5Kx18dBTGZiCGjHgz/nUs2Eoh7t0ul8uhqUeYVUBrrle3y9rGgMsFOyx4v7hgyIbxFmzU30+8n8SC3cAcEg== 299 | dependencies: 300 | "@graphql-tools/schema" "^10.0.23" 301 | "@graphql-tools/utils" "^10.8.6" 302 | fast-json-stable-stringify "^2.1.0" 303 | tslib "^2.4.0" 304 | 305 | "@graphql-tools/schema@^10.0.23": 306 | version "10.0.23" 307 | resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-10.0.23.tgz#d8865e96f37a04ca43303d7024add7edbe0c5ed4" 308 | integrity sha512-aEGVpd1PCuGEwqTXCStpEkmheTHNdMayiIKH1xDWqYp9i8yKv9FRDgkGrY4RD8TNxnf7iII+6KOBGaJ3ygH95A== 309 | dependencies: 310 | "@graphql-tools/merge" "^9.0.24" 311 | "@graphql-tools/utils" "^10.8.6" 312 | tslib "^2.4.0" 313 | 314 | "@graphql-tools/utils@^10.8.6": 315 | version "10.8.6" 316 | resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-10.8.6.tgz#69ef29e408a27919108b2b2227fe8b465acf9e5c" 317 | integrity sha512-Alc9Vyg0oOsGhRapfL3xvqh1zV8nKoFUdtLhXX7Ki4nClaIJXckrA86j+uxEuG3ic6j4jlM1nvcWXRn/71AVLQ== 318 | dependencies: 319 | "@graphql-typed-document-node/core" "^3.1.1" 320 | "@whatwg-node/promise-helpers" "^1.0.0" 321 | cross-inspect "1.0.1" 322 | dset "^3.1.4" 323 | tslib "^2.4.0" 324 | 325 | "@graphql-typed-document-node/core@^3.1.1": 326 | version "3.2.0" 327 | resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" 328 | integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== 329 | 330 | "@istanbuljs/load-nyc-config@^1.0.0": 331 | version "1.1.0" 332 | resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" 333 | integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== 334 | dependencies: 335 | camelcase "^5.3.1" 336 | find-up "^4.1.0" 337 | get-package-type "^0.1.0" 338 | js-yaml "^3.13.1" 339 | resolve-from "^5.0.0" 340 | 341 | "@istanbuljs/schema@^0.1.2": 342 | version "0.1.3" 343 | resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" 344 | integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== 345 | 346 | "@jest/console@^28.1.1": 347 | version "28.1.1" 348 | resolved "https://registry.yarnpkg.com/@jest/console/-/console-28.1.1.tgz#305f8ca50b6e70413839f54c0e002b60a0f2fd7d" 349 | integrity sha512-0RiUocPVFEm3WRMOStIHbRWllG6iW6E3/gUPnf4lkrVFyXIIDeCe+vlKeYyFOMhB2EPE6FLFCNADSOOQMaqvyA== 350 | dependencies: 351 | "@jest/types" "^28.1.1" 352 | "@types/node" "*" 353 | chalk "^4.0.0" 354 | jest-message-util "^28.1.1" 355 | jest-util "^28.1.1" 356 | slash "^3.0.0" 357 | 358 | "@jest/core@^28.1.1": 359 | version "28.1.1" 360 | resolved "https://registry.yarnpkg.com/@jest/core/-/core-28.1.1.tgz#086830bec6267accf9af5ca76f794858e9f9f092" 361 | integrity sha512-3pYsBoZZ42tXMdlcFeCc/0j9kOlK7MYuXs2B1QbvDgMoW1K9NJ4G/VYvIbMb26iqlkTfPHo7SC2JgjDOk/mxXw== 362 | dependencies: 363 | "@jest/console" "^28.1.1" 364 | "@jest/reporters" "^28.1.1" 365 | "@jest/test-result" "^28.1.1" 366 | "@jest/transform" "^28.1.1" 367 | "@jest/types" "^28.1.1" 368 | "@types/node" "*" 369 | ansi-escapes "^4.2.1" 370 | chalk "^4.0.0" 371 | ci-info "^3.2.0" 372 | exit "^0.1.2" 373 | graceful-fs "^4.2.9" 374 | jest-changed-files "^28.0.2" 375 | jest-config "^28.1.1" 376 | jest-haste-map "^28.1.1" 377 | jest-message-util "^28.1.1" 378 | jest-regex-util "^28.0.2" 379 | jest-resolve "^28.1.1" 380 | jest-resolve-dependencies "^28.1.1" 381 | jest-runner "^28.1.1" 382 | jest-runtime "^28.1.1" 383 | jest-snapshot "^28.1.1" 384 | jest-util "^28.1.1" 385 | jest-validate "^28.1.1" 386 | jest-watcher "^28.1.1" 387 | micromatch "^4.0.4" 388 | pretty-format "^28.1.1" 389 | rimraf "^3.0.0" 390 | slash "^3.0.0" 391 | strip-ansi "^6.0.0" 392 | 393 | "@jest/environment@^28.1.1": 394 | version "28.1.1" 395 | resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-28.1.1.tgz#c4cbf85283278d768f816ebd1a258ea6f9e39d4f" 396 | integrity sha512-9auVQ2GzQ7nrU+lAr8KyY838YahElTX9HVjbQPPS2XjlxQ+na18G113OoBhyBGBtD6ZnO/SrUy5WR8EzOj1/Uw== 397 | dependencies: 398 | "@jest/fake-timers" "^28.1.1" 399 | "@jest/types" "^28.1.1" 400 | "@types/node" "*" 401 | jest-mock "^28.1.1" 402 | 403 | "@jest/expect-utils@^28.1.1": 404 | version "28.1.1" 405 | resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-28.1.1.tgz#d84c346025b9f6f3886d02c48a6177e2b0360587" 406 | integrity sha512-n/ghlvdhCdMI/hTcnn4qV57kQuV9OTsZzH1TTCVARANKhl6hXJqLKUkwX69ftMGpsbpt96SsDD8n8LD2d9+FRw== 407 | dependencies: 408 | jest-get-type "^28.0.2" 409 | 410 | "@jest/expect@^28.1.1": 411 | version "28.1.1" 412 | resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-28.1.1.tgz#ea4fcc8504b45835029221c0dc357c622a761326" 413 | integrity sha512-/+tQprrFoT6lfkMj4mW/mUIfAmmk/+iQPmg7mLDIFOf2lyf7EBHaS+x3RbeR0VZVMe55IvX7QRoT/2aK3AuUXg== 414 | dependencies: 415 | expect "^28.1.1" 416 | jest-snapshot "^28.1.1" 417 | 418 | "@jest/fake-timers@^28.1.1": 419 | version "28.1.1" 420 | resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-28.1.1.tgz#47ce33296ab9d680c76076d51ddbe65ceb3337f1" 421 | integrity sha512-BY/3+TyLs5+q87rGWrGUY5f8e8uC3LsVHS9Diz8+FV3ARXL4sNnkLlIB8dvDvRrp+LUCGM+DLqlsYubizGUjIA== 422 | dependencies: 423 | "@jest/types" "^28.1.1" 424 | "@sinonjs/fake-timers" "^9.1.1" 425 | "@types/node" "*" 426 | jest-message-util "^28.1.1" 427 | jest-mock "^28.1.1" 428 | jest-util "^28.1.1" 429 | 430 | "@jest/globals@^28.1.1": 431 | version "28.1.1" 432 | resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-28.1.1.tgz#c0a7977f85e26279cc090d9adcdf82b8a34c4061" 433 | integrity sha512-dEgl/6v7ToB4vXItdvcltJBgny0xBE6xy6IYQrPJAJggdEinGxCDMivNv7sFzPcTITGquXD6UJwYxfJ/5ZwDSg== 434 | dependencies: 435 | "@jest/environment" "^28.1.1" 436 | "@jest/expect" "^28.1.1" 437 | "@jest/types" "^28.1.1" 438 | 439 | "@jest/reporters@^28.1.1": 440 | version "28.1.1" 441 | resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-28.1.1.tgz#9389f4bb3cce4d9b586f6195f83c79cd2a1c8662" 442 | integrity sha512-597Zj4D4d88sZrzM4atEGLuO7SdA/YrOv9SRXHXRNC+/FwPCWxZhBAEzhXoiJzfRwn8zes/EjS8Lo6DouGN5Gg== 443 | dependencies: 444 | "@bcoe/v8-coverage" "^0.2.3" 445 | "@jest/console" "^28.1.1" 446 | "@jest/test-result" "^28.1.1" 447 | "@jest/transform" "^28.1.1" 448 | "@jest/types" "^28.1.1" 449 | "@jridgewell/trace-mapping" "^0.3.7" 450 | "@types/node" "*" 451 | chalk "^4.0.0" 452 | collect-v8-coverage "^1.0.0" 453 | exit "^0.1.2" 454 | glob "^7.1.3" 455 | graceful-fs "^4.2.9" 456 | istanbul-lib-coverage "^3.0.0" 457 | istanbul-lib-instrument "^5.1.0" 458 | istanbul-lib-report "^3.0.0" 459 | istanbul-lib-source-maps "^4.0.0" 460 | istanbul-reports "^3.1.3" 461 | jest-message-util "^28.1.1" 462 | jest-util "^28.1.1" 463 | jest-worker "^28.1.1" 464 | slash "^3.0.0" 465 | string-length "^4.0.1" 466 | strip-ansi "^6.0.0" 467 | terminal-link "^2.0.0" 468 | v8-to-istanbul "^9.0.0" 469 | 470 | "@jest/schemas@^28.0.2": 471 | version "28.0.2" 472 | resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-28.0.2.tgz#08c30df6a8d07eafea0aef9fb222c5e26d72e613" 473 | integrity sha512-YVDJZjd4izeTDkij00vHHAymNXQ6WWsdChFRK86qck6Jpr3DCL5W3Is3vslviRlP+bLuMYRLbdp98amMvqudhA== 474 | dependencies: 475 | "@sinclair/typebox" "^0.23.3" 476 | 477 | "@jest/source-map@^28.0.2": 478 | version "28.0.2" 479 | resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-28.0.2.tgz#914546f4410b67b1d42c262a1da7e0406b52dc90" 480 | integrity sha512-Y9dxC8ZpN3kImkk0LkK5XCEneYMAXlZ8m5bflmSL5vrwyeUpJfentacCUg6fOb8NOpOO7hz2+l37MV77T6BFPw== 481 | dependencies: 482 | "@jridgewell/trace-mapping" "^0.3.7" 483 | callsites "^3.0.0" 484 | graceful-fs "^4.2.9" 485 | 486 | "@jest/test-result@^28.1.1": 487 | version "28.1.1" 488 | resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-28.1.1.tgz#c6f18d1bbb01aa88925dd687872a75f8414b317a" 489 | integrity sha512-hPmkugBktqL6rRzwWAtp1JtYT4VHwv8OQ+9lE5Gymj6dHzubI/oJHMUpPOt8NrdVWSrz9S7bHjJUmv2ggFoUNQ== 490 | dependencies: 491 | "@jest/console" "^28.1.1" 492 | "@jest/types" "^28.1.1" 493 | "@types/istanbul-lib-coverage" "^2.0.0" 494 | collect-v8-coverage "^1.0.0" 495 | 496 | "@jest/test-sequencer@^28.1.1": 497 | version "28.1.1" 498 | resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-28.1.1.tgz#f594ee2331df75000afe0d1ae3237630ecec732e" 499 | integrity sha512-nuL+dNSVMcWB7OOtgb0EGH5AjO4UBCt68SLP08rwmC+iRhyuJWS9MtZ/MpipxFwKAlHFftbMsydXqWre8B0+XA== 500 | dependencies: 501 | "@jest/test-result" "^28.1.1" 502 | graceful-fs "^4.2.9" 503 | jest-haste-map "^28.1.1" 504 | slash "^3.0.0" 505 | 506 | "@jest/transform@^28.1.1": 507 | version "28.1.1" 508 | resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-28.1.1.tgz#83541f2a3f612077c8501f49cc4e205d4e4a6b27" 509 | integrity sha512-PkfaTUuvjUarl1EDr5ZQcCA++oXkFCP9QFUkG0yVKVmNObjhrqDy0kbMpMebfHWm3CCDHjYNem9eUSH8suVNHQ== 510 | dependencies: 511 | "@babel/core" "^7.11.6" 512 | "@jest/types" "^28.1.1" 513 | "@jridgewell/trace-mapping" "^0.3.7" 514 | babel-plugin-istanbul "^6.1.1" 515 | chalk "^4.0.0" 516 | convert-source-map "^1.4.0" 517 | fast-json-stable-stringify "^2.0.0" 518 | graceful-fs "^4.2.9" 519 | jest-haste-map "^28.1.1" 520 | jest-regex-util "^28.0.2" 521 | jest-util "^28.1.1" 522 | micromatch "^4.0.4" 523 | pirates "^4.0.4" 524 | slash "^3.0.0" 525 | write-file-atomic "^4.0.1" 526 | 527 | "@jest/types@^28.1.1": 528 | version "28.1.1" 529 | resolved "https://registry.yarnpkg.com/@jest/types/-/types-28.1.1.tgz#d059bbc80e6da6eda9f081f293299348bd78ee0b" 530 | integrity sha512-vRXVqSg1VhDnB8bWcmvLzmg0Bt9CRKVgHPXqYwvWMX3TvAjeO+nRuK6+VdTKCtWOvYlmkF/HqNAL/z+N3B53Kw== 531 | dependencies: 532 | "@jest/schemas" "^28.0.2" 533 | "@types/istanbul-lib-coverage" "^2.0.0" 534 | "@types/istanbul-reports" "^3.0.0" 535 | "@types/node" "*" 536 | "@types/yargs" "^17.0.8" 537 | chalk "^4.0.0" 538 | 539 | "@jridgewell/gen-mapping@^0.1.0": 540 | version "0.1.1" 541 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" 542 | integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== 543 | dependencies: 544 | "@jridgewell/set-array" "^1.0.0" 545 | "@jridgewell/sourcemap-codec" "^1.4.10" 546 | 547 | "@jridgewell/gen-mapping@^0.3.0": 548 | version "0.3.2" 549 | resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" 550 | integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== 551 | dependencies: 552 | "@jridgewell/set-array" "^1.0.1" 553 | "@jridgewell/sourcemap-codec" "^1.4.10" 554 | "@jridgewell/trace-mapping" "^0.3.9" 555 | 556 | "@jridgewell/resolve-uri@^3.0.3": 557 | version "3.0.8" 558 | resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.0.8.tgz#687cc2bbf243f4e9a868ecf2262318e2658873a1" 559 | integrity sha512-YK5G9LaddzGbcucK4c8h5tWFmMPBvRZ/uyWmN1/SbBdIvqGUdWGkJ5BAaccgs6XbzVLsqbPJrBSFwKv3kT9i7w== 560 | 561 | "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": 562 | version "1.1.2" 563 | resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" 564 | integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== 565 | 566 | "@jridgewell/sourcemap-codec@^1.4.10": 567 | version "1.4.14" 568 | resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" 569 | integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== 570 | 571 | "@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9": 572 | version "0.3.14" 573 | resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.14.tgz#b231a081d8f66796e475ad588a1ef473112701ed" 574 | integrity sha512-bJWEfQ9lPTvm3SneWwRFVLzrh6nhjwqw7TUFFBEMzwvg7t7PCDenf2lDwqo4NQXzdpgBXyFgDWnQA+2vkruksQ== 575 | dependencies: 576 | "@jridgewell/resolve-uri" "^3.0.3" 577 | "@jridgewell/sourcemap-codec" "^1.4.10" 578 | 579 | "@sinclair/typebox@^0.23.3": 580 | version "0.23.5" 581 | resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.23.5.tgz#93f7b9f4e3285a7a9ade7557d9a8d36809cbc47d" 582 | integrity sha512-AFBVi/iT4g20DHoujvMH1aEDn8fGJh4xsRGCP6d8RpLPMqsNPvW01Jcn0QysXTsg++/xj25NmJsGyH9xug/wKg== 583 | 584 | "@sinonjs/commons@^1.7.0": 585 | version "1.8.3" 586 | resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.3.tgz#3802ddd21a50a949b6721ddd72da36e67e7f1b2d" 587 | integrity sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ== 588 | dependencies: 589 | type-detect "4.0.8" 590 | 591 | "@sinonjs/fake-timers@^9.1.1": 592 | version "9.1.2" 593 | resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c" 594 | integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw== 595 | dependencies: 596 | "@sinonjs/commons" "^1.7.0" 597 | 598 | "@types/babel__core@^7.1.14": 599 | version "7.1.19" 600 | resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.19.tgz#7b497495b7d1b4812bdb9d02804d0576f43ee460" 601 | integrity sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw== 602 | dependencies: 603 | "@babel/parser" "^7.1.0" 604 | "@babel/types" "^7.0.0" 605 | "@types/babel__generator" "*" 606 | "@types/babel__template" "*" 607 | "@types/babel__traverse" "*" 608 | 609 | "@types/babel__generator@*": 610 | version "7.6.4" 611 | resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" 612 | integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== 613 | dependencies: 614 | "@babel/types" "^7.0.0" 615 | 616 | "@types/babel__template@*": 617 | version "7.4.1" 618 | resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" 619 | integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== 620 | dependencies: 621 | "@babel/parser" "^7.1.0" 622 | "@babel/types" "^7.0.0" 623 | 624 | "@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": 625 | version "7.17.1" 626 | resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.17.1.tgz#1a0e73e8c28c7e832656db372b779bfd2ef37314" 627 | integrity sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA== 628 | dependencies: 629 | "@babel/types" "^7.3.0" 630 | 631 | "@types/graceful-fs@^4.1.3": 632 | version "4.1.5" 633 | resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" 634 | integrity sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw== 635 | dependencies: 636 | "@types/node" "*" 637 | 638 | "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": 639 | version "2.0.4" 640 | resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" 641 | integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== 642 | 643 | "@types/istanbul-lib-report@*": 644 | version "3.0.0" 645 | resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" 646 | integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== 647 | dependencies: 648 | "@types/istanbul-lib-coverage" "*" 649 | 650 | "@types/istanbul-reports@^3.0.0": 651 | version "3.0.1" 652 | resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" 653 | integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== 654 | dependencies: 655 | "@types/istanbul-lib-report" "*" 656 | 657 | "@types/jest@^28.1.3": 658 | version "28.1.3" 659 | resolved "https://registry.yarnpkg.com/@types/jest/-/jest-28.1.3.tgz#52f3f3e50ce59191ff5fbb1084896cc0cf30c9ce" 660 | integrity sha512-Tsbjk8Y2hkBaY/gJsataeb4q9Mubw9EOz7+4RjPkzD5KjTvHHs7cpws22InaoXxAVAhF5HfFbzJjo6oKWqSZLw== 661 | dependencies: 662 | jest-matcher-utils "^28.0.0" 663 | pretty-format "^28.0.0" 664 | 665 | "@types/node@*": 666 | version "18.0.0" 667 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.0.0.tgz#67c7b724e1bcdd7a8821ce0d5ee184d3b4dd525a" 668 | integrity sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA== 669 | 670 | "@types/prettier@^2.1.5": 671 | version "2.6.3" 672 | resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.6.3.tgz#68ada76827b0010d0db071f739314fa429943d0a" 673 | integrity sha512-ymZk3LEC/fsut+/Q5qejp6R9O1rMxz3XaRHDV6kX8MrGAhOSPqVARbDi+EZvInBpw+BnCX3TD240byVkOfQsHg== 674 | 675 | "@types/stack-utils@^2.0.0": 676 | version "2.0.1" 677 | resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" 678 | integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== 679 | 680 | "@types/yargs-parser@*": 681 | version "21.0.0" 682 | resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" 683 | integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== 684 | 685 | "@types/yargs@^17.0.8": 686 | version "17.0.10" 687 | resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.10.tgz#591522fce85d8739bca7b8bb90d048e4478d186a" 688 | integrity sha512-gmEaFwpj/7f/ROdtIlci1R1VYU1J4j95m8T+Tj3iBgiBFKg1foE/PSl93bBd5T9LDXNPo8UlNN6W0qwD8O5OaA== 689 | dependencies: 690 | "@types/yargs-parser" "*" 691 | 692 | "@whatwg-node/promise-helpers@^1.0.0": 693 | version "1.3.0" 694 | resolved "https://registry.yarnpkg.com/@whatwg-node/promise-helpers/-/promise-helpers-1.3.0.tgz#33629c853cfa309009b1329d3cb6208241ec2bf0" 695 | integrity sha512-486CouizxHXucj8Ky153DDragfkMcHtVEToF5Pn/fInhUUSiCmt9Q4JVBa6UK5q4RammFBtGQ4C9qhGlXU9YbA== 696 | dependencies: 697 | tslib "^2.6.3" 698 | 699 | aggregate-error@^3.0.0: 700 | version "3.1.0" 701 | resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" 702 | integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== 703 | dependencies: 704 | clean-stack "^2.0.0" 705 | indent-string "^4.0.0" 706 | 707 | ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: 708 | version "4.3.2" 709 | resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" 710 | integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== 711 | dependencies: 712 | type-fest "^0.21.3" 713 | 714 | ansi-regex@^5.0.1: 715 | version "5.0.1" 716 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" 717 | integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== 718 | 719 | ansi-regex@^6.0.1: 720 | version "6.0.1" 721 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" 722 | integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== 723 | 724 | ansi-styles@^3.2.1: 725 | version "3.2.1" 726 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 727 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 728 | dependencies: 729 | color-convert "^1.9.0" 730 | 731 | ansi-styles@^4.0.0, ansi-styles@^4.1.0: 732 | version "4.3.0" 733 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 734 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 735 | dependencies: 736 | color-convert "^2.0.1" 737 | 738 | ansi-styles@^5.0.0: 739 | version "5.2.0" 740 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" 741 | integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== 742 | 743 | ansi-styles@^6.0.0: 744 | version "6.1.0" 745 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" 746 | integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== 747 | 748 | anymatch@^3.0.3: 749 | version "3.1.2" 750 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" 751 | integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== 752 | dependencies: 753 | normalize-path "^3.0.0" 754 | picomatch "^2.0.4" 755 | 756 | argparse@^1.0.7: 757 | version "1.0.10" 758 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 759 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 760 | dependencies: 761 | sprintf-js "~1.0.2" 762 | 763 | astral-regex@^2.0.0: 764 | version "2.0.0" 765 | resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" 766 | integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== 767 | 768 | babel-jest@^28.1.1: 769 | version "28.1.1" 770 | resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-28.1.1.tgz#2a3a4ae50964695b2d694ccffe4bec537c5a3586" 771 | integrity sha512-MEt0263viUdAkTq5D7upHPNxvt4n9uLUGa6pPz3WviNBMtOmStb1lIXS3QobnoqM+qnH+vr4EKlvhe8QcmxIYw== 772 | dependencies: 773 | "@jest/transform" "^28.1.1" 774 | "@types/babel__core" "^7.1.14" 775 | babel-plugin-istanbul "^6.1.1" 776 | babel-preset-jest "^28.1.1" 777 | chalk "^4.0.0" 778 | graceful-fs "^4.2.9" 779 | slash "^3.0.0" 780 | 781 | babel-plugin-istanbul@^6.1.1: 782 | version "6.1.1" 783 | resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" 784 | integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== 785 | dependencies: 786 | "@babel/helper-plugin-utils" "^7.0.0" 787 | "@istanbuljs/load-nyc-config" "^1.0.0" 788 | "@istanbuljs/schema" "^0.1.2" 789 | istanbul-lib-instrument "^5.0.4" 790 | test-exclude "^6.0.0" 791 | 792 | babel-plugin-jest-hoist@^28.1.1: 793 | version "28.1.1" 794 | resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-28.1.1.tgz#5e055cdcc47894f28341f87f5e35aad2df680b11" 795 | integrity sha512-NovGCy5Hn25uMJSAU8FaHqzs13cFoOI4lhIujiepssjCKRsAo3TA734RDWSGxuFTsUJXerYOqQQodlxgmtqbzw== 796 | dependencies: 797 | "@babel/template" "^7.3.3" 798 | "@babel/types" "^7.3.3" 799 | "@types/babel__core" "^7.1.14" 800 | "@types/babel__traverse" "^7.0.6" 801 | 802 | babel-preset-current-node-syntax@^1.0.0: 803 | version "1.0.1" 804 | resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" 805 | integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== 806 | dependencies: 807 | "@babel/plugin-syntax-async-generators" "^7.8.4" 808 | "@babel/plugin-syntax-bigint" "^7.8.3" 809 | "@babel/plugin-syntax-class-properties" "^7.8.3" 810 | "@babel/plugin-syntax-import-meta" "^7.8.3" 811 | "@babel/plugin-syntax-json-strings" "^7.8.3" 812 | "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" 813 | "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" 814 | "@babel/plugin-syntax-numeric-separator" "^7.8.3" 815 | "@babel/plugin-syntax-object-rest-spread" "^7.8.3" 816 | "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" 817 | "@babel/plugin-syntax-optional-chaining" "^7.8.3" 818 | "@babel/plugin-syntax-top-level-await" "^7.8.3" 819 | 820 | babel-preset-jest@^28.1.1: 821 | version "28.1.1" 822 | resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-28.1.1.tgz#5b6e5e69f963eb2d70f739c607b8f723c0ee75e4" 823 | integrity sha512-FCq9Oud0ReTeWtcneYf/48981aTfXYuB9gbU4rBNNJVBSQ6ssv7E6v/qvbBxtOWwZFXjLZwpg+W3q7J6vhH25g== 824 | dependencies: 825 | babel-plugin-jest-hoist "^28.1.1" 826 | babel-preset-current-node-syntax "^1.0.0" 827 | 828 | balanced-match@^1.0.0: 829 | version "1.0.2" 830 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 831 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 832 | 833 | brace-expansion@^1.1.7: 834 | version "1.1.11" 835 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 836 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 837 | dependencies: 838 | balanced-match "^1.0.0" 839 | concat-map "0.0.1" 840 | 841 | braces@^3.0.2: 842 | version "3.0.2" 843 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 844 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 845 | dependencies: 846 | fill-range "^7.0.1" 847 | 848 | browserslist@^4.20.2: 849 | version "4.21.0" 850 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.0.tgz#7ab19572361a140ecd1e023e2c1ed95edda0cefe" 851 | integrity sha512-UQxE0DIhRB5z/zDz9iA03BOfxaN2+GQdBYH/2WrSIWEUrnpzTPJbhqt+umq6r3acaPRTW1FNTkrcp0PXgtFkvA== 852 | dependencies: 853 | caniuse-lite "^1.0.30001358" 854 | electron-to-chromium "^1.4.164" 855 | node-releases "^2.0.5" 856 | update-browserslist-db "^1.0.0" 857 | 858 | bs-logger@0.x: 859 | version "0.2.6" 860 | resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" 861 | integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== 862 | dependencies: 863 | fast-json-stable-stringify "2.x" 864 | 865 | bser@2.1.1: 866 | version "2.1.1" 867 | resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" 868 | integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== 869 | dependencies: 870 | node-int64 "^0.4.0" 871 | 872 | buffer-from@^1.0.0: 873 | version "1.1.2" 874 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" 875 | integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== 876 | 877 | callsites@^3.0.0: 878 | version "3.1.0" 879 | resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" 880 | integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== 881 | 882 | camelcase@^5.3.1: 883 | version "5.3.1" 884 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" 885 | integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== 886 | 887 | camelcase@^6.2.0: 888 | version "6.3.0" 889 | resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" 890 | integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== 891 | 892 | caniuse-lite@^1.0.30001358: 893 | version "1.0.30001359" 894 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001359.tgz#a1c1cbe1c2da9e689638813618b4219acbd4925e" 895 | integrity sha512-Xln/BAsPzEuiVLgJ2/45IaqD9jShtk3Y33anKb4+yLwQzws3+v6odKfpgES/cDEaZMLzSChpIGdbOYtH9MyuHw== 896 | 897 | chalk@^2.0.0: 898 | version "2.4.2" 899 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 900 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 901 | dependencies: 902 | ansi-styles "^3.2.1" 903 | escape-string-regexp "^1.0.5" 904 | supports-color "^5.3.0" 905 | 906 | chalk@^4.0.0: 907 | version "4.1.2" 908 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" 909 | integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== 910 | dependencies: 911 | ansi-styles "^4.1.0" 912 | supports-color "^7.1.0" 913 | 914 | char-regex@^1.0.2: 915 | version "1.0.2" 916 | resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" 917 | integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== 918 | 919 | ci-info@^3.2.0: 920 | version "3.3.2" 921 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.2.tgz#6d2967ffa407466481c6c90b6e16b3098f080128" 922 | integrity sha512-xmDt/QIAdeZ9+nfdPsaBCpMvHNLFiLdjj59qjqn+6iPe6YmHGQ35sBnQ8uslRBXFmXkiZQOJRjvQeoGppoTjjg== 923 | 924 | cjs-module-lexer@^1.0.0: 925 | version "1.2.2" 926 | resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" 927 | integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== 928 | 929 | clean-stack@^2.0.0: 930 | version "2.2.0" 931 | resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" 932 | integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== 933 | 934 | cli-cursor@^3.1.0: 935 | version "3.1.0" 936 | resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" 937 | integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== 938 | dependencies: 939 | restore-cursor "^3.1.0" 940 | 941 | cli-truncate@^2.1.0: 942 | version "2.1.0" 943 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" 944 | integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== 945 | dependencies: 946 | slice-ansi "^3.0.0" 947 | string-width "^4.2.0" 948 | 949 | cli-truncate@^3.1.0: 950 | version "3.1.0" 951 | resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" 952 | integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== 953 | dependencies: 954 | slice-ansi "^5.0.0" 955 | string-width "^5.0.0" 956 | 957 | cliui@^7.0.2: 958 | version "7.0.4" 959 | resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" 960 | integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== 961 | dependencies: 962 | string-width "^4.2.0" 963 | strip-ansi "^6.0.0" 964 | wrap-ansi "^7.0.0" 965 | 966 | co@^4.6.0: 967 | version "4.6.0" 968 | resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" 969 | integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== 970 | 971 | collect-v8-coverage@^1.0.0: 972 | version "1.0.1" 973 | resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" 974 | integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== 975 | 976 | color-convert@^1.9.0: 977 | version "1.9.3" 978 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 979 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 980 | dependencies: 981 | color-name "1.1.3" 982 | 983 | color-convert@^2.0.1: 984 | version "2.0.1" 985 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 986 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 987 | dependencies: 988 | color-name "~1.1.4" 989 | 990 | color-name@1.1.3: 991 | version "1.1.3" 992 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 993 | integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== 994 | 995 | color-name@~1.1.4: 996 | version "1.1.4" 997 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 998 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 999 | 1000 | colorette@^2.0.16, colorette@^2.0.17: 1001 | version "2.0.19" 1002 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" 1003 | integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== 1004 | 1005 | commander@^9.3.0: 1006 | version "9.3.0" 1007 | resolved "https://registry.yarnpkg.com/commander/-/commander-9.3.0.tgz#f619114a5a2d2054e0d9ff1b31d5ccf89255e26b" 1008 | integrity sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw== 1009 | 1010 | concat-map@0.0.1: 1011 | version "0.0.1" 1012 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 1013 | integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== 1014 | 1015 | convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: 1016 | version "1.8.0" 1017 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" 1018 | integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== 1019 | dependencies: 1020 | safe-buffer "~5.1.1" 1021 | 1022 | cross-inspect@1.0.1: 1023 | version "1.0.1" 1024 | resolved "https://registry.yarnpkg.com/cross-inspect/-/cross-inspect-1.0.1.tgz#15f6f65e4ca963cf4cc1a2b5fef18f6ca328712b" 1025 | integrity sha512-Pcw1JTvZLSJH83iiGWt6fRcT+BjZlCDRVwYLbUcHzv/CRpB7r0MlSrGbIyQvVSNyGnbt7G4AXuyCiDR3POvZ1A== 1026 | dependencies: 1027 | tslib "^2.4.0" 1028 | 1029 | cross-spawn@^7.0.3: 1030 | version "7.0.3" 1031 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 1032 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 1033 | dependencies: 1034 | path-key "^3.1.0" 1035 | shebang-command "^2.0.0" 1036 | which "^2.0.1" 1037 | 1038 | debug@^4.1.0, debug@^4.1.1, debug@^4.3.4: 1039 | version "4.3.4" 1040 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" 1041 | integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== 1042 | dependencies: 1043 | ms "2.1.2" 1044 | 1045 | dedent@^0.7.0: 1046 | version "0.7.0" 1047 | resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" 1048 | integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== 1049 | 1050 | deepmerge@^4.2.2: 1051 | version "4.2.2" 1052 | resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" 1053 | integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== 1054 | 1055 | detect-newline@^3.0.0: 1056 | version "3.1.0" 1057 | resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" 1058 | integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== 1059 | 1060 | diff-sequences@^28.1.1: 1061 | version "28.1.1" 1062 | resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-28.1.1.tgz#9989dc731266dc2903457a70e996f3a041913ac6" 1063 | integrity sha512-FU0iFaH/E23a+a718l8Qa/19bF9p06kgE0KipMOMadwa3SjnaElKzPaUC0vnibs6/B/9ni97s61mcejk8W1fQw== 1064 | 1065 | dset@^3.1.4: 1066 | version "3.1.4" 1067 | resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.4.tgz#f8eaf5f023f068a036d08cd07dc9ffb7d0065248" 1068 | integrity sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA== 1069 | 1070 | eastasianwidth@^0.2.0: 1071 | version "0.2.0" 1072 | resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" 1073 | integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== 1074 | 1075 | electron-to-chromium@^1.4.164: 1076 | version "1.4.172" 1077 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.172.tgz#87335795a3dc19e7b6dd5af291038477d81dc6b1" 1078 | integrity sha512-yDoFfTJnqBAB6hSiPvzmsBJSrjOXJtHSJoqJdI/zSIh7DYupYnIOHt/bbPw/WE31BJjNTybDdNAs21gCMnTh0Q== 1079 | 1080 | emittery@^0.10.2: 1081 | version "0.10.2" 1082 | resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.2.tgz#902eec8aedb8c41938c46e9385e9db7e03182933" 1083 | integrity sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw== 1084 | 1085 | emoji-regex@^8.0.0: 1086 | version "8.0.0" 1087 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" 1088 | integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== 1089 | 1090 | emoji-regex@^9.2.2: 1091 | version "9.2.2" 1092 | resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" 1093 | integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== 1094 | 1095 | error-ex@^1.3.1: 1096 | version "1.3.2" 1097 | resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" 1098 | integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== 1099 | dependencies: 1100 | is-arrayish "^0.2.1" 1101 | 1102 | escalade@^3.1.1: 1103 | version "3.1.1" 1104 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 1105 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1106 | 1107 | escape-string-regexp@^1.0.5: 1108 | version "1.0.5" 1109 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1110 | integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== 1111 | 1112 | escape-string-regexp@^2.0.0: 1113 | version "2.0.0" 1114 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" 1115 | integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== 1116 | 1117 | esprima@^4.0.0: 1118 | version "4.0.1" 1119 | resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" 1120 | integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== 1121 | 1122 | execa@^5.0.0: 1123 | version "5.1.1" 1124 | resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" 1125 | integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== 1126 | dependencies: 1127 | cross-spawn "^7.0.3" 1128 | get-stream "^6.0.0" 1129 | human-signals "^2.1.0" 1130 | is-stream "^2.0.0" 1131 | merge-stream "^2.0.0" 1132 | npm-run-path "^4.0.1" 1133 | onetime "^5.1.2" 1134 | signal-exit "^3.0.3" 1135 | strip-final-newline "^2.0.0" 1136 | 1137 | execa@^6.1.0: 1138 | version "6.1.0" 1139 | resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20" 1140 | integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA== 1141 | dependencies: 1142 | cross-spawn "^7.0.3" 1143 | get-stream "^6.0.1" 1144 | human-signals "^3.0.1" 1145 | is-stream "^3.0.0" 1146 | merge-stream "^2.0.0" 1147 | npm-run-path "^5.1.0" 1148 | onetime "^6.0.0" 1149 | signal-exit "^3.0.7" 1150 | strip-final-newline "^3.0.0" 1151 | 1152 | exit@^0.1.2: 1153 | version "0.1.2" 1154 | resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" 1155 | integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== 1156 | 1157 | expect@^28.1.1: 1158 | version "28.1.1" 1159 | resolved "https://registry.yarnpkg.com/expect/-/expect-28.1.1.tgz#ca6fff65f6517cf7220c2e805a49c19aea30b420" 1160 | integrity sha512-/AANEwGL0tWBwzLNOvO0yUdy2D52jVdNXppOqswC49sxMN2cPWsGCQdzuIf9tj6hHoBQzNvx75JUYuQAckPo3w== 1161 | dependencies: 1162 | "@jest/expect-utils" "^28.1.1" 1163 | jest-get-type "^28.0.2" 1164 | jest-matcher-utils "^28.1.1" 1165 | jest-message-util "^28.1.1" 1166 | jest-util "^28.1.1" 1167 | 1168 | fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: 1169 | version "2.1.0" 1170 | resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" 1171 | integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== 1172 | 1173 | fb-watchman@^2.0.0: 1174 | version "2.0.1" 1175 | resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.1.tgz#fc84fb39d2709cf3ff6d743706157bb5708a8a85" 1176 | integrity sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg== 1177 | dependencies: 1178 | bser "2.1.1" 1179 | 1180 | fill-range@^7.0.1: 1181 | version "7.0.1" 1182 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1183 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1184 | dependencies: 1185 | to-regex-range "^5.0.1" 1186 | 1187 | find-up@^4.0.0, find-up@^4.1.0: 1188 | version "4.1.0" 1189 | resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" 1190 | integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== 1191 | dependencies: 1192 | locate-path "^5.0.0" 1193 | path-exists "^4.0.0" 1194 | 1195 | fs.realpath@^1.0.0: 1196 | version "1.0.0" 1197 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1198 | integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== 1199 | 1200 | fsevents@^2.3.2: 1201 | version "2.3.2" 1202 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1203 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1204 | 1205 | function-bind@^1.1.1: 1206 | version "1.1.1" 1207 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1208 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1209 | 1210 | gensync@^1.0.0-beta.2: 1211 | version "1.0.0-beta.2" 1212 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1213 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1214 | 1215 | get-caller-file@^2.0.5: 1216 | version "2.0.5" 1217 | resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" 1218 | integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== 1219 | 1220 | get-package-type@^0.1.0: 1221 | version "0.1.0" 1222 | resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" 1223 | integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== 1224 | 1225 | get-stream@^6.0.0, get-stream@^6.0.1: 1226 | version "6.0.1" 1227 | resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" 1228 | integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== 1229 | 1230 | glob@^7.1.3, glob@^7.1.4: 1231 | version "7.2.3" 1232 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" 1233 | integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== 1234 | dependencies: 1235 | fs.realpath "^1.0.0" 1236 | inflight "^1.0.4" 1237 | inherits "2" 1238 | minimatch "^3.1.1" 1239 | once "^1.3.0" 1240 | path-is-absolute "^1.0.0" 1241 | 1242 | globals@^11.1.0: 1243 | version "11.12.0" 1244 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1245 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1246 | 1247 | graceful-fs@^4.2.9: 1248 | version "4.2.10" 1249 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" 1250 | integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== 1251 | 1252 | graphql@^16.5.0: 1253 | version "16.5.0" 1254 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.5.0.tgz#41b5c1182eaac7f3d47164fb247f61e4dfb69c85" 1255 | integrity sha512-qbHgh8Ix+j/qY+a/ZcJnFQ+j8ezakqPiHwPiZhV/3PgGlgf96QMBB5/f2rkiC9sgLoy/xvT6TSiaf2nTHJh5iA== 1256 | 1257 | has-flag@^3.0.0: 1258 | version "3.0.0" 1259 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1260 | integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== 1261 | 1262 | has-flag@^4.0.0: 1263 | version "4.0.0" 1264 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1265 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1266 | 1267 | has@^1.0.3: 1268 | version "1.0.3" 1269 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1270 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1271 | dependencies: 1272 | function-bind "^1.1.1" 1273 | 1274 | html-escaper@^2.0.0: 1275 | version "2.0.2" 1276 | resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" 1277 | integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== 1278 | 1279 | human-signals@^2.1.0: 1280 | version "2.1.0" 1281 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" 1282 | integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== 1283 | 1284 | human-signals@^3.0.1: 1285 | version "3.0.1" 1286 | resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5" 1287 | integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ== 1288 | 1289 | husky@^8.0.1: 1290 | version "8.0.1" 1291 | resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.1.tgz#511cb3e57de3e3190514ae49ed50f6bc3f50b3e9" 1292 | integrity sha512-xs7/chUH/CKdOCs7Zy0Aev9e/dKOMZf3K1Az1nar3tzlv0jfqnYtu235bstsWTmXOR0EfINrPa97yy4Lz6RiKw== 1293 | 1294 | import-local@^3.0.2: 1295 | version "3.1.0" 1296 | resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" 1297 | integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== 1298 | dependencies: 1299 | pkg-dir "^4.2.0" 1300 | resolve-cwd "^3.0.0" 1301 | 1302 | imurmurhash@^0.1.4: 1303 | version "0.1.4" 1304 | resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" 1305 | integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== 1306 | 1307 | indent-string@^4.0.0: 1308 | version "4.0.0" 1309 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" 1310 | integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 1311 | 1312 | inflight@^1.0.4: 1313 | version "1.0.6" 1314 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1315 | integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== 1316 | dependencies: 1317 | once "^1.3.0" 1318 | wrappy "1" 1319 | 1320 | inherits@2: 1321 | version "2.0.4" 1322 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1323 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1324 | 1325 | is-arrayish@^0.2.1: 1326 | version "0.2.1" 1327 | resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" 1328 | integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== 1329 | 1330 | is-core-module@^2.9.0: 1331 | version "2.9.0" 1332 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" 1333 | integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== 1334 | dependencies: 1335 | has "^1.0.3" 1336 | 1337 | is-fullwidth-code-point@^3.0.0: 1338 | version "3.0.0" 1339 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" 1340 | integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== 1341 | 1342 | is-fullwidth-code-point@^4.0.0: 1343 | version "4.0.0" 1344 | resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" 1345 | integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== 1346 | 1347 | is-generator-fn@^2.0.0: 1348 | version "2.1.0" 1349 | resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" 1350 | integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== 1351 | 1352 | is-number@^7.0.0: 1353 | version "7.0.0" 1354 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1355 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1356 | 1357 | is-stream@^2.0.0: 1358 | version "2.0.1" 1359 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" 1360 | integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== 1361 | 1362 | is-stream@^3.0.0: 1363 | version "3.0.0" 1364 | resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac" 1365 | integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== 1366 | 1367 | isexe@^2.0.0: 1368 | version "2.0.0" 1369 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1370 | integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== 1371 | 1372 | istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: 1373 | version "3.2.0" 1374 | resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" 1375 | integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== 1376 | 1377 | istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: 1378 | version "5.2.0" 1379 | resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.0.tgz#31d18bdd127f825dd02ea7bfdfd906f8ab840e9f" 1380 | integrity sha512-6Lthe1hqXHBNsqvgDzGO6l03XNeu3CrG4RqQ1KM9+l5+jNGpEJfIELx1NS3SEHmJQA8np/u+E4EPRKRiu6m19A== 1381 | dependencies: 1382 | "@babel/core" "^7.12.3" 1383 | "@babel/parser" "^7.14.7" 1384 | "@istanbuljs/schema" "^0.1.2" 1385 | istanbul-lib-coverage "^3.2.0" 1386 | semver "^6.3.0" 1387 | 1388 | istanbul-lib-report@^3.0.0: 1389 | version "3.0.0" 1390 | resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" 1391 | integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== 1392 | dependencies: 1393 | istanbul-lib-coverage "^3.0.0" 1394 | make-dir "^3.0.0" 1395 | supports-color "^7.1.0" 1396 | 1397 | istanbul-lib-source-maps@^4.0.0: 1398 | version "4.0.1" 1399 | resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" 1400 | integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== 1401 | dependencies: 1402 | debug "^4.1.1" 1403 | istanbul-lib-coverage "^3.0.0" 1404 | source-map "^0.6.1" 1405 | 1406 | istanbul-reports@^3.1.3: 1407 | version "3.1.4" 1408 | resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.4.tgz#1b6f068ecbc6c331040aab5741991273e609e40c" 1409 | integrity sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw== 1410 | dependencies: 1411 | html-escaper "^2.0.0" 1412 | istanbul-lib-report "^3.0.0" 1413 | 1414 | jest-changed-files@^28.0.2: 1415 | version "28.0.2" 1416 | resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-28.0.2.tgz#7d7810660a5bd043af9e9cfbe4d58adb05e91531" 1417 | integrity sha512-QX9u+5I2s54ZnGoMEjiM2WeBvJR2J7w/8ZUmH2um/WLAuGAYFQcsVXY9+1YL6k0H/AGUdH8pXUAv6erDqEsvIA== 1418 | dependencies: 1419 | execa "^5.0.0" 1420 | throat "^6.0.1" 1421 | 1422 | jest-circus@^28.1.1: 1423 | version "28.1.1" 1424 | resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-28.1.1.tgz#3d27da6a974d85a466dc0cdc6ddeb58daaa57bb4" 1425 | integrity sha512-75+BBVTsL4+p2w198DQpCeyh1RdaS2lhEG87HkaFX/UG0gJExVq2skG2pT7XZEGBubNj2CytcWSPan4QEPNosw== 1426 | dependencies: 1427 | "@jest/environment" "^28.1.1" 1428 | "@jest/expect" "^28.1.1" 1429 | "@jest/test-result" "^28.1.1" 1430 | "@jest/types" "^28.1.1" 1431 | "@types/node" "*" 1432 | chalk "^4.0.0" 1433 | co "^4.6.0" 1434 | dedent "^0.7.0" 1435 | is-generator-fn "^2.0.0" 1436 | jest-each "^28.1.1" 1437 | jest-matcher-utils "^28.1.1" 1438 | jest-message-util "^28.1.1" 1439 | jest-runtime "^28.1.1" 1440 | jest-snapshot "^28.1.1" 1441 | jest-util "^28.1.1" 1442 | pretty-format "^28.1.1" 1443 | slash "^3.0.0" 1444 | stack-utils "^2.0.3" 1445 | throat "^6.0.1" 1446 | 1447 | jest-cli@^28.1.1: 1448 | version "28.1.1" 1449 | resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-28.1.1.tgz#23ddfde8940e1818585ae4a568877b33b0e51cfe" 1450 | integrity sha512-+sUfVbJqb1OjBZ0OdBbI6OWfYM1i7bSfzYy6gze1F1w3OKWq8ZTEKkZ8a7ZQPq6G/G1qMh/uKqpdWhgl11NFQQ== 1451 | dependencies: 1452 | "@jest/core" "^28.1.1" 1453 | "@jest/test-result" "^28.1.1" 1454 | "@jest/types" "^28.1.1" 1455 | chalk "^4.0.0" 1456 | exit "^0.1.2" 1457 | graceful-fs "^4.2.9" 1458 | import-local "^3.0.2" 1459 | jest-config "^28.1.1" 1460 | jest-util "^28.1.1" 1461 | jest-validate "^28.1.1" 1462 | prompts "^2.0.1" 1463 | yargs "^17.3.1" 1464 | 1465 | jest-config@^28.1.1: 1466 | version "28.1.1" 1467 | resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-28.1.1.tgz#e90b97b984f14a6c24a221859e81b258990fce2f" 1468 | integrity sha512-tASynMhS+jVV85zKvjfbJ8nUyJS/jUSYZ5KQxLUN2ZCvcQc/OmhQl2j6VEL3ezQkNofxn5pQ3SPYWPHb0unTZA== 1469 | dependencies: 1470 | "@babel/core" "^7.11.6" 1471 | "@jest/test-sequencer" "^28.1.1" 1472 | "@jest/types" "^28.1.1" 1473 | babel-jest "^28.1.1" 1474 | chalk "^4.0.0" 1475 | ci-info "^3.2.0" 1476 | deepmerge "^4.2.2" 1477 | glob "^7.1.3" 1478 | graceful-fs "^4.2.9" 1479 | jest-circus "^28.1.1" 1480 | jest-environment-node "^28.1.1" 1481 | jest-get-type "^28.0.2" 1482 | jest-regex-util "^28.0.2" 1483 | jest-resolve "^28.1.1" 1484 | jest-runner "^28.1.1" 1485 | jest-util "^28.1.1" 1486 | jest-validate "^28.1.1" 1487 | micromatch "^4.0.4" 1488 | parse-json "^5.2.0" 1489 | pretty-format "^28.1.1" 1490 | slash "^3.0.0" 1491 | strip-json-comments "^3.1.1" 1492 | 1493 | jest-diff@^28.1.1: 1494 | version "28.1.1" 1495 | resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-28.1.1.tgz#1a3eedfd81ae79810931c63a1d0f201b9120106c" 1496 | integrity sha512-/MUUxeR2fHbqHoMMiffe/Afm+U8U4olFRJ0hiVG2lZatPJcnGxx292ustVu7bULhjV65IYMxRdploAKLbcrsyg== 1497 | dependencies: 1498 | chalk "^4.0.0" 1499 | diff-sequences "^28.1.1" 1500 | jest-get-type "^28.0.2" 1501 | pretty-format "^28.1.1" 1502 | 1503 | jest-docblock@^28.1.1: 1504 | version "28.1.1" 1505 | resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-28.1.1.tgz#6f515c3bf841516d82ecd57a62eed9204c2f42a8" 1506 | integrity sha512-3wayBVNiOYx0cwAbl9rwm5kKFP8yHH3d/fkEaL02NPTkDojPtheGB7HZSFY4wzX+DxyrvhXz0KSCVksmCknCuA== 1507 | dependencies: 1508 | detect-newline "^3.0.0" 1509 | 1510 | jest-each@^28.1.1: 1511 | version "28.1.1" 1512 | resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-28.1.1.tgz#ba5238dacf4f31d9fe23ddc2c44c01e7c23885c4" 1513 | integrity sha512-A042rqh17ZvEhRceDMi784ppoXR7MWGDEKTXEZXb4svt0eShMZvijGxzKsx+yIjeE8QYmHPrnHiTSQVhN4nqaw== 1514 | dependencies: 1515 | "@jest/types" "^28.1.1" 1516 | chalk "^4.0.0" 1517 | jest-get-type "^28.0.2" 1518 | jest-util "^28.1.1" 1519 | pretty-format "^28.1.1" 1520 | 1521 | jest-environment-node@^28.1.1: 1522 | version "28.1.1" 1523 | resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-28.1.1.tgz#1c86c59003a7d319fa06ea3b1bbda6c193715c67" 1524 | integrity sha512-2aV/eeY/WNgUUJrrkDJ3cFEigjC5fqT1+fCclrY6paqJ5zVPoM//sHmfgUUp7WLYxIdbPwMiVIzejpN56MxnNA== 1525 | dependencies: 1526 | "@jest/environment" "^28.1.1" 1527 | "@jest/fake-timers" "^28.1.1" 1528 | "@jest/types" "^28.1.1" 1529 | "@types/node" "*" 1530 | jest-mock "^28.1.1" 1531 | jest-util "^28.1.1" 1532 | 1533 | jest-get-type@^28.0.2: 1534 | version "28.0.2" 1535 | resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-28.0.2.tgz#34622e628e4fdcd793d46db8a242227901fcf203" 1536 | integrity sha512-ioj2w9/DxSYHfOm5lJKCdcAmPJzQXmbM/Url3rhlghrPvT3tt+7a/+oXc9azkKmLvoiXjtV83bEWqi+vs5nlPA== 1537 | 1538 | jest-haste-map@^28.1.1: 1539 | version "28.1.1" 1540 | resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-28.1.1.tgz#471685f1acd365a9394745bb97c8fc16289adca3" 1541 | integrity sha512-ZrRSE2o3Ezh7sb1KmeLEZRZ4mgufbrMwolcFHNRSjKZhpLa8TdooXOOFlSwoUzlbVs1t0l7upVRW2K7RWGHzbQ== 1542 | dependencies: 1543 | "@jest/types" "^28.1.1" 1544 | "@types/graceful-fs" "^4.1.3" 1545 | "@types/node" "*" 1546 | anymatch "^3.0.3" 1547 | fb-watchman "^2.0.0" 1548 | graceful-fs "^4.2.9" 1549 | jest-regex-util "^28.0.2" 1550 | jest-util "^28.1.1" 1551 | jest-worker "^28.1.1" 1552 | micromatch "^4.0.4" 1553 | walker "^1.0.8" 1554 | optionalDependencies: 1555 | fsevents "^2.3.2" 1556 | 1557 | jest-leak-detector@^28.1.1: 1558 | version "28.1.1" 1559 | resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-28.1.1.tgz#537f37afd610a4b3f4cab15e06baf60484548efb" 1560 | integrity sha512-4jvs8V8kLbAaotE+wFR7vfUGf603cwYtFf1/PYEsyX2BAjSzj8hQSVTP6OWzseTl0xL6dyHuKs2JAks7Pfubmw== 1561 | dependencies: 1562 | jest-get-type "^28.0.2" 1563 | pretty-format "^28.1.1" 1564 | 1565 | jest-matcher-utils@^28.0.0, jest-matcher-utils@^28.1.1: 1566 | version "28.1.1" 1567 | resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-28.1.1.tgz#a7c4653c2b782ec96796eb3088060720f1e29304" 1568 | integrity sha512-NPJPRWrbmR2nAJ+1nmnfcKKzSwgfaciCCrYZzVnNoxVoyusYWIjkBMNvu0RHJe7dNj4hH3uZOPZsQA+xAYWqsw== 1569 | dependencies: 1570 | chalk "^4.0.0" 1571 | jest-diff "^28.1.1" 1572 | jest-get-type "^28.0.2" 1573 | pretty-format "^28.1.1" 1574 | 1575 | jest-message-util@^28.1.1: 1576 | version "28.1.1" 1577 | resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-28.1.1.tgz#60aa0b475cfc08c8a9363ed2fb9108514dd9ab89" 1578 | integrity sha512-xoDOOT66fLfmTRiqkoLIU7v42mal/SqwDKvfmfiWAdJMSJiU+ozgluO7KbvoAgiwIrrGZsV7viETjc8GNrA/IQ== 1579 | dependencies: 1580 | "@babel/code-frame" "^7.12.13" 1581 | "@jest/types" "^28.1.1" 1582 | "@types/stack-utils" "^2.0.0" 1583 | chalk "^4.0.0" 1584 | graceful-fs "^4.2.9" 1585 | micromatch "^4.0.4" 1586 | pretty-format "^28.1.1" 1587 | slash "^3.0.0" 1588 | stack-utils "^2.0.3" 1589 | 1590 | jest-mock@^28.1.1: 1591 | version "28.1.1" 1592 | resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-28.1.1.tgz#37903d269427fa1ef5b2447be874e1c62a39a371" 1593 | integrity sha512-bDCb0FjfsmKweAvE09dZT59IMkzgN0fYBH6t5S45NoJfd2DHkS3ySG2K+hucortryhO3fVuXdlxWcbtIuV/Skw== 1594 | dependencies: 1595 | "@jest/types" "^28.1.1" 1596 | "@types/node" "*" 1597 | 1598 | jest-pnp-resolver@^1.2.2: 1599 | version "1.2.2" 1600 | resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz#b704ac0ae028a89108a4d040b3f919dfddc8e33c" 1601 | integrity sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w== 1602 | 1603 | jest-regex-util@^28.0.2: 1604 | version "28.0.2" 1605 | resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-28.0.2.tgz#afdc377a3b25fb6e80825adcf76c854e5bf47ead" 1606 | integrity sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw== 1607 | 1608 | jest-resolve-dependencies@^28.1.1: 1609 | version "28.1.1" 1610 | resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-28.1.1.tgz#3dffaaa56f4b41bc6b61053899d1756401763a27" 1611 | integrity sha512-p8Y150xYJth4EXhOuB8FzmS9r8IGLEioiaetgdNGb9VHka4fl0zqWlVe4v7mSkYOuEUg2uB61iE+zySDgrOmgQ== 1612 | dependencies: 1613 | jest-regex-util "^28.0.2" 1614 | jest-snapshot "^28.1.1" 1615 | 1616 | jest-resolve@^28.1.1: 1617 | version "28.1.1" 1618 | resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-28.1.1.tgz#bc2eaf384abdcc1aaf3ba7c50d1adf01e59095e5" 1619 | integrity sha512-/d1UbyUkf9nvsgdBildLe6LAD4DalgkgZcKd0nZ8XUGPyA/7fsnaQIlKVnDiuUXv/IeZhPEDrRJubVSulxrShA== 1620 | dependencies: 1621 | chalk "^4.0.0" 1622 | graceful-fs "^4.2.9" 1623 | jest-haste-map "^28.1.1" 1624 | jest-pnp-resolver "^1.2.2" 1625 | jest-util "^28.1.1" 1626 | jest-validate "^28.1.1" 1627 | resolve "^1.20.0" 1628 | resolve.exports "^1.1.0" 1629 | slash "^3.0.0" 1630 | 1631 | jest-runner@^28.1.1: 1632 | version "28.1.1" 1633 | resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-28.1.1.tgz#9ecdb3f27a00059986797aa6b012ba8306aa436c" 1634 | integrity sha512-W5oFUiDBgTsCloTAj6q95wEvYDB0pxIhY6bc5F26OucnwBN+K58xGTGbliSMI4ChQal5eANDF+xvELaYkJxTmA== 1635 | dependencies: 1636 | "@jest/console" "^28.1.1" 1637 | "@jest/environment" "^28.1.1" 1638 | "@jest/test-result" "^28.1.1" 1639 | "@jest/transform" "^28.1.1" 1640 | "@jest/types" "^28.1.1" 1641 | "@types/node" "*" 1642 | chalk "^4.0.0" 1643 | emittery "^0.10.2" 1644 | graceful-fs "^4.2.9" 1645 | jest-docblock "^28.1.1" 1646 | jest-environment-node "^28.1.1" 1647 | jest-haste-map "^28.1.1" 1648 | jest-leak-detector "^28.1.1" 1649 | jest-message-util "^28.1.1" 1650 | jest-resolve "^28.1.1" 1651 | jest-runtime "^28.1.1" 1652 | jest-util "^28.1.1" 1653 | jest-watcher "^28.1.1" 1654 | jest-worker "^28.1.1" 1655 | source-map-support "0.5.13" 1656 | throat "^6.0.1" 1657 | 1658 | jest-runtime@^28.1.1: 1659 | version "28.1.1" 1660 | resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-28.1.1.tgz#569e1dc3c36c6c4c0b29516c1c49b6ad580abdaf" 1661 | integrity sha512-J89qEJWW0leOsqyi0D9zHpFEYHwwafFdS9xgvhFHtIdRghbadodI0eA+DrthK/1PebBv3Px8mFSMGKrtaVnleg== 1662 | dependencies: 1663 | "@jest/environment" "^28.1.1" 1664 | "@jest/fake-timers" "^28.1.1" 1665 | "@jest/globals" "^28.1.1" 1666 | "@jest/source-map" "^28.0.2" 1667 | "@jest/test-result" "^28.1.1" 1668 | "@jest/transform" "^28.1.1" 1669 | "@jest/types" "^28.1.1" 1670 | chalk "^4.0.0" 1671 | cjs-module-lexer "^1.0.0" 1672 | collect-v8-coverage "^1.0.0" 1673 | execa "^5.0.0" 1674 | glob "^7.1.3" 1675 | graceful-fs "^4.2.9" 1676 | jest-haste-map "^28.1.1" 1677 | jest-message-util "^28.1.1" 1678 | jest-mock "^28.1.1" 1679 | jest-regex-util "^28.0.2" 1680 | jest-resolve "^28.1.1" 1681 | jest-snapshot "^28.1.1" 1682 | jest-util "^28.1.1" 1683 | slash "^3.0.0" 1684 | strip-bom "^4.0.0" 1685 | 1686 | jest-snapshot@^28.1.1: 1687 | version "28.1.1" 1688 | resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-28.1.1.tgz#ab825c16c8d8b5e883bd57eee6ca8748c42ab848" 1689 | integrity sha512-1KjqHJ98adRcbIdMizjF5DipwZFbvxym/kFO4g4fVZCZRxH/dqV8TiBFCa6rqic3p0karsy8RWS1y4E07b7P0A== 1690 | dependencies: 1691 | "@babel/core" "^7.11.6" 1692 | "@babel/generator" "^7.7.2" 1693 | "@babel/plugin-syntax-typescript" "^7.7.2" 1694 | "@babel/traverse" "^7.7.2" 1695 | "@babel/types" "^7.3.3" 1696 | "@jest/expect-utils" "^28.1.1" 1697 | "@jest/transform" "^28.1.1" 1698 | "@jest/types" "^28.1.1" 1699 | "@types/babel__traverse" "^7.0.6" 1700 | "@types/prettier" "^2.1.5" 1701 | babel-preset-current-node-syntax "^1.0.0" 1702 | chalk "^4.0.0" 1703 | expect "^28.1.1" 1704 | graceful-fs "^4.2.9" 1705 | jest-diff "^28.1.1" 1706 | jest-get-type "^28.0.2" 1707 | jest-haste-map "^28.1.1" 1708 | jest-matcher-utils "^28.1.1" 1709 | jest-message-util "^28.1.1" 1710 | jest-util "^28.1.1" 1711 | natural-compare "^1.4.0" 1712 | pretty-format "^28.1.1" 1713 | semver "^7.3.5" 1714 | 1715 | jest-util@^28.0.0, jest-util@^28.1.1: 1716 | version "28.1.1" 1717 | resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-28.1.1.tgz#ff39e436a1aca397c0ab998db5a51ae2b7080d05" 1718 | integrity sha512-FktOu7ca1DZSyhPAxgxB6hfh2+9zMoJ7aEQA759Z6p45NuO8mWcqujH+UdHlCm/V6JTWwDztM2ITCzU1ijJAfw== 1719 | dependencies: 1720 | "@jest/types" "^28.1.1" 1721 | "@types/node" "*" 1722 | chalk "^4.0.0" 1723 | ci-info "^3.2.0" 1724 | graceful-fs "^4.2.9" 1725 | picomatch "^2.2.3" 1726 | 1727 | jest-validate@^28.1.1: 1728 | version "28.1.1" 1729 | resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-28.1.1.tgz#59b7b339b3c85b5144bd0c06ad3600f503a4acc8" 1730 | integrity sha512-Kpf6gcClqFCIZ4ti5++XemYJWUPCFUW+N2gknn+KgnDf549iLul3cBuKVe1YcWRlaF8tZV8eJCap0eECOEE3Ug== 1731 | dependencies: 1732 | "@jest/types" "^28.1.1" 1733 | camelcase "^6.2.0" 1734 | chalk "^4.0.0" 1735 | jest-get-type "^28.0.2" 1736 | leven "^3.1.0" 1737 | pretty-format "^28.1.1" 1738 | 1739 | jest-watcher@^28.1.1: 1740 | version "28.1.1" 1741 | resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-28.1.1.tgz#533597fb3bfefd52b5cd115cd916cffd237fb60c" 1742 | integrity sha512-RQIpeZ8EIJMxbQrXpJQYIIlubBnB9imEHsxxE41f54ZwcqWLysL/A0ZcdMirf+XsMn3xfphVQVV4EW0/p7i7Ug== 1743 | dependencies: 1744 | "@jest/test-result" "^28.1.1" 1745 | "@jest/types" "^28.1.1" 1746 | "@types/node" "*" 1747 | ansi-escapes "^4.2.1" 1748 | chalk "^4.0.0" 1749 | emittery "^0.10.2" 1750 | jest-util "^28.1.1" 1751 | string-length "^4.0.1" 1752 | 1753 | jest-worker@^28.1.1: 1754 | version "28.1.1" 1755 | resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-28.1.1.tgz#3480c73247171dfd01eda77200f0063ab6a3bf28" 1756 | integrity sha512-Au7slXB08C6h+xbJPp7VIb6U0XX5Kc9uel/WFc6/rcTzGiaVCBRngBExSYuXSLFPULPSYU3cJ3ybS988lNFQhQ== 1757 | dependencies: 1758 | "@types/node" "*" 1759 | merge-stream "^2.0.0" 1760 | supports-color "^8.0.0" 1761 | 1762 | jest@^28.1.1: 1763 | version "28.1.1" 1764 | resolved "https://registry.yarnpkg.com/jest/-/jest-28.1.1.tgz#3c39a3a09791e16e9ef283597d24ab19a0df701e" 1765 | integrity sha512-qw9YHBnjt6TCbIDMPMpJZqf9E12rh6869iZaN08/vpOGgHJSAaLLUn6H8W3IAEuy34Ls3rct064mZLETkxJ2XA== 1766 | dependencies: 1767 | "@jest/core" "^28.1.1" 1768 | "@jest/types" "^28.1.1" 1769 | import-local "^3.0.2" 1770 | jest-cli "^28.1.1" 1771 | 1772 | js-tokens@^4.0.0: 1773 | version "4.0.0" 1774 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1775 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1776 | 1777 | js-yaml@^3.13.1: 1778 | version "3.14.1" 1779 | resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" 1780 | integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== 1781 | dependencies: 1782 | argparse "^1.0.7" 1783 | esprima "^4.0.0" 1784 | 1785 | jsesc@^2.5.1: 1786 | version "2.5.2" 1787 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1788 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1789 | 1790 | json-parse-even-better-errors@^2.3.0: 1791 | version "2.3.1" 1792 | resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" 1793 | integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== 1794 | 1795 | json5@^2.2.1: 1796 | version "2.2.1" 1797 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" 1798 | integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== 1799 | 1800 | kleur@^3.0.3: 1801 | version "3.0.3" 1802 | resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" 1803 | integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== 1804 | 1805 | leven@^3.1.0: 1806 | version "3.1.0" 1807 | resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" 1808 | integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== 1809 | 1810 | lilconfig@2.0.5: 1811 | version "2.0.5" 1812 | resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.5.tgz#19e57fd06ccc3848fd1891655b5a447092225b25" 1813 | integrity sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg== 1814 | 1815 | lines-and-columns@^1.1.6: 1816 | version "1.2.4" 1817 | resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" 1818 | integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== 1819 | 1820 | lint-staged@^13.0.3: 1821 | version "13.0.3" 1822 | resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.0.3.tgz#d7cdf03a3830b327a2b63c6aec953d71d9dc48c6" 1823 | integrity sha512-9hmrwSCFroTSYLjflGI8Uk+GWAwMB4OlpU4bMJEAT5d/llQwtYKoim4bLOyLCuWFAhWEupE0vkIFqtw/WIsPug== 1824 | dependencies: 1825 | cli-truncate "^3.1.0" 1826 | colorette "^2.0.17" 1827 | commander "^9.3.0" 1828 | debug "^4.3.4" 1829 | execa "^6.1.0" 1830 | lilconfig "2.0.5" 1831 | listr2 "^4.0.5" 1832 | micromatch "^4.0.5" 1833 | normalize-path "^3.0.0" 1834 | object-inspect "^1.12.2" 1835 | pidtree "^0.6.0" 1836 | string-argv "^0.3.1" 1837 | yaml "^2.1.1" 1838 | 1839 | listr2@^4.0.5: 1840 | version "4.0.5" 1841 | resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.5.tgz#9dcc50221583e8b4c71c43f9c7dfd0ef546b75d5" 1842 | integrity sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA== 1843 | dependencies: 1844 | cli-truncate "^2.1.0" 1845 | colorette "^2.0.16" 1846 | log-update "^4.0.0" 1847 | p-map "^4.0.0" 1848 | rfdc "^1.3.0" 1849 | rxjs "^7.5.5" 1850 | through "^2.3.8" 1851 | wrap-ansi "^7.0.0" 1852 | 1853 | locate-path@^5.0.0: 1854 | version "5.0.0" 1855 | resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" 1856 | integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== 1857 | dependencies: 1858 | p-locate "^4.1.0" 1859 | 1860 | lodash.memoize@4.x: 1861 | version "4.1.2" 1862 | resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" 1863 | integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== 1864 | 1865 | log-update@^4.0.0: 1866 | version "4.0.0" 1867 | resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" 1868 | integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== 1869 | dependencies: 1870 | ansi-escapes "^4.3.0" 1871 | cli-cursor "^3.1.0" 1872 | slice-ansi "^4.0.0" 1873 | wrap-ansi "^6.2.0" 1874 | 1875 | lru-cache@^6.0.0: 1876 | version "6.0.0" 1877 | resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" 1878 | integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== 1879 | dependencies: 1880 | yallist "^4.0.0" 1881 | 1882 | make-dir@^3.0.0: 1883 | version "3.1.0" 1884 | resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" 1885 | integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== 1886 | dependencies: 1887 | semver "^6.0.0" 1888 | 1889 | make-error@1.x: 1890 | version "1.3.6" 1891 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 1892 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 1893 | 1894 | makeerror@1.0.12: 1895 | version "1.0.12" 1896 | resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" 1897 | integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== 1898 | dependencies: 1899 | tmpl "1.0.5" 1900 | 1901 | merge-stream@^2.0.0: 1902 | version "2.0.0" 1903 | resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" 1904 | integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== 1905 | 1906 | micromatch@^4.0.4, micromatch@^4.0.5: 1907 | version "4.0.5" 1908 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" 1909 | integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== 1910 | dependencies: 1911 | braces "^3.0.2" 1912 | picomatch "^2.3.1" 1913 | 1914 | mimic-fn@^2.1.0: 1915 | version "2.1.0" 1916 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" 1917 | integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== 1918 | 1919 | mimic-fn@^4.0.0: 1920 | version "4.0.0" 1921 | resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" 1922 | integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== 1923 | 1924 | minimatch@^3.0.4, minimatch@^3.1.1: 1925 | version "3.1.2" 1926 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" 1927 | integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== 1928 | dependencies: 1929 | brace-expansion "^1.1.7" 1930 | 1931 | ms@2.1.2: 1932 | version "2.1.2" 1933 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1934 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1935 | 1936 | natural-compare@^1.4.0: 1937 | version "1.4.0" 1938 | resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" 1939 | integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== 1940 | 1941 | node-int64@^0.4.0: 1942 | version "0.4.0" 1943 | resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" 1944 | integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== 1945 | 1946 | node-releases@^2.0.5: 1947 | version "2.0.5" 1948 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.5.tgz#280ed5bc3eba0d96ce44897d8aee478bfb3d9666" 1949 | integrity sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q== 1950 | 1951 | normalize-path@^3.0.0: 1952 | version "3.0.0" 1953 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1954 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1955 | 1956 | npm-run-path@^4.0.1: 1957 | version "4.0.1" 1958 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" 1959 | integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== 1960 | dependencies: 1961 | path-key "^3.0.0" 1962 | 1963 | npm-run-path@^5.1.0: 1964 | version "5.1.0" 1965 | resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00" 1966 | integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q== 1967 | dependencies: 1968 | path-key "^4.0.0" 1969 | 1970 | object-inspect@^1.12.2: 1971 | version "1.12.2" 1972 | resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" 1973 | integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== 1974 | 1975 | once@^1.3.0: 1976 | version "1.4.0" 1977 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1978 | integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== 1979 | dependencies: 1980 | wrappy "1" 1981 | 1982 | onetime@^5.1.0, onetime@^5.1.2: 1983 | version "5.1.2" 1984 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" 1985 | integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== 1986 | dependencies: 1987 | mimic-fn "^2.1.0" 1988 | 1989 | onetime@^6.0.0: 1990 | version "6.0.0" 1991 | resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4" 1992 | integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== 1993 | dependencies: 1994 | mimic-fn "^4.0.0" 1995 | 1996 | p-limit@^2.2.0: 1997 | version "2.3.0" 1998 | resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" 1999 | integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== 2000 | dependencies: 2001 | p-try "^2.0.0" 2002 | 2003 | p-locate@^4.1.0: 2004 | version "4.1.0" 2005 | resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" 2006 | integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== 2007 | dependencies: 2008 | p-limit "^2.2.0" 2009 | 2010 | p-map@^4.0.0: 2011 | version "4.0.0" 2012 | resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" 2013 | integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== 2014 | dependencies: 2015 | aggregate-error "^3.0.0" 2016 | 2017 | p-try@^2.0.0: 2018 | version "2.2.0" 2019 | resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" 2020 | integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== 2021 | 2022 | parse-json@^5.2.0: 2023 | version "5.2.0" 2024 | resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" 2025 | integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== 2026 | dependencies: 2027 | "@babel/code-frame" "^7.0.0" 2028 | error-ex "^1.3.1" 2029 | json-parse-even-better-errors "^2.3.0" 2030 | lines-and-columns "^1.1.6" 2031 | 2032 | path-exists@^4.0.0: 2033 | version "4.0.0" 2034 | resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" 2035 | integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== 2036 | 2037 | path-is-absolute@^1.0.0: 2038 | version "1.0.1" 2039 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 2040 | integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== 2041 | 2042 | path-key@^3.0.0, path-key@^3.1.0: 2043 | version "3.1.1" 2044 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 2045 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 2046 | 2047 | path-key@^4.0.0: 2048 | version "4.0.0" 2049 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" 2050 | integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== 2051 | 2052 | path-parse@^1.0.7: 2053 | version "1.0.7" 2054 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 2055 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 2056 | 2057 | picocolors@^1.0.0: 2058 | version "1.0.0" 2059 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 2060 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 2061 | 2062 | picomatch@^2.0.4, picomatch@^2.2.3, picomatch@^2.3.1: 2063 | version "2.3.1" 2064 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" 2065 | integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== 2066 | 2067 | pidtree@^0.6.0: 2068 | version "0.6.0" 2069 | resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c" 2070 | integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== 2071 | 2072 | pirates@^4.0.4: 2073 | version "4.0.5" 2074 | resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" 2075 | integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== 2076 | 2077 | pkg-dir@^4.2.0: 2078 | version "4.2.0" 2079 | resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" 2080 | integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== 2081 | dependencies: 2082 | find-up "^4.0.0" 2083 | 2084 | prettier@^2.7.1: 2085 | version "2.7.1" 2086 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" 2087 | integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== 2088 | 2089 | pretty-format@^28.0.0, pretty-format@^28.1.1: 2090 | version "28.1.1" 2091 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-28.1.1.tgz#f731530394e0f7fcd95aba6b43c50e02d86b95cb" 2092 | integrity sha512-wwJbVTGFHeucr5Jw2bQ9P+VYHyLdAqedFLEkdQUVaBF/eiidDwH5OpilINq4mEfhbCjLnirt6HTTDhv1HaTIQw== 2093 | dependencies: 2094 | "@jest/schemas" "^28.0.2" 2095 | ansi-regex "^5.0.1" 2096 | ansi-styles "^5.0.0" 2097 | react-is "^18.0.0" 2098 | 2099 | prompts@^2.0.1: 2100 | version "2.4.2" 2101 | resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" 2102 | integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== 2103 | dependencies: 2104 | kleur "^3.0.3" 2105 | sisteransi "^1.0.5" 2106 | 2107 | react-is@^18.0.0: 2108 | version "18.2.0" 2109 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" 2110 | integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== 2111 | 2112 | require-directory@^2.1.1: 2113 | version "2.1.1" 2114 | resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" 2115 | integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== 2116 | 2117 | resolve-cwd@^3.0.0: 2118 | version "3.0.0" 2119 | resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" 2120 | integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== 2121 | dependencies: 2122 | resolve-from "^5.0.0" 2123 | 2124 | resolve-from@^5.0.0: 2125 | version "5.0.0" 2126 | resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" 2127 | integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== 2128 | 2129 | resolve.exports@^1.1.0: 2130 | version "1.1.0" 2131 | resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9" 2132 | integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ== 2133 | 2134 | resolve@^1.20.0: 2135 | version "1.22.1" 2136 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 2137 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 2138 | dependencies: 2139 | is-core-module "^2.9.0" 2140 | path-parse "^1.0.7" 2141 | supports-preserve-symlinks-flag "^1.0.0" 2142 | 2143 | restore-cursor@^3.1.0: 2144 | version "3.1.0" 2145 | resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" 2146 | integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== 2147 | dependencies: 2148 | onetime "^5.1.0" 2149 | signal-exit "^3.0.2" 2150 | 2151 | rfdc@^1.3.0: 2152 | version "1.3.0" 2153 | resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" 2154 | integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== 2155 | 2156 | rimraf@^3.0.0: 2157 | version "3.0.2" 2158 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" 2159 | integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== 2160 | dependencies: 2161 | glob "^7.1.3" 2162 | 2163 | rxjs@^7.5.5: 2164 | version "7.5.5" 2165 | resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.5.tgz#2ebad89af0f560f460ad5cc4213219e1f7dd4e9f" 2166 | integrity sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw== 2167 | dependencies: 2168 | tslib "^2.1.0" 2169 | 2170 | safe-buffer@~5.1.1: 2171 | version "5.1.2" 2172 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 2173 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 2174 | 2175 | semver@7.x, semver@^7.3.5: 2176 | version "7.3.7" 2177 | resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" 2178 | integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== 2179 | dependencies: 2180 | lru-cache "^6.0.0" 2181 | 2182 | semver@^6.0.0, semver@^6.3.0: 2183 | version "6.3.0" 2184 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 2185 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 2186 | 2187 | shebang-command@^2.0.0: 2188 | version "2.0.0" 2189 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 2190 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 2191 | dependencies: 2192 | shebang-regex "^3.0.0" 2193 | 2194 | shebang-regex@^3.0.0: 2195 | version "3.0.0" 2196 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 2197 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 2198 | 2199 | signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: 2200 | version "3.0.7" 2201 | resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" 2202 | integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== 2203 | 2204 | sisteransi@^1.0.5: 2205 | version "1.0.5" 2206 | resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" 2207 | integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== 2208 | 2209 | slash@^3.0.0: 2210 | version "3.0.0" 2211 | resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" 2212 | integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== 2213 | 2214 | slice-ansi@^3.0.0: 2215 | version "3.0.0" 2216 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" 2217 | integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== 2218 | dependencies: 2219 | ansi-styles "^4.0.0" 2220 | astral-regex "^2.0.0" 2221 | is-fullwidth-code-point "^3.0.0" 2222 | 2223 | slice-ansi@^4.0.0: 2224 | version "4.0.0" 2225 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" 2226 | integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== 2227 | dependencies: 2228 | ansi-styles "^4.0.0" 2229 | astral-regex "^2.0.0" 2230 | is-fullwidth-code-point "^3.0.0" 2231 | 2232 | slice-ansi@^5.0.0: 2233 | version "5.0.0" 2234 | resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" 2235 | integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== 2236 | dependencies: 2237 | ansi-styles "^6.0.0" 2238 | is-fullwidth-code-point "^4.0.0" 2239 | 2240 | source-map-support@0.5.13: 2241 | version "0.5.13" 2242 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" 2243 | integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== 2244 | dependencies: 2245 | buffer-from "^1.0.0" 2246 | source-map "^0.6.0" 2247 | 2248 | source-map@^0.6.0, source-map@^0.6.1: 2249 | version "0.6.1" 2250 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 2251 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 2252 | 2253 | sprintf-js@~1.0.2: 2254 | version "1.0.3" 2255 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 2256 | integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== 2257 | 2258 | stack-utils@^2.0.3: 2259 | version "2.0.5" 2260 | resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" 2261 | integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== 2262 | dependencies: 2263 | escape-string-regexp "^2.0.0" 2264 | 2265 | string-argv@^0.3.1: 2266 | version "0.3.1" 2267 | resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" 2268 | integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== 2269 | 2270 | string-length@^4.0.1: 2271 | version "4.0.2" 2272 | resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" 2273 | integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== 2274 | dependencies: 2275 | char-regex "^1.0.2" 2276 | strip-ansi "^6.0.0" 2277 | 2278 | string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: 2279 | version "4.2.3" 2280 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" 2281 | integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== 2282 | dependencies: 2283 | emoji-regex "^8.0.0" 2284 | is-fullwidth-code-point "^3.0.0" 2285 | strip-ansi "^6.0.1" 2286 | 2287 | string-width@^5.0.0: 2288 | version "5.1.2" 2289 | resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794" 2290 | integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== 2291 | dependencies: 2292 | eastasianwidth "^0.2.0" 2293 | emoji-regex "^9.2.2" 2294 | strip-ansi "^7.0.1" 2295 | 2296 | strip-ansi@^6.0.0, strip-ansi@^6.0.1: 2297 | version "6.0.1" 2298 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" 2299 | integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== 2300 | dependencies: 2301 | ansi-regex "^5.0.1" 2302 | 2303 | strip-ansi@^7.0.1: 2304 | version "7.0.1" 2305 | resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" 2306 | integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== 2307 | dependencies: 2308 | ansi-regex "^6.0.1" 2309 | 2310 | strip-bom@^4.0.0: 2311 | version "4.0.0" 2312 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" 2313 | integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== 2314 | 2315 | strip-final-newline@^2.0.0: 2316 | version "2.0.0" 2317 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" 2318 | integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 2319 | 2320 | strip-final-newline@^3.0.0: 2321 | version "3.0.0" 2322 | resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd" 2323 | integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== 2324 | 2325 | strip-json-comments@^3.1.1: 2326 | version "3.1.1" 2327 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" 2328 | integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== 2329 | 2330 | supports-color@^5.3.0: 2331 | version "5.5.0" 2332 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 2333 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 2334 | dependencies: 2335 | has-flag "^3.0.0" 2336 | 2337 | supports-color@^7.0.0, supports-color@^7.1.0: 2338 | version "7.2.0" 2339 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 2340 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2341 | dependencies: 2342 | has-flag "^4.0.0" 2343 | 2344 | supports-color@^8.0.0: 2345 | version "8.1.1" 2346 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" 2347 | integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== 2348 | dependencies: 2349 | has-flag "^4.0.0" 2350 | 2351 | supports-hyperlinks@^2.0.0: 2352 | version "2.2.0" 2353 | resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz#4f77b42488765891774b70c79babd87f9bd594bb" 2354 | integrity sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ== 2355 | dependencies: 2356 | has-flag "^4.0.0" 2357 | supports-color "^7.0.0" 2358 | 2359 | supports-preserve-symlinks-flag@^1.0.0: 2360 | version "1.0.0" 2361 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 2362 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 2363 | 2364 | terminal-link@^2.0.0: 2365 | version "2.1.1" 2366 | resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" 2367 | integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== 2368 | dependencies: 2369 | ansi-escapes "^4.2.1" 2370 | supports-hyperlinks "^2.0.0" 2371 | 2372 | test-exclude@^6.0.0: 2373 | version "6.0.0" 2374 | resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" 2375 | integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== 2376 | dependencies: 2377 | "@istanbuljs/schema" "^0.1.2" 2378 | glob "^7.1.4" 2379 | minimatch "^3.0.4" 2380 | 2381 | throat@^6.0.1: 2382 | version "6.0.1" 2383 | resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" 2384 | integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== 2385 | 2386 | through@^2.3.8: 2387 | version "2.3.8" 2388 | resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" 2389 | integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== 2390 | 2391 | tmpl@1.0.5: 2392 | version "1.0.5" 2393 | resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" 2394 | integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== 2395 | 2396 | to-fast-properties@^2.0.0: 2397 | version "2.0.0" 2398 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 2399 | integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== 2400 | 2401 | to-regex-range@^5.0.1: 2402 | version "5.0.1" 2403 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2404 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2405 | dependencies: 2406 | is-number "^7.0.0" 2407 | 2408 | ts-jest@^28.0.5: 2409 | version "28.0.5" 2410 | resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-28.0.5.tgz#31776f768fba6dfc8c061d488840ed0c8eeac8b9" 2411 | integrity sha512-Sx9FyP9pCY7pUzQpy4FgRZf2bhHY3za576HMKJFs+OnQ9jS96Du5vNsDKkyedQkik+sEabbKAnCliv9BEsHZgQ== 2412 | dependencies: 2413 | bs-logger "0.x" 2414 | fast-json-stable-stringify "2.x" 2415 | jest-util "^28.0.0" 2416 | json5 "^2.2.1" 2417 | lodash.memoize "4.x" 2418 | make-error "1.x" 2419 | semver "7.x" 2420 | yargs-parser "^21.0.1" 2421 | 2422 | tslib@^2.1.0, tslib@^2.4.0: 2423 | version "2.4.0" 2424 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" 2425 | integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== 2426 | 2427 | tslib@^2.6.3: 2428 | version "2.8.1" 2429 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.8.1.tgz#612efe4ed235d567e8aba5f2a5fab70280ade83f" 2430 | integrity sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w== 2431 | 2432 | type-detect@4.0.8: 2433 | version "4.0.8" 2434 | resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" 2435 | integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== 2436 | 2437 | type-fest@^0.21.3: 2438 | version "0.21.3" 2439 | resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" 2440 | integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== 2441 | 2442 | typescript@^4.7.4: 2443 | version "4.7.4" 2444 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.7.4.tgz#1a88596d1cf47d59507a1bcdfb5b9dfe4d488235" 2445 | integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ== 2446 | 2447 | update-browserslist-db@^1.0.0: 2448 | version "1.0.4" 2449 | resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.4.tgz#dbfc5a789caa26b1db8990796c2c8ebbce304824" 2450 | integrity sha512-jnmO2BEGUjsMOe/Fg9u0oczOe/ppIDZPebzccl1yDWGLFP16Pa1/RM5wEoKYPG2zstNcDuAStejyxsOuKINdGA== 2451 | dependencies: 2452 | escalade "^3.1.1" 2453 | picocolors "^1.0.0" 2454 | 2455 | v8-to-istanbul@^9.0.0: 2456 | version "9.0.1" 2457 | resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4" 2458 | integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w== 2459 | dependencies: 2460 | "@jridgewell/trace-mapping" "^0.3.12" 2461 | "@types/istanbul-lib-coverage" "^2.0.1" 2462 | convert-source-map "^1.6.0" 2463 | 2464 | walker@^1.0.8: 2465 | version "1.0.8" 2466 | resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" 2467 | integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== 2468 | dependencies: 2469 | makeerror "1.0.12" 2470 | 2471 | which@^2.0.1: 2472 | version "2.0.2" 2473 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2474 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2475 | dependencies: 2476 | isexe "^2.0.0" 2477 | 2478 | wrap-ansi@^6.2.0: 2479 | version "6.2.0" 2480 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" 2481 | integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== 2482 | dependencies: 2483 | ansi-styles "^4.0.0" 2484 | string-width "^4.1.0" 2485 | strip-ansi "^6.0.0" 2486 | 2487 | wrap-ansi@^7.0.0: 2488 | version "7.0.0" 2489 | resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" 2490 | integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== 2491 | dependencies: 2492 | ansi-styles "^4.0.0" 2493 | string-width "^4.1.0" 2494 | strip-ansi "^6.0.0" 2495 | 2496 | wrappy@1: 2497 | version "1.0.2" 2498 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2499 | integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== 2500 | 2501 | write-file-atomic@^4.0.1: 2502 | version "4.0.1" 2503 | resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f" 2504 | integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ== 2505 | dependencies: 2506 | imurmurhash "^0.1.4" 2507 | signal-exit "^3.0.7" 2508 | 2509 | y18n@^5.0.5: 2510 | version "5.0.8" 2511 | resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" 2512 | integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== 2513 | 2514 | yallist@^4.0.0: 2515 | version "4.0.0" 2516 | resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" 2517 | integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== 2518 | 2519 | yaml@^2.1.1: 2520 | version "2.1.1" 2521 | resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.1.1.tgz#1e06fb4ca46e60d9da07e4f786ea370ed3c3cfec" 2522 | integrity sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw== 2523 | 2524 | yargs-parser@^21.0.0, yargs-parser@^21.0.1: 2525 | version "21.0.1" 2526 | resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.0.1.tgz#0267f286c877a4f0f728fceb6f8a3e4cb95c6e35" 2527 | integrity sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg== 2528 | 2529 | yargs@^17.3.1: 2530 | version "17.5.1" 2531 | resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.5.1.tgz#e109900cab6fcb7fd44b1d8249166feb0b36e58e" 2532 | integrity sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA== 2533 | dependencies: 2534 | cliui "^7.0.2" 2535 | escalade "^3.1.1" 2536 | get-caller-file "^2.0.5" 2537 | require-directory "^2.1.1" 2538 | string-width "^4.2.3" 2539 | y18n "^5.0.5" 2540 | yargs-parser "^21.0.0" 2541 | --------------------------------------------------------------------------------