├── .gitmodules ├── .prettierc ├── .prettierignore ├── .env ├── .vscode └── settings.json ├── vite.config.ts ├── src ├── vite-env.d.ts ├── setupTests.ts ├── App.test.tsx ├── index.css ├── App.tsx ├── main.tsx ├── App.css ├── dev │ ├── custom-graphiql.css │ └── GraphiQL.tsx └── logo.svg ├── scripts └── write-graphql-schema.ts ├── server ├── tsconfig.json ├── schema.ts └── main.ts ├── .gitignore ├── index.html ├── tsconfig.json ├── renovate.json ├── .github └── workflows │ └── ci.yml ├── GraphQLTypeDefinitions.graphql ├── package.json ├── README.md └── yarn.lock /.gitmodules: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.prettierc: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | express-graphql -------------------------------------------------------------------------------- /.env: -------------------------------------------------------------------------------- 1 | VITE_WS_URL=ws://localhost:4000/graphql 2 | VITE_GRAPHQL_SERVER_URL=http://localhost:4000/graphql -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": true, 3 | "editor.defaultFormatter": "esbenp.prettier-vscode" 4 | } -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from "vite"; 2 | import reactRefresh from "@vitejs/plugin-react-refresh"; 3 | 4 | // https://vitejs.dev/config/ 5 | export default defineConfig({ 6 | plugins: [reactRefresh()], 7 | }); 8 | -------------------------------------------------------------------------------- /src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | interface ImportMetaEnv { 4 | readonly VITE_WS_URL: string; 5 | readonly VITE_GRAPHQL_SERVER_URL: string; 6 | } 7 | 8 | interface ImportMeta { 9 | readonly env: ImportMetaEnv; 10 | } 11 | -------------------------------------------------------------------------------- /src/setupTests.ts: -------------------------------------------------------------------------------- 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. 2 | // allows you to do things like: 3 | // expect(element).toHaveTextContent(/react/i) 4 | // learn more: https://github.com/testing-library/jest-dom 5 | import '@testing-library/jest-dom'; 6 | -------------------------------------------------------------------------------- /src/App.test.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { render, screen } from '@testing-library/react'; 3 | import App from './App'; 4 | 5 | test('renders learn react link', () => { 6 | render(); 7 | const linkElement = screen.getByText(/learn react/i); 8 | expect(linkElement).toBeInTheDocument(); 9 | }); 10 | -------------------------------------------------------------------------------- /scripts/write-graphql-schema.ts: -------------------------------------------------------------------------------- 1 | import { printSchema } from "graphql"; 2 | import { schema } from "../server/schema"; 3 | import * as fs from "fs"; 4 | import * as path from "path"; 5 | 6 | const contents = "### THIS FILE IS AUTO GENERATED\n\n" + printSchema(schema); 7 | 8 | fs.writeFileSync( 9 | path.join(__dirname, "..", "GraphQLTypeDefinitions.graphql"), 10 | contents, 11 | "utf-8" 12 | ); 13 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 5 | sans-serif; 6 | -webkit-font-smoothing: antialiased; 7 | -moz-osx-font-smoothing: grayscale; 8 | } 9 | 10 | code { 11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', 12 | monospace; 13 | } 14 | -------------------------------------------------------------------------------- /server/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2019", 4 | "allowJs": true, 5 | "skipLibCheck": true, 6 | "esModuleInterop": true, 7 | "strict": true, 8 | "module": "ESNext", 9 | "moduleResolution": "node", 10 | "resolveJsonModule": true, 11 | "isolatedModules": true, 12 | "outDir": "./../server-build" 13 | }, 14 | "include": ["./"], 15 | "exclude": ["node_modules"] 16 | } 17 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | /server-build 14 | 15 | # misc 16 | .DS_Store 17 | .env.local 18 | .env.development.local 19 | .env.test.local 20 | .env.production.local 21 | 22 | npm-debug.log* 23 | yarn-debug.log* 24 | yarn-error.log* 25 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | GraphQL Bleeding Edge Playground 8 | 9 | 10 |
11 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/App.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import logo from "./logo.svg"; 3 | import "./App.css"; 4 | 5 | function App() { 6 | return ( 7 |
8 |
9 | logo 10 |

11 | Edit src/App.tsx and save to reload. 12 |

13 | 14 | Visit GraphiQL 15 | 16 |
17 |
18 | ); 19 | } 20 | 21 | export default App; 22 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "lib": ["DOM", "DOM.Iterable", "ESNext"], 5 | "allowJs": false, 6 | "skipLibCheck": false, 7 | "esModuleInterop": false, 8 | "allowSyntheticDefaultImports": true, 9 | "strict": true, 10 | "forceConsistentCasingInFileNames": true, 11 | "module": "ESNext", 12 | "moduleResolution": "Node", 13 | "resolveJsonModule": true, 14 | "isolatedModules": true, 15 | "noEmit": true, 16 | "jsx": "react" 17 | }, 18 | "include": ["./src"] 19 | } 20 | -------------------------------------------------------------------------------- /src/main.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import ReactDOM from "react-dom"; 3 | import "./index.css"; 4 | import App from "./App"; 5 | 6 | if (import.meta.env.DEV && window.location.pathname === "/__dev__/graphiql") { 7 | import("./dev/GraphiQL").then(({ GraphiQL }) => { 8 | ReactDOM.render( 9 | 10 | 11 | , 12 | document.getElementById("root") 13 | ); 14 | }); 15 | } else { 16 | ReactDOM.render( 17 | 18 | 19 | , 20 | document.getElementById("root") 21 | ); 22 | } 23 | -------------------------------------------------------------------------------- /renovate.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json", 3 | "extends": ["config:base"], 4 | "postUpdateOptions": ["yarnDedupeFewer"], 5 | "packageRules": [ 6 | { 7 | "groupName": "testing library", 8 | "packagePatterns": ["^@testing-library/"] 9 | }, 10 | { 11 | "groupName": "n1ru4l packages", 12 | "packagePatterns": ["^@n1ru4l/"] 13 | }, 14 | { 15 | "groupName": "tinyhttp", 16 | "packagePatterns": ["^@tinyhttp/"] 17 | }, 18 | { 19 | "groupName": "envelop", 20 | "packagePatterns": ["^@envelop/"] 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: CI 2 | 3 | on: 4 | push: 5 | 6 | jobs: 7 | ci: 8 | name: CI 9 | runs-on: ubuntu-latest 10 | steps: 11 | - name: Checkout Repo 12 | uses: actions/checkout@master 13 | with: 14 | # This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits 15 | fetch-depth: 0 16 | 17 | - name: Setup Node.js 14.x 18 | uses: actions/setup-node@master 19 | with: 20 | node-version: 14.x 21 | 22 | - name: Install Dependencies 23 | run: yarn 24 | 25 | - name: Build Server 26 | run: yarn server:build 27 | 28 | - name: Build Client 29 | run: yarn build 30 | -------------------------------------------------------------------------------- /src/App.css: -------------------------------------------------------------------------------- 1 | .App { 2 | text-align: center; 3 | } 4 | 5 | .App-logo { 6 | height: 40vmin; 7 | pointer-events: none; 8 | } 9 | 10 | @media (prefers-reduced-motion: no-preference) { 11 | .App-logo { 12 | animation: App-logo-spin infinite 20s linear; 13 | } 14 | } 15 | 16 | .App-header { 17 | background-color: #282c34; 18 | min-height: 100vh; 19 | display: flex; 20 | flex-direction: column; 21 | align-items: center; 22 | justify-content: center; 23 | font-size: calc(10px + 2vmin); 24 | color: white; 25 | } 26 | 27 | .App-link { 28 | color: #61dafb; 29 | } 30 | 31 | @keyframes App-logo-spin { 32 | from { 33 | transform: rotate(0deg); 34 | } 35 | to { 36 | transform: rotate(360deg); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /GraphQLTypeDefinitions.graphql: -------------------------------------------------------------------------------- 1 | ### THIS FILE IS AUTO GENERATED 2 | 3 | """ 4 | Instruction for establishing a live connection that is updated once the underlying data changes. 5 | """ 6 | directive @live( 7 | """ 8 | Whether the query should be live or not. 9 | """ 10 | if: Boolean = true 11 | ) on QUERY 12 | 13 | type Query { 14 | ping: Boolean 15 | deferTest: GraphQLDeferTest 16 | streamTest: [String] 17 | greetings: [String] 18 | } 19 | 20 | type GraphQLDeferTest { 21 | name: String 22 | deferThisField: String 23 | } 24 | 25 | type Mutation { 26 | ping: Boolean 27 | } 28 | 29 | type Subscription { 30 | """ 31 | Count to a given number. Implementation Backed by AsyncGenerator function. 32 | """ 33 | count(to: Int!): String 34 | 35 | """ 36 | Publishes a random hash every second. Backed by Node.js EventEmitter. 37 | """ 38 | randomHash: String 39 | } 40 | -------------------------------------------------------------------------------- /src/dev/custom-graphiql.css: -------------------------------------------------------------------------------- 1 | .graphiql-container .toolbar-button { 2 | overflow: hidden; 3 | } 4 | 5 | .graphiql-container .toolbar-drop-down { 6 | position: relative; 7 | } 8 | 9 | .graphiql-container .toolbar-label { 10 | display: flex; 11 | justify-content: center; 12 | align-items: center; 13 | color: #555; 14 | margin-left: 12px; 15 | } 16 | 17 | .graphiql-container .toolbar-drop-down-menu { 18 | position: absolute; 19 | background-color: white; 20 | z-index: 100000000; 21 | } 22 | 23 | .graphiql-container .toolbar-drop-down-menu-item { 24 | all: unset; 25 | padding: 2px 3px; 26 | cursor: pointer; 27 | background: rgb(241, 241, 241); 28 | width: 100%; 29 | box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2), 30 | 0 1px 0 rgba(255, 255, 255, 0.7), inset 0 1px #fff; 31 | color: #555; 32 | } 33 | 34 | .graphiql-container .toolbar-drop-down-menu-item:hover { 35 | } 36 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "cra-template-node-graphql", 3 | "type": "module", 4 | "version": "0.1.0", 5 | "private": true, 6 | "devDependencies": { 7 | "@n1ru4l/push-pull-async-iterable-iterator": "3.1.0", 8 | "@n1ru4l/socket-io-graphql-client": "0.11.1", 9 | "@testing-library/jest-dom": "5.16.1", 10 | "@testing-library/react": "12.1.2", 11 | "@testing-library/user-event": "13.5.0", 12 | "@types/jest": "27.0.2", 13 | "@types/node": "14.18.12", 14 | "@types/react": "17.0.34", 15 | "@types/react-dom": "17.0.9", 16 | "@types/ws": "8.2.2", 17 | "@vitejs/plugin-react-refresh": "1.3.6", 18 | "cross-env": "7.0.3", 19 | "esm": "3.2.25", 20 | "graphiql": "1.4.2", 21 | "meros": "1.1.4", 22 | "milliparsec": "2.2.0", 23 | "patch-package": "6.4.7", 24 | "prettier": "2.5.1", 25 | "react": "17.0.2", 26 | "react-dom": "17.0.2", 27 | "socket.io-client": "4.4.0", 28 | "sse-z": "0.3.0", 29 | "ts-node": "10.4.0", 30 | "ts-node-dev": "1.1.8", 31 | "typescript": "4.5.2", 32 | "vite": "2.8.6" 33 | }, 34 | "dependencies": { 35 | "@envelop/core": "1.2.0", 36 | "@envelop/extended-validation": "1.1.1", 37 | "@n1ru4l/graphql-live-query": "0.9.0", 38 | "@n1ru4l/in-memory-live-query-store": "0.8.0", 39 | "@n1ru4l/socket-io-graphql-server": "0.12.0", 40 | "@tinyhttp/app": "1.3.15", 41 | "@tinyhttp/cors": "1.3.2", 42 | "graphql": "15.4.0-experimental-stream-defer.1", 43 | "graphql-helix": "1.10.3", 44 | "graphql-ws": "5.5.5", 45 | "socket.io": "4.4.0", 46 | "ws": "8.4.0" 47 | }, 48 | "scripts": { 49 | "start": "vite", 50 | "build": "vite build", 51 | "postinstall": "patch-package", 52 | "server:start": "cross-env NODE_ENV=development node --experimental-specifier-resolution=node --loader ts-node/esm ./server/main.ts", 53 | "server:build": "tsc --project server/tsconfig.json", 54 | "write-schema": "ts-node --project ./server/tsconfig.json ./scripts/write-graphql-schema.ts" 55 | }, 56 | "resolutions": { 57 | "graphql": "15.4.0-experimental-stream-defer.1" 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 |

Experimental GraphQL Playground

3 |

Demonstration of the bleeding edge GraphQL features

4 |
5 | 6 | --- 7 | 8 | ### Features: 9 | 10 | - Query (HTTP, HTTP-Multipart, WebSocket) 11 | - Mutation (HTTP, HTTP-Multipart, WebSocket) 12 | - Query with @defer (HTTP-Multipart, WebSocket) 13 | - Query with @stream (HTTP-Multipart, WebSocket) 14 | - Subscription (WebSocket/SSE) 15 | - Query with @live (WebSocket/SSE) 16 | - [OneOf/Polymorphic Input Objects and Fields](https://github.com/graphql/graphql-spec/pull/825) 17 | 18 | > Check out the [Fetcher implementations on GraphiQL](src/dev/GraphiQL.tsx) 19 | 20 | Built on the following transports: 21 | 22 | - [`graphql-helix`](https://github.com/contrawork/graphql-helix) - GraphQL over HTTP 23 | - [`graphql-ws`](https://github.com/enisdenjo/graphql-ws) - GraphQL over WebSocket 24 | - [`@n1ru4l/socket-io-graphql-server`](https://github.com/n1ru4l/graphql-live-query/tree/main/packages/socket-io-graphql-server) - GraphQL over Socket.io 25 | 26 | and powered by the following libraries: 27 | 28 | - [graphql-js](https://github.com/graphql/graphql-js) - The JavaScript reference implementation for GraphQL 29 | - [meros](https://github.com/maraisr/meros) - Makes reading multipart responses simple 30 | - [SSE-Z](https://github.com/contrawork/sse-z) - Simple SSE wrapper 31 | - [envelop](https://github.com/dotansimha/envelop) - The missing graphql.js plugin/extension library 32 | - [graphql-live-query](https://github.com/n1ru4l/graphql-live-query) - GraphQL live queries for any GraphQL schema 33 | 34 | Running on ESM ;) 35 | 36 | # Setup instructions 37 | 38 | 1. clone this repo 39 | 2. Make sure you have yarn and node v14 installed 40 | 3. Run `yarn install` 41 | 42 | # Usage 43 | 44 | Start the server with `yarn server:start` 45 | 46 | Start the frontend `yarn start` 47 | 48 | Visit `localhost:3000/__dev__/graphiql` 49 | 50 | Execute some operations :) 51 | 52 | ## Custom server url 53 | 54 | You can point to your own/custom graphql sever by editing the variables in your `.env` file. 55 | - The `VITE_WS_URL` env variable points to your websocket connection url 56 | - The `VITE_GRAPHQL_SERVER_URL` env variable points to your graphql server url 57 | -------------------------------------------------------------------------------- /src/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /server/schema.ts: -------------------------------------------------------------------------------- 1 | import { on } from "events"; 2 | import { 3 | GraphQLBoolean, 4 | GraphQLInputObjectType, 5 | GraphQLInt, 6 | GraphQLList, 7 | GraphQLNonNull, 8 | GraphQLObjectType, 9 | GraphQLSchema, 10 | GraphQLString, 11 | specifiedDirectives, 12 | } from "graphql"; 13 | import { GraphQLLiveDirective } from "@n1ru4l/graphql-live-query"; 14 | 15 | const sleep = (t = 1000) => new Promise((res) => setTimeout(res, t)); 16 | 17 | const GraphQLDeferTest = new GraphQLObjectType({ 18 | name: "GraphQLDeferTest", 19 | fields: { 20 | name: { 21 | type: GraphQLString, 22 | resolve: () => "Peter Parker", 23 | }, 24 | deferThisField: { 25 | type: GraphQLString, 26 | resolve: async () => { 27 | await sleep(5000); 28 | 29 | return "Took a long time ,he?"; 30 | }, 31 | }, 32 | }, 33 | }); 34 | 35 | const Query = new GraphQLObjectType({ 36 | name: "Query", 37 | fields: { 38 | ping: { 39 | type: GraphQLBoolean, 40 | resolve: () => true, 41 | }, 42 | deferTest: { 43 | type: GraphQLDeferTest, 44 | resolve: () => ({}), 45 | }, 46 | streamTest: { 47 | type: GraphQLList(GraphQLString), 48 | resolve: async function* () { 49 | for (const item of ["Hi", "My", "Friend"]) { 50 | yield item; 51 | await sleep(1000); 52 | } 53 | }, 54 | }, 55 | greetings: { 56 | type: GraphQLList(GraphQLString), 57 | resolve: (_, __, context) => context.greetings, 58 | }, 59 | }, 60 | }); 61 | 62 | const GraphQLLogEventInputType = new GraphQLInputObjectType({ 63 | name: "EventInput", 64 | fields: { 65 | stringEvent: { 66 | type: GraphQLString, 67 | }, 68 | booleanEvent: { 69 | type: GraphQLBoolean, 70 | }, 71 | }, 72 | extensions: { 73 | // the envelop OneOf validation rule uses this extension field for detecting oneOf types. 74 | // check out the docs for more information: https://github.com/dotansimha/envelop/tree/main/packages/plugins/extended-validation#union-inputs-oneof 75 | oneOf: true, 76 | }, 77 | }); 78 | 79 | const Mutation = new GraphQLObjectType({ 80 | name: "Mutation", 81 | fields: { 82 | ping: { 83 | type: GraphQLBoolean, 84 | resolve: () => true, 85 | }, 86 | logEvent: { 87 | type: GraphQLBoolean, 88 | args: { 89 | input: { 90 | type: GraphQLNonNull(GraphQLLogEventInputType), 91 | }, 92 | }, 93 | resolve: (_, args) => { 94 | console.log("incoming event", args); 95 | }, 96 | }, 97 | }, 98 | }); 99 | 100 | const Subscription = new GraphQLObjectType({ 101 | name: "Subscription", 102 | fields: { 103 | count: { 104 | args: { 105 | to: { 106 | type: GraphQLNonNull(GraphQLInt), 107 | }, 108 | }, 109 | type: GraphQLString, 110 | description: 111 | "Count to a given number. Implementation Backed by AsyncGenerator function.", 112 | resolve: (value) => value, 113 | subscribe: async function* (_, args) { 114 | for (let i = 1; i <= args.to; i++) { 115 | yield `${i}`; 116 | await sleep(); 117 | } 118 | }, 119 | }, 120 | randomHash: { 121 | description: 122 | "Publishes a random hash every second. Backed by Node.js EventEmitter.", 123 | type: GraphQLString, 124 | resolve: (value) => value, 125 | subscribe: async function* (_, __, context) { 126 | const source = on(context.eventEmitter, "randomHash"); 127 | for await (const [value] of source) { 128 | // forward value (which is wrapped as an array) 129 | yield value; 130 | } 131 | }, 132 | }, 133 | }, 134 | }); 135 | 136 | export const schema = new GraphQLSchema({ 137 | query: Query, 138 | mutation: Mutation, 139 | subscription: Subscription, 140 | directives: [...specifiedDirectives, GraphQLLiveDirective], 141 | }); 142 | -------------------------------------------------------------------------------- /server/main.ts: -------------------------------------------------------------------------------- 1 | import { App } from "@tinyhttp/app"; 2 | import { cors } from "@tinyhttp/cors"; 3 | import { json } from "milliparsec"; 4 | import * as events from "events"; 5 | import * as crypto from "crypto"; 6 | import { ExecutionArgs, specifiedRules } from "graphql"; 7 | import * as http from "http"; 8 | import * as ws from "ws"; 9 | import { useServer } from "graphql-ws/lib/use/ws"; 10 | import { InMemoryLiveQueryStore } from "@n1ru4l/in-memory-live-query-store"; 11 | import { NoLiveMixedWithDeferStreamRule } from "@n1ru4l/graphql-live-query"; 12 | import { schema } from "./schema"; 13 | import { getGraphQLParameters, processRequest } from "graphql-helix"; 14 | import { Server as IOServer } from "socket.io"; 15 | import { registerSocketIOGraphQLServer } from "@n1ru4l/socket-io-graphql-server"; 16 | import { envelop } from "@envelop/core"; 17 | import { 18 | useExtendedValidation, 19 | OneOfInputObjectsRule, 20 | } from "@envelop/extended-validation"; 21 | 22 | const getEnveloped = envelop({ 23 | // Enable oneOf 24 | plugins: [useExtendedValidation({ rules: [OneOfInputObjectsRule] })], 25 | }); 26 | 27 | const { execute, subscribe, validate, parse } = getEnveloped(); 28 | 29 | const app = new App(); 30 | 31 | const eventEmitter = new events.EventEmitter(); 32 | const liveQueryStore = new InMemoryLiveQueryStore({ execute }); 33 | 34 | // small live query demonstration setup 35 | const greetings = ["Hello", "Hi", "Ay", "Sup"]; 36 | const shuffleGreetingsInterval = setInterval(() => { 37 | const firstElement = greetings.pop(); 38 | greetings.unshift(firstElement!); 39 | liveQueryStore.invalidate("Query.greetings"); 40 | }, 1000); 41 | 42 | const randomHashInterval = setInterval(() => { 43 | eventEmitter.emit("randomHash", crypto.randomBytes(20).toString("hex")); 44 | }, 1000); 45 | 46 | const context = { 47 | greetings, 48 | eventEmitter, 49 | }; 50 | 51 | const validationRules = [...specifiedRules, NoLiveMixedWithDeferStreamRule]; 52 | 53 | app 54 | .use(json()) 55 | .use(cors({ allowedHeaders: ["content-type"] })) 56 | .use("/graphql", async (req, res) => { 57 | // Create a generic Request object that can be consumed by Graphql Helix's API 58 | const request = { 59 | body: req.body, 60 | headers: req.headers, 61 | method: req.method ?? "GET", 62 | query: req.query, 63 | }; 64 | 65 | // Extract the GraphQL parameters from the request 66 | const { operationName, query, variables } = getGraphQLParameters(request); 67 | 68 | // Validate and execute the query 69 | const result = await processRequest({ 70 | operationName, 71 | query, 72 | variables, 73 | request, 74 | schema, 75 | contextFactory: () => context, 76 | execute: liveQueryStore.execute, 77 | validationRules, 78 | }); 79 | 80 | // processRequest returns one of three types of results depending on how the server should respond 81 | // 1) RESPONSE: a regular JSON payload 82 | // 2) MULTIPART RESPONSE: a multipart response (when @stream or @defer directives are used) 83 | // 3) PUSH: a stream of events to push back down the client for a subscription 84 | if (result.type === "RESPONSE") { 85 | // We set the provided status and headers and just the send the payload back to the client 86 | result.headers.forEach(({ name, value }) => res.setHeader(name, value)); 87 | res.status(result.status); 88 | res.json(result.payload); 89 | return; 90 | } 91 | 92 | if (result.type === "MULTIPART_RESPONSE") { 93 | // Indicate we're sending a multipart response 94 | res.writeHead(200, { 95 | Connection: "keep-alive", 96 | "Content-Type": 'multipart/mixed; boundary="-"', 97 | "Transfer-Encoding": "chunked", 98 | }); 99 | 100 | // If the request is closed by the client, we unsubscribe and stop executing the request 101 | req.on("close", () => { 102 | result.unsubscribe(); 103 | }); 104 | 105 | // We can assume a part be sent, either error, or payload; 106 | res.write("---"); 107 | 108 | // Subscribe and send back each result as a separate chunk. We await the subscribe 109 | // call. Once we're done executing the request and there are no more results to send 110 | // to the client, the Promise returned by subscribe will resolve and we can end the response. 111 | await result.subscribe((result) => { 112 | const chunk = Buffer.from(JSON.stringify(result), "utf8"); 113 | const data = [ 114 | "", 115 | "Content-Type: application/json; charset=utf-8", 116 | "", 117 | chunk, 118 | ]; 119 | if (result.hasNext) { 120 | data.push("---"); 121 | } 122 | res.write(data.join("\r\n")); 123 | }); 124 | 125 | res.write("\r\n-----\r\n"); 126 | res.end(); 127 | } else { 128 | // Indicate we're sending an event stream to the client 129 | res.writeHead(200, { 130 | "Content-Type": "text/event-stream", 131 | Connection: "keep-alive", 132 | "Cache-Control": "no-cache", 133 | }); 134 | 135 | // If the request is closed by the client, we unsubscribe and stop executing the request 136 | req.on("close", () => { 137 | result.unsubscribe(); 138 | }); 139 | 140 | // We subscribe to the event stream and push any new events to the client 141 | await result.subscribe((result) => { 142 | res.write(`data: ${JSON.stringify(result)}\n\n`); 143 | }); 144 | } 145 | }); 146 | 147 | const PORT = 4000; 148 | 149 | const httpServer = app.listen(PORT, () => { 150 | console.log(`GraphQL Server listening on http://localhost:${PORT}/graphql`); 151 | }); 152 | 153 | const wsServer = new ws.WebSocketServer({ 154 | server: httpServer, 155 | path: "/graphql", 156 | }); 157 | 158 | // eslint-disable-next-line react-hooks/rules-of-hooks 159 | const graphqlWs = useServer( 160 | { 161 | execute: liveQueryStore.execute, 162 | subscribe, 163 | validate, 164 | onSubscribe: (_, msg) => { 165 | const args: ExecutionArgs = { 166 | schema, 167 | operationName: msg.payload.operationName, 168 | document: 169 | typeof msg.payload.query === "object" 170 | ? msg.payload.query 171 | : parse(msg.payload.query), 172 | variableValues: msg.payload.variables, 173 | contextValue: context, 174 | }; 175 | 176 | // don't forget to validate when returning custom execution args! 177 | const errors = validate(args.schema, args.document, validationRules); 178 | if (errors.length > 0) { 179 | return errors; // return `GraphQLError[]` to send `ErrorMessage` and stop subscription 180 | } 181 | 182 | return args; 183 | }, 184 | onError: (_, err) => { 185 | console.error(err); 186 | }, 187 | }, 188 | wsServer 189 | ); 190 | 191 | // We also spin up a Socket.io server that serves the GraphQL schema 192 | 193 | const socketIoHttpServer = http.createServer(); 194 | const ioServer = new IOServer(socketIoHttpServer, { 195 | cors: { 196 | origin: "*", 197 | }, 198 | }); 199 | 200 | registerSocketIOGraphQLServer({ 201 | socketServer: ioServer, 202 | getParameter: () => ({ 203 | execute: liveQueryStore.execute, 204 | parse, 205 | validate, 206 | subscribe, 207 | // Overwrite validate and use our custom validation rules. 208 | validationRules, 209 | graphQLExecutionParameter: { 210 | schema, 211 | contextValue: context, 212 | }, 213 | }), 214 | }); 215 | 216 | socketIoHttpServer.listen(4001); 217 | 218 | process.once("SIGINT", () => { 219 | clearInterval(shuffleGreetingsInterval); 220 | clearInterval(randomHashInterval); 221 | console.log("Received SIGINT. Shutting down HTTP and Websocket server."); 222 | graphqlWs.dispose(); 223 | httpServer.close(); 224 | ioServer.close(); 225 | socketIoHttpServer.close(); 226 | }); 227 | -------------------------------------------------------------------------------- /src/dev/GraphiQL.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { 3 | GraphiQL as DefaultGraphiQL, 4 | FetcherParams, 5 | FetcherResult, 6 | } from "graphiql"; 7 | import "graphiql/graphiql.css"; 8 | import { createClient } from "graphql-ws"; 9 | import { meros } from "meros/browser"; 10 | import { Subscription as SSESubscription } from "sse-z"; 11 | import { io } from "socket.io-client"; 12 | import { isLiveQueryOperationDefinitionNode } from "@n1ru4l/graphql-live-query"; 13 | import { createSocketIOGraphQLClient } from "@n1ru4l/socket-io-graphql-client"; 14 | import { 15 | makeAsyncIterableIteratorFromSink, 16 | isAsyncIterable, 17 | } from "@n1ru4l/push-pull-async-iterable-iterator"; 18 | import { parse, getOperationAST } from "graphql"; 19 | import type { GraphQLError } from "graphql"; 20 | import { ToolbarButton } from "graphiql/dist/components/ToolbarButton"; 21 | import "./custom-graphiql.css"; 22 | 23 | const ioClient = io("http://localhost:4001"); 24 | const ioGraphQLClient = createSocketIOGraphQLClient(ioClient); 25 | 26 | const ioFetcher = (graphQLParams: FetcherParams) => 27 | ioGraphQLClient.execute({ ...graphQLParams, operation: graphQLParams.query }); 28 | 29 | const wsClient = createClient({ 30 | url: import.meta.env.VITE_WS_URL, 31 | lazy: false, 32 | }); 33 | 34 | const httpMultipartFetcher = async ( 35 | graphQLParams: FetcherParams 36 | ): Promise => { 37 | const abortController = new AbortController(); 38 | 39 | const parsedDocument = parse(graphQLParams.query); 40 | const operationName = graphQLParams.operationName; 41 | 42 | const documentNode = getOperationAST(parsedDocument, operationName); 43 | if ( 44 | documentNode!.operation === "subscription" || 45 | isLiveQueryOperationDefinitionNode(documentNode!) 46 | ) { 47 | const searchParams: Record = { 48 | operationName: graphQLParams.operationName, 49 | query: graphQLParams.query, 50 | }; 51 | if (graphQLParams.variables) { 52 | searchParams.variables = JSON.stringify(graphQLParams.variables); 53 | } 54 | 55 | return makeAsyncIterableIteratorFromSink((sink) => { 56 | const subscription = new SSESubscription({ 57 | url: import.meta.env.VITE_GRAPHQL_SERVER_URL, 58 | searchParams, 59 | onNext: (value) => { 60 | sink.next(JSON.parse(value)); 61 | }, 62 | onError: sink.error, 63 | onComplete: sink.complete, 64 | }); 65 | 66 | return () => subscription.unsubscribe(); 67 | }); 68 | } 69 | 70 | const patches = await fetch(import.meta.env.VITE_GRAPHQL_SERVER_URL, { 71 | method: "POST", 72 | body: JSON.stringify(graphQLParams), 73 | headers: { 74 | accept: "application/json, multipart/mixed", 75 | "content-type": "application/json", 76 | }, 77 | signal: abortController.signal, 78 | }).then((r) => meros(r)); 79 | 80 | if (isAsyncIterable(patches)) { 81 | return multiResponseParser(patches); 82 | } 83 | 84 | return patches.json(); 85 | }; 86 | 87 | async function* multiResponseParser( 88 | iterator: AsyncIterableIterator<{ 89 | body: T; 90 | json: boolean; 91 | }> 92 | ) { 93 | for await (const { body, json } of iterator) { 94 | if (!json) { 95 | throw new Error("failed parsing part as json"); 96 | } 97 | yield body; 98 | } 99 | } 100 | 101 | const wsFetcher = (graphQLParams: FetcherParams) => 102 | makeAsyncIterableIteratorFromSink((sink) => 103 | wsClient.subscribe(graphQLParams, { 104 | ...sink, 105 | error: (err) => { 106 | if (err instanceof Error) { 107 | sink.error(err); 108 | } else if (err instanceof CloseEvent) { 109 | sink.error( 110 | new Error( 111 | `Socket closed with event ${err.code} ${err.reason || ""}`.trim() 112 | ) 113 | ); 114 | } else { 115 | sink.error( 116 | new Error( 117 | (err as GraphQLError[]).map(({ message }) => message).join(", ") 118 | ) 119 | ); 120 | } 121 | }, 122 | }) 123 | ); 124 | 125 | const defaultQuery = /* GraphQL */ ` 126 | # 127 | # Query 128 | # 129 | # This is just a simple query - nothing to special here. 130 | # But note that you can execute it via WebSocket, HTTP and Socket.io 131 | # 132 | query PingQuery { 133 | ping 134 | } 135 | 136 | # 137 | # Mutation 138 | # 139 | # This is just a simple query - nothing to special here. 140 | # But note that you can execute it via WebSocket, HTTP and Socket.io 141 | # 142 | mutation PingMutation { 143 | ping 144 | } 145 | 146 | # 147 | # Subscription backed by a AsyncGenerator function 148 | # 149 | subscription CountTestSubscription { 150 | # This subscription will emit 10 events over the time span of 10 seconds before completing. 151 | count(to: 10) 152 | } 153 | 154 | # 155 | # Subscription backed by Node.js EventEmitter 156 | # 157 | subscription RandomHashTestSubscription { 158 | # a new value is published in 1 second intervals 159 | randomHash 160 | } 161 | 162 | # 163 | # Query using @defer 164 | # 165 | # defer can be used on fragments in order to defer sending a part of the result to the client, 166 | # if it takes longer than the rest of the resolvers to yield an value. 167 | # 168 | # @defer is useful when a certain resolver on your backend is slow, but not mandatory for showing something meaningful to your users. 169 | # An example for this would be a slow database call or third-party service. 170 | # 171 | query DeferTestQuery { 172 | deferTest { 173 | name 174 | # The defer directive on fragments allows specifying that we are fine with 175 | # getting the data requirement defined in that fragment later (if it is not available immediately) 176 | ... on GraphQLDeferTest @defer { 177 | # this field has a sleep(5000) call, 178 | # which means it will take a long time until it will be resolved 179 | deferThisField 180 | } 181 | } 182 | } 183 | 184 | # 185 | # Query using stream 186 | # 187 | # stream can be used on fields that return lists. 188 | # The resolver on the backend uses an async generator function for yielding the values. 189 | # 190 | # This allows slow/huge lists of data to be streamed to the client. While data is still coming in the client can already show UI. 191 | # Handy for feed like views. 192 | # 193 | query StreamTestQuery { 194 | # 195 | # With the initialCount argument we can specify the minimum required items that should be sent initially. 196 | # the remaining items will then be streamed once they are ready to be sent over the wire. 197 | streamTest @stream(initialCount: 2) 198 | } 199 | 200 | # 201 | # Query using @live 202 | # 203 | # This one is highly experimental and there is no RFC ongoing. 204 | # The live directive specifies that the client wants to always wants to have the latest up to date data streamed. 205 | # 206 | # The implementation tracks the resources a client consumes and re-executes the query operation once one of those got stale/invalidated. 207 | # Check out https://github.com/n1ru4l/graphql-live-query for more information. 208 | # 209 | # This example returns a list that is mutated and invalidated each second. 210 | # 211 | query LiveTestQuery @live { 212 | # this field returns a list of greetings whose items are shuffled 213 | greetings 214 | } 215 | 216 | # 217 | # OneOf input types 218 | # 219 | # OneOf input types allow polymorphic input fields. They are currently in the RFC stage. https://github.com/graphql/graphql-spec/pull/825 220 | # The @envelop/extended-validation plugin allows using the feature today! https://github.com/dotansimha/envelop/tree/main/packages/plugins/extended-validation 221 | # 222 | # The input type LogEvent type is marked as a oneOf type. Therefore, the validation of the operation only passes if the input has either a stringEvent or booleanEvent key. 223 | # Providing both or neither would result in a validation error. 224 | # 225 | # Let's provide a string as the input 226 | mutation OneOfStringInputMutation { 227 | logEvent(input: { 228 | stringEvent: "hey" 229 | }) 230 | } 231 | # Let's provide a boolean as the input 232 | mutation OneOfBooleanInputMutation { 233 | logEvent(input: { 234 | booleanEvent: true 235 | }) 236 | } 237 | # Uncomment and execute this query and you will encounter a validation error. 238 | # mutation OneOfInvalidInputMutation { 239 | # logEvent(input: { 240 | # stringEvent: "hey" 241 | # booleanEvent: true 242 | # }) 243 | # } 244 | ` 245 | .split(`\n`) 246 | .slice(1) 247 | .map((line) => line.replace(" ", "")) 248 | .join(`\n`); 249 | 250 | export const GraphiQL = () => { 251 | const [activeTransportIndex, setActiveTransportIndex] = React.useState(0); 252 | 253 | const fetcherOptions: ToolbarDropDownOption[] = React.useMemo( 254 | () => [ 255 | { 256 | value: "ws", 257 | label: "GraphQL over WS", 258 | title: "GraphQL over WS", 259 | }, 260 | { 261 | value: "http", 262 | label: "GraphQL over HTTP", 263 | title: "GraphQL over HTTP", 264 | }, 265 | { 266 | value: "Socket.io", 267 | label: "GraphQL over Socket.io", 268 | title: "GraphQL over Socket.io", 269 | }, 270 | ], 271 | [] 272 | ); 273 | 274 | const activeTransport = ( 275 | fetcherOptions[activeTransportIndex] ?? fetcherOptions[0] 276 | ).value; 277 | 278 | const fetcher = 279 | activeTransport === "ws" 280 | ? wsFetcher 281 | : activeTransport === "http" 282 | ? httpMultipartFetcher 283 | : ioFetcher; 284 | 285 | return ( 286 |
287 | 293 |
Transport
294 | 299 | 300 | ), 301 | }} 302 | // ensure that the defaultQuery is always used by disabling storage 303 | storage={{ 304 | getItem: () => null, 305 | removeItem: () => undefined, 306 | setItem: () => undefined, 307 | length: 0, 308 | }} 309 | /> 310 |
311 | ); 312 | }; 313 | 314 | type ToolbarDropDownOption = { 315 | title: string; 316 | label: string; 317 | value: string; 318 | }; 319 | 320 | const ToolbarDropDown = (props: { 321 | options: ToolbarDropDownOption[]; 322 | activeOptionIndex: number; 323 | placeholder?: string; 324 | onSelectOption: (optionIndex: number) => void; 325 | }): React.ReactElement => { 326 | const [isOpen, setIsOpen] = React.useState(false); 327 | const selectedOption = props.options[props.activeOptionIndex] ?? null; 328 | 329 | return ( 330 |
331 | { 335 | setIsOpen((isOpen) => !isOpen); 336 | }} 337 | /> 338 | {isOpen ? ( 339 | 340 | {props.options.map((item, index) => ( 341 | { 346 | props.onSelectOption(index); 347 | setIsOpen(false); 348 | }} 349 | /> 350 | ))} 351 | 352 | ) : null} 353 |
354 | ); 355 | }; 356 | 357 | const ToolbarDropDownMenu = (props: { 358 | children: React.ReactNode; 359 | }): React.ReactElement => { 360 | return
{props.children}
; 361 | }; 362 | 363 | const ToolbarDropDownMenuItem = (props: { 364 | item: ToolbarDropDownOption; 365 | isActive: boolean; 366 | onClick: () => void; 367 | }): React.ReactElement => { 368 | return ( 369 | 376 | ); 377 | }; -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.14.5": 6 | version "7.14.5" 7 | resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" 8 | integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== 9 | dependencies: 10 | "@babel/highlight" "^7.14.5" 11 | 12 | "@babel/compat-data@^7.14.5": 13 | version "7.14.7" 14 | resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.7.tgz#7b047d7a3a89a67d2258dc61f604f098f1bc7e08" 15 | integrity sha512-nS6dZaISCXJ3+518CWiBfEr//gHyMO02uDxBkXTKZDN5POruCnOZ1N4YBRZDCabwF8nZMWBpRxIicmXtBs+fvw== 16 | 17 | "@babel/core@^7.14.8": 18 | version "7.14.8" 19 | resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.8.tgz#20cdf7c84b5d86d83fac8710a8bc605a7ba3f010" 20 | integrity sha512-/AtaeEhT6ErpDhInbXmjHcUQXH0L0TEgscfcxk1qbOvLuKCa5aZT0SOOtDKFY96/CLROwbLSKyFor6idgNaU4Q== 21 | dependencies: 22 | "@babel/code-frame" "^7.14.5" 23 | "@babel/generator" "^7.14.8" 24 | "@babel/helper-compilation-targets" "^7.14.5" 25 | "@babel/helper-module-transforms" "^7.14.8" 26 | "@babel/helpers" "^7.14.8" 27 | "@babel/parser" "^7.14.8" 28 | "@babel/template" "^7.14.5" 29 | "@babel/traverse" "^7.14.8" 30 | "@babel/types" "^7.14.8" 31 | convert-source-map "^1.7.0" 32 | debug "^4.1.0" 33 | gensync "^1.0.0-beta.2" 34 | json5 "^2.1.2" 35 | semver "^6.3.0" 36 | source-map "^0.5.0" 37 | 38 | "@babel/generator@^7.14.8": 39 | version "7.14.8" 40 | resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.8.tgz#bf86fd6af96cf3b74395a8ca409515f89423e070" 41 | integrity sha512-cYDUpvIzhBVnMzRoY1fkSEhK/HmwEVwlyULYgn/tMQYd6Obag3ylCjONle3gdErfXBW61SVTlR9QR7uWlgeIkg== 42 | dependencies: 43 | "@babel/types" "^7.14.8" 44 | jsesc "^2.5.1" 45 | source-map "^0.5.0" 46 | 47 | "@babel/helper-compilation-targets@^7.14.5": 48 | version "7.14.5" 49 | resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz#7a99c5d0967911e972fe2c3411f7d5b498498ecf" 50 | integrity sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw== 51 | dependencies: 52 | "@babel/compat-data" "^7.14.5" 53 | "@babel/helper-validator-option" "^7.14.5" 54 | browserslist "^4.16.6" 55 | semver "^6.3.0" 56 | 57 | "@babel/helper-function-name@^7.14.5": 58 | version "7.14.5" 59 | resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4" 60 | integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== 61 | dependencies: 62 | "@babel/helper-get-function-arity" "^7.14.5" 63 | "@babel/template" "^7.14.5" 64 | "@babel/types" "^7.14.5" 65 | 66 | "@babel/helper-get-function-arity@^7.14.5": 67 | version "7.14.5" 68 | resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" 69 | integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== 70 | dependencies: 71 | "@babel/types" "^7.14.5" 72 | 73 | "@babel/helper-hoist-variables@^7.14.5": 74 | version "7.14.5" 75 | resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d" 76 | integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== 77 | dependencies: 78 | "@babel/types" "^7.14.5" 79 | 80 | "@babel/helper-member-expression-to-functions@^7.14.5": 81 | version "7.14.7" 82 | resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.7.tgz#97e56244beb94211fe277bd818e3a329c66f7970" 83 | integrity sha512-TMUt4xKxJn6ccjcOW7c4hlwyJArizskAhoSTOCkA0uZ+KghIaci0Qg9R043kUMWI9mtQfgny+NQ5QATnZ+paaA== 84 | dependencies: 85 | "@babel/types" "^7.14.5" 86 | 87 | "@babel/helper-module-imports@^7.14.5": 88 | version "7.14.5" 89 | resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3" 90 | integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== 91 | dependencies: 92 | "@babel/types" "^7.14.5" 93 | 94 | "@babel/helper-module-transforms@^7.14.8": 95 | version "7.14.8" 96 | resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.8.tgz#d4279f7e3fd5f4d5d342d833af36d4dd87d7dc49" 97 | integrity sha512-RyE+NFOjXn5A9YU1dkpeBaduagTlZ0+fccnIcAGbv1KGUlReBj7utF7oEth8IdIBQPcux0DDgW5MFBH2xu9KcA== 98 | dependencies: 99 | "@babel/helper-module-imports" "^7.14.5" 100 | "@babel/helper-replace-supers" "^7.14.5" 101 | "@babel/helper-simple-access" "^7.14.8" 102 | "@babel/helper-split-export-declaration" "^7.14.5" 103 | "@babel/helper-validator-identifier" "^7.14.8" 104 | "@babel/template" "^7.14.5" 105 | "@babel/traverse" "^7.14.8" 106 | "@babel/types" "^7.14.8" 107 | 108 | "@babel/helper-optimise-call-expression@^7.14.5": 109 | version "7.14.5" 110 | resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c" 111 | integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== 112 | dependencies: 113 | "@babel/types" "^7.14.5" 114 | 115 | "@babel/helper-plugin-utils@^7.14.5": 116 | version "7.14.5" 117 | resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" 118 | integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== 119 | 120 | "@babel/helper-replace-supers@^7.14.5": 121 | version "7.14.5" 122 | resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz#0ecc0b03c41cd567b4024ea016134c28414abb94" 123 | integrity sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow== 124 | dependencies: 125 | "@babel/helper-member-expression-to-functions" "^7.14.5" 126 | "@babel/helper-optimise-call-expression" "^7.14.5" 127 | "@babel/traverse" "^7.14.5" 128 | "@babel/types" "^7.14.5" 129 | 130 | "@babel/helper-simple-access@^7.14.8": 131 | version "7.14.8" 132 | resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.8.tgz#82e1fec0644a7e775c74d305f212c39f8fe73924" 133 | integrity sha512-TrFN4RHh9gnWEU+s7JloIho2T76GPwRHhdzOWLqTrMnlas8T9O7ec+oEDNsRXndOmru9ymH9DFrEOxpzPoSbdg== 134 | dependencies: 135 | "@babel/types" "^7.14.8" 136 | 137 | "@babel/helper-split-export-declaration@^7.14.5": 138 | version "7.14.5" 139 | resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a" 140 | integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== 141 | dependencies: 142 | "@babel/types" "^7.14.5" 143 | 144 | "@babel/helper-validator-identifier@^7.14.5", "@babel/helper-validator-identifier@^7.14.8": 145 | version "7.14.8" 146 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.8.tgz#32be33a756f29e278a0d644fa08a2c9e0f88a34c" 147 | integrity sha512-ZGy6/XQjllhYQrNw/3zfWRwZCTVSiBLZ9DHVZxn9n2gip/7ab8mv2TWlKPIBk26RwedCBoWdjLmn+t9na2Gcow== 148 | 149 | "@babel/helper-validator-option@^7.14.5": 150 | version "7.14.5" 151 | resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" 152 | integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== 153 | 154 | "@babel/helpers@^7.14.8": 155 | version "7.14.8" 156 | resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.8.tgz#839f88f463025886cff7f85a35297007e2da1b77" 157 | integrity sha512-ZRDmI56pnV+p1dH6d+UN6GINGz7Krps3+270qqI9UJ4wxYThfAIcI5i7j5vXC4FJ3Wap+S9qcebxeYiqn87DZw== 158 | dependencies: 159 | "@babel/template" "^7.14.5" 160 | "@babel/traverse" "^7.14.8" 161 | "@babel/types" "^7.14.8" 162 | 163 | "@babel/highlight@^7.14.5": 164 | version "7.14.5" 165 | resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" 166 | integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== 167 | dependencies: 168 | "@babel/helper-validator-identifier" "^7.14.5" 169 | chalk "^2.0.0" 170 | js-tokens "^4.0.0" 171 | 172 | "@babel/parser@^7.14.5", "@babel/parser@^7.14.8": 173 | version "7.14.8" 174 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.8.tgz#66fd41666b2d7b840bd5ace7f7416d5ac60208d4" 175 | integrity sha512-syoCQFOoo/fzkWDeM0dLEZi5xqurb5vuyzwIMNZRNun+N/9A4cUZeQaE7dTrB8jGaKuJRBtEOajtnmw0I5hvvA== 176 | 177 | "@babel/plugin-transform-react-jsx-self@^7.14.5": 178 | version "7.14.5" 179 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.14.5.tgz#703b5d1edccd342179c2a99ee8c7065c2b4403cc" 180 | integrity sha512-M/fmDX6n0cfHK/NLTcPmrfVAORKDhK8tyjDhyxlUjYyPYYO8FRWwuxBA3WBx8kWN/uBUuwGa3s/0+hQ9JIN3Tg== 181 | dependencies: 182 | "@babel/helper-plugin-utils" "^7.14.5" 183 | 184 | "@babel/plugin-transform-react-jsx-source@^7.14.5": 185 | version "7.14.5" 186 | resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.14.5.tgz#79f728e60e6dbd31a2b860b0bf6c9765918acf1d" 187 | integrity sha512-1TpSDnD9XR/rQ2tzunBVPThF5poaYT9GqP+of8fAtguYuI/dm2RkrMBDemsxtY0XBzvW7nXjYM0hRyKX9QYj7Q== 188 | dependencies: 189 | "@babel/helper-plugin-utils" "^7.14.5" 190 | 191 | "@babel/runtime-corejs3@^7.10.2": 192 | version "7.12.1" 193 | resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.12.1.tgz#51b9092befbeeed938335a109dbe0df51451e9dc" 194 | integrity sha512-umhPIcMrlBZ2aTWlWjUseW9LjQKxi1dpFlQS8DzsxB//5K+u6GLTC/JliPKHsd5kJVPIU6X/Hy0YvWOYPcMxBw== 195 | dependencies: 196 | core-js-pure "^3.0.0" 197 | regenerator-runtime "^0.13.4" 198 | 199 | "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.9.2": 200 | version "7.12.5" 201 | resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.12.5.tgz#410e7e487441e1b360c29be715d870d9b985882e" 202 | integrity sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg== 203 | dependencies: 204 | regenerator-runtime "^0.13.4" 205 | 206 | "@babel/template@^7.14.5": 207 | version "7.14.5" 208 | resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" 209 | integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== 210 | dependencies: 211 | "@babel/code-frame" "^7.14.5" 212 | "@babel/parser" "^7.14.5" 213 | "@babel/types" "^7.14.5" 214 | 215 | "@babel/traverse@^7.14.5", "@babel/traverse@^7.14.8": 216 | version "7.14.8" 217 | resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.8.tgz#c0253f02677c5de1a8ff9df6b0aacbec7da1a8ce" 218 | integrity sha512-kexHhzCljJcFNn1KYAQ6A5wxMRzq9ebYpEDV4+WdNyr3i7O44tanbDOR/xjiG2F3sllan+LgwK+7OMk0EmydHg== 219 | dependencies: 220 | "@babel/code-frame" "^7.14.5" 221 | "@babel/generator" "^7.14.8" 222 | "@babel/helper-function-name" "^7.14.5" 223 | "@babel/helper-hoist-variables" "^7.14.5" 224 | "@babel/helper-split-export-declaration" "^7.14.5" 225 | "@babel/parser" "^7.14.8" 226 | "@babel/types" "^7.14.8" 227 | debug "^4.1.0" 228 | globals "^11.1.0" 229 | 230 | "@babel/types@^7.14.5", "@babel/types@^7.14.8": 231 | version "7.14.8" 232 | resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.8.tgz#38109de8fcadc06415fbd9b74df0065d4d41c728" 233 | integrity sha512-iob4soQa7dZw8nodR/KlOQkPh9S4I8RwCxwRIFuiMRYjOzH/KJzdUfDgz6cGi5dDaclXF4P2PAhCdrBJNIg68Q== 234 | dependencies: 235 | "@babel/helper-validator-identifier" "^7.14.8" 236 | to-fast-properties "^2.0.0" 237 | 238 | "@cspotcode/source-map-consumer@0.8.0": 239 | version "0.8.0" 240 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz#33bf4b7b39c178821606f669bbc447a6a629786b" 241 | integrity sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg== 242 | 243 | "@cspotcode/source-map-support@0.7.0": 244 | version "0.7.0" 245 | resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz#4789840aa859e46d2f3173727ab707c66bf344f5" 246 | integrity sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA== 247 | dependencies: 248 | "@cspotcode/source-map-consumer" "0.8.0" 249 | 250 | "@envelop/core@1.2.0": 251 | version "1.2.0" 252 | resolved "https://registry.yarnpkg.com/@envelop/core/-/core-1.2.0.tgz#4a912d990ec896822dd88d7d5757c6a28778670b" 253 | integrity sha512-bVsxJuMleyeq0CI3tWq+bLtyEhf1mbGeu7rK/ZGCAkvFqLbt+dHsh28LSSKk4vcwRpa6AQpJZTQYpo4VjRmZ9Q== 254 | dependencies: 255 | "@envelop/types" "1.1.0" 256 | 257 | "@envelop/extended-validation@1.1.1": 258 | version "1.1.1" 259 | resolved "https://registry.yarnpkg.com/@envelop/extended-validation/-/extended-validation-1.1.1.tgz#d17f35c06a02d0430d75f54d192434fce8d5870a" 260 | integrity sha512-JcxnhuwFE66g/6ulcAb+ukk8JK0C6JsF2NAImftM1Y4ybAkDj6DPRdCPsoGYzuycNBQK8iC//Mx7ghnYP9w40w== 261 | 262 | "@envelop/types@1.1.0": 263 | version "1.1.0" 264 | resolved "https://registry.yarnpkg.com/@envelop/types/-/types-1.1.0.tgz#14578b09de7b57cc6bec24a4d0442cebcf426e93" 265 | integrity sha512-NswpqlmHmZSfPt1Uvkjq+21yD3sVVi6jCOE/JqN+ZFEHnVawCDT/nl1b1hq3QDkuhDjd9sRznE/EMuUhzhtvmA== 266 | 267 | "@graphiql/toolkit@^0.2.0": 268 | version "0.2.0" 269 | resolved "https://registry.yarnpkg.com/@graphiql/toolkit/-/toolkit-0.2.0.tgz#186e9042f90650bd7a972be5bb73a38d1595773d" 270 | integrity sha512-T8fdGSh1bYqpQUurIBnNbXHMOFqV/btTdlcAw3+snItA619GgZfc471lYIT95/cywxbH2Ync/gqGgeSTeZhlTg== 271 | dependencies: 272 | "@n1ru4l/push-pull-async-iterable-iterator" "^2.0.1" 273 | graphql-ws "^4.3.2" 274 | meros "^1.1.4" 275 | optionalDependencies: 276 | subscriptions-transport-ws "^0.9.18" 277 | 278 | "@graphql-tools/utils@^8.5.2": 279 | version "8.5.2" 280 | resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.5.2.tgz#fa775d92c19237f648105f7d4aeeeb63ba3d257f" 281 | integrity sha512-wxA51td/759nQziPYh+HxE0WbURRufrp1lwfOYMgfK4e8Aa6gCa1P1p6ERogUIm423NrIfOVau19Q/BBpHdolw== 282 | dependencies: 283 | tslib "~2.3.0" 284 | 285 | "@jest/types@^27.0.6": 286 | version "27.0.6" 287 | resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.0.6.tgz#9a992bc517e0c49f035938b8549719c2de40706b" 288 | integrity sha512-aSquT1qa9Pik26JK5/3rvnYb4bGtm1VFNesHKmNTwmPIgOrixvhL2ghIvFRNEpzy3gU+rUgjIF/KodbkFAl++g== 289 | dependencies: 290 | "@types/istanbul-lib-coverage" "^2.0.0" 291 | "@types/istanbul-reports" "^3.0.0" 292 | "@types/node" "*" 293 | "@types/yargs" "^16.0.0" 294 | chalk "^4.0.0" 295 | 296 | "@n1ru4l/graphql-live-query@0.9.0": 297 | version "0.9.0" 298 | resolved "https://registry.yarnpkg.com/@n1ru4l/graphql-live-query/-/graphql-live-query-0.9.0.tgz#defaebdd31f625bee49e6745934f36312532b2bc" 299 | integrity sha512-BTpWy1e+FxN82RnLz4x1+JcEewVdfmUhV1C6/XYD5AjS7PQp9QFF7K8bCD6gzPTr2l+prvqOyVueQhFJxB1vfg== 300 | 301 | "@n1ru4l/in-memory-live-query-store@0.8.0": 302 | version "0.8.0" 303 | resolved "https://registry.yarnpkg.com/@n1ru4l/in-memory-live-query-store/-/in-memory-live-query-store-0.8.0.tgz#2f2dcf5a8a34ae5db0aeb28e50ebc167b8e3695e" 304 | integrity sha512-vfI2yCi9CsP0wPAHFPBs4chRGRJszZKFR0jQ4nHSJeNxZJxvUkP5d1m6MGyS6LrJH3TlBW3R/ovGpnSfIvCYBA== 305 | dependencies: 306 | "@graphql-tools/utils" "^8.5.2" 307 | "@n1ru4l/graphql-live-query" "0.9.0" 308 | "@n1ru4l/push-pull-async-iterable-iterator" "^3.0.0" 309 | 310 | "@n1ru4l/push-pull-async-iterable-iterator@3.1.0", "@n1ru4l/push-pull-async-iterable-iterator@^3.0.0": 311 | version "3.1.0" 312 | resolved "https://registry.yarnpkg.com/@n1ru4l/push-pull-async-iterable-iterator/-/push-pull-async-iterable-iterator-3.1.0.tgz#be450c97d1c7cd6af1a992d53232704454345df9" 313 | integrity sha512-K4scWxGhdQM0masHHy4gIQs2iGiLEXCrXttumknyPJqtdl4J179BjpibWSSQ1fxKdCcHgIlCTKXJU6cMM6D6Wg== 314 | 315 | "@n1ru4l/push-pull-async-iterable-iterator@^2.0.1": 316 | version "2.1.4" 317 | resolved "https://registry.yarnpkg.com/@n1ru4l/push-pull-async-iterable-iterator/-/push-pull-async-iterable-iterator-2.1.4.tgz#a90225474352f9f159bff979905f707b9c6bcf04" 318 | integrity sha512-qLIvoOUJ+zritv+BlzcBMePKNjKQzH9Rb2i9W98YXxf/M62Lye8qH0peyiU8yJ1tL0kfulWi31BoK10E6BKJeA== 319 | 320 | "@n1ru4l/socket-io-graphql-client@0.11.1": 321 | version "0.11.1" 322 | resolved "https://registry.yarnpkg.com/@n1ru4l/socket-io-graphql-client/-/socket-io-graphql-client-0.11.1.tgz#3957b9e9b27caf2ff17636f1c4bdde7836007f34" 323 | integrity sha512-yE917ST4LkvFHsTY6DjJ6v6ILK892sQTrWtVTwunbreqtrr8vkItcyS6CZ6Hy9oa7Ior6rn3WCeWhDbDRKF9Iw== 324 | dependencies: 325 | "@n1ru4l/push-pull-async-iterable-iterator" "^3.0.0" 326 | 327 | "@n1ru4l/socket-io-graphql-server@0.12.0": 328 | version "0.12.0" 329 | resolved "https://registry.yarnpkg.com/@n1ru4l/socket-io-graphql-server/-/socket-io-graphql-server-0.12.0.tgz#e594d58b588221797eebd8d071be4c7f707c3c54" 330 | integrity sha512-fjwGGqlpN+bNvt4la3MGCfXRPzf4NAgi23UzJHiPW/jtHpki4QPrq90JHnenkgcudoKc0zGFrDLOOfExvfpy5g== 331 | 332 | "@rollup/pluginutils@^4.1.1": 333 | version "4.1.1" 334 | resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-4.1.1.tgz#1d4da86dd4eded15656a57d933fda2b9a08d47ec" 335 | integrity sha512-clDjivHqWGXi7u+0d2r2sBi4Ie6VLEAzWMIkvJLnDmxoOhBYOTfzGbOQBA32THHm11/LiJbd01tJUpJsbshSWQ== 336 | dependencies: 337 | estree-walker "^2.0.1" 338 | picomatch "^2.2.2" 339 | 340 | "@socket.io/component-emitter@~3.0.0": 341 | version "3.0.0" 342 | resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.0.0.tgz#8863915676f837d9dad7b76f50cb500c1e9422e9" 343 | integrity sha512-2pTGuibAXJswAPJjaKisthqS/NOK5ypG4LYT6tEAV0S/mxW0zOIvYvGK0V8w8+SHxAm6vRMSjqSalFXeBAqs+Q== 344 | 345 | "@testing-library/dom@^8.0.0": 346 | version "8.0.0" 347 | resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.0.0.tgz#2bb994393c566aae021db86dd263ba06e8b71b38" 348 | integrity sha512-Ym375MTOpfszlagRnTMO+FOfTt6gRrWiDOWmEnWLu9OvwCPOWtK6i5pBHmZ07wUJiQ7wWz0t8+ZBK2wFo2tlew== 349 | dependencies: 350 | "@babel/code-frame" "^7.10.4" 351 | "@babel/runtime" "^7.12.5" 352 | "@types/aria-query" "^4.2.0" 353 | aria-query "^4.2.2" 354 | chalk "^4.1.0" 355 | dom-accessibility-api "^0.5.6" 356 | lz-string "^1.4.4" 357 | pretty-format "^27.0.2" 358 | 359 | "@testing-library/jest-dom@5.16.1": 360 | version "5.16.1" 361 | resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.1.tgz#3db7df5ae97596264a7da9696fe14695ba02e51f" 362 | integrity sha512-ajUJdfDIuTCadB79ukO+0l8O+QwN0LiSxDaYUTI4LndbbUsGi6rWU1SCexXzBA2NSjlVB9/vbkasQIL3tmPBjw== 363 | dependencies: 364 | "@babel/runtime" "^7.9.2" 365 | "@types/testing-library__jest-dom" "^5.9.1" 366 | aria-query "^5.0.0" 367 | chalk "^3.0.0" 368 | css "^3.0.0" 369 | css.escape "^1.5.1" 370 | dom-accessibility-api "^0.5.6" 371 | lodash "^4.17.15" 372 | redent "^3.0.0" 373 | 374 | "@testing-library/react@12.1.2": 375 | version "12.1.2" 376 | resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-12.1.2.tgz#f1bc9a45943461fa2a598bb4597df1ae044cfc76" 377 | integrity sha512-ihQiEOklNyHIpo2Y8FREkyD1QAea054U0MVbwH1m8N9TxeFz+KoJ9LkqoKqJlzx2JDm56DVwaJ1r36JYxZM05g== 378 | dependencies: 379 | "@babel/runtime" "^7.12.5" 380 | "@testing-library/dom" "^8.0.0" 381 | 382 | "@testing-library/user-event@13.5.0": 383 | version "13.5.0" 384 | resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-13.5.0.tgz#69d77007f1e124d55314a2b73fd204b333b13295" 385 | integrity sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg== 386 | dependencies: 387 | "@babel/runtime" "^7.12.5" 388 | 389 | "@tinyhttp/accepts@1.3.0": 390 | version "1.3.0" 391 | resolved "https://registry.yarnpkg.com/@tinyhttp/accepts/-/accepts-1.3.0.tgz#83951ec7c0074cfa89ee15fcdbd24f6fc2e6fd1b" 392 | integrity sha512-YaJ4EMgVUI6JHzWO14lr6vn/BLJEoFN4Sqd20l0/oBcLLENkP8gnPtX1jB7OhIu0AE40VCweAqvSP+0/pgzB1g== 393 | dependencies: 394 | es-mime-types "^0.0.16" 395 | negotiator "^0.6.2" 396 | 397 | "@tinyhttp/app@1.3.15": 398 | version "1.3.15" 399 | resolved "https://registry.yarnpkg.com/@tinyhttp/app/-/app-1.3.15.tgz#b0244d32afc118b67753294201155217c36dce66" 400 | integrity sha512-KJsth7SgL55PG8LFrM7gUbsfKL6Ua3S69Pp1vHxiZnuvOCwy+hXFSbGPvV1/7j4iA4l4+GRNDc+q4EccLHGxIw== 401 | dependencies: 402 | "@tinyhttp/cookie" "1.3.0" 403 | "@tinyhttp/proxy-addr" "1.3.0" 404 | "@tinyhttp/req" "1.3.1" 405 | "@tinyhttp/res" "1.3.3" 406 | "@tinyhttp/router" "1.3.3" 407 | regexparam "^2.0.0" 408 | 409 | "@tinyhttp/content-disposition@1.3.0": 410 | version "1.3.0" 411 | resolved "https://registry.yarnpkg.com/@tinyhttp/content-disposition/-/content-disposition-1.3.0.tgz#66e1963288dbec0b854c11dce2b10834ce72afe9" 412 | integrity sha512-sSj7YDVz7NcHDn6/O/I3WjtC8ZWJKKIGULoV+pgrLvJvtXK5WroE1Fm8rHRQewh2d9NMajh/7NX6NuSlF8LUaQ== 413 | 414 | "@tinyhttp/cookie-signature@1.3.0": 415 | version "1.3.0" 416 | resolved "https://registry.yarnpkg.com/@tinyhttp/cookie-signature/-/cookie-signature-1.3.0.tgz#56511d1eb2f394afb1f818e8c3ccbb6fac45dcda" 417 | integrity sha512-xCQZyCT1S/Rn2Z3SX2gp4IDAwW9AUnjky6hKvqzmMaQqEbIk7e2GCOXW5yjndbfGNTJAxj0tuLNMF4G8aLkfMw== 418 | 419 | "@tinyhttp/cookie@1.3.0": 420 | version "1.3.0" 421 | resolved "https://registry.yarnpkg.com/@tinyhttp/cookie/-/cookie-1.3.0.tgz#5a13051da80a0e340894dd3b69faa7307a7bffec" 422 | integrity sha512-4ZVfP8WApV9ZRchv/1i0QiKdP0wxWTUNv4ZsMQrqK0p1KXA0/SvpYUTS6bp1E6Yo0dNxcKte4wJ4FCWFDcShhQ== 423 | 424 | "@tinyhttp/cors@1.3.2": 425 | version "1.3.2" 426 | resolved "https://registry.yarnpkg.com/@tinyhttp/cors/-/cors-1.3.2.tgz#fa7fcba84cbf772efcd853632000ba15bbee713a" 427 | integrity sha512-5JDStRqUXS0qL/F58tLd770Qa5ozAUgCRasRn4y5giDu9VrxVOWB68RcdPLJb84JioS9e4Kgev6v/HadkD5h3w== 428 | dependencies: 429 | es-vary "^0.0.8" 430 | 431 | "@tinyhttp/encode-url@0.3.0": 432 | version "0.3.0" 433 | resolved "https://registry.yarnpkg.com/@tinyhttp/encode-url/-/encode-url-0.3.0.tgz#8dc1bc316827cd8800f9c8a647a4896b766a9e14" 434 | integrity sha512-QM5j5t0GLucBuBePoOilcz1/zDpqX+LtUdtkPn7IvoHTNJYNxEfSUmIMPUPhyVY7mvbwvafPUCK8u1Byx0+NfQ== 435 | 436 | "@tinyhttp/etag@1.3.0": 437 | version "1.3.0" 438 | resolved "https://registry.yarnpkg.com/@tinyhttp/etag/-/etag-1.3.0.tgz#523ee8da8073bd10f7154fae9c6bc9f0df680b24" 439 | integrity sha512-aWnDb4NuMf/UTm1H88rZgqu32E6t3iDHSHtAppiQCH4M7jRfTUEpiZjz//S+giDnOxAuYttLrXQ1+HGpgzyYUQ== 440 | 441 | "@tinyhttp/forwarded@^1.3.0": 442 | version "1.3.0" 443 | resolved "https://registry.yarnpkg.com/@tinyhttp/forwarded/-/forwarded-1.3.0.tgz#376d4692906377d2c89eeba4af04b32982fdc2b5" 444 | integrity sha512-U2FPtOH+DoFtd98edMRyqiquRaiuEl5I2PMUWdKaBSpiAIR96buyanQ7hScenz1MihK0AVid7wLAviaJU+Xlyg== 445 | 446 | "@tinyhttp/proxy-addr@1.3.0": 447 | version "1.3.0" 448 | resolved "https://registry.yarnpkg.com/@tinyhttp/proxy-addr/-/proxy-addr-1.3.0.tgz#f1310f30acdf6bfbf08babb17ff3d94fb1fb81e9" 449 | integrity sha512-7Kv6YIC/PlhUwyqAGXhg4DoQDOzbYlcGPkNv/KZAMFj9fZ6IEZyneyaClnD21hMT8qa7g3Z/66hxLa/WxiPAYA== 450 | dependencies: 451 | "@tinyhttp/forwarded" "^1.3.0" 452 | ipaddr.js "^2.0.0" 453 | 454 | "@tinyhttp/req@1.3.1": 455 | version "1.3.1" 456 | resolved "https://registry.yarnpkg.com/@tinyhttp/req/-/req-1.3.1.tgz#b6d13aa90fe42234a046000199824ffd83851ee2" 457 | integrity sha512-nNIf3OGBtiQ9WRdqAH/cqwRXgIjQi9oQYslHdGsOzu79MZRvbkco+6FUEYvkQ9N6rLfAL+xjAXkCUk+gDJ0eLA== 458 | dependencies: 459 | "@tinyhttp/accepts" "1.3.0" 460 | "@tinyhttp/type-is" "1.3.0" 461 | "@tinyhttp/url" "1.3.1" 462 | es-fresh "^0.0.8" 463 | range-parser "^1.2.1" 464 | 465 | "@tinyhttp/res@1.3.3": 466 | version "1.3.3" 467 | resolved "https://registry.yarnpkg.com/@tinyhttp/res/-/res-1.3.3.tgz#ed05cc90ce233fa08c6c94d678bf5a26ea87bd8a" 468 | integrity sha512-PSsNsKARRycIlepliaQGyaDVNr0QpMAX5gYiSSYObxh7WvQGB30G4SCFIhy3gA5WXOxjMIwRktTHGGRflxCdyg== 469 | dependencies: 470 | "@tinyhttp/content-disposition" "1.3.0" 471 | "@tinyhttp/cookie" "1.3.0" 472 | "@tinyhttp/cookie-signature" "1.3.0" 473 | "@tinyhttp/encode-url" "0.3.0" 474 | "@tinyhttp/req" "1.3.1" 475 | "@tinyhttp/send" "1.3.2" 476 | es-mime-types "^0.0.16" 477 | es-vary "^0.0.8" 478 | escape-html "^1.0.3" 479 | 480 | "@tinyhttp/router@1.3.3": 481 | version "1.3.3" 482 | resolved "https://registry.yarnpkg.com/@tinyhttp/router/-/router-1.3.3.tgz#8193153c88d0dbbe4aafde91b117147d56380189" 483 | integrity sha512-Wjch7WR8DDkQm5xeNy4i/RrYQGmNrUhqzqls+UBZW14mULjUUtKoTlDOg59RxsPx2NmzdoDbIW4jTpbw+VyNHg== 484 | 485 | "@tinyhttp/send@1.3.2": 486 | version "1.3.2" 487 | resolved "https://registry.yarnpkg.com/@tinyhttp/send/-/send-1.3.2.tgz#98c055e487f33198b5ae932c098bf0743a2c9b97" 488 | integrity sha512-HQrkAr5QUxkYuYs/Sa5FJ2Uc/WerGqypptAbwszlz8hpE0P/nSs2xR2tpzRHGVihuIcNqiJaDzymhEndpj67Fg== 489 | dependencies: 490 | "@tinyhttp/etag" "1.3.0" 491 | es-content-type "^0.0.10" 492 | es-mime-types "^0.0.16" 493 | 494 | "@tinyhttp/type-is@1.3.0": 495 | version "1.3.0" 496 | resolved "https://registry.yarnpkg.com/@tinyhttp/type-is/-/type-is-1.3.0.tgz#02e61786ed7599f30e988c6351341e36bf40a895" 497 | integrity sha512-3NClOYPNJst9vVLcb793epRI+ZuRwl6IjxSq9LkGN8TEBbtNgv2vTmXZRWcUs2zY9Ju+NQIYecWcsG0Kx23E+g== 498 | dependencies: 499 | es-content-type "^0.0.10" 500 | es-mime-types "^0.0.16" 501 | 502 | "@tinyhttp/url@1.3.1": 503 | version "1.3.1" 504 | resolved "https://registry.yarnpkg.com/@tinyhttp/url/-/url-1.3.1.tgz#c17062b438b8208d9383432030dbfc1c68787aa8" 505 | integrity sha512-72XRyVFLqbm8C9FQHYgfKNNIZBKuct13/EcA4tPnF9o8dIcL7UJtXCf+kQjdMZPJzJn51c451sxjm5p4dldbvQ== 506 | 507 | "@tsconfig/node10@^1.0.7": 508 | version "1.0.7" 509 | resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.7.tgz#1eb1de36c73478a2479cc661ef5af1c16d86d606" 510 | integrity sha512-aBvUmXLQbayM4w3A8TrjwrXs4DZ8iduJnuJLLRGdkWlyakCf1q6uHZJBzXoRA/huAEknG5tcUyQxN3A+In5euQ== 511 | 512 | "@tsconfig/node12@^1.0.7": 513 | version "1.0.7" 514 | resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.7.tgz#677bd9117e8164dc319987dd6ff5fc1ba6fbf18b" 515 | integrity sha512-dgasobK/Y0wVMswcipr3k0HpevxFJLijN03A8mYfEPvWvOs14v0ZlYTR4kIgMx8g4+fTyTFv8/jLCIfRqLDJ4A== 516 | 517 | "@tsconfig/node14@^1.0.0": 518 | version "1.0.0" 519 | resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.0.tgz#5bd046e508b1ee90bc091766758838741fdefd6e" 520 | integrity sha512-RKkL8eTdPv6t5EHgFKIVQgsDapugbuOptNd9OOunN/HAkzmmTnZELx1kNCK0rSdUYGmiFMM3rRQMAWiyp023LQ== 521 | 522 | "@tsconfig/node16@^1.0.2": 523 | version "1.0.2" 524 | resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.2.tgz#423c77877d0569db20e1fc80885ac4118314010e" 525 | integrity sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA== 526 | 527 | "@types/aria-query@^4.2.0": 528 | version "4.2.0" 529 | resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.0.tgz#14264692a9d6e2fa4db3df5e56e94b5e25647ac0" 530 | integrity sha512-iIgQNzCm0v7QMhhe4Jjn9uRh+I6GoPmt03CbEtwx3ao8/EfoQcmgtqH4vQ5Db/lxiIGaWDv6nwvunuh0RyX0+A== 531 | 532 | "@types/component-emitter@^1.2.10": 533 | version "1.2.10" 534 | resolved "https://registry.yarnpkg.com/@types/component-emitter/-/component-emitter-1.2.10.tgz#ef5b1589b9f16544642e473db5ea5639107ef3ea" 535 | integrity sha512-bsjleuRKWmGqajMerkzox19aGbscQX5rmmvvXl3wlIp5gMG1HgkiwPxsN5p070fBDKTNSPgojVbuY1+HWMbFhg== 536 | 537 | "@types/cookie@^0.4.1": 538 | version "0.4.1" 539 | resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" 540 | integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== 541 | 542 | "@types/cors@^2.8.12": 543 | version "2.8.12" 544 | resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" 545 | integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== 546 | 547 | "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0": 548 | version "2.0.3" 549 | resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz#4ba8ddb720221f432e443bd5f9117fd22cfd4762" 550 | integrity sha512-sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw== 551 | 552 | "@types/istanbul-lib-report@*": 553 | version "3.0.0" 554 | resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" 555 | integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== 556 | dependencies: 557 | "@types/istanbul-lib-coverage" "*" 558 | 559 | "@types/istanbul-reports@^3.0.0": 560 | version "3.0.0" 561 | resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.0.tgz#508b13aa344fa4976234e75dddcc34925737d821" 562 | integrity sha512-nwKNbvnwJ2/mndE9ItP/zc2TCzw6uuodnF4EHYWD+gCQDVBuRQL5UzbZD0/ezy1iKsFU2ZQiDqg4M9dN4+wZgA== 563 | dependencies: 564 | "@types/istanbul-lib-report" "*" 565 | 566 | "@types/jest@*", "@types/jest@27.0.2": 567 | version "27.0.2" 568 | resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.0.2.tgz#ac383c4d4aaddd29bbf2b916d8d105c304a5fcd7" 569 | integrity sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA== 570 | dependencies: 571 | jest-diff "^27.0.0" 572 | pretty-format "^27.0.0" 573 | 574 | "@types/node@*", "@types/node@14.18.12", "@types/node@>=10.0.0": 575 | version "14.18.12" 576 | resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.12.tgz#0d4557fd3b94497d793efd4e7d92df2f83b4ef24" 577 | integrity sha512-q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A== 578 | 579 | "@types/prop-types@*": 580 | version "15.7.3" 581 | resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" 582 | integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== 583 | 584 | "@types/react-dom@17.0.9": 585 | version "17.0.9" 586 | resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.9.tgz#441a981da9d7be117042e1a6fd3dac4b30f55add" 587 | integrity sha512-wIvGxLfgpVDSAMH5utdL9Ngm5Owu0VsGmldro3ORLXV8CShrL8awVj06NuEXFQ5xyaYfdca7Sgbk/50Ri1GdPg== 588 | dependencies: 589 | "@types/react" "*" 590 | 591 | "@types/react@*", "@types/react@17.0.34": 592 | version "17.0.34" 593 | resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.34.tgz#797b66d359b692e3f19991b6b07e4b0c706c0102" 594 | integrity sha512-46FEGrMjc2+8XhHXILr+3+/sTe3OfzSPU9YGKILLrUYbQ1CLQC9Daqo1KzENGXAWwrFwiY0l4ZbF20gRvgpWTg== 595 | dependencies: 596 | "@types/prop-types" "*" 597 | "@types/scheduler" "*" 598 | csstype "^3.0.2" 599 | 600 | "@types/scheduler@*": 601 | version "0.16.1" 602 | resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.1.tgz#18845205e86ff0038517aab7a18a62a6b9f71275" 603 | integrity sha512-EaCxbanVeyxDRTQBkdLb3Bvl/HK7PBK6UJjsSixB0iHKoWxE5uu2Q/DgtpOhPIojN0Zl1whvOd7PoHs2P0s5eA== 604 | 605 | "@types/strip-bom@^3.0.0": 606 | version "3.0.0" 607 | resolved "https://registry.yarnpkg.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2" 608 | integrity sha1-FKjsOVbC6B7bdSB5CuzyHCkK69I= 609 | 610 | "@types/strip-json-comments@0.0.30": 611 | version "0.0.30" 612 | resolved "https://registry.yarnpkg.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1" 613 | integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ== 614 | 615 | "@types/testing-library__jest-dom@^5.9.1": 616 | version "5.9.5" 617 | resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.9.5.tgz#5bf25c91ad2d7b38f264b12275e5c92a66d849b0" 618 | integrity sha512-ggn3ws+yRbOHog9GxnXiEZ/35Mow6YtPZpd7Z5mKDeZS/o7zx3yAle0ov/wjhVB5QT4N2Dt+GNoGCdqkBGCajQ== 619 | dependencies: 620 | "@types/jest" "*" 621 | 622 | "@types/ws@8.2.2": 623 | version "8.2.2" 624 | resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.2.2.tgz#7c5be4decb19500ae6b3d563043cd407bf366c21" 625 | integrity sha512-NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg== 626 | dependencies: 627 | "@types/node" "*" 628 | 629 | "@types/yargs-parser@*": 630 | version "15.0.0" 631 | resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" 632 | integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== 633 | 634 | "@types/yargs@^16.0.0": 635 | version "16.0.3" 636 | resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.3.tgz#4b6d35bb8e680510a7dc2308518a80ee1ef27e01" 637 | integrity sha512-YlFfTGS+zqCgXuXNV26rOIeETOkXnGQXP/pjjL9P0gO/EP9jTmc7pUBhx+jVEIxpq41RX33GQ7N3DzOSfZoglQ== 638 | dependencies: 639 | "@types/yargs-parser" "*" 640 | 641 | "@vitejs/plugin-react-refresh@1.3.6": 642 | version "1.3.6" 643 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-react-refresh/-/plugin-react-refresh-1.3.6.tgz#19818392db01e81746cfeb04e096ab3010e79fe3" 644 | integrity sha512-iNR/UqhUOmFFxiezt0em9CgmiJBdWR+5jGxB2FihaoJfqGt76kiwaKoVOJVU5NYcDWMdN06LbyN2VIGIoYdsEA== 645 | dependencies: 646 | "@babel/core" "^7.14.8" 647 | "@babel/plugin-transform-react-jsx-self" "^7.14.5" 648 | "@babel/plugin-transform-react-jsx-source" "^7.14.5" 649 | "@rollup/pluginutils" "^4.1.1" 650 | react-refresh "^0.10.0" 651 | 652 | "@yarnpkg/lockfile@^1.1.0": 653 | version "1.1.0" 654 | resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" 655 | integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== 656 | 657 | accepts@~1.3.4: 658 | version "1.3.7" 659 | resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" 660 | integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== 661 | dependencies: 662 | mime-types "~2.1.24" 663 | negotiator "0.6.2" 664 | 665 | acorn-walk@^8.1.1: 666 | version "8.1.1" 667 | resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.1.1.tgz#3ddab7f84e4a7e2313f6c414c5b7dac85f4e3ebc" 668 | integrity sha512-FbJdceMlPHEAWJOILDk1fXD8lnTlEIWFkqtfk+MvmL5q/qlHfN7GEHcsFZWt/Tea9jRNPWUZG4G976nqAAmU9w== 669 | 670 | acorn@^8.4.1: 671 | version "8.4.1" 672 | resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c" 673 | integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA== 674 | 675 | ansi-regex@^5.0.0: 676 | version "5.0.0" 677 | resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" 678 | integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== 679 | 680 | ansi-styles@^3.2.1: 681 | version "3.2.1" 682 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" 683 | integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== 684 | dependencies: 685 | color-convert "^1.9.0" 686 | 687 | ansi-styles@^4.1.0: 688 | version "4.3.0" 689 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" 690 | integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== 691 | dependencies: 692 | color-convert "^2.0.1" 693 | 694 | ansi-styles@^5.0.0: 695 | version "5.2.0" 696 | resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" 697 | integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== 698 | 699 | anymatch@~3.1.1: 700 | version "3.1.1" 701 | resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" 702 | integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== 703 | dependencies: 704 | normalize-path "^3.0.0" 705 | picomatch "^2.0.4" 706 | 707 | arg@^4.1.0: 708 | version "4.1.3" 709 | resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" 710 | integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== 711 | 712 | argparse@^1.0.7: 713 | version "1.0.10" 714 | resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" 715 | integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== 716 | dependencies: 717 | sprintf-js "~1.0.2" 718 | 719 | aria-query@^4.2.2: 720 | version "4.2.2" 721 | resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" 722 | integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== 723 | dependencies: 724 | "@babel/runtime" "^7.10.2" 725 | "@babel/runtime-corejs3" "^7.10.2" 726 | 727 | aria-query@^5.0.0: 728 | version "5.0.0" 729 | resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.0.0.tgz#210c21aaf469613ee8c9a62c7f86525e058db52c" 730 | integrity sha512-V+SM7AbUwJ+EBnB8+DXs0hPZHO0W6pqBcc0dW90OwtVG02PswOu/teuARoLQjdDOH+t9pJgGnW5/Qmouf3gPJg== 731 | 732 | async-limiter@~1.0.0: 733 | version "1.0.1" 734 | resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" 735 | integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== 736 | 737 | atob@^2.1.2: 738 | version "2.1.2" 739 | resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" 740 | integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== 741 | 742 | backo2@^1.0.2, backo2@~1.0.2: 743 | version "1.0.2" 744 | resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" 745 | integrity sha1-MasayLEpNjRj41s+u2n038+6eUc= 746 | 747 | balanced-match@^1.0.0: 748 | version "1.0.0" 749 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" 750 | integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= 751 | 752 | base64-arraybuffer@~1.0.1: 753 | version "1.0.1" 754 | resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-1.0.1.tgz#87bd13525626db4a9838e00a508c2b73efcf348c" 755 | integrity sha512-vFIUq7FdLtjZMhATwDul5RZWv2jpXQ09Pd6jcVEOvIsqCWTRFD/ONHNfyOS8dA/Ippi5dsIgpyKWKZaAKZltbA== 756 | 757 | base64id@2.0.0, base64id@~2.0.0: 758 | version "2.0.0" 759 | resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" 760 | integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== 761 | 762 | binary-extensions@^2.0.0: 763 | version "2.1.0" 764 | resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" 765 | integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== 766 | 767 | brace-expansion@^1.1.7: 768 | version "1.1.11" 769 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" 770 | integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== 771 | dependencies: 772 | balanced-match "^1.0.0" 773 | concat-map "0.0.1" 774 | 775 | braces@^3.0.1, braces@~3.0.2: 776 | version "3.0.2" 777 | resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" 778 | integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== 779 | dependencies: 780 | fill-range "^7.0.1" 781 | 782 | browserslist@^4.16.6: 783 | version "4.16.6" 784 | resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" 785 | integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== 786 | dependencies: 787 | caniuse-lite "^1.0.30001219" 788 | colorette "^1.2.2" 789 | electron-to-chromium "^1.3.723" 790 | escalade "^3.1.1" 791 | node-releases "^1.1.71" 792 | 793 | buffer-from@^1.0.0: 794 | version "1.1.1" 795 | resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" 796 | integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== 797 | 798 | caniuse-lite@^1.0.30001219: 799 | version "1.0.30001232" 800 | resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001232.tgz#2ebc8b6a77656fd772ab44a82a332a26a17e9527" 801 | integrity sha512-e4Gyp7P8vqC2qV2iHA+cJNf/yqUKOShXQOJHQt81OHxlIZl/j/j3soEA0adAQi8CPUQgvOdDENyQ5kd6a6mNSg== 802 | 803 | chalk@^2.0.0, chalk@^2.4.2: 804 | version "2.4.2" 805 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" 806 | integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== 807 | dependencies: 808 | ansi-styles "^3.2.1" 809 | escape-string-regexp "^1.0.5" 810 | supports-color "^5.3.0" 811 | 812 | chalk@^3.0.0: 813 | version "3.0.0" 814 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" 815 | integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== 816 | dependencies: 817 | ansi-styles "^4.1.0" 818 | supports-color "^7.1.0" 819 | 820 | chalk@^4.0.0, chalk@^4.1.0: 821 | version "4.1.0" 822 | resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" 823 | integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== 824 | dependencies: 825 | ansi-styles "^4.1.0" 826 | supports-color "^7.1.0" 827 | 828 | chokidar@^3.5.1: 829 | version "3.5.1" 830 | resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" 831 | integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== 832 | dependencies: 833 | anymatch "~3.1.1" 834 | braces "~3.0.2" 835 | glob-parent "~5.1.0" 836 | is-binary-path "~2.1.0" 837 | is-glob "~4.0.1" 838 | normalize-path "~3.0.0" 839 | readdirp "~3.5.0" 840 | optionalDependencies: 841 | fsevents "~2.3.1" 842 | 843 | ci-info@^2.0.0: 844 | version "2.0.0" 845 | resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" 846 | integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== 847 | 848 | codemirror-graphql@^1.0.0: 849 | version "1.0.1" 850 | resolved "https://registry.yarnpkg.com/codemirror-graphql/-/codemirror-graphql-1.0.1.tgz#858fd43b0c5d48fd2f6e90a0efe72ee95033b139" 851 | integrity sha512-5ttMpv2kMn99Rmf2aZ5P6/hMd3y11cN8LP/x5MUeF0ipcalZA/GE/OxxXkhV0YJE/uW5QIcPyZDkvtSsGZa23A== 852 | dependencies: 853 | graphql-language-service-interface "^2.8.2" 854 | graphql-language-service-parser "^1.9.0" 855 | 856 | codemirror@^5.54.0: 857 | version "5.58.2" 858 | resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.58.2.tgz#ed54a1796de1498688bea1cdd4e9eeb187565d1b" 859 | integrity sha512-K/hOh24cCwRutd1Mk3uLtjWzNISOkm4fvXiMO7LucCrqbh6aJDdtqUziim3MZUI6wOY0rvY1SlL1Ork01uMy6w== 860 | 861 | color-convert@^1.9.0: 862 | version "1.9.3" 863 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" 864 | integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== 865 | dependencies: 866 | color-name "1.1.3" 867 | 868 | color-convert@^2.0.1: 869 | version "2.0.1" 870 | resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" 871 | integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== 872 | dependencies: 873 | color-name "~1.1.4" 874 | 875 | color-name@1.1.3: 876 | version "1.1.3" 877 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" 878 | integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= 879 | 880 | color-name@~1.1.4: 881 | version "1.1.4" 882 | resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" 883 | integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== 884 | 885 | colorette@^1.2.2: 886 | version "1.2.2" 887 | resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" 888 | integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== 889 | 890 | component-emitter@~1.3.0: 891 | version "1.3.0" 892 | resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" 893 | integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== 894 | 895 | concat-map@0.0.1: 896 | version "0.0.1" 897 | resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" 898 | integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= 899 | 900 | convert-source-map@^1.7.0: 901 | version "1.7.0" 902 | resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" 903 | integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== 904 | dependencies: 905 | safe-buffer "~5.1.1" 906 | 907 | cookie@~0.4.1: 908 | version "0.4.1" 909 | resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" 910 | integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== 911 | 912 | copy-to-clipboard@^3.2.0: 913 | version "3.3.1" 914 | resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.1.tgz#115aa1a9998ffab6196f93076ad6da3b913662ae" 915 | integrity sha512-i13qo6kIHTTpCm8/Wup+0b1mVWETvu2kIMzKoK8FpkLkFxlt0znUAHcMzox+T8sPlqtZXq3CulEjQHsYiGFJUw== 916 | dependencies: 917 | toggle-selection "^1.0.6" 918 | 919 | core-js-pure@^3.0.0: 920 | version "3.6.5" 921 | resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.6.5.tgz#c79e75f5e38dbc85a662d91eea52b8256d53b813" 922 | integrity sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA== 923 | 924 | cors@~2.8.5: 925 | version "2.8.5" 926 | resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" 927 | integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== 928 | dependencies: 929 | object-assign "^4" 930 | vary "^1" 931 | 932 | create-require@^1.1.0: 933 | version "1.1.1" 934 | resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" 935 | integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== 936 | 937 | cross-env@7.0.3: 938 | version "7.0.3" 939 | resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf" 940 | integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw== 941 | dependencies: 942 | cross-spawn "^7.0.1" 943 | 944 | cross-spawn@^6.0.5: 945 | version "6.0.5" 946 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" 947 | integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== 948 | dependencies: 949 | nice-try "^1.0.4" 950 | path-key "^2.0.1" 951 | semver "^5.5.0" 952 | shebang-command "^1.2.0" 953 | which "^1.2.9" 954 | 955 | cross-spawn@^7.0.1: 956 | version "7.0.3" 957 | resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" 958 | integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== 959 | dependencies: 960 | path-key "^3.1.0" 961 | shebang-command "^2.0.0" 962 | which "^2.0.1" 963 | 964 | css.escape@^1.5.1: 965 | version "1.5.1" 966 | resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" 967 | integrity sha1-QuJ9T6BK4y+TGktNQZH6nN3ul8s= 968 | 969 | css@^3.0.0: 970 | version "3.0.0" 971 | resolved "https://registry.yarnpkg.com/css/-/css-3.0.0.tgz#4447a4d58fdd03367c516ca9f64ae365cee4aa5d" 972 | integrity sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ== 973 | dependencies: 974 | inherits "^2.0.4" 975 | source-map "^0.6.1" 976 | source-map-resolve "^0.6.0" 977 | 978 | csstype@^3.0.2: 979 | version "3.0.4" 980 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.4.tgz#b156d7be03b84ff425c9a0a4b1e5f4da9c5ca888" 981 | integrity sha512-xc8DUsCLmjvCfoD7LTGE0ou2MIWLx0K9RCZwSHMOdynqRsP4MtUcLeqh1HcQ2dInwDTqn+3CE0/FZh1et+p4jA== 982 | 983 | debug@^4.1.0, debug@~4.3.1, debug@~4.3.2: 984 | version "4.3.2" 985 | resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" 986 | integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== 987 | dependencies: 988 | ms "2.1.2" 989 | 990 | decode-uri-component@^0.2.0: 991 | version "0.2.0" 992 | resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" 993 | integrity sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU= 994 | 995 | diff-sequences@^27.0.6: 996 | version "27.0.6" 997 | resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.0.6.tgz#3305cb2e55a033924054695cc66019fd7f8e5723" 998 | integrity sha512-ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ== 999 | 1000 | diff@^4.0.1: 1001 | version "4.0.2" 1002 | resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" 1003 | integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== 1004 | 1005 | dom-accessibility-api@^0.5.6: 1006 | version "0.5.6" 1007 | resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.6.tgz#3f5d43b52c7a3bd68b5fb63fa47b4e4c1fdf65a9" 1008 | integrity sha512-DplGLZd8L1lN64jlT27N9TVSESFR5STaEJvX+thCby7fuCHonfPpAlodYc3vuUYbDuDec5w8AMP7oCM5TWFsqw== 1009 | 1010 | dset@^3.1.0: 1011 | version "3.1.0" 1012 | resolved "https://registry.yarnpkg.com/dset/-/dset-3.1.0.tgz#23feb6df93816ea452566308b1374d6e869b0d7b" 1013 | integrity sha512-7xTQ5DzyE59Nn+7ZgXDXjKAGSGmXZHqttMVVz1r4QNfmGpyj+cm2YtI3II0c/+4zS4a9yq2mBhgdeq2QnpcYlw== 1014 | 1015 | dynamic-dedupe@^0.3.0: 1016 | version "0.3.0" 1017 | resolved "https://registry.yarnpkg.com/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz#06e44c223f5e4e94d78ef9db23a6515ce2f962a1" 1018 | integrity sha1-BuRMIj9eTpTXjvnbI6ZRXOL5YqE= 1019 | dependencies: 1020 | xtend "^4.0.0" 1021 | 1022 | electron-to-chromium@^1.3.723: 1023 | version "1.3.743" 1024 | resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.743.tgz#fcec24d6d647cb84fd796b42caa1b4039a180894" 1025 | integrity sha512-K2wXfo9iZQzNJNx67+Pld0DRF+9bYinj62gXCdgPhcu1vidwVuLPHQPPFnCdO55njWigXXpfBiT90jGUPbw8Zg== 1026 | 1027 | engine.io-client@~6.1.1: 1028 | version "6.1.1" 1029 | resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.1.1.tgz#800d4b9db5487d169686729e5bd887afa78d36b0" 1030 | integrity sha512-V05mmDo4gjimYW+FGujoGmmmxRaDsrVr7AXA3ZIfa04MWM1jOfZfUwou0oNqhNwy/votUDvGDt4JA4QF4e0b4g== 1031 | dependencies: 1032 | "@socket.io/component-emitter" "~3.0.0" 1033 | debug "~4.3.1" 1034 | engine.io-parser "~5.0.0" 1035 | has-cors "1.1.0" 1036 | parseqs "0.0.6" 1037 | parseuri "0.0.6" 1038 | ws "~8.2.3" 1039 | xmlhttprequest-ssl "~2.0.0" 1040 | yeast "0.1.2" 1041 | 1042 | engine.io-parser@~5.0.0: 1043 | version "5.0.1" 1044 | resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.1.tgz#6695fc0f1e6d76ad4a48300ff80db5f6b3654939" 1045 | integrity sha512-j4p3WwJrG2k92VISM0op7wiq60vO92MlF3CRGxhKHy9ywG1/Dkc72g0dXeDQ+//hrcDn8gqQzoEkdO9FN0d9AA== 1046 | dependencies: 1047 | base64-arraybuffer "~1.0.1" 1048 | 1049 | engine.io@~6.1.0: 1050 | version "6.1.0" 1051 | resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.1.0.tgz#459eab0c3724899d7b63a20c3a6835cf92857939" 1052 | integrity sha512-ErhZOVu2xweCjEfYcTdkCnEYUiZgkAcBBAhW4jbIvNG8SLU3orAqoJCiytZjYF7eTpVmmCrLDjLIEaPlUAs1uw== 1053 | dependencies: 1054 | "@types/cookie" "^0.4.1" 1055 | "@types/cors" "^2.8.12" 1056 | "@types/node" ">=10.0.0" 1057 | accepts "~1.3.4" 1058 | base64id "2.0.0" 1059 | cookie "~0.4.1" 1060 | cors "~2.8.5" 1061 | debug "~4.3.1" 1062 | engine.io-parser "~5.0.0" 1063 | ws "~8.2.3" 1064 | 1065 | entities@^2.0.0, entities@~2.0.0: 1066 | version "2.0.3" 1067 | resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" 1068 | integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== 1069 | 1070 | es-content-type@^0.0.10: 1071 | version "0.0.10" 1072 | resolved "https://registry.yarnpkg.com/es-content-type/-/es-content-type-0.0.10.tgz#98ffeacf8399eaa080c521fe751144a8cc0f3222" 1073 | integrity sha512-yCgcv1M2IuFUoGZ3zE4OR2INGmZOwEuyaE5WX4MOKGpJcO8JXgVOIcXVicwnTqlxvx6qs9IJGl/Rr1+YtCkRgg== 1074 | 1075 | es-fresh@^0.0.8: 1076 | version "0.0.8" 1077 | resolved "https://registry.yarnpkg.com/es-fresh/-/es-fresh-0.0.8.tgz#d4ac7157161362abb8c7fb53b0477bd55308fd5d" 1078 | integrity sha512-ZM+K/T/zHJVuOhaz19iymidACazB1fl2uihBtSfRie8YzN1YM+KldVmNaU+GSmVvTOPSO2utKOhxcOinr5tKjw== 1079 | 1080 | es-mime-types@^0.0.16: 1081 | version "0.0.16" 1082 | resolved "https://registry.yarnpkg.com/es-mime-types/-/es-mime-types-0.0.16.tgz#2626ea0d99b3862addd5b25023b6ed6b2195cfc8" 1083 | integrity sha512-84QoSLeA7cdTeHpALFNl3ZOstXfvLt426/kaOgmSxmNUOhi4GesKVkhJgIfnsqGNziYezVA8rvZUsXj7oWX2qQ== 1084 | dependencies: 1085 | mime-db "^1.44.0" 1086 | 1087 | es-vary@^0.0.8: 1088 | version "0.0.8" 1089 | resolved "https://registry.yarnpkg.com/es-vary/-/es-vary-0.0.8.tgz#4dc62235dda14e51e16b6690e564a9e5d40e3df0" 1090 | integrity sha512-fiERjQiCHrXUAToNRT/sh7MtXnfei9n7cF9oVQRUEp9L5BGXsTKSPaXq8L+4v0c/ezfvuTWd/f0JSl5IBRUvSg== 1091 | 1092 | esbuild-android-arm64@0.14.23: 1093 | version "0.14.23" 1094 | resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.14.23.tgz#c89b3c50b4f47668dcbeb0b34ee4615258818e71" 1095 | integrity sha512-k9sXem++mINrZty1v4FVt6nC5BQCFG4K2geCIUUqHNlTdFnuvcqsY7prcKZLFhqVC1rbcJAr9VSUGFL/vD4vsw== 1096 | 1097 | esbuild-darwin-64@0.14.23: 1098 | version "0.14.23" 1099 | resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.14.23.tgz#1c131e8cb133ed935ca32f824349a117c896a15b" 1100 | integrity sha512-lB0XRbtOYYL1tLcYw8BoBaYsFYiR48RPrA0KfA/7RFTr4MV7Bwy/J4+7nLsVnv9FGuQummM3uJ93J3ptaTqFug== 1101 | 1102 | esbuild-darwin-arm64@0.14.23: 1103 | version "0.14.23" 1104 | resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.14.23.tgz#3c6245a50109dd84953f53d7833bd3b4f0e8c6fa" 1105 | integrity sha512-yat73Z/uJ5tRcfRiI4CCTv0FSnwErm3BJQeZAh+1tIP0TUNh6o+mXg338Zl5EKChD+YGp6PN+Dbhs7qa34RxSw== 1106 | 1107 | esbuild-freebsd-64@0.14.23: 1108 | version "0.14.23" 1109 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.14.23.tgz#0cdc54e72d3dd9cd992f9c2960055e68a7f8650c" 1110 | integrity sha512-/1xiTjoLuQ+LlbfjJdKkX45qK/M7ARrbLmyf7x3JhyQGMjcxRYVR6Dw81uH3qlMHwT4cfLW4aEVBhP1aNV7VsA== 1111 | 1112 | esbuild-freebsd-arm64@0.14.23: 1113 | version "0.14.23" 1114 | resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.14.23.tgz#1d11faed3a0c429e99b7dddef84103eb509788b2" 1115 | integrity sha512-uyPqBU/Zcp6yEAZS4LKj5jEE0q2s4HmlMBIPzbW6cTunZ8cyvjG6YWpIZXb1KK3KTJDe62ltCrk3VzmWHp+iLg== 1116 | 1117 | esbuild-linux-32@0.14.23: 1118 | version "0.14.23" 1119 | resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.14.23.tgz#fd9f033fc27dcab61100cb1eb1c936893a68c841" 1120 | integrity sha512-37R/WMkQyUfNhbH7aJrr1uCjDVdnPeTHGeDhZPUNhfoHV0lQuZNCKuNnDvlH/u/nwIYZNdVvz1Igv5rY/zfrzQ== 1121 | 1122 | esbuild-linux-64@0.14.23: 1123 | version "0.14.23" 1124 | resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.14.23.tgz#c04c438514f1359ecb1529205d0c836d4165f198" 1125 | integrity sha512-H0gztDP60qqr8zoFhAO64waoN5yBXkmYCElFklpd6LPoobtNGNnDe99xOQm28+fuD75YJ7GKHzp/MLCLhw2+vQ== 1126 | 1127 | esbuild-linux-arm64@0.14.23: 1128 | version "0.14.23" 1129 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.14.23.tgz#d1b3ab2988ab0734886eb9e811726f7db099ab96" 1130 | integrity sha512-c4MLOIByNHR55n3KoYf9hYDfBRghMjOiHLaoYLhkQkIabb452RWi+HsNgB41sUpSlOAqfpqKPFNg7VrxL3UX9g== 1131 | 1132 | esbuild-linux-arm@0.14.23: 1133 | version "0.14.23" 1134 | resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.14.23.tgz#df7558b6a5076f5eb9fd387c8704f768b61d97fb" 1135 | integrity sha512-x64CEUxi8+EzOAIpCUeuni0bZfzPw/65r8tC5cy5zOq9dY7ysOi5EVQHnzaxS+1NmV+/RVRpmrzGw1QgY2Xpmw== 1136 | 1137 | esbuild-linux-mips64le@0.14.23: 1138 | version "0.14.23" 1139 | resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.14.23.tgz#bb4c47fccc9493d460ffeb1f88e8a97a98a14f8b" 1140 | integrity sha512-kHKyKRIAedYhKug2EJpyJxOUj3VYuamOVA1pY7EimoFPzaF3NeY7e4cFBAISC/Av0/tiV0xlFCt9q0HJ68IBIw== 1141 | 1142 | esbuild-linux-ppc64le@0.14.23: 1143 | version "0.14.23" 1144 | resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.14.23.tgz#a332dbc8a1b4e30cfe1261bfaa5cef57c9c8c02a" 1145 | integrity sha512-7ilAiJEPuJJnJp/LiDO0oJm5ygbBPzhchJJh9HsHZzeqO+3PUzItXi+8PuicY08r0AaaOe25LA7sGJ0MzbfBag== 1146 | 1147 | esbuild-linux-riscv64@0.14.23: 1148 | version "0.14.23" 1149 | resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.14.23.tgz#85675f3f931f5cd7cfb238fd82f77a62ffcb6d86" 1150 | integrity sha512-fbL3ggK2wY0D8I5raPIMPhpCvODFE+Bhb5QGtNP3r5aUsRR6TQV+ZBXIaw84iyvKC8vlXiA4fWLGhghAd/h/Zg== 1151 | 1152 | esbuild-linux-s390x@0.14.23: 1153 | version "0.14.23" 1154 | resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.14.23.tgz#a526282a696e6d846f4c628f5315475518c0c0f0" 1155 | integrity sha512-GHMDCyfy7+FaNSO8RJ8KCFsnax8fLUsOrj9q5Gi2JmZMY0Zhp75keb5abTFCq2/Oy6KVcT0Dcbyo/bFb4rIFJA== 1156 | 1157 | esbuild-netbsd-64@0.14.23: 1158 | version "0.14.23" 1159 | resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.14.23.tgz#8e456605694719aa1be4be266d6cd569c06dfaf5" 1160 | integrity sha512-ovk2EX+3rrO1M2lowJfgMb/JPN1VwVYrx0QPUyudxkxLYrWeBxDKQvc6ffO+kB4QlDyTfdtAURrVzu3JeNdA2g== 1161 | 1162 | esbuild-openbsd-64@0.14.23: 1163 | version "0.14.23" 1164 | resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.14.23.tgz#f2fc51714b4ddabc86e4eb30ca101dd325db2f7d" 1165 | integrity sha512-uYYNqbVR+i7k8ojP/oIROAHO9lATLN7H2QeXKt2H310Fc8FJj4y3Wce6hx0VgnJ4k1JDrgbbiXM8rbEgQyg8KA== 1166 | 1167 | esbuild-sunos-64@0.14.23: 1168 | version "0.14.23" 1169 | resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.14.23.tgz#a408f33ea20e215909e20173a0fd78b1aaad1f8e" 1170 | integrity sha512-hAzeBeET0+SbScknPzS2LBY6FVDpgE+CsHSpe6CEoR51PApdn2IB0SyJX7vGelXzlyrnorM4CAsRyb9Qev4h9g== 1171 | 1172 | esbuild-windows-32@0.14.23: 1173 | version "0.14.23" 1174 | resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.14.23.tgz#b9005bbff54dac3975ff355d5de2b5e37165d128" 1175 | integrity sha512-Kttmi3JnohdaREbk6o9e25kieJR379TsEWF0l39PQVHXq3FR6sFKtVPgY8wk055o6IB+rllrzLnbqOw/UV60EA== 1176 | 1177 | esbuild-windows-64@0.14.23: 1178 | version "0.14.23" 1179 | resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.14.23.tgz#2b5a99befeaca6aefdad32d738b945730a60a060" 1180 | integrity sha512-JtIT0t8ymkpl6YlmOl6zoSWL5cnCgyLaBdf/SiU/Eg3C13r0NbHZWNT/RDEMKK91Y6t79kTs3vyRcNZbfu5a8g== 1181 | 1182 | esbuild-windows-arm64@0.14.23: 1183 | version "0.14.23" 1184 | resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.14.23.tgz#edc560bbadb097eb45fc235aeacb942cb94a38c0" 1185 | integrity sha512-cTFaQqT2+ik9e4hePvYtRZQ3pqOvKDVNarzql0VFIzhc0tru/ZgdLoXd6epLiKT+SzoSce6V9YJ+nn6RCn6SHw== 1186 | 1187 | esbuild@^0.14.14: 1188 | version "0.14.23" 1189 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.14.23.tgz#95e842cb22bc0c7d82c140adc16788aac91469fe" 1190 | integrity sha512-XjnIcZ9KB6lfonCa+jRguXyRYcldmkyZ99ieDksqW/C8bnyEX299yA4QH2XcgijCgaddEZePPTgvx/2imsq7Ig== 1191 | optionalDependencies: 1192 | esbuild-android-arm64 "0.14.23" 1193 | esbuild-darwin-64 "0.14.23" 1194 | esbuild-darwin-arm64 "0.14.23" 1195 | esbuild-freebsd-64 "0.14.23" 1196 | esbuild-freebsd-arm64 "0.14.23" 1197 | esbuild-linux-32 "0.14.23" 1198 | esbuild-linux-64 "0.14.23" 1199 | esbuild-linux-arm "0.14.23" 1200 | esbuild-linux-arm64 "0.14.23" 1201 | esbuild-linux-mips64le "0.14.23" 1202 | esbuild-linux-ppc64le "0.14.23" 1203 | esbuild-linux-riscv64 "0.14.23" 1204 | esbuild-linux-s390x "0.14.23" 1205 | esbuild-netbsd-64 "0.14.23" 1206 | esbuild-openbsd-64 "0.14.23" 1207 | esbuild-sunos-64 "0.14.23" 1208 | esbuild-windows-32 "0.14.23" 1209 | esbuild-windows-64 "0.14.23" 1210 | esbuild-windows-arm64 "0.14.23" 1211 | 1212 | escalade@^3.1.1: 1213 | version "3.1.1" 1214 | resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" 1215 | integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== 1216 | 1217 | escape-html@^1.0.3: 1218 | version "1.0.3" 1219 | resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" 1220 | integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= 1221 | 1222 | escape-string-regexp@^1.0.5: 1223 | version "1.0.5" 1224 | resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" 1225 | integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= 1226 | 1227 | esm@3.2.25: 1228 | version "3.2.25" 1229 | resolved "https://registry.yarnpkg.com/esm/-/esm-3.2.25.tgz#342c18c29d56157688ba5ce31f8431fbb795cc10" 1230 | integrity sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA== 1231 | 1232 | estree-walker@^2.0.1: 1233 | version "2.0.2" 1234 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 1235 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 1236 | 1237 | eventemitter3@^3.1.0: 1238 | version "3.1.2" 1239 | resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" 1240 | integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== 1241 | 1242 | fill-range@^7.0.1: 1243 | version "7.0.1" 1244 | resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" 1245 | integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 1246 | dependencies: 1247 | to-regex-range "^5.0.1" 1248 | 1249 | find-yarn-workspace-root@^2.0.0: 1250 | version "2.0.0" 1251 | resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" 1252 | integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== 1253 | dependencies: 1254 | micromatch "^4.0.2" 1255 | 1256 | fs-extra@^7.0.1: 1257 | version "7.0.1" 1258 | resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" 1259 | integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== 1260 | dependencies: 1261 | graceful-fs "^4.1.2" 1262 | jsonfile "^4.0.0" 1263 | universalify "^0.1.0" 1264 | 1265 | fs.realpath@^1.0.0: 1266 | version "1.0.0" 1267 | resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" 1268 | integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= 1269 | 1270 | fsevents@~2.3.1, fsevents@~2.3.2: 1271 | version "2.3.2" 1272 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 1273 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 1274 | 1275 | function-bind@^1.1.1: 1276 | version "1.1.1" 1277 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 1278 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 1279 | 1280 | gensync@^1.0.0-beta.2: 1281 | version "1.0.0-beta.2" 1282 | resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" 1283 | integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== 1284 | 1285 | glob-parent@~5.1.0: 1286 | version "5.1.1" 1287 | resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" 1288 | integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== 1289 | dependencies: 1290 | is-glob "^4.0.1" 1291 | 1292 | glob@^7.1.3: 1293 | version "7.1.6" 1294 | resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" 1295 | integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== 1296 | dependencies: 1297 | fs.realpath "^1.0.0" 1298 | inflight "^1.0.4" 1299 | inherits "2" 1300 | minimatch "^3.0.4" 1301 | once "^1.3.0" 1302 | path-is-absolute "^1.0.0" 1303 | 1304 | globals@^11.1.0: 1305 | version "11.12.0" 1306 | resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" 1307 | integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== 1308 | 1309 | graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6: 1310 | version "4.2.4" 1311 | resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" 1312 | integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== 1313 | 1314 | graphiql@1.4.2: 1315 | version "1.4.2" 1316 | resolved "https://registry.yarnpkg.com/graphiql/-/graphiql-1.4.2.tgz#a1dc1a4d8d35f60c90d6d8a9eb62a99756e9fd9b" 1317 | integrity sha512-TQDuuU/ZqTWV1yQDpVEiKskg0IYA+Wck37DYrrFzLlpgZWRbWiyab1PyHKiRep7J540CgScBg6C/gGCymKyO3g== 1318 | dependencies: 1319 | "@graphiql/toolkit" "^0.2.0" 1320 | codemirror "^5.54.0" 1321 | codemirror-graphql "^1.0.0" 1322 | copy-to-clipboard "^3.2.0" 1323 | dset "^3.1.0" 1324 | entities "^2.0.0" 1325 | graphql-language-service "^3.1.2" 1326 | markdown-it "^10.0.0" 1327 | 1328 | graphql-helix@1.10.3: 1329 | version "1.10.3" 1330 | resolved "https://registry.yarnpkg.com/graphql-helix/-/graphql-helix-1.10.3.tgz#b9fd383fd1b56ec28b9364d871f0aed5a02d2717" 1331 | integrity sha512-DBWId8YgIGJQX8isjDoXsEB7qokXtkKRRKvz/f20yvrqnqemw4TQzFTEbtNthFJR8Su6LQmknUUV3eRuPJULTQ== 1332 | 1333 | graphql-language-service-interface@^2.8.2: 1334 | version "2.8.2" 1335 | resolved "https://registry.yarnpkg.com/graphql-language-service-interface/-/graphql-language-service-interface-2.8.2.tgz#b3bb2aef7eaf0dff0b4ea419fa412c5f66fa268b" 1336 | integrity sha512-otbOQmhgkAJU1QJgQkMztNku6SbJLu/uodoFOYOOtJsizTjrMs93vkYaHCcYnLA3oi1Goj27XcHjMnRCYQOZXQ== 1337 | dependencies: 1338 | graphql-language-service-parser "^1.9.0" 1339 | graphql-language-service-types "^1.8.0" 1340 | graphql-language-service-utils "^2.5.1" 1341 | vscode-languageserver-types "^3.15.1" 1342 | 1343 | graphql-language-service-parser@^1.9.0: 1344 | version "1.9.0" 1345 | resolved "https://registry.yarnpkg.com/graphql-language-service-parser/-/graphql-language-service-parser-1.9.0.tgz#79af21294119a0a7e81b6b994a1af36833bab724" 1346 | integrity sha512-B5xPZLbBmIp0kHvpY1Z35I5DtPoDK9wGxQVRDIzcBaiIvAmlTrDvjo3bu7vKREdjFbYKvWNgrEWENuprMbF17Q== 1347 | dependencies: 1348 | graphql-language-service-types "^1.8.0" 1349 | 1350 | graphql-language-service-types@^1.8.0: 1351 | version "1.8.0" 1352 | resolved "https://registry.yarnpkg.com/graphql-language-service-types/-/graphql-language-service-types-1.8.0.tgz#b90fd1bc5ec7f394ae45d749305acdc9d9096704" 1353 | integrity sha512-dEn3vZoQmEIB5jgiIPcKN2a9QYvmOp0kxNirEI0pSVugNvGEgZzgiUQQLyJ4wDoUfp6M1xQDLVaFf8zbATxYzg== 1354 | 1355 | graphql-language-service-utils@^2.5.1: 1356 | version "2.5.1" 1357 | resolved "https://registry.yarnpkg.com/graphql-language-service-utils/-/graphql-language-service-utils-2.5.1.tgz#832ad4b0a9da03fdded756932c27e057ccf71302" 1358 | integrity sha512-Lzz723cYrYlVN4WVzIyFGg3ogoe+QYAIBfdtDboiIILoy0FTmqbyC2TOErqbmWKqO4NK9xDA95cSRFbWiHYj0g== 1359 | dependencies: 1360 | graphql-language-service-types "^1.8.0" 1361 | nullthrows "^1.0.0" 1362 | 1363 | graphql-language-service@^3.1.2: 1364 | version "3.1.2" 1365 | resolved "https://registry.yarnpkg.com/graphql-language-service/-/graphql-language-service-3.1.2.tgz#6f50d5d824ea09c402cb02902b10e54b9da899d5" 1366 | integrity sha512-OiOH8mVE+uotrl3jGA2Pgt9k7rrI8lgw/8p+Cf6nwyEHbmIZj37vX9KoOWgpdFhuQlw824nNxWHSbz6k90xjWQ== 1367 | dependencies: 1368 | graphql-language-service-interface "^2.8.2" 1369 | graphql-language-service-types "^1.8.0" 1370 | 1371 | graphql-ws@5.5.5: 1372 | version "5.5.5" 1373 | resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-5.5.5.tgz#f375486d3f196e2a2527b503644693ae3a8670a9" 1374 | integrity sha512-hvyIS71vs4Tu/yUYHPvGXsTgo0t3arU820+lT5VjZS2go0ewp2LqyCgxEN56CzOG7Iys52eRhHBiD1gGRdiQtw== 1375 | 1376 | graphql-ws@^4.3.2: 1377 | version "4.8.0" 1378 | resolved "https://registry.yarnpkg.com/graphql-ws/-/graphql-ws-4.8.0.tgz#4b0a82fa1ad00a3baa1cae980032dcaaad08b339" 1379 | integrity sha512-0jk0c7GPfAlQfA7xZ4CKlLvFF4JBPYbczIHIXl/tk/fXoCLzmrmwQ/HNwOoOHfFMS3usbD1nt77k67pgXx2BYQ== 1380 | 1381 | graphql@15.4.0-experimental-stream-defer.1: 1382 | version "15.4.0-experimental-stream-defer.1" 1383 | resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.4.0-experimental-stream-defer.1.tgz#46ae3fd2b532284575e7ddcf6c4f08aa7fe53fa3" 1384 | integrity sha512-zlGgY7aLlIofjO0CfTpCYK/tMccnj+5jvjnkTnW5qOxYhgEltuCvpMNYOJ67gz6L1flTIigt5BVEM8JExgtW3w== 1385 | 1386 | has-cors@1.1.0: 1387 | version "1.1.0" 1388 | resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" 1389 | integrity sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk= 1390 | 1391 | has-flag@^3.0.0: 1392 | version "3.0.0" 1393 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" 1394 | integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= 1395 | 1396 | has-flag@^4.0.0: 1397 | version "4.0.0" 1398 | resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" 1399 | integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== 1400 | 1401 | has@^1.0.3: 1402 | version "1.0.3" 1403 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 1404 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 1405 | dependencies: 1406 | function-bind "^1.1.1" 1407 | 1408 | indent-string@^4.0.0: 1409 | version "4.0.0" 1410 | resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" 1411 | integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== 1412 | 1413 | inflight@^1.0.4: 1414 | version "1.0.6" 1415 | resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" 1416 | integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= 1417 | dependencies: 1418 | once "^1.3.0" 1419 | wrappy "1" 1420 | 1421 | inherits@2, inherits@^2.0.4: 1422 | version "2.0.4" 1423 | resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" 1424 | integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== 1425 | 1426 | ipaddr.js@^2.0.0: 1427 | version "2.0.0" 1428 | resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.0.tgz#77ccccc8063ae71ab65c55f21b090698e763fc6e" 1429 | integrity sha512-S54H9mIj0rbxRIyrDMEuuER86LdlgUg9FSeZ8duQb6CUG2iRrA36MYVQBSprTF/ZeAwvyQ5mDGuNvIPM0BIl3w== 1430 | 1431 | is-binary-path@~2.1.0: 1432 | version "2.1.0" 1433 | resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" 1434 | integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== 1435 | dependencies: 1436 | binary-extensions "^2.0.0" 1437 | 1438 | is-ci@^2.0.0: 1439 | version "2.0.0" 1440 | resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" 1441 | integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== 1442 | dependencies: 1443 | ci-info "^2.0.0" 1444 | 1445 | is-core-module@^2.8.1: 1446 | version "2.8.1" 1447 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" 1448 | integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== 1449 | dependencies: 1450 | has "^1.0.3" 1451 | 1452 | is-docker@^2.0.0: 1453 | version "2.1.1" 1454 | resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.1.1.tgz#4125a88e44e450d384e09047ede71adc2d144156" 1455 | integrity sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw== 1456 | 1457 | is-extglob@^2.1.1: 1458 | version "2.1.1" 1459 | resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" 1460 | integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= 1461 | 1462 | is-glob@^4.0.1, is-glob@~4.0.1: 1463 | version "4.0.1" 1464 | resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" 1465 | integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== 1466 | dependencies: 1467 | is-extglob "^2.1.1" 1468 | 1469 | is-number@^7.0.0: 1470 | version "7.0.0" 1471 | resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" 1472 | integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== 1473 | 1474 | is-wsl@^2.1.1: 1475 | version "2.2.0" 1476 | resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" 1477 | integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== 1478 | dependencies: 1479 | is-docker "^2.0.0" 1480 | 1481 | isexe@^2.0.0: 1482 | version "2.0.0" 1483 | resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" 1484 | integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= 1485 | 1486 | iterall@^1.2.1: 1487 | version "1.3.0" 1488 | resolved "https://registry.yarnpkg.com/iterall/-/iterall-1.3.0.tgz#afcb08492e2915cbd8a0884eb93a8c94d0d72fea" 1489 | integrity sha512-QZ9qOMdF+QLHxy1QIpUHUU1D5pS2CG2P69LF6L6CPjPYA/XMOmKV3PZpawHoAjHNyB0swdVTRxdYT4tbBbxqwg== 1490 | 1491 | jest-diff@^27.0.0: 1492 | version "27.0.6" 1493 | resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.0.6.tgz#4a7a19ee6f04ad70e0e3388f35829394a44c7b5e" 1494 | integrity sha512-Z1mqgkTCSYaFgwTlP/NUiRzdqgxmmhzHY1Tq17zL94morOHfHu3K4bgSgl+CR4GLhpV8VxkuOYuIWnQ9LnFqmg== 1495 | dependencies: 1496 | chalk "^4.0.0" 1497 | diff-sequences "^27.0.6" 1498 | jest-get-type "^27.0.6" 1499 | pretty-format "^27.0.6" 1500 | 1501 | jest-get-type@^27.0.6: 1502 | version "27.0.6" 1503 | resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.0.6.tgz#0eb5c7f755854279ce9b68a9f1a4122f69047cfe" 1504 | integrity sha512-XTkK5exIeUbbveehcSR8w0bhH+c0yloW/Wpl+9vZrjzztCPWrxhHwkIFpZzCt71oRBsgxmuUfxEqOYoZI2macg== 1505 | 1506 | "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: 1507 | version "4.0.0" 1508 | resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" 1509 | integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== 1510 | 1511 | jsesc@^2.5.1: 1512 | version "2.5.2" 1513 | resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" 1514 | integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== 1515 | 1516 | json5@^2.1.2: 1517 | version "2.1.3" 1518 | resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" 1519 | integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== 1520 | dependencies: 1521 | minimist "^1.2.5" 1522 | 1523 | jsonfile@^4.0.0: 1524 | version "4.0.0" 1525 | resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" 1526 | integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= 1527 | optionalDependencies: 1528 | graceful-fs "^4.1.6" 1529 | 1530 | klaw-sync@^6.0.0: 1531 | version "6.0.0" 1532 | resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" 1533 | integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== 1534 | dependencies: 1535 | graceful-fs "^4.1.11" 1536 | 1537 | linkify-it@^2.0.0: 1538 | version "2.2.0" 1539 | resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-2.2.0.tgz#e3b54697e78bf915c70a38acd78fd09e0058b1cf" 1540 | integrity sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw== 1541 | dependencies: 1542 | uc.micro "^1.0.1" 1543 | 1544 | lodash@^4.17.15: 1545 | version "4.17.20" 1546 | resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52" 1547 | integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA== 1548 | 1549 | loose-envify@^1.1.0: 1550 | version "1.4.0" 1551 | resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" 1552 | integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== 1553 | dependencies: 1554 | js-tokens "^3.0.0 || ^4.0.0" 1555 | 1556 | lz-string@^1.4.4: 1557 | version "1.4.4" 1558 | resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" 1559 | integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= 1560 | 1561 | make-error@^1.1.1: 1562 | version "1.3.6" 1563 | resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" 1564 | integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== 1565 | 1566 | markdown-it@^10.0.0: 1567 | version "10.0.0" 1568 | resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-10.0.0.tgz#abfc64f141b1722d663402044e43927f1f50a8dc" 1569 | integrity sha512-YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg== 1570 | dependencies: 1571 | argparse "^1.0.7" 1572 | entities "~2.0.0" 1573 | linkify-it "^2.0.0" 1574 | mdurl "^1.0.1" 1575 | uc.micro "^1.0.5" 1576 | 1577 | mdurl@^1.0.1: 1578 | version "1.0.1" 1579 | resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" 1580 | integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= 1581 | 1582 | meros@1.1.4, meros@^1.1.4: 1583 | version "1.1.4" 1584 | resolved "https://registry.yarnpkg.com/meros/-/meros-1.1.4.tgz#c17994d3133db8b23807f62bec7f0cb276cfd948" 1585 | integrity sha512-E9ZXfK9iQfG9s73ars9qvvvbSIkJZF5yOo9j4tcwM5tN8mUKfj/EKN5PzOr3ZH0y5wL7dLAHw3RVEfpQV9Q7VQ== 1586 | 1587 | micromatch@^4.0.2: 1588 | version "4.0.2" 1589 | resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.2.tgz#4fcb0999bf9fbc2fcbdd212f6d629b9a56c39259" 1590 | integrity sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q== 1591 | dependencies: 1592 | braces "^3.0.1" 1593 | picomatch "^2.0.5" 1594 | 1595 | milliparsec@2.2.0: 1596 | version "2.2.0" 1597 | resolved "https://registry.yarnpkg.com/milliparsec/-/milliparsec-2.2.0.tgz#795b5dcb031c315ef01f1e088383c3e5a40c175b" 1598 | integrity sha512-XSFb2bjkmLSd76HEOvZSe+Ei6eWNeDpVU+f8w/XniI+xJlTacuVWCjB61kZNMbjJLcRPHpupfe4PBnDpM19xcA== 1599 | 1600 | mime-db@1.48.0, mime-db@^1.44.0: 1601 | version "1.48.0" 1602 | resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.48.0.tgz#e35b31045dd7eada3aaad537ed88a33afbef2d1d" 1603 | integrity sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ== 1604 | 1605 | mime-types@~2.1.24: 1606 | version "2.1.31" 1607 | resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.31.tgz#a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b" 1608 | integrity sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg== 1609 | dependencies: 1610 | mime-db "1.48.0" 1611 | 1612 | min-indent@^1.0.0: 1613 | version "1.0.1" 1614 | resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" 1615 | integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== 1616 | 1617 | minimatch@^3.0.4: 1618 | version "3.0.4" 1619 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" 1620 | integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== 1621 | dependencies: 1622 | brace-expansion "^1.1.7" 1623 | 1624 | minimist@^1.2.0, minimist@^1.2.5: 1625 | version "1.2.5" 1626 | resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" 1627 | integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== 1628 | 1629 | mkdirp@^1.0.4: 1630 | version "1.0.4" 1631 | resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" 1632 | integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== 1633 | 1634 | ms@2.1.2: 1635 | version "2.1.2" 1636 | resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" 1637 | integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== 1638 | 1639 | nanoid@^3.3.1: 1640 | version "3.3.1" 1641 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" 1642 | integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== 1643 | 1644 | negotiator@0.6.2, negotiator@^0.6.2: 1645 | version "0.6.2" 1646 | resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" 1647 | integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== 1648 | 1649 | nice-try@^1.0.4: 1650 | version "1.0.5" 1651 | resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" 1652 | integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== 1653 | 1654 | node-releases@^1.1.71: 1655 | version "1.1.72" 1656 | resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.72.tgz#14802ab6b1039a79a0c7d662b610a5bbd76eacbe" 1657 | integrity sha512-LLUo+PpH3dU6XizX3iVoubUNheF/owjXCZZ5yACDxNnPtgFuludV1ZL3ayK1kVep42Rmm0+R9/Y60NQbZ2bifw== 1658 | 1659 | normalize-path@^3.0.0, normalize-path@~3.0.0: 1660 | version "3.0.0" 1661 | resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" 1662 | integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== 1663 | 1664 | nullthrows@^1.0.0: 1665 | version "1.1.1" 1666 | resolved "https://registry.yarnpkg.com/nullthrows/-/nullthrows-1.1.1.tgz#7818258843856ae971eae4208ad7d7eb19a431b1" 1667 | integrity sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw== 1668 | 1669 | object-assign@^4, object-assign@^4.1.1: 1670 | version "4.1.1" 1671 | resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" 1672 | integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= 1673 | 1674 | once@^1.3.0: 1675 | version "1.4.0" 1676 | resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" 1677 | integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= 1678 | dependencies: 1679 | wrappy "1" 1680 | 1681 | open@^7.4.2: 1682 | version "7.4.2" 1683 | resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" 1684 | integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== 1685 | dependencies: 1686 | is-docker "^2.0.0" 1687 | is-wsl "^2.1.1" 1688 | 1689 | os-tmpdir@~1.0.2: 1690 | version "1.0.2" 1691 | resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" 1692 | integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= 1693 | 1694 | parseqs@0.0.6: 1695 | version "0.0.6" 1696 | resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.6.tgz#8e4bb5a19d1cdc844a08ac974d34e273afa670d5" 1697 | integrity sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w== 1698 | 1699 | parseuri@0.0.6: 1700 | version "0.0.6" 1701 | resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.6.tgz#e1496e829e3ac2ff47f39a4dd044b32823c4a25a" 1702 | integrity sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow== 1703 | 1704 | patch-package@6.4.7: 1705 | version "6.4.7" 1706 | resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.4.7.tgz#2282d53c397909a0d9ef92dae3fdeb558382b148" 1707 | integrity sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ== 1708 | dependencies: 1709 | "@yarnpkg/lockfile" "^1.1.0" 1710 | chalk "^2.4.2" 1711 | cross-spawn "^6.0.5" 1712 | find-yarn-workspace-root "^2.0.0" 1713 | fs-extra "^7.0.1" 1714 | is-ci "^2.0.0" 1715 | klaw-sync "^6.0.0" 1716 | minimist "^1.2.0" 1717 | open "^7.4.2" 1718 | rimraf "^2.6.3" 1719 | semver "^5.6.0" 1720 | slash "^2.0.0" 1721 | tmp "^0.0.33" 1722 | 1723 | path-is-absolute@^1.0.0: 1724 | version "1.0.1" 1725 | resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" 1726 | integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= 1727 | 1728 | path-key@^2.0.1: 1729 | version "2.0.1" 1730 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" 1731 | integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= 1732 | 1733 | path-key@^3.1.0: 1734 | version "3.1.1" 1735 | resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" 1736 | integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== 1737 | 1738 | path-parse@^1.0.7: 1739 | version "1.0.7" 1740 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 1741 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 1742 | 1743 | picocolors@^1.0.0: 1744 | version "1.0.0" 1745 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 1746 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 1747 | 1748 | picomatch@^2.0.4, picomatch@^2.0.5, picomatch@^2.2.1, picomatch@^2.2.2: 1749 | version "2.3.0" 1750 | resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" 1751 | integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== 1752 | 1753 | postcss@^8.4.6: 1754 | version "8.4.7" 1755 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.7.tgz#f99862069ec4541de386bf57f5660a6c7a0875a8" 1756 | integrity sha512-L9Ye3r6hkkCeOETQX6iOaWZgjp3LL6Lpqm6EtgbKrgqGGteRMNb9vzBfRL96YOSu8o7x3MfIH9Mo5cPJFGrW6A== 1757 | dependencies: 1758 | nanoid "^3.3.1" 1759 | picocolors "^1.0.0" 1760 | source-map-js "^1.0.2" 1761 | 1762 | prettier@2.5.1: 1763 | version "2.5.1" 1764 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" 1765 | integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== 1766 | 1767 | pretty-format@^27.0.0, pretty-format@^27.0.2, pretty-format@^27.0.6: 1768 | version "27.0.6" 1769 | resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.0.6.tgz#ab770c47b2c6f893a21aefc57b75da63ef49a11f" 1770 | integrity sha512-8tGD7gBIENgzqA+UBzObyWqQ5B778VIFZA/S66cclyd5YkFLYs2Js7gxDKf0MXtTc9zcS7t1xhdfcElJ3YIvkQ== 1771 | dependencies: 1772 | "@jest/types" "^27.0.6" 1773 | ansi-regex "^5.0.0" 1774 | ansi-styles "^5.0.0" 1775 | react-is "^17.0.1" 1776 | 1777 | range-parser@^1.2.1: 1778 | version "1.2.1" 1779 | resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" 1780 | integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== 1781 | 1782 | react-dom@17.0.2: 1783 | version "17.0.2" 1784 | resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-17.0.2.tgz#ecffb6845e3ad8dbfcdc498f0d0a939736502c23" 1785 | integrity sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA== 1786 | dependencies: 1787 | loose-envify "^1.1.0" 1788 | object-assign "^4.1.1" 1789 | scheduler "^0.20.2" 1790 | 1791 | react-is@^17.0.1: 1792 | version "17.0.1" 1793 | resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.1.tgz#5b3531bd76a645a4c9fb6e693ed36419e3301339" 1794 | integrity sha512-NAnt2iGDXohE5LI7uBnLnqvLQMtzhkiAOLXTmv+qnF9Ky7xAPcX8Up/xWIhxvLVGJvuLiNc4xQLtuqDRzb4fSA== 1795 | 1796 | react-refresh@^0.10.0: 1797 | version "0.10.0" 1798 | resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.10.0.tgz#2f536c9660c0b9b1d500684d9e52a65e7404f7e3" 1799 | integrity sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ== 1800 | 1801 | react@17.0.2: 1802 | version "17.0.2" 1803 | resolved "https://registry.yarnpkg.com/react/-/react-17.0.2.tgz#d0b5cc516d29eb3eee383f75b62864cfb6800037" 1804 | integrity sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA== 1805 | dependencies: 1806 | loose-envify "^1.1.0" 1807 | object-assign "^4.1.1" 1808 | 1809 | readdirp@~3.5.0: 1810 | version "3.5.0" 1811 | resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" 1812 | integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== 1813 | dependencies: 1814 | picomatch "^2.2.1" 1815 | 1816 | redent@^3.0.0: 1817 | version "3.0.0" 1818 | resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" 1819 | integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== 1820 | dependencies: 1821 | indent-string "^4.0.0" 1822 | strip-indent "^3.0.0" 1823 | 1824 | regenerator-runtime@^0.13.4: 1825 | version "0.13.7" 1826 | resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" 1827 | integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== 1828 | 1829 | regexparam@^2.0.0: 1830 | version "2.0.0" 1831 | resolved "https://registry.yarnpkg.com/regexparam/-/regexparam-2.0.0.tgz#059476767d5f5f87f735fc7922d133fd1a118c8c" 1832 | integrity sha512-gJKwd2MVPWHAIFLsaYDZfyKzHNS4o7E/v8YmNf44vmeV2e4YfVoDToTOKTvE7ab68cRJ++kLuEXJBaEeJVt5ow== 1833 | 1834 | resolve@^1.0.0, resolve@^1.22.0: 1835 | version "1.22.0" 1836 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" 1837 | integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== 1838 | dependencies: 1839 | is-core-module "^2.8.1" 1840 | path-parse "^1.0.7" 1841 | supports-preserve-symlinks-flag "^1.0.0" 1842 | 1843 | rimraf@^2.6.1, rimraf@^2.6.3: 1844 | version "2.6.3" 1845 | resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" 1846 | integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== 1847 | dependencies: 1848 | glob "^7.1.3" 1849 | 1850 | rollup@^2.59.0: 1851 | version "2.68.0" 1852 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.68.0.tgz#6ccabfd649447f8f21d62bf41662e5caece3bd66" 1853 | integrity sha512-XrMKOYK7oQcTio4wyTz466mucnd8LzkiZLozZ4Rz0zQD+HeX4nUK4B8GrTX/2EvN2/vBF/i2WnaXboPxo0JylA== 1854 | optionalDependencies: 1855 | fsevents "~2.3.2" 1856 | 1857 | safe-buffer@~5.1.1: 1858 | version "5.1.2" 1859 | resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" 1860 | integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== 1861 | 1862 | scheduler@^0.20.2: 1863 | version "0.20.2" 1864 | resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" 1865 | integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== 1866 | dependencies: 1867 | loose-envify "^1.1.0" 1868 | object-assign "^4.1.1" 1869 | 1870 | semver@^5.5.0, semver@^5.6.0: 1871 | version "5.7.1" 1872 | resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" 1873 | integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== 1874 | 1875 | semver@^6.3.0: 1876 | version "6.3.0" 1877 | resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" 1878 | integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== 1879 | 1880 | shebang-command@^1.2.0: 1881 | version "1.2.0" 1882 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" 1883 | integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= 1884 | dependencies: 1885 | shebang-regex "^1.0.0" 1886 | 1887 | shebang-command@^2.0.0: 1888 | version "2.0.0" 1889 | resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" 1890 | integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== 1891 | dependencies: 1892 | shebang-regex "^3.0.0" 1893 | 1894 | shebang-regex@^1.0.0: 1895 | version "1.0.0" 1896 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" 1897 | integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= 1898 | 1899 | shebang-regex@^3.0.0: 1900 | version "3.0.0" 1901 | resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" 1902 | integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== 1903 | 1904 | slash@^2.0.0: 1905 | version "2.0.0" 1906 | resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" 1907 | integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== 1908 | 1909 | socket.io-adapter@~2.3.3: 1910 | version "2.3.3" 1911 | resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz#4d6111e4d42e9f7646e365b4f578269821f13486" 1912 | integrity sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ== 1913 | 1914 | socket.io-client@4.4.0: 1915 | version "4.4.0" 1916 | resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.4.0.tgz#d6568ebd79ac12e2d6b628e7e90e60f1d48d99ff" 1917 | integrity sha512-g7riSEJXi7qCFImPow98oT8X++MSsHz6MMFRXkWNJ6uEROSHOa3kxdrsYWMq85dO+09CFMkcqlpjvbVXQl4z6g== 1918 | dependencies: 1919 | "@socket.io/component-emitter" "~3.0.0" 1920 | backo2 "~1.0.2" 1921 | debug "~4.3.2" 1922 | engine.io-client "~6.1.1" 1923 | parseuri "0.0.6" 1924 | socket.io-parser "~4.1.1" 1925 | 1926 | socket.io-parser@~4.0.4: 1927 | version "4.0.4" 1928 | resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.0.4.tgz#9ea21b0d61508d18196ef04a2c6b9ab630f4c2b0" 1929 | integrity sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g== 1930 | dependencies: 1931 | "@types/component-emitter" "^1.2.10" 1932 | component-emitter "~1.3.0" 1933 | debug "~4.3.1" 1934 | 1935 | socket.io-parser@~4.1.1: 1936 | version "4.1.1" 1937 | resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.1.1.tgz#0ad53d980781cab1eabe320417d8480c0133e62d" 1938 | integrity sha512-USQVLSkDWE5nbcY760ExdKaJxCE65kcsG/8k5FDGZVVxpD1pA7hABYXYkCUvxUuYYh/+uQw0N/fvBzfT8o07KA== 1939 | dependencies: 1940 | "@socket.io/component-emitter" "~3.0.0" 1941 | debug "~4.3.1" 1942 | 1943 | socket.io@4.4.0: 1944 | version "4.4.0" 1945 | resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.4.0.tgz#8140a0db2c22235f88a6dceb867e4d5c9bd70507" 1946 | integrity sha512-bnpJxswR9ov0Bw6ilhCvO38/1WPtE3eA2dtxi2Iq4/sFebiDJQzgKNYA7AuVVdGW09nrESXd90NbZqtDd9dzRQ== 1947 | dependencies: 1948 | accepts "~1.3.4" 1949 | base64id "~2.0.0" 1950 | debug "~4.3.2" 1951 | engine.io "~6.1.0" 1952 | socket.io-adapter "~2.3.3" 1953 | socket.io-parser "~4.0.4" 1954 | 1955 | source-map-js@^1.0.2: 1956 | version "1.0.2" 1957 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 1958 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 1959 | 1960 | source-map-resolve@^0.6.0: 1961 | version "0.6.0" 1962 | resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.6.0.tgz#3d9df87e236b53f16d01e58150fc7711138e5ed2" 1963 | integrity sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w== 1964 | dependencies: 1965 | atob "^2.1.2" 1966 | decode-uri-component "^0.2.0" 1967 | 1968 | source-map-support@^0.5.12, source-map-support@^0.5.17: 1969 | version "0.5.19" 1970 | resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" 1971 | integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== 1972 | dependencies: 1973 | buffer-from "^1.0.0" 1974 | source-map "^0.6.0" 1975 | 1976 | source-map@^0.5.0: 1977 | version "0.5.7" 1978 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" 1979 | integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= 1980 | 1981 | source-map@^0.6.0, source-map@^0.6.1: 1982 | version "0.6.1" 1983 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 1984 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 1985 | 1986 | sprintf-js@~1.0.2: 1987 | version "1.0.3" 1988 | resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" 1989 | integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= 1990 | 1991 | sse-z@0.3.0: 1992 | version "0.3.0" 1993 | resolved "https://registry.yarnpkg.com/sse-z/-/sse-z-0.3.0.tgz#e215db7c303d6c4a4199d80cb63811cc28fa55b9" 1994 | integrity sha512-jfcXynl9oAOS9YJ7iqS2JMUEHOlvrRAD+54CENiWnc4xsuVLQVSgmwf7cwOTcBd/uq3XkQKBGojgvEtVXcJ/8w== 1995 | 1996 | strip-bom@^3.0.0: 1997 | version "3.0.0" 1998 | resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" 1999 | integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= 2000 | 2001 | strip-indent@^3.0.0: 2002 | version "3.0.0" 2003 | resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" 2004 | integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== 2005 | dependencies: 2006 | min-indent "^1.0.0" 2007 | 2008 | strip-json-comments@^2.0.0: 2009 | version "2.0.1" 2010 | resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" 2011 | integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= 2012 | 2013 | subscriptions-transport-ws@^0.9.18: 2014 | version "0.9.18" 2015 | resolved "https://registry.yarnpkg.com/subscriptions-transport-ws/-/subscriptions-transport-ws-0.9.18.tgz#bcf02320c911fbadb054f7f928e51c6041a37b97" 2016 | integrity sha512-tztzcBTNoEbuErsVQpTN2xUNN/efAZXyCyL5m3x4t6SKrEiTL2N8SaKWBFWM4u56pL79ULif3zjyeq+oV+nOaA== 2017 | dependencies: 2018 | backo2 "^1.0.2" 2019 | eventemitter3 "^3.1.0" 2020 | iterall "^1.2.1" 2021 | symbol-observable "^1.0.4" 2022 | ws "^5.2.0" 2023 | 2024 | supports-color@^5.3.0: 2025 | version "5.5.0" 2026 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" 2027 | integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== 2028 | dependencies: 2029 | has-flag "^3.0.0" 2030 | 2031 | supports-color@^7.1.0: 2032 | version "7.2.0" 2033 | resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" 2034 | integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== 2035 | dependencies: 2036 | has-flag "^4.0.0" 2037 | 2038 | supports-preserve-symlinks-flag@^1.0.0: 2039 | version "1.0.0" 2040 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 2041 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 2042 | 2043 | symbol-observable@^1.0.4: 2044 | version "1.2.0" 2045 | resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" 2046 | integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== 2047 | 2048 | tmp@^0.0.33: 2049 | version "0.0.33" 2050 | resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" 2051 | integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== 2052 | dependencies: 2053 | os-tmpdir "~1.0.2" 2054 | 2055 | to-fast-properties@^2.0.0: 2056 | version "2.0.0" 2057 | resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" 2058 | integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= 2059 | 2060 | to-regex-range@^5.0.1: 2061 | version "5.0.1" 2062 | resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" 2063 | integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== 2064 | dependencies: 2065 | is-number "^7.0.0" 2066 | 2067 | toggle-selection@^1.0.6: 2068 | version "1.0.6" 2069 | resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" 2070 | integrity sha1-bkWxJj8gF/oKzH2J14sVuL932jI= 2071 | 2072 | tree-kill@^1.2.2: 2073 | version "1.2.2" 2074 | resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" 2075 | integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== 2076 | 2077 | ts-node-dev@1.1.8: 2078 | version "1.1.8" 2079 | resolved "https://registry.yarnpkg.com/ts-node-dev/-/ts-node-dev-1.1.8.tgz#95520d8ab9d45fffa854d6668e2f8f9286241066" 2080 | integrity sha512-Q/m3vEwzYwLZKmV6/0VlFxcZzVV/xcgOt+Tx/VjaaRHyiBcFlV0541yrT09QjzzCxlDZ34OzKjrFAynlmtflEg== 2081 | dependencies: 2082 | chokidar "^3.5.1" 2083 | dynamic-dedupe "^0.3.0" 2084 | minimist "^1.2.5" 2085 | mkdirp "^1.0.4" 2086 | resolve "^1.0.0" 2087 | rimraf "^2.6.1" 2088 | source-map-support "^0.5.12" 2089 | tree-kill "^1.2.2" 2090 | ts-node "^9.0.0" 2091 | tsconfig "^7.0.0" 2092 | 2093 | ts-node@10.4.0: 2094 | version "10.4.0" 2095 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.4.0.tgz#680f88945885f4e6cf450e7f0d6223dd404895f7" 2096 | integrity sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A== 2097 | dependencies: 2098 | "@cspotcode/source-map-support" "0.7.0" 2099 | "@tsconfig/node10" "^1.0.7" 2100 | "@tsconfig/node12" "^1.0.7" 2101 | "@tsconfig/node14" "^1.0.0" 2102 | "@tsconfig/node16" "^1.0.2" 2103 | acorn "^8.4.1" 2104 | acorn-walk "^8.1.1" 2105 | arg "^4.1.0" 2106 | create-require "^1.1.0" 2107 | diff "^4.0.1" 2108 | make-error "^1.1.1" 2109 | yn "3.1.1" 2110 | 2111 | ts-node@^9.0.0: 2112 | version "9.1.1" 2113 | resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-9.1.1.tgz#51a9a450a3e959401bda5f004a72d54b936d376d" 2114 | integrity sha512-hPlt7ZACERQGf03M253ytLY3dHbGNGrAq9qIHWUY9XHYl1z7wYngSr3OQ5xmui8o2AaxsONxIzjafLUiWBo1Fg== 2115 | dependencies: 2116 | arg "^4.1.0" 2117 | create-require "^1.1.0" 2118 | diff "^4.0.1" 2119 | make-error "^1.1.1" 2120 | source-map-support "^0.5.17" 2121 | yn "3.1.1" 2122 | 2123 | tsconfig@^7.0.0: 2124 | version "7.0.0" 2125 | resolved "https://registry.yarnpkg.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7" 2126 | integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw== 2127 | dependencies: 2128 | "@types/strip-bom" "^3.0.0" 2129 | "@types/strip-json-comments" "0.0.30" 2130 | strip-bom "^3.0.0" 2131 | strip-json-comments "^2.0.0" 2132 | 2133 | tslib@~2.3.0: 2134 | version "2.3.0" 2135 | resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" 2136 | integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== 2137 | 2138 | typescript@4.5.2: 2139 | version "4.5.2" 2140 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.2.tgz#8ac1fba9f52256fdb06fb89e4122fa6a346c2998" 2141 | integrity sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw== 2142 | 2143 | uc.micro@^1.0.1, uc.micro@^1.0.5: 2144 | version "1.0.6" 2145 | resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" 2146 | integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== 2147 | 2148 | universalify@^0.1.0: 2149 | version "0.1.2" 2150 | resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" 2151 | integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== 2152 | 2153 | vary@^1: 2154 | version "1.1.2" 2155 | resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" 2156 | integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= 2157 | 2158 | vite@2.8.6: 2159 | version "2.8.6" 2160 | resolved "https://registry.yarnpkg.com/vite/-/vite-2.8.6.tgz#32d50e23c99ca31b26b8ccdc78b1d72d4d7323d3" 2161 | integrity sha512-e4H0QpludOVKkmOsRyqQ7LTcMUDF3mcgyNU4lmi0B5JUbe0ZxeBBl8VoZ8Y6Rfn9eFKYtdXNPcYK97ZwH+K2ug== 2162 | dependencies: 2163 | esbuild "^0.14.14" 2164 | postcss "^8.4.6" 2165 | resolve "^1.22.0" 2166 | rollup "^2.59.0" 2167 | optionalDependencies: 2168 | fsevents "~2.3.2" 2169 | 2170 | vscode-languageserver-types@^3.15.1: 2171 | version "3.15.1" 2172 | resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz#17be71d78d2f6236d414f0001ce1ef4d23e6b6de" 2173 | integrity sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ== 2174 | 2175 | which@^1.2.9: 2176 | version "1.3.1" 2177 | resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" 2178 | integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== 2179 | dependencies: 2180 | isexe "^2.0.0" 2181 | 2182 | which@^2.0.1: 2183 | version "2.0.2" 2184 | resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" 2185 | integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== 2186 | dependencies: 2187 | isexe "^2.0.0" 2188 | 2189 | wrappy@1: 2190 | version "1.0.2" 2191 | resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" 2192 | integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= 2193 | 2194 | ws@8.4.0: 2195 | version "8.4.0" 2196 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.4.0.tgz#f05e982a0a88c604080e8581576e2a063802bed6" 2197 | integrity sha512-IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ== 2198 | 2199 | ws@^5.2.0: 2200 | version "5.2.2" 2201 | resolved "https://registry.yarnpkg.com/ws/-/ws-5.2.2.tgz#dffef14866b8e8dc9133582514d1befaf96e980f" 2202 | integrity sha512-jaHFD6PFv6UgoIVda6qZllptQsMlDEJkTQcybzzXDYM1XO9Y8em691FGMPmM46WGyLU4z9KMgQN+qrux/nhlHA== 2203 | dependencies: 2204 | async-limiter "~1.0.0" 2205 | 2206 | ws@~8.2.3: 2207 | version "8.2.3" 2208 | resolved "https://registry.yarnpkg.com/ws/-/ws-8.2.3.tgz#63a56456db1b04367d0b721a0b80cae6d8becbba" 2209 | integrity sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA== 2210 | 2211 | xmlhttprequest-ssl@~2.0.0: 2212 | version "2.0.0" 2213 | resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" 2214 | integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== 2215 | 2216 | xtend@^4.0.0: 2217 | version "4.0.2" 2218 | resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" 2219 | integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== 2220 | 2221 | yeast@0.1.2: 2222 | version "0.1.2" 2223 | resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" 2224 | integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= 2225 | 2226 | yn@3.1.1: 2227 | version "3.1.1" 2228 | resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" 2229 | integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== 2230 | --------------------------------------------------------------------------------