From ff39cd6d4d013433b04be6d39accd7ac120a8728 Mon Sep 17 00:00:00 2001 From: Willy Douhard Date: Sun, 14 May 2023 18:58:12 +0200 Subject: [PATCH] open source --- .env.example | 1 + .github/CONTRIBUTING.md | 99 + .github/workflows/ci.yaml | 19 + .github/workflows/publish.yaml | 46 + .github/workflows/tests.yaml | 38 + .gitignore | 52 + .husky/pre-commit | 6 + LICENSE | 203 + PRIVACY_POLICY.md | 18 + README.md | 72 + cypress.config.ts | 18 + cypress/e2e/action/.chainlit/config.toml | 17 + cypress/e2e/action/main.py | 13 + cypress/e2e/action/spec.cy.ts | 20 + cypress/e2e/ask_user/.chainlit/config.toml | 17 + cypress/e2e/ask_user/main.py | 10 + cypress/e2e/ask_user/spec.cy.ts | 19 + cypress/e2e/cot/.chainlit/config.toml | 24 + cypress/e2e/cot/main.py | 40 + cypress/e2e/cot/spec.cy.ts | 44 + cypress/e2e/elements/.chainlit/config.toml | 24 + cypress/e2e/elements/cat.jpeg | Bin 0 -> 638682 bytes cypress/e2e/elements/main.py | 13 + cypress/e2e/elements/spec.cy.ts | 34 + .../langchain_factory/.chainlit/config.toml | 24 + cypress/e2e/langchain_factory/main.py | 11 + cypress/e2e/langchain_factory/spec.cy.ts | 27 + .../.chainlit/config.toml | 24 + cypress/e2e/langchain_postprocess/main.py | 16 + cypress/e2e/langchain_postprocess/spec.cy.ts | 20 + .../langchain_rename/.chainlit/config.toml | 23 + cypress/e2e/langchain_rename/main.py | 16 + cypress/e2e/langchain_rename/spec.cy.ts | 20 + .../e2e/langchain_run/.chainlit/config.toml | 24 + cypress/e2e/langchain_run/main.py | 17 + cypress/e2e/langchain_run/spec.cy.ts | 20 + cypress/e2e/openai_sql/.chainlit/config.toml | 17 + cypress/e2e/openai_sql/main.py | 40 + cypress/e2e/openai_sql/spec.cy.ts | 20 + cypress/e2e/upload_file/.chainlit/config.toml | 24 + cypress/e2e/upload_file/main.py | 17 + cypress/e2e/upload_file/spec.cy.ts | 21 + cypress/e2e/user_env/.chainlit/config.toml | 24 + cypress/e2e/user_env/main.py | 9 + cypress/e2e/user_env/spec.cy.ts | 27 + .../e2e/user_session/.chainlit/config.toml | 24 + cypress/e2e/user_session/main.py | 8 + cypress/e2e/user_session/spec.cy.ts | 50 + cypress/fixtures/state_of_the_union.txt | 723 ++ cypress/support/e2e.ts | 22 + cypress/support/testUtils.ts | 5 + cypress/support/utils.ts | 74 + images/quick-start.png | Bin 0 -> 95653 bytes package-lock.json | 3680 ++++++ package.json | 19 + src/README.md | 0 src/chainlit/__init__.py | 419 + src/chainlit/__main__.py | 4 + src/chainlit/cli/__init__.py | 113 + src/chainlit/cli/auth.py | 139 + src/chainlit/cli/deploy.py | 87 + src/chainlit/cli/utils.py | 23 + src/chainlit/client.py | 149 + src/chainlit/config.py | 190 + src/chainlit/frontend/.eslintignore | 2 + src/chainlit/frontend/.eslintrc | 10 + src/chainlit/frontend/.gitignore | 24 + src/chainlit/frontend/.prettierrc | 6 + src/chainlit/frontend/index.html | 22 + src/chainlit/frontend/package-lock.json | 10229 ++++++++++++++++ src/chainlit/frontend/package.json | 59 + src/chainlit/frontend/public/favicon.svg | 25 + src/chainlit/frontend/src/App.css | 11 + src/chainlit/frontend/src/App.tsx | 146 + src/chainlit/frontend/src/api/index.ts | 91 + .../frontend/src/assets/logo_dark.svg | 26 + .../frontend/src/assets/logo_light.svg | 26 + src/chainlit/frontend/src/components/Code.tsx | 54 + .../frontend/src/components/accentButton.tsx | 16 + .../frontend/src/components/badge.tsx | 33 + .../frontend/src/components/button.tsx | 35 + .../src/components/chat/history/button.tsx | 237 + .../src/components/chat/history/cloud.tsx | 57 + .../src/components/chat/history/index.tsx | 21 + .../src/components/chat/history/local.tsx | 16 + .../frontend/src/components/chat/index.tsx | 119 + .../src/components/chat/inputBox/index.tsx | 48 + .../src/components/chat/inputBox/input.tsx | 138 + .../components/chat/inputBox/waterMark.tsx | 26 + .../src/components/chat/message/actionRef.tsx | 51 + .../src/components/chat/message/author.tsx | 54 + .../src/components/chat/message/buttons.tsx | 50 + .../src/components/chat/message/container.tsx | 103 + .../src/components/chat/message/content.tsx | 119 + .../components/chat/message/detailsButton.tsx | 74 + .../components/chat/message/elementRef.tsx | 31 + .../chat/message/feedbackButtons.tsx | 86 + .../src/components/chat/message/message.tsx | 96 + .../src/components/chat/message/messages.tsx | 59 + .../src/components/chat/message/time.tsx | 20 + .../components/chat/message/uploadButton.tsx | 116 + .../src/components/chat/stopButton.tsx | 33 + .../src/components/chat/welcomeScreen.tsx | 56 + .../frontend/src/components/cloudProvider.tsx | 30 + .../dataset/deleteConversationButton.tsx | 108 + .../dataset/filters/AuthorSelect.tsx | 68 + .../dataset/filters/FeedbackSelect.tsx | 36 + .../components/dataset/filters/SearchBar.tsx | 90 + .../src/components/dataset/filters/index.tsx | 16 + .../frontend/src/components/dataset/index.tsx | 21 + .../dataset/openConversationButton.tsx | 20 + .../frontend/src/components/dataset/table.tsx | 260 + .../frontend/src/components/element/image.tsx | 27 + .../src/components/element/inlined/image.tsx | 58 + .../src/components/element/inlined/index.tsx | 36 + .../src/components/element/inlined/text.tsx | 22 + .../src/components/element/sideView.tsx | 90 + .../frontend/src/components/element/text.tsx | 43 + .../frontend/src/components/element/view.tsx | 52 + .../frontend/src/components/errorBoundary.tsx | 39 + .../frontend/src/components/githubButton.tsx | 20 + .../frontend/src/components/greyButton.tsx | 14 + .../frontend/src/components/header.tsx | 114 + .../frontend/src/components/icons/github.tsx | 11 + src/chainlit/frontend/src/components/logo.tsx | 15 + .../frontend/src/components/newChatButton.tsx | 75 + .../src/components/playground/index.tsx | 177 + .../components/playground/modelSettings.tsx | 147 + .../frontend/src/components/slider.tsx | 61 + .../frontend/src/components/socket.tsx | 128 + .../frontend/src/components/userAvatar.tsx | 117 + src/chainlit/frontend/src/helpers/apollo.ts | 13 + src/chainlit/frontend/src/helpers/color.ts | 59 + src/chainlit/frontend/src/hooks/auth.ts | 19 + src/chainlit/frontend/src/hooks/clearChat.ts | 20 + .../frontend/src/hooks/localChatHistory.ts | 41 + src/chainlit/frontend/src/index.css | 12 + src/chainlit/frontend/src/main.tsx | 24 + .../frontend/src/pages/AuthCallback.tsx | 20 + .../frontend/src/pages/Conversation.tsx | 82 + src/chainlit/frontend/src/pages/Dataset.tsx | 13 + src/chainlit/frontend/src/pages/Element.tsx | 10 + src/chainlit/frontend/src/pages/Env.tsx | 108 + src/chainlit/frontend/src/pages/Home.tsx | 10 + src/chainlit/frontend/src/pages/Login.tsx | 20 + src/chainlit/frontend/src/pages/Page.tsx | 61 + src/chainlit/frontend/src/state/action.ts | 14 + src/chainlit/frontend/src/state/chat.ts | 98 + src/chainlit/frontend/src/state/dataset.ts | 12 + src/chainlit/frontend/src/state/element.ts | 34 + src/chainlit/frontend/src/state/playground.ts | 18 + src/chainlit/frontend/src/state/project.ts | 19 + src/chainlit/frontend/src/state/theme.ts | 16 + src/chainlit/frontend/src/state/user.ts | 20 + src/chainlit/frontend/src/theme.ts | 136 + src/chainlit/frontend/src/themeButton.tsx | 22 + src/chainlit/frontend/src/vite-env.d.ts | 2 + src/chainlit/frontend/tsconfig.json | 22 + src/chainlit/frontend/tsconfig.node.json | 9 + src/chainlit/frontend/vite.config.ts | 8 + src/chainlit/hello.py | 12 + src/chainlit/lc/__init__.py | 0 src/chainlit/lc/chainlit_handler.py | 267 + src/chainlit/lc/monkey.py | 28 + src/chainlit/lc/new_monkey.py | 167 + src/chainlit/lc/old_monkey.py | 119 + src/chainlit/lc/utils.py | 39 + src/chainlit/logger.py | 12 + src/chainlit/markdown.py | 40 + src/chainlit/sdk.py | 266 + src/chainlit/server.py | 320 + src/chainlit/session.py | 25 + src/chainlit/telemetry.py | 71 + src/chainlit/types.py | 56 + src/chainlit/user_session.py | 44 + src/chainlit/version.py | 7 + src/chainlit/watch.py | 54 + src/ci-requirements.txt | 1 + src/pyproject.toml | 43 + tsconfig.json | 8 + 180 files changed, 23858 insertions(+) create mode 100644 .env.example create mode 100644 .github/CONTRIBUTING.md create mode 100644 .github/workflows/ci.yaml create mode 100644 .github/workflows/publish.yaml create mode 100644 .github/workflows/tests.yaml create mode 100644 .gitignore create mode 100755 .husky/pre-commit create mode 100644 LICENSE create mode 100644 PRIVACY_POLICY.md create mode 100644 README.md create mode 100644 cypress.config.ts create mode 100644 cypress/e2e/action/.chainlit/config.toml create mode 100644 cypress/e2e/action/main.py create mode 100644 cypress/e2e/action/spec.cy.ts create mode 100644 cypress/e2e/ask_user/.chainlit/config.toml create mode 100644 cypress/e2e/ask_user/main.py create mode 100644 cypress/e2e/ask_user/spec.cy.ts create mode 100644 cypress/e2e/cot/.chainlit/config.toml create mode 100644 cypress/e2e/cot/main.py create mode 100644 cypress/e2e/cot/spec.cy.ts create mode 100644 cypress/e2e/elements/.chainlit/config.toml create mode 100644 cypress/e2e/elements/cat.jpeg create mode 100644 cypress/e2e/elements/main.py create mode 100644 cypress/e2e/elements/spec.cy.ts create mode 100644 cypress/e2e/langchain_factory/.chainlit/config.toml create mode 100644 cypress/e2e/langchain_factory/main.py create mode 100644 cypress/e2e/langchain_factory/spec.cy.ts create mode 100644 cypress/e2e/langchain_postprocess/.chainlit/config.toml create mode 100644 cypress/e2e/langchain_postprocess/main.py create mode 100644 cypress/e2e/langchain_postprocess/spec.cy.ts create mode 100644 cypress/e2e/langchain_rename/.chainlit/config.toml create mode 100644 cypress/e2e/langchain_rename/main.py create mode 100644 cypress/e2e/langchain_rename/spec.cy.ts create mode 100644 cypress/e2e/langchain_run/.chainlit/config.toml create mode 100644 cypress/e2e/langchain_run/main.py create mode 100644 cypress/e2e/langchain_run/spec.cy.ts create mode 100644 cypress/e2e/openai_sql/.chainlit/config.toml create mode 100644 cypress/e2e/openai_sql/main.py create mode 100644 cypress/e2e/openai_sql/spec.cy.ts create mode 100644 cypress/e2e/upload_file/.chainlit/config.toml create mode 100644 cypress/e2e/upload_file/main.py create mode 100644 cypress/e2e/upload_file/spec.cy.ts create mode 100644 cypress/e2e/user_env/.chainlit/config.toml create mode 100644 cypress/e2e/user_env/main.py create mode 100644 cypress/e2e/user_env/spec.cy.ts create mode 100644 cypress/e2e/user_session/.chainlit/config.toml create mode 100644 cypress/e2e/user_session/main.py create mode 100644 cypress/e2e/user_session/spec.cy.ts create mode 100644 cypress/fixtures/state_of_the_union.txt create mode 100644 cypress/support/e2e.ts create mode 100644 cypress/support/testUtils.ts create mode 100644 cypress/support/utils.ts create mode 100644 images/quick-start.png create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 src/README.md create mode 100644 src/chainlit/__init__.py create mode 100644 src/chainlit/__main__.py create mode 100644 src/chainlit/cli/__init__.py create mode 100644 src/chainlit/cli/auth.py create mode 100644 src/chainlit/cli/deploy.py create mode 100644 src/chainlit/cli/utils.py create mode 100644 src/chainlit/client.py create mode 100644 src/chainlit/config.py create mode 100644 src/chainlit/frontend/.eslintignore create mode 100644 src/chainlit/frontend/.eslintrc create mode 100644 src/chainlit/frontend/.gitignore create mode 100644 src/chainlit/frontend/.prettierrc create mode 100644 src/chainlit/frontend/index.html create mode 100644 src/chainlit/frontend/package-lock.json create mode 100644 src/chainlit/frontend/package.json create mode 100644 src/chainlit/frontend/public/favicon.svg create mode 100644 src/chainlit/frontend/src/App.css create mode 100644 src/chainlit/frontend/src/App.tsx create mode 100644 src/chainlit/frontend/src/api/index.ts create mode 100644 src/chainlit/frontend/src/assets/logo_dark.svg create mode 100644 src/chainlit/frontend/src/assets/logo_light.svg create mode 100644 src/chainlit/frontend/src/components/Code.tsx create mode 100644 src/chainlit/frontend/src/components/accentButton.tsx create mode 100644 src/chainlit/frontend/src/components/badge.tsx create mode 100644 src/chainlit/frontend/src/components/button.tsx create mode 100644 src/chainlit/frontend/src/components/chat/history/button.tsx create mode 100644 src/chainlit/frontend/src/components/chat/history/cloud.tsx create mode 100644 src/chainlit/frontend/src/components/chat/history/index.tsx create mode 100644 src/chainlit/frontend/src/components/chat/history/local.tsx create mode 100644 src/chainlit/frontend/src/components/chat/index.tsx create mode 100644 src/chainlit/frontend/src/components/chat/inputBox/index.tsx create mode 100644 src/chainlit/frontend/src/components/chat/inputBox/input.tsx create mode 100644 src/chainlit/frontend/src/components/chat/inputBox/waterMark.tsx create mode 100644 src/chainlit/frontend/src/components/chat/message/actionRef.tsx create mode 100644 src/chainlit/frontend/src/components/chat/message/author.tsx create mode 100644 src/chainlit/frontend/src/components/chat/message/buttons.tsx create mode 100644 src/chainlit/frontend/src/components/chat/message/container.tsx create mode 100644 src/chainlit/frontend/src/components/chat/message/content.tsx create mode 100644 src/chainlit/frontend/src/components/chat/message/detailsButton.tsx create mode 100644 src/chainlit/frontend/src/components/chat/message/elementRef.tsx create mode 100644 src/chainlit/frontend/src/components/chat/message/feedbackButtons.tsx create mode 100644 src/chainlit/frontend/src/components/chat/message/message.tsx create mode 100644 src/chainlit/frontend/src/components/chat/message/messages.tsx create mode 100644 src/chainlit/frontend/src/components/chat/message/time.tsx create mode 100644 src/chainlit/frontend/src/components/chat/message/uploadButton.tsx create mode 100644 src/chainlit/frontend/src/components/chat/stopButton.tsx create mode 100644 src/chainlit/frontend/src/components/chat/welcomeScreen.tsx create mode 100644 src/chainlit/frontend/src/components/cloudProvider.tsx create mode 100644 src/chainlit/frontend/src/components/dataset/deleteConversationButton.tsx create mode 100644 src/chainlit/frontend/src/components/dataset/filters/AuthorSelect.tsx create mode 100644 src/chainlit/frontend/src/components/dataset/filters/FeedbackSelect.tsx create mode 100644 src/chainlit/frontend/src/components/dataset/filters/SearchBar.tsx create mode 100644 src/chainlit/frontend/src/components/dataset/filters/index.tsx create mode 100644 src/chainlit/frontend/src/components/dataset/index.tsx create mode 100644 src/chainlit/frontend/src/components/dataset/openConversationButton.tsx create mode 100644 src/chainlit/frontend/src/components/dataset/table.tsx create mode 100644 src/chainlit/frontend/src/components/element/image.tsx create mode 100644 src/chainlit/frontend/src/components/element/inlined/image.tsx create mode 100644 src/chainlit/frontend/src/components/element/inlined/index.tsx create mode 100644 src/chainlit/frontend/src/components/element/inlined/text.tsx create mode 100644 src/chainlit/frontend/src/components/element/sideView.tsx create mode 100644 src/chainlit/frontend/src/components/element/text.tsx create mode 100644 src/chainlit/frontend/src/components/element/view.tsx create mode 100644 src/chainlit/frontend/src/components/errorBoundary.tsx create mode 100644 src/chainlit/frontend/src/components/githubButton.tsx create mode 100644 src/chainlit/frontend/src/components/greyButton.tsx create mode 100644 src/chainlit/frontend/src/components/header.tsx create mode 100644 src/chainlit/frontend/src/components/icons/github.tsx create mode 100644 src/chainlit/frontend/src/components/logo.tsx create mode 100644 src/chainlit/frontend/src/components/newChatButton.tsx create mode 100644 src/chainlit/frontend/src/components/playground/index.tsx create mode 100644 src/chainlit/frontend/src/components/playground/modelSettings.tsx create mode 100644 src/chainlit/frontend/src/components/slider.tsx create mode 100644 src/chainlit/frontend/src/components/socket.tsx create mode 100644 src/chainlit/frontend/src/components/userAvatar.tsx create mode 100644 src/chainlit/frontend/src/helpers/apollo.ts create mode 100644 src/chainlit/frontend/src/helpers/color.ts create mode 100644 src/chainlit/frontend/src/hooks/auth.ts create mode 100644 src/chainlit/frontend/src/hooks/clearChat.ts create mode 100644 src/chainlit/frontend/src/hooks/localChatHistory.ts create mode 100644 src/chainlit/frontend/src/index.css create mode 100644 src/chainlit/frontend/src/main.tsx create mode 100644 src/chainlit/frontend/src/pages/AuthCallback.tsx create mode 100644 src/chainlit/frontend/src/pages/Conversation.tsx create mode 100644 src/chainlit/frontend/src/pages/Dataset.tsx create mode 100644 src/chainlit/frontend/src/pages/Element.tsx create mode 100644 src/chainlit/frontend/src/pages/Env.tsx create mode 100644 src/chainlit/frontend/src/pages/Home.tsx create mode 100644 src/chainlit/frontend/src/pages/Login.tsx create mode 100644 src/chainlit/frontend/src/pages/Page.tsx create mode 100644 src/chainlit/frontend/src/state/action.ts create mode 100644 src/chainlit/frontend/src/state/chat.ts create mode 100644 src/chainlit/frontend/src/state/dataset.ts create mode 100644 src/chainlit/frontend/src/state/element.ts create mode 100644 src/chainlit/frontend/src/state/playground.ts create mode 100644 src/chainlit/frontend/src/state/project.ts create mode 100644 src/chainlit/frontend/src/state/theme.ts create mode 100644 src/chainlit/frontend/src/state/user.ts create mode 100644 src/chainlit/frontend/src/theme.ts create mode 100644 src/chainlit/frontend/src/themeButton.tsx create mode 100644 src/chainlit/frontend/src/vite-env.d.ts create mode 100644 src/chainlit/frontend/tsconfig.json create mode 100644 src/chainlit/frontend/tsconfig.node.json create mode 100644 src/chainlit/frontend/vite.config.ts create mode 100644 src/chainlit/hello.py create mode 100644 src/chainlit/lc/__init__.py create mode 100644 src/chainlit/lc/chainlit_handler.py create mode 100644 src/chainlit/lc/monkey.py create mode 100644 src/chainlit/lc/new_monkey.py create mode 100644 src/chainlit/lc/old_monkey.py create mode 100644 src/chainlit/lc/utils.py create mode 100644 src/chainlit/logger.py create mode 100644 src/chainlit/markdown.py create mode 100644 src/chainlit/sdk.py create mode 100644 src/chainlit/server.py create mode 100644 src/chainlit/session.py create mode 100644 src/chainlit/telemetry.py create mode 100644 src/chainlit/types.py create mode 100644 src/chainlit/user_session.py create mode 100644 src/chainlit/version.py create mode 100644 src/chainlit/watch.py create mode 100644 src/ci-requirements.txt create mode 100644 src/pyproject.toml create mode 100644 tsconfig.json diff --git a/.env.example b/.env.example new file mode 100644 index 0000000000..ef176ec47c --- /dev/null +++ b/.env.example @@ -0,0 +1 @@ +OPENAI_API_KEY=YOUR_OPENAI_API_KEY \ No newline at end of file diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000000..2290e06651 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,99 @@ +# Contribute to Chainlit +To contribute to Chainlit, you first need to setup the project on your local machine. + +## Local setup + +### Requirements + +1. Python >= `3.8` +2. Poetry ([See how to install](https://python-poetry.org/docs/#installation)) +3. NodeJS >= `16` ([See how to install](https://nodejs.org/en/download)) + + +### Clone the repo + +```sh +git clone https://github.com/Chainlit/chainlit.git +cd chainlit +``` + +### Install JS dependencies + +```sh +npm install +npm run installUiDeps +``` + +### Install python env + +```sh +cd src +poetry install +``` + +## Contribute to the UI + +The source code of the UI is in [src/chainlit/frontend](src/chainlit/frontend). + +Before anything, go to [src/chainlit/frontend/api/index.ts](src/chainlit/frontend/api/index.ts). Find the definition of `const server` and inverse the comment: + +```ts +// export const server = 'http://127.0.0.1:8000'; +export const server = ''; +``` + +Don't forget to revert that change before pushing. + +### Start the UI + +```sh +cd src/chainlit/frontend +npm run dev -- --port 5174 +``` + +If you visit `http://127.0.0.1:5174/`, it should say that it can't connect to the server. + +### Start the server +- If you only wish to contribute to the UI, you can use any Chainlit installation +- If your contribution impacts both the UI and the Python package, you need to start the server from your [local installation](#contribute-to-the-python-package) + +Starting the chainlit server in headless mode (since we manually started the UI) +```sh +chainlit run target.py -h +``` + +## Contribute to the Python package + +- If you only wish to contribute to the Python package, run: +```sh +npm run buildUi +``` + +- If your contribution impacts both the Python package and the UI, check the section above + +### Install from local sources + +```sh +pip install PATH_TO_CHAINLIT_REPO/src +``` + +You need to repeat that step everytime you make a change in the Python codebase + +### Start the server + +```sh +chainlit run target.py [-h] +``` + +The `-h` parameter (headless) means the UI will not automatically open. Only use this if you are already running the UI yourself. + +## Run the tests + +1. Create an `.env` file at the root of the repo following the model of `.env.example` +2. Run `npm test` + +Once you create a pull request, the tests will automatically run. It is a good practice to run the tests locally before pushing. + + + + diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000000..a625cf9972 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,19 @@ +name: CI + +on: + pull_request: + branches: [main, dev] + push: + branches: [main, dev] + +jobs: + tests: + uses: ./.github/workflows/tests.yaml + secrets: inherit + ci: + runs-on: ubuntu-latest + name: Run CI + needs: [tests] + steps: + - name: "Done" + run: echo "Done" diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 0000000000..c9db113f56 --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,46 @@ +name: Publish + +on: + release: + types: [published] + +jobs: + tests: + uses: ./.github/workflows/tests.yaml + secrets: inherit + build-n-publish: + name: Upload release to PyPI + runs-on: ubuntu-latest + needs: [tests] + env: + name: pypi + url: https://pypi.org/p/chainlit + permissions: + contents: read + id-token: write # IMPORTANT: this permission is mandatory for trusted publishing + steps: + - uses: actions/checkout@v3 + with: + ref: main + - name: Use Node.js 16.15.0 + uses: actions/setup-node@v3 + with: + node-version: "16.15.0" + cache: "npm" + - name: Install UI JS dependencies + run: npm run installUiDeps + - name: Set up Python 3.8 + uses: actions/setup-python@v4 + with: + python-version: "3.8" + - name: Install Poetry + uses: snok/install-poetry@v1 + - name: Copy readme to src + run: cp README.md src/ + - name: Build chainlit + run: npm run build + - name: Publish package distributions to PyPI + uses: pypa/gh-action-pypi-publish@release/v1 + with: + packages-dir: src/dist + password: ${{ secrets.PYPI_API_TOKEN }} diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml new file mode 100644 index 0000000000..af62bceb75 --- /dev/null +++ b/.github/workflows/tests.yaml @@ -0,0 +1,38 @@ +name: Tests + +on: [workflow_call] + +jobs: + ci: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, windows-latest] + steps: + - uses: actions/checkout@v3 + - uses: shine1594/secrets-to-env-action@master + with: + secrets: ${{ toJSON(secrets) }} + secrets_env: production + file_name_prod: .env + prefix_prod: "" + - name: Use Node.js 16.15.0 + uses: actions/setup-node@v3 + with: + node-version: "16.15.0" + cache: "npm" + - name: Install test JS dependencies + run: npm install + - name: Install UI JS dependencies + run: npm run installUiDeps + - name: Lint UI + run: npm run lintUi + - name: Set up Python 3.8 + uses: actions/setup-python@v4 + with: + python-version: "3.8" + cache: "pip" + - name: Install Python CI dependencies + run: pip install -r src/ci-requirements.txt + - name: Run tests + run: npm test diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000000..eb15cab342 --- /dev/null +++ b/.gitignore @@ -0,0 +1,52 @@ +build +dist + +*.egg-info + +.env + +poetry.lock + +venv + +.DS_Store + +chainlit.md + +cypress/screenshots +cypress/videos +cypress/downloads + +__pycache__ + +.ipynb_checkpoints + +.langchain.db +database.db + +.chroma + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000000..774908118b --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1,6 @@ +#!/usr/bin/env sh +. "$(dirname -- "$0")/_/husky.sh" + +npm run lintUi +npm run formatUi +npm run formatPython diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000000..c5e9eee238 --- /dev/null +++ b/LICENSE @@ -0,0 +1,203 @@ +Copyright 2023- The Chainlit team. All rights reserved. + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/PRIVACY_POLICY.md b/PRIVACY_POLICY.md new file mode 100644 index 0000000000..03ea9662ad --- /dev/null +++ b/PRIVACY_POLICY.md @@ -0,0 +1,18 @@ +# Privacy Policy + +## πŸ“ Telemetry + +Chainlit collects specific metadata points by default to help us better understand and improve the package based on community usage. We greatly value your privacy and ensure that the metadata we collect [is limited](/src/chainlit//telemetry.py). + +### πŸ•΅οΈβ€β™€οΈ Scope + +Chainlit collects the following metadata points: + +- Count of SDK function calls +- Duration of SDK function calls + +This information allows us to get an accurate representation of how the community uses Chainlit and make improvements accordingly. + +### πŸ™…β€β™€οΈ Opting Out of Telemetry + +If you prefer not to share this metadata, you can easily opt out by setting `enable_telemetry = false` in your `.chainlit/config.toml` file. This will disable the telemetry feature and prevent any data from being collected. diff --git a/README.md b/README.md new file mode 100644 index 0000000000..e1d5af2a3a --- /dev/null +++ b/README.md @@ -0,0 +1,72 @@ +# Welcome to Chainlit πŸ‘‹ + +**A faster way to build chatbot UIs.** + +Chainlit lets you create chatbot UIs on top of any Python code in minutes. It’s all Python, open-source, and free! + +[![](https://dcbadge.vercel.app/api/server/ZThrUxbAYw?style=flat)](https://discord.gg/ZThrUxbAYw) +[![Twitter](https://img.shields.io/twitter/url/https/twitter.com/chainlit_io.svg?style=social&label=Follow%20%40chainlit_io)](https://twitter.com/chainlit_io) +[![CI](https://github.com/Chainlit/chainlit/actions/workflows/ci.yaml/badge.svg)](https://github.com/Chainlit/chainlit/actions/workflows/ci.yaml) + +## Installation + +Open a terminal and run: + +```bash +$ pip install chainlit +$ chainlit hello +``` + +If this opens the `hello app` in your browser, you're all set! + +## πŸ“– Documentation + +Please see [here](https://docs.chainlit.io) for full documentation on: + +- Getting started (installation, simple examples) +- Examples +- Reference (full API docs) + +## πŸš€ Quickstart + +### 🐍 Pure Python + +Create a new file `demo.py` with the following code: +```python +import chainlit as cl + + +@cl.on_message # this function will be called every time a user inputs a message in the UI +def main(message: str): + # this is an intermediate step + cl.send_message(author="Tool 1", content=f"Response from tool1", indent=1) + + # send back the final answer + cl.send_message(content=f"This is the final answer") +``` + +Now run it! +``` +$ chainlit run demo.py -w +``` + +Quick Start + +### πŸ”— With LangChain + +Checkout our plug and play [integration](https://docs.chainlit.io/langchain) with LangChain! + +## πŸ›£ Roadmap +- [ ] New UI elements (spreadsheet, carousel...) +- [ ] Create your own UI elements +- [ ] Support more LLMs in the prompt playground +- [ ] App deployment + +## πŸ’ Contributing + +As an open-source initiative in a rapidly evolving domain, we welcome contributions, be it through the addition of new features or the improvement of documentation. + +For detailed information on how to contribute, see [here](.github/CONTRIBUTING.md). + +## License +Chainlit is open-source and licensed under the [Apache 2.0](LICENSE) license. diff --git a/cypress.config.ts b/cypress.config.ts new file mode 100644 index 0000000000..1a7c7240ac --- /dev/null +++ b/cypress.config.ts @@ -0,0 +1,18 @@ +import { defineConfig } from "cypress"; + +export default defineConfig({ + component: { + devServer: { + framework: "react", + bundler: "vite", + }, + }, + + e2e: { + supportFile: false, + defaultCommandTimeout: 10000, + setupNodeEvents(on, config) { + // implement node event listeners here + }, + }, +}); diff --git a/cypress/e2e/action/.chainlit/config.toml b/cypress/e2e/action/.chainlit/config.toml new file mode 100644 index 0000000000..733d738aba --- /dev/null +++ b/cypress/e2e/action/.chainlit/config.toml @@ -0,0 +1,17 @@ +[project] +# Name of the app and chatbot. +name = "Chatbot" + +# If true (default), the app will be available to anonymous users (once deployed). +# If false, users will need to authenticate and be part of the project to use the app. +public = true + +# The project ID (found on https://cloud.chainlit.io). +# If provided, all the message data will be stored in the cloud. +# The project ID is required when public is set to false. +#id = "" + +# List of environment variables to be provided by each user to use the app. +user_env = [] + +enable_telemetry = false \ No newline at end of file diff --git a/cypress/e2e/action/main.py b/cypress/e2e/action/main.py new file mode 100644 index 0000000000..b128d3151c --- /dev/null +++ b/cypress/e2e/action/main.py @@ -0,0 +1,13 @@ +import chainlit as cl + + +@cl.action("action1") +def on_action(): + cl.send_message("Executed action 1!") + + +@cl.on_chat_start +def main(): + cl.send_message("Hello, here is a clickable action!") + cl.send_action(name="action1", trigger="clickable action", + description="Click on this to run action1!") diff --git a/cypress/e2e/action/spec.cy.ts b/cypress/e2e/action/spec.cy.ts new file mode 100644 index 0000000000..34799f70e0 --- /dev/null +++ b/cypress/e2e/action/spec.cy.ts @@ -0,0 +1,20 @@ +describe("Action", () => { + before(() => { + cy.intercept("/project/settings").as("settings"); + cy.intercept("/message").as("message"); + cy.intercept("/action").as("action"); + cy.visit("http://127.0.0.1:8000"); + cy.wait(["@settings"]); + }); + + it("should correcly execute the action", () => { + cy.get(".message").should("have.length", 1); + cy.get("#action-action1").should("exist"); + cy.get("#action-action1").click(); + cy.wait(["@action"]); + const messages = cy.get(".message"); + messages.should("have.length", 2); + + messages.eq(1).should("contain", "Executed action 1!"); + }); +}); diff --git a/cypress/e2e/ask_user/.chainlit/config.toml b/cypress/e2e/ask_user/.chainlit/config.toml new file mode 100644 index 0000000000..733d738aba --- /dev/null +++ b/cypress/e2e/ask_user/.chainlit/config.toml @@ -0,0 +1,17 @@ +[project] +# Name of the app and chatbot. +name = "Chatbot" + +# If true (default), the app will be available to anonymous users (once deployed). +# If false, users will need to authenticate and be part of the project to use the app. +public = true + +# The project ID (found on https://cloud.chainlit.io). +# If provided, all the message data will be stored in the cloud. +# The project ID is required when public is set to false. +#id = "" + +# List of environment variables to be provided by each user to use the app. +user_env = [] + +enable_telemetry = false \ No newline at end of file diff --git a/cypress/e2e/ask_user/main.py b/cypress/e2e/ask_user/main.py new file mode 100644 index 0000000000..808a2be12a --- /dev/null +++ b/cypress/e2e/ask_user/main.py @@ -0,0 +1,10 @@ +import chainlit as cl + + +@cl.on_chat_start +def main(): + res = cl.ask_for_input(content="What is your name?", timeout=10) + if res: + cl.send_message( + content=f"Your name is: {res['content']}", + ) diff --git a/cypress/e2e/ask_user/spec.cy.ts b/cypress/e2e/ask_user/spec.cy.ts new file mode 100644 index 0000000000..c0deee4295 --- /dev/null +++ b/cypress/e2e/ask_user/spec.cy.ts @@ -0,0 +1,19 @@ +import { submitMessage } from "../../support/testUtils"; + +describe("Ask User", () => { + before(() => { + cy.intercept("/project/settings").as("settings"); + cy.visit("http://127.0.0.1:8000"); + cy.wait(["@settings"]); + }); + + it("should send a new message containing the user input", () => { + cy.get("#welcome-screen").should("exist"); + cy.get(".message").should("have.length", 1); + submitMessage("Jeeves"); + cy.wait(2000); + cy.get(".message").should("have.length", 3); + + cy.get(".message").eq(2).should("contain", "Jeeves"); + }); +}); diff --git a/cypress/e2e/cot/.chainlit/config.toml b/cypress/e2e/cot/.chainlit/config.toml new file mode 100644 index 0000000000..6bbaf53fc2 --- /dev/null +++ b/cypress/e2e/cot/.chainlit/config.toml @@ -0,0 +1,24 @@ +[project] +# Name of the app and chatbot. +name = "Chatbot" + +# If true (default), the app will be available to anonymous users (once deployed). +# If false, users will need to authenticate and be part of the project to use the app. +public = true + +# The project ID (found on https://cloud.chainlit.io). +# If provided, all the message data will be stored in the cloud. +# The project ID is required when public is set to false. +#id = "" + +# Whether to enable telemetry (default: true). No personal data is collected. +enable_telemetry = true + +# List of environment variables to be provided by each user to use the app. +user_env = [] + +# Hide the chain of thought details from the user in the UI. +hide_cot = false + +# Limit the number of requests per user. +#request_limit = "10 per day" diff --git a/cypress/e2e/cot/main.py b/cypress/e2e/cot/main.py new file mode 100644 index 0000000000..ff24d22cef --- /dev/null +++ b/cypress/e2e/cot/main.py @@ -0,0 +1,40 @@ +import chainlit as cl + + +@cl.on_message +def main(): + cl.send_message(content="", author="Tool 1", indent=1) + + cl.sleep(2) + + cl.send_message( + content="I need to use tool 2", + author="Tool 1", + indent=1, + prompt="Tool 1 prompt", + ) + + cl.send_message( + content="", + author="Tool 2", + indent=2, + ) + + cl.sleep(2) + + cl.send_message( + content="Response from tool 2", + author="Tool 2", + indent=2, + prompt="Tool 2 prompt", + ) + + cl.send_message( + content="Response from tool 2", + author="Tool 1", + indent=1, + ) + + cl.send_message( + content="Final response", + ) diff --git a/cypress/e2e/cot/spec.cy.ts b/cypress/e2e/cot/spec.cy.ts new file mode 100644 index 0000000000..0fafafc694 --- /dev/null +++ b/cypress/e2e/cot/spec.cy.ts @@ -0,0 +1,44 @@ +import { submitMessage } from "../../support/testUtils"; + +function testPlayground(index, shouldContain: string) { + cy.get(".playground-button").eq(index).should("exist").click(); + + cy.get("#playground") + .should("exist") + .get("[contenteditable=true]") + .should("exist") + .should("contain", shouldContain); + + cy.get("#playground").get("#close-playground").should("exist").click(); +} + +describe("Chain of Thought", () => { + before(() => { + cy.intercept("/project/settings").as("settings"); + cy.intercept("/message").as("message"); + cy.visit("http://127.0.0.1:8000"); + cy.wait(["@settings"]); + }); + + it("should be able to display a nested CoT", () => { + cy.get("#welcome-screen").should("exist"); + submitMessage("Hello"); + + cy.get("#tool-1-loading").should("exist"); + cy.get("#tool-1-loading").click(); + + cy.get("#tool-2-loading").should("exist"); + cy.get("#tool-2-loading").click(); + + cy.wait(["@message"]); + + cy.get("#tool-1-done").should("exist"); + cy.get("#tool-2-done").should("exist"); + + testPlayground(0, "Tool 1 prompt"); + cy.wait(1000); + testPlayground(1, "Tool 2 prompt"); + + cy.get(".message").should("have.length", 5); + }); +}); diff --git a/cypress/e2e/elements/.chainlit/config.toml b/cypress/e2e/elements/.chainlit/config.toml new file mode 100644 index 0000000000..6bbaf53fc2 --- /dev/null +++ b/cypress/e2e/elements/.chainlit/config.toml @@ -0,0 +1,24 @@ +[project] +# Name of the app and chatbot. +name = "Chatbot" + +# If true (default), the app will be available to anonymous users (once deployed). +# If false, users will need to authenticate and be part of the project to use the app. +public = true + +# The project ID (found on https://cloud.chainlit.io). +# If provided, all the message data will be stored in the cloud. +# The project ID is required when public is set to false. +#id = "" + +# Whether to enable telemetry (default: true). No personal data is collected. +enable_telemetry = true + +# List of environment variables to be provided by each user to use the app. +user_env = [] + +# Hide the chain of thought details from the user in the UI. +hide_cot = false + +# Limit the number of requests per user. +#request_limit = "10 per day" diff --git a/cypress/e2e/elements/cat.jpeg b/cypress/e2e/elements/cat.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..53834a3d82d03101f6003698cf116217f94bcd53 GIT binary patch literal 638682 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

lA2%ThMPtbiJ* za4$T{xM1; z(*+CeJ552?0g26OqXjJYFf1dotz0oWYrfdl`e8j^F+vIoR2-$kMzI{dOfRcLpM+aP z5XxQ$Y(p;&y0Tzo} zt;=x_jBI~5*%B3~c=z!L^h`bU4&(By6{q_dY8EcPVp#$#?RVTgq?YM=CVNuvnQ`?j zYT-j%C(N-6A^H~p)_?V818^M)tBK?sHIsPQ*j6!{3mgUWyniRsNqQ{GQ!}SkU z(rMNZaJTPjfJIUVpm0E^i_5$2R07BCmI9P7+yTPIIJ%WRMt~P-=KFzk2>HI{Zb1+f z3>$I=Dq~ev^-jIQ<6wjFyKDND?$0m@uCl+TRjgG7A~`hI+%w^EpXxVBwU}Z~(Zl}$ z%*-JjB}yTcvQq#pa|v9JBuJ}*gHeR3LZ z+&B7;ktGy&3ZtLP=rM~U)h2&)hFwHQ{6*oaMBE1>zfhpCF?$_c;-uNBYQ-wZR*D30 zw&ge?+Af|%Rb^auOR;FWm9TP4wlu&CY5L>NBFXw7EfU5=TB;{e$fd2I`eHg(Wq}sr z%24qwqjq^CmPGDb?26%TH2`y%!P)~>R$m~>u+F@E#PT=W{X*?8c`jUuKlZ5BgNIMJ zowva%*CcUa*SHKcCY;0EramyOgkHLZac_+X_uDB;*ca&K3~96>{|eu4HxTK2cTZVWFA-0A2F2Mm07R zt#Dq+Y$Q-*a10|jTlbd8`C-%!z(9<(D{X_(6bKw@6S?11%bp&Yc`GZ}oQ*~Jqu(ny zAlpV@-cmV@B`<=E;nOSE?`1e&l(JYhU|K`CriHMYS7dvbz^c!<8pW?Iℑ6z5APA z;rcFJ$cMzwdS);m#M6C*5%6W$HSe9NU6MF2nOir7 zC&yC&p9bxQ;RSo_x1g}hLk962hhFwRR4@^OX0tLSMLWqpk zf$E`@s5<`RSA#27Oe)y(6AU$Re%7|Du>6F3pygH}c6StL=%bC@SdYA>>ejjVT-l?jiN?!!-Z-0Zb6dDvU!iUCgkKjp(3}UTEttCj+Cf$da6!#Vu&s`&Zk@u% zdnO)0m#HA?93UN~>^V^C5{)iqQ#U1Hz8F@={N#C!%0y-5{{SI-b(V*?^$GPIiSUeX zq4vQ_enq}5`GiWMYCI#u5ydfUbHhLmkdq}GZn%f5ntEk*5S`W*Z z%eS9L<{n_}SbdNH#PbGNjt(D52!yZ%30VirH2gy$hjsn@Kq7Cr1_t!TRcPD(T7_LV847nHPa8+{YP#M%&R2QU}&O+)c?tb-!^S zd~ik%Al>$WIiS?Apt*0CsdT8vwTRUV4T}YU#Z3#PJw~LaJ$eqIZyC$_B6S<;2RJXU zAobi4Y5GNqAx*#ExoJ$#_B{x(ibpqW_0%sXedkYd)SLeR?CGEaTAPSz~M+9}!*F{Lo4oP~p$i zHqpKZBijYjgxz`=N~43#-d~u4j4nG|{^9<(-=-fiuv@d*y7+@cq+lG%0r`R>N;>N1 zK&pKll?()FKKhQxp}UTCs~c0C)btX3#qwM*ds6WMdSR8#0hg3pFw*BExbU)K^pGsC zOViXVcTSgG%Zevb+SM^3aWrBiJ97N%nnPm>< zOpvCj@Uajbpi?Ee6e+pTrBZ)X=HgU%31|cA2D< zsh2jQ(Dp&<1&*9QG1R=Lo~Njly9sdMi|WC8Dqg zaN6}REti+n96`_u^gh?jAv>`y7uA5k!f>7XfljzEHlD~H7+pu|^o(dLvPZHwI3ZC5 zF1+NFLp%eR2e=|t0g7`6PcTVNt{5=PmI?m=sb3fqK=Ah#KtW$?OVc(@94&OpV00dJ zZ$#9CL0lj=e8Z`8t|O6h%8_;l+FW?Z8oL~0+^N+1V%X1IDuA7x%C>rWf3gt;-{W+S zU~D3S*40_zl%%GdWgl!5$l8zp0Af{c7UG!+?o#T2;4yy~vgkbwHsp-F5{5>8M05*v z6xauHrK}A*ep$d&Pkqeaif%o`c1?ij`06g8oczjpPypW8OEaL-NixTd)poeEwU1hHvq^B1`%D)dbN3$W>n;FiXQ z@b@j5_E^@?Vrk*t$rF`5Q(+VOl#@F-@`q7PkW=j{0!SJTNIU3`WykJa1KI)fbr9+h zT}8Y6{{WCWfhdK$&+La84o}>&G>$Ox3_!h)V+%gTUz}x)&$teNFH$?JTNo zpZfs`Yx@WY5l#lkzSBIO<;%8yPf)i-mE;^nVgZ966bHuogI9@AjU`2@Trg{KEa}I7 zpg~M@oxT}owOk!yHnhqwgQkE1ZufqA#0TM&>2U}lUr2QA3~qTNJH zi;Aii`+_(lxj@2~DmDKAV?Y#YMi5rt?*{!4Q>Z)pFDz04(#8wy_>1E&`itow{X`0< zW8>T0G0RPyulkuFGna#+QQ^OLWLPJF#50EHx{UNgA7aXo{veF@WjYP4b5_MzTn|K` zF-;$=^(xChKs5TWxwQad37PWs?S3Js6*j{P_Y%aXrRW_J^@Y2QMZ%;;D|YiJ{4BdR zJxgm}EvG#YGFey3ZxeOmv7Wu2CSV4Q-%cK1L(y$|{2~&Ysii zVhpN1K)+gpKo^(_-ow>FlO-W@N`Hu`fK~QA!ho5MpZN&Srv4&|Rgw_|@^$knG}>(- zYWiVYmUxrYMJ{BGIAI$i;r^vCrSg+lwtuKF54mu|hy)m6sc1nB;#|R>5pscRXdFt) z8Hif4RN&$vmoPk#g9eSnSH!Xfhc^%v2N7l0=35jj-PEqy1r>`R@lj`NN?MuTWh7eY z{mM|dy6lRJ4F)UL9G;@IOz{CYKvh==XE50afkLHPH!EXo$OmMyYa}>J%|uPWb=*W# zF#|PFwz0;tgt!ZvBEL9wnV(y>J6?tdjRD?8ovjDi7p9s#(Ikawd^U0%h)x)m)uJMW6qD% zM7b|~wEPfY-mg?_W^F!h5Bec&OF^Wgwk`G|%!kRfV(K6c{@>0DX}Vg3%4F z?186pA<0Jspv7TRpGj5bD$v*297SJSiaw$SibF;Kc1PNT>;C}A^ymiHkC{}G&<9!$X*4jROOf zC>Ga-I{S!R3XU~~Hp+@}ckXAzVab|anS=^QI#MX2Q;RJd<%NA(DdY!oi2&fh-~kNp z{ST5Ul=$`G`pJ%xm9qsq&YT{^faAhJo#_ zCUAHr*D*|#7IhjMb-li&v}xsjA|x*aJtVDixR!4{`VE!t984(nPjF0kZ~#QMGLQ~F zqR38LoAnCC;5t2$vf2e4%D9p}LBwzuwr}DCQA#;0k(`I7+wfmRUl@Y6oeK{5h2>MS zE!k&5d-;Hu{{U#|C6&ul!0^hf!FYM!xa!gk!O%uA9aMS`am=0v%f-FQkkyE=ilY$fNExS~5w(C`kTl?dNn%<&XRH@gmBQ6ei?f4E^GlA2D)q=dWC z#^dywN7r!pAkSm6S1#fgUYNQVD{MWJ1wj*sg5cGWXBo~TV3q7Em(wgVjZPxAQDgrA zBfT18oqUi*0j-ef0S&l?9-rbVdM59Z7YYpzM8R}4y>^B}PPA#Le^S@x^HXP#NedHy z_7Ko!S0f_*M^JKHLqg&A#mpls^~Bq;C<|%5!F9?5+Q5_qy7k;!id;WUUso_iQMZUO z4(1*ZYQOFnHG-DY)Y)>*rKJkuEuv7`R5u(;ifELd3?*d2?q6dSFvNl{*ZqMpM|@NX zl4IrT;w5^1kZ9=O{x8(D=+*l50leDGP($@A1{-)jSdcv2PlzjO*U`~2X?V8ZaWO-c z4UQ1))B+CJ7fIVJ>W10V!BWI;K91;gLRocpJ;MJ0lrz3%@hn!q_E!k37$fMj zwpW0Ai>VRvxEkn%aF=J5ogB;CnpW$#)ab}yc9+~#3$Be@a25*cW~>M9VC}{DBh8yH zMp1`V{ zH~mXfRsR6IyeUjS_9WqraRc11>nQeb3DkJOH!niGlAA&1A*6-S>Tej0K{Gcf9Y%+# zVYLqM`-w2w13xh?%82Y=h=E8w!_mTzaK0df07#8?`GCn)zh5!IY|8T$U~+o(0wpqG z(+A1W%g^b8bmpZg(Q-XP=as}(6elq~ucuI2(^A?E#kB?{xXxoukh)ry?g#}W3S}L@ zwNVXcn1xV7IXRRV#xf=6LQSoaCA7dU2qjB?;+X-9qlhJx8FweEirp#o8nzmHmkxf2 zSJf+&4-w47gvr{2)d^#VZ>XFMvEYbg4h~H7D6tp6EPYFZGhCe(79i#z-tXcQuPd)) zPS{=|q}g^+2ckGGoyO8aCHg%;NoDHb7vepKwqd2}8pOJ*N!O_Kg-}*@5$*=6TgYJi zGW49y-b+2{1CLF&;_6ix8nw`O@-x zj6tHjJref1{{UPutY|5u?Tgf)yV<4+PyvJJ_X19pv$BV%o+WedizW6Kfjg$Uflapk z*96f8pq|Yvv*Z_Q(|pQlyyR1DGp1y&%EQpy#T2U5-h4<`oupEuD~!R|dN zavZ=pAd!O0DV2T439`@}CHsZaAY2b*w8~(iZ4Xh3#dL>C>I?}Kzm@S1S_iT1u46NF zzxCV(l&CP=QGYtbAIrVX`z;(CF4!>>$J2d98|NJR(%!q%WL*(i=yjL5Yb9N8xcsJ)?*y+U`fvx)MT+* z2go6JP-@?(6t*mQdPp6Ln$eEb0CElUaJ36Sb<7BZB4~SzBWLpBDi)~}dMJOm32rFi3PeLKxFN|X7t7GSh({@5 z02QXmZ(Rq5o}+UqRYOXWq5uim(SD;qa!PRg!X~y(0CIbP(m*|He^RYO;`FC5ba(UJ zu&`dOn|Y`VG(DeDh)adT(;0Rle=xG}KXXdCFBi$`TM>-R`aMM!T;FxN`5|43n~7gS zw#`?}K|(YwBvJ&e7CxGQgc=*6MoNLit(RNA2i|rWc=%;wHq$$8f;M+$qaq8vdY}GENWJrIn=$lsMuD zJn%Rm*D+UF(G{MZt^GjaR!Yy(>M@It?V;$FbD$mxvqQJyJ>v8Icd5luXa4{q)1l~h zA5yssrwf-{T3)}>OO&GgthV$)xG+w&S?}C$N`~0YFHsaY7|?&Yo?67-x;>Bi1=j^{ z_cC~gzVRvSSHxV~EW=OW+(i^`?3JT~1U)v0aRv}awT&ml3mhzcn3dBC-*FJYY6}?u z0B=wnbIa526U=&o^j;rnKnewZqhMXb)L`X{p@*1I1OZh$EaM1zuuBONuZM$|4fT z#)K~1w{j3zB3H|EYQrqLwNUz>oVanE^k%!3MPk$4$h- zRSS6Bv6a~9&BPhHG&afTC*xRq+d!lPuYLsPSCd`FW) zJXw%^lMaSoptx{?4@E@U0_{KWm35+4eMDFki?82m65?c3Q3l$YfO5|G-I z`IJ_oyAB}0C~qmNhj9Zud@+*%x5(so1+}7qN!Y>Byk$>BIdxH7xy-r=04!S(g-#m0 z`|Oq~w#+FqGcMS1hRl3SVTcgxDJsk}vhz z(cuOEOL7b_CY`*)rXYWQAW|EV|HDtl3=$i zRe<4_i7f3aIA_T?R@Ppj)S-R8An66sic5=T>pBU^8YPkNHdNEZRoqQ~d?;8wgOv9G zB-ZPCe&wuf+Z2&87JjaNVH*zr02uHzR5M=4P3fMwvi3q-troD9@{+DJ$jl}|1~ln` z!8&Xk7`(W99-!C>^k*cYMXF$4!XD#D?a9-@$pth4aI%=$JOtB-3|%jEiIb<}-M zqMEcgvD{L$nhQCjQR<`@m!m|cGShB5xZ8zIYQ2$sj8lMm?sMvE)v=iVBcEYtY9<76 zivwLU!cE14VSnlk?3CSOT}&jXYrbwK#veu`Y!BUQ5fNhIG{w76%3UEAGklM+mWCo) z#q_@5Nl;n70Tnv%wih@}5TGg(5{bk(e%~`Yx(?2da4VYA?FS2jJasX?)MoR^@hy(K z{&jRgh)uF^?#|^yj#lluj7e6{p{V4l9q<~cN2}dQT}*^dak%Jsfthe^U%1136KWys zEMGqvn60kOaT?)?ZL$Y4i;J*YX~6u;699C>lu`Q=m{q_)K{q@DtCbe~LJ2sQsgz&* ziuualnNAdlcP=!^DF=wI1GtcHQD)soP^Gc#2Cvi9*e8z8rV2+S%1grlRu^`Ov1o?y ziNIW@)Ugdmxk4nqPzINT0dWpb zF9aMaaf9suF*T<#fHx#pvmpitF5nEcn5#}DD5$lDdw}aTxDn0N9&qMRp)MMssiKiW z%Nm4$VkyZ5+YEBa0+tL|nDoo zoL&utk7C+8BH3PD=Z}ULRz+bwK_xjqQmklHEI?*#>YPfM*5V!68D0)JA0fn}vFcOb zxOy%uTRo9&xdm9!%nML0{{U`azy|PjU3V7tTAQ!71S*KNPxeK4RYO7M`k9>vCd1;F zC^Dpkk#u+%$<#3yW{*xt#X!xI#(lvUwxhV9k^QF}#PBza)D;k}=-F>@WpjTnEs6qF z20h`-0stcOD{sUcv2vPv%uFa8MH!g{V2IeVg|0ozDb@;JqaoVsU3wUm z1oHvAw+u-FIFR6C7yt&-m}tE%3pqS8_?W!F$I*`rMZU|?J0rx@=r8J_1TS%YA-wf3#<|=Q9wc&XPh=f$G0E)eZ{h`ot5cYb z_xm@J6Vjo|cTOeMu-eaJhNXPvKCstP_)}+JBIYjgSu@b_)GV7*x9m@H9lo({F(WGv3PKrd zrKIVHmn&78Y1|PM41qnfDa*}MyFs&LUS5HU5-9gW%xqOfYH%tPl9AfuUyLWn|sZ{{RQ z`#O6)&6~PpU!n04sL8>FwaF^WC2Yv7a!YaKJdspjqfUYI2^B*rXHh1Tx_u`S zsL4gy#X$5N-8r+_6wyOF9o536D+2!G6G>ZMSEw}Eo`l9D`)Q+?fE^A(9mQ3%A;`oo z42V3dl3he2ANS@6K{)1*XszLZtN#GmD~j17ybz&4*yGd)=({3E8ovXncBqEePrpzB zrrxa3Vq=hh+z_@R{{Vkd%VnsLhU|;k=#=QCIO)W*OZAJgC>Z^}btpI4bYI7F;EbF2 z#J+H@UjAZ?#ck9VeM-;FTj(74dAQVFyTEViA!Dqgfvs9}cL!C~7fnZr z{5zTjr%(EY=B}eo-*L4gkusI20-NWkm90>L8(+AnJgn#l&mvX4O5_aL4^aMJ#CL*l z?S$3?1sUJ_ij;2?B^!$RbujK3w(E+(l;$=r?Qr^-=9tm`suXK|f6Q%KL!-H1mv8?7 zku$;TKXQ!<_3MT(xJONTJ_Y0xL0KxPxtCBA!2r$V@sm!FZ3lqgMCZK)F$ocC?!RzXmYS# z9ExS`-9g}vmut2NNx}~+pr}`Fwhm(m+D^cGirq43K4YwEA6wy$J5@g3rpJSkQvK$g zENOl1)GMXaFSc9OZepynm=GB9zr-5O59T^(Rt{C$DR$-sUKZto76;r)0+)2|U4e;R zgKTB_#eK^n+w6gaJ36?)LZ?66w=ZklW)vHph<(+VCaCHj@IP}iB`Q`89Cmw$zzuKx zviSXAxMGCR3E#3jSUc%^m9oDLCuFB~goZ~EAdv1dO`~y;vZ^BE<`Gu8cPupafP5vjUrx zYkHP|!f)cDS7dd$n7tc4K%;RHO+&06n6n?E`$om4}U@@G4HRam`8i1ggwt}8mYd>cX07Js&xaxws0nt?i}0U zI2QcNVQ{vA=nSNfn7>f`z?bs(DB%?73(8!}368PEJx#IE?dlvTt)qj~Xo_A5y&p28 za#{n26FiLBQR(U%J*MaWrI0#*MxzQC{*=C==rx`m#!%@?I1DPKv;$7mwwYJ(u*tHX zrS7Z$04lj=AA3GmnRN3tm3U$7RCSZI_?3jHHX3hHM%f?VF%HU^-?WK!1ye)u5>d0# z>)b6`p2jVO$Nb$m50_iwod_h8= znmS>k5vkrFnBrNY1+ zrX7^^9H7F{P1za>3+VDQC{1~MV&m@ujwdX6cXQj!*^1nH+`5us>x1f0Zh^>kO~Awn z8OOSb+zki$FnDP!TW6^77IxX1r9mk;7nf4Owf= zqjl~I*#H-MARxfs;eB0X1(Q<({EL%rAZWgp5~| z;f9vUMl!nabRoi^f*p2Bk_Z4G=HAE>zQ>f6;5tszs7Y|FE}wCUjWBNf? z(m*>?hyub3MNftWvO6FNPKm#Xh)6|6PZ0AJW0aKmf{}zf8UFxY;>9Anh@gJ80jMLF zxMZLM2lWeK@YwY>!UnPKiAss!0OJzb0gG|>4>O3-+Y&&lwRUax9@&NR zn}VnR0ImUDoW758n$*<@a`C&X4=#~bdVf}}=+Y~Nxr!$ZT+WM$p#vjFT*)1h_ z=p~w!dil(!u#~?8n5s4})WUh|&|(u#SOj;1&!B?lPwB*R1zrz`oNW*u23Mv}+~n>L zVW;jhj#XtyY_tu$D+>LL2egHI86R;3Wqy){C=2al2^C1rsfGJ$JrQIz2#eSuXaoGZ zndl3zDXD2y6b`;2IE`_6iE5WUUs01q=i*_}dJm{-3uXSJV~00?kBNvDr2hbroKz)v zS#Sx-m=wLi3PN8{uZXSgDrVvS&@q!(gVT}$nM?s$E+`gR;UQ{nV;2WFf@_&{t|6pr z8fQ3gQobpk^j*)@+p~2s+8SU`uFiNv+JvQ?7bHFdF$gpbiOZw1QfDA9E_=rTqJg zu~j@ZnA_HF;n6MibB3(UeT_iTgZBYoruDk{hb;kHLxNx|y%UOVG?ujg06G0k8(>?9 zqCE|;@OJ}230=E078^qJ&L#Gtez?SYD_?i0h*TH#7Hd1$Qz}4i1y1SQ3RU9xf9fJI za9)i=tHbEE*)PLi)e_YgU~9LoAWm4x(Ttr%UKP=8*QsoY<4q`cET`uB0o0|YBfaQi zSw~o<^c+I@pI4MmgyLOTgVSfeNOQbjZslJoPLXAzfy3BiPz7!6*TiIPW=@%J2y#7o ziGYr&J*ta8MJ|s^d_+4ytK}mq{OC8T%c*eR^@Uv_{{W;c0BZ9R6uhg7wZQuz_K;r3 z)Itv5ld@hP(#?AKh-H{_^$LS%{lWhL2!eqQPX1vjtAre8i;(p(V*&JaF!<4Ioj#_? zDudUraRRiCLD>Q*`o#P70H_hvp59@;Uf0R>9Onu$c*yY|5+cUVK4V1{Rqg==%Kl+% zTEFUC%mcgZKe8%n8gaw_03*Rx@c#hV5zK$odz%54HaJ(QaSFnJsIpK#2Y#cOfCA7q zpEC|97DPIRrUiQ0lkVay&Fp_TgIE=64^cCPj|K#@`;>8&TW^MAH3(7s=$31<$(k>i z`Qit+S%oz)3M^zEqu@KvhAoF+(PG-LY9)9g&^DzaMQ(G9VT{5e6N;tIJwv8W4qZpU z0B~J;iIK24rRx2}$xGz-Ebpan+9fvH3q#bV85OLZJlp^hpWXz8rTNZwA}rvRn}O(Y z7>gtYfwSTxjo~bxB+FjV=Srx=vYc}GNVd|ri`dJ!Q_DkmmGy+DpN#P+%-9Fx?hm7Y zEv{f4j}^P4>OXLmvid8QU0lDWk?I6KRI-m_)Zu2V)%MCQw6^B|0PIwOYa6a5KLtzr zFNsWo0n$oEpl_LAi$Hmo`@Z{j7(DRRaEPXNeqixCk3TVmT{Vss(+dNlckwKlFHvcV zzGB8vv=&OG!mikB7jnlSW7J?`hCSQ}F4znxV!x?|-D(?JA%H#l*JnkEqzA0V^9n`w?e4+@^e=@eqt`dqg<{;eX@;5x{Zs5Y>tf z_OKHl!0qr$%1EbfkEm#v(A{YVuI0)N=j^C1v8wpN=nZRf^QH{-fh+@e%~K z-N3Ht_ChGme@|o{^c52mk?@KQV=+MS1p#cLtHj$h%BGeU6rudUwq7HJga=lr{L4y7 zQ&1W1BK2MZaRI~|;voxLfDZ}K9;4&IK{oXtDB>+g%)u<=f24AaV#&K_QES9P<|9q6 z;0_eu`hwY`{{X5}94IjXDbzDf))V?-_lOgR>4(6tdi~1_+1C(429o+K2H8Uzv}KNS zQ2}g$nqyqyo1%pL`Mkr$kl95NfattmE;^V1*D;`IAU<;Nj+uU(0F!I_T60`^ij_KmEZp>cfhyJDb;lDA);{qD%?XV);P>i3QEUKq22V}#8sgubqK_=0 zh1BQ&0K{$v+eR@nfo0Lv1VrhhgwP)2L27fIEG~Gt2XEZW0BLsj>QW9eX&u z{D=qz2mb&WNaH781OQ;rdY1-P2mVA*JQrVH;mwN42-Qnt)T^Jex7#sDF#C0I1)ArR z<%q-^9xr;@GgFZ5=_beTT$A+W}`D<(v`8y7-n7j2!SP&rhj+KpgTM zMxa}_{i4dyi15O}1Rg-s4A30j>Br0-;~p2(r-E+ReM}=jcCB^9Eegf4WkEQ&c(q-U z$W4#y5$H}G*$%XV^d6vD3bOI+mHe-{YQchxdztp|bH5gG8Am>GWv7sB+c^V zU%70nVUO7!$YohEnu&wUK3T~#kSsK9h^STRcToF!$N|e6Oe;7Ohukl!SK00-E2Nf$ zjsC-f*Tfqd3|2lFj~ZeROl6N^_(}xcq0rejOz?G}dzHg3poAQ~#jnb}3+4K)HIblA;Ibrk;0aPlqNM+ZJeVZ5l>O;+#HRkyNBXo8@E;N1r8qq3VL#Y)!Oz-u1?50U!D^j z{#8G?VuSG=4AA1?W=0o*r|~L$t$ zADqUMc>R6HtPX*2q!F!p_XSa)^A_(H#K5jy{6-o-`*6BlZS@cXg<)0?T*{J@^?ul= zBDT#+xjnHkhKM*It=O7A7_mdR4P&{R8H|1H!Mq&epmm5A6K;PAY1&>NfQwBPZx__0 z48Cl@mkLh#)7%;8?T+RR+m$cAXpY5y>Mv0(hCe`Z`OAOoJcaiKQYEpHR>eQ zS4?wWTY?i2Kz+uDz{DWv zxhS!{zE@DR(^4NPq5GF^QpMzP7CzmcY0$RR7Y%hAk!;5+f5dB|qp{Q$3RUJT$2@z3 zkah6_AatF|Bxm&_kt5er7blKp2Ps-#g_U%V5FqFhZ6hV&J~vMbREsM}o_YFnq|j+T~6oz>ShB27!q%%)1+uOs3QLO8NlP zUHgnSd5I!}*FP{h3mii0=YEhnvqBBM2f1}CQ0ONZiz+3?5K{osZeSLKq;XIT;ev!% z9m)}Qg~5D__<5daSoYCb!;X!jgQ1P zQ1fE)!s^K4LDt%ZGM@%?dPaieML=pe9Ktu{yg@)UgC&c7lKu=X22y=TK;h`XZn=T2 z2Qyhd0yeP`S>}%i1Frjy|?amaUGy8rsqnyM8zx(29D0*zN1}= z1?kpenaVoRa-Pf4{o)2T2k+EMLupXRKA2=?n1H}j+!RgOQMAHajR8qkA5!mC>}7tT zvEJDC8AK!SZdWN(p!b7oMjgaPB)qW6c?l**CXx&S0&@;Rdf}xdKr#~^E zV-U`?!Sx={Mv7AYrb1iqm>ST`)0c(q-^``WTvc_UV+D9!e-{CQunZqFxsUGU&CAVg zY}o>_Le5C_)NckJ#dGl*b*lhaZ90@2rQs{6fsm^cs3RmaSoR^BEn>G9QL8{v!tIvi zv`=FOmrOyL)q8oR;GF6pk5rkLZJXwqM5=bHmRj(R*BOGrRLk7lcC_*CGXmKBBAv}+ z*JN9af&$clJI5CoL_8YIOVog-zEdSRho_O6{0JtZyW#3u zGC1S)3at~h_FP9Pf3$d571YP-Z{W=^{RLvxn6u_l%SEKS@pd2YsLskuf84O4tAYmT zU{0V_v=dyyAXP?>l|vzI+(^=7i~-_ZfN@wQn5Y=f6X8Vo8oe}R5rCLrVsaa=OS3>0N7+J_$svD?*ZK|QtyutUbD7dqd zHDM~f^`uM27f~L_!A-O{UO*gDcnm@`S%?RJNqUr0s~ao1sy-sZYW+buVtAZn)9Pa) zM&5kj)C8(f`{^RE`3@^^q+S@8LjM4?uTW=w^-`avs_3Q7$|=={WiN?E7!knjsIV@} zTOpZ#1gmEN@hOd+?zm&zhPIQBxnUMJp#AYKAOcwQFHoR?AFDF#oT`)Qm{JPR4P0;! z5E!phnh5e=5n7f~{iVD=_bl{R zvRVl{{{Tr+-oabtv5%>|%DksH11h@WAfZQm)C+1d`|cZ_STy&as8y=!DQI!;+^*y| zeu!0G5Bh`brv49W86sR7AP@tP&(kvrf$!on2>$>z5$4+v01extm6kDR2D&}RfoXon zA5fhP^q+AT5|7CC#IOqo1J~5WnAzjw<|A&G;-I?#Y0u0iBm1~xfZLhPW{{eY*L13u z9VSe@$MHqq#tJ@WOt#D4P=JaL(0A@{0NdSj5nH3Uu2qwJ{{Uh-N*uPYKM=ZAokwq? zFMCkgTNZRja23AKv`Roda>WEii!0-b?#WS=nFpLFuQEe?tmVc zRN<+8ys>OE?j7O}9$~T|=ZNf7-%G_yz~H@zbe)pfTZQukIegEw5pibD_p-hIT@v-$NOMowU5>!+w>L3uS0Z-~%HwQ~T9fHI!r zNJ27)xmx0wVPc-Q4?zcDyn2Kz7h*eYo_))Ky2rScYH!oHM>3+pXBI{LOyD?MUOCsO;9TPQ ziV#THyFD>-2qg3piz%!|>duIdgz#?}>4xxH%677KN_Y+1{>LYF0Z)|pDueF2t; zc-#&SM{+sLe(TdJ z7V3Yoe%V}XYH|^;=48B4UoegWvBbEDsOq9e5c3*Jirt2lubtoB2R-RGAFR)lor~O89L_wv?3|vnI%8(6* zKQ-J9nX(IOojwaC?G3Ee!YiPzN0j#x8%4_wQF-bINbcA(M?|2Ab{A(+W-VgT&WN~< zg~&c?ScQzeKkQlzrTmEdh;YNO;q@z=R?cF`zGWB@UG@3@dULBE9boh6C>pr-&?>zGP2t9Q#J)5Z3peeRWLRjKGr&1JV^R|s zm)HT9xrkGP&$rZUEmK^*d`s}{DTZKR{{Vl8729_9)yA=D9RZ)zMO*!2sGL2+gXUu8 zlYh%_5CYiu@9qHH7wvnU^cV9iusx6^PzdyM_bBFs<#PlQfc&1I&P`)|G4pE=+?l%t zaTl@@G9nzkJrRQ{)*|c;5dI%CR%l~T1qj~+qFPzd@dUbsd53n(40#dA$LbOrT|!@R z{Y;ZZtNlVz&A(6jhK&@2Tj;C<;R^FD{{YFt#UTLe!o(Y#DK^v z^pL0q^W4a|9D5)Hu8*?Fjv#xya(-eVas{FpL{;2G#nc>3D=(THz4Q?9qMt*lWw73h zg{IjMHi8gpG}-+?L8}(Om5aRQxx4cPfW z=S>RdLdYIkg*9ljL7HB=xGNhgmOCZ6w-&W^8Or?=5kO^*?XZFOBnQsg%Qcs3h)^&C=^P1IsWQTvBc zOCcEba=(y<#84_nP4hFoLiIdK!X&}Hk1?y-Qki|kmt95d{wEOyH9x4NBVx@!LA|u&F(&80ngD3qVlMq&5sjS;VYw83crUno# zO>s^l?qpc>_ulX!$5WSqS6k#3F;hYpOg@b`dzQ4=TgaEi z%5?e~2V;g;WQY7*;6G5Z+s(1jQ@+-qJ-vvAD%5fkzk6C9;L7~8ViVMJ))nMX%f~N0Ba*WV!Plz66*2kZY zpw|`@#&~7;RAKN`T?X&Ip2_H$S6Vrk;~Hf<_?emD?w*~-!UmmW-9>`PoUVtsc7rff z0%VLX9ybMDmV+a^lv+T%E-i?YjkleZ5MwFKQ>%sZk?T2u7V$x$-?0}Bek%1aO{u1g z-)sg7@CM(AW;n%K#Pmf3EmurF(eg(_r>Rpm9ToV8MirOSwo{@C$3BZ2kvlWg1c(0s z5l|M0E6mG?HR>g_!18J@o91FJ)5#Wa%&ljKQWT9oGp1TGyvFtE<|{K{#L zKhx$0c8~m;Gcx=|giYW70BR(=PXiybms5vo046re<3{xcp{6T$A7fWGdLbrSRr>jW*j$Y-QC%Ph5+F_t z{{XBA3>;_j%CY*>(-*+({TVR1NxCEIr_a6yOMj^Nj2DpGyXia~zJjS0ttL|qyd5Luc1UP7T zU<#0ZScS$kpO0pE8Jy z32Dr7d_(}YVi_a+%kw?_{7aU4rwQhAvRo~<>oLN3;n9Ohw;U5)3N3Q3#jx$FA!9sVycQ2G259pZk z)&XSqdeeNKy+TLZwEvSjK$16T7o-2BJ30BG+vuBAQ!&q4z* zzwV-URKvHwnUyM8tZL&01`4J&LHyBL*EmI7Mt(=wDU`HN`}(ds7{Cix-Qt4}B-09Ja1 z9M|ZDCervywO}6+QflRR1jbwWd`6fh1O9t~hyMVYKH+SXSphMs*)>bA>Nj;8MYjuj zK)sA%>Ne7E<}Fdh%M}J`C3syd8NkeOd_fY9VxkT%F@jV4`hoCKP*NFCcQ$`xg*y}dL&vV5b5N|%*>XKpd22WT<_Mz<;V;*y zhO*HOeOwFx*w3ngl;^kD#XXV%>8@Z|E(477Z*sG}po%_DHzv0> zT}mKOenT8=B|Xe(u5jW=iFUC}^dC`wwVH42>5AOdc~#s|UR^V0rR||WH$j1@A}U@k zJBy2r0Z;x$(+4&D`-wyXdmc%Lz0oha;uabR1$$Cb3Vion`;=h-%wKS#WB&lPk;P0< zQ|x+{fUW!;M6}#pGTW6dj4`6cF=fF^E?gq3TwFMV3*rXu46)3(Q3Zvm!>O*hOQj$7 zEG-&>{j*qJntw5IV2V+zCOEH}jJ2-%&=Jvdp~Y28m%~RBZOmY%ik^?imIL9kCEov!{Q!)NNHB_@Xg@t)&_w zYYy|<#g9_mI|3Z%<|qFE#jX2+O24p$;Z(pt*f7G%#x94$i*EdYQ*=u1R+`E?>`IVr?OmMhv=A7Bjs2y$oq1feLuBM)sfCG9e zR<`UvlrS8V{Ba&esFcuX{Z1m-KBFwUBF=9N%c$3-RO9AyFyCRQTJ$UGA#YbY0F-Q4 zNH7?22sT(#@imwE&LRaegrA7fy^@WIhxgoLOT=YG!D&-_l}xe{B4ms60LD@1rlR1o<&e->S)<VrU7LiQto z%~L_t4Afso=3YtLr?CKKDwV<&E1&_x%o+nR3-$>TGNzpwTJZjV0RYhm=;5>ue?Io!$}`^6E$3JgS2~PtFaQpw2DRfV6QE8 z6Qy{HKQ5)Oou?0?84$IT7r$^Nzi+dFg^CE?om&Dr3yv2w_?ONv{{Ww^8xuKK zscF%nLLssOg8`X~NAnlwY(WzS;+|s%6?NaJC_!qZdih2pFRbKZrXzbF)EHn5;XAl0 zElqD!=7d%>>=fnrAj{?l9T$iKnQfzaJ;eJ^-C-niKLI6MLCF+>n_)+$6k+=+x;iCl z*m;4QJ&}Bb`>zx)F(#xw>2727Uz44Q>4j`t#=yCn(i9vm+3Em_Asimy8rOWLf+93E zXu_~OKxV0$eKQnA1+BpM8l1eHRK69Jfzs=^Bk?-k#<(LCVV1s_z*50x>#|ung>AsZ zNL?7|;$Ka)9b<>wT;?q(y}OQu2g`><`Ic~rMf%0Z-Oxre#%`2*W&kaAX}(E+T$TR- zBd>0unM!T*xld4q_i;sPtofC70?z|Bdz%D#?z@gWlN|)BfseZo`xldIgRI0m7$i!?N9!|zumzlAM$4mN;=<&UKt|lrLh69|Qp+$5O{tZOT!K}g@Ly+5vXyYYHcC!9h z!3T zgrM!dBZH#P4{JDxD!sXh4;s77WjLHL;ro`imA0z#geY!p&9N2O3MPk$V$(Lx`GJ6L z>pqU4jgz>hyR-*>38p)ta&Bt&N-d_$1e9HM zS%^lq?|(C5ORrWKs` zAHxWO=IPh6Sn$1Z?gfoq+`gXXA8B){^00i2xp{!_P*hkZV3LR2N~3JTYZ!7$f(m#d zfy3%mL_PBfq-i_$5kNcbIrSY<;vRk?Km#vqO-HK&2*+Ft{Ubq z!ton12fg(X6g6wN(GWj#&>gW_`5*B|VzGK1L8?!umFVD%a!Y}8jb->j{_|bNxvL{t#e&X^sAK8gyk4NeQJYyd{LD|1* z22+^-0Lf6S;Cw@DY0C+aviI(G75@Mb91bOsP)68|nRGKZfPx~)XZBB?f4Ivc3^>yc z=K=%K>LOO!ekG7KZ)D{xAMS~c#5ykwdIFk^6i5F6Sr{8C6^Q=mXehlHM zqqRhK#O7FNgMhtd`iKU34Q}HhV)l9<0fP1_QUn_1P%xonSm^2482C=SdYOii!7ZSK_+7(8L$4R_DdqS%UqDqWHE_${{Rc_G|?x^ z>IcVr+4f9v&A=AXZSMmO1T+?lx6+l4;ka>a76 z0L&;gUl48-f4;X6CYk->OF$Umr>3P;(*=3}dhR%iHsCCSv5XqR%n#49QKK9u>#0GY z_}ohD#i-=+Genit#(yhBgU<*^~Pe(o{p-X37( z5^7*Afhv{60*)G#BS^h;5}XxU{+JF#CSYkOv4|VGgt|D2HEjFtQ^Pj5PGx2U?krZz zdp>3gvz`nas(OEhUa?_*;YjTEwUz>=?mZI;EZHdBRPNCQJH%BDUo#i5pUjucUcoF{ z^bvD4Y0zGX_zQ3q`yke+aXObn8pDZFhqQE3zf;w}baM2AP`4WIPTl;}* zD8tw584vGH0Ux0Qp?G*ukH>2pW=6DORxDF zIyibmlmW^zTnm`wbtt|LrDR!Un>vA!9GWK!W*b3n=y-b|R7RL`J>+yw(JSv?QidvD zjnmv6ToF~BFa%PdKzJ4)@Lx&fpBe}Yl&Ft*A=1|}h`E$>^pG`>b`!AWhy;kztM4%{ z-Vd>Og>KyxzF5!;D}XnJiVNi#q-!3d(Z7Z6698~qzln8OIfk`jHQ*JAPNjZSyv&R$ z<&gCg3XPzHZ*tJyCF0;W0vRQa9bdT66bu!B^hzMmdWQuAV~Iw&7D(9j?66SgEyWu? zpcuX53&=TGv^tx+T{4gcBxD}qItcB&hv zfPJ5SpY-Hn6>D?M=5P>p1*YluDUC?b?zj0XCGa#N>y#S{{Ymo((9{m z4~Ug59;?)=OgZcS0Ab?_v@Y?z&ao-3ckg;4c8h*Gfxr~~N*c%yUB%D9SR~~Id@`VL zVZ^fp6@^g6Zz88u-S;$=2fkuxG86tlztZ6cOb}}9p#sDI07+~eECGvfU<7zaR*;NU z)CHmw1!5I}%qB3E0u(H-=2%~J2sA&am+C&vcQ$z-C9~{*)L^@8dm=jDLYc(Jou>U_ z3zJ;Lcx``Drv@F7HVw+sx#AI^#|_*U1Txk^`wMPVTS@O(9^tgGRhq2d`sqC zZ9bqfske`qDG$?@RRZBT%pIt6?360k5n*Jq>4no1Ay7dZNWeBj9j+|prVG+G;qeCr ziZWaxxgP%j(;n6w{6Nk38^T?8!idzlY4h$Jg(1|VqX+;UpjMb6~{B#o+B_KmZb^$PNq zRc$T@RVNTDsE=*KBLEASX>j|C0OS2^Nv_o&8|{r`YdxJO5iBumDhJ{tLea%o`kAR> zn@_kYcs|kGGtxPcl^wA=QC5P&FqGDn6;EUY1rBAJ(C!?#!+@1%xNFW?2Xj87T3vgL z6?=>ul1)+glp2*7w~;-OIUfld3xIlBvJR4>!IH4AyN_@fc9yO*3Ws#M%n|eVJfYbT z2}7b3RJ}7~O(0zbT&eC24TM|dgQyWhxGdv01$EJYR}gBeXAx`N$z6m-#{qQ{^G*fp8o()!N=5GN_Q{iWQLG$iGD7zWK%QODsoZ0N2rPT@tTwdj1z!BpB5#f!wQGPM<^ zpNQy}nwu~YO@@Y)f4D}3pU@F4reZlJ3HsxmPzf8o1*NnN+yJkSWO9 zxpX1<5?tYz;3#qoam-o+(&4-InfP6L9Uh`ZC|tmH#6uM2bbDn4Pq;nYO@7ntY&}HQ zQEKggcjyLFfcc3rSE4&Yv?RVD@OvPUlZEfN*=VeLip0wbTgHio0#p1F{{Wu+jDDbi zU;AQO(GP!!3tQ(2+|Q$*MOk)W1>V+I1q)7&Sy3xN&~+1FRj;{OauZm0>I|WCUe%A( z#c6av%%yWk3xX|jz08C%pQ2MfYxp~rb{hWxv4n!mM{W}oG&|Ms&MgG~REE0_PjT6> z)f|S5eam5neS*lZ?E~%z;8LBEtYu~yD-M0lkDU1;Phg++Ju0$(;6ecS^S4aO8G> zxQlUeMxzW-m^||o!xZF+bh3oZ4kbo8hnkw|<)FP@darZzkby5sHC%kL09=k}u|QFd z17vOBTYP*(wT0`b*Wl~sX@L_^0HP9-q1gq8fTgxBWJOJL?kK%K)V@dQmK9$j1EGB~ z#z5iM#5qGI9h;^oD}?Ykv(z{Tg|T_|fFWh&LFJOn(#@w}`ipd}K96y))h(T3H!0U9 zawqj%I6rYV#!4BNA#r)rmFiW~xIf&a<|P%AIO&Ez+`_0z1p-jMTJZ)2aWJ@9?qn6nOI8bF6)<)m z2c`o@kX6Nl+ZL_B6wE&?UK+h){Dnj*YZG%( zWN*}An#4+5iur^t#eL4g+laQ;n4ItG4@iOk07NL>s-j2fvC%O<2K~dBqxx9YsYyP1 zj7VIg27rSjEW@|@U}ZbHfyk&}Sp`WK-~vBrF+^-=mSI~M0fih(z-~~b{Y9Wud6=vo;&F#WraXu%{lTiD%9pkb6m*SN|XuE~0_ciG9pzykk z#do6guQ8ZX5Ttphs6`+E2kkb>wP!|w!gU-GU#grpED)2Lb6qm|AK`M$gHH~eGOaI8 zNwoDE8E-tX>Ml7dyI&DX?PPGATp;1rVk+6_mWneLMX(T@5w0cW`MVJpY4;I0iQu?% zH{$$6*g`qYz^?`uJVi~xT+W`NlmjdfF!wA(l2{0&(x-NFQb-I1Ox6l8fo#mCKyO;1K4vOX~XpXpl~{T>{|!5Hvn0u%&+nO z7Xo{hCVD+NiQj|i3YC-kC5ORpP}tv~wy0A}D57Pn59?h_r)qI@n3OJm>Nxka=6lB!yTJ0U8&9}IU}{2U@G))TA3%=kF{VH~s{ zV3z~D2IbhVu(*J=r}r4+Sii)r78SSv!!YD{gxIwd?TKW(E(IRQPe&Li}pt?VqOCW@nNU;fW z3=W49&ypOV!5u{fci|dc%Wj2-kC?bI(KGg%`G^2neZ-^EoF8y(K}~*#xMfwnK4rSM z`$O3oI7fTxYpFNNU|({H*89g&pDT78KB!_e*UrzunXH(MXsBmFUrfJ54#247nerJ3 zGEg>tB^r(Z;O-hOA5=ytQpK_bA7^C1c!hj-a){O-xM7sQdA+*0%em|tZZR4ZAwtcg zY#I{G_BF&}7k6C5QjM7(QC>MB&{Z!V+$CcsNWdzjQ8^zEaR^XV_nU*GV+1fBy~di~ zXfKISES{hK${gBqvd1AUBQGv0X#o$Ha^#33x`AHL!9_6vvuO3q<0-U$VBRys6Ons+AOTfw zBAWw<=oS=_BhDC&n$I%VUxMH{v4u7`vTK0adx$r(RSx~nxnM2&9|R?JG&cxsUviL0 zmy?*_Ria^g`iVfci!Oh-80H)KURtCaP3tqo{Fm;%qH(031OuS#^;5fKZ@ig5Mu8A!dRjh5bAM4BPH5(uSq4 zFyxNib{#lHS;Vv`n>7m?K&2GLVbev-QL}=4M0KPGQn# zXQ689(aP-g6$y)|Pfl33C>o=X_ea!acD}76AQk>TMh_6`h>MdplRvmknn60o^CHE?p%+M3&5l7cc z+Zxk7CXy3H30ewyhebtWN=(Jrh0PTfnplpq_CYIIDgr9bqOv7G$rV@3D*Vm9601kl zqcY|&UFA3AEsB{bli#R|HTT!32$Q=5+QyP%8>`U`oqFuue?3D02QFW19avl<;c6ZT ze$vJj*#zwR$;cHa+n4#BH_@kA)BCkBWia& zT6B7kX#E{Jln~Im1B2Wc)&%1p_J$3w?F@tHh@c09KxiVxv>v^~e84brxnq(kqb#$F zub6}~0{yVBxb*b;OnQJC0~AAfL;G2E8@2ji5D+?d%PGoSlGr8hyWFfeZS}i?AX6+g z6yys%IF4no2hL*>uL1KqIzP;)+Q5nZ!8WP+w!yI4-$B$>$eZB>!UhBG(2gqtE`F57 zO5)WXr+JPn=)=La1sAw*@DjMoyrj8cyOb4F;sX+G)H?cF(NG3! zheUeZ9|Hlxs2@=Z*$Frg`x4DJ`I!{L`>rAYKPPZaYWRgWOI5Z(j74DrE*V*IFD|tL zrO56fvgL!!ajqfDW1mob`i;8GYj6&uR67o0uh3j?d(^qns{?xtB)KXWnJ>747^TyX zW(-v1XWri|SMya{w{qtt=;LUxry3@uC84EqZClB7^7^zCw_|bLJUUvkERO&`6$dhACVB0Dm(%f(65!GhAosaH(giq%W_ z01oNT)S=9{kXXo!sV?&h>ma=|K2Qhu85s=RAsOfnMkm*0lC*Dc&#PjzC8U_GS<`Q!=D7z*2H9jDro?~gcj^}d6V?M`*4h5FbhVjDd z+(r@Q5e)>daj02}=J5`=w2m)=D5h&rOEv!h+F-3f+)lB78jSgH%MwT#AA z64!C8Km3)*sC(N9N&1QiRTRL;0Z}#?mN5w+FaF#GyC5$^Uf}|g$GD?|h$)V(-EO&- z!ZlBGO*T1kXHl254|zsu53(9oZU&;5fM0b1o^?Lho0UQ3LpM(_L=YN74NUGkPtIR) z7Qljfz9FQpq8j8=F;qn`JuyX&CBtC4E*5}1EGFSNu3m_MAW%0^3!nz9qdi#pU@O-05QUu9-U8)LYPP_PwVu?Vs)=b6=jekB-mj0ZCc>D@k~>A{goIr)~hy!OlWEU3QPW*!CzY9VaJOsBbCqaF>jPf^iYoK$8mCSzuySA0i#(Zg@3 z6sS-RUgF|4!}+KX0AR=asC8(Kxc>myh{)Yu<+jC-mM@xLn909U7(iQx(iDL+3A7;) zZ(E9V_Qf|KkAY8Yx<%Q($ILsULLb5q1q&P;L4hI;Ux`hVd;_E68ZEFiUo{C}b37ZG zLdVZksRKtZ%PwFnKe>@9GW<$Gn$Ji5!j8qCLA#pFtJ#dIl|nU!)uY$A5ddd{E;HRp zwr4gQdwu*u1#FM2%p64bwk!he7r*rokqcH}g4$k$@8%gO=e(m}#r1N_lpJf$3`%X^ z?h#ip_wHIUEPmn?VGdQ;brWb>=+|Athb{i<20+{UWoW__TC@#Ln7|VAh=vzzE&vkA zFk66ea|E|!wTtFe5#3DEbC?BMDn4bn58iP4j2mHuhKOcnn2tQcOVr(=qv~DCSimB3 zEXcZI84k#F#95dEClP0yO@tJp1vrjj8CnY)m++2iyVDOWHh;X2Ajxj}xD=QVv<83| z+HnRO6;Jd_;_bd4P%0fTrsY%|hT$Z3#D3rkBnF{{!FWM_LE5{+s)I1h=N%d?bd-mF_9%m|cc z)MR2+ws&5jM^&*nf8-SC0EY*0if6OIaX~#y$9@4>lKfa;F4~qSeanN<@;i->Ctpm# z{{S3yVar^>0b*aQz)Im_S$Ih4Iu)9`?iDD? zXD&j$M{=)+zlXS5Q-Q&?W2lv>jLB0C9_Aio zSktVsyj5EjYsbXO;b|^|{YPFZIpn3`CMY({CArD#g9JUK`qZe@NS%`ki=SrLm4kxC z6#d7Rjt;H4eo3dc2FM{^J|lvu8DhpF#l#VB2r%{wN6G4B+a4>`^D=W~>I86K+_F_34Ax#}?cmEpnt!6kZ_ z&?`ov1UQ6TSu@gBc1uuT(g|Rb(1H9ze430mlwZWhTiX8svy6lN!Ccd3p+q)HaCF2F zdNUGS0i(Mw`hj()_V|@yVyos~hi~FoDzxHXW5mIYF#CmLg1_XUwJ$^A`GT<#0b7Qg z%OGB1Yf@b2B{pKw<_m7onRI>;*yxqmG zW*Zn3QG*Y`<%3WQtE0_AZfkE)b(wJs4&yG^Kh#ZyMJ_NGR~;P?#w*(@04JOrT(7%O zQwup>SYVXphDX{SV`ZcxUpnk!fI@TjxlB;8klh^0(?N@w>IQ-e$LbxxcJ22ZK#d+t zvTuY%4ZV_}*hg7<@GPfj0?bW#R@E? z;PG;>XRhk*9yXXQV{tG#bKGiHJ6iQqd?Oruf;15ezYoRp0bEqOOE4S!AVCM8{;5Nb zVpbzpYu~Avge=u%irMA^FISrC1uI5D&rqe5(nq~@7lksQ3mtsLj46x|HMsj~2BJKH zmbW;It_%TWE8t;A-NX#Q#x?%{`b0!>x_b!43gwncV7Ik<=qsnD?`h@Q+Yz(byQQ^&QgLIq2>L8)|!WOG_U5 zxzucm^j?n=-xF1&aq}!oM+ZVNLdV+mP|S2aMne0B@U?MRiQ8xJi1-q$JSgsAhG*FI z35f;1+|0cNoD5vgLhU6|)z!n?%bi6e za6}fOsDh%Y2j(j+l}bBH)txXgQ&BEMbvR46FQ}CHh*6_cRmN@tgQ8kSh!E8e@`m8A ze$5f<6=i<)0aJ(5+Y56Budi{#507VYswC8FvRAJ#C^~pxh*7w>NYP)YtXB-&QA!NJ zQZmc7p~SQ)t0*2~^dmrahlXZj=GZxIC!(BIuY-wWYCK8#g-4HldW`I~i+{c#VS?Z| z_Z-p>>ML%Ul{sSgP?kJFEHPmiGpM6vOVqK)ibS057b;u@!3w1n0ub3Fg1p6T*hf#O z43?mJ)KZ)-RHDIt+a={x1NVT2q|RXaJA^_V*>1;DtO+w(gQ9Dn*Q;oIBUg;O2Qs4r zM~8UxeJFkirwJTQc6{{Uj6n2q#9QA}cW26t60*THUwli422 z9;dbH+(S;Arw(UfF)HGldmON%kADzXh{UaD;p36?#`w0daHq^iaKaAV${|K>EgeEz z;f<~@eM~K^eF)2D!?7S30>7X80Cm6q357%icv9M##du6MlnxX9K;~!JSkJgh8?)Li zOeC;9q-h1t$sG-({L<{0Y>VxR0Z+^T_J}m6mL64l_C|H2fEv}rMwN&*)11x(aS)YK zViiQYXkxdJj2a6Zt+PJ*C5CBVs*ck2%s8WKh_xtOK)f8pFJ*knJg565mR93ZvCP{v zVR-tQ@s4}xm|kN5Ag3c|FNyLqqtyAAzNAmoIgFTw$mDezdP}`P+1Uwz3fVj1>RR?V zMyRV^zT&`dUXCZD3sGx=7zJ?6g{oaeiJ2jW0ip$nUw|MmVjK&?lVF!?I`cn&!ldUwc(i4Q&Tpmv+6KQ6dO~UL}WH$Vjz(8 znJwP<_YtKGjgfAg7cf1}Uql-N&t!fIUqi)4zf6Vh7f8+fdShw=*VH-vv7*zrJB$&T-qz z(HhZ@uun+d(RX&Rh$84YZ`>v3J0KW zo}o8r4PKvcrdCHTz9B~zFv0xD+j7KA}hEHKUBQB{?P-t3&Ei*@8joM;@RamSV5Csceer zh(T^Uy~OQ5fYL{E!F#F%h=%L-Sm_nB?f^XVLf}E*hYxKN1R5Yq*kKZL3(|zs%4#|e z!}*GFnjo`Sx`B`*>hXV3bz=VMFH){t3&?d53EaZcn4fBovZ%*Ta-6yTAZ*Rdssa>& zVV4XgqFZD@Y=8B}xFS;G7WWE@*%ga9VS0bO4-n-jJpmgNvRHKaSIHGoz<%O_gQa%? zM)T?^T`T_py~p>w1>6Urb1#TbjF= zSdx+uPHHlcB@`l{iCvMf?259*Q!rlT;_0)whJehE#40pPQrL)Dhc4jhXj^7u)n7z| z^e}#6lLMF3#Q-Y~7z7^~d-oSf3))7YPGCQvdSXd5ANd`kX}v%4W)Qw2_ZWygi#dKJ zH1LaHV27!Nig#hU^(sZ4)#-qyKJ4lBIJw`V5cSv4* z12A3z$b7)63U^}5328(z$an5k?IC|NqH0QmL<-*EoCrz|nUpESb-T^VY1dMY+F&KI zFtP_QX!~-zl?ph-N~ESC=uHnxX=klOT02N%;o5Wa3`1f;9P+&|Wkk^3jHD$rG+$9G zwp~j}BNj`Ax`4tnUS0-Q)lWyqFWN6=2*(e!XhE19dbzIC{(*1<`gmW zx{0VzjrB78&@BUD{7YIDvGp$uOn;#agF)br1si{|CoQt~*H9wVtw1p`n~vy9gg8+c zw%!KjCC(XzsG=P7&iibEi7s1U- zW%1AYn6TIJ3A{5w^Dc5I)*R5wt%VhiK`s@mk@4y>Mg(nqOAEs<9aBslqu+;dDkP^W z-8Tm4?R&w<#G5yPY)XqNn4_FAFlFZh?}+t-)xAASfCc!8AZfpc)V5QXAiOgCDfavK z9lcWze=!Dff+>Vyw{c1_9r!9-AZl7(y}+cm%ed)lO@vhn^G_12a$%M74eUHW63N~3 z?MJ2hlx@NP0CNyNmg7-`Z3>xRFgsmKC3Ls? zAXeEA_@DR$k#nJX11!vE9*brd?sq0nj;2s+AH*P=pWig*}yj!TUw;j7Wj}E4jahilF6dt0; zLmP*(Bf=T!I8n^5>8^HEN8$bCh?OQO-~j3NX{^lp5(g8u-xRgG>8 zBmFV^m^8m>S{88>Rt(z(La`0zHE>{Su>tw0f|KPN#g_)6G|SO5&y0k$#zHEri2;d0 zuTW9}X>SZ13}>?WAW`n0X~LsWK@DHm+^nGk(en>yi{AeGj(ltKa=Rc(-9CLxfG>#kg`;|Pr*T8BDdc!N_Q0$Yu zZQGI!F?cYppZX#04n~^lYbetxzS;IbJkzCYdyNMyv>4x?`jpudpHLGV68PmS6PFMc zIawj2+{rNs_pfr=wdnN0w-BeA^&6W7pE2z3vw`jb2uu2dYQOlV7LvX8Oo+%Ae&;;h z^#X?v-U z;s~i<>Wo*}iBK$GboUW+Tmk{7Gbvr#pIIb6HpOB|o-1_bmQO$*!1DO5mQ_45$Ho7rt3{)K?%x?o9m z)r*q4fXREGc0}|Er$3dP_^xVtUU$R{l}YIbo9kpAk0YvcAUTV zRf44_$c*4NQ_sYAwqrlN!JK@HMxfK-M2;e}tN#FrMk8QcPI@7<{{t= z##zAQN9tJH0DQ$_?a$mW=^rQDPaGFf(hQ3Xy-D{R+ddB!9zs`Bnc#RP&n|tvfe`1s z@NBP9^vI(F*<-lNlQ!@W#eExJvFc-rr^~VN9R-e`@e=1SqvmQT2es}k9V)#cvfxzz z0NFuTA>YKxh>(5Zs4-w4`umqtC)#xeyERbYg@r4Fm{9YV(GFm?rNQ=8s)E(Ipj4mv z9C!!!8+9A@(G$(^FxblPqALNR?*g*fWEyvIX|y7~^N6ZxW8;ZuR*U+V9&kb-V86a6 zD-mHsWg37jLAUStqi3v1V{kvzJ+X_HNMkS>(?4+Nu#bH}QXH!vC%A#b5bEOq;ObMI zvT0$o98@uqs#aPX6k}f0O+F=3BF{u>3Hun!Va#E=CXcumMN{(#J%&)$BB5EOd_gGS zguv3*+yM-&`HSW5!^-WNW=j;Crsc(DlHUUd$l{}t9#%wlGxp3Olp$$CDTi?yF{oRL z_V!0{S6MNb0h8LV)UHaci>Q?Ep`-3w)s1C&9*L(SZf;MAIBmP*fO>?K)c7kML8hGn zMFlprL!^Dzfj^X6C=c{ zj9Hu|J(8md$_JZ0kt{Oi@7T*AjkkaDOPOhs(PdAFJ4=bvkJ&PxM6|s=C6Ul-vBe>% zP+Awl@R%%24W?CnN=;*YucO3N8U%f6<$640SAr~Jrk#AjVT&@;cB^pT$e!O5aRlHo zh1he5;Z+pO%8V%!6god}9v5}SGAq#ux}S{0jsXx zc-==uTJAAhrdV&>pc**77_O6;P`1$h#Ozpc4po$Ra+@Wz8G4 z{0C%p2;kIB10_cidR(z#gu@A|<`dOg5A;UvnQ;qjOLZ5;;ui>CFkWWnNK_m#QB2B~ zv}7d2T50{na8I-xnRFB^VfKaalWtz4BEXOQi@RS zTp*_ng?+KHg3kL-Y`h>K`%a9h2)nQh(QsXQ6^!}W40jR0enMw#Be!rd9k3%4i=83o zQ^~40Nqk3Jf7p`Po30Yn#Z+0r#2pcJ{>Ce8l^hF;%dqNPF#iC^D3>zk)dLoQPTmWo+#fizOO1@=t z3_whr!0~{r6Ln?oWo`lnk;Cp)B%r>5xlrE;_H**WzUo)UxrGg3sNfzZ>bVlO!c)on zf$Iq8RlT08r~s3zb=wUu(NU5-BSbz9Nm@!Vdrgyxs6IQE4rCwBVG(ya?S9~G%ii_L z8JjAfRt*3g54}PPxt@#F5N8n2`>23)4x=q#9>>(?qCGdnu5z%HXrH(zR40-e&jT?Iz|s1QiA`RUt3>z0pl!(g;f%7sxIw}G5Mk;|Al=dP z9Q_6R<}_8j{{RsV+iULP%1`J;o7zA!jLqV}ANMg&YuDe@q8l*_I0*WAfa6F%xJ0(0 z)G`twJ!qLL#I}#r$Uv-IvR$S31py~e06Chj0GbOB0a_>Ocf=AM1MX0>YP%!$3;zIU z60phC!FK2}+5uAI+M|tFdSRBZoIH~8)ke(Yh!if#jNvH)zfn+))qfATF^yu*T_?mE z-ST{e4ttACmhn}IP;>6!aNl>63oNkd-lTHqgR%0OVUgmSF+YpRVZDjb!hkznMWo3!RyZae-0P>|xdX>o}`3ysM4*qapJ)!m72#U&_K)I!(0K35T4vm{F za1L%HX05BNmwYoD>K=-rK4KzL0||toW0D*Qf~G8E=;d=BW~zRYxCAG~e{hbJMiS34 z?3W4|+}qFG&Y9Btn0Q2nRk;GJ9Z&irQBWX2$Tz$|YYfR~&T;yNdJl=23!BA4+RUq59b8GLx;AtBOP?eXkujNU zS&vK8>U0HxPk5Huh^;vG%M1tJ^v6mY(+!l3ppO3l0hcWVWh*#`Qkz7jw-4qnfWfDu zrWFY<_79`PwA!d{XqWg(k(2jbTz*jY{zeg6)>x`kFa8MB4vCc@?CxH!zSqKgmf?We z9o*Dr*c%t=(Ho3_Xcm^afu%#7J&dK|aINmW%cva6a)ztn5g0FQ7qGWs`6E%IFalk| zo{!uzN}?E3vH|@L^yVs}jEWcqH!l?Xh$_W@5n#ll;sg@Jpo)T5)Js-Km7!Bx)S$Y8 z*xV|PCi+BJ*D!5nB%t(`BBe!%yb5tLF&$P2i3F*bQX=5Ju{O?FrUcU=ul!1Y7dUuA z%Ua?tEdYJ5mT(z=iH#_Jl6}mvHAfm&XB6ZA0FL8yqy^Qu=Gi|={i1rWQNZf{VEEGy zn8Rs}_iiycDl1`@-lbGi?j>3CHN-0P^m~|w#=~BpaIesK94~C_8UWy62-(6H)oSC< zdfo7dy5J97K$^W`ZgUIgF_uiNPl&ZwX}+of#nVvWLqtseB3bZb(9v`AsC4vy`#}V< z8T-w~xY9}0)AcN>xg4`2@etaex36;r5E-LSvU`y+*mx4@G>__9nH66UBrrwr!WVmP zTnofQ4VM1l%uRpc5rWmPh*XvK&g;3=h*S%o{L0JP=Ls5twNVP2iIQ46X~ZmiuHh8A zVP|km(6K#ANJl&ROwE^w6q_x3j~>tGreiJ0+1=)&cW50hE?683?&or=FV?rr-p8Ir zKuMvP6_zhjG4`D;LO|$FySfr&)sIO$=$YxpnR+1BJ`C)M|n)Tvx|3yyCp>X$-d( zH3nL?r}Y8{D==i+=*LV|oT`dfYMm&+(C!s8sZ54%;u%1JkV2E@V(*RKoaFO*7)dAA#$TP_7u9K)RgY4I2cN}+cQo3WwDJd08mG>9qw%^ns zF?5Ntfm;WX<6@U6&o)fiofgNNfv_sQ^!kI&EN(s>GWvZrLCyEU5Sr9O1JtAzr0jP* zFr%U14ZhLAWn9)zuW`^b1L28Y**jm7;U6JN{{YfZnG4PRp?autQm!FX|Gv-w#8ms%4)6C1QL|jNfaAitHiF7URp{oS zB#GCm*upr8XTD}>Z2tgEdfly_qqZU!Ow%p2i`JMI(;8M?o3n;G1z{ZQf;vjocwW=l zFO&yWW=GK|*$RgHhK)f4GW_M*_lDHW^xjus@b8lP;kj5R$*{{T=dLU;v% zf{4M86!XO9GjHmQ=s18eZWc7Yp}RBw@!YSOl)SqMY#lD#FMgxBJCGe;GQbZ*$&&_S#S?V`wcDt|4BCta_!IuZ z0kxk#;uTK^0SDD&{gI^wuy(H82XT;H?Y*aQSV5~Wd=nq58OY(4aG4ywr9Kv`r0WyKNBVn)DXP}BlX ze8YOj0quz4hxP$|K}daX?bJ&IIfTYzKR_$Nn0&@E1arJXw7%Ce{R@+Tw*5enY#rc} z48jwgDD@KCfxP7-^BmnW=&W1rSNRxf_|0`NPu}A+d_qrpUI)2(N}kK>(H@&8`-f&N z3O=PGnknw0%9no{8p8_xkxJD}-XaIYChS6-vjuli5qxyc;@8)S)nGoc6MwjtNTOQ4 zEP_#DhtefvCLidD%%7n*@L%&ed;C|dKr%*KKQPsGm6&!Aj=h2_*4HgC!<6BEqFRdI=%!%II3E4Nkm~-uK^4ZoX2_ESp|f1T z1C7guny$}7Ez*o+VS9y+fDMe&Jj~3OfP^Wq30UO!P^GgzrSZty z$N_vXF;#G3R6;sm46Yz}=DKGWn?Izu#DDY!&STn@%6k%{A%xGkk4avsHT#=0YJ2J_mio>y zLqgmBK=Gq*^%m|bc|Z16>!YBqXGtYK;hk~2cUQTSfj2m*`ImE8KINXJ8rT*+MJJ+M zITXz~S(E6EYF#mPxn3vu-ELJn#%dskC~Y{oL@=WWix$*tW-GkKys_Tn?Jv;t9ssPanNV)Ems)O}%+V|n zO=IRQM)F4qDNEncFu^z(WFe?X6o%!92G3Hdoa|n`Kts1w7vc|4YLZqIzid5wh2&H$ z{-GcqulE?t)nTVRBvvlUZ0)&qwSwgOizPUc`;>UB%bZkdp^LJ(xk` znvGPkUnadq$gdoaaHb`bCVC!YSzC^w;g6mwJ4+;Pmbi(p3brBLaTF$~zQ^OZfCj?f z^$?&_Ip$%)EJL8mw})R6(4Lh`@eKmfrHHdIsD>kus3{-=Y~+qZ1^b19VTFXxrks7p z>E2`5jv$PP>8@fe$=KKP78biJf82CmM)D_71F2hGp?P|hK+{YP6OrNzS-xPXyP0&C z8F&~~;wtFO&WVM_A}XxZz@|nGOPxZM#083t6k~Nv)?YCImBcwHh^$r&NST!TB8v-A z)D{nEl2b++eK=OO2e4o=yK4PmaT2;k<=BAT3cW@D0F&^7gFQ>ObT&m&QFxIM`{)SJ59!@tto^ zxtOzxx|wpdiO<1BS8ymACTd@uNJ|c)p}xrC5!Yg%o7VA03-=bLFZxkh(tkt{YuFN1n=kOQqT-cUkO8q z{{ZM>$uA?r5`Yo%VyK->!`vqWJHY0M&a-Uyh-9K)*$VP4zjY2ZM;{!L1IcRn*gfp7V%l{vmSth&KJpAuZYJTh*`DA_I$~HahI>tTAbF2l|zMWqzZ4 zOX@I3<{a0^C7L}j?$rmq79a}Vp6XEFEXe%De$qzLz(Q4kPlR?>$#wX0k=x7$)0p3+ zBc2(Q@Fo~sEYiV3xgkPoUN4;dMPFGFh*L)Tb#QIK1INTO>P_&xN_i4;RD&MN(m(RG3 zhVqPLg^JRtCKf3xhwf<=PmHj+4uxf(F-BFx_#8m-MK2#nE~Wk+rISsU+z=%OckH;9 zml(_yFKbk|PNew}lB~IpB16ziep1?p=2IO|c|J%3%C%tp!B)kK z#*NPOV>A%VK2nDOK&r(lpn%1KHG@#t<{pg*IddF=6zr#lx$Yflfft-(+#-sRRfMjf z)c6?rO`*gQIcsv6ut3QWqu02%Bh+(Bw*h1jMH%WfiOfKT6qfuOnJVCJ;H;$vjHC@f zt0Gbh3}ptQ_%{N?Gu*T=BQ2H}=cwAySm5}Fg%p1F-%<3!L-~Fn;}vwnPsAMVQFhYm z5E}SE41VC`s@SjxtAs_GxpDS}LVC7x+^X7d^_BzomdvDE1vT?>)J7k}$dLdZjOH2E zls%{S7BYjO!2Hg<2cxK`5&fL7ss8}dLjM5$Sgg4J06_tD;}3A)RS1Q0M5x>|A1I8{ zl+FVk{c{rEE%hveH&=i0F2!HbaM}vZycbx3Ra^A#ExZQ5)I@5EJwo(D_W-Ai<~1}? zFP4CrazwHlm3_Gg&i7XE;UPJXBPAKwpjn5cP;l@)n zg`x2e9Zbo@waLu62e8;`7FcBR8u&8ZKqx>ea(aRdv9%-~5aH}&Toj>`UB0CZp}ZfE zQ1>T5MtbF8QF7v76KKuZP5paK3KF99V9C7x<_8UKwzeT2$CEVR^ygR zOVbrG--?u|0{aB1Q6b!84p`MH1e(o}KFGr^b%Xkr3mP5=aj+bas-&;|m%0-?FXB35 zh7HaBgK(W#MIiNXQF9o#v>aR&O2Y;uauIuWAuR`;lO&wDKX3x`NzcUM zL}IcAfmQ&@D%@8$Xjrtcpk!|giy~(1K^^cIJ3zJ&kx;s+{^N@)wOz+mt5WK=N5w|> z32eB;RE?&ahGDu%Qy>poz{9H%{47G>w2sA@LV@&OGUzQ)++b8=c0T3j(&wOzm4*#} zbpp=mf()>q4>6XuUkK9Udds*3fe%sH|L$YA7xfPfP$b!}kr9)AjQcfu^4^ z<>&tZtdtp*`W0ugKISWF(fXQlfq$sN3av^GQGqon_WuCVG>|F?FIO2ul&ElG46H0F zM$g<5VPLs_B7t{Tk8zX0M`B_Yd$TCfdy0SfKrm6RVmpC^I=KB13SC>^U%8e*T5IABoEUw|a9RGR6kL1v5px4mXj+Bsia@R7 z6B6DCsfIG@;+1k&FffC&=NAI$1$S^_Q^Y(Pc@S+2jK8^>3$OVBfwPH$Rr-tGF%(VK zzI{t!SK0QtnJW!A4uhz_jV?ZnH}dlJ3NEHv0hpJQRoGurrGc^8Zw)|&gVrS-KTqZ+ zOEz9}?m8!Q16rZPC19&`KTsJpWy$j&4K`pbs;$Nj;%Nm(yXlx%uNC@KWH`lc;YCou z;!~Gq6O@;4{vtcFP6&G;tWLL%6z;i-p@kHjQHFtqt3TNrb|AVTigWfsEW}B1R^@^) z5~q7BQ`0iY8NO#cA$C?ytM zL7^m$9h0y;1bMEs>_?Su(0d(#z^SI?_Kg7JViMsoT098f? zC0#^wOj&vGYA8ypWg&1l8|G32Vct$JiFNP;-!QvU0m|b3CNyTwoR;)LpaW;iq}Rd= zuAdWI9M;Ta*Od;?c*ptW)joTZh`)iG`V091R=_>tZ45J{^TMQBg)2A;+M z7fc*vMDA6KwGsu8UatyE?B{<8DoQ_v2)0}gh~a?M&I^rwYNESJ32$jDm6(fExBinN zIDkn8)R!aFwmdTUH(uafOpRIWg)|I9{(6bWa~;7n!c{%>DYkZfgvtFc=sUpLB}QhJU!!q;#- zk-TezhMtu#_=?ruNY+emqpUMNL!wY;EJ)993;7Y)3dmK{s5WM^usE*c%b{A=DOohS z@E{e8!802iL}p;I5DJYQ9;HjJm5szuYls<$`ix2{nt-affhcK|^$T)G^E6L`dyxcS z!|o?XQS6z3XzmH9(0?oeDbMo-hEp(AcM?tng%)GjGEJ#;d(0U`l)fDT zDxq-qfATkh&v^zrX2;h|ueO(UUf`)nw~^{LNPNs3B>kL9w)zsUkYe<429xm68)#S}^a?=fWc4_Bm%&?d(x5Rh@bqlodO3VY2kw91Q`xx?hl zq>>weMwyI#vvomFQ8bzNy46QAJdLTWJw%8xO-4{lUoi<_4>HYEo?%!PRQmaV3T2so z-2FoZKz`sYs_Bg|Y|pOKea8LNPu;$dpd7xhrVpas;nL5TX5&YZ9@CiWkyrB@{39$F zfU|K8wJzUq{sPa4+|VyTirv%vN(wlkgN_ujz;CFa^*2rt{J@b?e+<#nfYAKTuqF_$ zqisn@+V>Ap2s{tCR;F_=k}759A>v!auSLc`(s5y1+5Z4y(PsYu_JQ$%{vd`9AM!mP z#yf>BS#*iQUZ8g7RRO5owERGaLvnW$ARFRX3nnoM!jj*gQjK#3!GO3O%JZym+`eg+ z+bE&+1Z@##;tD8T`t=I6MZ5YQqP$hAXT?gC_$~+m?RtPHhZfsh%bX$NHH%)o%Qr6A zDRf(>{YrOixBx2~B^n2Yz9$^6K$+Zd#&zo3vxtFYP&Rz`Ei`Bi0qfKnJMQ<)PcSWe zVaUs*-9~#xtEsDleIwk1-$3}0`kB11dt0ui4$`c#Itq#+tdQ$$n-+M0e&x;TTQO;W)O;hrOY8XEABgVpSp^3N$^UO6c^=+ z!pq#;UGa{QA4aHF zu0CS%Z%8_)+*MiIV>SAWL3g$V8YX){kZ6qPE@w=-B{gsxfXrnA(s1(+q*Qw)0#&p{ zOScMY%zk{LFuzjwxG1bK&8skPEMTtVp=h5_ zvjZ=wY!cN_mPFI1e-M*UUd;#8Wx+&RQs7b3*qW4U|hV zZmzB3QUK=~f*c$jsuT=mWt@G+Sf~$=Z%o|qbUcXm&9WB^V>ApwItFR~0FyOKe-HZ! z+`mZx+#h_=a2TLR1_!bTqRHB@zf!eAtBAaOO0|U{TI$%YrVn$0jW-1iio~*Tade{T z%LHju;x340DLL@$^)ojvA4GrYfy^GGXuk5fU@~j>ERajCQ#THjv4846Y;Gl^#JV$D z>B%bGhx&)pnVUmRnLx*?Y`SCFf%Nqdun<1ZV|Fxs4&X3f>~zLK8&|%nZqO)ApA5BC zJiC5l6Be0)^)78!5BU=!UZtRBB>~J30|`C6xTxxub<`EB$r$3=Z!gwi;A-3>ccTGU zEeix}45Le?0~Y@P^dT98FeTl~$ig=)s8^uLa^%>6_81tgxomu92HLac7>I>0{mPXE z{Mx@vC=`7;hLm8FMOPXZBkW?HCJKe=w-Kh)9woaKL$2%8%wvxi+-k}@n`;nuT3;7Vi+u4Z(yFEJ}fM(>-#okyCz&$8$V~Qo&k- zqNH0>jgx<77zTrg1zp9TCWr@SF3cT$#)82MMB$vQ7gO;qSVlOO-!U4iAMOEwTwIMK zh_@alOEI7!j%A8CfgORmf}zIRguhc~GJuJa%z%rTjQGhfFmn_ai1uH^N-l%`%7q4p zQIg|OQMW`w7@fHli2VcZDQa>dcJdz)bXHe+OGRjUnOsW=Q@t_jRCHZ?Dk@tXI1l#$ zn;Gq1SV5EOTdR*uC(H3ILj&p%0Kdt`H@~NJhaEov-hO4^)&BsTOQSm@>eF`tp3(}NgP(G|bx?WdcHo7S%TLr1 z8CoIh6k#5Ke&e~nrs)EP>`2jjfz_-+9!nn*kS-+@N`ycK^D0IOLZyn?!_zeQ`sT)- zVV&Ey=NFttYO>k`(90A?$q!JK5WBH;HMB!12EL|G6$VB=&^trEY-G<+BS3#NdnKpD z{-{nRrpkbI#oQz+!n{0OK}&+;A4H)ywM<28Ht(B{>GGsOK)6`#sBM=}saxw6GMSDLjmIl*-IgK+PVafK2XVi;bk{;AU4n{{R^JWmB&3@;w+f zD=i-wWfESL1Ds?fRx=(`MtWfM_dU!I7#%T8Fbz*biC+@FAG!B<$Sl1^!gC!I0gnf9%866vZonz=+#1IO-jE)vz`mi1z-=}XUBflc+*zk6Ak7w3&E)P- zn|VPmaJ0AVdY#k*->6n+Ok=?olvfdM{{UG66D!kD8U;%CUBqsTF)YNRa@@Y;9Y-&c zY+fK=NZfE`@>OEAECt_F2x?u$r1Zq2aWU`#-zb7McVck+i$ivKGl<)e+(prV;dfyQ zsXVcqNwN1Ya@GnH!@9<@~DUVD-XjMF0A9Fd;-nxe#eENUb zV}PuGglro6lnIY4ay*YvE(5jy08og18E3e7HJ^xDTywaen;Q(oIa}^uDMsR~j^3kM zzT-v$u7p%B0yM>Jdz`-z@KI1y#1+E?TwEY`AJ-FKARQ|a;^{92=r6wG1txNOj_9^5 zK1oa>G(e~{nLCsg7%xW=D5ACef;_-9WgamBsoVwN{{WJk2P-d#YOmDkO4`1CrT+l6 z2i;$#C{UN^wpfi2N+%fj5FUfDtW-4m2@d;OjDfP$Bmf zs_G-dlGc9WicVs9N0#0rU93$E%2an7cz*$6wL&g5F0l74)n71KNQYeein2MKDK#9` z3vbK@$A$i4m^gMksWJlwj^A*t0RxmA2VKH4ApQ>J{j<~4GZbI}$S~uni#Q3<{{Ufg zwl?&C*sm8~5FI{fi)Ys61h5OYScQ~hc|D+uq^09L5{I+gmGulhq&qAqA{W?cNPVfu@v z)f!&!+`)pMGW8IJRI821*kV%Caq7jynF8d8D%JM*fSYN0^?sPH3G==tD@<3EG+w0@ zrq9RJ3K#vZ;yNm^_Zl&#ZLot9}8wIzke@X#K|8S!wjbY)ACZU?0q&a6H3ID5+rE1UV+<%c{8L9gzkpy;LHn z4%b_521+@rIU~($hYv;Z4MBO5m&9HQZh@j`1I$LzHtuRtE@kg}Al$*= z2hj01Pjy@FrH9Tiw>4nh>xo1K@{Sn9ruZ@Oa7cYz6&$0b-?9ZTgGn&*#{I^?>R1Ok z{vdIx82;gpKmi%b;?q(?Ifr3O96^>%J7%9%;*M?u0BX{2Yo z1h(Fog;JK6^(?r;8~`-(5C)TG&%x9tE~?md1m#w}xs4O2KQJ_=T6GpdrV}Bk zyKyDG5}JxYKn%haLJltJ@R!V3z-aVJX>H$C8m&proD#$(`i^ZogtH^zbcuzR+TkuCFX#jD5bB71G(kaV zfNOAwXAA7+{-RT(Aab3>0}cB^1agF8kNiY2ec)jg3-lkPFJpkf8- zj={L}N8ABFP9fOPoNTd-lrSJ(lObH$ zU3U;7pno#zy^TV#3{D`@394ci&XvjN%U}}Tv#Fd)7yUg&s_ija<>n@DEOy)={-7;h zqhgA`CS`cJhB#89JcB1>Pj-ocWoG}b~<{k`0b$0}4>Qt6y1hHum&S6E@JD@hQ_BS8AjQ7s`y6N|29YS8le)yF-9;BqlbN-G_jlvGyJ zTIyvInER-Epk%kbO;|7vy%1XSSNGf}mEY9R_XQOQ*qb5(LYfx8xorV+)6o;7)p@Nm z>KWEX&cE_fhN>Nje#V2YZX6+^;@Gw7T{#A1cuI$3KLoLi+^3_cV0dk>uUHnCObF=0&rXgY!C$cW2r1;8K+hf_Jn1~QcJC+V&kwsh@+#hI- zk{i(R?i(S(1=5m*;exQh&&)Mmq1mbk!a9W?XEQIB&$2SOAJYuw9YNH$o(k~y0<>f7 zn)`}!uH_W~wii&GF&ZA@E6XCAxHK%8AagJ=muRyQ6TYKp7_XK|5CiaGYCrobRnTPc z?=W_>DIJ8Ewh#)JmZ5HEs6b;F9{yumDa^739Wwl1)J!_t0>Xij6Q&>3dcfSWzEQ%> z{{T^}DpbU|n2}XpZf6 z;5wCoZ8aM<)9U@eyaIGG{$PY>FT>oqjbeij7Y>G&BUKM$)CzpM?j=BYr*ioi2m&Sp z9gviEM^_5B+&~exDA@yIxs*~=0UPhlJwUj$2nA*kxJ82j$1KmN3o!ux;}IS0ETI}6 z(vZq>;33JD2AvPM`o}=vZmzvT(2jnx1K|dyuTIdh^1!{a4xy4*wsJd#jVd0YHzV;d z!Ft*1T|`dneuxPTw-WY>nifa*3k-@&kKwnT5A}nGl0Q&Wb|4O!FvZt{+NDn3 zUYLt3rxLUVIrUHG0g!huL<4{M4OOqx#JdEpUwaR@a^$_c7r3ahNpL1#3aj+gGe-yR z7Q-S#{yx7k6!3S{<(ysYbQ(%F)2c`ih*<}7w!r+)M2^9aRt<%teTD3rB0hA zYzl}kG)`-b!*IlDG-Pod-W*2kL!jD?U8S|^T0)rz`@uw$=hxyzzk=vde!97jZ8e@R3t zJszQ;HK*x!8$O%ZYCLzHZik4pDRE)832}OZvV6e60=4)1xQ!^COWE@*&?M}N7vc;X zPknPXjWy8-l7AvQm=`Rn;ByoSLfPH%5()99EM(DfGs-3=U|`BEoIP(yns+e_)LBY@n_^ua0OQyavmP=#l5_?fnB z)iD`f*>jWuJ&+C6L#R98ZY?Kev`Q?v{{UeQ;iBcjZUXp0IyWhqmOAHTa%n$MKH|T9 zM}WWxe6cv`ZXvZO%a54k02ZHK;YC?^>fmYQl=;sS3_)WDD)lbdW7V4Z#q60{h`yER zY9Ib;DOeYLhfKKOFxHWU#co=Dq4qf|kJJj~hj22;I+-eSk`@X2DkmP!P4zTr;wpz7 zL==o0h}>)Nwp>yU1_~CgGO!?_Z0;8gsaCco62;Da%ppK~t;)g>eWqsuZrxWA+dzq4^oOn%^|DGUqz`KhHw9w;^C;;o zR1KnVe{nKEeM*f+PeP z%dj5es2Ib4pe|t$?}U8EfPKcaGabl{^n{o+6h>8Ep<+qvM@i}}BXT0vPGHtX3t07X znws*;_%fj?$3xe+^;`TTz-uczmK3ug3A8{t?D&r>Mc*{C4aMn;DMj2UhF!os zT;me>4aPFO#2n%*w{bAMHx-~Y0vNaMYXY|~chXEMTPWqP{E3pU>SCkq{#el(uh4>q z1?!V2lP7okP$@VYQ#LxE?j{KT0Jb~WU&#Tig*Xku61Qp%5Vlw)J)FY#@Sfbj{{Yd) zf_M$PvzRU(xt&YRWE@-o`u?u#1IW{Y3?EbFkHl6vOTd$6SZap!8%yaP(O&d z?7$#5Fp!7nrKhosRAozS38UsvAy5ARWfg8%OKW5&APE;J3zK3sTdc?FtkoPYDFxM2oPHlSL{mTNc z*mD&35Ki1iltS%z*vBwG4oD%O`;>Ob?n=9fXmiN|e8Ln`3!)tAT3N&!bVn=On5!VK~zM|?Y3AkVgqKcuwUr=gb!*v*e#0<$<#^Dbb`y4At8wA+7Sr39x zd`a=APsA*|LR>`*y+9bHTJ9To)CVKAB5vLYgP(BwAcS%U z&jf3C0m1bxF+h7_-pKyYr^?GdrT+lz4kD}OhtG1N)&%-uFS7iao2f_lq|9-{(Ai_7_f&$htV!z2&1LWeZ<9>ZifpF&RadZV|w}dxXiy+WAb4yT_+k*vc4j?13sXrX@{|J zvwuI>`Hn$dizSxY;;3T}q)-NuYU;B^Mo1 zHzsVB*`eAu6N5k4Vd+x(T|GhxK-V;0J<2cX8 z+jKm>Nv1~I;h2F+7_)mXm|*}aseWsiTOstnP#~b;!ZHpw${3hP{dAjN?&kdi()QmEn%du1+ZY-kv&63ZDM3l zY8GdhH7Pe1UvSYW#h>jQ7G7p$Vc z9?j@Qp)}AtjSNa&`e334*}_M7-aRa6LL^1Wwxu>CS^mh_-vbDtB_5dWMJw3w!!lM+ zSN^3h6Ny-l)Fy@5A59}+EYkZK(|K~_Ul991rg=Tg6gczvL)a(F z+6=F$s(4Lbe{g0ml~KIVR5y$^Jajh_pxvN4DZU_5CKn1Bls!!ZPknwqn zzN99)rLRMoU{Qi{z(hMTMS`FV1GBhR*3{$<1p?gEyugF9Xs53rO^3HgJC6K#r)0 zti>|ZD-_*hEG_1H$zq&ErkTl{TtEhAafqORUn_`kPn}HIZd}o}Ca{XPeG$TPutD%U z;4_0U5ftukk>lJ3^VW%uq4Zb#Wy^T%jK2 z`MGdcQpJfFTtS#X#G*t&ZA=3U+?gWTx;?sr9-)WeLk_o7xJ%C~GHjxci9)T8_Wz3b#Z^RH*!r3{tmb4sFi@n0`rhB=SjcM*c#;lN)I5{{=szqo^&(=Lry z(Op15-}FN~X+O}1glWtSLKXhTdvnI_kydee>oIsEKX47f_M`+YSx2b1*a7>Rhy_D| zXIYIJtNfCWQyW@$vR?}%Ze$6%nV3Iln|w;hrGEWNj4KJg=hW(=%{_ZNmJ?1ETUCF| zP=ju=FHcMtRFA-w01@@6FR5q?5%SX;hQ|3$p|DU@Mqx0vm&^$~7wjD|(A5FtHhf2+ z+Ab0mvs}75L;!SB!Qck!9s#fIabe~k_EyGoM@JIbiV0+{Gt@J|4&Sa~_+j3~_b9xy zbVAz*=J7M;1u*q7&tH#HoRI;Rti$xdzmDQT#Ji>0Rq87NSN+25bNwSl-QoU*K>QH{L-+{7rl%RbLUhXAtM>!5nQM=1y4{B<(Dq8w3f+#NnuBWq zKlzn0USOF8U3(5(cgLTcFMz2hsUI*X9v z{mk&)-x$L*nnvh2`iW)A4AOTET@Nn#u{fDZDBhk z!BB$vKimRXc#US5c-D*K5`uP*iF857@hbc&ES)BA6vYtI<|n~0yvCwlbN>KkF{0`< z{{WEYX24XqdSH>2w3$JkzVi^Ab*-xpY zZoM#qQNeXOdy9~oUOxJc0N@SL?pbRd<&&pVcwt@F3^F>S8(08!dx@+o55Az5rc#{x zGT{w?Y5Ii&rMz+*J zCo5Gl4sZF0G{^EFoIsf?=|rs^Rda- zqj3*9v(+j+XV%vT$+K< z62tNz6I20_{Xw$dwDm4ZY+uwSP4h3nj5wzsFiWA|KN5hJ#-j~&jZJQU_oi7Rv0&bw zpjyp~+GWHiYUAR1AdWs@39UqO&4a*R9qtsWqZ1>JaWBMlf^>{|hUM<68(SLpErE;z zFmt2#5|N96ehE^EYxOK;1_cN<$U+o~GE1B002iodlA^{n0RSVUX)M4tjMQy=?B@;2 zrzt?XDEVNUK|`+KwxFZ8nS(F)9?qlcEeW;TQT8myY<}jCyf>{xSsDx@!Yjas=$MRz zY1A%2SN`LP1<>lcGQtbLBC7;|MKPgYQIJC>l+oJ;$k{o1kA?_y3m~EU_bAHhm#!_3 z%F9mI{-aW&HRv-;I{6XrWk+_baJLeyVZUs|DaL0x{{Rxg7DuQrsYB>LQl;yS6Z&76 zSyql6Zl;PrdSYQrn*RWhXbQvXf_CY%=3q?U)Kt@i!`!(Z7pKf;NU>Xn^{A3Le1{KW z1nOyWc^4xWL=nB(3?G|gqpo^~Q5781!|pn46tDLl`&e{g5vpnP3c~#c+m?`_4@Ru_ z85@qeMq5BLksL{+$oC-eMHEV z#4O&?TNQ1vfERy>lDP|x*Fhs#mzWrezffo@d7Re9Pxl{9gVnsVJi&cE6AHqSIzrWZ zg??I?Vs!;|GRn1Z5}O_(!+d|py;aCN`HgTFXZH#!%0%B&7CKswD@}joab3T-y4t8K zxGmD+?6Nhrs}utr$FaEEJDHZ#?d#?*9a}O*h_yOd7^$wH)Psa-zT(M@PUzub6OvQZ zZb0e+sKedK7bpJ!vezgf2&`Wgl2h#ieeL|jp{>zQ6!gGLS3YvERWGph92l?TGT3-` z7Ucu~0K*UIqhQcT?^k_8_J;ldoYdQg=eN*JJ;I;djGm7%jKO=bT%n8|Yvs&uja*i4 zo~01Y52rCdutJ7#MNJ3viv=1@!SybcY`l_>3|g(R^%g6|8hbs#ddXbQy+mfF<}||! zkkm%*Awj(`Ay6nA`#PLx{{T{n-4yKRA%gZ`<5B&hV>W-(Nug5y6jNv!tnn5kD)0_x zFci2VSTYuSB3uzTcNk4@vGb%`s&xmfIO)yVERtS6LWmHRqMxX*eJ(0%6&rf81Ty}$ z5==f*i-lJJ8B^iJE-ukZH&ISnHxwZzJ9j?aQD z!t6h+1pzl^aQ1gDleH-NSSuM>w?8r9*HoX%E`}wwW1Ua!TcQXl3F2FvMdws-I4_u5 z$Qa%Gg~Ed`>R*&<&Z;EQT)~#80R~Ht<#1(P>D;4w7F?7&^%k&4BmSbQ0sSJ07G%rz zC-W^)oee=klSfhAYP17>{)Q-|q)iObCb1Q-M61p9HoHq^}E|j0Jhw$D#oL{+i zI7B_5kWh?<<|0&W{l{>H2&?&*sH!arFv9pMR||XjfOr;mLsd&;u=#~lTTh71w<;uN z_<}>T7D>R%^8^0?h_T1OLEaSA{{Y!m6CYuS#*EkekJ0--wk4WBn8SrvGtn^<5dsR9 zW;gBc)V?Ra6#!5q{Xi^~#JgC4tzrVuu|}oLTN^itg8Qhh?{|K<&*;^SfnwIjMgQMZhxST?}#IKs(O@&?3^f>aV$t_fvL6$S5ynsP_p}GIpF_sZ6DAjyXzvw;=wr z9gyWz3!Fj3nS99mIdzk@uHit3Klv^SvIFWcX(@X36=t+JUvPZ-np!r)>K^O`U~Cfg z$x%wgE>2YifERgTGu5YnyM099w?nQ}#DPonhMuET%~iN7nVFB`;ZIOOcRSOl+foOk zxqECW`JBLo^2D8s*&TkNHMWZQfRTp~be&K45Lmt+h=pR`ZXm;g`IH=_`$YzpOsq#t z32RP0GMc}J6*^<#YO7|R2*9IM!)iz5shZBhUn+r{k!vvabFRs0=neM7fzs z{gF%ODgKN#vdfi=7bw2wadH{|0PZ60Wp=;<0xgWwbNieiUOG6BBJb8Wzfor(oZc;9 z?9s~vFh@)|L#SdHNThg=~Drl28+bX^l4OJDejcMtM9haXsGVfzQJ?1aj^=j{g8; zU{K1n`iplNEV$s!q5Z~GmQtDu*{6(ncS=dLB$P!qb*_gE27YvrI$|pYM z2fX64OP zIe=U-P{WL{pu_N2i|!V?4d$KvK|o-`VD>}N4twe{s=iFua*t|hpC|DDw zxP>{hnQBO{S=_fa7NFF)#C}X<^X@AiSl8oB#Helzy&n?{TLbIdv0YPV9-#%+aT$V5 z#9&uH5i|#4B4>=PR-8n1I4^ST3jO^=kG;dfp%+4kjJP1tVbcOb0|y8Dm4N$BXv2u? zN`%JRK3a_C6-DmDItrMqf{fIAKDuBHrCwkZawF;zMWVu>VkvAqd-X2}&3>}F?k=PD zI(}uTQWV!d*jFK0JM}LRqqF`*;l`Tx~ z7yFkX=e)~$gD+mvuC&gqe8MXV?pwIVAlGel%w=2;5d>{5^~5*Z^$M%muk{~LR(xg# zGnimGrr0VJDRio@{`icIhvAqX)=Y(Z#wW|1ETNEx7^U-mT96;28B92|(0FC@F& zxG>I41ge{Vf<3_j()k}z?g-H5-g1!~g_f=#c1!cTj9zaN>nE*%pP0QpLLO6_h8=DC zem)`V0E##l?Sz;}K1sStW_^;;LNBA2+zlf94rN>*QhLM@JFNK}%MPGj@|{I3$C$e7 zZ{Pi*P!jMpzveirX({UwEen67B8?uSRYIJd#np%O4csslLH?KbHNX*Yz_fes`##mFgug z5TOSb1jgVkks7s5bJRSwex`s?2Mf&aiK@W>6fF$Kl$f~JJVh@xI0rEe3z!_%OfI6O zdI<1A>Z5TR(J!G66*d0?+#%1ORhcoWkI zfc=AoFA!jEsN=Ej7mM$By2YNLGeIYj&Lf_d?SAo?Um0qJ=iDN0i~D`Rc>x!qAwar& z^&Zv-)PK3V7`~;OP`zQbpAy2?L0|(ln)#Vv&_7(js44}ac!<~zoj#@08orOIWo>Ld z`iu&+`GX6q>36&j#b6@?jwzv^n^jdu8gV5 zM|T{Mt%lc#?iPB*pKz7UA5Q(lxZ>e~6-ngx9aRu8a|)xvN)_ZFcLVnKDGn@60V?bJ zmWtB;1icud<=t!=ekUnH`wqx(1lY5tKg1fWL83HYb1s8ZY7qYApxBHuU>rS=%VHC? zixE4e&+{&9rTUDoJpFq276R>ty}(HY{-Y&m>OP-vp{g&xcN4IV{Yuh0r~Z)Y!?fY= z;sCHTSEmsB27V^cwnCJLvt+=+dEX4i6SIkpqy@6)jS+D-z@1 zP@h8T9wKc9Q!>P+CG0g83oU{n5)F!yS;=tmaB4l~vxqUVzTYuGje2}bsT(-HqZ2Pv zD0i>PCHjtdjcLEG@G4My4fEHUE zsk?&|Sl7%?ZXRMbZdGcgvlApkY`r9CgN{sd04PUHHd(}N=JMtNg-6%KZKq%2VSg$~ zfddjKU>o^|EkHG}yf6R@$t1fgG3pG|RWLUeu9=L%)T4*&mUcWFeYDG<@9BfwVMW7Q zxtffZ?37T{7k}`HHU|&&86B-+1S37KaU&e?!9!u1poiHB?5T5;{{YCflZASYJ9TP} zZ?XlIfYiu!1XIOLr*Id@lNcB$2dsXhaJSHkP60dLY#OeWj&E^4X5pE|Plf`!kMjd? z#~%Gd9a~RlUvn;?&GxTx_$u4t^X>x*zV;61Atk+$q5~z-4$}|y%&x7CA)|$+5)iIc z?g~HR#ej;vrw$ws#11SW>h&*LpFr&Q9Dx4-jbh~(D^b8Lj3$6rwcKeiu$|)8e*|qB zu@`?<7cIr1ld2U!$Q|^E%%Z-vN|(?IezOf>S9?Xr)T1FTAN3xK+gI*2Q5H_l$$ucG zqrd<&Cmy@vBVa6dh0mt)0e87~>%h6lJ7xkMaC%3kUCjqJ7!R32788=%A5lQ8WWD-| z5dxM&KWIc~OVNY%9>N%2;&mB?kz$wh9)4o_=Q8#XX@mUCqS=@br*2`;C>=*ARPX_S z3K%(HQ$I6i4qptUrWf}Jkaz9%6kdbOBhbBjk{ZwaDW5%9t00ED9G#K zj#8s4PN6Mb#LS{!DS2`1gwt{AtUH7tMrw=0vFY^`hW7hAobN^vZ7!vTizTE2OEgdq zQm_zP%rI@RbAyP?suPlq!V8s06yf&?xxug}1J82C*2>+SOhOh;qo5Fnq6Szzo%?~? zx>Qo+;Kp!PeWkK}=D%cehp`SUW5Ih1kQcZV%kKe-W+(~V9# zr92_`72~uU4i8MR>t7&wFR7nK{{ZxskT4zA$$df5`elf>FsZ zWi}YBScC#4_Y+x_gvq}G_=$3%&G!aCb;vqnb}hM7!=dDbIlLqhfmevil3%B(i4Xpv z7lB`3$jie3aBCAZ1bT)ZUIsM0QOoE;8)&1w6Cf4%nULaiNIIP zsxM5t5F9{jGr=#MX5Z7TC_dWhRH;KV&=>uO7WJ z&tN@#Ot57qKO!Wz*XCckm&|OmV14!OJ!U9dv*s#?F;@75!?>PW@&#J}D8#J9v?=OS z$|uZ`lp^jrqZ-PKzu1aJv6N!&3exj3)m)rR##{p<%m-VEe$fqP>DN(Rb*Y7OgI5nl zoV8hH{FQVg$iY}FGboTYgasA4fs${CxnQiXa@HN=;vrFvIgCSuxN9uAg8_&GDSWuS zMG>O^0B{YWmuOiIP;K+!c7`q=^TS}fAbt|v5)@%W9>Ghr}R_Uo%9w zxBmd`Dx!|@1fV~u!|oW!K;uvrwp`1r{{T=we5@k6y?aR?98}qGGE4$|GPt%p!J0S9D9O{{W~-orgCyaA!__iDW9le#vLlclNi`3jk5qkI0Q>S==J79D;)$ zh!xWVsGDF~{{T|vI2GmUQ0U0|{{XRQLx^tAJpsSwH<}K>Yd)F!qg+<{nVJMHdWRF5 zTT3r@8w>-YZ9R}APHOZK_b5@XlxXz^wH(`B2s)%naqRURKnB!4fNO>#z9FtP+zm!D z<@isDZ3A)8)%;Eg4WAKe?O?`;VN~ROLm8(1o}lYZGSRo~j#!zMwz@fqsmn6K6bi&h z37M8`v&)DS9mTeSXW8mzQU3sP(6sIcOn?3n^~%@L)DymLa5|Xb0d?5=iM(1A*mR^r zUERYXst3q}Va$4p4SbTfFHjJqw{6F$s=cu>FG2MgVEIYuEC=;|sK7{zDdOqob(5S};{iD&ZF;K!JIfV-T&2oI;G*hzWAO z?6|o&c$Q@zPVAR%$$sFeZX*Z718jt!@m-LhmF#-`i$I)XiAHar=DA>68l3~5 zn8o)uTp98_M&Zd0YL*dh(+431l3QG!prlcv*dbX!w}i&!UkhuX)_asZq&eWs`sN|% zjn^!43aj749fKYAIi^0m=oe=-^9;9Hi|-KQB(vU1iAa<9!Jks5gIw|z>I9c^-r-Op z9?s*dtW2OIKB16v3u>e6>K(Sgj+vU7l)N!GbizYs)$sxqyG_;38o|=}lv*coB_msx z&vBZqhvptiZX8#wxur9^m`15if(p<>KFzwB)`ga}06+X-yV;wGRp zKip1NT>k*rGRLxJ?Y(zPe1~vix74FTN`gANEdHfO0+TP8ZIuRHTv3sg4z2`8!lghI zfMByuT8^tV%m*R*lqhe>4`UdTR07t56tn$GRPfE}`-{IPQ1Fkp{Y^o`sGtHBQE8CL z2%r9uDKT_=gk4z<{mN3q{mLd5LP{Rs)SzM0xZ6O<{{Y;=pcY_yLF!i1EYLXlm%tRs z{mUV)wfjgOfnd0@igg~Un<7v?WfUh6yeg+m#f+<9!!*+kV;#NmEAR%Iqsa9a9FO7{ z3OZlz18LbZqe#{L%A}!J>Rq~AoH3@ztRL);Pyiy(^?gFuVKGtYhtGH&dVzR0`-eEN zC;Nn@uFYiX1|5Tc5M~uL6G_bpqgL8)sIAgd6mR>I13{38cJ z?jgplqxyoCj()hua>r)cCr?b+2wO=u@BO8?g^xF;YN)G{;@Ay9^`jKTpva-`Gbi!~ z34FrfV7k737 zP#i%SxOV!Gmf47RHQrz>bnE(Yn zl^;xbjNk_U0Oz>nMe6+(G9_BS5zgE0Q3|&KsliOG+}KW~FjA~>SIx&_6O7Xy$VD5s zJ+e)vBK?x90Zo6oP1eQydzQ?BhyMVpgi7E?LMXnMl4EBFL3@uZ{GfA)TT<;0^&7iC ziJjq5?y&?wtM_08-P)I9&)iiJRXsS*sYcLxmt;yBID$PbUte+ln%o>6pHUvlfrFVy zU)GOR<1auDN=SU=HJ{U5>P9!tY+=P$rJ6)T#o_*CeK@Fvz`{`I@1-E9M23 zwf^SFOlAmY`-vgF#UYA??Q{Ex5c^$yz!qe_h$f{U$+)#8O8JY`gfHR?NY#UK@L2N2 zFS;GM1WH9PK?+Kdzic9_rS?LHu-JN*u!=4A4^dFVS{3Yu^4t8&2J1HW4r^sTx+OIO ze83V=#v}U!2Y(Qy6FV$Va`M5+z`yEUavlEw)XT&pOxLMrni)b(1CR&TsF@{vi>4L< zp|_NSM#}k2F9Uax7HSa^pleh#OD|9*xr}ONP#y2<;sLusq3P(3_CW=mF6A|jv;9KU zD!EfRhPYNye9G`O#(7e}U;uo-^*z$cw>>fsdcTg~Lg=xw$iY;Xs zxw){|#dq@^Gdm6ZqivgAB4vwP_uK=N7yTr#QTKvc;Tx`zIJGeHWJ8K9an#>l&Y;0Q zAj(AM(tq<3I1gb1S~U;4TxcDLs~Dv22bl@4w5TJCm#kQCMG4u| z4mW;`%^ga-Zzry!^ukIUqCn9B_21e&bh7^dn9C|CEV#&A+*6vC)kixI{{UiMV^=bh z(H<{A3+41jM1c$U-55gpn5yiW`ZJI{KIW3ce<2-Jm3l_gc@L)%(MBhr>JZ-&x~Vs^j%m|vg7uy;-NBCoDV1c|1y+Ek2Mb+~E0NA@xU+XZN(_;4X zGY%p7t)FqJwP1@X^u)+tN_FaQFstr8d?5-r6Y=v6qc>hS+*zcD3SMK{$!d23SieW= zCZK*Jsgi-;4ncd2R2Lrb%%9#F>2FbFD{bea)EJ1ys<^l2RrJ%m@9J4;T~y7HpQ_1O zHDL#H;JHo~4&tAImj;0TAY}<}`zA$_=Ac}owM@B~R3#)(u_>KJCxlh>D!?Yx!Yhj< zYn$B79%0&_Kg?ix2lW!5YIKiKHkH8De8Mvg0qO+gdYNvk)fOF4X&FQ-akJYnW9b1G z6IxOK03kgPuq3h4I+3(T%qSncNA{ch%nIueAh8RanYnfcwlF4C%5e zz{LTiivqVTY*7UPt-uW;K%`5!y~$L};#G4fpynZQ3cSQni5ROIifJi_KHxy@4x3Wr z-ZzpWfmUh=4nN!toscB~P7yO~8uWUD@ysybFZTwab?9c-Bg8C#uO34q z%c8|{UpcGZVDDRq-iQ3fR^uNxi#?MzNc8WA*%GsA^%j+Zmn5|?og4?m97-#F#b_3g z?0S^;-`U(2fHL})4wU|a1MbiLCQ5TYq9Dyi{{ZO`DXm`*OxQrvyO{Yx;E9*4k=@YI;jIr0I*me>=foaa zPgxv0f=!`Zrdvc!bqPNbQfv)Ap*6x-tkC}83o4NJSco!A($K-~1lcgjn5eF}oK@XN z7m_#*q5v5Xj=CfiwQy3wgxfM zMSjlX5$%p|1W2mhq4GU9kAHF9L3uxkqk~@NPi=NG*=xWn4~v+a4T^{#wj`(2Xr#au z*UiH0E(6f}h-H5k$)! zhztr4JDG6?;G;>0_>YnG4hpfMlJ*taBHCZgpl<;I)?U;8o1MLytt->KB1-Uxg^RoD|fVGmA6)FmyCw{h1|3b{_1 z)yuqmm~jCa>Wh;s!NDqLLFeWLzF(`@Lf5M==04VigZ`!FfKj~0>Y#AJm1#0d7XXgs zvK*wm?GUwZa29uSmPhP6Aw{XY?0SHOd5EoW{vsata3z)!O}`NKJhPXneZn-sASUu- z)KRgva6BB6;DFLNs^L6>mn(ajo8v6R#4Ke`P#a~zlr;(r!e(qGsFpX|23X7v<($V^ zfGKsUw^G;9934~Z7b_+Nq}ccBAd44JFGNkt3FyZ!D4D+{ljA3Ph<>Ont7>aCkh10VQBSEVQ?IO=^7~2{{Z#GAmFN) zY^H;5P%YoXcs09Pf3KX!`1Z! z!%6VVwTAto1mdS(Q5|HzbNfG)-x{D-A@TF>GyYwUwa4+9U5vmL7KBQFT zX-vEH4|2&W)5-q;CKAerOs{sEs7>4nUGC!_WJ)tBflGA>8_moep5dbK+F+s|a6hMJ zWmjeD`o7{lg{bWt;CYFyqo$HSP*~#>#r(_0LKjgGzf3$^-y{MTH!5A(qr?v?VTS~! z5MwYt<%P%9J&ZILD?<5VgL(?jakZ*92*(%#G@-;AJiLrWqc8K5q; z_W_Yz_fnN+7S&HZ#|UV8mE3#~n+CbZGc{|bz6%;E-t>DGV!1Hq+D`aB(Yyw)+~)Di zw0?loRSwzi&9SdRa=bzk(A$_qTF>z|5-yp!O&AIP0L{!p4muy0ur2_)m1+QevA?um z`j&8a!u&x4c@99~J(8>(Mz)qP4QY+b^B+?r(-;Ezi`*@#Qefa_B5<7_e&Wo#{{X5i zKwB&I1{CP@OkyF=H^;brg8kneOiTmN+<8LH&76b_sGYH$_L1xCmShxN*QN+$xqo<+ z#*_Q{n2OB*0HQbp6s>%~Kq&iqh^A?Y5|eMZ*p~}ym^y)cvHFTP7qSO|5Jz34LqB7a zJd2WMWi}ZHhuIjbZF2*p^%SKju>NFEk?ezy5NXjRbLuz{<{(>CHb3l`VaduzRO%=U zIC4dJ0d;yAjynYT^%?bOeYJAtoDocHcAh?`hc7J38-SKo|MTEsG2=PI+!2WmB3T34_RWDw8;$1Ox@597?k( z(g}~4faF#oW}&X1Q7|p;Ccdef9INUGZHH9~U}d_FOz8&Lfl%Ou4UA34xCOP@HpZfW zD-e0NP>I^$SZQadQ*@YMjG$p{SnvwZwq@>bn9nVvv+4**5DQ*oaZX6=)%=}6$=6zk z>D)@dI!;Nug6iU_^AHUaF@nY?If#i?;`zLi^($@GB9UO&Eihl^BEh0kZY&(A7|rMI zD7Y64AV&F*Vs=^heQP3n7k zCG-`mhLjOGT&JmnrRSs66eu0w(-f6uXRlH5@M=}7Pn6c>pwaNk)$AYJ9-}HgFPWhe zr#_z%W`$q*2EzOe+nbjW0Xt+*WH4kOsJGm2)zC^1^WW}WQV+F%xKJzuH+-2`tkcI# zWop%P^8nCQi`&UClC=I%m&zQe_bRIfQ~p3=+xiJu+#z#Y^0F}<{{XN!g>8VpxFXoU z>O@VSu*^p+BbP+V;0;42s<$h#(J8acI~79@zM|TaW;MPmeLm%r1=OZZwD34z%pmES z_Bok23cmhe#=9DVy%rbrOt>3h%#!f;y_`Udb~|aXWjTKB>(tS$@cU(=QVgj*%U8rk zakrRl1&pVs7b!|_WZH^3S2RSB=+lunW_U3?y~vV{So-%U_Bc89J)%#zF-ylAJ;5L~ zQ%B#qMca)0!-X-c0u|^I*f-R(sksZpvZ!9)^%!hdvxn5HK^T9dF~F+_55G~(ONhx+>3u@Vu>Sz5_ZsLExr^$u5ojX&7Nu5!+(rPS_X2_lUH+g@D!S$P zo}xc*mKDFr{-TRM3-*{xRqm�gN99y6QD`K<+(3BXVKiaCE60*Ki|thds=C*^l6s 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 { + before(() => { + cy.intercept("/project/settings").as("settings"); + cy.visit("http://127.0.0.1:8000"); + cy.wait(["@settings"]); + }); + + it("should be able to display inlined, side and page elements", () => { + cy.get(".message").should("have.length", 1); + + // Inlined + cy.get(".inlined-image").should("have.length", 1); + cy.get(".element-link").eq(0).should("contain", "text1"); + cy.get(".element-link").eq(0).click(); + + // Side + const sideViewTitle = cy.get("#side-view-title"); + sideViewTitle.should("exist"); + sideViewTitle.should("contain", "text1"); + + const sideViewContent = cy.get("#side-view-content"); + sideViewContent.should("exist"); + sideViewContent.should("contain", "Here is a side text document"); + + // Page + cy.get(".element-link").eq(1).should("contain", "text2"); + cy.get(".element-link").eq(1).click(); + + const view = cy.get("#element-view"); + view.should("exist"); + view.should("contain", "text2"); + view.should("contain", "Here is a page text document"); + }); +}); diff --git a/cypress/e2e/langchain_factory/.chainlit/config.toml b/cypress/e2e/langchain_factory/.chainlit/config.toml new file mode 100644 index 0000000000..6bbaf53fc2 --- /dev/null +++ b/cypress/e2e/langchain_factory/.chainlit/config.toml @@ -0,0 +1,24 @@ +[project] +# Name of the app and chatbot. +name = "Chatbot" + +# If true (default), the app will be available to anonymous users (once deployed). +# If false, users will need to authenticate and be part of the project to use the app. +public = true + +# The project ID (found on https://cloud.chainlit.io). +# If provided, all the message data will be stored in the cloud. +# The project ID is required when public is set to false. +#id = "" + +# Whether to enable telemetry (default: true). No personal data is collected. +enable_telemetry = true + +# List of environment variables to be provided by each user to use the app. +user_env = [] + +# Hide the chain of thought details from the user in the UI. +hide_cot = false + +# Limit the number of requests per user. +#request_limit = "10 per day" diff --git a/cypress/e2e/langchain_factory/main.py b/cypress/e2e/langchain_factory/main.py new file mode 100644 index 0000000000..c5a399e91f --- /dev/null +++ b/cypress/e2e/langchain_factory/main.py @@ -0,0 +1,11 @@ +from langchain import OpenAI, LLMChain, PromptTemplate +import chainlit as cl + +prompt_template = "What is a good name for a company that makes {product}?" + + +@cl.langchain_factory +def main(): + llm = OpenAI(temperature=0) + chain = LLMChain(llm=llm, prompt=PromptTemplate.from_template(prompt_template)) + return chain diff --git a/cypress/e2e/langchain_factory/spec.cy.ts b/cypress/e2e/langchain_factory/spec.cy.ts new file mode 100644 index 0000000000..b3ab166161 --- /dev/null +++ b/cypress/e2e/langchain_factory/spec.cy.ts @@ -0,0 +1,27 @@ +import { submitMessage } from "../../support/testUtils"; + +describe("LangChain factory", () => { + before(() => { + cy.intercept("/project/settings").as("settings"); + cy.intercept("/message").as("message"); + cy.visit("http://127.0.0.1:8000"); + cy.wait(["@settings"]); + }); + + it("should be able to instantiate a LangChain chain and run it", () => { + cy.get("#welcome-screen").should("exist"); + submitMessage("T-shirt"); + cy.wait(["@message"]); + + cy.get("#llmchain-done").should("exist"); + cy.get("#llmchain-done").click(); + + cy.get(".message").should("have.length", 3); + + cy.get(".message").eq(1).should("contain", "LLMChain"); + cy.get(".message").eq(1).get(".playground-button").should("exist"); + + cy.get(".message").eq(2).should("not.contain", "Error"); + cy.get(".message").eq(2).should("contain", "Chatbot"); + }); +}); diff --git a/cypress/e2e/langchain_postprocess/.chainlit/config.toml b/cypress/e2e/langchain_postprocess/.chainlit/config.toml new file mode 100644 index 0000000000..6bbaf53fc2 --- /dev/null +++ b/cypress/e2e/langchain_postprocess/.chainlit/config.toml @@ -0,0 +1,24 @@ +[project] +# Name of the app and chatbot. +name = "Chatbot" + +# If true (default), the app will be available to anonymous users (once deployed). +# If false, users will need to authenticate and be part of the project to use the app. +public = true + +# The project ID (found on https://cloud.chainlit.io). +# If provided, all the message data will be stored in the cloud. +# The project ID is required when public is set to false. +#id = "" + +# Whether to enable telemetry (default: true). No personal data is collected. +enable_telemetry = true + +# List of environment variables to be provided by each user to use the app. +user_env = [] + +# Hide the chain of thought details from the user in the UI. +hide_cot = false + +# Limit the number of requests per user. +#request_limit = "10 per day" diff --git a/cypress/e2e/langchain_postprocess/main.py b/cypress/e2e/langchain_postprocess/main.py new file mode 100644 index 0000000000..766b710aa7 --- /dev/null +++ b/cypress/e2e/langchain_postprocess/main.py @@ -0,0 +1,16 @@ +from langchain import OpenAI, LLMChain, PromptTemplate +import chainlit as cl + +prompt_template = "What is a good name for a company that makes {product}?" + + +@cl.langchain_factory +def main(): + llm = OpenAI(temperature=0) + chain = LLMChain(llm=llm, prompt=PromptTemplate.from_template(prompt_template)) + return chain + + +@cl.langchain_postprocess +def postprocess(output: str): + return "In the end it doesn't even matter." diff --git a/cypress/e2e/langchain_postprocess/spec.cy.ts b/cypress/e2e/langchain_postprocess/spec.cy.ts new file mode 100644 index 0000000000..9c05a3c9e6 --- /dev/null +++ b/cypress/e2e/langchain_postprocess/spec.cy.ts @@ -0,0 +1,20 @@ +import { submitMessage } from "../../support/testUtils"; + +describe("LangChain postprocess", () => { + before(() => { + cy.intercept("/project/settings").as("settings"); + cy.intercept("/message").as("message"); + cy.visit("http://127.0.0.1:8000"); + cy.wait(["@settings"]); + }); + + it("should be able to postprocess a LangChain output", () => { + cy.get("#welcome-screen").should("exist"); + submitMessage("Hello"); + cy.wait(["@message"]); + cy.get("#llmchain-done").should("exist"); + const messages = cy.get(".message"); + messages.should("have.length", 2); + messages.eq(1).should("contain", "In the end it doesn't even matter."); + }); +}); diff --git a/cypress/e2e/langchain_rename/.chainlit/config.toml b/cypress/e2e/langchain_rename/.chainlit/config.toml new file mode 100644 index 0000000000..8238b929ed --- /dev/null +++ b/cypress/e2e/langchain_rename/.chainlit/config.toml @@ -0,0 +1,23 @@ +[project] +# Name of the app and chatbot. +name = "Chatbot" + +# If true (default), the app will be available to anonymous users (once deployed). +# If false, users will need to authenticate and be part of the project to use the app. +public = true + +# The project ID (found on https://cloud.chainlit.io). +# If provided, all the message data will be stored in the cloud. +# The project ID is required when public is set to false. +#id = "" + +# List of environment variables to be provided by each user to use the app. +user_env = [] + +# Hide the chain of thought details from the user in the UI. +hide_cot = false + +enable_telemetry = false + +# Limit the number of requests per user. +#request_limit = "10 per day" diff --git a/cypress/e2e/langchain_rename/main.py b/cypress/e2e/langchain_rename/main.py new file mode 100644 index 0000000000..9e5d65ca14 --- /dev/null +++ b/cypress/e2e/langchain_rename/main.py @@ -0,0 +1,16 @@ +from langchain import OpenAI, LLMMathChain +import chainlit as cl + + +@cl.langchain_rename +def rename(orig_author: str): + rename_dict = {"LLMMathChain": "Albert Einstein"} + + return rename_dict.get(orig_author, orig_author) + + +@cl.langchain_factory +def main(): + llm = OpenAI(temperature=0) + llm_math = LLMMathChain.from_llm(llm=llm) + return llm_math diff --git a/cypress/e2e/langchain_rename/spec.cy.ts b/cypress/e2e/langchain_rename/spec.cy.ts new file mode 100644 index 0000000000..ec00f8a4ce --- /dev/null +++ b/cypress/e2e/langchain_rename/spec.cy.ts @@ -0,0 +1,20 @@ +import { submitMessage } from "../../support/testUtils"; + +describe("LangChain rename", () => { + before(() => { + cy.intercept("/project/settings").as("settings"); + cy.intercept("/message").as("message"); + cy.visit("http://127.0.0.1:8000"); + cy.wait(["@settings"]); + }); + + it("should be able to rename LangChain agents for the UI", () => { + cy.get("#welcome-screen").should("exist"); + submitMessage("What is 2+2?"); + cy.wait(["@message"]); + cy.get("#albert-einstein-done").should("exist"); + cy.get("#albert-einstein-done").click(); + cy.get(".message").eq(1).should("contain", "Albert Einstein"); + cy.get(".message").should("have.length", 4); + }); +}); diff --git a/cypress/e2e/langchain_run/.chainlit/config.toml b/cypress/e2e/langchain_run/.chainlit/config.toml new file mode 100644 index 0000000000..6bbaf53fc2 --- /dev/null +++ b/cypress/e2e/langchain_run/.chainlit/config.toml @@ -0,0 +1,24 @@ +[project] +# Name of the app and chatbot. +name = "Chatbot" + +# If true (default), the app will be available to anonymous users (once deployed). +# If false, users will need to authenticate and be part of the project to use the app. +public = true + +# The project ID (found on https://cloud.chainlit.io). +# If provided, all the message data will be stored in the cloud. +# The project ID is required when public is set to false. +#id = "" + +# Whether to enable telemetry (default: true). No personal data is collected. +enable_telemetry = true + +# List of environment variables to be provided by each user to use the app. +user_env = [] + +# Hide the chain of thought details from the user in the UI. +hide_cot = false + +# Limit the number of requests per user. +#request_limit = "10 per day" diff --git a/cypress/e2e/langchain_run/main.py b/cypress/e2e/langchain_run/main.py new file mode 100644 index 0000000000..2fbcd1eb7a --- /dev/null +++ b/cypress/e2e/langchain_run/main.py @@ -0,0 +1,17 @@ +from langchain import OpenAI, LLMChain, PromptTemplate +import chainlit as cl + +prompt_template = "{input}?" + + +@cl.langchain_factory +def main(): + llm = OpenAI(temperature=0) + chain = LLMChain(llm=llm, prompt=PromptTemplate.from_template(prompt_template)) + return chain + + +@cl.langchain_run +def run(agent, input_str): + res = agent("2+2") + return res["text"] diff --git a/cypress/e2e/langchain_run/spec.cy.ts b/cypress/e2e/langchain_run/spec.cy.ts new file mode 100644 index 0000000000..f614446dde --- /dev/null +++ b/cypress/e2e/langchain_run/spec.cy.ts @@ -0,0 +1,20 @@ +import { submitMessage } from "../../support/testUtils"; + +describe("LangChain run", () => { + before(() => { + cy.intercept("/project/settings").as("settings"); + cy.intercept("/message").as("message"); + cy.visit("http://127.0.0.1:8000"); + cy.wait(["@settings"]); + }); + + it("should use the run function defined by the developer", () => { + cy.get("#welcome-screen").should("exist"); + submitMessage("Hello"); + cy.wait(["@message"]); + cy.get("#llmchain-done").should("exist"); + const messages = cy.get(".message"); + messages.should("have.length", 2); + messages.eq(1).should("contain", "4"); + }); +}); diff --git a/cypress/e2e/openai_sql/.chainlit/config.toml b/cypress/e2e/openai_sql/.chainlit/config.toml new file mode 100644 index 0000000000..733d738aba --- /dev/null +++ b/cypress/e2e/openai_sql/.chainlit/config.toml @@ -0,0 +1,17 @@ +[project] +# Name of the app and chatbot. +name = "Chatbot" + +# If true (default), the app will be available to anonymous users (once deployed). +# If false, users will need to authenticate and be part of the project to use the app. +public = true + +# The project ID (found on https://cloud.chainlit.io). +# If provided, all the message data will be stored in the cloud. +# The project ID is required when public is set to false. +#id = "" + +# List of environment variables to be provided by each user to use the app. +user_env = [] + +enable_telemetry = false \ No newline at end of file diff --git a/cypress/e2e/openai_sql/main.py b/cypress/e2e/openai_sql/main.py new file mode 100644 index 0000000000..d08fa0328c --- /dev/null +++ b/cypress/e2e/openai_sql/main.py @@ -0,0 +1,40 @@ +import openai +import chainlit as cl +import os + +openai.api_key = os.environ.get("OPENAI_API_KEY") + +prompt = """SQL tables (and columns): +* Customers(customer_id, signup_date) +* Streaming(customer_id, video_id, watch_date, watch_minutes) + +A well-written SQL query that {input}: +```""" + +model_name = "text-davinci-003" + +settings = { + "temperature": 0, + "max_tokens": 500, + "top_p": 1, + "frequency_penalty": 0, + "presence_penalty": 0, + "stop": ["```"] +} + +@cl.on_message +def main(message: str): + fromatted_prompt = prompt.format(input=message) + response = openai.Completion.create( + model=model_name, + prompt=fromatted_prompt, + **settings + ) + content = response["choices"][0]["text"] + + cl.send_message( + language="sql", + content=content, + prompt=fromatted_prompt, + llm_settings=cl.LLMSettings(model_name=model_name, **settings) + ) diff --git a/cypress/e2e/openai_sql/spec.cy.ts b/cypress/e2e/openai_sql/spec.cy.ts new file mode 100644 index 0000000000..c6ac3bd026 --- /dev/null +++ b/cypress/e2e/openai_sql/spec.cy.ts @@ -0,0 +1,20 @@ +import { submitMessage } from "../../support/testUtils"; + +describe("OpenAI SQL", () => { + before(() => { + cy.intercept("/project/settings").as("settings"); + cy.intercept("/message").as("message"); + cy.visit("http://127.0.0.1:8000"); + cy.wait(["@settings"]); + }); + + it("should output an SQL query", () => { + cy.get("#welcome-screen").should("exist"); + submitMessage("How many minutes of video were watched"); + cy.wait(["@message"]); + const messages = cy.get(".message"); + messages.should("have.length", 2); + + messages.eq(1).should("contain", "SELECT"); + }); +}); diff --git a/cypress/e2e/upload_file/.chainlit/config.toml b/cypress/e2e/upload_file/.chainlit/config.toml new file mode 100644 index 0000000000..6bbaf53fc2 --- /dev/null +++ b/cypress/e2e/upload_file/.chainlit/config.toml @@ -0,0 +1,24 @@ +[project] +# Name of the app and chatbot. +name = "Chatbot" + +# If true (default), the app will be available to anonymous users (once deployed). +# If false, users will need to authenticate and be part of the project to use the app. +public = true + +# The project ID (found on https://cloud.chainlit.io). +# If provided, all the message data will be stored in the cloud. +# The project ID is required when public is set to false. +#id = "" + +# Whether to enable telemetry (default: true). No personal data is collected. +enable_telemetry = true + +# List of environment variables to be provided by each user to use the app. +user_env = [] + +# Hide the chain of thought details from the user in the UI. +hide_cot = false + +# Limit the number of requests per user. +#request_limit = "10 per day" diff --git a/cypress/e2e/upload_file/main.py b/cypress/e2e/upload_file/main.py new file mode 100644 index 0000000000..ee7d0b3646 --- /dev/null +++ b/cypress/e2e/upload_file/main.py @@ -0,0 +1,17 @@ +import chainlit as cl + + +@cl.on_chat_start +def start(): + file = None + + # Wait for the user to upload a file + while file == None: + file = cl.ask_for_file( + title="Please upload a text file to begin!", accept=["text/plain"] + ) + # Decode the file + text = file.content.decode("utf-8") + + # Let the user know that the system is ready + cl.send_message(f"`{file.name}` uploaded, it contains {len(text)} characters!") diff --git a/cypress/e2e/upload_file/spec.cy.ts b/cypress/e2e/upload_file/spec.cy.ts new file mode 100644 index 0000000000..623fd831c0 --- /dev/null +++ b/cypress/e2e/upload_file/spec.cy.ts @@ -0,0 +1,21 @@ +const path = require("path"); + +describe("Upload file", () => { + before(() => { + cy.intercept("/project/settings").as("settings"); + cy.visit("http://127.0.0.1:8000"); + cy.wait(["@settings"]); + }); + + it("should be able to receive and decode the file", () => { + cy.fixture("state_of_the_union.txt", "utf-8").as("file"); + cy.get("input[type=file]").selectFile("@file", { force: true }); + + const messages = cy.get(".message"); + messages.should("have.length", 2); + + messages + .eq(1) + .should("contain", "state_of_the_union.txt uploaded, it contains"); + }); +}); diff --git a/cypress/e2e/user_env/.chainlit/config.toml b/cypress/e2e/user_env/.chainlit/config.toml new file mode 100644 index 0000000000..cb6cccc7a7 --- /dev/null +++ b/cypress/e2e/user_env/.chainlit/config.toml @@ -0,0 +1,24 @@ +[project] +# Name of the app and chatbot. +name = "Chatbot" + +# If true (default), the app will be available to anonymous users (once deployed). +# If false, users will need to authenticate and be part of the project to use the app. +public = true + +# The project ID (found on https://cloud.chainlit.io). +# If provided, all the message data will be stored in the cloud. +# The project ID is required when public is set to false. +#id = "" + +# Whether to enable telemetry (default: true). No personal data is collected. +enable_telemetry = true + +# List of environment variables to be provided by each user to use the app. +user_env = ["TEST_KEY"] + +# Hide the chain of thought details from the user in the UI. +hide_cot = false + +# Limit the number of requests per user. +#request_limit = "10 per day" diff --git a/cypress/e2e/user_env/main.py b/cypress/e2e/user_env/main.py new file mode 100644 index 0000000000..567ee49790 --- /dev/null +++ b/cypress/e2e/user_env/main.py @@ -0,0 +1,9 @@ +import chainlit as cl + + +@cl.on_message +def main(): + key = "TEST_KEY" + user_env = cl.user_session.get("env") + provided_key = user_env.get(key) + cl.send_message(f"Key {key} has value {provided_key}") diff --git a/cypress/e2e/user_env/spec.cy.ts b/cypress/e2e/user_env/spec.cy.ts new file mode 100644 index 0000000000..c522a1ff7b --- /dev/null +++ b/cypress/e2e/user_env/spec.cy.ts @@ -0,0 +1,27 @@ +import { submitMessage } from "../../support/testUtils"; + +describe("User Env", () => { + before(() => { + cy.intercept("/project/settings").as("settings"); + cy.intercept("/message").as("message"); + cy.visit("http://127.0.0.1:8000"); + cy.wait(["@settings"]); + }); + + it("should be able to ask a user for required keys", () => { + const key = "TEST_KEY"; + const keyValue = "TEST_VALUE"; + + cy.get("#env").should("exist"); + cy.get(`.${key}`).should("exist").type(keyValue); + + cy.get("#submit-env").should("exist").click(); + cy.get("#welcome-screen").should("exist"); + + submitMessage("Hello"); + cy.wait(["@message"]); + + cy.get(".message").should("have.length", 2); + cy.get(".message").eq(1).should("contain", keyValue); + }); +}); diff --git a/cypress/e2e/user_session/.chainlit/config.toml b/cypress/e2e/user_session/.chainlit/config.toml new file mode 100644 index 0000000000..6bbaf53fc2 --- /dev/null +++ b/cypress/e2e/user_session/.chainlit/config.toml @@ -0,0 +1,24 @@ +[project] +# Name of the app and chatbot. +name = "Chatbot" + +# If true (default), the app will be available to anonymous users (once deployed). +# If false, users will need to authenticate and be part of the project to use the app. +public = true + +# The project ID (found on https://cloud.chainlit.io). +# If provided, all the message data will be stored in the cloud. +# The project ID is required when public is set to false. +#id = "" + +# Whether to enable telemetry (default: true). No personal data is collected. +enable_telemetry = true + +# List of environment variables to be provided by each user to use the app. +user_env = [] + +# Hide the chain of thought details from the user in the UI. +hide_cot = false + +# Limit the number of requests per user. +#request_limit = "10 per day" diff --git a/cypress/e2e/user_session/main.py b/cypress/e2e/user_session/main.py new file mode 100644 index 0000000000..bc956c3767 --- /dev/null +++ b/cypress/e2e/user_session/main.py @@ -0,0 +1,8 @@ +import chainlit as cl + + +@cl.on_message +def main(message: str): + prev_msg = cl.user_session.get("prev_msg") + cl.send_message(f"Prev message: {prev_msg}") + cl.user_session.set("prev_msg", message) diff --git a/cypress/e2e/user_session/spec.cy.ts b/cypress/e2e/user_session/spec.cy.ts new file mode 100644 index 0000000000..8f48f8935e --- /dev/null +++ b/cypress/e2e/user_session/spec.cy.ts @@ -0,0 +1,50 @@ +import { submitMessage } from "../../support/testUtils"; + +function newSession() { + cy.get("#new-chat-button").should("exist").click(); + cy.get("#new-chat-dialog").should("exist"); + cy.get("#confirm").should("exist").click(); + + cy.get("#new-chat-dialog").should("not.exist"); + + cy.get("#welcome-screen").should("exist"); +} + +describe("User Session", () => { + before(() => { + cy.intercept("/project/settings").as("settings"); + cy.intercept("/message").as("message"); + cy.visit("http://127.0.0.1:8000"); + cy.wait(["@settings"]); + }); + + it("should be able to store data related per user session", () => { + cy.get("#welcome-screen").should("exist"); + + submitMessage("Hello 1"); + cy.wait(["@message"]); + + cy.get(".message").should("have.length", 2); + cy.get(".message").eq(1).should("contain", "Prev message: None"); + + submitMessage("Hello 2"); + cy.wait(["@message"]); + + cy.get(".message").should("have.length", 4); + cy.get(".message").eq(3).should("contain", "Prev message: Hello 1"); + + newSession(); + + submitMessage("Hello 3"); + cy.wait(["@message"]); + + cy.get(".message").should("have.length", 2); + cy.get(".message").eq(1).should("contain", "Prev message: None"); + + submitMessage("Hello 4"); + cy.wait(["@message"]); + + cy.get(".message").should("have.length", 4); + cy.get(".message").eq(3).should("contain", "Prev message: Hello 3"); + }); +}); diff --git a/cypress/fixtures/state_of_the_union.txt b/cypress/fixtures/state_of_the_union.txt new file mode 100644 index 0000000000..d50175de40 --- /dev/null +++ b/cypress/fixtures/state_of_the_union.txt @@ -0,0 +1,723 @@ +Madam Speaker, Madam Vice President, our First Lady and Second Gentleman. Members of Congress and the Cabinet. Justices of the Supreme Court. My fellow Americans. + +Last year COVID-19 kept us apart. This year we are finally together again. + +Tonight, we meet as Democrats Republicans and Independents. But most importantly as Americans. + +With a duty to one another to the American people to the Constitution. + +And with an unwavering resolve that freedom will always triumph over tyranny. + +Six days ago, Russia’s Vladimir Putin sought to shake the foundations of the free world thinking he could make it bend to his menacing ways. But he badly miscalculated. + +He thought he could roll into Ukraine and the world would roll over. Instead he met a wall of strength he never imagined. + +He met the Ukrainian people. + +From President Zelenskyy to every Ukrainian, their fearlessness, their courage, their determination, inspires the world. + +Groups of citizens blocking tanks with their bodies. Everyone from students to retirees teachers turned soldiers defending their homeland. + +In this struggle as President Zelenskyy said in his speech to the European Parliament β€œLight will win over darkness.” The Ukrainian Ambassador to the United States is here tonight. + +Let each of us here tonight in this Chamber send an unmistakable signal to Ukraine and to the world. + +Please rise if you are able and show that, Yes, we the United States of America stand with the Ukrainian people. + +Throughout our history we’ve learned this lesson when dictators do not pay a price for their aggression they cause more chaos. + +They keep moving. + +And the costs and the threats to America and the world keep rising. + +That’s why the NATO Alliance was created to secure peace and stability in Europe after World War 2. + +The United States is a member along with 29 other nations. + +It matters. American diplomacy matters. American resolve matters. + +Putin’s latest attack on Ukraine was premeditated and unprovoked. + +He rejected repeated efforts at diplomacy. + +He thought the West and NATO wouldn’t respond. And he thought he could divide us at home. Putin was wrong. We were ready. Here is what we did. + +We prepared extensively and carefully. + +We spent months building a coalition of other freedom-loving nations from Europe and the Americas to Asia and Africa to confront Putin. + +I spent countless hours unifying our European allies. We shared with the world in advance what we knew Putin was planning and precisely how he would try to falsely justify his aggression. + +We countered Russia’s lies with truth. + +And now that he has acted the free world is holding him accountable. + +Along with twenty-seven members of the European Union including France, Germany, Italy, as well as countries like the United Kingdom, Canada, Japan, Korea, Australia, New Zealand, and many others, even Switzerland. + +We are inflicting pain on Russia and supporting the people of Ukraine. Putin is now isolated from the world more than ever. + +Together with our allies –we are right now enforcing powerful economic sanctions. + +We are cutting off Russia’s largest banks from the international financial system. + +Preventing Russia’s central bank from defending the Russian Ruble making Putin’s $630 Billion β€œwar fund” worthless. + +We are choking off Russia’s access to technology that will sap its economic strength and weaken its military for years to come. + +Tonight I say to the Russian oligarchs and corrupt leaders who have bilked billions of dollars off this violent regime no more. + +The U.S. Department of Justice is assembling a dedicated task force to go after the crimes of Russian oligarchs. + +We are joining with our European allies to find and seize your yachts your luxury apartments your private jets. We are coming for your ill-begotten gains. + +And tonight I am announcing that we will join our allies in closing off American air space to all Russian flights – further isolating Russia – and adding an additional squeeze –on their economy. The Ruble has lost 30% of its value. + +The Russian stock market has lost 40% of its value and trading remains suspended. Russia’s economy is reeling and Putin alone is to blame. + +Together with our allies we are providing support to the Ukrainians in their fight for freedom. Military assistance. Economic assistance. Humanitarian assistance. + +We are giving more than $1 Billion in direct assistance to Ukraine. + +And we will continue to aid the Ukrainian people as they defend their country and to help ease their suffering. + +Let me be clear, our forces are not engaged and will not engage in conflict with Russian forces in Ukraine. + +Our forces are not going to Europe to fight in Ukraine, but to defend our NATO Allies – in the event that Putin decides to keep moving west. + +For that purpose we’ve mobilized American ground forces, air squadrons, and ship deployments to protect NATO countries including Poland, Romania, Latvia, Lithuania, and Estonia. + +As I have made crystal clear the United States and our Allies will defend every inch of territory of NATO countries with the full force of our collective power. + +And we remain clear-eyed. The Ukrainians are fighting back with pure courage. But the next few days weeks, months, will be hard on them. + +Putin has unleashed violence and chaos. But while he may make gains on the battlefield – he will pay a continuing high price over the long run. + +And a proud Ukrainian people, who have known 30 years of independence, have repeatedly shown that they will not tolerate anyone who tries to take their country backwards. + +To all Americans, I will be honest with you, as I’ve always promised. A Russian dictator, invading a foreign country, has costs around the world. + +And I’m taking robust action to make sure the pain of our sanctions is targeted at Russia’s economy. And I will use every tool at our disposal to protect American businesses and consumers. + +Tonight, I can announce that the United States has worked with 30 other countries to release 60 Million barrels of oil from reserves around the world. + +America will lead that effort, releasing 30 Million barrels from our own Strategic Petroleum Reserve. And we stand ready to do more if necessary, unified with our allies. + +These steps will help blunt gas prices here at home. And I know the news about what’s happening can seem alarming. + +But I want you to know that we are going to be okay. + +When the history of this era is written Putin’s war on Ukraine will have left Russia weaker and the rest of the world stronger. + +While it shouldn’t have taken something so terrible for people around the world to see what’s at stake now everyone sees it clearly. + +We see the unity among leaders of nations and a more unified Europe a more unified West. And we see unity among the people who are gathering in cities in large crowds around the world even in Russia to demonstrate their support for Ukraine. + +In the battle between democracy and autocracy, democracies are rising to the moment, and the world is clearly choosing the side of peace and security. + +This is a real test. It’s going to take time. So let us continue to draw inspiration from the iron will of the Ukrainian people. + +To our fellow Ukrainian Americans who forge a deep bond that connects our two nations we stand with you. + +Putin may circle Kyiv with tanks, but he will never gain the hearts and souls of the Ukrainian people. + +He will never extinguish their love of freedom. He will never weaken the resolve of the free world. + +We meet tonight in an America that has lived through two of the hardest years this nation has ever faced. + +The pandemic has been punishing. + +And so many families are living paycheck to paycheck, struggling to keep up with the rising cost of food, gas, housing, and so much more. + +I understand. + +I remember when my Dad had to leave our home in Scranton, Pennsylvania to find work. I grew up in a family where if the price of food went up, you felt it. + +That’s why one of the first things I did as President was fight to pass the American Rescue Plan. + +Because people were hurting. We needed to act, and we did. + +Few pieces of legislation have done more in a critical moment in our history to lift us out of crisis. + +It fueled our efforts to vaccinate the nation and combat COVID-19. It delivered immediate economic relief for tens of millions of Americans. + +Helped put food on their table, keep a roof over their heads, and cut the cost of health insurance. + +And as my Dad used to say, it gave people a little breathing room. + +And unlike the $2 Trillion tax cut passed in the previous administration that benefitted the top 1% of Americans, the American Rescue Plan helped working peopleβ€”and left no one behind. + +And it worked. It created jobs. Lots of jobs. + +In factβ€”our economy created over 6.5 Million new jobs just last year, more jobs created in one year +than ever before in the history of America. + +Our economy grew at a rate of 5.7% last year, the strongest growth in nearly 40 years, the first step in bringing fundamental change to an economy that hasn’t worked for the working people of this nation for too long. + +For the past 40 years we were told that if we gave tax breaks to those at the very top, the benefits would trickle down to everyone else. + +But that trickle-down theory led to weaker economic growth, lower wages, bigger deficits, and the widest gap between those at the top and everyone else in nearly a century. + +Vice President Harris and I ran for office with a new economic vision for America. + +Invest in America. Educate Americans. Grow the workforce. Build the economy from the bottom up +and the middle out, not from the top down. + +Because we know that when the middle class grows, the poor have a ladder up and the wealthy do very well. + +America used to have the best roads, bridges, and airports on Earth. + +Now our infrastructure is ranked 13th in the world. + +We won’t be able to compete for the jobs of the 21st Century if we don’t fix that. + +That’s why it was so important to pass the Bipartisan Infrastructure Lawβ€”the most sweeping investment to rebuild America in history. + +This was a bipartisan effort, and I want to thank the members of both parties who worked to make it happen. + +We’re done talking about infrastructure weeks. + +We’re going to have an infrastructure decade. + +It is going to transform America and put us on a path to win the economic competition of the 21st Century that we face with the rest of the worldβ€”particularly with China. + +As I’ve told Xi Jinping, it is never a good bet to bet against the American people. + +We’ll create good jobs for millions of Americans, modernizing roads, airports, ports, and waterways all across America. + +And we’ll do it all to withstand the devastating effects of the climate crisis and promote environmental justice. + +We’ll build a national network of 500,000 electric vehicle charging stations, begin to replace poisonous lead pipesβ€”so every childβ€”and every Americanβ€”has clean water to drink at home and at school, provide affordable high-speed internet for every Americanβ€”urban, suburban, rural, and tribal communities. + +4,000 projects have already been announced. + +And tonight, I’m announcing that this year we will start fixing over 65,000 miles of highway and 1,500 bridges in disrepair. + +When we use taxpayer dollars to rebuild America – we are going to Buy American: buy American products to support American jobs. + +The federal government spends about $600 Billion a year to keep the country safe and secure. + +There’s been a law on the books for almost a century +to make sure taxpayers’ dollars support American jobs and businesses. + +Every Administration says they’ll do it, but we are actually doing it. + +We will buy American to make sure everything from the deck of an aircraft carrier to the steel on highway guardrails are made in America. + +But to compete for the best jobs of the future, we also need to level the playing field with China and other competitors. + +That’s why it is so important to pass the Bipartisan Innovation Act sitting in Congress that will make record investments in emerging technologies and American manufacturing. + +Let me give you one example of why it’s so important to pass it. + +If you travel 20 miles east of Columbus, Ohio, you’ll find 1,000 empty acres of land. + +It won’t look like much, but if you stop and look closely, you’ll see a β€œField of dreams,” the ground on which America’s future will be built. + +This is where Intel, the American company that helped build Silicon Valley, is going to build its $20 billion semiconductor β€œmega site”. + +Up to eight state-of-the-art factories in one place. 10,000 new good-paying jobs. + +Some of the most sophisticated manufacturing in the world to make computer chips the size of a fingertip that power the world and our everyday lives. + +Smartphones. The Internet. Technology we have yet to invent. + +But that’s just the beginning. + +Intel’s CEO, Pat Gelsinger, who is here tonight, told me they are ready to increase their investment from +$20 billion to $100 billion. + +That would be one of the biggest investments in manufacturing in American history. + +And all they’re waiting for is for you to pass this bill. + +So let’s not wait any longer. Send it to my desk. I’ll sign it. + +And we will really take off. + +And Intel is not alone. + +There’s something happening in America. + +Just look around and you’ll see an amazing story. + +The rebirth of the pride that comes from stamping products β€œMade In America.” The revitalization of American manufacturing. + +Companies are choosing to build new factories here, when just a few years ago, they would have built them overseas. + +That’s what is happening. Ford is investing $11 billion to build electric vehicles, creating 11,000 jobs across the country. + +GM is making the largest investment in its historyβ€”$7 billion to build electric vehicles, creating 4,000 jobs in Michigan. + +All told, we created 369,000 new manufacturing jobs in America just last year. + +Powered by people I’ve met like JoJo Burgess, from generations of union steelworkers from Pittsburgh, who’s here with us tonight. + +As Ohio Senator Sherrod Brown says, β€œIt’s time to bury the label β€œRust Belt.” + +It’s time. + +But with all the bright spots in our economy, record job growth and higher wages, too many families are struggling to keep up with the bills. + +Inflation is robbing them of the gains they might otherwise feel. + +I get it. That’s why my top priority is getting prices under control. + +Look, our economy roared back faster than most predicted, but the pandemic meant that businesses had a hard time hiring enough workers to keep up production in their factories. + +The pandemic also disrupted global supply chains. + +When factories close, it takes longer to make goods and get them from the warehouse to the store, and prices go up. + +Look at cars. + +Last year, there weren’t enough semiconductors to make all the cars that people wanted to buy. + +And guess what, prices of automobiles went up. + +Soβ€”we have a choice. + +One way to fight inflation is to drive down wages and make Americans poorer. + +I have a better plan to fight inflation. + +Lower your costs, not your wages. + +Make more cars and semiconductors in America. + +More infrastructure and innovation in America. + +More goods moving faster and cheaper in America. + +More jobs where you can earn a good living in America. + +And instead of relying on foreign supply chains, let’s make it in America. + +Economists call it β€œincreasing the productive capacity of our economy.” + +I call it building a better America. + +My plan to fight inflation will lower your costs and lower the deficit. + +17 Nobel laureates in economics say my plan will ease long-term inflationary pressures. Top business leaders and most Americans support my plan. And here’s the plan: + +First – cut the cost of prescription drugs. Just look at insulin. One in ten Americans has diabetes. In Virginia, I met a 13-year-old boy named Joshua Davis. + +He and his Dad both have Type 1 diabetes, which means they need insulin every day. Insulin costs about $10 a vial to make. + +But drug companies charge families like Joshua and his Dad up to 30 times more. I spoke with Joshua’s mom. + +Imagine what it’s like to look at your child who needs insulin and have no idea how you’re going to pay for it. + +What it does to your dignity, your ability to look your child in the eye, to be the parent you expect to be. + +Joshua is here with us tonight. Yesterday was his birthday. Happy birthday, buddy. + +For Joshua, and for the 200,000 other young people with Type 1 diabetes, let’s cap the cost of insulin at $35 a month so everyone can afford it. + +Drug companies will still do very well. And while we’re at it let Medicare negotiate lower prices for prescription drugs, like the VA already does. + +Look, the American Rescue Plan is helping millions of families on Affordable Care Act plans save $2,400 a year on their health care premiums. Let’s close the coverage gap and make those savings permanent. + +Second – cut energy costs for families an average of $500 a year by combatting climate change. + +Let’s provide investments and tax credits to weatherize your homes and businesses to be energy efficient and you get a tax credit; double America’s clean energy production in solar, wind, and so much more; lower the price of electric vehicles, saving you another $80 a month because you’ll never have to pay at the gas pump again. + +Third – cut the cost of child care. Many families pay up to $14,000 a year for child care per child. + +Middle-class and working families shouldn’t have to pay more than 7% of their income for care of young children. + +My plan will cut the cost in half for most families and help parents, including millions of women, who left the workforce during the pandemic because they couldn’t afford child care, to be able to get back to work. + +My plan doesn’t stop there. It also includes home and long-term care. More affordable housing. And Pre-K for every 3- and 4-year-old. + +All of these will lower costs. + +And under my plan, nobody earning less than $400,000 a year will pay an additional penny in new taxes. Nobody. + +The one thing all Americans agree on is that the tax system is not fair. We have to fix it. + +I’m not looking to punish anyone. But let’s make sure corporations and the wealthiest Americans start paying their fair share. + +Just last year, 55 Fortune 500 corporations earned $40 billion in profits and paid zero dollars in federal income tax. + +That’s simply not fair. That’s why I’ve proposed a 15% minimum tax rate for corporations. + +We got more than 130 countries to agree on a global minimum tax rate so companies can’t get out of paying their taxes at home by shipping jobs and factories overseas. + +That’s why I’ve proposed closing loopholes so the very wealthy don’t pay a lower tax rate than a teacher or a firefighter. + +So that’s my plan. It will grow the economy and lower costs for families. + +So what are we waiting for? Let’s get this done. And while you’re at it, confirm my nominees to the Federal Reserve, which plays a critical role in fighting inflation. + +My plan will not only lower costs to give families a fair shot, it will lower the deficit. + +The previous Administration not only ballooned the deficit with tax cuts for the very wealthy and corporations, it undermined the watchdogs whose job was to keep pandemic relief funds from being wasted. + +But in my administration, the watchdogs have been welcomed back. + +We’re going after the criminals who stole billions in relief money meant for small businesses and millions of Americans. + +And tonight, I’m announcing that the Justice Department will name a chief prosecutor for pandemic fraud. + +By the end of this year, the deficit will be down to less than half what it was before I took office. + +The only president ever to cut the deficit by more than one trillion dollars in a single year. + +Lowering your costs also means demanding more competition. + +I’m a capitalist, but capitalism without competition isn’t capitalism. + +It’s exploitationβ€”and it drives up prices. + +When corporations don’t have to compete, their profits go up, your prices go up, and small businesses and family farmers and ranchers go under. + +We see it happening with ocean carriers moving goods in and out of America. + +During the pandemic, these foreign-owned companies raised prices by as much as 1,000% and made record profits. + +Tonight, I’m announcing a crackdown on these companies overcharging American businesses and consumers. + +And as Wall Street firms take over more nursing homes, quality in those homes has gone down and costs have gone up. + +That ends on my watch. + +Medicare is going to set higher standards for nursing homes and make sure your loved ones get the care they deserve and expect. + +We’ll also cut costs and keep the economy going strong by giving workers a fair shot, provide more training and apprenticeships, hire them based on their skills not degrees. + +Let’s pass the Paycheck Fairness Act and paid leave. + +Raise the minimum wage to $15 an hour and extend the Child Tax Credit, so no one has to raise a family in poverty. + +Let’s increase Pell Grants and increase our historic support of HBCUs, and invest in what Jillβ€”our First Lady who teaches full-timeβ€”calls America’s best-kept secret: community colleges. + +And let’s pass the PRO Act when a majority of workers want to form a unionβ€”they shouldn’t be stopped. + +When we invest in our workers, when we build the economy from the bottom up and the middle out together, we can do something we haven’t done in a long time: build a better America. + +For more than two years, COVID-19 has impacted every decision in our lives and the life of the nation. + +And I know you’re tired, frustrated, and exhausted. + +But I also know this. + +Because of the progress we’ve made, because of your resilience and the tools we have, tonight I can say +we are moving forward safely, back to more normal routines. + +We’ve reached a new moment in the fight against COVID-19, with severe cases down to a level not seen since last July. + +Just a few days ago, the Centers for Disease Control and Preventionβ€”the CDCβ€”issued new mask guidelines. + +Under these new guidelines, most Americans in most of the country can now be mask free. + +And based on the projections, more of the country will reach that point across the next couple of weeks. + +Thanks to the progress we have made this past year, COVID-19 need no longer control our lives. + +I know some are talking about β€œliving with COVID-19”. Tonight – I say that we will never just accept living with COVID-19. + +We will continue to combat the virus as we do other diseases. And because this is a virus that mutates and spreads, we will stay on guard. + +Here are four common sense steps as we move forward safely. + +First, stay protected with vaccines and treatments. We know how incredibly effective vaccines are. If you’re vaccinated and boosted you have the highest degree of protection. + +We will never give up on vaccinating more Americans. Now, I know parents with kids under 5 are eager to see a vaccine authorized for their children. + +The scientists are working hard to get that done and we’ll be ready with plenty of vaccines when they do. + +We’re also ready with anti-viral treatments. If you get COVID-19, the Pfizer pill reduces your chances of ending up in the hospital by 90%. + +We’ve ordered more of these pills than anyone in the world. And Pfizer is working overtime to get us 1 Million pills this month and more than double that next month. + +And we’re launching the β€œTest to Treat” initiative so people can get tested at a pharmacy, and if they’re positive, receive antiviral pills on the spot at no cost. + +If you’re immunocompromised or have some other vulnerability, we have treatments and free high-quality masks. + +We’re leaving no one behind or ignoring anyone’s needs as we move forward. + +And on testing, we have made hundreds of millions of tests available for you to order for free. + +Even if you already ordered free tests tonight, I am announcing that you can order more from covidtests.gov starting next week. + +Second – we must prepare for new variants. Over the past year, we’ve gotten much better at detecting new variants. + +If necessary, we’ll be able to deploy new vaccines within 100 days instead of many more months or years. + +And, if Congress provides the funds we need, we’ll have new stockpiles of tests, masks, and pills ready if needed. + +I cannot promise a new variant won’t come. But I can promise you we’ll do everything within our power to be ready if it does. + +Third – we can end the shutdown of schools and businesses. We have the tools we need. + +It’s time for Americans to get back to work and fill our great downtowns again. People working from home can feel safe to begin to return to the office. + +We’re doing that here in the federal government. The vast majority of federal workers will once again work in person. + +Our schools are open. Let’s keep it that way. Our kids need to be in school. + +And with 75% of adult Americans fully vaccinated and hospitalizations down by 77%, most Americans can remove their masks, return to work, stay in the classroom, and move forward safely. + +We achieved this because we provided free vaccines, treatments, tests, and masks. + +Of course, continuing this costs money. + +I will soon send Congress a request. + +The vast majority of Americans have used these tools and may want to again, so I expect Congress to pass it quickly. + +Fourth, we will continue vaccinating the world. + +We’ve sent 475 Million vaccine doses to 112 countries, more than any other nation. + +And we won’t stop. + +We have lost so much to COVID-19. Time with one another. And worst of all, so much loss of life. + +Let’s use this moment to reset. Let’s stop looking at COVID-19 as a partisan dividing line and see it for what it is: A God-awful disease. + +Let’s stop seeing each other as enemies, and start seeing each other for who we really are: Fellow Americans. + +We can’t change how divided we’ve been. But we can change how we move forwardβ€”on COVID-19 and other issues we must face together. + +I recently visited the New York City Police Department days after the funerals of Officer Wilbert Mora and his partner, Officer Jason Rivera. + +They were responding to a 9-1-1 call when a man shot and killed them with a stolen gun. + +Officer Mora was 27 years old. + +Officer Rivera was 22. + +Both Dominican Americans who’d grown up on the same streets they later chose to patrol as police officers. + +I spoke with their families and told them that we are forever in debt for their sacrifice, and we will carry on their mission to restore the trust and safety every community deserves. + +I’ve worked on these issues a long time. + +I know what works: Investing in crime preventionand community police officers who’ll walk the beat, who’ll know the neighborhood, and who can restore trust and safety. + +So let’s not abandon our streets. Or choose between safety and equal justice. + +Let’s come together to protect our communities, restore trust, and hold law enforcement accountable. + +That’s why the Justice Department required body cameras, banned chokeholds, and restricted no-knock warrants for its officers. + +That’s why the American Rescue Plan provided $350 Billion that cities, states, and counties can use to hire more police and invest in proven strategies like community violence interruptionβ€”trusted messengers breaking the cycle of violence and trauma and giving young people hope. + +We should all agree: The answer is not to Defund the police. The answer is to FUND the police with the resources and training they need to protect our communities. + +I ask Democrats and Republicans alike: Pass my budget and keep our neighborhoods safe. + +And I will keep doing everything in my power to crack down on gun trafficking and ghost guns you can buy online and make at homeβ€”they have no serial numbers and can’t be traced. + +And I ask Congress to pass proven measures to reduce gun violence. Pass universal background checks. Why should anyone on a terrorist list be able to purchase a weapon? + +Ban assault weapons and high-capacity magazines. + +Repeal the liability shield that makes gun manufacturers the only industry in America that can’t be sued. + +These laws don’t infringe on the Second Amendment. They save lives. + +The most fundamental right in America is the right to vote – and to have it counted. And it’s under assault. + +In state after state, new laws have been passed, not only to suppress the vote, but to subvert entire elections. + +We cannot let this happen. + +Tonight. I call on the Senate to: Pass the Freedom to Vote Act. Pass the John Lewis Voting Rights Act. And while you’re at it, pass the Disclose Act so Americans can know who is funding our elections. + +Tonight, I’d like to honor someone who has dedicated his life to serve this country: Justice Stephen Breyerβ€”an Army veteran, Constitutional scholar, and retiring Justice of the United States Supreme Court. Justice Breyer, thank you for your service. + +One of the most serious constitutional responsibilities a President has is nominating someone to serve on the United States Supreme Court. + +And I did that 4 days ago, when I nominated Circuit Court of Appeals Judge Ketanji Brown Jackson. One of our nation’s top legal minds, who will continue Justice Breyer’s legacy of excellence. + +A former top litigator in private practice. A former federal public defender. And from a family of public school educators and police officers. A consensus builder. Since she’s been nominated, she’s received a broad range of supportβ€”from the Fraternal Order of Police to former judges appointed by Democrats and Republicans. + +And if we are to advance liberty and justice, we need to secure the Border and fix the immigration system. + +We can do both. At our border, we’ve installed new technology like cutting-edge scanners to better detect drug smuggling. + +We’ve set up joint patrols with Mexico and Guatemala to catch more human traffickers. + +We’re putting in place dedicated immigration judges so families fleeing persecution and violence can have their cases heard faster. + +We’re securing commitments and supporting partners in South and Central America to host more refugees and secure their own borders. + +We can do all this while keeping lit the torch of liberty that has led generations of immigrants to this landβ€”my forefathers and so many of yours. + +Provide a pathway to citizenship for Dreamers, those on temporary status, farm workers, and essential workers. + +Revise our laws so businesses have the workers they need and families don’t wait decades to reunite. + +It’s not only the right thing to doβ€”it’s the economically smart thing to do. + +That’s why immigration reform is supported by everyone from labor unions to religious leaders to the U.S. Chamber of Commerce. + +Let’s get it done once and for all. + +Advancing liberty and justice also requires protecting the rights of women. + +The constitutional right affirmed in Roe v. Wadeβ€”standing precedent for half a centuryβ€”is under attack as never before. + +If we want to go forwardβ€”not backwardβ€”we must protect access to health care. Preserve a woman’s right to choose. And let’s continue to advance maternal health care in America. + +And for our LGBTQ+ Americans, let’s finally get the bipartisan Equality Act to my desk. The onslaught of state laws targeting transgender Americans and their families is wrong. + +As I said last year, especially to our younger transgender Americans, I will always have your back as your President, so you can be yourself and reach your God-given potential. + +While it often appears that we never agree, that isn’t true. I signed 80 bipartisan bills into law last year. From preventing government shutdowns to protecting Asian-Americans from still-too-common hate crimes to reforming military justice. + +And soon, we’ll strengthen the Violence Against Women Act that I first wrote three decades ago. It is important for us to show the nation that we can come together and do big things. + +So tonight I’m offering a Unity Agenda for the Nation. Four big things we can do together. + +First, beat the opioid epidemic. + +There is so much we can do. Increase funding for prevention, treatment, harm reduction, and recovery. + +Get rid of outdated rules that stop doctors from prescribing treatments. And stop the flow of illicit drugs by working with state and local law enforcement to go after traffickers. + +If you’re suffering from addiction, know you are not alone. I believe in recovery, and I celebrate the 23 million Americans in recovery. + +Second, let’s take on mental health. Especially among our children, whose lives and education have been turned upside down. + +The American Rescue Plan gave schools money to hire teachers and help students make up for lost learning. + +I urge every parent to make sure your school does just that. And we can all play a partβ€”sign up to be a tutor or a mentor. + +Children were also struggling before the pandemic. Bullying, violence, trauma, and the harms of social media. + +As Frances Haugen, who is here with us tonight, has shown, we must hold social media platforms accountable for the national experiment they’re conducting on our children for profit. + +It’s time to strengthen privacy protections, ban targeted advertising to children, demand tech companies stop collecting personal data on our children. + +And let’s get all Americans the mental health services they need. More people they can turn to for help, and full parity between physical and mental health care. + +Third, support our veterans. + +Veterans are the best of us. + +I’ve always believed that we have a sacred obligation to equip all those we send to war and care for them and their families when they come home. + +My administration is providing assistance with job training and housing, and now helping lower-income veterans get VA care debt-free. + +Our troops in Iraq and Afghanistan faced many dangers. + +One was stationed at bases and breathing in toxic smoke from β€œburn pits” that incinerated wastes of warβ€”medical and hazard material, jet fuel, and more. + +When they came home, many of the world’s fittest and best trained warriors were never the same. + +Headaches. Numbness. Dizziness. + +A cancer that would put them in a flag-draped coffin. + +I know. + +One of those soldiers was my son Major Beau Biden. + +We don’t know for sure if a burn pit was the cause of his brain cancer, or the diseases of so many of our troops. + +But I’m committed to finding out everything we can. + +Committed to military families like Danielle Robinson from Ohio. + +The widow of Sergeant First Class Heath Robinson. + +He was born a soldier. Army National Guard. Combat medic in Kosovo and Iraq. + +Stationed near Baghdad, just yards from burn pits the size of football fields. + +Heath’s widow Danielle is here with us tonight. They loved going to Ohio State football games. He loved building Legos with their daughter. + +But cancer from prolonged exposure to burn pits ravaged Heath’s lungs and body. + +Danielle says Heath was a fighter to the very end. + +He didn’t know how to stop fighting, and neither did she. + +Through her pain she found purpose to demand we do better. + +Tonight, Danielleβ€”we are. + +The VA is pioneering new ways of linking toxic exposures to diseases, already helping more veterans get benefits. + +And tonight, I’m announcing we’re expanding eligibility to veterans suffering from nine respiratory cancers. + +I’m also calling on Congress: pass a law to make sure veterans devastated by toxic exposures in Iraq and Afghanistan finally get the benefits and comprehensive health care they deserve. + +And fourth, let’s end cancer as we know it. + +This is personal to me and Jill, to Kamala, and to so many of you. + +Cancer is the #2 cause of death in America–second only to heart disease. + +Last month, I announced our plan to supercharge +the Cancer Moonshot that President Obama asked me to lead six years ago. + +Our goal is to cut the cancer death rate by at least 50% over the next 25 years, turn more cancers from death sentences into treatable diseases. + +More support for patients and families. + +To get there, I call on Congress to fund ARPA-H, the Advanced Research Projects Agency for Health. + +It’s based on DARPAβ€”the Defense Department project that led to the Internet, GPS, and so much more. + +ARPA-H will have a singular purposeβ€”to drive breakthroughs in cancer, Alzheimer’s, diabetes, and more. + +A unity agenda for the nation. + +We can do this. + +My fellow Americansβ€”tonight , we have gathered in a sacred spaceβ€”the citadel of our democracy. + +In this Capitol, generation after generation, Americans have debated great questions amid great strife, and have done great things. + +We have fought for freedom, expanded liberty, defeated totalitarianism and terror. + +And built the strongest, freest, and most prosperous nation the world has ever known. + +Now is the hour. + +Our moment of responsibility. + +Our test of resolve and conscience, of history itself. + +It is in this moment that our character is formed. Our purpose is found. Our future is forged. + +Well I know this nation. + +We will meet the test. + +To protect freedom and liberty, to expand fairness and opportunity. + +We will save democracy. + +As hard as these times have been, I am more optimistic about America today than I have been my whole life. + +Because I see the future that is within our grasp. + +Because I know there is simply nothing beyond our capacity. + +We are the only nation on Earth that has always turned every crisis we have faced into an opportunity. + +The only nation that can be defined by a single word: possibilities. + +So on this night, in our 245th year as a nation, I have come to report on the State of the Union. + +And my report is this: the State of the Union is strongβ€”because you, the American people, are strong. + +We are stronger today than we were a year ago. + +And we will be stronger a year from now than we are today. + +Now is our moment to meet and overcome the challenges of our time. + +And we will, as one people. + +One America. + +The United States of America. + +May God bless you all. May God protect our troops. \ No newline at end of file diff --git a/cypress/support/e2e.ts b/cypress/support/e2e.ts new file mode 100644 index 0000000000..6395702b12 --- /dev/null +++ b/cypress/support/e2e.ts @@ -0,0 +1,22 @@ +import * as dotenv from "dotenv"; +dotenv.config(); +import { installChainlit, runTests, runTest } from "./utils"; + +async function main() { + await installChainlit(); + const singleTest = process.argv[2]; + if (singleTest) { + await runTest(singleTest); + } else { + await runTests(); + } +} + +main() + .then(() => { + console.log("Done!"); + }) + .catch((error) => { + console.error(error); + process.exit(1); + }); diff --git a/cypress/support/testUtils.ts b/cypress/support/testUtils.ts new file mode 100644 index 0000000000..828e1b5225 --- /dev/null +++ b/cypress/support/testUtils.ts @@ -0,0 +1,5 @@ +export function submitMessage(message: string) { + cy.wait(2000); + cy.get(`#chat-input`).should("not.be.disabled"); + cy.get(`#chat-input`).type(`${message}{enter}`); +} diff --git a/cypress/support/utils.ts b/cypress/support/utils.ts new file mode 100644 index 0000000000..40fa560df4 --- /dev/null +++ b/cypress/support/utils.ts @@ -0,0 +1,74 @@ +import { execSync, spawn } from "child_process"; +import { join } from "path"; +import { readdirSync } from "fs"; + +const ROOT = process.cwd(); +const E2E_DIR = join(ROOT, "cypress/e2e"); +const CHAINLIT_DIR = join(ROOT, "src"); +const FRONTEND_DIR = join(CHAINLIT_DIR, "chainlit", "frontend"); + +export async function runTest(test: string) { + let childProcess; + try { + console.log("Running:", test); + childProcess = await runChainlit(test); + runSpec(test); + } finally { + childProcess?.kill(); + } +} + +export async function runTests() { + for (const test of readdirSync(E2E_DIR)) { + await runTest(test); + } +} + +function runCommand(command: string, cwd = ROOT) { + return execSync(command, { + encoding: "utf-8", + cwd, + env: process.env, + stdio: "inherit", + }); +} + +export function installChainlit() { + runCommand("npm run build", FRONTEND_DIR); + runCommand("pip3 install ./src"); +} + +export function runSpec(test: string) { + return runCommand(`npx cypress run --spec cypress/e2e/${test}/spec.cy.ts`); +} + +export async function runChainlit(test: string) { + return new Promise((resolve, reject) => { + const testDir = join(E2E_DIR, test); + const file = "main.py"; + + // Headless + CI mode + const child = spawn("chainlit", ["run", file, "-h", "-c"], { + cwd: testDir, + env: process.env, + stdio: "inherit", + }); + + setTimeout(() => { + // todo listen for stdout. passing process.env makes stdout silent for some reason. + resolve(child); + }, 3000); + + child.stderr?.on("data", (data) => { + reject(data.toString()); + }); + + child.on("error", (error) => { + reject(error.message); + }); + + child.on("exit", function (code) { + reject("child process exited with code " + code); + }); + }); +} diff --git a/images/quick-start.png b/images/quick-start.png new file mode 100644 index 0000000000000000000000000000000000000000..c7073e3526fc5ee47057c5e77120c034a14ac113 GIT binary patch literal 95653 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𝔧-?Jp14JXf7-^hk@w3{4ez`DTMb5f|{_i*U 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 literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000000..aebd71fe62 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3680 @@ +{ + "name": "chainlit", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "devDependencies": { + "cypress": "^12.9.0", + "dotenv": "^16.0.3", + "husky": "^8.0.0", + "ts-node": "^10.9.1", + "typescript": "^5.0.4" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cypress/request": { + "version": "2.88.11", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", + "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "dev": true, + "dependencies": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "dependencies": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + } + }, + "node_modules/@cypress/xvfb/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "14.18.42", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.42.tgz", + "integrity": "sha512-xefu+RBie4xWlK8hwAzGh3npDz/4VhF6icY/shU+zv/1fNn+ZVG7T7CRwe9LId9sAYRPxI+59QBPuKL3WpyGRg==", + "dev": true + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "node_modules/@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, + "node_modules/@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chalk/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/cypress": { + "version": "12.9.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.9.0.tgz", + "integrity": "sha512-Ofe09LbHKgSqX89Iy1xen2WvpgbvNxDzsWx3mgU1mfILouELeXYGwIib3ItCwoRrRifoQwcBFmY54Vs0zw7QCg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@cypress/request": "^2.88.10", + "@cypress/xvfb": "^1.2.4", + "@types/node": "^14.14.31", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.6.0", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^5.1.0", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.0", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.6", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.3.2", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "bin": { + "cypress": "bin/cypress" + }, + "engines": { + "node": "^14.0.0 || ^16.0.0 || >=18.0.0" + } + }, + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "dependencies": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, + "node_modules/execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "dependencies": { + "pify": "^2.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "node_modules/extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "bin": { + "extract-zip": "cli.js" + }, + "engines": { + "node": ">= 10.17.0" + }, + "optionalDependencies": { + "@types/yauzl": "^2.9.1" + } + }, + "node_modules/extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true, + "engines": [ + "node >=0.6.0" + ] + }, + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "dependencies": { + "pend": "~1.2.0" + } + }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "dependencies": { + "pump": "^3.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "dependencies": { + "async": "^3.2.0" + } + }, + "node_modules/getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "dependencies": { + "ini": "2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dev": true, + "dependencies": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true, + "engines": { + "node": ">=8.12.0" + } + }, + "node_modules/husky": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "dev": true, + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "dependencies": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "node_modules/jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "node_modules/json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "node_modules/lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true, + "engines": { + "node": "> 0.8" + } + }, + "node_modules/listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "dependencies": { + "throttleit": "^1.0.0" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "dependencies": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", + "dev": true + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "dependencies": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "node_modules/verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "engines": [ + "node >=0.6.0" + ], + "dependencies": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } + } + }, + "dependencies": { + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true + }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dev": true, + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + } + }, + "@cypress/request": { + "version": "2.88.11", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-2.88.11.tgz", + "integrity": "sha512-M83/wfQ1EkspjkE2lNWNV5ui2Cv7UCv1swW1DqljahbzLVWltcsexQh8jYtuS/vzFXP+HySntGM83ZXA9fn17w==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "~6.10.3", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + } + }, + "@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, + "@types/node": { + "version": "14.18.42", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.42.tgz", + "integrity": "sha512-xefu+RBie4xWlK8hwAzGh3npDz/4VhF6icY/shU+zv/1fNn+ZVG7T7CRwe9LId9sAYRPxI+59QBPuKL3WpyGRg==", + "dev": true + }, + "@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "@types/sizzle": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz", + "integrity": "sha512-JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==", + "dev": true + }, + "@types/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true + }, + "cachedir": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.3.0.tgz", + "integrity": "sha512-A+Fezp4zxnit6FanDmv9EqXNAi3vt9DWp51/71UEhXukb7QUuvtv9344h91dyAxuTLoSYJFU299qzR3tzwPAhw==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true + }, + "ci-info": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", + "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "dev": true + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "requires": { + "@colors/colors": "1.5.0", + "string-width": "^4.2.0" + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colorette": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz", + "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "dev": true + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cypress": { + "version": "12.9.0", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-12.9.0.tgz", + "integrity": "sha512-Ofe09LbHKgSqX89Iy1xen2WvpgbvNxDzsWx3mgU1mfILouELeXYGwIib3ItCwoRrRifoQwcBFmY54Vs0zw7QCg==", + "dev": true, + "requires": { + "@cypress/request": "^2.88.10", + "@cypress/xvfb": "^1.2.4", + "@types/node": "^14.14.31", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.6.0", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^5.1.0", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.0", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.6", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.3.2", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dayjs": { + "version": "1.11.7", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.7.tgz", + "integrity": "sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "requires": { + "pify": "^2.2.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.3" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "requires": { + "async": "^3.2.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "requires": { + "ini": "2.0.0" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + } + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "husky": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/husky/-/husky-8.0.3.tgz", + "integrity": "sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==", + "dev": true + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true + }, + "is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "requires": { + "ci-info": "^3.2.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true + }, + "listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "requires": { + "throttleit": "^1.0.0" + } + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rxjs": { + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "semver": { + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "sshpk": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz", + "integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "throttleit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz", + "integrity": "sha512-rkTVqu6IjfQ/6+uNuuc3sZek4CEYxTJom3IktzgdSxcZqdARuebbA/f4QmAxMQIxqq9ZLEUkSYqvuk1I6VKq4g==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dev": true, + "requires": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + } + }, + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000000..35a28dee21 --- /dev/null +++ b/package.json @@ -0,0 +1,19 @@ +{ + "devDependencies": { + "cypress": "^12.9.0", + "dotenv": "^16.0.3", + "ts-node": "^10.9.1", + "typescript": "^5.0.4", + "husky": "^8.0.0" + }, + "scripts": { + "test": "npx ts-node ./cypress/support/e2e.ts", + "prepare": "husky install", + "lintUi": "cd src/chainlit/frontend && npm run lint", + "formatUi": "cd src/chainlit/frontend && npm run format", + "formatPython": "black src", + "installUiDeps": "cd src/chainlit/frontend && npm install", + "buildUi": "(cd src/chainlit/frontend && npm run build)", + "build": "(cd src/chainlit/frontend && npm run build) && (cd src && poetry build)" + } +} diff --git a/src/README.md b/src/README.md new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/chainlit/__init__.py b/src/chainlit/__init__.py new file mode 100644 index 0000000000..80691cf437 --- /dev/null +++ b/src/chainlit/__init__.py @@ -0,0 +1,419 @@ +import gevent +from gevent import monkey + +monkey.patch_all() + +from chainlit.lc import monkey + +monkey.patch() + +from chainlit.sdk import get_sdk +from chainlit.user_session import user_session +from chainlit.config import config +from chainlit.types import ( + ElementDisplay, + LLMSettings, + AskSpec, + AskFileSpec, + AskFileResponse, + AskResponse, + Action, +) +from chainlit.telemetry import trace +from chainlit.version import __version__ +from chainlit.logger import logger +from chainlit.server import socketio +from typing import Callable, Any, List, Union +from dotenv import load_dotenv +import inspect +import os + + +env_found = load_dotenv(dotenv_path=os.path.join(os.getcwd(), ".env")) + +if env_found: + logger.info("Loaded .env file") + + +def wrap_user_function(user_function: Callable, with_task=False) -> Callable: + """ + Wraps a user-defined function to accept arguments as a dictionary. + + Args: + user_function (Callable): The user-defined function to wrap. + + Returns: + Callable: The wrapped function. + """ + + def wrapper(*args): + sdk = get_sdk() + # Get the parameter names of the user-defined function + user_function_params = list(inspect.signature(user_function).parameters.keys()) + + # Create a dictionary of parameter names and their corresponding values from *args + params_values = { + param_name: arg for param_name, arg in zip(user_function_params, args) + } + + if with_task and sdk: + sdk.task_start() + + try: + # Call the user-defined function with the arguments + return user_function(**params_values) + except Exception as e: + logger.exception(e) + if sdk: + sdk.send_message(author="Error", is_error=True, content=str(e)) + finally: + if with_task and sdk: + sdk.task_end() + + return wrapper + + +@trace +def send_text(text: str, name: str, display: ElementDisplay = "side"): + """ + Send a text element to the chatbot UI. + If a project ID is configured, the element will be uploaded to the cloud storage. + + Args: + text (str): The content of the text element. + name (str): The name of the text element to be displayed in the UI. + display (ElementDisplay, optional): Determines how the element should be displayed in the UI. + Choices are "side" (default) or "inline" or "page". + """ + sdk = get_sdk() + if sdk: + sdk.send_text(text, name, display) + + +@trace +def send_local_image(path: str, name: str, display: ElementDisplay = "side"): + """ + Send a local image to the chatbot UI. + If a project ID is configured, the image will be uploaded to the cloud storage. + + Args: + path (str): The local file path of the image. + name (str): The name of the image to be displayed in the UI. + display (ElementDisplay, optional): Determines how the image should be displayed in the UI. + Choices are "side" (default) or "inline" or "page". + """ + sdk = get_sdk() + if sdk: + sdk.send_local_image(path, name, display) + + +@trace +def send_message( + content: str, + author=config.chatbot_name, + prompt: str = None, + language: str = None, + indent=0, + llm_settings: LLMSettings = None, + end_stream=False, +): + """ + Send a message to the chatbot UI. + If a project ID is configured, the messages will be uploaded to the cloud storage. + + Args: + content (str): The content of the message. + author (str, optional): The author of the message, this will be used in the UI. Defaults to the chatbot name (see config). + prompt (str, optional): The prompt used to generate the message. If provided, enables the prompt playground for this message. + language (str, optional): Language of the code is the content is code. See https://react-code-blocks-rajinwonderland.vercel.app/?path=/story/codeblock--supported-languages for a list of supported languages. + indent (int, optional): If positive, the message will be nested in the UI. + llm_settings (LLMSettings, optional): Settings of the LLM used to generate the prompt. This is useful for debug purposes in the prompt playground. + end_stream (bool, optional): Pass True if this message was streamed. + """ + sdk = get_sdk() + if sdk: + sdk.send_message( + author=author, + content=content, + prompt=prompt, + language=language, + indent=indent, + llm_settings=llm_settings, + end_stream=end_stream, + ) + + +@trace +def send_error_message(content: str, author=config.chatbot_name, indent=0): + """ + Send an error message to the chatbot UI. + If a project ID is configured, the messages will be uploaded to the cloud storage. + + Args: + content (str): The content of the error. + author (str, optional): The author of the message, this will be used in the UI. Defaults to the chatbot name (see config). + indent (int, optional): If positive, the message will be nested in the UI. + """ + sdk = get_sdk() + if sdk: + sdk.send_message(author=author, content=content, is_error=True, indent=indent) + + +@trace +def ask_for_input( + content: str, author=config.chatbot_name, timeout=60, raise_on_timeout=False +) -> Union[AskResponse, None]: + """ + Ask for the user input before continuing. + If the user does not answer in time (see timeout), a TimeoutError will be raised or None will be returned depending on raise_on_timeout. + If a project ID is configured, the messages will be uploaded to the cloud storage. + + Args: + content (str): The content of the prompt. + author (str, optional): The author of the message, this will be used in the UI. Defaults to the chatbot name (see config). + timeout (int, optional): The number of seconds to wait for an answer before raising a TimeoutError. + raise_on_timeout (bool, optional): Whether to raise a socketio TimeoutError if the user does not answer in time. + Returns: + AskResponse: The response from the user include "msg" and "author" or None. + """ + sdk = get_sdk() + if sdk: + spec = AskSpec(type="text", timeout=timeout) + return sdk.send_ask_user( + author=author, content=content, spec=spec, raise_on_timeout=raise_on_timeout + ) + + +@trace +def ask_for_file( + title: str, + accept: List[str], + max_size_mb=2, + author=config.chatbot_name, + timeout=90, + raise_on_timeout=False, +) -> Union[AskFileResponse, None]: + """ + Ask the user to upload a file before continuing. + If the user does not answer in time (see timeout), a TimeoutError will be raised or None will be returned depending on raise_on_timeout. + If a project ID is configured, the messages will be uploaded to the cloud storage. + + Args: + title (str): Text displayed above the upload button. + accept (List[str]): List of mime type to accept like ["text/csv", "application/pdf"] + max_size_mb (int, optional): Maximum file size in MB. + author (str, optional): The author of the message, this will be used in the UI. Defaults to the chatbot name (see config). + timeout (int, optional): The number of seconds to wait for an answer before raising a TimeoutError. + raise_on_timeout (bool, optional): Whether to raise a socketio TimeoutError if the user does not answer in time. + Returns: + FileContent: The file content or None. + """ + sdk = get_sdk() + if sdk: + spec = AskFileSpec( + type="file", accept=accept, max_size_mb=max_size_mb, timeout=timeout + ) + res = sdk.send_ask_user( + author=author, content=title, spec=spec, raise_on_timeout=raise_on_timeout + ) + if res: + return AskFileResponse(**res) + else: + return None + + +@trace +def send_action(name: str, trigger: str, description=""): + """ + Send an action to the chatbot UI. + Args: + name (str): The name of the action to send. + trigger (str): The text that should trigger the action when clicked. + description (str, optional): The description of the action. Defaults to "". + """ + sdk = get_sdk() + if sdk: + sdk.send_action(name=name, trigger=trigger, description=description) + + +@trace +def start_stream( + author=config.chatbot_name, + indent: int = 0, + language: str = None, + llm_settings: LLMSettings = None, +): + """ + Start a streamed message. + + Args: + author (str, optional): The author of the message, this will be used in the UI. Defaults to the chatbot name (see config). + indent (int, optional): If positive, the message will be nested in the UI. + language (str, optional): Language of the code is the content is code. See https://react-code-blocks-rajinwonderland.vercel.app/?path=/story/codeblock--supported-languages for a list of supported languages. + llm_settings (LLMSettings, optional): Settings of the LLM used to generate the prompt. This is useful for debug purposes in the prompt playground. + """ + sdk = get_sdk() + if sdk: + return sdk.stream_start( + author=author, indent=indent, language=language, llm_settings=llm_settings + ) + + +@trace +def send_token(token: str): + """ + Send a token belonging to the currently streamed message. + + Args: + token (str): The token to send. + """ + sdk = get_sdk() + if sdk: + return sdk.send_token(token) + + +@trace +def langchain_factory(func: Callable) -> Callable: + """ + Plug and play decorator for the LangChain library. + The decorated function should instantiate a new LangChain instance (Chain, Agent...). + One instance per user session is created and cached. + The per user instance is called every time a new message is received. + + Args: + func (Callable[[], Any]): The factory function to create a new LangChain instance. + + Returns: + Callable[[], Any]: The decorated factory function. + """ + from chainlit.config import config + + config.lc_factory = wrap_user_function(func, with_task=True) + return func + + +@trace +def langchain_postprocess(func: Callable[[Any], str]) -> Callable: + """ + Useful to post process the response a LangChain object instantiated with @langchain_factory. + The decorated function takes the raw output of the LangChain object and return a string as the final response. + + Args: + func (Callable[[Any], str]): The post-processing function to apply after generating a response. Takes the response as parameter. + + Returns: + Callable[[Any], str]: The decorated post-processing function. + """ + from chainlit.config import config + + config.lc_postprocess = wrap_user_function(func) + return func + + +@trace +def on_message(func: Callable) -> Callable: + """ + Framework agnostic decorator to react to messages coming from the UI. + The decorated function is called every time a new message is received. + + Args: + func (Callable[[str], Any]): The function to be called when a new message is received. Takes the input message. + + Returns: + Callable[[str], Any]: The decorated on_message function. + """ + from chainlit.config import config + + config.on_message = wrap_user_function(func) + return func + + +@trace +def langchain_run(func: Callable[[Any, str], str]) -> Callable: + """ + Useful to override the default behavior of the LangChain object instantiated with @langchain_factory. + Use when your agent run method has custom parameters. + This function should return a string as the final response. + Args: + func (Callable[[Any, str], str]): The function to be called when a new message is received. Takes the agent and user input as parameters and returns the output string. + + Returns: + Callable[[Any, str], Any]: The decorated function. + """ + from chainlit.config import config + + config.lc_run = wrap_user_function(func) + return func + + +@trace +def langchain_rename(func: Callable[[str], str]) -> Callable[[str], str]: + """ + Useful to rename the LangChain tools/chains used in the agent and display more friendly author names in the UI. + Args: + func (Callable[[str], str]): The function to be called to rename a tool/chain. Takes the original tool/chain name as parameter. + + Returns: + Callable[[Any, str], Any]: The decorated function. + """ + from chainlit.config import config + + config.lc_rename = wrap_user_function(func) + return func + + +@trace +def on_chat_start(func: Callable) -> Callable: + """ + Hook to react to the user websocket connection event. + + Args: + func (Callable[], Any]): The connection hook to execute. + + Returns: + Callable[], Any]: The decorated hook. + """ + from chainlit.config import config + + config.on_chat_start = wrap_user_function(func, with_task=True) + return func + + +@trace +def on_stop(func: Callable) -> Callable: + """ + Hook to react to the user stopping a conversation. + + Args: + func (Callable[[], Any]): The stop hook to execute. + + Returns: + Callable[[], Any]: The decorated stop hook. + """ + from chainlit.config import config + + config.on_stop = wrap_user_function(func) + return func + + +def action(name: str) -> Callable: + """ + Callback to call when an action is triggered in the UI. + """ + + def decorator(func: Callable[[Action], Any]): + from chainlit.config import config + + config.action_callbacks[name] = wrap_user_function(func, with_task=True) + return func + + return decorator + + +def sleep(duration: int): + """ + Sleep for a given duration. + Args: + duration (int): The duration in seconds. + """ + return socketio.sleep(duration) diff --git a/src/chainlit/__main__.py b/src/chainlit/__main__.py new file mode 100644 index 0000000000..c07c66f45d --- /dev/null +++ b/src/chainlit/__main__.py @@ -0,0 +1,4 @@ +from chainlit.cli import cli + +if __name__ == "__main__": + cli(prog_name="chainlit") diff --git a/src/chainlit/cli/__init__.py b/src/chainlit/cli/__init__.py new file mode 100644 index 0000000000..5738512633 --- /dev/null +++ b/src/chainlit/cli/__init__.py @@ -0,0 +1,113 @@ +import click +import os +import sys +import webbrowser +from chainlit.config import config, init_config, load_module +from chainlit.watch import watch_directory +from chainlit.markdown import init_markdown +from chainlit.cli.auth import login, logout +from chainlit.cli.deploy import deploy +from chainlit.cli.utils import check_file +from chainlit.telemetry import trace_event +from chainlit.logger import logger + +# Set the default port for the server +PORT = 8000 + + +# Create the main command group for Chainlit CLI +@click.group(context_settings={"auto_envvar_prefix": "CHAINLIT"}) +@click.version_option(prog_name="Chainlit") +def cli(): + return + + +# Define the function to run Chainlit with provided options +def run_chainlit( + target: str, watch=False, headless=False, debug=False, args=None, **kwargs +): + check_file(target) + # Load the module provided by the user + config.module_name = target + load_module(config.module_name) + + # Create the chainlit.md file if it doesn't exist + init_markdown(config.root) + + # Enable file watching if the user specified it + if watch: + watch_directory() + + from chainlit.server import socketio, app + + # Open the browser if in development mode + def open_browser(headless: bool): + if not headless and config.chainlit_env == "development": + # Wait two seconds to allow the server to start + socketio.sleep(2) + webbrowser.open(f"http://127.0.0.1:{PORT}") + + socketio.start_background_task(open_browser, headless) + # Start the server + socketio.run(app, port=PORT, debug=debug, use_reloader=False) + + +# Define the "run" command for Chainlit CLI +@cli.command("run") +@click.argument("target", required=True, envvar="CHAINLIT_RUN_TARGET") +@click.option("-w", "--watch", default=False, is_flag=True, envvar="CHAINLIT_WATCH") +@click.option( + "-h", "--headless", default=False, is_flag=True, envvar="CHAINLIT_HEADLESS" +) +@click.option("-d", "--debug", default=False, is_flag=True, envvar="CHAINLIT_DEBUG") +@click.option("-c", "--ci", default=False, is_flag=True, envvar="CHAINLIT_CI") +@click.argument("args", nargs=-1) +def chainlit_run(target, watch, headless, debug, ci, args=None, **kwargs): + if ci: + logger.info("Running in CI mode") + config.enable_telemetry = False + else: + trace_event("chainlit run") + + run_chainlit(target, watch, headless, debug, args, **kwargs) + + +@cli.command("deploy") +@click.argument("target", required=True, envvar="CHAINLIT_RUN_TARGET") +@click.argument("args", nargs=-1) +def chainlit_deploy(target, args=None, **kwargs): + trace_event("chainlit deploy") + raise NotImplementedError("Deploy is not yet implemented") + deploy(target) + + +@cli.command("hello") +@click.argument("args", nargs=-1) +def chainlit_hello(args=None, **kwargs): + trace_event("chainlit hello") + dir_path = os.path.dirname(os.path.dirname(os.path.realpath(__file__))) + hello_path = os.path.join(dir_path, "hello.py") + run_chainlit(hello_path) + + +@cli.command("login") +@click.argument("args", nargs=-1) +def chainlit_login(args=None, **kwargs): + trace_event("chainlit login") + login() + sys.exit(0) + + +@cli.command("logout") +@click.argument("args", nargs=-1) +def chainlit_logout(args=None, **kwargs): + trace_event("chainlit logout") + logout() + sys.exit(0) + + +@cli.command("init") +@click.argument("args", nargs=-1) +def chainlit_init(args=None, **kwargs): + trace_event("chainlit init") + init_config(log=True) diff --git a/src/chainlit/cli/auth.py b/src/chainlit/cli/auth.py new file mode 100644 index 0000000000..9a4a483e4e --- /dev/null +++ b/src/chainlit/cli/auth.py @@ -0,0 +1,139 @@ +from auth0.authentication.token_verifier import ( + TokenVerifier, + AsymmetricSignatureVerifier, +) +from typing import Dict +from chainlit.logger import logger +import time +import requests +import sys +import time +import webbrowser +import os +import json + + +AUTH0_DOMAIN = "auth.chainlit.io" +AUTH0_CLIENT_ID = "ADo93BBXDn8Z35lEi8arCWiR7C0ncrjx" +ALGORITHMS = ["HS256"] + + +def get_credentials_path(): + """ + Returns the path to the credentials file + """ + return os.path.join(os.path.expanduser("~"), ".chainlit", "credentials.json") + + +def store_credentials(credentials: Dict): + """ + Stores the credentials in the credentials file + + :param credentials: + """ + if not os.path.exists(os.path.dirname(get_credentials_path())): + os.makedirs(os.path.dirname(get_credentials_path())) + with open(get_credentials_path(), "w", encoding="utf-8") as f: + f.write(json.dumps(credentials)) + + +def is_logged_in(): + """ + Returns true if the user is logged in + """ + if not os.path.exists(get_credentials_path()): + return False + with open(get_credentials_path(), "r", encoding="utf-8") as f: + credentials = json.loads(f.read()) + if time.time() - credentials["created_at"] > credentials["expires_in"]: + logger.info("Token expired.") + return False + return True + + +def get_access_token(): + """ + Returns the credentials from the credentials file + """ + if not is_logged_in(): + login() + return get_access_token() + with open(get_credentials_path(), "r", encoding="utf-8") as f: + credentials = json.loads(f.read()) + return credentials["access_token"] + + +def validate_token(token): + """ + Verify the token and its precedence + + :param token: + """ + jwks_url = "https://{}/.well-known/jwks.json".format(AUTH0_DOMAIN) + issuer = "https://{}/".format(AUTH0_DOMAIN) + sv = AsymmetricSignatureVerifier(jwks_url) + tv = TokenVerifier(signature_verifier=sv, issuer=issuer, audience=AUTH0_CLIENT_ID) + return tv.verify(token) + + +def logout(): + """ + Removes the user object from memory + """ + if os.path.exists(get_credentials_path()): + os.remove(get_credentials_path()) + logger.info("Logged out") + else: + logger.error("You are not logged in") + + +def login(): + """ + Runs the device authorization flow and stores the user object in memory + """ + if is_logged_in(): + logger.info("You are already logged in") + return + + device_code_payload = { + "client_id": AUTH0_CLIENT_ID, + "scope": "openid profile email", + "audience": "chainlit-cloud", + } + device_code_response = requests.post( + "https://{}/oauth/device/code".format(AUTH0_DOMAIN), data=device_code_payload + ) + + if device_code_response.status_code != 200: + logger.error("Error generating the device code") + logger.error(device_code_response.json()) + sys.exit(1) + + device_code_data = device_code_response.json() + webbrowser.open(device_code_data["verification_uri_complete"]) + logger.info(f"Enter the following code: {device_code_data['user_code']}") + + token_payload = { + "grant_type": "urn:ietf:params:oauth:grant-type:device_code", + "device_code": device_code_data["device_code"], + "client_id": AUTH0_CLIENT_ID, + } + + authenticated = False + while not authenticated: + token_response = requests.post( + "https://{}/oauth/token".format(AUTH0_DOMAIN), data=token_payload + ) + + token_data = token_response.json() + if token_response.status_code == 200: + user = validate_token(token_data["id_token"]) + token_data["created_at"] = time.time() + store_credentials(token_data) + logger.info(f"Logged in as {user['email']}") + authenticated = True + elif token_data["error"] not in ("authorization_pending", "slow_down"): + logger.error(token_data["error_description"]) + sys.exit(1) + else: + time.sleep(device_code_data["interval"]) diff --git a/src/chainlit/cli/deploy.py b/src/chainlit/cli/deploy.py new file mode 100644 index 0000000000..fb9c5afe86 --- /dev/null +++ b/src/chainlit/cli/deploy.py @@ -0,0 +1,87 @@ +import os +import tarfile +import fnmatch +import tempfile +import requests +from chainlit.cli.utils import check_file +from chainlit.config import config +from chainlit.cli.auth import get_access_token + + +def get_gitignore_patterns(): + patterns = [] + if not os.path.exists(".gitignore"): + return patterns + + with open(".gitignore", "r", encoding="utf-8") as gitignore_file: + for line in gitignore_file: + line = line.strip() + if line and not line.startswith("#"): + patterns.append(line) + + return patterns + + +def is_excluded(file_path, patterns): + for pattern in patterns: + if fnmatch.fnmatch(file_path, pattern): + return True + return False + + +def create_tar_gz_archive(archive_path, source_dir): + gitignore_patterns = get_gitignore_patterns() + with tarfile.open(archive_path, "w:gz") as tar_file: + for root, dirs, files in os.walk(source_dir): + for file in files: + file_path = os.path.join(root, file) + if not is_excluded(file_path, gitignore_patterns): + tar_file.add( + file_path, arcname=os.path.relpath(file_path, source_dir) + ) + + +def upload_tar_gz_archive(access_token: str, archive_path: str): + url = f"{config.chainlit_server}/api/upload/deployment" + body = {"projectId": config.project_id} + + headers = {"Authorization": access_token} + + res = requests.post(url, json=body, headers=headers) + + if not res.ok: + raise Exception(f"Failed to upload archive: {res.text}") + + json_res = res.json() + + upload_details = json_res["post"] + permanent_url = json_res["permanentUrl"] + + files = {"file": open(archive_path, "rb")} + + upload_response = requests.post( + upload_details["url"], data=upload_details["fields"], files=files + ) + + if not upload_response.ok: + raise Exception(f"Failed to upload archive: {res.text}") + + url = f'{upload_details["url"]}/{upload_details["fields"]["key"]}' + return permanent_url, url + + +def deploy(target: str): + if not config.project_id: + raise Exception( + "Project id not set in config. A project id is mandatory to deploy a chainlit app." + ) + + check_file(target) + + access_token = get_access_token() + + with tempfile.TemporaryDirectory() as tempdir: + archive_path = os.path.join(tempdir, "chainlit.tar.gz") + source_dir = os.getcwd() + create_tar_gz_archive(archive_path, source_dir) + permanent_url, url = upload_tar_gz_archive(access_token, archive_path) diff --git a/src/chainlit/cli/utils.py b/src/chainlit/cli/utils.py new file mode 100644 index 0000000000..5fa8571a38 --- /dev/null +++ b/src/chainlit/cli/utils.py @@ -0,0 +1,23 @@ +import os +import click + + +def check_file(target: str): + # Define accepted file extensions for Chainlit + ACCEPTED_FILE_EXTENSIONS = ("py", "py3") + + _, extension = os.path.splitext(target) + + # Check file extension + if extension[1:] not in ACCEPTED_FILE_EXTENSIONS: + if extension[1:] == "": + raise click.BadArgumentUsage( + "Chainlit requires raw Python (.py) files, but the provided file has no extension." + ) + else: + raise click.BadArgumentUsage( + f"Chainlit requires raw Python (.py) files, not {extension}." + ) + + if not os.path.exists(target): + raise click.BadParameter(f"File does not exist: {target}") diff --git a/src/chainlit/client.py b/src/chainlit/client.py new file mode 100644 index 0000000000..7f67f9f928 --- /dev/null +++ b/src/chainlit/client.py @@ -0,0 +1,149 @@ +from typing import Dict, Any +from python_graphql_client import GraphqlClient +from abc import ABC, abstractmethod +import uuid +import requests +from chainlit.types import ElementType +from chainlit.logger import logger + + +class BaseClient(ABC): + project_id: str + session_id: str + + @abstractmethod + def create_conversation(self, session_id: str) -> int: + pass + + @abstractmethod + def create_message(self, variables: Dict[str, Any]) -> int: + pass + + @abstractmethod + def upload_element(self, ext: str, content: bytes) -> int: + pass + + @abstractmethod + def create_element( + self, conversation_id: str, type: ElementType, url: str, name: str, display: str + ) -> int: + pass + + +class CloudClient(BaseClient): + conversation_id: str = None + + def __init__(self, project_id: str, session_id: str, access_token: str, url: str): + self.project_id = project_id + self.session_id = session_id + self.url = url + self.headers = {"Authorization": access_token} + graphql_endpoint = f"{url}/api/graphql" + self.client = GraphqlClient(endpoint=graphql_endpoint, headers=self.headers) + + def query(self, query: str, variables: Dict[str, Any] = {}) -> Dict[str, Any]: + """ + Execute a GraphQL query. + + :param query: The GraphQL query string. + :param variables: A dictionary of variables for the query. + :return: The response data as a dictionary. + """ + return self.client.execute(query=query, variables=variables) + + def mutation(self, mutation: str, variables: Dict[str, Any] = {}) -> Dict[str, Any]: + """ + Execute a GraphQL mutation. + + :param mutation: The GraphQL mutation string. + :param variables: A dictionary of variables for the mutation. + :return: The response data as a dictionary. + """ + return self.client.execute(query=mutation, variables=variables) + + def create_conversation(self, session_id: str) -> int: + mutation = """ + mutation ($projectId: String!, $sessionId: String!) { + createConversation(projectId: $projectId, sessionId: $sessionId) { + id + } + } + """ + variables = {"projectId": self.project_id, "sessionId": session_id} + res = self.mutation(mutation, variables) + # Todo check response + return int(res["data"]["createConversation"]["id"]) + + def get_conversation_id(self): + if not self.conversation_id: + self.conversation_id = self.create_conversation(self.session_id) + + return self.conversation_id + + def create_message(self, variables: Dict[str, Any]) -> int: + c_id = self.get_conversation_id() + variables["conversationId"] = c_id + + mutation = """ + mutation ($conversationId: ID!, $author: String!, $content: String!, $language: String, $prompt: String, $llmSettings: Json, $isError: Boolean, $indent: Int, $authorIsUser: Boolean, $waitForAnswer: Boolean) { + createMessage(conversationId: $conversationId, author: $author, content: $content, language: $language, prompt: $prompt, llmSettings: $llmSettings, isError: $isError, indent: $indent, authorIsUser: $authorIsUser, waitForAnswer: $waitForAnswer) { + id + } + } + """ + res = self.mutation(mutation, variables) + return int(res["data"]["createMessage"]["id"]) + + def create_element( + self, type: ElementType, url: str, name: str, display: str + ) -> Dict[str, Any]: + c_id = self.get_conversation_id() + + mutation = """ + mutation ($conversationId: ID!, $type: String!, $url: String!, $name: String!, $display: String!) { + createElement(conversationId: $conversationId, type: $type, url: $url, name: $name, display: $display) { + id, + type, + url, + name, + display + } + } + """ + variables = { + "conversationId": c_id, + "type": type, + "url": url, + "name": name, + "display": display, + } + res = self.mutation(mutation, variables) + return res["data"]["createElement"] + + def upload_element(self, ext: str, content: bytes) -> str: + id = f"{uuid.uuid4()}{ext}" + url = f"{self.url}/api/upload/file" + body = {"projectId": self.project_id, "fileName": id} + + res = requests.post(url, json=body, headers=self.headers) + + if not res.ok: + logger.error(f"Failed to upload file: {res.text}") + return "" + + json_res = res.json() + upload_details = json_res["post"] + permanent_url = json_res["permanentUrl"] + + files = {"file": content} + + upload_response = requests.post( + upload_details["url"], data=upload_details["fields"], files=files + ) + + if not upload_response.ok: + logger.error(f"Failed to upload file: {res.text}") + return "" + + url = f'{upload_details["url"]}/{upload_details["fields"]["key"]}' + return permanent_url diff --git a/src/chainlit/config.py b/src/chainlit/config.py new file mode 100644 index 0000000000..f0ba3b3143 --- /dev/null +++ b/src/chainlit/config.py @@ -0,0 +1,190 @@ +import os +import sys +from typing import Optional, Literal, Any, Callable, List, Dict +import tomli +from chainlit.types import Action +from pydantic.dataclasses import dataclass +from importlib import machinery +from chainlit.logger import logger + + +# Get the directory the script is running from +root = os.getcwd() + +config_dir = os.path.join(root, ".chainlit") +config_file = os.path.join(config_dir, "config.toml") + +# Default config file created if none exists +DEFAULT_CONFIG_STR = """[project] +# Name of the app and chatbot. +name = "Chatbot" + +# If true (default), the app will be available to anonymous users (once deployed). +# If false, users will need to authenticate and be part of the project to use the app. +public = true + +# The project ID (found on https://cloud.chainlit.io). +# If provided, all the message data will be stored in the cloud. +# The project ID is required when public is set to false. +#id = "" + +# Whether to enable telemetry (default: true). No personal data is collected. +enable_telemetry = true + +# List of environment variables to be provided by each user to use the app. +user_env = [] + +# Hide the chain of thought details from the user in the UI. +hide_cot = false + +# Link to your github repo. This will add a github button in the UI's header. +# github = "" + +# Limit the number of requests per user. +#request_limit = "10 per day" +""" + +# Set environment and server URL +chainlit_env = os.environ.get("CHAINLIT_ENV") or "development" +if chainlit_env == "development": + # chainlit_server = "http://localhost:3000" + chainlit_server = "https://cloud.chainlit.io" +else: + chainlit_server = "https://cloud.chainlit.io" + + +@dataclass() +class ChainlitConfig: + chainlit_env: Literal["development", "production"] + # Chainlit server URL. Used only for cloud features + chainlit_server: str + # Name of the app and chatbot. Used as the default message author. + chatbot_name: str + # Whether the app is available to anonymous users or only to team members. + public: bool + # Whether to enable telemetry. No personal data is collected. + enable_telemetry: bool + # List of environment variables to be provided by each user to use the app. If empty, no environment variables will be asked to the user. + user_env: List[str] + # Hide the chain of thought details from the user in the UI. + hide_cot: bool + # Path to the local langchain cache database + lc_cache_path: str + # Developer defined callbacks for each action. Key is the action name, value is the callback function. + action_callbacks: Dict[str, Callable[[Action], Any]] + # Directory where the Chainlit project is located + root = root + # Link to your github repo. This will add a github button in the UI's header. + github: Optional[str] = None + # Limit the number of requests per user. + request_limit: Optional[str] = None + # Enables Cloud features if provided + project_id: Optional[str] = None + # Name of the module (python file) used in the run command + module_name: Optional[str] = None + # Module object loaded from the module_name + module: Any = None + # Bunch of callbacks defined by the developer + on_stop: Optional[Callable[[], Any]] = None + on_chat_start: Optional[Callable[[], Any]] = None + on_message: Optional[Callable[[str], Any]] = None + lc_run: Optional[Callable[[Any, str], str]] = None + lc_postprocess: Optional[Callable[[Any], str]] = None + lc_factory: Optional[Callable[[], Any]] = None + lc_rename: Optional[Callable[[str], str]] = None + + +def init_config(log=False): + """Initialize the configuration file if it doesn't exist.""" + if not os.path.exists(config_file): + os.makedirs(config_dir, exist_ok=True) + with open(config_file, "w", encoding="utf-8") as f: + f.write(DEFAULT_CONFIG_STR) + logger.info(f"Created default config file at {config_file}") + elif log: + logger.info(f"Config file already exists at {config_file}") + + +def reset_module_config(): + if not config: + return + + module_fields = [ + "on_stop", + "on_chat_start", + "on_message", + "lc_run", + "lc_postprocess", + "lc_factory", + "lc_rename", + ] + + for field in module_fields: + setattr(config, field, None) + + +def load_module(target: str): + """Load the specified module.""" + + # Reset the config fields that belonged to the previous module + reset_module_config() + + # Get the target's directory + target_dir = os.path.dirname(os.path.abspath(target)) + + # Add the target's directory to the Python path + sys.path.insert(0, target_dir) + + loader = machinery.SourceFileLoader(target, target) + config.module = loader.load_module() + + # Remove the target's directory from the Python path + sys.path.pop(0) + + +def load_config(): + """Load the configuration from the config file.""" + init_config() + with open(config_file, "rb") as f: + toml_dict = tomli.load(f) + # Load project settings + project_settings = toml_dict.get("project", {}) + + # If the developer did not explicitly opt out of telemetry, enable it + enable_telemetry = project_settings.get("enable_telemetry") + if enable_telemetry is None: + enable_telemetry = True + + chatbot_name = project_settings.get("name") + project_id = project_settings.get("id") + public = project_settings.get("public") + user_env = project_settings.get("user_env") + hide_cot = project_settings.get("hide_cot", False) + github = project_settings.get("github") + request_limit = project_settings.get("request_limit", "") + + if not public and not project_id: + raise ValueError("Project ID is required when public is set to false.") + + # Set cache path + lc_cache_path = os.path.join(config_dir, ".langchain.db") + + config = ChainlitConfig( + action_callbacks={}, + github=github, + request_limit=request_limit, + hide_cot=hide_cot, + chainlit_env=chainlit_env, + chainlit_server=chainlit_server, + chatbot_name=chatbot_name, + public=public, + enable_telemetry=enable_telemetry, + user_env=user_env, + lc_cache_path=lc_cache_path, + project_id=project_id, + ) + + return config + + +config = load_config() diff --git a/src/chainlit/frontend/.eslintignore b/src/chainlit/frontend/.eslintignore new file mode 100644 index 0000000000..76add878f8 --- /dev/null +++ b/src/chainlit/frontend/.eslintignore @@ -0,0 +1,2 @@ +node_modules +dist \ No newline at end of file diff --git a/src/chainlit/frontend/.eslintrc b/src/chainlit/frontend/.eslintrc new file mode 100644 index 0000000000..79bd6ef23f --- /dev/null +++ b/src/chainlit/frontend/.eslintrc @@ -0,0 +1,10 @@ +{ + "root": true, + "parser": "@typescript-eslint/parser", + "plugins": ["@typescript-eslint"], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/eslint-recommended", + "plugin:@typescript-eslint/recommended" + ] +} diff --git a/src/chainlit/frontend/.gitignore b/src/chainlit/frontend/.gitignore new file mode 100644 index 0000000000..a547bf36d8 --- /dev/null +++ b/src/chainlit/frontend/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/src/chainlit/frontend/.prettierrc b/src/chainlit/frontend/.prettierrc new file mode 100644 index 0000000000..aa458dd568 --- /dev/null +++ b/src/chainlit/frontend/.prettierrc @@ -0,0 +1,6 @@ +{ + "semi": true, + "trailingComma": "none", + "singleQuote": true, + "printWidth": 80 +} diff --git a/src/chainlit/frontend/index.html b/src/chainlit/frontend/index.html new file mode 100644 index 0000000000..bd35f50d5e --- /dev/null +++ b/src/chainlit/frontend/index.html @@ -0,0 +1,22 @@ + + + + + + + + + + + + + +

+ + + diff --git a/src/chainlit/frontend/package-lock.json b/src/chainlit/frontend/package-lock.json new file mode 100644 index 0000000000..2884b742dd --- /dev/null +++ b/src/chainlit/frontend/package-lock.json @@ -0,0 +1,10229 @@ +{ + "name": "chainlit-ui", + "version": "0.0.1", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "name": "chainlit-ui", + "version": "0.0.1", + "dependencies": { + "@apollo/client": "^3.7.10", + "@auth0/auth0-react": "^2.0.1", + "@emotion/react": "^11.10.6", + "@emotion/styled": "^11.10.6", + "@mui/icons-material": "^5.11.9", + "@mui/lab": "^5.0.0-alpha.122", + "@mui/material": "^5.11.10", + "draft-js": "^0.11.7", + "formik": "^2.2.9", + "lodash": "^4.17.21", + "mui-chips-input": "^2.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-dropzone": "^14.2.3", + "react-hot-toast": "^2.4.0", + "react-markdown": "^8.0.6", + "react-router-dom": "^6.8.1", + "react-string-replace": "^1.1.0", + "react-syntax-highlighter": "^15.5.0", + "react-virtualized-auto-sizer": "^1.0.9", + "react-window": "^1.8.8", + "react-window-infinite-loader": "^1.0.8", + "recoil": "^0.7.6", + "remark-gfm": "^3.0.1", + "socket.io-client": "^4.6.1", + "yup": "^1.0.2" + }, + "devDependencies": { + "@types/draft-js": "^0.11.10", + "@types/lodash": "^4.14.192", + "@types/node": "^20.0.0", + "@types/react": "^18.0.27", + "@types/react-dom": "^18.0.10", + "@types/react-syntax-highlighter": "^15.5.6", + "@types/react-window-infinite-loader": "^1.0.6", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "@vitejs/plugin-react": "^3.1.0", + "@vitejs/plugin-react-swc": "^3.3.0", + "eslint": "^8.39.0", + "prettier": "^2.8.8", + "typescript": "^4.9.3", + "vite": "^4.1.0", + "vite-tsconfig-paths": "^4.0.5" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@apollo/client": { + "version": "3.7.10", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.7.10.tgz", + "integrity": "sha512-/k1MfrqPKYiPNdHcOzdxg9cEx96vhAGxAcSorzfBvV29XtFQcYW2cPNQOTjK/fpSMtqVo8UNmu5vwQAWD1gfCg==", + "dependencies": { + "@graphql-typed-document-node/core": "^3.1.1", + "@wry/context": "^0.7.0", + "@wry/equality": "^0.5.0", + "@wry/trie": "^0.3.0", + "graphql-tag": "^2.12.6", + "hoist-non-react-statics": "^3.3.2", + "optimism": "^0.16.1", + "prop-types": "^15.7.2", + "response-iterator": "^0.2.6", + "symbol-observable": "^4.0.0", + "ts-invariant": "^0.10.3", + "tslib": "^2.3.0", + "zen-observable-ts": "^1.2.5" + }, + "peerDependencies": { + "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0", + "graphql-ws": "^5.5.5", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "subscriptions-transport-ws": "^0.9.0 || ^0.11.0" + }, + "peerDependenciesMeta": { + "graphql-ws": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "subscriptions-transport-ws": { + "optional": true + } + } + }, + "node_modules/@apollo/client/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/@auth0/auth0-react": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@auth0/auth0-react/-/auth0-react-2.0.1.tgz", + "integrity": "sha512-7Rla3del7inUloaWMsECs0JvBpDEj9lgfy+BQE/Z75zs9tveNvxab+xFdfrBC0GPN0eoiq1PeHcc++YjLnti+g==", + "dependencies": { + "@auth0/auth0-spa-js": "^2.0.4" + }, + "peerDependencies": { + "react": "^16.11.0 || ^17 || ^18", + "react-dom": "^16.11.0 || ^17 || ^18" + } + }, + "node_modules/@auth0/auth0-spa-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@auth0/auth0-spa-js/-/auth0-spa-js-2.0.4.tgz", + "integrity": "sha512-NgD6Fkm5Xnbned1VjhEW8irm1/Y8AWtdSLexgLXNwwBVgfnYicCVBu8w75m2t+4QljXkTcI7IXVEFhVmxMuxaA==" + }, + "node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", + "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.0.tgz", + "integrity": "sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.0", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.21.0", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.0", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.21.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz", + "integrity": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.2.tgz", + "integrity": "sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz", + "integrity": "sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", + "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.2.tgz", + "integrity": "sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.1", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.2", + "@babel/types": "^7.21.2", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.2.tgz", + "integrity": "sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==", + "dependencies": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@emotion/babel-plugin": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.6.tgz", + "integrity": "sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ==", + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/serialize": "^1.1.1", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.1.3" + } + }, + "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emotion/cache": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", + "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==", + "dependencies": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.1", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "stylis": "4.1.3" + } + }, + "node_modules/@emotion/hash": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" + }, + "node_modules/@emotion/is-prop-valid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", + "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", + "dependencies": { + "@emotion/memoize": "^0.8.0" + } + }, + "node_modules/@emotion/memoize": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", + "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" + }, + "node_modules/@emotion/react": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.6.tgz", + "integrity": "sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.6", + "@emotion/cache": "^11.10.5", + "@emotion/serialize": "^1.1.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "hoist-non-react-statics": "^3.3.1" + }, + "peerDependencies": { + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/serialize": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz", + "integrity": "sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==", + "dependencies": { + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/unitless": "^0.8.0", + "@emotion/utils": "^1.2.0", + "csstype": "^3.0.2" + } + }, + "node_modules/@emotion/sheet": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", + "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" + }, + "node_modules/@emotion/styled": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.6.tgz", + "integrity": "sha512-OXtBzOmDSJo5Q0AFemHCfl+bUueT8BIcPSxu0EGTpGk6DmI5dnhSzQANm1e1ze0YZL7TDyAyy6s/b/zmGOS3Og==", + "dependencies": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.6", + "@emotion/is-prop-valid": "^1.2.0", + "@emotion/serialize": "^1.1.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@emotion/unitless": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" + }, + "node_modules/@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", + "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@emotion/utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" + }, + "node_modules/@emotion/weak-memoize": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" + }, + "node_modules/@esbuild/android-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", + "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", + "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", + "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", + "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", + "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", + "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", + "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", + "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", + "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", + "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", + "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", + "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", + "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", + "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", + "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", + "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", + "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", + "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", + "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", + "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", + "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", + "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", + "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.1", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.39.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz", + "integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@graphql-typed-document-node/core": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", + "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "peerDependencies": { + "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "node_modules/@mui/base": { + "version": "5.0.0-alpha.118", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.118.tgz", + "integrity": "sha512-GAEpqhnuHjRaAZLdxFNuOf2GDTp9sUawM46oHZV4VnYPFjXJDkIYFWfIQLONb0nga92OiqS5DD/scGzVKCL0Mw==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@emotion/is-prop-valid": "^1.2.0", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.9", + "@popperjs/core": "^2.11.6", + "clsx": "^1.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/core-downloads-tracker": { + "version": "5.11.9", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.9.tgz", + "integrity": "sha512-YGEtucQ/Nl91VZkzYaLad47Cdui51n/hW+OQm4210g4N3/nZzBxmGeKfubEalf+ShKH4aYDS86XTO6q/TpZnjQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + } + }, + "node_modules/@mui/icons-material": { + "version": "5.11.9", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.11.9.tgz", + "integrity": "sha512-SPANMk6K757Q1x48nCwPGdSNb8B71d+2hPMJ0V12VWerpSsbjZtvAPi5FAn13l2O5mwWkvI0Kne+0tCgnNxMNw==", + "dependencies": { + "@babel/runtime": "^7.20.13" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@mui/material": "^5.0.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/lab": { + "version": "5.0.0-alpha.122", + "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.122.tgz", + "integrity": "sha512-rJyu9llUWAluUQgDEmN0WrpcFxeTdJgu+XYriJtp/MchdvKl/qVTlx+vhnIhqas2bySj5N1VQnkI6qOvfXiYvQ==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "@mui/base": "5.0.0-alpha.120", + "@mui/system": "^5.11.12", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.12", + "clsx": "^1.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@mui/material": "^5.0.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/lab/node_modules/@mui/base": { + "version": "5.0.0-alpha.120", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.120.tgz", + "integrity": "sha512-UoIXLjbl8ghK7OSD1dYzHIj79sx9v5S2J7vYeuhxUS0QR0FwGZ3WLHd31TQ2CT2faPX/AXsHQeFn93wKSnjPUQ==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "@emotion/is-prop-valid": "^1.2.0", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.12", + "@popperjs/core": "^2.11.6", + "clsx": "^1.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/material": { + "version": "5.11.10", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.11.10.tgz", + "integrity": "sha512-hs1WErbiedqlJIZsljgoil908x4NMp8Lfk8di+5c7o809roqKcFTg2+k3z5ucKvs29AXcsdXrDB/kn2K6dGYIw==", + "dependencies": { + "@babel/runtime": "^7.20.13", + "@mui/base": "5.0.0-alpha.118", + "@mui/core-downloads-tracker": "^5.11.9", + "@mui/system": "^5.11.9", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.9", + "@types/react-transition-group": "^4.4.5", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0", + "react-transition-group": "^4.4.5" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/private-theming": { + "version": "5.11.12", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.11.12.tgz", + "integrity": "sha512-hnJ0svNI1TPeWZ18E6DvES8PB4NyMLwal6EyXf69rTrYqT6wZPLjB+HiCYfSOCqU/fwArhupSqIIkQpDs8CkAw==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "@mui/utils": "^5.11.12", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/styled-engine": { + "version": "5.11.11", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.11.11.tgz", + "integrity": "sha512-wV0UgW4lN5FkDBXefN8eTYeuE9sjyQdg5h94vtwZCUamGQEzmCOtir4AakgmbWMy0x8OLjdEUESn9wnf5J9MOg==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "@emotion/cache": "^11.10.5", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.4.1", + "@emotion/styled": "^11.3.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + } + } + }, + "node_modules/@mui/system": { + "version": "5.11.12", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.11.12.tgz", + "integrity": "sha512-sYjsXkiwKpZDC3aS6O/6KTjji0jGINLQcrD5EJ5NTkIDiLf19I4HJhnufgKqlTWNfoDBlRohuTf3TzfM06c4ug==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "@mui/private-theming": "^5.11.12", + "@mui/styled-engine": "^5.11.11", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.12", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@emotion/react": { + "optional": true + }, + "@emotion/styled": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/types": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.3.tgz", + "integrity": "sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw==", + "peerDependencies": { + "@types/react": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@mui/utils": { + "version": "5.11.12", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.11.12.tgz", + "integrity": "sha512-5vH9B/v8pzkpEPO2HvGM54ToXV6cFdAn8UrvdN8TMEEwpn/ycW0jLiyBcgUlPsQ+xha7hqXCPQYHaYFDIcwaiw==", + "dependencies": { + "@babel/runtime": "^7.21.0", + "@types/prop-types": "^15.7.5", + "@types/react-is": "^16.7.1 || ^17.0.0", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui" + }, + "peerDependencies": { + "react": "^17.0.0 || ^18.0.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@remix-run/router": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.3.2.tgz", + "integrity": "sha512-t54ONhl/h75X94SWsHGQ4G/ZrCEguKSRQr7DrjTciJXW0YU1QhlwYeycvK5JgkzlxmvrK7wq1NB/PLtHxoiDcA==", + "engines": { + "node": ">=14" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" + }, + "node_modules/@swc/core": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.49.tgz", + "integrity": "sha512-br44ZHOfE9YyRGcORSLkHFQHTvhwRcaithBJ1Q5y5iMGpLbH0Wai3GN49L60RvmGwxNJfWzT+E7+rNNR7ewKgA==", + "dev": true, + "hasInstallScript": true, + "engines": { + "node": ">=10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.3.49", + "@swc/core-darwin-x64": "1.3.49", + "@swc/core-linux-arm-gnueabihf": "1.3.49", + "@swc/core-linux-arm64-gnu": "1.3.49", + "@swc/core-linux-arm64-musl": "1.3.49", + "@swc/core-linux-x64-gnu": "1.3.49", + "@swc/core-linux-x64-musl": "1.3.49", + "@swc/core-win32-arm64-msvc": "1.3.49", + "@swc/core-win32-ia32-msvc": "1.3.49", + "@swc/core-win32-x64-msvc": "1.3.49" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } + } + }, + "node_modules/@swc/core-darwin-arm64": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.49.tgz", + "integrity": "sha512-g7aIfXh6uPHmhLXdjXQq5t3HAyS/EdvujasW1DIS5k8UqOBaSoCcSGtLIjzcLv3KujqNfYcm118E+12H0nY6fQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.49.tgz", + "integrity": "sha512-eSIxVX0YDw40Bre5sAx2BV3DzdIGzmQvCf2yiBvLqiiL6GC0mmuDeWbUCAzdUX6fJ6FUVEBMUVqNOc9oJ2/d5w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.49.tgz", + "integrity": "sha512-8mj3IcRVr/OJY0mVITz6Z5osNAMJK5GiKDaZ+3QejPLbl6aiu4sH4GmTHDRN14RnaVXOpecsGcUoQmNoNa3u3w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.49.tgz", + "integrity": "sha512-Rmg9xw6tmpOpf6GKKjpHQGmjfHzqSths5ebI2ahrHlhekzZF2HYmPkVw4bHda8Bja6mbaw8FVBgBHjPU8mMeDA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.49.tgz", + "integrity": "sha512-nlKPYMogAI3Aak6Mlkag8/2AlHAZ/DpH7RjhfMazsaGhD/sQOmYdyY9Al69ejpa419YJuREeeeLoojFlSsd30g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.49.tgz", + "integrity": "sha512-QOyeJQ6NVi73SJcizbwvIZTiGA/N+BxX9liRrvibumaQmRh8fWjJiLNsv3ODSHeuonak7E8Bf7a7NnSTyu48Mw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.49.tgz", + "integrity": "sha512-WlDMz+SOpYC9O/ZBUw1oiyWI7HyUCMlf/HS8Fy/kRI3eGoGCUxVTCJ1mP57GdQr4Wg32Y/ZpO2KSNQFWnT8mAw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.49.tgz", + "integrity": "sha512-41LZOeI94Za3twib8KOIjnHYAZ+nkBFmboaREsFR1760S7jiMVywqWX8nFZvn/CXj15Fjjgdgyuig+zMREwXwQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.49.tgz", + "integrity": "sha512-IdqLPoMKssyAoOCZdNXmnAd6/uyx+Hb9KSfZUHepZaNfwMy6J5XXrOsbYs3v53FH8MtekUUdV+mMX4me9bcv9w==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@swc/core-win32-x64-msvc": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.49.tgz", + "integrity": "sha512-7Fqjo5pS3uIohhSbYSaR0+e/bJdxmQb4oG97FIh5qvlCCGQaQ9UiaEeYy4uK0Ad+Menum1IXCAEiG7RHcl6Eyw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@types/debug": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/draft-js": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@types/draft-js/-/draft-js-0.11.10.tgz", + "integrity": "sha512-o/DST8x0wNerwhRiaE577UHFIXb6HCywaZOZfj9TF2vU3CONvsCGoQmdOsKqERdXp+3ZNlSvFUH0B8lEEYOT4A==", + "dev": true, + "dependencies": { + "@types/react": "*", + "immutable": "~3.7.4" + } + }, + "node_modules/@types/hast": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", + "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/lodash": { + "version": "4.14.192", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.192.tgz", + "integrity": "sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==", + "dev": true + }, + "node_modules/@types/mdast": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.11.tgz", + "integrity": "sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" + }, + "node_modules/@types/node": { + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.0.0.tgz", + "integrity": "sha512-cD2uPTDnQQCVpmRefonO98/PPijuOnnEy5oytWJFPY1N9aJCz2wJ5kSGWO+zJoed2cY2JxQh6yBuUq4vIn61hw==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "node_modules/@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "node_modules/@types/react": { + "version": "18.0.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz", + "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", + "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-is": { + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", + "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-syntax-highlighter": { + "version": "15.5.6", + "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-15.5.6.tgz", + "integrity": "sha512-i7wFuLbIAFlabTeD2I1cLjEOrG/xdMa/rpx2zwzAoGHuXJDhSqp9BSfDlMHSh9JSuNfxHk9eEmMX6D55GiyjGg==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-window": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@types/react-window/-/react-window-1.8.5.tgz", + "integrity": "sha512-V9q3CvhC9Jk9bWBOysPGaWy/Z0lxYcTXLtLipkt2cnRj1JOSFNF7wqGpkScSXMgBwC+fnVRg/7shwgddBG5ICw==", + "dev": true, + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-window-infinite-loader": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/react-window-infinite-loader/-/react-window-infinite-loader-1.0.6.tgz", + "integrity": "sha512-V8g8sBDLVeJJAfEENJS7VXZK+DRJ+jzPNtk8jpj2G+obhf+iqGNUDGwNWCbBhLiD+KpHhf3kWQlKBRi0tAeU4Q==", + "dev": true, + "dependencies": { + "@types/react": "*", + "@types/react-window": "*" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "node_modules/@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "node_modules/@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz", + "integrity": "sha512-yVrXupeHjRxLDcPKL10sGQ/QlVrA8J5IYOEWVqk0lJaSZP7X5DfnP7Ns3cc74/blmbipQ1htFNVGsHX6wsYm0A==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/type-utils": "5.59.2", + "@typescript-eslint/utils": "5.59.2", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz", + "integrity": "sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/typescript-estree": "5.59.2", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz", + "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/visitor-keys": "5.59.2" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz", + "integrity": "sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "5.59.2", + "@typescript-eslint/utils": "5.59.2", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz", + "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz", + "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/visitor-keys": "5.59.2", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz", + "integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/typescript-estree": "5.59.2", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz", + "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz", + "integrity": "sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.20.12", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "magic-string": "^0.27.0", + "react-refresh": "^0.14.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.1.0-beta.0" + } + }, + "node_modules/@vitejs/plugin-react-swc": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.3.0.tgz", + "integrity": "sha512-Ycg+n2eyCOTpn/wRy+evVo859+hw7qCj9iaX5CMny6x1fx1Uoq0xBG+a98lFtwLNGfGEnpI0F26YigRuxCRkwg==", + "dev": true, + "dependencies": { + "@swc/core": "^1.3.42" + }, + "peerDependencies": { + "vite": "^4" + } + }, + "node_modules/@wry/context": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.7.0.tgz", + "integrity": "sha512-LcDAiYWRtwAoSOArfk7cuYvFXytxfVrdX7yxoUmK7pPITLk5jYh2F8knCwS7LjgYL8u1eidPlKKV6Ikqq0ODqQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@wry/context/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/@wry/equality": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.3.tgz", + "integrity": "sha512-avR+UXdSrsF2v8vIqIgmeTY0UR91UT+IyablCyKe/uk22uOJ8fusKZnH9JH9e1/EtLeNJBtagNmL3eJdnOV53g==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@wry/equality/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/@wry/trie": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.3.2.tgz", + "integrity": "sha512-yRTyhWSls2OY/pYLfwff867r8ekooZ4UI+/gxot5Wj8EFwSf2rG+n+Mo/6LoLQm1TKA4GRj2+LCpbfS937dClQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@wry/trie/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "node_modules/attr-accept": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", + "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==", + "engines": { + "node": ">=4" + } + }, + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + }, + "engines": { + "node": ">=10", + "npm": ">=6" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001457", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz", + "integrity": "sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "node_modules/core-js": { + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.29.0.tgz", + "integrity": "sha512-VG23vuEisJNkGl6XQmFJd3rEG/so/CNatqeE+7uZAwTSwFeB/qaO0be8xZYUNWprJ/GIwL8aMt9cj1kvbpTZhg==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "dependencies": { + "node-fetch": "2.6.7" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/decode-named-character-reference/node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "node_modules/draft-js": { + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/draft-js/-/draft-js-0.11.7.tgz", + "integrity": "sha512-ne7yFfN4sEL82QPQEn80xnADR8/Q6ALVworbC5UOSzOvjffmYfFsr3xSZtxbIirti14R7Y33EZC5rivpLgIbsg==", + "dependencies": { + "fbjs": "^2.0.0", + "immutable": "~3.7.4", + "object-assign": "^4.1.1" + }, + "peerDependencies": { + "react": ">=0.14.0", + "react-dom": ">=0.14.0" + } + }, + "node_modules/draft-js/node_modules/fbjs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-2.0.0.tgz", + "integrity": "sha512-8XA8ny9ifxrAWlyhAbexXcs3rRMtxWcs3M0lctLfB49jRDHiaxj+Mo0XxbwE7nKZYzgCFoq64FS+WFd4IycPPQ==", + "dependencies": { + "core-js": "^3.6.4", + "cross-fetch": "^3.0.4", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.310", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.310.tgz", + "integrity": "sha512-/xlATgfwkm5uDDwLw5nt/MNEf7c1oazLURMZLy39vOioGYyYzLWIDT8fZMJak6qTiAJ7udFTy7JG7ziyjNutiA==", + "dev": true + }, + "node_modules/engine.io-client": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.4.0.tgz", + "integrity": "sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.11.0", + "xmlhttprequest-ssl": "~2.0.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz", + "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/esbuild": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "8.39.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.39.0.tgz", + "integrity": "sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.2", + "@eslint/js": "8.39.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.0", + "espree": "^9.5.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/espree": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", + "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", + "dev": true, + "dependencies": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fault": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-selector": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz", + "integrity": "sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==", + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/file-selector/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/formik": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/formik/-/formik-2.2.9.tgz", + "integrity": "sha512-LQLcISMmf1r5at4/gyJigGn0gOwFbeEAlji+N9InZF6LIMXnFNkO42sCI8Jt84YZggpD4cPWObAZaxpEFtSzNA==", + "funding": [ + { + "type": "individual", + "url": "https://opencollective.com/formik" + } + ], + "dependencies": { + "deepmerge": "^2.1.1", + "hoist-non-react-statics": "^3.3.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "react-fast-compare": "^2.0.1", + "tiny-warning": "^1.0.2", + "tslib": "^1.10.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "node_modules/goober": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.12.tgz", + "integrity": "sha512-yXHAvO08FU1JgTXX6Zn6sYCUFfB/OJSX8HHjDSgerZHZmFKAb08cykp5LBw5QnmyMcZyPRMqkdyHUSSzge788Q==", + "peerDependencies": { + "csstype": "^3.0.10" + } + }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "node_modules/graphql": { + "version": "16.6.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.6.0.tgz", + "integrity": "sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==", + "peer": true, + "engines": { + "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0" + } + }, + "node_modules/graphql-tag": { + "version": "2.12.6", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", + "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0" + } + }, + "node_modules/graphql-tag/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/hamt_plus": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hamt_plus/-/hamt_plus-1.0.2.tgz", + "integrity": "sha512-t2JXKaehnMb9paaYA7J0BX8QQAY8lwfQ9Gjf4pg/mk4krt+cmwmU652HOoWonf+7+EQV97ARPMhhVgU1ra2GhA==" + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", + "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "dependencies": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", + "engines": { + "node": "*" + } + }, + "node_modules/hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "dependencies": { + "react-is": "^16.7.0" + } + }, + "node_modules/hoist-non-react-statics/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/immutable": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", + "integrity": "sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "engines": { + "node": ">=4" + } + }, + "node_modules/is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-sdsl": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", + "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lowlight": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz", + "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==", + "dependencies": { + "fault": "^1.0.0", + "highlight.js": "~10.7.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-definitions": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", + "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz", + "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==", + "dependencies": { + "@types/mdast": "^3.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz", + "integrity": "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz", + "integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==", + "dependencies": { + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-gfm-autolink-literal": "^1.0.0", + "mdast-util-gfm-footnote": "^1.0.0", + "mdast-util-gfm-strikethrough": "^1.0.0", + "mdast-util-gfm-table": "^1.0.0", + "mdast-util-gfm-task-list-item": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz", + "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==", + "dependencies": { + "@types/mdast": "^3.0.0", + "ccount": "^2.0.0", + "mdast-util-find-and-replace": "^2.0.0", + "micromark-util-character": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz", + "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0", + "micromark-util-normalize-identifier": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz", + "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz", + "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==", + "dependencies": { + "@types/mdast": "^3.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz", + "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", + "dependencies": { + "@types/mdast": "^3.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", + "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-definitions": "^5.0.0", + "micromark-util-sanitize-uri": "^1.1.0", + "trim-lines": "^3.0.0", + "unist-util-generated": "^2.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", + "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^3.0.0", + "mdast-util-to-string": "^3.0.0", + "micromark-util-decode-string": "^1.0.0", + "unist-util-visit": "^4.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz", + "integrity": "sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==", + "dependencies": { + "@types/mdast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromark": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", + "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", + "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz", + "integrity": "sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^1.0.0", + "micromark-extension-gfm-footnote": "^1.0.0", + "micromark-extension-gfm-strikethrough": "^1.0.0", + "micromark-extension-gfm-table": "^1.0.0", + "micromark-extension-gfm-tagfilter": "^1.0.0", + "micromark-extension-gfm-task-list-item": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz", + "integrity": "sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.0.tgz", + "integrity": "sha512-RWYce7j8+c0n7Djzv5NzGEGitNNYO3uj+h/XYMdS/JinH1Go+/Qkomg/rfxExFzYTiydaV6GLeffGO5qcJbMPA==", + "dependencies": { + "micromark-core-commonmark": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.5.tgz", + "integrity": "sha512-X0oI5eYYQVARhiNfbETy7BfLSmSilzN1eOuoRnrf9oUNsPRrWOAe9UqSizgw1vNxQBfOwL+n2610S3bYjVNi7w==", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz", + "integrity": "sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz", + "integrity": "sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==", + "dependencies": { + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.4.tgz", + "integrity": "sha512-9XlIUUVnYXHsFF2HZ9jby4h3npfX10S1coXTnV035QGPgrtNYQq3J6IfIvcCIUAJrrqBVi5BqA/LmaOMJqPwMQ==", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", + "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", + "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", + "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", + "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", + "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", + "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", + "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", + "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", + "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", + "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", + "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", + "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-html-tag-name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", + "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", + "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", + "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz", + "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", + "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", + "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromark-util-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", + "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ] + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "node_modules/mui-chips-input": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mui-chips-input/-/mui-chips-input-2.0.0.tgz", + "integrity": "sha512-+0D9Dg74D7IhccNp4pgTpX1/8MdhBfIEmoYCdrwTJnaBqJYzg6th2aXIHgmmUm9qh0mB0p+993jI2B4x0YZCHg==", + "dependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@mui/icons-material": "^5.0.0", + "@mui/material": "^5.0.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependencies": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@mui/icons-material": "^5.0.0", + "@mui/material": "^5.0.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node_modules/node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optimism": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.16.2.tgz", + "integrity": "sha512-zWNbgWj+3vLEjZNIh/okkY2EUfX+vB9TJopzIZwT1xxaMqC5hRLLraePod4c5n4He08xuXNH+zhKFFCu390wiQ==", + "dependencies": { + "@wry/context": "^0.7.0", + "@wry/trie": "^0.3.0" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==", + "engines": { + "node": ">=6" + } + }, + "node_modules/promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "dependencies": { + "asap": "~2.0.3" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "node_modules/property-expr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.5.tgz", + "integrity": "sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==" + }, + "node_modules/property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "dependencies": { + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-dropzone": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz", + "integrity": "sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==", + "dependencies": { + "attr-accept": "^2.2.2", + "file-selector": "^0.6.0", + "prop-types": "^15.8.1" + }, + "engines": { + "node": ">= 10.13" + }, + "peerDependencies": { + "react": ">= 16.8 || 18.0.0" + } + }, + "node_modules/react-fast-compare": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz", + "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==" + }, + "node_modules/react-hot-toast": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.4.0.tgz", + "integrity": "sha512-qnnVbXropKuwUpriVVosgo8QrB+IaPJCpL8oBI6Ov84uvHZ5QQcTp2qg6ku2wNfgJl6rlQXJIQU5q+5lmPOutA==", + "dependencies": { + "goober": "^2.1.10" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": ">=16", + "react-dom": ">=16" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/react-markdown": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.6.tgz", + "integrity": "sha512-KgPWsYgHuftdx510wwIzpwf+5js/iHqBR+fzxefv8Khk3mFbnioF1bmL2idHN3ler0LMQmICKeDrWnZrX9mtbQ==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/prop-types": "^15.0.0", + "@types/unist": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^2.0.0", + "prop-types": "^15.0.0", + "property-information": "^6.0.0", + "react-is": "^18.0.0", + "remark-parse": "^10.0.0", + "remark-rehype": "^10.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "@types/react": ">=16", + "react": ">=16" + } + }, + "node_modules/react-markdown/node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/react-markdown/node_modules/property-information": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz", + "integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/react-markdown/node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.8.1.tgz", + "integrity": "sha512-Jgi8BzAJQ8MkPt8ipXnR73rnD7EmZ0HFFb7jdQU24TynGW1Ooqin2KVDN9voSC+7xhqbbCd2cjGUepb6RObnyg==", + "dependencies": { + "@remix-run/router": "1.3.2" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/react-router-dom": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.8.1.tgz", + "integrity": "sha512-67EXNfkQgf34P7+PSb6VlBuaacGhkKn3kpE51+P6zYSG2kiRoumXEL6e27zTa9+PGF2MNXbgIUHTVlleLbIcHQ==", + "dependencies": { + "@remix-run/router": "1.3.2", + "react-router": "6.8.1" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" + } + }, + "node_modules/react-string-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-string-replace/-/react-string-replace-1.1.0.tgz", + "integrity": "sha512-N6RalSDFGbOHs0IJi1H611WbZsvk3ZT47Jl2JEXFbiS3kTwsdCYij70Keo/tWtLy7sfhDsYm7CwNM/WmjXIaMw==", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/react-syntax-highlighter": { + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz", + "integrity": "sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==", + "dependencies": { + "@babel/runtime": "^7.3.1", + "highlight.js": "^10.4.1", + "lowlight": "^1.17.0", + "prismjs": "^1.27.0", + "refractor": "^3.6.0" + }, + "peerDependencies": { + "react": ">= 0.14.0" + } + }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/react-virtualized-auto-sizer": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.9.tgz", + "integrity": "sha512-O1pYgygCDtFKa9GaKJtX5Ws/QRqxkx2zPlXZqEoRXCMmnNuhoMk5nhXCQqixsc1AcrUzOJwKdzEaDAU9WQ6aJQ==", + "peerDependencies": { + "react": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0-rc", + "react-dom": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0-rc" + } + }, + "node_modules/react-window": { + "version": "1.8.8", + "resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.8.tgz", + "integrity": "sha512-D4IiBeRtGXziZ1n0XklnFGu7h9gU684zepqyKzgPNzrsrk7xOCxni+TCckjg2Nr/DiaEEGVVmnhYSlT2rB47dQ==", + "dependencies": { + "@babel/runtime": "^7.0.0", + "memoize-one": ">=3.1.1 <6" + }, + "engines": { + "node": ">8.0.0" + }, + "peerDependencies": { + "react": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/react-window-infinite-loader": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/react-window-infinite-loader/-/react-window-infinite-loader-1.0.8.tgz", + "integrity": "sha512-907ZLAiZZfBHuZyiY0V7uiSL4P/rI6UQyCF9wES1cDWTeyNLgGLaxu+BZkcUW3R5tSCQcbCcWBl0jVIpYzrKGQ==", + "engines": { + "node": ">8.0.0" + }, + "peerDependencies": { + "react": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0", + "react-dom": "^15.3.0 || ^16.0.0-alpha || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/recoil": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/recoil/-/recoil-0.7.6.tgz", + "integrity": "sha512-hsBEw7jFdpBCY/tu2GweiyaqHKxVj6EqF2/SfrglbKvJHhpN57SANWvPW+gE90i3Awi+A5gssOd3u+vWlT+g7g==", + "dependencies": { + "hamt_plus": "1.0.2" + }, + "peerDependencies": { + "react": ">=16.13.1" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } + } + }, + "node_modules/refractor": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz", + "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==", + "dependencies": { + "hastscript": "^6.0.0", + "parse-entities": "^2.0.0", + "prismjs": "~1.27.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/refractor/node_modules/prismjs": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz", + "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/remark-gfm": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz", + "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-gfm": "^2.0.0", + "micromark-extension-gfm": "^2.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz", + "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", + "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-to-hast": "^12.1.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "dependencies": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/response-iterator": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/response-iterator/-/response-iterator-0.2.6.tgz", + "integrity": "sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rollup": { + "version": "3.17.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.17.2.tgz", + "integrity": "sha512-qMNZdlQPCkWodrAZ3qnJtvCAl4vpQ8q77uEujVCCbC/6CLB7Lcmvjq7HyiOSnf4fxTT9XgsE36oLHJBH49xjqA==", + "dev": true, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/socket.io-client": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.6.1.tgz", + "integrity": "sha512-5UswCV6hpaRsNg5kkEHVcbBIXEYoVbMQaHJBXJCyEQ+CiFPV1NIOY0XOFWG4XR4GZcB8Kn6AsRs/9cy9TbqVMQ==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.4.0", + "socket.io-parser": "~4.2.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.2.tgz", + "integrity": "sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-to-object": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz", + "integrity": "sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/tiny-case": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz", + "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-invariant": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.10.3.tgz", + "integrity": "sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ts-invariant/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/tsconfck": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-2.0.3.tgz", + "integrity": "sha512-o3DsPZO1+C98KqHMdAbWs30zpxD30kj8r9OLA4ML1yghx4khNDzaaShNalfluh8ZPPhzKe3qyVCP1HiZszSAsw==", + "dev": true, + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^14.13.1 || ^16 || >=18" + }, + "peerDependencies": { + "typescript": "^4.3.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.33", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz", + "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" + } + }, + "node_modules/unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-generated": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", + "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "dependencies": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + }, + "bin": { + "uvu": "bin.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.1.4.tgz", + "integrity": "sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==", + "dev": true, + "dependencies": { + "esbuild": "^0.16.14", + "postcss": "^8.4.21", + "resolve": "^1.22.1", + "rollup": "^3.10.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-tsconfig-paths": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.0.5.tgz", + "integrity": "sha512-/L/eHwySFYjwxoYt1WRJniuK/jPv+WGwgRGBYx3leciR5wBeqntQpUE6Js6+TJemChc+ter7fDBKieyEWDx4yQ==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "tsconfck": "^2.0.1" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xmlhttprequest-ssl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yup": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/yup/-/yup-1.0.2.tgz", + "integrity": "sha512-Lpi8nITFKjWtCoK3yQP8MUk78LJmHWqbFd0OOMXTar+yjejlQ4OIIoZgnTW1bnEUKDw6dZBcy3/IdXnt2KDUow==", + "dependencies": { + "property-expr": "^2.0.5", + "tiny-case": "^1.0.3", + "toposort": "^2.0.2", + "type-fest": "^2.19.0" + } + }, + "node_modules/zen-observable": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", + "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" + }, + "node_modules/zen-observable-ts": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz", + "integrity": "sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==", + "dependencies": { + "zen-observable": "0.8.15" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@apollo/client": { + "version": "3.7.10", + "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.7.10.tgz", + "integrity": "sha512-/k1MfrqPKYiPNdHcOzdxg9cEx96vhAGxAcSorzfBvV29XtFQcYW2cPNQOTjK/fpSMtqVo8UNmu5vwQAWD1gfCg==", + "requires": { + "@graphql-typed-document-node/core": "^3.1.1", + "@wry/context": "^0.7.0", + "@wry/equality": "^0.5.0", + "@wry/trie": "^0.3.0", + "graphql-tag": "^2.12.6", + "hoist-non-react-statics": "^3.3.2", + "optimism": "^0.16.1", + "prop-types": "^15.7.2", + "response-iterator": "^0.2.6", + "symbol-observable": "^4.0.0", + "ts-invariant": "^0.10.3", + "tslib": "^2.3.0", + "zen-observable-ts": "^1.2.5" + }, + "dependencies": { + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + } + } + }, + "@auth0/auth0-react": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@auth0/auth0-react/-/auth0-react-2.0.1.tgz", + "integrity": "sha512-7Rla3del7inUloaWMsECs0JvBpDEj9lgfy+BQE/Z75zs9tveNvxab+xFdfrBC0GPN0eoiq1PeHcc++YjLnti+g==", + "requires": { + "@auth0/auth0-spa-js": "^2.0.4" + } + }, + "@auth0/auth0-spa-js": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@auth0/auth0-spa-js/-/auth0-spa-js-2.0.4.tgz", + "integrity": "sha512-NgD6Fkm5Xnbned1VjhEW8irm1/Y8AWtdSLexgLXNwwBVgfnYicCVBu8w75m2t+4QljXkTcI7IXVEFhVmxMuxaA==" + }, + "@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "requires": { + "@babel/highlight": "^7.18.6" + } + }, + "@babel/compat-data": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz", + "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==", + "dev": true + }, + "@babel/core": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.0.tgz", + "integrity": "sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.0", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-module-transforms": "^7.21.0", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.0", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + } + }, + "@babel/generator": { + "version": "7.21.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.1.tgz", + "integrity": "sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==", + "dev": true, + "requires": { + "@babel/types": "^7.21.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-compilation-targets": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz", + "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-module-transforms": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz", + "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.20.2", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.2", + "@babel/types": "^7.21.2" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz", + "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==", + "dev": true + }, + "@babel/helper-simple-access": { + "version": "7.20.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz", + "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==", + "dev": true, + "requires": { + "@babel/types": "^7.20.2" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "requires": { + "@babel/types": "^7.18.6" + } + }, + "@babel/helper-string-parser": { + "version": "7.19.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz", + "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==" + }, + "@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==" + }, + "@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true + }, + "@babel/helpers": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz", + "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==", + "dev": true, + "requires": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.0", + "@babel/types": "^7.21.0" + } + }, + "@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "requires": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.2.tgz", + "integrity": "sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==", + "dev": true + }, + "@babel/plugin-transform-react-jsx-self": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.21.0.tgz", + "integrity": "sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.20.2" + } + }, + "@babel/plugin-transform-react-jsx-source": { + "version": "7.19.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.19.6.tgz", + "integrity": "sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.19.0" + } + }, + "@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", + "requires": { + "regenerator-runtime": "^0.13.11" + } + }, + "@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + } + }, + "@babel/traverse": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.2.tgz", + "integrity": "sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.21.1", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.2", + "@babel/types": "^7.21.2", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.21.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.2.tgz", + "integrity": "sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==", + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + }, + "@emotion/babel-plugin": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.10.6.tgz", + "integrity": "sha512-p2dAqtVrkhSa7xz1u/m9eHYdLi+en8NowrmXeF/dKtJpU8lCWli8RUAati7NcSl0afsBott48pdnANuD0wh9QQ==", + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/serialize": "^1.1.1", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.1.3" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==" + } + } + }, + "@emotion/cache": { + "version": "11.10.5", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.5.tgz", + "integrity": "sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==", + "requires": { + "@emotion/memoize": "^0.8.0", + "@emotion/sheet": "^1.2.1", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "stylis": "4.1.3" + } + }, + "@emotion/hash": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.0.tgz", + "integrity": "sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==" + }, + "@emotion/is-prop-valid": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz", + "integrity": "sha512-3aDpDprjM0AwaxGE09bOPkNxHpBd+kA6jty3RnaEXdweX1DF1U3VQpPYb0g1IStAuK7SVQ1cy+bNBBKp4W3Fjg==", + "requires": { + "@emotion/memoize": "^0.8.0" + } + }, + "@emotion/memoize": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.0.tgz", + "integrity": "sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==" + }, + "@emotion/react": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.10.6.tgz", + "integrity": "sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.6", + "@emotion/cache": "^11.10.5", + "@emotion/serialize": "^1.1.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0", + "@emotion/weak-memoize": "^0.3.0", + "hoist-non-react-statics": "^3.3.1" + } + }, + "@emotion/serialize": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.1.tgz", + "integrity": "sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==", + "requires": { + "@emotion/hash": "^0.9.0", + "@emotion/memoize": "^0.8.0", + "@emotion/unitless": "^0.8.0", + "@emotion/utils": "^1.2.0", + "csstype": "^3.0.2" + } + }, + "@emotion/sheet": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.1.tgz", + "integrity": "sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==" + }, + "@emotion/styled": { + "version": "11.10.6", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.10.6.tgz", + "integrity": "sha512-OXtBzOmDSJo5Q0AFemHCfl+bUueT8BIcPSxu0EGTpGk6DmI5dnhSzQANm1e1ze0YZL7TDyAyy6s/b/zmGOS3Og==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.10.6", + "@emotion/is-prop-valid": "^1.2.0", + "@emotion/serialize": "^1.1.1", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@emotion/utils": "^1.2.0" + } + }, + "@emotion/unitless": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.0.tgz", + "integrity": "sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==" + }, + "@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz", + "integrity": "sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==", + "requires": {} + }, + "@emotion/utils": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==" + }, + "@emotion/weak-memoize": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz", + "integrity": "sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==" + }, + "@esbuild/android-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", + "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", + "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", + "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", + "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", + "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", + "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", + "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", + "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", + "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", + "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", + "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", + "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", + "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", + "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", + "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", + "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", + "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", + "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", + "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", + "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", + "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", + "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "dev": true, + "optional": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.2.tgz", + "integrity": "sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.1", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "@eslint/js": { + "version": "8.39.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.39.0.tgz", + "integrity": "sha512-kf9RB0Fg7NZfap83B3QOqOGg9QmD9yBudqQXzzOtn3i4y7ZUXe5ONeW34Gwi+TxhH4mvj72R1Zc300KUMa9Bng==", + "dev": true + }, + "@graphql-typed-document-node/core": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.2.0.tgz", + "integrity": "sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==", + "requires": {} + }, + "@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.17", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz", + "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" + } + }, + "@mui/base": { + "version": "5.0.0-alpha.118", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.118.tgz", + "integrity": "sha512-GAEpqhnuHjRaAZLdxFNuOf2GDTp9sUawM46oHZV4VnYPFjXJDkIYFWfIQLONb0nga92OiqS5DD/scGzVKCL0Mw==", + "requires": { + "@babel/runtime": "^7.20.13", + "@emotion/is-prop-valid": "^1.2.0", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.9", + "@popperjs/core": "^2.11.6", + "clsx": "^1.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + } + }, + "@mui/core-downloads-tracker": { + "version": "5.11.9", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.11.9.tgz", + "integrity": "sha512-YGEtucQ/Nl91VZkzYaLad47Cdui51n/hW+OQm4210g4N3/nZzBxmGeKfubEalf+ShKH4aYDS86XTO6q/TpZnjQ==" + }, + "@mui/icons-material": { + "version": "5.11.9", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.11.9.tgz", + "integrity": "sha512-SPANMk6K757Q1x48nCwPGdSNb8B71d+2hPMJ0V12VWerpSsbjZtvAPi5FAn13l2O5mwWkvI0Kne+0tCgnNxMNw==", + "requires": { + "@babel/runtime": "^7.20.13" + } + }, + "@mui/lab": { + "version": "5.0.0-alpha.122", + "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.122.tgz", + "integrity": "sha512-rJyu9llUWAluUQgDEmN0WrpcFxeTdJgu+XYriJtp/MchdvKl/qVTlx+vhnIhqas2bySj5N1VQnkI6qOvfXiYvQ==", + "requires": { + "@babel/runtime": "^7.21.0", + "@mui/base": "5.0.0-alpha.120", + "@mui/system": "^5.11.12", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.12", + "clsx": "^1.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + }, + "dependencies": { + "@mui/base": { + "version": "5.0.0-alpha.120", + "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-alpha.120.tgz", + "integrity": "sha512-UoIXLjbl8ghK7OSD1dYzHIj79sx9v5S2J7vYeuhxUS0QR0FwGZ3WLHd31TQ2CT2faPX/AXsHQeFn93wKSnjPUQ==", + "requires": { + "@babel/runtime": "^7.21.0", + "@emotion/is-prop-valid": "^1.2.0", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.12", + "@popperjs/core": "^2.11.6", + "clsx": "^1.2.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + } + } + } + }, + "@mui/material": { + "version": "5.11.10", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.11.10.tgz", + "integrity": "sha512-hs1WErbiedqlJIZsljgoil908x4NMp8Lfk8di+5c7o809roqKcFTg2+k3z5ucKvs29AXcsdXrDB/kn2K6dGYIw==", + "requires": { + "@babel/runtime": "^7.20.13", + "@mui/base": "5.0.0-alpha.118", + "@mui/core-downloads-tracker": "^5.11.9", + "@mui/system": "^5.11.9", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.9", + "@types/react-transition-group": "^4.4.5", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1", + "react-is": "^18.2.0", + "react-transition-group": "^4.4.5" + } + }, + "@mui/private-theming": { + "version": "5.11.12", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.11.12.tgz", + "integrity": "sha512-hnJ0svNI1TPeWZ18E6DvES8PB4NyMLwal6EyXf69rTrYqT6wZPLjB+HiCYfSOCqU/fwArhupSqIIkQpDs8CkAw==", + "requires": { + "@babel/runtime": "^7.21.0", + "@mui/utils": "^5.11.12", + "prop-types": "^15.8.1" + } + }, + "@mui/styled-engine": { + "version": "5.11.11", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.11.11.tgz", + "integrity": "sha512-wV0UgW4lN5FkDBXefN8eTYeuE9sjyQdg5h94vtwZCUamGQEzmCOtir4AakgmbWMy0x8OLjdEUESn9wnf5J9MOg==", + "requires": { + "@babel/runtime": "^7.21.0", + "@emotion/cache": "^11.10.5", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + } + }, + "@mui/system": { + "version": "5.11.12", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.11.12.tgz", + "integrity": "sha512-sYjsXkiwKpZDC3aS6O/6KTjji0jGINLQcrD5EJ5NTkIDiLf19I4HJhnufgKqlTWNfoDBlRohuTf3TzfM06c4ug==", + "requires": { + "@babel/runtime": "^7.21.0", + "@mui/private-theming": "^5.11.12", + "@mui/styled-engine": "^5.11.11", + "@mui/types": "^7.2.3", + "@mui/utils": "^5.11.12", + "clsx": "^1.2.1", + "csstype": "^3.1.1", + "prop-types": "^15.8.1" + } + }, + "@mui/types": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.3.tgz", + "integrity": "sha512-tZ+CQggbe9Ol7e/Fs5RcKwg/woU+o8DCtOnccX6KmbBc7YrfqMYEYuaIcXHuhpT880QwNkZZ3wQwvtlDFA2yOw==", + "requires": {} + }, + "@mui/utils": { + "version": "5.11.12", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.11.12.tgz", + "integrity": "sha512-5vH9B/v8pzkpEPO2HvGM54ToXV6cFdAn8UrvdN8TMEEwpn/ycW0jLiyBcgUlPsQ+xha7hqXCPQYHaYFDIcwaiw==", + "requires": { + "@babel/runtime": "^7.21.0", + "@types/prop-types": "^15.7.5", + "@types/react-is": "^16.7.1 || ^17.0.0", + "prop-types": "^15.8.1", + "react-is": "^18.2.0" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@popperjs/core": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" + }, + "@remix-run/router": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.3.2.tgz", + "integrity": "sha512-t54ONhl/h75X94SWsHGQ4G/ZrCEguKSRQr7DrjTciJXW0YU1QhlwYeycvK5JgkzlxmvrK7wq1NB/PLtHxoiDcA==" + }, + "@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==" + }, + "@swc/core": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.3.49.tgz", + "integrity": "sha512-br44ZHOfE9YyRGcORSLkHFQHTvhwRcaithBJ1Q5y5iMGpLbH0Wai3GN49L60RvmGwxNJfWzT+E7+rNNR7ewKgA==", + "dev": true, + "requires": { + "@swc/core-darwin-arm64": "1.3.49", + "@swc/core-darwin-x64": "1.3.49", + "@swc/core-linux-arm-gnueabihf": "1.3.49", + "@swc/core-linux-arm64-gnu": "1.3.49", + "@swc/core-linux-arm64-musl": "1.3.49", + "@swc/core-linux-x64-gnu": "1.3.49", + "@swc/core-linux-x64-musl": "1.3.49", + "@swc/core-win32-arm64-msvc": "1.3.49", + "@swc/core-win32-ia32-msvc": "1.3.49", + "@swc/core-win32-x64-msvc": "1.3.49" + } + }, + "@swc/core-darwin-arm64": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.3.49.tgz", + "integrity": "sha512-g7aIfXh6uPHmhLXdjXQq5t3HAyS/EdvujasW1DIS5k8UqOBaSoCcSGtLIjzcLv3KujqNfYcm118E+12H0nY6fQ==", + "dev": true, + "optional": true + }, + "@swc/core-darwin-x64": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.3.49.tgz", + "integrity": "sha512-eSIxVX0YDw40Bre5sAx2BV3DzdIGzmQvCf2yiBvLqiiL6GC0mmuDeWbUCAzdUX6fJ6FUVEBMUVqNOc9oJ2/d5w==", + "dev": true, + "optional": true + }, + "@swc/core-linux-arm-gnueabihf": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.3.49.tgz", + "integrity": "sha512-8mj3IcRVr/OJY0mVITz6Z5osNAMJK5GiKDaZ+3QejPLbl6aiu4sH4GmTHDRN14RnaVXOpecsGcUoQmNoNa3u3w==", + "dev": true, + "optional": true + }, + "@swc/core-linux-arm64-gnu": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.3.49.tgz", + "integrity": "sha512-Rmg9xw6tmpOpf6GKKjpHQGmjfHzqSths5ebI2ahrHlhekzZF2HYmPkVw4bHda8Bja6mbaw8FVBgBHjPU8mMeDA==", + "dev": true, + "optional": true + }, + "@swc/core-linux-arm64-musl": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.3.49.tgz", + "integrity": "sha512-nlKPYMogAI3Aak6Mlkag8/2AlHAZ/DpH7RjhfMazsaGhD/sQOmYdyY9Al69ejpa419YJuREeeeLoojFlSsd30g==", + "dev": true, + "optional": true + }, + "@swc/core-linux-x64-gnu": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.3.49.tgz", + "integrity": "sha512-QOyeJQ6NVi73SJcizbwvIZTiGA/N+BxX9liRrvibumaQmRh8fWjJiLNsv3ODSHeuonak7E8Bf7a7NnSTyu48Mw==", + "dev": true, + "optional": true + }, + "@swc/core-linux-x64-musl": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.3.49.tgz", + "integrity": "sha512-WlDMz+SOpYC9O/ZBUw1oiyWI7HyUCMlf/HS8Fy/kRI3eGoGCUxVTCJ1mP57GdQr4Wg32Y/ZpO2KSNQFWnT8mAw==", + "dev": true, + "optional": true + }, + "@swc/core-win32-arm64-msvc": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.3.49.tgz", + "integrity": "sha512-41LZOeI94Za3twib8KOIjnHYAZ+nkBFmboaREsFR1760S7jiMVywqWX8nFZvn/CXj15Fjjgdgyuig+zMREwXwQ==", + "dev": true, + "optional": true + }, + "@swc/core-win32-ia32-msvc": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.3.49.tgz", + "integrity": "sha512-IdqLPoMKssyAoOCZdNXmnAd6/uyx+Hb9KSfZUHepZaNfwMy6J5XXrOsbYs3v53FH8MtekUUdV+mMX4me9bcv9w==", + "dev": true, + "optional": true + }, + "@swc/core-win32-x64-msvc": { + "version": "1.3.49", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.3.49.tgz", + "integrity": "sha512-7Fqjo5pS3uIohhSbYSaR0+e/bJdxmQb4oG97FIh5qvlCCGQaQ9UiaEeYy4uK0Ad+Menum1IXCAEiG7RHcl6Eyw==", + "dev": true, + "optional": true + }, + "@types/debug": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", + "requires": { + "@types/ms": "*" + } + }, + "@types/draft-js": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@types/draft-js/-/draft-js-0.11.10.tgz", + "integrity": "sha512-o/DST8x0wNerwhRiaE577UHFIXb6HCywaZOZfj9TF2vU3CONvsCGoQmdOsKqERdXp+3ZNlSvFUH0B8lEEYOT4A==", + "dev": true, + "requires": { + "@types/react": "*", + "immutable": "~3.7.4" + } + }, + "@types/hast": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", + "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", + "requires": { + "@types/unist": "*" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/lodash": { + "version": "4.14.192", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.192.tgz", + "integrity": "sha512-km+Vyn3BYm5ytMO13k9KTp27O75rbQ0NFw+U//g+PX7VZyjCioXaRFisqSIJRECljcTv73G3i6BpglNGHgUQ5A==", + "dev": true + }, + "@types/mdast": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.11.tgz", + "integrity": "sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==", + "requires": { + "@types/unist": "*" + } + }, + "@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==" + }, + "@types/node": { + "version": "20.0.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.0.0.tgz", + "integrity": "sha512-cD2uPTDnQQCVpmRefonO98/PPijuOnnEy5oytWJFPY1N9aJCz2wJ5kSGWO+zJoed2cY2JxQh6yBuUq4vIn61hw==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + }, + "@types/prop-types": { + "version": "15.7.5", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", + "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==" + }, + "@types/react": { + "version": "18.0.28", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.28.tgz", + "integrity": "sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==", + "requires": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "@types/react-dom": { + "version": "18.0.11", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.11.tgz", + "integrity": "sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/react-is": { + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/react-is/-/react-is-17.0.3.tgz", + "integrity": "sha512-aBTIWg1emtu95bLTLx0cpkxwGW3ueZv71nE2YFBpL8k/z5czEW8yYpOo8Dp+UUAFAtKwNaOsh/ioSeQnWlZcfw==", + "requires": { + "@types/react": "*" + } + }, + "@types/react-syntax-highlighter": { + "version": "15.5.6", + "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-15.5.6.tgz", + "integrity": "sha512-i7wFuLbIAFlabTeD2I1cLjEOrG/xdMa/rpx2zwzAoGHuXJDhSqp9BSfDlMHSh9JSuNfxHk9eEmMX6D55GiyjGg==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-juKD/eiSM3/xZYzjuzH6ZwpP+/lejltmiS3QEzV/vmb/Q8+HfDmxu+Baga8UEMGBqV88Nbg4l2hY/K2DkyaLLA==", + "requires": { + "@types/react": "*" + } + }, + "@types/react-window": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/@types/react-window/-/react-window-1.8.5.tgz", + "integrity": "sha512-V9q3CvhC9Jk9bWBOysPGaWy/Z0lxYcTXLtLipkt2cnRj1JOSFNF7wqGpkScSXMgBwC+fnVRg/7shwgddBG5ICw==", + "dev": true, + "requires": { + "@types/react": "*" + } + }, + "@types/react-window-infinite-loader": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/react-window-infinite-loader/-/react-window-infinite-loader-1.0.6.tgz", + "integrity": "sha512-V8g8sBDLVeJJAfEENJS7VXZK+DRJ+jzPNtk8jpj2G+obhf+iqGNUDGwNWCbBhLiD+KpHhf3kWQlKBRi0tAeU4Q==", + "dev": true, + "requires": { + "@types/react": "*", + "@types/react-window": "*" + } + }, + "@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==" + }, + "@types/semver": { + "version": "7.3.13", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", + "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "dev": true + }, + "@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==" + }, + "@typescript-eslint/eslint-plugin": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz", + "integrity": "sha512-yVrXupeHjRxLDcPKL10sGQ/QlVrA8J5IYOEWVqk0lJaSZP7X5DfnP7Ns3cc74/blmbipQ1htFNVGsHX6wsYm0A==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/type-utils": "5.59.2", + "@typescript-eslint/utils": "5.59.2", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/parser": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz", + "integrity": "sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/typescript-estree": "5.59.2", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz", + "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/visitor-keys": "5.59.2" + } + }, + "@typescript-eslint/type-utils": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz", + "integrity": "sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "5.59.2", + "@typescript-eslint/utils": "5.59.2", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + } + }, + "@typescript-eslint/types": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz", + "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz", + "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/visitor-keys": "5.59.2", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/utils": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz", + "integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/typescript-estree": "5.59.2", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz", + "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==", + "dev": true, + "requires": { + "@typescript-eslint/types": "5.59.2", + "eslint-visitor-keys": "^3.3.0" + } + }, + "@vitejs/plugin-react": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-3.1.0.tgz", + "integrity": "sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==", + "dev": true, + "requires": { + "@babel/core": "^7.20.12", + "@babel/plugin-transform-react-jsx-self": "^7.18.6", + "@babel/plugin-transform-react-jsx-source": "^7.19.6", + "magic-string": "^0.27.0", + "react-refresh": "^0.14.0" + } + }, + "@vitejs/plugin-react-swc": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react-swc/-/plugin-react-swc-3.3.0.tgz", + "integrity": "sha512-Ycg+n2eyCOTpn/wRy+evVo859+hw7qCj9iaX5CMny6x1fx1Uoq0xBG+a98lFtwLNGfGEnpI0F26YigRuxCRkwg==", + "dev": true, + "requires": { + "@swc/core": "^1.3.42" + } + }, + "@wry/context": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.7.0.tgz", + "integrity": "sha512-LcDAiYWRtwAoSOArfk7cuYvFXytxfVrdX7yxoUmK7pPITLk5jYh2F8knCwS7LjgYL8u1eidPlKKV6Ikqq0ODqQ==", + "requires": { + "tslib": "^2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + } + } + }, + "@wry/equality": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.3.tgz", + "integrity": "sha512-avR+UXdSrsF2v8vIqIgmeTY0UR91UT+IyablCyKe/uk22uOJ8fusKZnH9JH9e1/EtLeNJBtagNmL3eJdnOV53g==", + "requires": { + "tslib": "^2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + } + } + }, + "@wry/trie": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.3.2.tgz", + "integrity": "sha512-yRTyhWSls2OY/pYLfwff867r8ekooZ4UI+/gxot5Wj8EFwSf2rG+n+Mo/6LoLQm1TKA4GRj2+LCpbfS937dClQ==", + "requires": { + "tslib": "^2.3.0" + }, + "dependencies": { + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + } + } + }, + "acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "requires": {} + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" + }, + "attr-accept": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/attr-accept/-/attr-accept-2.2.2.tgz", + "integrity": "sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==" + }, + "babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "requires": { + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" + } + }, + "bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==" + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" + }, + "caniuse-lite": { + "version": "1.0.30001457", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001457.tgz", + "integrity": "sha512-SDIV6bgE1aVbK6XyxdURbUE89zY7+k1BBBaOwYwkNCglXlel/E7mELiHC64HQ+W0xSKlqWhV9Wh7iHxUjMs4fA==", + "dev": true + }, + "ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==" + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==" + }, + "character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==" + }, + "character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==" + }, + "clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==" + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==" + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + }, + "core-js": { + "version": "3.29.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.29.0.tgz", + "integrity": "sha512-VG23vuEisJNkGl6XQmFJd3rEG/so/CNatqeE+7uZAwTSwFeB/qaO0be8xZYUNWprJ/GIwL8aMt9cj1kvbpTZhg==" + }, + "cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "cross-fetch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-3.1.5.tgz", + "integrity": "sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==", + "requires": { + "node-fetch": "2.6.7" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "csstype": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz", + "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw==" + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "requires": { + "ms": "2.1.2" + } + }, + "decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "requires": { + "character-entities": "^2.0.0" + }, + "dependencies": { + "character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==" + } + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "deepmerge": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz", + "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==" + }, + "dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" + }, + "diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==" + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "requires": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, + "draft-js": { + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/draft-js/-/draft-js-0.11.7.tgz", + "integrity": "sha512-ne7yFfN4sEL82QPQEn80xnADR8/Q6ALVworbC5UOSzOvjffmYfFsr3xSZtxbIirti14R7Y33EZC5rivpLgIbsg==", + "requires": { + "fbjs": "^2.0.0", + "immutable": "~3.7.4", + "object-assign": "^4.1.1" + }, + "dependencies": { + "fbjs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fbjs/-/fbjs-2.0.0.tgz", + "integrity": "sha512-8XA8ny9ifxrAWlyhAbexXcs3rRMtxWcs3M0lctLfB49jRDHiaxj+Mo0XxbwE7nKZYzgCFoq64FS+WFd4IycPPQ==", + "requires": { + "core-js": "^3.6.4", + "cross-fetch": "^3.0.4", + "fbjs-css-vars": "^1.0.0", + "loose-envify": "^1.0.0", + "object-assign": "^4.1.0", + "promise": "^7.1.1", + "setimmediate": "^1.0.5", + "ua-parser-js": "^0.7.18" + } + } + } + }, + "electron-to-chromium": { + "version": "1.4.310", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.310.tgz", + "integrity": "sha512-/xlATgfwkm5uDDwLw5nt/MNEf7c1oazLURMZLy39vOioGYyYzLWIDT8fZMJak6qTiAJ7udFTy7JG7ziyjNutiA==", + "dev": true + }, + "engine.io-client": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.4.0.tgz", + "integrity": "sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g==", + "requires": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.11.0", + "xmlhttprequest-ssl": "~2.0.0" + } + }, + "engine.io-parser": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz", + "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==" + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "esbuild": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + }, + "eslint": { + "version": "8.39.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.39.0.tgz", + "integrity": "sha512-mwiok6cy7KTW7rBpo05k6+p4YVZByLNjAZ/ACB9DRCu4YDRwjXI01tWHp6KAUWelsBetTxKK/2sHB0vdS8Z2Og==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.2", + "@eslint/js": "8.39.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.0", + "espree": "^9.5.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "eslint-visitor-keys": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz", + "integrity": "sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==", + "dev": true + }, + "espree": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.1.tgz", + "integrity": "sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==", + "dev": true, + "requires": { + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.0" + } + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fault": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz", + "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==", + "requires": { + "format": "^0.2.0" + } + }, + "fbjs-css-vars": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fbjs-css-vars/-/fbjs-css-vars-1.0.2.tgz", + "integrity": "sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==" + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "file-selector": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/file-selector/-/file-selector-0.6.0.tgz", + "integrity": "sha512-QlZ5yJC0VxHxQQsQhXvBaC7VRJ2uaxTf+Tfpu4Z/OcVQJVpZO+DGU0rkoVW5ce2SccxugvpBJoMvUs59iILYdw==", + "requires": { + "tslib": "^2.4.0" + }, + "dependencies": { + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + } + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "requires": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "dev": true + }, + "format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==" + }, + "formik": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/formik/-/formik-2.2.9.tgz", + "integrity": "sha512-LQLcISMmf1r5at4/gyJigGn0gOwFbeEAlji+N9InZF6LIMXnFNkO42sCI8Jt84YZggpD4cPWObAZaxpEFtSzNA==", + "requires": { + "deepmerge": "^2.1.1", + "hoist-non-react-statics": "^3.3.0", + "lodash": "^4.17.21", + "lodash-es": "^4.17.21", + "react-fast-compare": "^2.0.1", + "tiny-warning": "^1.0.2", + "tslib": "^1.10.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "globrex": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", + "dev": true + }, + "goober": { + "version": "2.1.12", + "resolved": "https://registry.npmjs.org/goober/-/goober-2.1.12.tgz", + "integrity": "sha512-yXHAvO08FU1JgTXX6Zn6sYCUFfB/OJSX8HHjDSgerZHZmFKAb08cykp5LBw5QnmyMcZyPRMqkdyHUSSzge788Q==", + "requires": {} + }, + "grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, + "graphql": { + "version": "16.6.0", + "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.6.0.tgz", + "integrity": "sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==", + "peer": true + }, + "graphql-tag": { + "version": "2.12.6", + "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz", + "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==", + "requires": { + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + } + } + }, + "hamt_plus": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hamt_plus/-/hamt_plus-1.0.2.tgz", + "integrity": "sha512-t2JXKaehnMb9paaYA7J0BX8QQAY8lwfQ9Gjf4pg/mk4krt+cmwmU652HOoWonf+7+EQV97ARPMhhVgU1ra2GhA==" + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==" + }, + "hast-util-parse-selector": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz", + "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==" + }, + "hast-util-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.1.tgz", + "integrity": "sha512-nAxA0v8+vXSBDt3AnRUNjyRIQ0rD+ntpbAp4LnPkumc5M9yUbSMa4XDU9Q6etY4f1Wp4bNgvc1yjiZtsTTrSng==" + }, + "hastscript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz", + "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==", + "requires": { + "@types/hast": "^2.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-parse-selector": "^2.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0" + } + }, + "highlight.js": { + "version": "10.7.3", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", + "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==" + }, + "hoist-non-react-statics": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", + "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "requires": { + "react-is": "^16.7.0" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true + }, + "immutable": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", + "integrity": "sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==" + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==" + }, + "is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==" + }, + "is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "requires": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + }, + "is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==" + }, + "is-core-module": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz", + "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==", + "requires": { + "has": "^1.0.3" + } + }, + "is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==" + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "js-sdsl": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", + "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", + "dev": true + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==" + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "lowlight": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz", + "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==", + "requires": { + "fault": "^1.0.0", + "highlight.js": "~10.7.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.13" + } + }, + "markdown-table": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.3.tgz", + "integrity": "sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==" + }, + "mdast-util-definitions": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.2.tgz", + "integrity": "sha512-8SVPMuHqlPME/z3gqVwWY4zVXn8lqKv/pAhC57FuJ40ImXyBpmO5ukh98zB2v7Blql2FiHjHv9LVztSIqjY+MA==", + "requires": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + } + }, + "mdast-util-find-and-replace": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.2.tgz", + "integrity": "sha512-MTtdFRz/eMDHXzeK6W3dO7mXUlF82Gom4y0oOgvHhh/HXZAGvIQDUvQ0SuUx+j2tv44b8xTHOm8K/9OoRFnXKw==", + "requires": { + "@types/mdast": "^3.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==" + } + } + }, + "mdast-util-from-markdown": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.3.0.tgz", + "integrity": "sha512-HN3W1gRIuN/ZW295c7zi7g9lVBllMgZE40RxCX37wrTPWXCWtpvOZdfnuK+1WNpvZje6XuJeI3Wnb4TJEUem+g==", + "requires": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + } + }, + "mdast-util-gfm": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.2.tgz", + "integrity": "sha512-qvZ608nBppZ4icQlhQQIAdc6S3Ffj9RGmzwUKUWuEICFnd1LVkN3EktF7ZHAgfcEdvZB5owU9tQgt99e2TlLjg==", + "requires": { + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-gfm-autolink-literal": "^1.0.0", + "mdast-util-gfm-footnote": "^1.0.0", + "mdast-util-gfm-strikethrough": "^1.0.0", + "mdast-util-gfm-table": "^1.0.0", + "mdast-util-gfm-task-list-item": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + } + }, + "mdast-util-gfm-autolink-literal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.3.tgz", + "integrity": "sha512-My8KJ57FYEy2W2LyNom4n3E7hKTuQk/0SES0u16tjA9Z3oFkF4RrC/hPAPgjlSpezsOvI8ObcXcElo92wn5IGA==", + "requires": { + "@types/mdast": "^3.0.0", + "ccount": "^2.0.0", + "mdast-util-find-and-replace": "^2.0.0", + "micromark-util-character": "^1.0.0" + } + }, + "mdast-util-gfm-footnote": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.2.tgz", + "integrity": "sha512-56D19KOGbE00uKVj3sgIykpwKL179QsVFwx/DCW0u/0+URsryacI4MAdNJl0dh+u2PSsD9FtxPFbHCzJ78qJFQ==", + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0", + "micromark-util-normalize-identifier": "^1.0.0" + } + }, + "mdast-util-gfm-strikethrough": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.3.tgz", + "integrity": "sha512-DAPhYzTYrRcXdMjUtUjKvW9z/FNAMTdU0ORyMcbmkwYNbKocDpdk+PX1L1dQgOID/+vVs1uBQ7ElrBQfZ0cuiQ==", + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + } + }, + "mdast-util-gfm-table": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.7.tgz", + "integrity": "sha512-jjcpmNnQvrmN5Vx7y7lEc2iIOEytYv7rTvu+MeyAsSHTASGCCRA79Igg2uKssgOs1i1po8s3plW0sTu1wkkLGg==", + "requires": { + "@types/mdast": "^3.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.3.0" + } + }, + "mdast-util-gfm-task-list-item": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.2.tgz", + "integrity": "sha512-PFTA1gzfp1B1UaiJVyhJZA1rm0+Tzn690frc/L8vNX1Jop4STZgOE6bxUhnzdVSB+vm2GU1tIsuQcA9bxTQpMQ==", + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + } + }, + "mdast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-WmI1gTXUBJo4/ZmSk79Wcb2HcjPJBzM1nlI/OUWA8yk2X9ik3ffNbBGsU+09BFmXaL1IBb9fiuvq6/KMiNycSg==", + "requires": { + "@types/mdast": "^3.0.0", + "unist-util-is": "^5.0.0" + } + }, + "mdast-util-to-hast": { + "version": "12.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.3.0.tgz", + "integrity": "sha512-pits93r8PhnIoU4Vy9bjW39M2jJ6/tdHyja9rrot9uujkN7UTU9SDnE6WNJz/IGyQk3XHX6yNNtrBH6cQzm8Hw==", + "requires": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-definitions": "^5.0.0", + "micromark-util-sanitize-uri": "^1.1.0", + "trim-lines": "^3.0.0", + "unist-util-generated": "^2.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0" + } + }, + "mdast-util-to-markdown": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.5.0.tgz", + "integrity": "sha512-bbv7TPv/WC49thZPg3jXuqzuvI45IL2EVAr/KxF0BSdHsU0ceFHOmwQn6evxAh1GaoK/6GQ1wp4R4oW2+LFL/A==", + "requires": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^3.0.0", + "mdast-util-to-string": "^3.0.0", + "micromark-util-decode-string": "^1.0.0", + "unist-util-visit": "^4.0.0", + "zwitch": "^2.0.0" + } + }, + "mdast-util-to-string": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.1.tgz", + "integrity": "sha512-tGvhT94e+cVnQt8JWE9/b3cUQZWS732TJxXHktvP+BYo62PpYD53Ls/6cC60rW21dW+txxiM4zMdc6abASvZKA==", + "requires": { + "@types/mdast": "^3.0.0" + } + }, + "memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==" + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromark": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz", + "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==", + "requires": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "micromark-core-commonmark": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", + "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", + "requires": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "micromark-extension-gfm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz", + "integrity": "sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==", + "requires": { + "micromark-extension-gfm-autolink-literal": "^1.0.0", + "micromark-extension-gfm-footnote": "^1.0.0", + "micromark-extension-gfm-strikethrough": "^1.0.0", + "micromark-extension-gfm-table": "^1.0.0", + "micromark-extension-gfm-tagfilter": "^1.0.0", + "micromark-extension-gfm-task-list-item": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-extension-gfm-autolink-literal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz", + "integrity": "sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==", + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-extension-gfm-footnote": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.1.0.tgz", + "integrity": "sha512-RWYce7j8+c0n7Djzv5NzGEGitNNYO3uj+h/XYMdS/JinH1Go+/Qkomg/rfxExFzYTiydaV6GLeffGO5qcJbMPA==", + "requires": { + "micromark-core-commonmark": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-extension-gfm-strikethrough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.5.tgz", + "integrity": "sha512-X0oI5eYYQVARhiNfbETy7BfLSmSilzN1eOuoRnrf9oUNsPRrWOAe9UqSizgw1vNxQBfOwL+n2610S3bYjVNi7w==", + "requires": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-extension-gfm-table": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz", + "integrity": "sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==", + "requires": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-extension-gfm-tagfilter": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.2.tgz", + "integrity": "sha512-5XWB9GbAUSHTn8VPU8/1DBXMuKYT5uOgEjJb8gN3mW0PNW5OPHpSdojoqf+iq1xo7vWzw/P8bAHY0n6ijpXF7g==", + "requires": { + "micromark-util-types": "^1.0.0" + } + }, + "micromark-extension-gfm-task-list-item": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.4.tgz", + "integrity": "sha512-9XlIUUVnYXHsFF2HZ9jby4h3npfX10S1coXTnV035QGPgrtNYQq3J6IfIvcCIUAJrrqBVi5BqA/LmaOMJqPwMQ==", + "requires": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-factory-destination": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", + "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-factory-label": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", + "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-factory-space": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", + "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-factory-title": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", + "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", + "requires": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-factory-whitespace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", + "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", + "requires": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", + "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", + "requires": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-chunked": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", + "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", + "requires": { + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-classify-character": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", + "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-combine-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", + "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", + "requires": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-decode-numeric-character-reference": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", + "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", + "requires": { + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-decode-string": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", + "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", + "requires": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-encode": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", + "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==" + }, + "micromark-util-html-tag-name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", + "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==" + }, + "micromark-util-normalize-identifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", + "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", + "requires": { + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-resolve-all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", + "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", + "requires": { + "micromark-util-types": "^1.0.0" + } + }, + "micromark-util-sanitize-uri": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz", + "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==", + "requires": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "micromark-util-subtokenize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", + "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", + "requires": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "micromark-util-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", + "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==" + }, + "micromark-util-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", + "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==" + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==" + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "mui-chips-input": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mui-chips-input/-/mui-chips-input-2.0.0.tgz", + "integrity": "sha512-+0D9Dg74D7IhccNp4pgTpX1/8MdhBfIEmoYCdrwTJnaBqJYzg6th2aXIHgmmUm9qh0mB0p+993jI2B4x0YZCHg==", + "requires": { + "@emotion/react": "^11.5.0", + "@emotion/styled": "^11.3.0", + "@mui/icons-material": "^5.0.0", + "@mui/material": "^5.0.0", + "@types/react": "^17.0.0 || ^18.0.0", + "react": "^17.0.0 || ^18.0.0", + "react-dom": "^17.0.0 || ^18.0.0" + } + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, + "node-fetch": { + "version": "2.6.7", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", + "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, + "node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optimism": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.16.2.tgz", + "integrity": "sha512-zWNbgWj+3vLEjZNIh/okkY2EUfX+vB9TJopzIZwT1xxaMqC5hRLLraePod4c5n4He08xuXNH+zhKFFCu390wiQ==", + "requires": { + "@wry/context": "^0.7.0", + "@wry/trie": "^0.3.0" + } + }, + "optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "requires": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + } + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "requires": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "postcss": { + "version": "8.4.21", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz", + "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==", + "dev": true, + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true + }, + "prismjs": { + "version": "1.29.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz", + "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==" + }, + "promise": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", + "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "requires": { + "asap": "~2.0.3" + } + }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + } + } + }, + "property-expr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.5.tgz", + "integrity": "sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==" + }, + "property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "requires": { + "xtend": "^4.0.0" + } + }, + "punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "requires": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + } + }, + "react-dropzone": { + "version": "14.2.3", + "resolved": "https://registry.npmjs.org/react-dropzone/-/react-dropzone-14.2.3.tgz", + "integrity": "sha512-O3om8I+PkFKbxCukfIR3QAGftYXDZfOE2N1mr/7qebQJHs7U+/RSL/9xomJNpRg9kM5h9soQSdf0Gc7OHF5Fug==", + "requires": { + "attr-accept": "^2.2.2", + "file-selector": "^0.6.0", + "prop-types": "^15.8.1" + } + }, + "react-fast-compare": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz", + "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==" + }, + "react-hot-toast": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/react-hot-toast/-/react-hot-toast-2.4.0.tgz", + "integrity": "sha512-qnnVbXropKuwUpriVVosgo8QrB+IaPJCpL8oBI6Ov84uvHZ5QQcTp2qg6ku2wNfgJl6rlQXJIQU5q+5lmPOutA==", + "requires": { + "goober": "^2.1.10" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "react-markdown": { + "version": "8.0.6", + "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.6.tgz", + "integrity": "sha512-KgPWsYgHuftdx510wwIzpwf+5js/iHqBR+fzxefv8Khk3mFbnioF1bmL2idHN3ler0LMQmICKeDrWnZrX9mtbQ==", + "requires": { + "@types/hast": "^2.0.0", + "@types/prop-types": "^15.0.0", + "@types/unist": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^2.0.0", + "prop-types": "^15.0.0", + "property-information": "^6.0.0", + "react-is": "^18.0.0", + "remark-parse": "^10.0.0", + "remark-rehype": "^10.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.4.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0" + }, + "dependencies": { + "comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==" + }, + "property-information": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.2.0.tgz", + "integrity": "sha512-kma4U7AFCTwpqq5twzC1YVIDXSqg6qQK6JN0smOw8fgRy1OkMi0CYSzFmsy6dnqSenamAtj0CyXMUJ1Mf6oROg==" + }, + "space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==" + } + } + }, + "react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true + }, + "react-router": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.8.1.tgz", + "integrity": "sha512-Jgi8BzAJQ8MkPt8ipXnR73rnD7EmZ0HFFb7jdQU24TynGW1Ooqin2KVDN9voSC+7xhqbbCd2cjGUepb6RObnyg==", + "requires": { + "@remix-run/router": "1.3.2" + } + }, + "react-router-dom": { + "version": "6.8.1", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.8.1.tgz", + "integrity": "sha512-67EXNfkQgf34P7+PSb6VlBuaacGhkKn3kpE51+P6zYSG2kiRoumXEL6e27zTa9+PGF2MNXbgIUHTVlleLbIcHQ==", + "requires": { + "@remix-run/router": "1.3.2", + "react-router": "6.8.1" + } + }, + "react-string-replace": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/react-string-replace/-/react-string-replace-1.1.0.tgz", + "integrity": "sha512-N6RalSDFGbOHs0IJi1H611WbZsvk3ZT47Jl2JEXFbiS3kTwsdCYij70Keo/tWtLy7sfhDsYm7CwNM/WmjXIaMw==" + }, + "react-syntax-highlighter": { + "version": "15.5.0", + "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz", + "integrity": "sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==", + "requires": { + "@babel/runtime": "^7.3.1", + "highlight.js": "^10.4.1", + "lowlight": "^1.17.0", + "prismjs": "^1.27.0", + "refractor": "^3.6.0" + } + }, + "react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "requires": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + } + }, + "react-virtualized-auto-sizer": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/react-virtualized-auto-sizer/-/react-virtualized-auto-sizer-1.0.9.tgz", + "integrity": "sha512-O1pYgygCDtFKa9GaKJtX5Ws/QRqxkx2zPlXZqEoRXCMmnNuhoMk5nhXCQqixsc1AcrUzOJwKdzEaDAU9WQ6aJQ==", + "requires": {} + }, + "react-window": { + "version": "1.8.8", + "resolved": "https://registry.npmjs.org/react-window/-/react-window-1.8.8.tgz", + "integrity": "sha512-D4IiBeRtGXziZ1n0XklnFGu7h9gU684zepqyKzgPNzrsrk7xOCxni+TCckjg2Nr/DiaEEGVVmnhYSlT2rB47dQ==", + "requires": { + "@babel/runtime": "^7.0.0", + "memoize-one": ">=3.1.1 <6" + } + }, + "react-window-infinite-loader": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/react-window-infinite-loader/-/react-window-infinite-loader-1.0.8.tgz", + "integrity": "sha512-907ZLAiZZfBHuZyiY0V7uiSL4P/rI6UQyCF9wES1cDWTeyNLgGLaxu+BZkcUW3R5tSCQcbCcWBl0jVIpYzrKGQ==", + "requires": {} + }, + "recoil": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/recoil/-/recoil-0.7.6.tgz", + "integrity": "sha512-hsBEw7jFdpBCY/tu2GweiyaqHKxVj6EqF2/SfrglbKvJHhpN57SANWvPW+gE90i3Awi+A5gssOd3u+vWlT+g7g==", + "requires": { + "hamt_plus": "1.0.2" + } + }, + "refractor": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz", + "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==", + "requires": { + "hastscript": "^6.0.0", + "parse-entities": "^2.0.0", + "prismjs": "~1.27.0" + }, + "dependencies": { + "prismjs": { + "version": "1.27.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz", + "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==" + } + } + }, + "regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "remark-gfm": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz", + "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-gfm": "^2.0.0", + "micromark-extension-gfm": "^2.0.0", + "unified": "^10.0.0" + } + }, + "remark-parse": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz", + "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==", + "requires": { + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "unified": "^10.0.0" + } + }, + "remark-rehype": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", + "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", + "requires": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-to-hast": "^12.1.0", + "unified": "^10.0.0" + } + }, + "resolve": { + "version": "1.22.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz", + "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==", + "requires": { + "is-core-module": "^2.9.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==" + }, + "response-iterator": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/response-iterator/-/response-iterator-0.2.6.tgz", + "integrity": "sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==" + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "rollup": { + "version": "3.17.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.17.2.tgz", + "integrity": "sha512-qMNZdlQPCkWodrAZ3qnJtvCAl4vpQ8q77uEujVCCbC/6CLB7Lcmvjq7HyiOSnf4fxTT9XgsE36oLHJBH49xjqA==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "requires": { + "mri": "^1.1.0" + } + }, + "scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "requires": { + "loose-envify": "^1.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==" + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "socket.io-client": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.6.1.tgz", + "integrity": "sha512-5UswCV6hpaRsNg5kkEHVcbBIXEYoVbMQaHJBXJCyEQ+CiFPV1NIOY0XOFWG4XR4GZcB8Kn6AsRs/9cy9TbqVMQ==", + "requires": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.2", + "engine.io-client": "~6.4.0", + "socket.io-parser": "~4.2.1" + } + }, + "socket.io-parser": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.2.tgz", + "integrity": "sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==", + "requires": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==" + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "style-to-object": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.4.1.tgz", + "integrity": "sha512-HFpbb5gr2ypci7Qw+IOhnP2zOU7e77b+rzM+wTzXzfi1PrtBCX0E7Pk4wL4iTLnhzZ+JgEGAhX81ebTg/aYjQw==", + "requires": { + "inline-style-parser": "0.1.1" + } + }, + "stylis": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.1.3.tgz", + "integrity": "sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==" + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + }, + "symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==" + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "tiny-case": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz", + "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==" + }, + "tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==" + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==" + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" + }, + "tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==" + }, + "trough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz", + "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==" + }, + "ts-invariant": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.10.3.tgz", + "integrity": "sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==", + "requires": { + "tslib": "^2.1.0" + }, + "dependencies": { + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + } + } + }, + "tsconfck": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-2.0.3.tgz", + "integrity": "sha512-o3DsPZO1+C98KqHMdAbWs30zpxD30kj8r9OLA4ML1yghx4khNDzaaShNalfluh8ZPPhzKe3qyVCP1HiZszSAsw==", + "dev": true, + "requires": {} + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "requires": { + "tslib": "^1.8.1" + } + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==" + }, + "typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true + }, + "ua-parser-js": { + "version": "0.7.33", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.33.tgz", + "integrity": "sha512-s8ax/CeZdK9R/56Sui0WM6y9OFREJarMRHqLB2EwkovemBxNQ+Bqu8GAsUnVcXKgphb++ghr/B2BZx4mahujPw==" + }, + "unified": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz", + "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==", + "requires": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + } + }, + "unist-util-generated": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.1.tgz", + "integrity": "sha512-qF72kLmPxAw0oN2fwpWIqbXAVyEqUzDHMsbtPvOudIlUzXYFIeQIuxXQCRCFh22B7cixvU0MG7m3MW8FTq/S+A==" + }, + "unist-util-is": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.2.1.tgz", + "integrity": "sha512-u9njyyfEh43npf1M+yGKDGVPbY/JWEemg5nH05ncKPfi+kBbKBJoTdsogMu33uhytuLlv9y0O7GH7fEdwLdLQw==", + "requires": { + "@types/unist": "^2.0.0" + } + }, + "unist-util-position": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.4.tgz", + "integrity": "sha512-kUBE91efOWfIVBo8xzh/uZQ7p9ffYRtUbMRZBNFYwf0RK8koUMx6dGUfwylLOKmaT2cs4wSW96QoYUSXAyEtpg==", + "requires": { + "@types/unist": "^2.0.0" + } + }, + "unist-util-stringify-position": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.3.tgz", + "integrity": "sha512-k5GzIBZ/QatR8N5X2y+drfpWG8IDBzdnVj6OInRNWm1oXrzydiaAT2OQiA8DPRRZyAKb9b6I2a6PxYklZD0gKg==", + "requires": { + "@types/unist": "^2.0.0" + } + }, + "unist-util-visit": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.2.tgz", + "integrity": "sha512-MSd8OUGISqHdVvfY9TPhyK2VdUrPgxkUtWSuMHF6XAAFuL4LokseigBnZtPnJMu+FbynTkFNnFlyjxpVKujMRg==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.1.1" + } + }, + "unist-util-visit-parents": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.3.tgz", + "integrity": "sha512-x6+y8g7wWMyQhL1iZfhIPhDAs7Xwbn9nRosDXl7qoPTSCy0yNxnKc+hWokFifWQIDGi154rdUqKvbCa4+1kLhg==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + } + }, + "update-browserslist-db": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz", + "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "requires": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + } + }, + "vfile": { + "version": "5.3.7", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.7.tgz", + "integrity": "sha512-r7qlzkgErKjobAmyNIkkSpizsFPYiUPuJb5pNW1RB4JcYVZhs4lIbVqk8XPk033CV/1z8ss5pkax8SuhGpcG8g==", + "requires": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + } + }, + "vfile-message": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.4.tgz", + "integrity": "sha512-fa0Z6P8HUrQN4BZaX05SIVXic+7kE3b05PWAtPuYP9QLHsLKYR7/AlLW3NtOrpXRLeawpDLMsVkmk5DG0NXgWw==", + "requires": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + } + }, + "vite": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.1.4.tgz", + "integrity": "sha512-3knk/HsbSTKEin43zHu7jTwYWv81f8kgAL99G5NWBcA1LKvtvcVAC4JjBH1arBunO9kQka+1oGbrMKOjk4ZrBg==", + "dev": true, + "requires": { + "esbuild": "^0.16.14", + "fsevents": "~2.3.2", + "postcss": "^8.4.21", + "resolve": "^1.22.1", + "rollup": "^3.10.0" + } + }, + "vite-tsconfig-paths": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/vite-tsconfig-paths/-/vite-tsconfig-paths-4.0.5.tgz", + "integrity": "sha512-/L/eHwySFYjwxoYt1WRJniuK/jPv+WGwgRGBYx3leciR5wBeqntQpUE6Js6+TJemChc+ter7fDBKieyEWDx4yQ==", + "dev": true, + "requires": { + "debug": "^4.1.1", + "globrex": "^0.1.2", + "tsconfck": "^2.0.1" + } + }, + "webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" + }, + "whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "requires": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", + "requires": {} + }, + "xmlhttprequest-ssl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz", + "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==" + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + }, + "yup": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/yup/-/yup-1.0.2.tgz", + "integrity": "sha512-Lpi8nITFKjWtCoK3yQP8MUk78LJmHWqbFd0OOMXTar+yjejlQ4OIIoZgnTW1bnEUKDw6dZBcy3/IdXnt2KDUow==", + "requires": { + "property-expr": "^2.0.5", + "tiny-case": "^1.0.3", + "toposort": "^2.0.2", + "type-fest": "^2.19.0" + } + }, + "zen-observable": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", + "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" + }, + "zen-observable-ts": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz", + "integrity": "sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==", + "requires": { + "zen-observable": "0.8.15" + } + }, + "zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==" + } + } +} diff --git a/src/chainlit/frontend/package.json b/src/chainlit/frontend/package.json new file mode 100644 index 0000000000..7bfb80b3f2 --- /dev/null +++ b/src/chainlit/frontend/package.json @@ -0,0 +1,59 @@ +{ + "name": "chainlit-ui", + "private": true, + "version": "0.0.1", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview", + "lint": "eslint ./src --ext .ts,.tsx", + "format": "prettier --config .prettierrc 'src/**/*.{ts,tsx}' --write" + }, + "dependencies": { + "@apollo/client": "^3.7.10", + "@auth0/auth0-react": "^2.0.1", + "@emotion/react": "^11.10.6", + "@emotion/styled": "^11.10.6", + "@mui/icons-material": "^5.11.9", + "@mui/lab": "^5.0.0-alpha.122", + "@mui/material": "^5.11.10", + "draft-js": "^0.11.7", + "formik": "^2.2.9", + "lodash": "^4.17.21", + "mui-chips-input": "^2.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "react-dropzone": "^14.2.3", + "react-hot-toast": "^2.4.0", + "react-markdown": "^8.0.6", + "react-router-dom": "^6.8.1", + "react-string-replace": "^1.1.0", + "react-syntax-highlighter": "^15.5.0", + "react-virtualized-auto-sizer": "^1.0.9", + "react-window": "^1.8.8", + "react-window-infinite-loader": "^1.0.8", + "recoil": "^0.7.6", + "remark-gfm": "^3.0.1", + "socket.io-client": "^4.6.1", + "yup": "^1.0.2" + }, + "devDependencies": { + "@types/draft-js": "^0.11.10", + "@types/lodash": "^4.14.192", + "@types/node": "^20.0.0", + "@types/react": "^18.0.27", + "@types/react-dom": "^18.0.10", + "@types/react-syntax-highlighter": "^15.5.6", + "@types/react-window-infinite-loader": "^1.0.6", + "@typescript-eslint/eslint-plugin": "^5.59.2", + "@typescript-eslint/parser": "^5.59.2", + "@vitejs/plugin-react": "^3.1.0", + "@vitejs/plugin-react-swc": "^3.3.0", + "eslint": "^8.39.0", + "prettier": "^2.8.8", + "typescript": "^4.9.3", + "vite": "^4.1.0", + "vite-tsconfig-paths": "^4.0.5" + } +} diff --git a/src/chainlit/frontend/public/favicon.svg b/src/chainlit/frontend/public/favicon.svg new file mode 100644 index 0000000000..4da75b87bd --- /dev/null +++ b/src/chainlit/frontend/public/favicon.svg @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chainlit/frontend/src/App.css b/src/chainlit/frontend/src/App.css new file mode 100644 index 0000000000..88481081b7 --- /dev/null +++ b/src/chainlit/frontend/src/App.css @@ -0,0 +1,11 @@ +.markdown-body *:first-child { + margin-top: 0; +} + +.markdown-body *:last-child { + margin-bottom: 0; +} + +.markdown-body p { + white-space: break-spaces; +} diff --git a/src/chainlit/frontend/src/App.tsx b/src/chainlit/frontend/src/App.tsx new file mode 100644 index 0000000000..20060e37fa --- /dev/null +++ b/src/chainlit/frontend/src/App.tsx @@ -0,0 +1,146 @@ +import { Box } from '@mui/material'; +import './App.css'; +import { + createBrowserRouter, + Navigate, + RouterProvider +} from 'react-router-dom'; +import { useEffect } from 'react'; +import { useRecoilState, useRecoilValue, useSetRecoilState } from 'recoil'; +import { accessTokenState, roleState } from 'state/user'; +import { getProjectSettings, getRole } from 'api'; +import makeTheme from 'theme'; +import { ThemeProvider } from '@mui/material'; +import { themeState } from 'state/theme'; +import Home from 'pages/Home'; +import Element from 'pages/Element'; +import Login from 'pages/Login'; +import AuthCallback from 'pages/AuthCallback'; +import Dataset from 'pages/Dataset'; +import Conversation from 'pages/Conversation'; +import CloudProvider from 'components/cloudProvider'; +import Env from 'pages/Env'; +import { useAuth } from 'hooks/auth'; +import { projectSettingsState } from 'state/project'; +import Socket from 'components/socket'; +import { Toaster } from 'react-hot-toast'; + +const router = createBrowserRouter([ + { + path: '/', + element: + }, + { + path: '/env', + element: + }, + { + path: '/conversations/:id', + element: ( + + + + ) + }, + { + path: '/dataset', + element: + }, + { + path: '/element/:name', + element: + }, + { + path: '/login', + element: + }, + { + path: '/api/auth/callback', + element: + }, + { + path: '*', + element: + } +]); + +function App() { + const themeVariant = useRecoilValue(themeState); + const [pSettings, setPSettings] = useRecoilState(projectSettingsState); + const [accessToken, setAccessToken] = useRecoilState(accessTokenState); + const setRole = useSetRecoilState(roleState); + const { isAuthenticated, getAccessTokenSilently, logout } = useAuth(); + const theme = makeTheme(themeVariant); + + useEffect(() => { + document.body.style.backgroundColor = theme.palette.background.default; + }, [theme]); + + useEffect(() => { + if (pSettings === undefined) { + getProjectSettings().then((res) => { + document.title = res.appTitle; + setPSettings(res); + }); + } + }, []); + + useEffect(() => { + if (isAuthenticated && accessToken === undefined) { + getAccessTokenSilently({ + authorizationParams: { + audience: 'chainlit-cloud' + } + }) + .then((token) => setAccessToken(token)) + .catch((err) => { + console.error(err); + logout({ + logoutParams: { + returnTo: window.location.origin + } + }); + }); + } + }, [isAuthenticated, getAccessTokenSilently, accessToken, setAccessToken]); + + useEffect(() => { + if (!accessToken || !pSettings?.projectId) { + return; + } + getRole(pSettings.chainlitServer, accessToken, pSettings.projectId) + .then(async ({ role }) => { + setRole(role); + }) + .catch((err) => { + console.log(err); + setRole('ANONYMOUS'); + }); + }, [accessToken, pSettings]); + + return ( + + + + + + + + ); +} + +export default App; diff --git a/src/chainlit/frontend/src/api/index.ts b/src/chainlit/frontend/src/api/index.ts new file mode 100644 index 0000000000..d62918c537 --- /dev/null +++ b/src/chainlit/frontend/src/api/index.ts @@ -0,0 +1,91 @@ +import { IAction } from 'state/action'; +import { ILLMSettings } from 'state/chat'; +import { Role } from 'state/user'; + +// export const server = 'http://127.0.0.1:8000'; +export const server = ''; + +export const getProjectSettings = async () => { + const res = await fetch(`${server}/project/settings`, { + headers: { + 'content-type': 'application/json' + }, + method: 'GET' + }); + + return res.json(); +}; + +export const getCompletion = async ( + prompt: string, + settings: ILLMSettings, + userEnv = {} +) => { + const res = await fetch(`${server}/completion`, { + headers: { + 'content-type': 'application/json' + }, + method: 'POST', + body: JSON.stringify({ prompt, settings, userEnv }) + }); + + if (!res.ok) { + throw new Error(res.statusText); + } + + const completion = await res.text(); + return completion; +}; + +export const postMessage = async ( + sessionId: string, + author: string, + content: string +) => { + const res = await fetch(`${server}/message`, { + headers: { + 'content-type': 'application/json' + }, + method: 'POST', + body: JSON.stringify({ sessionId, author, content }) + }); + + if (!res.ok) { + throw new Error(res.statusText); + } + + return res.json(); +}; + +export const callAction = async (sessionId: string, action: IAction) => { + const res = await fetch(`${server}/action`, { + headers: { + 'content-type': 'application/json' + }, + method: 'POST', + body: JSON.stringify({ sessionId, action }) + }); + + if (!res.ok) { + throw new Error(res.statusText); + } + + return res.json(); +}; + +export const getRole = async ( + chainlitServer: string, + accessToken: string, + projectId: string +) => { + const res = await fetch(`${chainlitServer}/api/role`, { + headers: { + 'content-type': 'application/json', + Authorization: accessToken + }, + method: 'POST', + body: JSON.stringify({ projectId }) + }); + + return res.json() as Promise<{ role: Role }>; +}; diff --git a/src/chainlit/frontend/src/assets/logo_dark.svg b/src/chainlit/frontend/src/assets/logo_dark.svg new file mode 100644 index 0000000000..28e944b823 --- /dev/null +++ b/src/chainlit/frontend/src/assets/logo_dark.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chainlit/frontend/src/assets/logo_light.svg b/src/chainlit/frontend/src/assets/logo_light.svg new file mode 100644 index 0000000000..a877c1c988 --- /dev/null +++ b/src/chainlit/frontend/src/assets/logo_light.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/chainlit/frontend/src/components/Code.tsx b/src/chainlit/frontend/src/components/Code.tsx new file mode 100644 index 0000000000..777b92508b --- /dev/null +++ b/src/chainlit/frontend/src/components/Code.tsx @@ -0,0 +1,54 @@ +import { Box, useTheme } from '@mui/material'; +import { CodeProps } from 'react-markdown/lib/ast-to-react'; +import { Prism as SyntaxHighlighter } from 'react-syntax-highlighter'; +import { dracula } from 'react-syntax-highlighter/dist/esm/styles/prism'; + +export default function Code({ inline, children, ...props }: CodeProps) { + const theme = useTheme(); + + const match = /language-(\w+)/.exec(props.className || ''); + if (!inline && match) { + return ( + + ); + } else if (inline) { + return ( + + {children} + + ); + } else { + return ( + + + {children} + + + ); + } +} diff --git a/src/chainlit/frontend/src/components/accentButton.tsx b/src/chainlit/frontend/src/components/accentButton.tsx new file mode 100644 index 0000000000..50974a2c8f --- /dev/null +++ b/src/chainlit/frontend/src/components/accentButton.tsx @@ -0,0 +1,16 @@ +import Button, { ButtonProps } from '@mui/material/Button'; +import { useTheme } from '@mui/material'; + +export default function AccentButton({ children, ...props }: ButtonProps) { + const theme = useTheme(); + return ( + + + + ); +} diff --git a/src/chainlit/frontend/src/components/badge.tsx b/src/chainlit/frontend/src/components/badge.tsx new file mode 100644 index 0000000000..41ead0f69f --- /dev/null +++ b/src/chainlit/frontend/src/components/badge.tsx @@ -0,0 +1,33 @@ +import { Button, Box, Tooltip } from '@mui/material'; +import { Logo } from './logo'; +import { useRecoilValue } from 'recoil'; +import { projectSettingsState } from 'state/project'; + +export default function Badge() { + const pSettings = useRecoilValue(projectSettingsState); + + if (pSettings?.dev !== undefined && pSettings.dev) return null; + + return ( + + + + + + ); +} diff --git a/src/chainlit/frontend/src/components/button.tsx b/src/chainlit/frontend/src/components/button.tsx new file mode 100644 index 0000000000..c8e7fab170 --- /dev/null +++ b/src/chainlit/frontend/src/components/button.tsx @@ -0,0 +1,35 @@ +import Button, { ButtonProps } from '@mui/material/Button'; + +interface Props extends ButtonProps { + component?: any; + to?: any; +} + +export default function RegularButton({ children, ...props }: Props) { + return ( + + + + ); +} diff --git a/src/chainlit/frontend/src/components/chat/history/button.tsx b/src/chainlit/frontend/src/components/chat/history/button.tsx new file mode 100644 index 0000000000..ed4124dddb --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/history/button.tsx @@ -0,0 +1,237 @@ +/* eslint-disable @typescript-eslint/ban-ts-comment*/ + +import KeyboardDoubleArrowUpIcon from '@mui/icons-material/KeyboardDoubleArrowUp'; +import { + IconButton, + Menu, + MenuItem, + Stack, + Tooltip, + Typography +} from '@mui/material'; +import { useRecoilState } from 'recoil'; +import { IChat, historyOpenedState } from 'state/chat'; +import { useEffect, useRef, useState } from 'react'; +import SearchOutlined from '@mui/icons-material/SearchOutlined'; + +interface Props { + onClick: (content: string) => void; + onOpen: () => void; + chats?: IChat[]; +} + +function buildHistory(chats?: IChat[]) { + const history: Record< + string, + { + key: number; + hour: string; + content: string; + }[] + > = {}; + + chats?.forEach((c) => { + const dateOptions: Intl.DateTimeFormatOptions = { + day: 'numeric', + month: 'numeric', + year: 'numeric' + }; + const date = new Date(c.createdAt).toLocaleDateString( + undefined, + dateOptions + ); + if (!history[date]) { + history[date] = []; + } + + const timeOptions: Intl.DateTimeFormatOptions = { + hour: 'numeric', + minute: 'numeric' + }; + history[date].push({ + key: c.createdAt, + hour: new Date(c.createdAt).toLocaleTimeString(undefined, timeOptions), + content: c.messages[0].content + }); + }); + + return history; +} + +export default function HistoryButton({ onClick, onOpen, chats }: Props) { + const [open, setOpen] = useRecoilState(historyOpenedState); + const ref = useRef(); + const [anchorEl, setAnchorEl] = useState(null); + + useEffect(() => { + if (open) { + if (ref.current) { + setAnchorEl(ref.current); + onOpen(); + } + } + }, [open]); + + const header = ( + // @ts-ignore + + + Last messages + + + + ); + + const empty = + chats?.length === 0 ? ( + // @ts-ignore +
+ + Such empty... + +
+ ) : null; + + const loading = !chats ? ( + // @ts-ignore +
+ + Loading... + +
+ ) : null; + + const menuEls: (JSX.Element | null)[] = [header, empty, loading]; + + if (chats) { + const history = buildHistory(chats); + Object.keys(history).forEach((date) => { + menuEls.push( + // @ts-ignore +
+ + {date} + +
+ ); + let prev = ''; + history[date].forEach((h) => { + if (prev === h.content) { + return; + } + prev = h.content; + menuEls.push( + { + e.stopPropagation(); + e.preventDefault(); + setOpen(false); + onClick(h.content); + }} + disableRipple + key={h.key} + sx={{ + p: 1, + alignItems: 'baseline', + borderRadius: '4px' + }} + > + + {h.content} + + + ); + }); + }); + } + + const menu = ( + setOpen(false)} + PaperProps={{ + sx: { + p: 1, + backgroundImage: 'none', + mt: -2, + ml: -1, + overflow: 'visible', + maxHeight: '314px', + width: '334px', + overflowY: 'scroll', + border: (theme) => `1px solid ${theme.palette.divider}`, + boxShadow: (theme) => + theme.palette.mode === 'light' + ? '0px 2px 4px 0px #0000000D' + : '0px 10px 10px 0px #0000000D' + } + }} + anchorOrigin={{ vertical: 'top', horizontal: 'left' }} + transformOrigin={{ vertical: 'bottom', horizontal: 'left' }} + > + {menuEls} + + ); + + return ( +
+ {menu} + + setOpen(!open)} ref={ref}> + + + +
+ ); +} diff --git a/src/chainlit/frontend/src/components/chat/history/cloud.tsx b/src/chainlit/frontend/src/components/chat/history/cloud.tsx new file mode 100644 index 0000000000..5e19877a00 --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/history/cloud.tsx @@ -0,0 +1,57 @@ +import { useRecoilValue } from 'recoil'; +import CloudProvider from 'components/cloudProvider'; +import { gql, useLazyQuery } from '@apollo/client'; +import { useAuth0 } from '@auth0/auth0-react'; +import { projectSettingsState } from 'state/project'; +import HistoryButton from './button'; + +const ConversationsQuery = gql` + query ($first: Int, $projectId: String!, $authorEmail: String) { + conversations( + first: $first + projectId: $projectId + authorEmail: $authorEmail + ) { + edges { + cursor + node { + id + createdAt + messages { + content + } + } + } + } + } +`; + +interface Props { + onClick: (content: string) => void; +} + +function _CloudHistoryButton({ onClick }: Props) { + const { user } = useAuth0(); + const pSettings = useRecoilValue(projectSettingsState); + const [_, { data, refetch }] = useLazyQuery(ConversationsQuery, { + variables: { + first: 30, + projectId: pSettings?.projectId, + authorEmail: user?.email + } + }); + + const chats = data?.conversations.edges + .map((e: any) => e.node) + .filter((c: any) => c.messages.length > 0); + + return ; +} + +export default function CloudHistoryButton({ onClick }: Props) { + return ( + + <_CloudHistoryButton onClick={onClick} /> + + ); +} diff --git a/src/chainlit/frontend/src/components/chat/history/index.tsx b/src/chainlit/frontend/src/components/chat/history/index.tsx new file mode 100644 index 0000000000..63faa410b5 --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/history/index.tsx @@ -0,0 +1,21 @@ +import { useAuth } from 'hooks/auth'; +import { useRecoilValue } from 'recoil'; +import { projectSettingsState } from 'state/project'; +import LocalHistoryButton from './local'; +import CloudHistoryButton from './cloud'; +import { memo } from 'react'; +import { CircularProgress } from '@mui/material'; + +interface Props { + onClick: (content: string) => void; +} + +export default memo(function ChatHistory({ onClick }: Props) { + const pSettings = useRecoilValue(projectSettingsState); + + if (pSettings?.public === false) { + return ; + } else { + return ; + } +}); diff --git a/src/chainlit/frontend/src/components/chat/history/local.tsx b/src/chainlit/frontend/src/components/chat/history/local.tsx new file mode 100644 index 0000000000..3f8f90f729 --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/history/local.tsx @@ -0,0 +1,16 @@ +import { useCallback } from 'react'; +import HistoryButton from './button'; +import useLocalChatHistory from 'hooks/localChatHistory'; + +interface Props { + onClick: (content: string) => void; +} + +export default function LocalHistoryButton({ onClick }: Props) { + const { getLocalChatHistory } = useLocalChatHistory(); + const chats = getLocalChatHistory(); + const onOpen = useCallback(() => { + return getLocalChatHistory(); + }, []); + return ; +} diff --git a/src/chainlit/frontend/src/components/chat/index.tsx b/src/chainlit/frontend/src/components/chat/index.tsx new file mode 100644 index 0000000000..75cfbbdf23 --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/index.tsx @@ -0,0 +1,119 @@ +import { postMessage } from 'api'; +import { Alert, Box } from '@mui/material'; +import MessageContainer from './message/container'; +import { useRecoilState, useRecoilValue } from 'recoil'; +import { + IMessage, + askUserState, + messagesState, + sessionState +} from 'state/chat'; +import Playground from 'components/playground'; +import SideView from 'components/element/sideView'; +import InputBox from './inputBox'; +import { useCallback, useState } from 'react'; +import { toast } from 'react-hot-toast'; +import { projectSettingsState } from 'state/project'; +import { useAuth } from 'hooks/auth'; +import useLocalChatHistory from 'hooks/localChatHistory'; +import { actionState } from 'state/action'; +import WelcomeScreen from 'components/chat/welcomeScreen'; +import { elementState } from 'state/element'; +import ErrorBoundary from 'components/errorBoundary'; + +const Chat = () => { + const { user, isAuthenticated } = useAuth(); + const session = useRecoilValue(sessionState); + const [askUser, setAskUser] = useRecoilState(askUserState); + const [messages, setMessages] = useRecoilState(messagesState); + const elements = useRecoilValue(elementState); + const actions = useRecoilValue(actionState); + const pSettings = useRecoilValue(projectSettingsState); + const { persistChatLocally } = useLocalChatHistory(); + const [autoScroll, setAutoScroll] = useState(true); + + const onSubmit = useCallback( + async (msg: string) => { + const sessionId = session?.socket.id; + + if (!sessionId) { + return; + } + + const message: IMessage = { + author: user?.name || 'User', + authorIsUser: true, + content: msg, + createdAt: Date.now() + }; + + if (!isAuthenticated || !pSettings?.projectId) { + persistChatLocally(msg); + } + + setAutoScroll(true); + setMessages((oldMessages) => [...oldMessages, message]); + try { + await postMessage(sessionId, message.author, msg); + } catch (err) { + if (err instanceof Error) { + toast.error(err.message); + } + } + }, + [user, session, isAuthenticated, pSettings] + ); + + const onReply = useCallback( + async (msg: string) => { + if (!askUser) return; + const message = { + author: user?.name || 'User', + authorIsUser: true, + content: msg, + createdAt: Date.now() + }; + + askUser.callback({ author: message.author, content: message.content }); + + setAutoScroll(true); + setMessages((oldMessages) => [...oldMessages, message]); + setAskUser(undefined); + }, + [askUser, user] + ); + + return ( + + + + + {session?.error && ( + Could not reach the server. + )} + {!!messages.length && ( + + + + )} + {!messages.length && } + + + + + ); +}; + +export default Chat; diff --git a/src/chainlit/frontend/src/components/chat/inputBox/index.tsx b/src/chainlit/frontend/src/components/chat/inputBox/index.tsx new file mode 100644 index 0000000000..86f72f945f --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/inputBox/index.tsx @@ -0,0 +1,48 @@ +import { Box, Typography } from '@mui/material'; +import { useRecoilValue } from 'recoil'; +import { tokenCountState } from 'state/chat'; +import StopButton from 'components/chat/stopButton'; +import Input from './input'; +import WaterMark from './waterMark'; + +interface Props { + onSubmit: (message: string) => void; + onReply: (message: string) => void; +} + +export default function InputBox({ onSubmit, onReply }: Props) { + const tokenCount = useRecoilValue(tokenCountState); + + return ( + + + + + {/* {tokenCount > 0 && ( */} + {/* + + Token usage: {tokenCount} + + */} + {/* )} */} + + + + ); +} diff --git a/src/chainlit/frontend/src/components/chat/inputBox/input.tsx b/src/chainlit/frontend/src/components/chat/inputBox/input.tsx new file mode 100644 index 0000000000..8418defd4e --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/inputBox/input.tsx @@ -0,0 +1,138 @@ +import SendIcon from '@mui/icons-material/Telegram'; +import { IconButton, TextField } from '@mui/material'; +import InputAdornment from '@mui/material/InputAdornment'; +import { useCallback, useEffect, useRef, useState } from 'react'; +import { useRecoilValue, useSetRecoilState } from 'recoil'; +import { + askUserState, + historyOpenedState, + loadingState, + sessionState +} from 'state/chat'; +import HistoryButton from 'components/chat/history'; + +interface Props { + onSubmit: (message: string) => void; + onReply: (message: string) => void; +} + +function getLineCount(el: HTMLDivElement) { + const textarea = el.querySelector('textarea'); + if (!textarea) { + return 0; + } + const lines = textarea.value.split('\n'); + return lines.length; +} + +const Input = ({ onSubmit, onReply }: Props) => { + const ref = useRef(null); + const hSetOpen = useSetRecoilState(historyOpenedState); + const loading = useRecoilValue(loadingState); + const askUser = useRecoilValue(askUserState); + const session = useRecoilValue(sessionState); + const [value, setValue] = useState(''); + + const socketOk = session?.socket && !session?.error; + const disabled = !socketOk || loading || askUser?.spec.type === 'file'; + + useEffect(() => { + if (ref.current && !loading && !disabled) { + ref.current.querySelector('textarea')?.focus(); + } + }, [loading, disabled]); + + const submit = useCallback(() => { + if (value === '' || disabled) { + return; + } + if (askUser) { + onReply(value); + } else { + onSubmit(value); + } + setValue(''); + }, [value, disabled, setValue, askUser, onSubmit]); + + const handleKeyDown = useCallback( + (e: React.KeyboardEvent) => { + if (e.key === 'Enter' && !e.shiftKey) { + e.preventDefault(); + submit(); + } else if (e.key === 'ArrowUp') { + const lineCount = getLineCount(e.currentTarget as HTMLDivElement); + if (lineCount <= 1) { + hSetOpen(true); + } + } + }, + [submit, hSetOpen] + ); + + const onHistoryClick = useCallback((content: string) => { + if (ref.current) { + setValue(content); + } + }, []); + + const endAdornment = ( + submit()}> + + + ); + + return ( + setValue(e.target.value)} + onKeyDown={handleKeyDown} + value={value} + fullWidth + InputProps={{ + disableUnderline: true, + startAdornment: ( + + + + ), + endAdornment: ( + + {endAdornment} + + ) + }} + sx={{ + backgroundColor: 'background.paper', + borderRadius: 1, + border: (theme) => `1px solid ${theme.palette.divider}`, + boxShadow: 'box-shadow: 0px 2px 4px 0px #0000000D', + + textarea: { + height: '34px', + maxHeight: '30vh', + overflowY: 'scroll !important', + resize: 'none', + paddingBottom: '0.75rem', + paddingTop: '0.75rem', + color: 'text.primary', + lineHeight: '24px' + } + }} + /> + ); +}; + +export default Input; diff --git a/src/chainlit/frontend/src/components/chat/inputBox/waterMark.tsx b/src/chainlit/frontend/src/components/chat/inputBox/waterMark.tsx new file mode 100644 index 0000000000..607d1a82c4 --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/inputBox/waterMark.tsx @@ -0,0 +1,26 @@ +import { Stack, Typography } from '@mui/material'; +import { Logo } from 'components/logo'; + +export default function WaterMark() { + return ( + +
+ + Built with + + + + + ); +} diff --git a/src/chainlit/frontend/src/components/chat/message/actionRef.tsx b/src/chainlit/frontend/src/components/chat/message/actionRef.tsx new file mode 100644 index 0000000000..7d15403d82 --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/message/actionRef.tsx @@ -0,0 +1,51 @@ +import { LoadingButton } from '@mui/lab'; +import { Tooltip } from '@mui/material'; +import { IAction } from 'state/action'; +import { callAction } from 'api'; +import { toast } from 'react-hot-toast'; +import { useRecoilValue } from 'recoil'; +import { loadingState, sessionState } from 'state/chat'; +import { useCallback } from 'react'; + +interface Props { + action: IAction; +} + +export default function ActionRef({ action }: Props) { + const loading = useRecoilValue(loadingState); + const session = useRecoilValue(sessionState); + + const call = useCallback(async () => { + try { + const sessionId = session?.socket.id; + + if (!sessionId) { + return; + } + await callAction(sessionId, action); + } catch (err) { + if (err instanceof Error) { + toast.error(err.message); + } + } + }, [session]); + + const button = ( + + {action.trigger} + + ); + if (action.description) { + return ( + + {button} + + ); + } else { + return button; + } +} diff --git a/src/chainlit/frontend/src/components/chat/message/author.tsx b/src/chainlit/frontend/src/components/chat/message/author.tsx new file mode 100644 index 0000000000..74447646f6 --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/message/author.tsx @@ -0,0 +1,54 @@ +import { Box, Tooltip, Typography } from '@mui/material'; +import MessageTime from './time'; +import { useColorForName } from 'helpers/color'; +import { IMessage } from 'state/chat'; + +interface Props { + message: IMessage; + show?: boolean; +} + +export const authorBoxWidth = 70; + +export default function Author({ message, show }: Props) { + const getColorForName = useColorForName(); + + const name = show && ( + + + {message.author} + + + ); + + return ( + <> + + {name} + + + {!!message.indent && ( + + )} + + ); +} diff --git a/src/chainlit/frontend/src/components/chat/message/buttons.tsx b/src/chainlit/frontend/src/components/chat/message/buttons.tsx new file mode 100644 index 0000000000..cb9b7a4e1d --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/message/buttons.tsx @@ -0,0 +1,50 @@ +import { IMessage } from 'state/chat'; +import EditIcon from '@mui/icons-material/EditOutlined'; +import FeedbackButtons from 'components/chat/message/feedbackButtons'; +import { useSetRecoilState } from 'recoil'; +import { playgroundState } from 'state/playground'; +import { IconButton, Stack, Tooltip } from '@mui/material'; + +interface Props { + message: IMessage; +} + +export default function Buttons({ message }: Props) { + const setPlayground = useSetRecoilState(playgroundState); + + const showEditButton = !!message.prompt && !!message.content; + + const editButton = showEditButton && ( + + { + if (!message.prompt) return; + setPlayground({ + llmSettings: message.llmSettings, + prompt: message.prompt, + completion: message.content! + }); + }} + > + + + + ); + + const showFeedbackButtons = + !!message.id && + !message.authorIsUser && + !message.waitForAnswer && + !!message.content; + + if (!showEditButton && !showFeedbackButtons) return null; + + return ( + + {editButton} + {showFeedbackButtons && } + + ); +} diff --git a/src/chainlit/frontend/src/components/chat/message/container.tsx b/src/chainlit/frontend/src/components/chat/message/container.tsx new file mode 100644 index 0000000000..407a04741c --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/message/container.tsx @@ -0,0 +1,103 @@ +import { Box } from '@mui/material'; +import { useEffect, useRef } from 'react'; +import { IMessage, INestedMessage } from 'state/chat'; +import { IElements } from 'state/element'; +import Messages from './messages'; +import { IActions } from 'state/action'; + +interface Props { + messages: IMessage[]; + elements: IElements; + actions: IActions; + autoScroll?: boolean; + setAutoSroll?: (autoScroll: boolean) => void; +} + +function nestMessages(messages: IMessage[]): INestedMessage[] { + const nestedMessages: INestedMessage[] = []; + const parentStack: INestedMessage[] = []; + + for (const message of messages) { + const nestedMessage: INestedMessage = { ...message }; + const messageIndent = message.indent || 0; + + if (messageIndent && !message.authorIsUser && !message.waitForAnswer) { + while ( + parentStack.length > 0 && + (parentStack[parentStack.length - 1].indent || 0) >= messageIndent + ) { + parentStack.pop(); + } + + const currentParent = parentStack[parentStack.length - 1]; + + if (currentParent) { + if (!currentParent.subMessages) { + currentParent.subMessages = []; + } + currentParent.subMessages.push(nestedMessage); + } + } else { + nestedMessages.push(nestedMessage); + } + + parentStack.push(nestedMessage); + } + + return nestedMessages; +} + +const MessageContainer = ({ + messages, + elements, + actions, + autoScroll, + setAutoSroll +}: Props) => { + const ref = useRef(); + const nestedMessages = nestMessages(messages); + + useEffect(() => { + if (!ref.current || !autoScroll) { + return; + } + ref.current.scrollTop = ref.current.scrollHeight; + }, [messages, autoScroll]); + + useEffect(() => { + if (!ref.current || !setAutoSroll) { + return; + } + + const handleScroll = () => { + if (!ref.current) return; + const { scrollTop, scrollHeight, clientHeight } = ref.current; + const atBottom = scrollTop + clientHeight >= scrollHeight - 10; + setAutoSroll(atBottom); + }; + ref.current.addEventListener('scroll', handleScroll); + return () => { + ref.current?.removeEventListener('scroll', handleScroll); + }; + }, []); + + return ( + + + + ); +}; + +export default MessageContainer; diff --git a/src/chainlit/frontend/src/components/chat/message/content.tsx b/src/chainlit/frontend/src/components/chat/message/content.tsx new file mode 100644 index 0000000000..c4f051334c --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/message/content.tsx @@ -0,0 +1,119 @@ +import { ReactMarkdown } from 'react-markdown/lib/react-markdown'; +import remarkGfm from 'remark-gfm'; +import { Typography, Link, Stack } from '@mui/material'; +import { IElements } from 'state/element'; +import InlinedElements from '../../element/inlined'; +import { memo } from 'react'; +import { IActions } from 'state/action'; +import ElementRef from './elementRef'; +import ActionRef from './actionRef'; +import Code from 'components/Code'; + +interface Props { + content?: string; + elements: IElements; + actions: IActions; + language?: string; + authorIsUser?: boolean; +} + +function prepareContent({ elements, actions, content, language }: Props) { + const elementNames = Object.keys(elements); + const elementRegexp = elementNames.length + ? new RegExp(`(${elementNames.join('|')})`, 'g') + : undefined; + + const actionContents = Object.values(actions).map((a) => a.trigger); + const actionRegexp = actionContents.length + ? new RegExp(`(${actionContents.join('|')})`, 'g') + : undefined; + + let preparedContent = content ? content.trim() : ''; + const inlinedelements: IElements = {}; + + if (elementRegexp) { + preparedContent = preparedContent.replaceAll(elementRegexp, (match) => { + if (elements[match].display === 'inline') { + inlinedelements[match] = elements[match]; + } + // spaces break markdown links. The address in the link is not used anyway + return `[${match}](${match.replaceAll(' ', '_')})`; + }); + } + + if (actionRegexp) { + preparedContent = preparedContent.replaceAll(actionRegexp, (match) => { + // spaces break markdown links. The address in the link is not used anyway + return `[${match}](${match.replaceAll(' ', '_')})`; + }); + } + + if (language) { + preparedContent = `\`\`\`${language}\n${preparedContent}\n\`\`\``; + } + + return { preparedContent, inlinedelements }; +} + +export default memo(function MessageContent({ + content, + elements, + actions, + language, + authorIsUser +}: Props) { + const { preparedContent, inlinedelements } = prepareContent({ + content, + language, + elements, + actions + }); + + if (!preparedContent) return null; + return ( + + + a.trigger === name + ); + + if (element) { + return ; + } else if (action) { + return ; + } else { + return ( + + {children} + + ); + } + }, + code({ ...props }) { + return ; + } + }} + > + {preparedContent} + + + + + ); +}); diff --git a/src/chainlit/frontend/src/components/chat/message/detailsButton.tsx b/src/chainlit/frontend/src/components/chat/message/detailsButton.tsx new file mode 100644 index 0000000000..f667aead7c --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/message/detailsButton.tsx @@ -0,0 +1,74 @@ +import ExpandMoreIcon from '@mui/icons-material/ExpandMore'; +import ExpandLessIcon from '@mui/icons-material/ExpandLess'; +import { INestedMessage } from 'state/chat'; +import GreyButton from 'components/greyButton'; +import { useRecoilValue } from 'recoil'; +import { projectSettingsState } from 'state/project'; +import CircularProgress from '@mui/material/CircularProgress'; + +interface Props { + message: INestedMessage; + opened: boolean; + loading?: boolean; + onClick: () => void; +} + +export default function DetailsButton({ + message, + opened, + onClick, + loading +}: Props) { + const pSettings = useRecoilValue(projectSettingsState); + + const nested = !!message.subMessages?.length; + + const tool = nested ? message.subMessages![0].author : undefined; + + const show = + nested || (loading && (!message.content || message.authorIsUser)); + + if (!show || pSettings?.hideCot) { + return null; + } + + const text = loading ? (tool ? `Using ${tool}` : 'Running') : `Used ${tool}`; + + let id = ''; + if (tool) { + id = tool.trim().toLowerCase().replaceAll(' ', '-'); + } + if (loading) { + id += '-loading'; + } else { + id += '-done'; + } + + return ( + : undefined + } + variant="contained" + endIcon={ + nested && tool ? ( + opened ? ( + + ) : ( + + ) + ) : undefined + } + onClick={tool ? onClick : undefined} + > + {text} + + ); +} diff --git a/src/chainlit/frontend/src/components/chat/message/elementRef.tsx b/src/chainlit/frontend/src/components/chat/message/elementRef.tsx new file mode 100644 index 0000000000..8f65ab67ce --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/message/elementRef.tsx @@ -0,0 +1,31 @@ +import { IElement, sideViewState } from 'state/element'; +import { Link as RRLink } from 'react-router-dom'; +import { Link } from '@mui/material'; +import { useSetRecoilState } from 'recoil'; + +interface Props { + element: IElement; +} + +export default function ElementRef({ element }: Props) { + const setSideView = useSetRecoilState(sideViewState); + + if (element.display === 'inline') { + return {element.name}; + } + + return ( + { + if (element.display === 'side') { + setSideView(element); + } + }} + component={RRLink} + to={element.display === 'page' ? `/element/${element.name}` : '#'} + > + {element.name} + + ); +} diff --git a/src/chainlit/frontend/src/components/chat/message/feedbackButtons.tsx b/src/chainlit/frontend/src/components/chat/message/feedbackButtons.tsx new file mode 100644 index 0000000000..54eba30307 --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/message/feedbackButtons.tsx @@ -0,0 +1,86 @@ +import CloudProvider from 'components/cloudProvider'; +import { IconButton, Stack, Tooltip } from '@mui/material'; +import { gql, useMutation } from '@apollo/client'; +import { IMessage } from 'state/chat'; +import toast from 'react-hot-toast'; +import { getErrorMessage } from 'helpers/apollo'; +import { useState } from 'react'; +import ThumbDownAlt from '@mui/icons-material/ThumbDownAlt'; +import ThumbDownAltOutlined from '@mui/icons-material/ThumbDownAltOutlined'; +import ThumbUpAlt from '@mui/icons-material/ThumbUpAlt'; +import ThumbUpAltOutlined from '@mui/icons-material/ThumbUpAltOutlined'; + +const size = '16px'; + +const SetHumanFeedbackMutation = gql` + mutation ($messageId: ID!, $humanFeedback: Int!) { + setHumanFeedback(messageId: $messageId, humanFeedback: $humanFeedback) { + id + humanFeedback + } + } +`; + +interface Props { + message: IMessage; +} + +function _FeedbackButtons({ message }: Props) { + const [feedback, setFeedback] = useState(message.humanFeedback || 0); + const [setHumanFeedbackMutation] = useMutation(SetHumanFeedbackMutation); + const DownIcon = feedback === -1 ? ThumbDownAlt : ThumbDownAltOutlined; + const UpIcon = feedback === 1 ? ThumbUpAlt : ThumbUpAltOutlined; + + const onClick = async (value: number) => { + try { + await toast.promise( + setHumanFeedbackMutation({ + variables: { + messageId: message.id, + humanFeedback: value + } + }), + { + loading: 'Updating...', + success: 'Feedback updated!', + error: (err) => { + return {getErrorMessage(err)}; + } + } + ); + setFeedback(value); + message.humanFeedback = value; + } catch (err) { + console.log(err); + } + }; + + return ( + + + onClick(feedback === -1 ? 0 : -1)} + size="small" + > + + + + + onClick(feedback === 1 ? 0 : 1)} + size="small" + > + + + + + ); +} + +export default function FeedbackButtons(props: Props) { + return ( + + <_FeedbackButtons {...props} /> + + ); +} diff --git a/src/chainlit/frontend/src/components/chat/message/message.tsx b/src/chainlit/frontend/src/components/chat/message/message.tsx new file mode 100644 index 0000000000..f5094902a3 --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/message/message.tsx @@ -0,0 +1,96 @@ +import { Box, Stack } from '@mui/material'; +import { INestedMessage } from 'state/chat'; +import { IElements } from 'state/element'; +import { useState } from 'react'; +import DetailsButton from 'components/chat/message/detailsButton'; +import Messages from './messages'; +import MessageContent from './content'; +import UploadButton from './uploadButton'; +import { IActions } from 'state/action'; +import Author, { authorBoxWidth } from './author'; +import Buttons from './buttons'; + +interface Props { + message: INestedMessage; + elements: IElements; + actions: IActions; + indent: number; + showAvatar?: boolean; + showBorder?: boolean; + isRunning?: boolean; + isLast?: boolean; +} + +const Message = ({ + message, + elements, + actions, + indent, + showAvatar, + showBorder, + isRunning, + isLast +}: Props) => { + const [showDetails, setShowDetails] = useState(false); + + return ( + + + + showBorder ? `1px solid ${theme.palette.divider}` : 'none' + }} + > + + + + setShowDetails(!showDetails)} + loading={isRunning} + /> + {!isRunning && isLast && message.waitForAnswer && } + + + + + {message.subMessages && showDetails && ( + + )} + + ); +}; + +export default Message; diff --git a/src/chainlit/frontend/src/components/chat/message/messages.tsx b/src/chainlit/frontend/src/components/chat/message/messages.tsx new file mode 100644 index 0000000000..29a91bdd7e --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/message/messages.tsx @@ -0,0 +1,59 @@ +import { INestedMessage, loadingState } from 'state/chat'; +import Message from './message'; +import { IElements } from 'state/element'; +import { useRecoilValue } from 'recoil'; +import { IActions } from 'state/action'; + +interface Props { + messages: INestedMessage[]; + elements: IElements; + actions: IActions; + indent: number; + isRunning?: boolean; +} + +export default function Messages({ + messages, + elements, + actions, + indent, + isRunning +}: Props) { + const loading = useRecoilValue(loadingState); + let previousAuthor = ''; + const filtered = messages.filter((m, i) => { + const hasContent = !!m.content; + const hasChildren = !!m.subMessages?.length; + const isLast = i === messages.length - 1; + const _isRunning = + isRunning === undefined ? loading && isLast : isRunning && isLast; + return hasContent || hasChildren || (!hasContent && _isRunning); + }); + return ( + <> + {filtered.map((m, i) => { + const isLast = i === filtered.length - 1; + const _isRunning = + isRunning === undefined ? loading && isLast : isRunning && isLast; + const showAvatar = m.author !== previousAuthor; + // const nextAuthor = filtered[i + 1]?.author; + // const showBorder = m.author !== nextAuthor && (!isLast || !!indent); + const showBorder = false; + previousAuthor = m.author; + return ( + + ); + })} + + ); +} diff --git a/src/chainlit/frontend/src/components/chat/message/time.tsx b/src/chainlit/frontend/src/components/chat/message/time.tsx new file mode 100644 index 0000000000..a7a26e3b5d --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/message/time.tsx @@ -0,0 +1,20 @@ +import { Typography } from '@mui/material'; + +interface Props { + timestamp: number; +} + +export default function MessageTime({ timestamp }: Props) { + if (!timestamp) return null; + const dateOptions: Intl.DateTimeFormatOptions = { + hour: '2-digit', + minute: '2-digit', + second: '2-digit' + }; + const date = new Date(timestamp).toLocaleTimeString(undefined, dateOptions); + return ( + + {date} + + ); +} diff --git a/src/chainlit/frontend/src/components/chat/message/uploadButton.tsx b/src/chainlit/frontend/src/components/chat/message/uploadButton.tsx new file mode 100644 index 0000000000..2d51787710 --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/message/uploadButton.tsx @@ -0,0 +1,116 @@ +import { useRecoilValue, useSetRecoilState } from 'recoil'; +import { IAsk, askUserState } from 'state/chat'; +import { useCallback, useState } from 'react'; +import { + useDropzone, + DropzoneOptions, + FileRejection, + FileWithPath +} from 'react-dropzone'; +import Stack from '@mui/material/Stack'; +import Typography from '@mui/material/Typography'; +import { toast } from 'react-hot-toast'; +import CloudUploadOutlined from '@mui/icons-material/CloudUploadOutlined'; +import { LoadingButton } from '@mui/lab'; + +interface Props { + askUser: IAsk; +} + +function _UploadButton({ askUser }: Props) { + const setAskUser = useSetRecoilState(askUserState); + const [uploading, setUploading] = useState(false); + + const onDrop: DropzoneOptions['onDrop'] = useCallback( + (acceptedFiles: FileWithPath[], fileRejections: FileRejection[]) => { + const file = acceptedFiles[0]; + const rejection = fileRejections[0]; + + if (rejection) { + toast.error(rejection.errors[0].message); + } + if (file) { + setUploading(true); + const reader = new FileReader(); + + reader.onload = function (e) { + const rawData = e.target?.result; + const payload = { + path: file.path, + name: file.name, + size: file.size, + type: file.type, + content: rawData as ArrayBuffer + }; + askUser?.callback(payload); + setUploading(false); + setAskUser(undefined); + }; + + reader.onerror = function () { + if (!reader.error) return; + toast.error(reader.error.message); + setUploading(false); + }; + + reader.readAsArrayBuffer(acceptedFiles[0]); + } + }, + [askUser] + ); + + if (!askUser.spec.accept || !askUser.spec.max_size_mb) return null; + + const dzAccept: Record = {}; + const accept = askUser.spec.accept; + accept.forEach((a) => (dzAccept[a] = [])); + const maxSize = askUser.spec.max_size_mb; + + const { getRootProps, getInputProps } = useDropzone({ + onDrop, + maxFiles: 1, + accept: dzAccept, + maxSize: maxSize * 1000000 + }); + + return ( + theme.palette.divider, + boxSizing: 'border-box' + }} + direction="row" + alignItems="center" + padding={2} + {...getRootProps({ className: 'dropzone' })} + > + + + + Drag and drop files here + + Limit {maxSize}mb. + + + + Browse Files + + + ); +} + +export default function UploadButton() { + const askUser = useRecoilValue(askUserState); + + if (askUser?.spec.type !== 'file') { + return null; + } + + return <_UploadButton askUser={askUser} />; +} diff --git a/src/chainlit/frontend/src/components/chat/stopButton.tsx b/src/chainlit/frontend/src/components/chat/stopButton.tsx new file mode 100644 index 0000000000..203aa4cbac --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/stopButton.tsx @@ -0,0 +1,33 @@ +import CloseIcon from '@mui/icons-material/Close'; +import { Box } from '@mui/material'; +import { useRecoilState, useRecoilValue } from 'recoil'; +import { loadingState, sessionState } from 'state/chat'; +import { projectSettingsState } from 'state/project'; +import GreyButton from 'components/greyButton'; + +export default function StopButton() { + const [loading, setLoading] = useRecoilState(loadingState); + const pSettings = useRecoilValue(projectSettingsState); + const session = useRecoilValue(sessionState); + + if (!loading || pSettings?.hideCot) { + return null; + } + + const handleClick = () => { + setLoading(false); + session?.socket.emit('stop'); + }; + + return ( + + } + variant="contained" + onClick={handleClick} + > + Stop task + + + ); +} diff --git a/src/chainlit/frontend/src/components/chat/welcomeScreen.tsx b/src/chainlit/frontend/src/components/chat/welcomeScreen.tsx new file mode 100644 index 0000000000..bd000fde7e --- /dev/null +++ b/src/chainlit/frontend/src/components/chat/welcomeScreen.tsx @@ -0,0 +1,56 @@ +import { Box, Link } from '@mui/material'; +import { useRecoilValue } from 'recoil'; +import { projectSettingsState } from 'state/project'; +import { ReactMarkdown } from 'react-markdown/lib/react-markdown'; +import remarkGfm from 'remark-gfm'; +import Code from 'components/Code'; + +const WelcomeScreen = () => { + const pSettings = useRecoilValue(projectSettingsState); + + if (!pSettings?.chainlitMd) { + return ; + } + + return ( + + + {pSettings?.chainlitMd ? ( + + {children} + + ); + }, + code({ ...props }) { + return ; + } + }} + > + {pSettings?.chainlitMd} + + ) : null} + + + ); +}; + +export default WelcomeScreen; diff --git a/src/chainlit/frontend/src/components/cloudProvider.tsx b/src/chainlit/frontend/src/components/cloudProvider.tsx new file mode 100644 index 0000000000..92f6fe9407 --- /dev/null +++ b/src/chainlit/frontend/src/components/cloudProvider.tsx @@ -0,0 +1,30 @@ +import { ApolloClient, InMemoryCache, ApolloProvider } from '@apollo/client'; +import { useAuth } from 'hooks/auth'; +import { memo } from 'react'; +import { useRecoilValue } from 'recoil'; +import { projectSettingsState } from 'state/project'; + +interface Props { + children: JSX.Element; +} + +export default memo(function CloudProvider({ children }: Props) { + const pSettings = useRecoilValue(projectSettingsState); + const { isProjectMember, accessToken } = useAuth(); + + if (pSettings?.public === true || isProjectMember === false) return null; + + if (!accessToken) { + return null; + } + + const apolloClient = new ApolloClient({ + uri: `${pSettings?.chainlitServer}/api/graphql`, + cache: new InMemoryCache(), + headers: { + Authorization: accessToken + } + }); + + return {children}; +}); diff --git a/src/chainlit/frontend/src/components/dataset/deleteConversationButton.tsx b/src/chainlit/frontend/src/components/dataset/deleteConversationButton.tsx new file mode 100644 index 0000000000..7f4949a666 --- /dev/null +++ b/src/chainlit/frontend/src/components/dataset/deleteConversationButton.tsx @@ -0,0 +1,108 @@ +import Button from '@mui/material/Button'; +import Dialog from '@mui/material/Dialog'; +import DialogActions from '@mui/material/DialogActions'; +import DialogContent from '@mui/material/DialogContent'; +import DialogContentText from '@mui/material/DialogContentText'; +import DialogTitle from '@mui/material/DialogTitle'; +import DeleteOutline from '@mui/icons-material/DeleteOutline'; +import { IconButton } from '@mui/material'; +import { useState } from 'react'; +import { gql, useMutation } from '@apollo/client'; +import toast from 'react-hot-toast'; +import { getErrorMessage } from 'helpers/apollo'; +import LoadingButton from '@mui/lab/LoadingButton'; + +const DeleteConversationMutation = gql` + mutation ($id: ID!) { + deleteConversation(id: $id) { + id + } + } +`; + +interface Props { + conversationId: string; + onDelete: () => void; +} + +export default function DeleteConversationButton({ + conversationId, + onDelete +}: Props) { + const [open, setOpen] = useState(false); + const [deleteConversation, { loading }] = useMutation( + DeleteConversationMutation + ); + + const handleClickOpen = () => { + setOpen(true); + }; + + const handleClose = () => { + setOpen(false); + }; + + const handleConfirm = async () => { + await toast.promise( + deleteConversation({ variables: { id: conversationId } }), + { + loading: 'Deleting conversation...', + success: 'Conversation deleted!', + error: (err) => { + return {getErrorMessage(err)}; + } + } + ); + onDelete(); + handleClose(); + }; + + return ( +
+ {/* + */} + + + + {/* + */} + {open && ( + + + {'Delete conversation?'} + + + + This will delete the conversation as well as it's messages and + elements. + + + + + + Confirm + + + + )} +
+ ); +} diff --git a/src/chainlit/frontend/src/components/dataset/filters/AuthorSelect.tsx b/src/chainlit/frontend/src/components/dataset/filters/AuthorSelect.tsx new file mode 100644 index 0000000000..473c2f7198 --- /dev/null +++ b/src/chainlit/frontend/src/components/dataset/filters/AuthorSelect.tsx @@ -0,0 +1,68 @@ +import Box from '@mui/material/Box'; +import InputLabel from '@mui/material/InputLabel'; +import MenuItem from '@mui/material/MenuItem'; +import FormControl from '@mui/material/FormControl'; +import Select, { SelectChangeEvent } from '@mui/material/Select'; +import { useRecoilState, useRecoilValue } from 'recoil'; +import { gql, useQuery } from '@apollo/client'; +import { datasetFiltersState } from 'state/dataset'; +import { projectSettingsState } from 'state/project'; + +const MembersQuery = gql` + query ($projectId: String!) { + projectMembers(projectId: $projectId) { + edges { + cursor + node { + role + user { + email + name + } + } + } + } + } +`; + +export default function AuthorSelect() { + const [df, setDf] = useRecoilState(datasetFiltersState); + const pSettings = useRecoilValue(projectSettingsState); + const { data, loading, error } = useQuery(MembersQuery, { + variables: { projectId: pSettings?.projectId } + }); + + if (loading || error) { + return null; + } + + const members = data.projectMembers.edges.map((e: any) => e.node); + + const handleChange = (event: SelectChangeEvent) => { + const value = event.target.value as string; + const authorEmail = value === 'All' ? undefined : value; + setDf({ ...df, authorEmail }); + }; + + return ( + + + Author + + + + ); +} diff --git a/src/chainlit/frontend/src/components/dataset/filters/FeedbackSelect.tsx b/src/chainlit/frontend/src/components/dataset/filters/FeedbackSelect.tsx new file mode 100644 index 0000000000..d43e65e1ef --- /dev/null +++ b/src/chainlit/frontend/src/components/dataset/filters/FeedbackSelect.tsx @@ -0,0 +1,36 @@ +import Box from '@mui/material/Box'; +import InputLabel from '@mui/material/InputLabel'; +import MenuItem from '@mui/material/MenuItem'; +import FormControl from '@mui/material/FormControl'; +import Select, { SelectChangeEvent } from '@mui/material/Select'; +import { useRecoilState } from 'recoil'; +import { datasetFiltersState } from 'state/dataset'; + +export default function FeedbackSelect() { + const [df, setDf] = useRecoilState(datasetFiltersState); + + const handleChange = (event: SelectChangeEvent) => { + const value = event.target.value as unknown as number; + const feedback = value === 0 ? undefined : value; + setDf({ ...df, feedback }); + }; + + return ( + + + Feedback + + + + ); +} diff --git a/src/chainlit/frontend/src/components/dataset/filters/SearchBar.tsx b/src/chainlit/frontend/src/components/dataset/filters/SearchBar.tsx new file mode 100644 index 0000000000..0a42bd8673 --- /dev/null +++ b/src/chainlit/frontend/src/components/dataset/filters/SearchBar.tsx @@ -0,0 +1,90 @@ +import { useRef } from 'react'; +import { styled } from '@mui/material/styles'; +import InputBase from '@mui/material/InputBase'; +import { debounce } from 'lodash'; +import SearchIcon from '@mui/icons-material/Search'; +import IconButton from '@mui/material/IconButton'; +import CloseIcon from '@mui/icons-material/Close'; +import { useRecoilState } from 'recoil'; +import { datasetFiltersState } from 'state/dataset'; + +const Search = styled('div')(({ theme }) => ({ + position: 'relative', + color: theme.palette.text.primary, + borderRadius: theme.shape.borderRadius, + border: `${theme.palette.divider} solid 1px`, + '&:hover': { + border: `${theme.palette.primary} solid 1px !important` + }, + + marginLeft: 0, + display: 'flex', + [theme.breakpoints.up('sm')]: { + width: 'auto' + } +})); + +const SearchIconWrapper = styled('div')(() => ({ + display: 'flex', + alignItems: 'center', + justifyContent: 'center' +})); + +const StyledInputBase = styled(InputBase)(({ theme }) => ({ + color: 'inherit', + '& .MuiInputBase-input': { + padding: theme.spacing(1, 1, 1, 0), + // vertical padding + font size from searchIcon + paddingLeft: `calc(1em + ${theme.spacing(3)})`, + transition: theme.transitions.create('width'), + width: '100%', + [theme.breakpoints.up('md')]: { + width: '20ch' + } + } +})); + +export default function SearchBar() { + const [df, setDf] = useRecoilState(datasetFiltersState); + + const handleChange = (value: string) => { + value = value.trim(); + const search = value === '' ? undefined : value; + setDf({ ...df, search }); + }; + + const _onChange = debounce(handleChange, 300); + const inputRef = useRef(); + + const clear = () => { + _onChange(''); + if (inputRef.current) { + inputRef.current.value = ''; + } + }; + + return ( + + + + + _onChange(e.target.value)} + /> + + + + + + + ); +} diff --git a/src/chainlit/frontend/src/components/dataset/filters/index.tsx b/src/chainlit/frontend/src/components/dataset/filters/index.tsx new file mode 100644 index 0000000000..c681832ff2 --- /dev/null +++ b/src/chainlit/frontend/src/components/dataset/filters/index.tsx @@ -0,0 +1,16 @@ +import { Stack } from '@mui/material'; +import AuthorSelect from './AuthorSelect'; +import FeedbackSelect from './FeedbackSelect'; +import SearchBar from './SearchBar'; + +export default function Filters() { + return ( + + + + + + + + ); +} diff --git a/src/chainlit/frontend/src/components/dataset/index.tsx b/src/chainlit/frontend/src/components/dataset/index.tsx new file mode 100644 index 0000000000..85df47da08 --- /dev/null +++ b/src/chainlit/frontend/src/components/dataset/index.tsx @@ -0,0 +1,21 @@ +import { Box } from '@mui/material'; +import Filters from './filters'; +import ConversationTable from './table'; + +export default function Conversation() { + return ( + + + + + + + ); +} diff --git a/src/chainlit/frontend/src/components/dataset/openConversationButton.tsx b/src/chainlit/frontend/src/components/dataset/openConversationButton.tsx new file mode 100644 index 0000000000..863b371d11 --- /dev/null +++ b/src/chainlit/frontend/src/components/dataset/openConversationButton.tsx @@ -0,0 +1,20 @@ +import VisibilityIcon from '@mui/icons-material/Visibility'; +import { IconButton } from '@mui/material'; +import { Link } from 'react-router-dom'; + +interface Props { + conversationId: string; +} + +export default function OpenConversationButton({ conversationId }: Props) { + return ( + + + + ); +} diff --git a/src/chainlit/frontend/src/components/dataset/table.tsx b/src/chainlit/frontend/src/components/dataset/table.tsx new file mode 100644 index 0000000000..22e62559f2 --- /dev/null +++ b/src/chainlit/frontend/src/components/dataset/table.tsx @@ -0,0 +1,260 @@ +import { gql, useQuery } from '@apollo/client'; +import { useRecoilValue } from 'recoil'; +import { Alert, Box, Stack, Typography } from '@mui/material'; +import InfiniteLoader from 'react-window-infinite-loader'; +import { FixedSizeList } from 'react-window'; +import AutoSizer from 'react-virtualized-auto-sizer'; +import DeleteConversationButton from './deleteConversationButton'; +import OpenConversationButton from './openConversationButton'; +import { useCallback, useEffect } from 'react'; +import { datasetFiltersState } from 'state/dataset'; +import { projectSettingsState } from 'state/project'; + +const ConversationsQuery = gql` + query ( + $first: Int + $projectId: String! + $cursor: String + $withFeedback: Int + $authorEmail: String + $search: String + ) { + conversations( + first: $first + cursor: $cursor + projectId: $projectId + withFeedback: $withFeedback + authorEmail: $authorEmail + search: $search + ) { + pageInfo { + endCursor + hasNextPage + } + edges { + cursor + node { + id + createdAt + elementCount + messageCount + author { + name + email + } + messages { + content + } + } + } + } + } +`; + +const updateQuery = (previousResult: any, { fetchMoreResult }: any) => { + if (!fetchMoreResult) { + return previousResult; + } + + const previousEdges = previousResult.conversations.edges; + const fetchMoreEdges = fetchMoreResult.conversations.edges; + + fetchMoreResult.conversations.edges = [...previousEdges, ...fetchMoreEdges]; + + return { ...fetchMoreResult }; +}; + +const BATCH_SIZE = 50; + +const serializeDate = (timestamp: number) => { + const dateOptions: Intl.DateTimeFormatOptions = { + year: 'numeric', + month: 'numeric', + day: 'numeric', + hour: 'numeric', + minute: 'numeric' + }; + return new Date(timestamp).toLocaleDateString(undefined, dateOptions); +}; + +export default function ConversationTable() { + const df = useRecoilValue(datasetFiltersState); + const pSettings = useRecoilValue(projectSettingsState); + const { data, loading, error, refetch, fetchMore } = useQuery( + ConversationsQuery, + { + variables: { + first: BATCH_SIZE, + projectId: pSettings?.projectId, + withFeedback: df.feedback, + authorEmail: df.authorEmail, + search: df.search + } + } + ); + + useEffect(() => { + refetch(); + }, [df]); + + const pageInfo = data?.conversations.pageInfo; + + const loadMoreItems = useCallback(() => { + if (data && fetchMore && pageInfo.hasNextPage) { + fetchMore({ + updateQuery, + variables: { + first: BATCH_SIZE, + cursor: pageInfo.endCursor, + projectId: pSettings?.projectId, + withFeedback: df.feedback, + authorEmail: df.authorEmail, + search: df.search + } + }); + } + }, [pageInfo, fetchMore, pSettings, df, updateQuery, data]); + + if (error) { + return {error.message}; + } + if (loading) { + return Loading...; + } + + const conversations = data.conversations.edges.map((e: any) => e.node); + const itemCount = conversations.length; + + if (itemCount === 0) { + return No result; + } + + const columns = { + Id: { + minWidth: '60px', + width: '5%' + }, + Author: { + minWidth: '130px', + width: '25%' + }, + Input: { + minWidth: '200px', + width: '35%' + }, + Date: { + minWidth: '120px', + width: '25%' + }, + Actions: { + minWidth: '80px', + width: '10%' + } + }; + + const RowText = ({ text, col }: any) => { + return ( + + {text} + + ); + }; + + const Row = ({ index, style }: any) => { + const conversation = conversations[index]; + return ( + `1px solid ${theme.palette.divider}` + }} + > + + + + + + + refetch()} + /> + + + ); + }; + + const Header = Object.entries(columns).map(([key, value]) => ( + + {key} + + )); + + return ( + + `1px solid ${theme.palette.divider}` + }} + > + {Header} + + + + {({ height, width }) => ( + conversations[index]} + itemCount={pageInfo.hasNextPage ? itemCount + 1 : itemCount} + loadMoreItems={loadMoreItems} + > + {({ onItemsRendered, ref }) => ( + + {Row} + + )} + + )} + + + + ); +} diff --git a/src/chainlit/frontend/src/components/element/image.tsx b/src/chainlit/frontend/src/components/element/image.tsx new file mode 100644 index 0000000000..7118cd4b42 --- /dev/null +++ b/src/chainlit/frontend/src/components/element/image.tsx @@ -0,0 +1,27 @@ +import { Box } from '@mui/material'; +import { IElement } from 'state/element'; + +interface Props { + element: IElement; +} + +export default function ImageElement({ element }: Props) { + const src = element.url || URL.createObjectURL(new Blob([element.content!])); + return ( + + theme.palette.mode === 'light' ? '#EEEEEE' : '#212121', + borderRadius: '4px' + }} + > + {element.name} + + ); +} diff --git a/src/chainlit/frontend/src/components/element/inlined/image.tsx b/src/chainlit/frontend/src/components/element/inlined/image.tsx new file mode 100644 index 0000000000..7caec64b78 --- /dev/null +++ b/src/chainlit/frontend/src/components/element/inlined/image.tsx @@ -0,0 +1,58 @@ +import ImageList from '@mui/material/ImageList'; +import ImageListItem from '@mui/material/ImageListItem'; + +interface Props { + items: { + src: string; + title: string; + }[]; +} + +export default function InlinedImageList({ items }: Props) { + return ( + + {items.map((item) => { + const cols = 1; + const rows = 1; + + return ( + + theme.palette.mode === 'light' ? '#EEEEEE' : '#212121', + borderRadius: '4px' + } + }} + > + {item.title} + {/* */} + + ); + })} + + ); +} diff --git a/src/chainlit/frontend/src/components/element/inlined/index.tsx b/src/chainlit/frontend/src/components/element/inlined/index.tsx new file mode 100644 index 0000000000..6e0bac3f72 --- /dev/null +++ b/src/chainlit/frontend/src/components/element/inlined/index.tsx @@ -0,0 +1,36 @@ +import { ElementType, IElements } from 'state/element'; +import InlinedImageList from './image'; +import { Stack } from '@mui/material'; +import InlinedTextList from './text'; + +interface Props { + inlined: IElements; +} + +export default function InlinedElements({ inlined }: Props) { + if (!inlined || !Object.keys(inlined).length) { + return null; + } + + const images = Object.keys(inlined) + .filter((key) => inlined[key].type === ElementType.img) + .map((k) => { + return { + src: + inlined[k].url || + URL.createObjectURL(new Blob([inlined[k].content!])), + title: inlined[k].name + }; + }); + + const texts = Object.fromEntries( + Object.entries(inlined).filter(([k, v]) => v.type === ElementType.txt) + ); + + return ( + + {images.length ? : null} + {Object.keys(texts).length ? : null} + + ); +} diff --git a/src/chainlit/frontend/src/components/element/inlined/text.tsx b/src/chainlit/frontend/src/components/element/inlined/text.tsx new file mode 100644 index 0000000000..6845a46ac6 --- /dev/null +++ b/src/chainlit/frontend/src/components/element/inlined/text.tsx @@ -0,0 +1,22 @@ +import { Alert, AlertTitle, Stack } from '@mui/material'; +import TextElement from 'components/element/text'; +import { IElements } from 'state/element'; + +interface Props { + items: IElements; +} + +export default function InlinedTextList({ items }: Props) { + return ( + + {Object.entries(items).map(([k, v]) => { + return ( + + {k} + + + ); + })} + + ); +} diff --git a/src/chainlit/frontend/src/components/element/sideView.tsx b/src/chainlit/frontend/src/components/element/sideView.tsx new file mode 100644 index 0000000000..463725270b --- /dev/null +++ b/src/chainlit/frontend/src/components/element/sideView.tsx @@ -0,0 +1,90 @@ +import CloseIcon from '@mui/icons-material/Close'; +import { IconButton, Box, BoxProps, Typography, Stack } from '@mui/material'; +import { styled, Theme, CSSObject } from '@mui/material/styles'; +import { renderElement } from 'components/element/view'; +import { useRecoilState } from 'recoil'; +import { sideViewState } from 'state/element'; + +const drawerWidth = 400; + +const openedMixin = (theme: Theme): CSSObject => ({ + padding: '1.5rem', + paddingTop: '.5rem', + width: drawerWidth, + transition: theme.transitions.create('transform', { + easing: theme.transitions.easing.sharp, + duration: theme.transitions.duration.enteringScreen + }), + overflowX: 'hidden' +}); + +const closedMixin = (theme: Theme): CSSObject => ({ + transition: theme.transitions.create('transform', { + easing: theme.transitions.easing.sharp, + duration: theme.transitions.duration.leavingScreen + }), + overflowX: 'hidden', + width: 0 +}); + +interface DrawerProps extends BoxProps { + open?: boolean; +} + +const Drawer = styled(Box, { + shouldForwardProp: (prop) => prop !== 'open' +})(({ theme, open }) => ({ + backgroundColor: + theme.palette.mode === 'dark' + ? theme.palette.grey[800] + : theme.palette.grey[100], + borderLeft: `1px solid ${ + theme.palette.mode === 'dark' + ? theme.palette.grey[800] + : theme.palette.grey[200] + }`, + display: 'flex', + flexDirection: 'column', + borderRadius: 0, + flexShrink: 0, + color: theme.palette.text.primary, + whiteSpace: 'nowrap', + boxSizing: 'border-box', + ...(open && { + ...openedMixin(theme) + }), + ...(!open && { + ...closedMixin(theme) + }) +})); + +const SideView = () => { + const [sideViewElement, setSideViewElement] = useRecoilState(sideViewState); + return ( + + + + {sideViewElement?.name} + + setSideViewElement(undefined)} + > + + + + + + {sideViewElement && renderElement(sideViewElement)} + + + ); +}; + +export default SideView; diff --git a/src/chainlit/frontend/src/components/element/text.tsx b/src/chainlit/frontend/src/components/element/text.tsx new file mode 100644 index 0000000000..262abc8bac --- /dev/null +++ b/src/chainlit/frontend/src/components/element/text.tsx @@ -0,0 +1,43 @@ +import { Typography } from '@mui/material'; +import { useEffect, useState } from 'react'; +import { IElement } from 'state/element'; + +interface Props { + element: IElement; +} + +export default function TextElement({ element }: Props) { + const [fetching, setFetching] = useState(false); + const [error, setError] = useState(false); + const [text, setText] = useState(''); + + useEffect(() => { + if (fetching || !element.url) return; + setFetching(true); + fetch(element.url) + .then((res) => res.text()) + .then((_text) => { + setText(_text); + setFetching(false); + }) + .catch(() => { + setText(''); + setError(true); + setFetching(false); + }); + }, [element]); + + const content = fetching + ? 'Loading...' + : error + ? 'Error' + : text + ? text + : (element.content as string); + + return ( + + {content} + + ); +} diff --git a/src/chainlit/frontend/src/components/element/view.tsx b/src/chainlit/frontend/src/components/element/view.tsx new file mode 100644 index 0000000000..acbd8a480c --- /dev/null +++ b/src/chainlit/frontend/src/components/element/view.tsx @@ -0,0 +1,52 @@ +import { Box, Typography } from '@mui/material'; +import { Navigate, useParams } from 'react-router-dom'; +import { useRecoilValue } from 'recoil'; +import { elementState, ElementType, IElement } from 'state/element'; +import TextElement from './text'; +import ImageElement from './image'; + +export const renderElement = (element: IElement) => { + switch (element.type) { + case ElementType.img: + return ; + case ElementType.txt: + return ; + default: + return null; + } +}; + +const ElementView = () => { + const { name } = useParams(); + const elements = useRecoilValue(elementState); + + const element = elements[name!]; + + if (!element) { + return ; + } + + return ( + + + {element.name} + + {renderElement(element)} + + ); +}; + +export default ElementView; diff --git a/src/chainlit/frontend/src/components/errorBoundary.tsx b/src/chainlit/frontend/src/components/errorBoundary.tsx new file mode 100644 index 0000000000..020c6419fa --- /dev/null +++ b/src/chainlit/frontend/src/components/errorBoundary.tsx @@ -0,0 +1,39 @@ +import { Alert, Box } from '@mui/material'; +import { Component, ErrorInfo, ReactNode } from 'react'; + +interface Props { + children?: ReactNode; +} + +interface State { + hasError: boolean; +} + +class ErrorBoundary extends Component { + public state: State = { + hasError: false + }; + + public static getDerivedStateFromError(_: Error): State { + // Update state so the next render will show the fallback UI. + return { hasError: true }; + } + + public componentDidCatch(error: Error, errorInfo: ErrorInfo) { + console.error('Uncaught error:', error, errorInfo); + } + + public render() { + if (this.state.hasError) { + return ( + + Something went wrong. + + ); + } + + return this.props.children; + } +} + +export default ErrorBoundary; diff --git a/src/chainlit/frontend/src/components/githubButton.tsx b/src/chainlit/frontend/src/components/githubButton.tsx new file mode 100644 index 0000000000..396bda1a4f --- /dev/null +++ b/src/chainlit/frontend/src/components/githubButton.tsx @@ -0,0 +1,20 @@ +import { IconButton, Tooltip } from '@mui/material'; +import GithubIcon from 'components/icons/github'; + +interface Props { + href?: string; +} + +export default function GithubButton({ href }: Props) { + if (!href) { + return null; + } + + return ( + + + + + + ); +} diff --git a/src/chainlit/frontend/src/components/greyButton.tsx b/src/chainlit/frontend/src/components/greyButton.tsx new file mode 100644 index 0000000000..16e4640b07 --- /dev/null +++ b/src/chainlit/frontend/src/components/greyButton.tsx @@ -0,0 +1,14 @@ +import { ThemeProvider, useTheme } from '@mui/material/styles'; +import { lightGreyButtonTheme, darkGreyButtonTheme } from 'theme'; +import Button, { ButtonProps } from '@mui/material/Button'; + +export default function GreyButton(props: ButtonProps) { + const theme = useTheme(); + const greyTheme = + theme.palette.mode === 'dark' ? darkGreyButtonTheme : lightGreyButtonTheme; + return ( + + + ); +} + +interface NavProps { + isPublic?: boolean; +} + +function Nav({ isPublic }: NavProps) { + const location = useLocation(); + + const tabs = [{ to: '/', label: 'Chat' }]; + + if (isPublic === false) { + tabs.push({ to: '/dataset', label: 'History' }); + } + + return ( + + {tabs.map((t) => { + const active = location.pathname === t.to; + return ( +
+ {active ? : } +
+ ); + })} +
+ ); +} + +export default function Header() { + const pSettings = useRecoilValue(projectSettingsState); + const requiredKeys = !!pSettings?.userEnv?.length; + + return ( + + theme.palette.background.paper, + borderBottomColor: (theme) => theme.palette.divider + }} + > + +

Nb&R0zo%TgJ-hlzFQaXDqyKgLDbmlDL+B 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%0D1mhKH^8W$~8m&Fl*@PYQ}szT|& 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