From 0dfc2ccd5b99a61136f0eb88913d42572c40de3e Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sun, 13 Jun 2021 12:34:25 +0300 Subject: [PATCH 001/196] Maybe fix tagging docker images with git tags --- .gitlab-ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 445a5e7..6fbb3ef 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -58,8 +58,8 @@ manifest: script: - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-amd64 - docker pull $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-arm64 - - if [ $CI_COMMIT_BRANCH == "master" ]; then docker manifest create $CI_REGISTRY_IMAGE:latest $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-amd64 $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-arm64 && docker manifest push $CI_REGISTRY_IMAGE:latest; fi - - if [ $CI_COMMIT_BRANCH != "master" ]; then docker manifest create $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-amd64 $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-arm64 && docker manifest push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME; fi + - if [ "$CI_COMMIT_BRANCH" = "master" ]; then docker manifest create $CI_REGISTRY_IMAGE:latest $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-amd64 $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-arm64 && docker manifest push $CI_REGISTRY_IMAGE:latest; fi + - if [ "$CI_COMMIT_BRANCH" != "master" ]; then docker manifest create $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-amd64 $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-arm64 && docker manifest push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME; fi - docker rmi $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-amd64 $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-arm64 @@ -70,5 +70,5 @@ build standalone amd64: script: - docker pull $CI_REGISTRY_IMAGE:standalone || true - docker build --pull --cache-from $CI_REGISTRY_IMAGE:standalone --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-standalone . -f maubot/standalone/Dockerfile - - if [ $CI_COMMIT_BRANCH == "master" ]; then docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-standalone $CI_REGISTRY_IMAGE:standalone && docker push $CI_REGISTRY_IMAGE:standalone; fi - - if [ $CI_COMMIT_BRANCH != "master" ]; then docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-standalone $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-standalone && docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-standalone; fi + - if [ "$CI_COMMIT_BRANCH" = "master" ]; then docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-standalone $CI_REGISTRY_IMAGE:standalone && docker push $CI_REGISTRY_IMAGE:standalone; fi + - if [ "$CI_COMMIT_BRANCH" != "master" ]; then docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-standalone $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-standalone && docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-standalone; fi From cb6cb6d372af8bc0d82340281b0b1d2f3b3f563a Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 18 Jun 2021 21:03:52 +0300 Subject: [PATCH 002/196] Update mautrix-python --- maubot/loader/abc.py | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/maubot/loader/abc.py b/maubot/loader/abc.py index f148451..81c99ce 100644 --- a/maubot/loader/abc.py +++ b/maubot/loader/abc.py @@ -49,7 +49,7 @@ def deserialize_version(version: str) -> Version: @dataclass -class PluginMeta(SerializableAttrs['PluginMeta']): +class PluginMeta(SerializableAttrs): id: str version: Version modules: List[str] diff --git a/requirements.txt b/requirements.txt index 34e5c3e..de93fd2 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -mautrix>=0.9.5,<0.10 +mautrix>=0.9.6,<0.10 aiohttp>=3,<4 yarl>=1,<2 SQLAlchemy>=1,<1.4 From 6e66d0ea42c4a401c2a52d736d765e6ff1ed78e4 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Tue, 6 Jul 2021 12:16:38 +0300 Subject: [PATCH 003/196] Fix example log config --- example-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/example-config.yaml b/example-config.yaml index 89d3965..fbb0183 100644 --- a/example-config.yaml +++ b/example-config.yaml @@ -104,7 +104,7 @@ logging: loggers: maubot: level: DEBUG - mautrix: + mau: level: DEBUG aiohttp: level: INFO From 235ce89df1b6f71cfbb67c6834906a6ec64d85e0 Mon Sep 17 00:00:00 2001 From: "DeepBlueV7.X" Date: Mon, 12 Jul 2021 15:56:29 +0000 Subject: [PATCH 004/196] Fix crypto db not working with scheme postgresql The postgres:// scheme does not work in sqlalchemy 1.4 or higher. Support for postgresql:// was added in 1.1. I updated by config file and suddenly my encryption didn't work anymore, which confused me quite a bit. See: https://docs.sqlalchemy.org/en/14/changelog/changelog_14.html#change-3687655465c25a39b968b4f5f6e9170b --- maubot/client.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/maubot/client.py b/maubot/client.py index 9e3d1a7..0ffcd00 100644 --- a/maubot/client.py +++ b/maubot/client.py @@ -409,7 +409,7 @@ def init(config: 'Config', loop: asyncio.AbstractEventLoop) -> Iterable[Client]: parsed_url = URL(db_url) if parsed_url.scheme == "sqlite": Client.crypto_pickle_dir = config["crypto_database.pickle_dir"] - elif parsed_url.scheme == "postgres": + elif parsed_url.scheme == "postgres" or parsed_url.scheme == "postgresql": if not PgCryptoStore: log.warning("Default database is postgres, but asyncpg is not installed. " "Encryption will not work.") @@ -418,7 +418,7 @@ def init(config: 'Config', loop: asyncio.AbstractEventLoop) -> Iterable[Client]: upgrade_table=PgCryptoStore.upgrade_table) elif db_type == "pickle": Client.crypto_pickle_dir = config["crypto_database.pickle_dir"] - elif db_type == "postgres" and PgCryptoStore: + elif (db_type == "postgres" or db_type == "postgresql") and PgCryptoStore: Client.crypto_db = AsyncDatabase(url=config["crypto_database.postgres_uri"], upgrade_table=PgCryptoStore.upgrade_table) else: From 643d122af07471a247f365efb4206de3d1ec5349 Mon Sep 17 00:00:00 2001 From: Gerrit Gogel Date: Mon, 19 Jul 2021 11:47:53 +0200 Subject: [PATCH 005/196] add youtube plugin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 75be206..d2242fd 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,7 @@ Matrix room: [#maubot:maunium.net](https://matrix.to/#/#maubot:maunium.net) * [pingcheck](https://edugit.org/nik/maubot-pingcheck) - A bot to ping the echo bot and send rtt to Icinga passive check * [ticker](https://github.com/williamkray/maubot-ticker) - A bot to return financial data about a stock or cryptocurrency. * [weather](https://github.com/kellya/maubot-weather) - A bot to get the weather from wttr.in and return a single line of text for the location specified +* [youtube](https://github.com/ggogel/YoutubePreviewMaubot) - A bot that responds to a YouTube link with the video title and thumbnail. Open a pull request or join the Matrix room linked above to get your plugin listed here From 4b4f8571d256722c6639dc5fa72d8306d5fdd255 Mon Sep 17 00:00:00 2001 From: Gerrit Gogel Date: Thu, 29 Jul 2021 08:11:52 +0200 Subject: [PATCH 006/196] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 75be206..fae1dcb 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,7 @@ Matrix room: [#maubot:maunium.net](https://matrix.to/#/#maubot:maunium.net) * [pingcheck](https://edugit.org/nik/maubot-pingcheck) - A bot to ping the echo bot and send rtt to Icinga passive check * [ticker](https://github.com/williamkray/maubot-ticker) - A bot to return financial data about a stock or cryptocurrency. * [weather](https://github.com/kellya/maubot-weather) - A bot to get the weather from wttr.in and return a single line of text for the location specified +* [reddit](https://github.com/ggogel/RedditPreviewMaubot) A bot that responds to a link of a reddit post with the sub name and title. If available, uploads the image or video. Open a pull request or join the Matrix room linked above to get your plugin listed here From 6efce38ce1ecaa9021386e4ef7fbece7001d6ddb Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 6 Aug 2021 13:09:52 +0300 Subject: [PATCH 007/196] Remove repo-specific .github folder --- .github/FUNDING.yml | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 44f4c91..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1 +0,0 @@ -github: tulir From 35c9592f55f1c78963f1480ba5ab982c51a6d72d Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sun, 8 Aug 2021 12:39:26 +0300 Subject: [PATCH 008/196] Update Docker image to Alpine 3.14 --- Dockerfile | 4 ++-- Dockerfile.ci | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 1b8eb4d..91fd1eb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ FROM node:16 AS frontend-builder COPY ./maubot/management/frontend /frontend RUN cd /frontend && yarn --prod && yarn build -FROM alpine:3.13 +FROM alpine:3.14 RUN apk add --no-cache \ python3 py3-pip py3-setuptools py3-wheel \ @@ -30,7 +30,7 @@ RUN apk add --no-cache \ py3-wcwidth \ # encryption py3-cffi \ - olm-dev \ + py3-olm \ py3-pycryptodome \ py3-unpaddedbase64 \ py3-future \ diff --git a/Dockerfile.ci b/Dockerfile.ci index 950fac1..edc6737 100644 --- a/Dockerfile.ci +++ b/Dockerfile.ci @@ -1,4 +1,4 @@ -FROM alpine:3.13 +FROM alpine:3.14 RUN apk add --no-cache \ python3 py3-pip py3-setuptools py3-wheel \ @@ -25,7 +25,7 @@ RUN apk add --no-cache \ py3-wcwidth \ # encryption py3-cffi \ - olm-dev \ + py3-olm \ py3-pycryptodome \ py3-unpaddedbase64 \ py3-future \ From 3570d7185dee77ad015a6ba6f98e1c1d0cfabb6b Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sun, 8 Aug 2021 12:43:45 +0300 Subject: [PATCH 009/196] Install python-gitlab from pypi It seems to have disappeared from Alpine 3.14 --- Dockerfile | 4 ++-- Dockerfile.ci | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/Dockerfile b/Dockerfile index 91fd1eb..be0eb6c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -39,8 +39,8 @@ RUN apk add --no-cache \ py3-magic \ py3-feedparser \ py3-dateutil \ - py3-lxml \ - py3-gitlab + py3-lxml +# py3-gitlab # py3-semver@edge # TODO remove pillow, magic, feedparser, lxml, gitlab and semver when maubot supports installing dependencies diff --git a/Dockerfile.ci b/Dockerfile.ci index edc6737..4350c26 100644 --- a/Dockerfile.ci +++ b/Dockerfile.ci @@ -33,8 +33,8 @@ RUN apk add --no-cache \ py3-pillow \ py3-magic \ py3-feedparser \ - py3-lxml \ - py3-gitlab + py3-lxml +# py3-gitlab # py3-semver # TODO remove pillow, magic, feedparser, lxml, gitlab and semver when maubot supports installing dependencies @@ -44,7 +44,7 @@ WORKDIR /opt/maubot RUN apk add --virtual .build-deps python3-dev build-base git \ && sed -Ei 's/psycopg2-binary.+//' optional-requirements.txt \ && pip3 install -r requirements.txt -r optional-requirements.txt \ - dateparser langdetect pyquery cchardet semver tzlocal cssselect \ + dateparser langdetect python-gitlab pyquery cchardet semver tzlocal cssselect \ && apk del .build-deps # TODO also remove dateparser, langdetect and pyquery when maubot supports installing dependencies From 8ecd2abba085c66e6f9c7de65f64f76b4224d1c0 Mon Sep 17 00:00:00 2001 From: Jason Robinson Date: Sun, 8 Aug 2021 17:04:47 +0300 Subject: [PATCH 010/196] Add Pocket https://github.com/jaywink/maubot-pocket --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 75be206..b98c5f7 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,7 @@ Matrix room: [#maubot:maunium.net](https://matrix.to/#/#maubot:maunium.net) * [pingcheck](https://edugit.org/nik/maubot-pingcheck) - A bot to ping the echo bot and send rtt to Icinga passive check * [ticker](https://github.com/williamkray/maubot-ticker) - A bot to return financial data about a stock or cryptocurrency. * [weather](https://github.com/kellya/maubot-weather) - A bot to get the weather from wttr.in and return a single line of text for the location specified +* [pocket](https://github.com/jaywink/maubot-pocket) - A bot integrating with Pocket to fetch articles and archive them. Open a pull request or join the Matrix room linked above to get your plugin listed here From 172a3333afd079c48b06c6f336c2c8297017cd52 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Mon, 30 Aug 2021 13:58:35 +0300 Subject: [PATCH 011/196] Update dependencies. Closes #136 --- optional-requirements.txt | 2 +- requirements.txt | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/optional-requirements.txt b/optional-requirements.txt index 3366255..eeef618 100644 --- a/optional-requirements.txt +++ b/optional-requirements.txt @@ -5,7 +5,7 @@ psycopg2-binary>=2,<3 #/e2be -asyncpg>=0.20,<0.24 +asyncpg>=0.20,<0.25 python-olm>=3,<4 pycryptodome>=3,<4 unpaddedbase64>=1,<2 diff --git a/requirements.txt b/requirements.txt index de93fd2..dafb724 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -mautrix>=0.9.6,<0.10 +mautrix>=0.9.6,<0.11 aiohttp>=3,<4 yarl>=1,<2 SQLAlchemy>=1,<1.4 @@ -12,4 +12,4 @@ packaging>=10 click>=7,<8 colorama>=0.4,<0.5 PyInquirer>=1,<2 -jinja2>=2,<3 +jinja2>=2,<4 From d619e50973eba6643f0f118d52c927b3face2887 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Thu, 2 Sep 2021 16:18:10 +0300 Subject: [PATCH 012/196] Update plugin list --- README.md | 36 ++++++++++++++++++++++-------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 3156950..479ec83 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,11 @@ All setup and usage instructions are located on Matrix room: [#maubot:maunium.net](https://matrix.to/#/#maubot:maunium.net) ## Plugins -* [jesaribot](https://github.com/maubot/jesaribot) - A simple bot that replies with an image when you say "jesari". +Open a pull request or join the Matrix room linked above to get your plugin listed here. + +The plugin wishlist lives at . + +### Official plugins * [sed](https://github.com/maubot/sed) - A bot to do sed-like replacements. * [factorial](https://github.com/maubot/factorial) - A bot to calculate unexpected factorials. * [media](https://github.com/maubot/media) - A bot that replies with the MXC URI of images you send it. @@ -24,11 +28,6 @@ Matrix room: [#maubot:maunium.net](https://matrix.to/#/#maubot:maunium.net) * [xkcd](https://github.com/maubot/xkcd) - A bot to view xkcd comics. * [echo](https://github.com/maubot/echo) - A bot that echoes pings and other stuff. * [rss](https://github.com/maubot/rss) - A bot that posts RSS feed updates to Matrix. -* [reddit](https://github.com/TomCasavant/RedditMaubot) - A bot that condescendingly corrects a user when they enter an r/subreddit without providing a link to that subreddit -* [giphy](https://github.com/TomCasavant/GiphyMaubot) - A bot that generates a gif (from giphy) given search terms -* [trump](https://github.com/jeffcasavant/MaubotTrumpTweet) - A bot that generates a Trump tweet with the given content -* [poll](https://github.com/TomCasavant/PollMaubot) - A bot that will create a simple poll for users in a room -* [urban](https://github.com/dvdgsng/UrbanMaubot) - A bot that fetches definitions from [Urban Dictionary](https://www.urbandictionary.com/). * [reminder](https://github.com/maubot/reminder) - A bot to remind you about things. * [translate](https://github.com/maubot/translate) - A bot to translate words. * [reactbot](https://github.com/maubot/reactbot) - A bot that responds to messages that match predefined rules. @@ -37,22 +36,31 @@ Matrix room: [#maubot:maunium.net](https://matrix.to/#/#maubot:maunium.net) * [supportportal](https://github.com/maubot/supportportal) - A bot to manage customer support on Matrix. * [gitlab](https://github.com/maubot/gitlab) - A GitLab client and webhook receiver. * [github](https://github.com/maubot/github) - A GitHub client and webhook receiver. -* [gitea](https://github.com/saces/maugitea) - A Gitea client and webhook receiver. -* [twilio](https://github.com/jeffcasavant/MaubotTwilio) - Maubot-based SMS bridge -* [tmdb](https://codeberg.org/lomion/tmdb-bot) - A bot that posts information about movies fetched from TheMovieDB.org. * [tex](https://github.com/maubot/tex) - A bot that renders LaTeX. * [altalias](https://github.com/maubot/altalias) - A bot that lets users publish alternate aliases in rooms. * [satwcomic](https://github.com/maubot/satwcomic) - A bot to view SatWComics. * [songwhip](https://github.com/maubot/songwhip) - A bot to post Songwhip links. + +### 3rd party plugins +* [subreddit linkifier](https://github.com/TomCasavant/RedditMaubot) - A bot that condescendingly corrects a user when they enter an r/subreddit without providing a link to that subreddit +* [giphy](https://github.com/TomCasavant/GiphyMaubot) - A bot that generates a gif (from giphy) given search terms +* [trump](https://github.com/jeffcasavant/MaubotTrumpTweet) - A bot that generates a Trump tweet with the given content +* [poll](https://github.com/TomCasavant/PollMaubot) - A bot that will create a simple poll for users in a room +* [urban](https://github.com/dvdgsng/UrbanMaubot) - A bot that fetches definitions from [Urban Dictionary](https://www.urbandictionary.com/). +* [twilio](https://github.com/jeffcasavant/MaubotTwilio) - Maubot-based SMS bridge +* †[tmdb](https://codeberg.org/lomion/tmdb-bot) - A bot that posts information about movies fetched from TheMovieDB.org. * [invite](https://github.com/williamkray/maubot-invite) - A bot to generate invitation tokens from [matrix-registration](https://github.com/ZerataX/matrix-registration) * [wolframalpha](https://github.com/ggogel/WolframAlphaMaubot) - A bot that allows requesting information from [WolframAlpha](https://www.wolframalpha.com/). -* [pingcheck](https://edugit.org/nik/maubot-pingcheck) - A bot to ping the echo bot and send rtt to Icinga passive check +* †[pingcheck](https://edugit.org/nik/maubot-pingcheck) - A bot to ping the echo bot and send rtt to Icinga passive check * [ticker](https://github.com/williamkray/maubot-ticker) - A bot to return financial data about a stock or cryptocurrency. * [weather](https://github.com/kellya/maubot-weather) - A bot to get the weather from wttr.in and return a single line of text for the location specified -* [youtube](https://github.com/ggogel/YoutubePreviewMaubot) - A bot that responds to a YouTube link with the video title and thumbnail. -* [reddit](https://github.com/ggogel/RedditPreviewMaubot) A bot that responds to a link of a reddit post with the sub name and title. If available, uploads the image or video. +* †[youtube previewer](https://github.com/ggogel/YoutubePreviewMaubot) - A bot that responds to a YouTube link with the video title and thumbnail. +* †[reddit previewer](https://github.com/ggogel/RedditPreviewMaubot) - A bot that responds to a link of a reddit post with the sub name and title. If available, uploads the image or video. * [pocket](https://github.com/jaywink/maubot-pocket) - A bot integrating with Pocket to fetch articles and archive them. -Open a pull request or join the Matrix room linked above to get your plugin listed here +† Uses synchronous library which can block the whole maubot process (e.g. requests instead of aiohttp) -The plugin wishlist lives at https://github.com/maubot/plugin-wishlist/issues +### Deprecated/unmaintained plugins +* [jesaribot](https://github.com/maubot/jesaribot) - A simple bot that replies with an image when you say "jesari". + * Superseded by reactbot +* [gitea](https://github.com/saces/maugitea) - A Gitea client and webhook receiver. From 99ec961ba3b321a44f42777107e169c089a03f39 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Thu, 2 Sep 2021 16:18:58 +0300 Subject: [PATCH 013/196] a --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 479ec83..4c2ec16 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ The plugin wishlist lives at . * †[reddit previewer](https://github.com/ggogel/RedditPreviewMaubot) - A bot that responds to a link of a reddit post with the sub name and title. If available, uploads the image or video. * [pocket](https://github.com/jaywink/maubot-pocket) - A bot integrating with Pocket to fetch articles and archive them. -† Uses synchronous library which can block the whole maubot process (e.g. requests instead of aiohttp) +† Uses a synchronous library which can block the whole maubot process (e.g. requests instead of aiohttp) ### Deprecated/unmaintained plugins * [jesaribot](https://github.com/maubot/jesaribot) - A simple bot that replies with an image when you say "jesari". From 0a47d1929a54f901a3524169c6e52f9983ef1f7a Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 8 Sep 2021 20:31:40 +0300 Subject: [PATCH 014/196] Don't re-wrap events if they're re-dispatched --- maubot/matrix.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maubot/matrix.py b/maubot/matrix.py index f93b80d..beca521 100644 --- a/maubot/matrix.py +++ b/maubot/matrix.py @@ -126,7 +126,7 @@ class MaubotMatrixClient(MatrixClient): return self.send_message(room_id, content, **kwargs) def dispatch_event(self, event: Event, source: SyncStream) -> List[asyncio.Task]: - if isinstance(event, MessageEvent): + if isinstance(event, MessageEvent) and not isinstance(event, MaubotMessageEvent): event = MaubotMessageEvent(event, self) elif source != SyncStream.INTERNAL: event.client = self From adf28312df5d1b9c5f19bdf00427c406145dbe4c Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 10 Sep 2021 22:18:30 +0300 Subject: [PATCH 015/196] Replace _ with - in default command names --- maubot/handlers/command.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maubot/handlers/command.py b/maubot/handlers/command.py index 81fccad..37f8174 100644 --- a/maubot/handlers/command.py +++ b/maubot/handlers/command.py @@ -235,7 +235,7 @@ def new(name: PrefixType = None, *, help: str = None, aliases: AliasesType = Non else: func.__mb_get_name__ = lambda self: name else: - func.__mb_get_name__ = lambda self: func.__mb_func__.__name__ + func.__mb_get_name__ = lambda self: func.__mb_func__.__name__.replace("_", "-") if callable(aliases): if len(inspect.getfullargspec(aliases).args) == 1: func.__mb_is_command_match__ = lambda self, val: aliases(val) From 47a8db6b60af876a291f8c6ed5303208ce36443b Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 29 Sep 2021 12:42:05 +0300 Subject: [PATCH 016/196] Bump minimum mautrix-python version --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index dafb724..136dc51 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -mautrix>=0.9.6,<0.11 +mautrix>=0.10.9,<0.11 aiohttp>=3,<4 yarl>=1,<2 SQLAlchemy>=1,<1.4 From 026fdacb5974f1957a4cb12d89b0148430b9e510 Mon Sep 17 00:00:00 2001 From: Joel Beckmeyer Date: Wed, 13 Oct 2021 10:57:45 -0400 Subject: [PATCH 017/196] refactor PyInquirer to questionary --- maubot/cli/cliq/cliq.py | 8 ++++---- maubot/cli/commands/build.py | 2 +- requirements.txt | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/maubot/cli/cliq/cliq.py b/maubot/cli/cliq/cliq.py index 973587a..6a10e28 100644 --- a/maubot/cli/cliq/cliq.py +++ b/maubot/cli/cliq/cliq.py @@ -17,7 +17,7 @@ from typing import Any, Callable, Union, Optional import functools from prompt_toolkit.validation import Validator -from PyInquirer import prompt +from questionary import prompt import click from ..base import app @@ -48,7 +48,7 @@ def command(help: str) -> Callable[[Callable], Callable]: pass question_list = list(questions.values()) question_list.reverse() - resp = prompt(question_list, keyboard_interrupt_msg="Aborted!") + resp = prompt(question_list, kbi_msg="Aborted!") if not resp and question_list: return kwargs = {**kwargs, **resp} @@ -102,9 +102,9 @@ def option(short: str, long: str, message: str = None, help: str = None, if default is not None: q["default"] = default if required or required_unless is not None: - q["validator"] = Required(validator) + q["validate"] = Required(validator) elif validator: - q["validator"] = validator + q["validate"] = validator func.__inquirer_questions__[long[2:]] = q return func diff --git a/maubot/cli/commands/build.py b/maubot/cli/commands/build.py index a7b2fe1..4f5db2f 100644 --- a/maubot/cli/commands/build.py +++ b/maubot/cli/commands/build.py @@ -21,7 +21,7 @@ import os from ruamel.yaml import YAML, YAMLError from colorama import Fore -from PyInquirer import prompt +from questionary import prompt import click from mautrix.types import SerializerError diff --git a/requirements.txt b/requirements.txt index 136dc51..3420a56 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,5 +11,5 @@ packaging>=10 click>=7,<8 colorama>=0.4,<0.5 -PyInquirer>=1,<2 +questionary>=1,<2 jinja2>=2,<4 From 92b3481828425f1c4b1dba1c5addc193204c8ab5 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Tue, 9 Nov 2021 01:39:28 +0200 Subject: [PATCH 018/196] Update standalone dockerfile and add support for config via env vars --- maubot/standalone/Dockerfile | 2 +- maubot/standalone/__main__.py | 4 +++- maubot/standalone/config.py | 6 ++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/maubot/standalone/Dockerfile b/maubot/standalone/Dockerfile index 2475749..7456e8b 100644 --- a/maubot/standalone/Dockerfile +++ b/maubot/standalone/Dockerfile @@ -1,4 +1,4 @@ -FROM docker.io/alpine:3.11 +FROM docker.io/alpine:3.14 RUN apk add --no-cache \ py3-aiohttp \ diff --git a/maubot/standalone/__main__.py b/maubot/standalone/__main__.py index bcc2c72..75e65c2 100644 --- a/maubot/standalone/__main__.py +++ b/maubot/standalone/__main__.py @@ -27,7 +27,7 @@ from ruamel.yaml import YAML from ruamel.yaml.comments import CommentedMap import sqlalchemy as sql -from mautrix.util.config import RecursiveDict +from mautrix.util.config import RecursiveDict, BaseMissingError from mautrix.util.db import Base from mautrix.types import (UserID, Filter, RoomFilter, RoomEventFilter, StrippedStateEvent, EventType, Membership) @@ -55,6 +55,8 @@ config = Config(args.config, args.base_config) config.load() try: config.update() +except BaseMissingError: + print("No example config found, not updating config") except Exception as e: print("Failed to update config:", e) diff --git a/maubot/standalone/config.py b/maubot/standalone/config.py index 2b0fdfe..84f817d 100644 --- a/maubot/standalone/config.py +++ b/maubot/standalone/config.py @@ -17,6 +17,12 @@ from mautrix.util.config import BaseFileConfig, ConfigUpdateHelper class Config(BaseFileConfig): + def __getitem__(self, key: str) -> Any: + try: + return os.environ[f"MAUBOT_{key.replace('.', '_').upper()}"] + except KeyError: + return super().__getitem__(key) + def do_update(self, helper: ConfigUpdateHelper) -> None: copy, _, base = helper copy("user.credentials.id") From 84152b1c2815b5afc9a366636bc94f8d1b08bc90 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Tue, 9 Nov 2021 01:41:47 +0200 Subject: [PATCH 019/196] Install pip in standalone dockerfile --- maubot/standalone/Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/maubot/standalone/Dockerfile b/maubot/standalone/Dockerfile index 7456e8b..ebe156a 100644 --- a/maubot/standalone/Dockerfile +++ b/maubot/standalone/Dockerfile @@ -1,6 +1,7 @@ FROM docker.io/alpine:3.14 RUN apk add --no-cache \ + python3 py3-pip py3-setuptools py3-wheel \ py3-aiohttp \ py3-sqlalchemy \ py3-attrs \ From c685eb5e083aa5cce751c9bfcd7ec44e809ac150 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Tue, 9 Nov 2021 01:56:20 +0200 Subject: [PATCH 020/196] Add missing imports --- maubot/standalone/config.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/maubot/standalone/config.py b/maubot/standalone/config.py index 84f817d..daf8c20 100644 --- a/maubot/standalone/config.py +++ b/maubot/standalone/config.py @@ -13,6 +13,9 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +from typing import Any +import os + from mautrix.util.config import BaseFileConfig, ConfigUpdateHelper From 7c9668d8bc531a523c39650a20fb6f497cd68608 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 19 Nov 2021 15:22:54 +0200 Subject: [PATCH 021/196] Refactor __main__.py and fix things --- maubot/__main__.py | 105 ++++++++---------- maubot/client.py | 43 ++----- maubot/config.py | 8 +- .../example-config.yaml | 17 +-- maubot/lib/future_awaitable.py | 9 ++ maubot/management/api/log.py | 1 + optional-requirements.txt | 3 +- requirements.txt | 2 +- setup.py | 13 ++- 9 files changed, 84 insertions(+), 117 deletions(-) rename example-config.yaml => maubot/example-config.yaml (81%) create mode 100644 maubot/lib/future_awaitable.py diff --git a/maubot/__main__.py b/maubot/__main__.py index 2ef73f9..f07b58c 100644 --- a/maubot/__main__.py +++ b/maubot/__main__.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2021 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,12 +13,9 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import logging.config -import argparse import asyncio -import signal -import copy -import sys + +from mautrix.util.program import Program from .config import Config from .db import init as init_db @@ -27,70 +24,58 @@ from .client import Client, init as init_client_class from .loader.zip import init as init_zip_loader from .instance import init as init_plugin_instance_class from .management.api import init as init_mgmt_api +from .lib.future_awaitable import FutureAwaitable from .__meta__ import __version__ -parser = argparse.ArgumentParser(description="A plugin-based Matrix bot system.", - prog="python -m maubot") -parser.add_argument("-c", "--config", type=str, default="config.yaml", - metavar="", help="the path to your config file") -parser.add_argument("-b", "--base-config", type=str, default="example-config.yaml", - metavar="", help="the path to the example config " - "(for automatic config updates)") -args = parser.parse_args() -config = Config(args.config, args.base_config) -config.load() -config.update() +class Maubot(Program): + config: Config + server: MaubotServer -logging.config.dictConfig(copy.deepcopy(config["logging"])) + config_class = Config + module = "maubot" + name = "maubot" + version = __version__ + command = "python -m maubot" + description = "A plugin-based Matrix bot system." -loop = asyncio.get_event_loop() + def prepare_log_websocket(self) -> None: + from .management.api.log import init, stop_all + init(self.loop) + self.add_shutdown_actions(FutureAwaitable(stop_all)) -stop_log_listener = None -if config["api_features.log"]: - from .management.api.log import init as init_log_listener, stop_all as stop_log_listener + def prepare(self) -> None: + super().prepare() - init_log_listener(loop) + if self.config["api_features.log"]: + self.prepare_log_websocket() -log = logging.getLogger("maubot.init") -log.info(f"Initializing maubot {__version__}") + init_zip_loader(self.config) + init_db(self.config) + clients = init_client_class(self.config, self.loop) + self.add_startup_actions(*(client.start() for client in clients)) + management_api = init_mgmt_api(self.config, self.loop) + self.server = MaubotServer(management_api, self.config, self.loop) -init_zip_loader(config) -db_engine = init_db(config) -clients = init_client_class(config, loop) -management_api = init_mgmt_api(config, loop) -server = MaubotServer(management_api, config, loop) -plugins = init_plugin_instance_class(config, server, loop) + plugins = init_plugin_instance_class(self.config, self.server, self.loop) + for plugin in plugins: + plugin.load() -for plugin in plugins: - plugin.load() + async def start(self) -> None: + if Client.crypto_db: + self.log.debug("Starting client crypto database") + await Client.crypto_db.start() + await super().start() + await self.server.start() -signal.signal(signal.SIGINT, signal.default_int_handler) -signal.signal(signal.SIGTERM, signal.default_int_handler) + async def stop(self) -> None: + self.add_shutdown_actions(*(client.stop() for client in Client.cache.values())) + await super().stop() + self.log.debug("Stopping server") + try: + await asyncio.wait_for(self.server.stop(), 5) + except asyncio.TimeoutError: + self.log.warning("Stopping server timed out") -try: - log.info("Starting server") - loop.run_until_complete(server.start()) - if Client.crypto_db: - log.debug("Starting client crypto database") - loop.run_until_complete(Client.crypto_db.start()) - log.info("Starting clients and plugins") - loop.run_until_complete(asyncio.gather(*[client.start() for client in clients])) - log.info("Startup actions complete, running forever") - loop.run_forever() -except KeyboardInterrupt: - log.info("Interrupt received, stopping clients") - loop.run_until_complete(asyncio.gather(*[client.stop() for client in Client.cache.values()])) - if stop_log_listener is not None: - log.debug("Closing websockets") - loop.run_until_complete(stop_log_listener()) - log.debug("Stopping server") - try: - loop.run_until_complete(asyncio.wait_for(server.stop(), 5, loop=loop)) - except asyncio.TimeoutError: - log.warning("Stopping server timed out") - log.debug("Closing event loop") - loop.close() - log.debug("Everything stopped, shutting down") - sys.exit(0) +Maubot().run() diff --git a/maubot/client.py b/maubot/client.py index 0ffcd00..60fd335 100644 --- a/maubot/client.py +++ b/maubot/client.py @@ -14,17 +14,15 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . from typing import Dict, Iterable, Optional, Set, Callable, Any, Awaitable, Union, TYPE_CHECKING -from os import path import asyncio import logging from aiohttp import ClientSession -from yarl import URL -from mautrix.errors import MatrixInvalidToken, MatrixRequestError +from mautrix.errors import MatrixInvalidToken from mautrix.types import (UserID, SyncToken, FilterID, ContentURI, StrippedStateEvent, Membership, StateEvent, EventType, Filter, RoomFilter, RoomEventFilter, EventFilter, - PresenceState, StateFilter) + PresenceState, StateFilter, DeviceID) from mautrix.client import InternalEventType from mautrix.client.state_store.sqlalchemy import SQLStateStore as BaseSQLStateStore @@ -33,13 +31,12 @@ from .db import DBClient from .matrix import MaubotMatrixClient try: - from mautrix.crypto import (OlmMachine, StateStore as CryptoStateStore, CryptoStore, - PickleCryptoStore) + from mautrix.crypto import OlmMachine, StateStore as CryptoStateStore, CryptoStore class SQLStateStore(BaseSQLStateStore, CryptoStateStore): pass -except ImportError: +except ImportError as e: OlmMachine = CryptoStateStore = CryptoStore = PickleCryptoStore = None SQLStateStore = BaseSQLStateStore @@ -63,8 +60,7 @@ class Client: cache: Dict[UserID, 'Client'] = {} http_client: ClientSession = None global_state_store: Union['BaseSQLStateStore', 'CryptoStateStore'] = SQLStateStore() - crypto_pickle_dir: str = None - crypto_db: 'AsyncDatabase' = None + crypto_db: Optional['AsyncDatabase'] = None references: Set['PluginInstance'] db_instance: DBClient @@ -90,7 +86,7 @@ class Client: log=self.log, loop=self.loop, device_id=self.device_id, sync_store=SyncStoreProxy(self.db_instance), state_store=self.global_state_store) - if OlmMachine and self.device_id and (self.crypto_db or self.crypto_pickle_dir): + if OlmMachine and self.device_id and self.crypto_db: self.crypto_store = self._make_crypto_store() self.crypto = OlmMachine(self.client, self.crypto_store, self.global_state_store) self.client.crypto = self.crypto @@ -109,9 +105,6 @@ class Client: def _make_crypto_store(self) -> 'CryptoStore': if self.crypto_db: return PgCryptoStore(account_id=self.id, pickle_key="mau.crypto", db=self.crypto_db) - elif self.crypto_pickle_dir: - return PickleCryptoStore(account_id=self.id, pickle_key="maubot.crypto", - path=path.join(self.crypto_pickle_dir, f"{self.id}.pickle")) raise ValueError("Crypto database not configured") def _set_sync_ok(self, ok: bool) -> Callable[[Dict[str, Any]], Awaitable[None]]: @@ -330,7 +323,7 @@ class Client: return self.db_instance.access_token @property - def device_id(self) -> str: + def device_id(self) -> DeviceID: return self.db_instance.device_id @property @@ -403,25 +396,9 @@ def init(config: 'Config', loop: asyncio.AbstractEventLoop) -> Iterable[Client]: Client.loop = loop if OlmMachine: - db_type = config["crypto_database.type"] - if db_type == "default": + db_url = config["crypto_database"] + if db_url == "default": db_url = config["database"] - parsed_url = URL(db_url) - if parsed_url.scheme == "sqlite": - Client.crypto_pickle_dir = config["crypto_database.pickle_dir"] - elif parsed_url.scheme == "postgres" or parsed_url.scheme == "postgresql": - if not PgCryptoStore: - log.warning("Default database is postgres, but asyncpg is not installed. " - "Encryption will not work.") - else: - Client.crypto_db = AsyncDatabase(url=db_url, - upgrade_table=PgCryptoStore.upgrade_table) - elif db_type == "pickle": - Client.crypto_pickle_dir = config["crypto_database.pickle_dir"] - elif (db_type == "postgres" or db_type == "postgresql") and PgCryptoStore: - Client.crypto_db = AsyncDatabase(url=config["crypto_database.postgres_uri"], - upgrade_table=PgCryptoStore.upgrade_table) - else: - raise ValueError("Unsupported crypto database type") + Client.crypto_db = AsyncDatabase.create(db_url, upgrade_table=PgCryptoStore.upgrade_table) return Client.all() diff --git a/maubot/config.py b/maubot/config.py index 34466cc..eb5072b 100644 --- a/maubot/config.py +++ b/maubot/config.py @@ -32,9 +32,11 @@ class Config(BaseFileConfig): base = helper.base copy = helper.copy copy("database") - copy("crypto_database.type") - copy("crypto_database.postgres_uri") - copy("crypto_database.pickle_dir") + if isinstance(self["crypto_database"], dict): + if self["crypto_database.type"] == "postgres": + base["crypto_database"] = self["crypto_database.postgres_uri"] + else: + copy("crypto_database") copy("plugin_directories.upload") copy("plugin_directories.load") copy("plugin_directories.trash") diff --git a/example-config.yaml b/maubot/example-config.yaml similarity index 81% rename from example-config.yaml rename to maubot/example-config.yaml index fbb0183..8f3e288 100644 --- a/example-config.yaml +++ b/maubot/example-config.yaml @@ -2,22 +2,11 @@ # Other DBMSes supported by SQLAlchemy may or may not work. # Format examples: # SQLite: sqlite:///filename.db -# Postgres: postgres://username:password@hostname/dbname +# Postgres: postgresql://username:password@hostname/dbname database: sqlite:///maubot.db -# Database for encryption data. -crypto_database: - # Type of database. Either "default", "pickle" or "postgres". - # When set to default, using SQLite as the main database will use pickle as the crypto database - # and using Postgres as the main database will use the same one as the crypto database. - # - # When using pickle, individual crypto databases are stored in the pickle_dir directory. - # When using non-default postgres, postgres_uri is used to connect to postgres. - # - # WARNING: The pickle database is dangerous and should not be used in production. - type: default - postgres_uri: postgres://username:password@hostname/dbname - pickle_dir: ./crypto +# Separate database URL for the crypto database. "default" means use the same database as above. +crypto_database: default plugin_directories: # The directory where uploaded new plugins should be stored. diff --git a/maubot/lib/future_awaitable.py b/maubot/lib/future_awaitable.py new file mode 100644 index 0000000..b55dcb6 --- /dev/null +++ b/maubot/lib/future_awaitable.py @@ -0,0 +1,9 @@ +from typing import Callable, Awaitable, Generator, Any + +class FutureAwaitable: + def __init__(self, func: Callable[[], Awaitable[None]]) -> None: + self._func = func + + def __await__(self) -> Generator[Any, None, None]: + return self._func().__await__() + diff --git a/maubot/management/api/log.py b/maubot/management/api/log.py index d6ec092..3ed5ca1 100644 --- a/maubot/management/api/log.py +++ b/maubot/management/api/log.py @@ -93,6 +93,7 @@ def init(loop: asyncio.AbstractEventLoop) -> None: async def stop_all() -> None: + log.debug("Closing log listener websockets") log_root.removeHandler(handler) for socket in sockets: try: diff --git a/optional-requirements.txt b/optional-requirements.txt index eeef618..0ab6975 100644 --- a/optional-requirements.txt +++ b/optional-requirements.txt @@ -3,9 +3,10 @@ #/postgres psycopg2-binary>=2,<3 +asyncpg>=0.20,<0.26 #/e2be -asyncpg>=0.20,<0.25 +aiosqlite>=0.16,<0.18 python-olm>=3,<4 pycryptodome>=3,<4 unpaddedbase64>=1,<2 diff --git a/requirements.txt b/requirements.txt index 3420a56..bc888b7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -mautrix>=0.10.9,<0.11 +mautrix>=0.11,<0.12 aiohttp>=3,<4 yarl>=1,<2 SQLAlchemy>=1,<1.4 diff --git a/setup.py b/setup.py index 9286b8a..0fd99ff 100644 --- a/setup.py +++ b/setup.py @@ -57,15 +57,18 @@ setuptools.setup( mbc=maubot.cli:app """, data_files=[ - (".", ["example-config.yaml", "alembic.ini"]), + (".", ["maubot/example-config.yaml", "alembic.ini"]), ("alembic", ["alembic/env.py"]), ("alembic/versions", glob.glob("alembic/versions/*.py")), ], package_data={ - "maubot": ["management/frontend/build/*", - "management/frontend/build/static/css/*", - "management/frontend/build/static/js/*", - "management/frontend/build/static/media/*"], + "maubot": [ + "example-config.yaml", + "management/frontend/build/*", + "management/frontend/build/static/css/*", + "management/frontend/build/static/js/*", + "management/frontend/build/static/media/*", + ], "maubot.cli": ["res/*"], }, ) From 61711e83292ede08788e9ae3523940554864e3db Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 19 Nov 2021 15:23:10 +0200 Subject: [PATCH 022/196] Fix things in standalone mode --- maubot/standalone/__main__.py | 51 ++++++++++++--------------- maubot/standalone/config.py | 2 +- maubot/standalone/database.py | 33 +++++++++++++++++ maubot/standalone/example-config.yaml | 41 +++++++++++++++++++++ maubot/standalone/loader.py | 41 +++++++++++++++++++++ setup.py | 1 + 6 files changed, 140 insertions(+), 29 deletions(-) create mode 100644 maubot/standalone/database.py create mode 100644 maubot/standalone/example-config.yaml create mode 100644 maubot/standalone/loader.py diff --git a/maubot/standalone/__main__.py b/maubot/standalone/__main__.py index 75e65c2..97ce5cd 100644 --- a/maubot/standalone/__main__.py +++ b/maubot/standalone/__main__.py @@ -1,5 +1,5 @@ -# supportportal - A maubot plugin to manage customer support on Matrix. -# Copyright (C) 2019 Tulir Asokan +# maubot - A plugin-based Matrix bot system. +# Copyright (C) 2021 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,12 +13,13 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import Optional +from typing import Optional, Type, cast from aiohttp import ClientSession import logging.config import importlib import argparse import asyncio +import os.path import signal import copy import sys @@ -29,22 +30,26 @@ import sqlalchemy as sql from mautrix.util.config import RecursiveDict, BaseMissingError from mautrix.util.db import Base -from mautrix.types import (UserID, Filter, RoomFilter, RoomEventFilter, StrippedStateEvent, - EventType, Membership) +from mautrix.util.logging import TraceLogger +from mautrix.types import (Filter, RoomFilter, RoomEventFilter, StrippedStateEvent, + EventType, Membership, FilterID, SyncToken) -from .config import Config from ..plugin_base import Plugin from ..loader import PluginMeta from ..matrix import MaubotMatrixClient from ..lib.store_proxy import SyncStoreProxy from ..__meta__ import __version__ +from .config import Config +from .loader import FileSystemLoader +from .database import NextBatch parser = argparse.ArgumentParser( description="A plugin-based Matrix bot system -- standalone mode.", prog="python -m maubot.standalone") parser.add_argument("-c", "--config", type=str, default="config.yaml", metavar="", help="the path to your config file") -parser.add_argument("-b", "--base-config", type=str, default="example-config.yaml", +parser.add_argument("-b", "--base-config", type=str, + default="pkg://maubot.standalone/example-config.yaml", metavar="", help="the path to the example config " "(for automatic config updates)") parser.add_argument("-m", "--meta", type=str, default="maubot.yaml", @@ -75,23 +80,11 @@ else: module = meta.modules[0] main_class = meta.main_class bot_module = importlib.import_module(module) -plugin = getattr(bot_module, main_class) +plugin: Type[Plugin] = getattr(bot_module, main_class) +loader = FileSystemLoader(os.path.dirname(args.meta)) log.info(f"Initializing standalone {meta.id} v{meta.version} on maubot {__version__}") - -class NextBatch(Base): - __tablename__ = "standalone_next_batch" - - user_id: str = sql.Column(sql.String(255), primary_key=True) - next_batch: str = sql.Column(sql.String(255)) - filter_id: str = sql.Column(sql.String(255)) - - @classmethod - def get(cls, user_id: UserID) -> Optional['NextBatch']: - return cls._select_one_or_none(cls.c.user_id == user_id) - - log.debug("Opening database") db = sql.create_engine(config["database"]) Base.metadata.bind = db @@ -104,7 +97,7 @@ access_token = config["user.credentials.access_token"] nb = NextBatch.get(user_id) if not nb: - nb = NextBatch(user_id=user_id, next_batch="", filter_id="") + nb = NextBatch(user_id=user_id, next_batch=SyncToken(""), filter_id=FilterID("")) nb.insert() bot_config = None @@ -135,8 +128,8 @@ if meta.config: loop = asyncio.get_event_loop() -client: MaubotMatrixClient = None -bot: Plugin = None +client: Optional[MaubotMatrixClient] = None +bot: Optional[Plugin] = None async def main(): @@ -144,9 +137,10 @@ async def main(): global client, bot + client_log = logging.getLogger("maubot.client").getChild(user_id) client = MaubotMatrixClient(mxid=user_id, base_url=homeserver, token=access_token, - client_session=http_client, loop=loop, store=SyncStoreProxy(nb), - log=logging.getLogger("maubot.client").getChild(user_id)) + client_session=http_client, loop=loop, log=client_log, + sync_store=SyncStoreProxy(nb)) while True: try: @@ -181,9 +175,10 @@ async def main(): if displayname != "disable": await client.set_displayname(displayname) + plugin_log = cast(TraceLogger, logging.getLogger("maubot.instance.__main__")) bot = plugin(client=client, loop=loop, http=http_client, instance_id="__main__", - log=logging.getLogger("maubot.instance.__main__"), config=bot_config, - database=db if meta.database else None, webapp=None, webapp_url=None) + log=plugin_log, config=bot_config, database=db if meta.database else None, + webapp=None, webapp_url=None, loader=loader) await bot.internal_start() diff --git a/maubot/standalone/config.py b/maubot/standalone/config.py index daf8c20..8f0a2ee 100644 --- a/maubot/standalone/config.py +++ b/maubot/standalone/config.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2021 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/maubot/standalone/database.py b/maubot/standalone/database.py new file mode 100644 index 0000000..70dafb4 --- /dev/null +++ b/maubot/standalone/database.py @@ -0,0 +1,33 @@ +# maubot - A plugin-based Matrix bot system. +# Copyright (C) 2021 Tulir Asokan +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +from typing import Optional + +import sqlalchemy as sql + +from mautrix.util.db import Base +from mautrix.types import UserID, SyncToken, FilterID + + +class NextBatch(Base): + __tablename__ = "standalone_next_batch" + + user_id: UserID = sql.Column(sql.String(255), primary_key=True) + next_batch: SyncToken = sql.Column(sql.String(255)) + filter_id: FilterID = sql.Column(sql.String(255)) + + @classmethod + def get(cls, user_id: UserID) -> Optional['NextBatch']: + return cls._select_one_or_none(cls.c.user_id == user_id) diff --git a/maubot/standalone/example-config.yaml b/maubot/standalone/example-config.yaml new file mode 100644 index 0000000..af671e0 --- /dev/null +++ b/maubot/standalone/example-config.yaml @@ -0,0 +1,41 @@ +# Bot account details +user: + credentials: + id: "@bot:example.com" + homeserver: https://example.com + access_token: foo + # Enable /sync? This is not needed for purely unencrypted webhook-based bots, but is necessary in most other cases. + sync: true + # Automatically accept invites? + autojoin: false + # The displayname and avatar URL to set for the bot on startup. + displayname: Standalone Bot + avatar_url: mxc://maunium.net/AKwRzQkTbggfVZGEqexbYLIO + +# The database for the plugin. Also used to store the sync token. +database: sqlite:///bot.db + +# Config for the plugin. Refer to the plugin's base-config.yaml to find what (if anything) to put here. +plugin_config: {} + +# Standard Python logging configuration +logging: + version: 1 + formatters: + colored: + (): maubot.lib.color_log.ColorFormatter + format: "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s" + handlers: + console: + class: logging.StreamHandler + formatter: colored + loggers: + maubot: + level: DEBUG + mau: + level: DEBUG + aiohttp: + level: INFO + root: + level: DEBUG + handlers: [console] diff --git a/maubot/standalone/loader.py b/maubot/standalone/loader.py new file mode 100644 index 0000000..d7a089a --- /dev/null +++ b/maubot/standalone/loader.py @@ -0,0 +1,41 @@ +# maubot - A plugin-based Matrix bot system. +# Copyright (C) 2021 Tulir Asokan +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +from typing import List +import os.path +import os + +from ..loader import BasePluginLoader + +class FileSystemLoader(BasePluginLoader): + def __init__(self, path: str) -> None: + self.path = path + + @property + def source(self) -> str: + return self.path + + def sync_read_file(self, path: str) -> bytes: + with open(os.path.join(self.path, path), "rb") as file: + return file.read() + + async def read_file(self, path: str) -> bytes: + return self.sync_read_file(path) + + def sync_list_files(self, directory: str) -> List[str]: + return os.listdir(os.path.join(self.path, directory)) + + async def list_files(self, directory: str) -> List[str]: + return self.sync_list_files(directory) diff --git a/setup.py b/setup.py index 0fd99ff..eca1e05 100644 --- a/setup.py +++ b/setup.py @@ -70,5 +70,6 @@ setuptools.setup( "management/frontend/build/static/media/*", ], "maubot.cli": ["res/*"], + "maubot.standalone": ["example-config.yaml"], }, ) From 8c3e3a3255d7cd5846d85911d98bcd732dbd0d06 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 19 Nov 2021 15:41:14 +0200 Subject: [PATCH 023/196] Improve config comments and errors with mbc auth --- maubot/cli/commands/auth.py | 2 +- maubot/config.py | 5 ++- maubot/example-config.yaml | 15 +++++--- maubot/management/api/client_auth.py | 52 +++++++++++++++------------- maubot/management/api/responses.py | 7 ++++ 5 files changed, 50 insertions(+), 31 deletions(-) diff --git a/maubot/cli/commands/auth.py b/maubot/cli/commands/auth.py index d8cb3cb..c537cf1 100644 --- a/maubot/cli/commands/auth.py +++ b/maubot/cli/commands/auth.py @@ -32,7 +32,7 @@ enc = functools.partial(quote, safe="") friendly_errors = { "server_not_found": "Registration target server not found.\n\n" "To log in or register through maubot, you must add the server to the\n" - "registration_secrets section in the config. If you only want to log in,\n" + "homeservers section in the config. If you only want to log in,\n" "leave the `secret` field empty." } diff --git a/maubot/config.py b/maubot/config.py index eb5072b..92f5aa9 100644 --- a/maubot/config.py +++ b/maubot/config.py @@ -55,7 +55,10 @@ class Config(BaseFileConfig): base["server.unshared_secret"] = self._new_token() else: base["server.unshared_secret"] = shared_secret - copy("registration_secrets") + if "registration_secrets" in self: + base["homeservers"] = self["registration_secrets"] + else: + copy("homeservers") copy("admins") for username, password in base["admins"].items(): if password and not bcrypt_regex.match(password): diff --git a/maubot/example-config.yaml b/maubot/example-config.yaml index 8f3e288..0f82e12 100644 --- a/maubot/example-config.yaml +++ b/maubot/example-config.yaml @@ -42,13 +42,18 @@ server: # Set to "generate" to generate and save a new token at startup. unshared_secret: generate -# Shared registration secrets to allow registering new users from the management UI -registration_secrets: - example.com: +# Known homeservers. This is required for the `mbc auth` command and also allows +# more convenient access from the management UI. This is not required to create +# clients in the management UI, since you can also just type the homeserver URL +# into the box there. +homeservers: + matrix.org: # Client-server API URL - url: https://example.com + url: https://matrix-client.matrix.org # registration_shared_secret from synapse config - secret: synapse_shared_registration_secret + # You can leave this empty if you don't have access to the homeserver. + # When this is empty, `mbc auth --register` won't work, but `mbc auth` (login) will. + secret: null # List of administrator users. Plaintext passwords will be bcrypted on startup. Set empty password # to prevent normal login. Root is a special user that can't have a password and will always exist. diff --git a/maubot/management/api/client_auth.py b/maubot/management/api/client_auth.py index 36c4d9a..a3a5878 100644 --- a/maubot/management/api/client_auth.py +++ b/maubot/management/api/client_auth.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2021 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -22,30 +22,36 @@ import string import hmac from aiohttp import web -from mautrix.api import HTTPAPI, Path, SynapseAdminPath, Method +from mautrix.api import SynapseAdminPath, Method from mautrix.errors import MatrixRequestError +from mautrix.client import ClientAPI +from mautrix.types import LoginType from .base import routes, get_config, get_loop from .responses import resp -def registration_secrets() -> Dict[str, Dict[str, str]]: - return get_config()["registration_secrets"] +def known_homeservers() -> Dict[str, Dict[str, str]]: + return get_config()["homeservers"] @routes.get("/client/auth/servers") -async def get_registerable_servers(_: web.Request) -> web.Response: - return web.json_response({key: value["url"] for key, value in registration_secrets().items()}) +async def get_known_servers(_: web.Request) -> web.Response: + return web.json_response({key: value["url"] for key, value in known_homeservers().items()}) -AuthRequestInfo = NamedTuple("AuthRequestInfo", api=HTTPAPI, secret=str, username=str, - password=str, user_type=str) +class AuthRequestInfo(NamedTuple): + client: ClientAPI + secret: str + username: str + password: str + user_type: str async def read_client_auth_request(request: web.Request) -> Tuple[Optional[AuthRequestInfo], Optional[web.Response]]: server_name = request.match_info.get("server", None) - server = registration_secrets().get(server_name, None) + server = known_homeservers().get(server_name, None) if not server: return None, resp.server_not_found try: @@ -59,10 +65,10 @@ async def read_client_auth_request(request: web.Request) -> Tuple[Optional[AuthR return None, resp.username_or_password_missing try: base_url = server["url"] - secret = server["secret"] except KeyError: return None, resp.invalid_server - api = HTTPAPI(base_url, "", loop=get_loop()) + secret = server.get("secret") + api = ClientAPI(base_url=base_url, loop=get_loop()) user_type = body.get("user_type", "bot") return AuthRequestInfo(api, secret, username, password, user_type), None @@ -88,9 +94,12 @@ async def register(request: web.Request) -> web.Response: info, err = await read_client_auth_request(request) if err is not None: return err - api, secret, username, password, user_type = info + client: ClientAPI + client, secret, username, password, user_type = info + if not secret: + return resp.registration_secret_not_found path = SynapseAdminPath.v1.register - res = await api.request(Method.GET, path) + res = await client.api.request(Method.GET, path) content = { "nonce": res["nonce"], "username": username, @@ -100,7 +109,7 @@ async def register(request: web.Request) -> web.Response: "user_type": user_type, } try: - return web.json_response(await api.request(Method.POST, path, content=content)) + return web.json_response(await client.api.request(Method.POST, path, content=content)) except MatrixRequestError as e: return web.json_response({ "errcode": e.errcode, @@ -114,18 +123,13 @@ async def login(request: web.Request) -> web.Response: info, err = await read_client_auth_request(request) if err is not None: return err - api, _, username, password, _ = info device_id = ''.join(random.choices(string.ascii_uppercase + string.digits, k=8)) + client = info.client try: - return web.json_response(await api.request(Method.POST, Path.login, content={ - "type": "m.login.password", - "identifier": { - "type": "m.id.user", - "user": username, - }, - "password": password, - "device_id": f"maubot_{device_id}", - })) + res = await client.login(identifier=info.username, login_type=LoginType.PASSWORD, + password=info.password, device_id=f"maubot_{device_id}", + initial_device_display_name="Maubot", store_access_token=False) + return web.json_response(res.serialize()) except MatrixRequestError as e: return web.json_response({ "errcode": e.errcode, diff --git a/maubot/management/api/responses.py b/maubot/management/api/responses.py index b30d49d..a4e76d8 100644 --- a/maubot/management/api/responses.py +++ b/maubot/management/api/responses.py @@ -180,6 +180,13 @@ class _Response: "errcode": "server_not_found", }, status=HTTPStatus.NOT_FOUND) + @property + def registration_secret_not_found(self) -> web.Response: + return web.json_response({ + "error": "Config does not have a registration secret for that server", + "errcode": "registration_secret_not_found", + }, status=HTTPStatus.NOT_FOUND) + @property def plugin_has_no_database(self) -> web.Response: return web.json_response({ From 85e5ea401c05ca4f979e4db413d97590cbecbd29 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 19 Nov 2021 17:10:51 +0200 Subject: [PATCH 024/196] Add option to create/update client with mbc auth --- maubot/cli/cliq/cliq.py | 31 +++++++++- maubot/cli/commands/auth.py | 85 ++++++++++++++-------------- maubot/client.py | 73 +++++++++++++++--------- maubot/management/api/client.py | 40 ++++++++----- maubot/management/api/client_auth.py | 43 +++++++++----- maubot/management/api/responses.py | 12 +++- maubot/management/api/spec.yaml | 54 +++++++++++++++--- maubot/standalone/__main__.py | 6 +- 8 files changed, 234 insertions(+), 110 deletions(-) diff --git a/maubot/cli/cliq/cliq.py b/maubot/cli/cliq/cliq.py index 6a10e28..f8992b8 100644 --- a/maubot/cli/cliq/cliq.py +++ b/maubot/cli/cliq/cliq.py @@ -15,15 +15,41 @@ # along with this program. If not, see . from typing import Any, Callable, Union, Optional import functools +import inspect +import asyncio + +import aiohttp from prompt_toolkit.validation import Validator from questionary import prompt import click from ..base import app +from ..config import get_token from .validators import Required, ClickValidator +def with_http(func): + @functools.wraps(func) + async def wrapper(*args, **kwargs): + async with aiohttp.ClientSession() as sess: + return await func(*args, sess=sess, **kwargs) + + return wrapper + + +def with_authenticated_http(func): + @functools.wraps(func) + async def wrapper(*args, server: str, **kwargs): + server, token = get_token(server) + if not token: + return + async with aiohttp.ClientSession(headers={"Authorization": f"Bearer {token}"}) as sess: + return await func(*args, sess=sess, server=server, **kwargs) + + return wrapper + + def command(help: str) -> Callable[[Callable], Callable]: def decorator(func) -> Callable: questions = func.__inquirer_questions__.copy() @@ -52,7 +78,10 @@ def command(help: str) -> Callable[[Callable], Callable]: if not resp and question_list: return kwargs = {**kwargs, **resp} - func(*args, **kwargs) + + res = func(*args, **kwargs) + if inspect.isawaitable(res): + asyncio.run(res) return app.command(help=help)(wrapper) diff --git a/maubot/cli/commands/auth.py b/maubot/cli/commands/auth.py index c537cf1..66c8b6e 100644 --- a/maubot/cli/commands/auth.py +++ b/maubot/cli/commands/auth.py @@ -13,13 +13,11 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from urllib.parse import quote -from urllib.request import urlopen, Request -from urllib.error import HTTPError -import functools import json from colorama import Fore +from yarl import URL +import aiohttp import click from ..config import get_token @@ -27,8 +25,6 @@ from ..cliq import cliq history_count: int = 10 -enc = functools.partial(quote, safe="") - friendly_errors = { "server_not_found": "Registration target server not found.\n\n" "To log in or register through maubot, you must add the server to the\n" @@ -37,6 +33,15 @@ friendly_errors = { } +async def list_servers(server: str, sess: aiohttp.ClientSession) -> None: + url = URL(server) / "_matrix/maubot/v1/client/auth/servers" + async with sess.get(url) as resp: + data = await resp.json() + print(f"{Fore.GREEN}Available Matrix servers for registration and login:{Fore.RESET}") + for server in data.keys(): + print(f"* {Fore.CYAN}{server}{Fore.RESET}") + + @cliq.command(help="Log into a Matrix account via the Maubot server") @cliq.option("-h", "--homeserver", help="The homeserver to log into", required_unless="list") @cliq.option("-u", "--username", help="The username to log in with", required_unless="list") @@ -46,42 +51,40 @@ friendly_errors = { required=False, prompt=False) @click.option("-r", "--register", help="Register instead of logging in", is_flag=True, default=False) +@click.option("-c", "--update-client", help="Instead of returning the access token, " + "create or update a client in maubot using it", + is_flag=True, default=False) @click.option("-l", "--list", help="List available homeservers", is_flag=True, default=False) -def auth(homeserver: str, username: str, password: str, server: str, register: bool, list: bool - ) -> None: - server, token = get_token(server) - if not token: - return - headers = {"Authorization": f"Bearer {token}"} +@cliq.with_authenticated_http +async def auth(homeserver: str, username: str, password: str, server: str, register: bool, + list: bool, update_client: bool, sess: aiohttp.ClientSession) -> None: if list: - url = f"{server}/_matrix/maubot/v1/client/auth/servers" - with urlopen(Request(url, headers=headers)) as resp_data: - resp = json.load(resp_data) - print(f"{Fore.GREEN}Available Matrix servers for registration and login:{Fore.RESET}") - for server in resp.keys(): - print(f"* {Fore.CYAN}{server}{Fore.RESET}") - return + await list_servers(server, sess) + return endpoint = "register" if register else "login" - headers["Content-Type"] = "application/json" - url = f"{server}/_matrix/maubot/v1/client/auth/{enc(homeserver)}/{endpoint}" - req = Request(url, headers=headers, - data=json.dumps({ - "username": username, - "password": password, - }).encode("utf-8")) - try: - with urlopen(req) as resp_data: - resp = json.load(resp_data) + url = URL(server) / "_matrix/maubot/v1/client/auth" / homeserver / endpoint + if update_client: + url = url.with_query({"update_client": "true"}) + req_data = {"username": username, "password": password} + + async with sess.post(url, json=req_data) as resp: + if resp.status == 200: + data = await resp.json() action = "registered" if register else "logged in as" - print(f"{Fore.GREEN}Successfully {action} " - f"{Fore.CYAN}{resp['user_id']}{Fore.GREEN}.") - print(f"{Fore.GREEN}Access token: {Fore.CYAN}{resp['access_token']}{Fore.RESET}") - print(f"{Fore.GREEN}Device ID: {Fore.CYAN}{resp['device_id']}{Fore.RESET}") - except HTTPError as e: - try: - err_data = json.load(e) - error = friendly_errors.get(err_data["errcode"], err_data["error"]) - except (json.JSONDecodeError, KeyError): - error = str(e) - action = "register" if register else "log in" - print(f"{Fore.RED}Failed to {action}: {error}{Fore.RESET}") + print(f"{Fore.GREEN}Successfully {action} {Fore.CYAN}{data['user_id']}{Fore.GREEN}.") + print(f"{Fore.GREEN}Access token: {Fore.CYAN}{data['access_token']}{Fore.RESET}") + print(f"{Fore.GREEN}Device ID: {Fore.CYAN}{data['device_id']}{Fore.RESET}") + elif resp.status in (201, 202): + data = await resp.json() + action = "created" if resp.status == 201 else "updated" + print(f"{Fore.GREEN}Successfully {action} client for " + f"{Fore.CYAN}{data['id']}{Fore.GREEN} / " + f"{Fore.CYAN}{data['device_id']}{Fore.GREEN}.{Fore.RESET}") + else: + try: + err_data = await resp.json() + error = friendly_errors.get(err_data["errcode"], err_data["error"]) + except (aiohttp.ContentTypeError, json.JSONDecodeError, KeyError): + error = await resp.text() + action = "register" if register else "log in" + print(f"{Fore.RED}Failed to {action}: {error}{Fore.RESET}") diff --git a/maubot/client.py b/maubot/client.py index 60fd335..7d0a6de 100644 --- a/maubot/client.py +++ b/maubot/client.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2021 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -86,10 +86,8 @@ class Client: log=self.log, loop=self.loop, device_id=self.device_id, sync_store=SyncStoreProxy(self.db_instance), state_store=self.global_state_store) - if OlmMachine and self.device_id and self.crypto_db: - self.crypto_store = self._make_crypto_store() - self.crypto = OlmMachine(self.client, self.crypto_store, self.global_state_store) - self.client.crypto = self.crypto + if self.enable_crypto: + self._prepare_crypto() else: self.crypto_store = None self.crypto = None @@ -102,10 +100,15 @@ class Client: self.client.add_event_handler(InternalEventType.SYNC_ERRORED, self._set_sync_ok(False)) self.client.add_event_handler(InternalEventType.SYNC_SUCCESSFUL, self._set_sync_ok(True)) - def _make_crypto_store(self) -> 'CryptoStore': - if self.crypto_db: - return PgCryptoStore(account_id=self.id, pickle_key="mau.crypto", db=self.crypto_db) - raise ValueError("Crypto database not configured") + @property + def enable_crypto(self) -> bool: + return bool(OlmMachine and self.device_id and self.crypto_db) + + def _prepare_crypto(self) -> None: + self.crypto_store = PgCryptoStore(account_id=self.id, pickle_key="mau.crypto", + db=self.crypto_db) + self.crypto = OlmMachine(self.client, self.crypto_store, self.global_state_store) + self.client.crypto = self.crypto def _set_sync_ok(self, ok: bool) -> Callable[[Dict[str, Any]], Awaitable[None]]: async def handler(data: Dict[str, Any]) -> None: @@ -121,6 +124,19 @@ class Client: except Exception: self.log.exception("Failed to start") + async def _start_crypto(self) -> None: + self.log.debug("Enabling end-to-end encryption support") + await self.crypto_store.open() + crypto_device_id = await self.crypto_store.get_device_id() + if crypto_device_id and crypto_device_id != self.device_id: + self.log.warning("Mismatching device ID in crypto store and main database, " + "resetting encryption") + await self.crypto_store.delete() + crypto_device_id = None + await self.crypto.load() + if not crypto_device_id: + await self.crypto_store.put_device_id(self.device_id) + async def _start(self, try_n: Optional[int] = 0) -> None: if not self.enabled: self.log.debug("Not starting disabled client") @@ -129,7 +145,7 @@ class Client: self.log.warning("Ignoring start() call to started client") return try: - user_id = await self.client.whoami() + whoami = await self.client.whoami() except MatrixInvalidToken as e: self.log.error(f"Invalid token: {e}. Disabling client") self.db_instance.enabled = False @@ -143,8 +159,13 @@ class Client: f"retrying in {(try_n + 1) * 10}s: {e}") _ = asyncio.ensure_future(self.start(try_n + 1), loop=self.loop) return - if user_id != self.id: - self.log.error(f"User ID mismatch: expected {self.id}, but got {user_id}") + if whoami.user_id != self.id: + self.log.error(f"User ID mismatch: expected {self.id}, but got {whoami.user_id}") + self.db_instance.enabled = False + return + elif whoami.device_id and self.device_id and whoami.device_id != self.device_id: + self.log.error(f"Device ID mismatch: expected {self.device_id}, " + f"but got {whoami.device_id}") self.db_instance.enabled = False return if not self.filter_id: @@ -167,15 +188,7 @@ class Client: if self.avatar_url != "disable": await self.client.set_avatar_url(self.avatar_url) if self.crypto: - self.log.debug("Enabling end-to-end encryption support") - await self.crypto_store.open() - crypto_device_id = await self.crypto_store.get_device_id() - if crypto_device_id and crypto_device_id != self.device_id: - self.log.warning("Mismatching device ID in crypto store and main database. " - "Encryption may not work.") - await self.crypto.load() - if not crypto_device_id: - await self.crypto_store.put_device_id(self.device_id) + await self._start_crypto() self.start_sync() await self._update_remote_profile() self.started = True @@ -285,23 +298,31 @@ class Client: else: await self._update_remote_profile() - async def update_access_details(self, access_token: str, homeserver: str) -> None: + async def update_access_details(self, access_token: str, homeserver: str, + device_id: Optional[str] = None) -> None: if not access_token and not homeserver: return elif access_token == self.access_token and homeserver == self.homeserver: return + device_id = device_id or self.device_id new_client = MaubotMatrixClient(mxid=self.id, base_url=homeserver or self.homeserver, token=access_token or self.access_token, loop=self.loop, - client_session=self.http_client, device_id=self.device_id, + device_id=device_id, client_session=self.http_client, log=self.log, state_store=self.global_state_store) - mxid = await new_client.whoami() - if mxid != self.id: - raise ValueError(f"MXID mismatch: {mxid}") + whoami = await new_client.whoami() + if whoami.user_id != self.id: + raise ValueError(f"MXID mismatch: {whoami.user_id}") + elif whoami.device_id and device_id and whoami.device_id != device_id: + raise ValueError(f"Device ID mismatch: {whoami.device_id}") new_client.sync_store = SyncStoreProxy(self.db_instance) self.stop_sync() self.client = new_client self.db_instance.homeserver = homeserver self.db_instance.access_token = access_token + self.db_instance.device_id = device_id + if self.enable_crypto: + self._prepare_crypto() + await self._start_crypto() self.start_sync() async def _update_remote_profile(self) -> None: diff --git a/maubot/management/api/client.py b/maubot/management/api/client.py index 0585d63..27f2150 100644 --- a/maubot/management/api/client.py +++ b/maubot/management/api/client.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2021 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -45,10 +45,11 @@ async def get_client(request: web.Request) -> web.Response: async def _create_client(user_id: Optional[UserID], data: dict) -> web.Response: homeserver = data.get("homeserver", None) access_token = data.get("access_token", None) + device_id = data.get("device_id", None) new_client = MatrixClient(mxid="@not:a.mxid", base_url=homeserver, token=access_token, loop=Client.loop, client_session=Client.http_client) try: - mxid = await new_client.whoami() + whoami = await new_client.whoami() except MatrixInvalidToken: return resp.bad_client_access_token except MatrixRequestError: @@ -56,27 +57,31 @@ async def _create_client(user_id: Optional[UserID], data: dict) -> web.Response: except MatrixConnectionError: return resp.bad_client_connection_details if user_id is None: - existing_client = Client.get(mxid, None) + existing_client = Client.get(whoami.user_id, None) if existing_client is not None: return resp.user_exists - elif mxid != user_id: - return resp.mxid_mismatch(mxid) - db_instance = DBClient(id=mxid, homeserver=homeserver, access_token=access_token, + elif whoami.user_id != user_id: + return resp.mxid_mismatch(whoami.user_id) + elif whoami.device_id and device_id and whoami.device_id != device_id: + return resp.device_id_mismatch(whoami.device_id) + db_instance = DBClient(id=whoami.user_id, homeserver=homeserver, access_token=access_token, enabled=data.get("enabled", True), next_batch=SyncToken(""), filter_id=FilterID(""), sync=data.get("sync", True), autojoin=data.get("autojoin", True), online=data.get("online", True), displayname=data.get("displayname", ""), - avatar_url=data.get("avatar_url", "")) + avatar_url=data.get("avatar_url", ""), + device_id=device_id) client = Client(db_instance) client.db_instance.insert() await client.start() return resp.created(client.to_dict()) -async def _update_client(client: Client, data: dict) -> web.Response: +async def _update_client(client: Client, data: dict, is_login: bool = False) -> web.Response: try: await client.update_access_details(data.get("access_token", None), - data.get("homeserver", None)) + data.get("homeserver", None), + data.get("device_id", None)) except MatrixInvalidToken: return resp.bad_client_access_token except MatrixRequestError: @@ -93,7 +98,16 @@ async def _update_client(client: Client, data: dict) -> web.Response: client.autojoin = data.get("autojoin", client.autojoin) client.online = data.get("online", client.online) client.sync = data.get("sync", client.sync) - return resp.updated(client.to_dict()) + return resp.updated(client.to_dict(), is_login=is_login) + + +async def _create_or_update_client(user_id: UserID, data: dict, is_login: bool = False + ) -> web.Response: + client = Client.get(user_id, None) + if not client: + return await _create_client(user_id, data) + else: + return await _update_client(client, data, is_login=is_login) @routes.post("/client/new") @@ -108,15 +122,11 @@ async def create_client(request: web.Request) -> web.Response: @routes.put("/client/{id}") async def update_client(request: web.Request) -> web.Response: user_id = request.match_info.get("id", None) - client = Client.get(user_id, None) try: data = await request.json() except JSONDecodeError: return resp.body_not_json - if not client: - return await _create_client(user_id, data) - else: - return await _update_client(client, data) + return await _create_or_update_client(user_id, data) @routes.delete("/client/{id}") diff --git a/maubot/management/api/client_auth.py b/maubot/management/api/client_auth.py index a3a5878..abd5246 100644 --- a/maubot/management/api/client_auth.py +++ b/maubot/management/api/client_auth.py @@ -25,10 +25,11 @@ from aiohttp import web from mautrix.api import SynapseAdminPath, Method from mautrix.errors import MatrixRequestError from mautrix.client import ClientAPI -from mautrix.types import LoginType +from mautrix.types import LoginType, LoginResponse from .base import routes, get_config, get_loop from .responses import resp +from .client import _create_or_update_client, _create_client def known_homeservers() -> Dict[str, Dict[str, str]]: @@ -46,6 +47,7 @@ class AuthRequestInfo(NamedTuple): username: str password: str user_type: str + update_client: bool async def read_client_auth_request(request: web.Request) -> Tuple[Optional[AuthRequestInfo], @@ -70,15 +72,16 @@ async def read_client_auth_request(request: web.Request) -> Tuple[Optional[AuthR secret = server.get("secret") api = ClientAPI(base_url=base_url, loop=get_loop()) user_type = body.get("user_type", "bot") - return AuthRequestInfo(api, secret, username, password, user_type), None + update_client = request.query.get("update_client", "").lower() in ("1", "true", "yes") + return AuthRequestInfo(api, secret, username, password, user_type, update_client), None -def generate_mac(secret: str, nonce: str, user: str, password: str, admin: bool = False, +def generate_mac(secret: str, nonce: str, username: str, password: str, admin: bool = False, user_type: str = None) -> str: mac = hmac.new(key=secret.encode("utf-8"), digestmod=hashlib.sha1) mac.update(nonce.encode("utf-8")) mac.update(b"\x00") - mac.update(user.encode("utf-8")) + mac.update(username.encode("utf-8")) mac.update(b"\x00") mac.update(password.encode("utf-8")) mac.update(b"\x00") @@ -94,28 +97,34 @@ async def register(request: web.Request) -> web.Response: info, err = await read_client_auth_request(request) if err is not None: return err - client: ClientAPI - client, secret, username, password, user_type = info - if not secret: + if not info.secret: return resp.registration_secret_not_found path = SynapseAdminPath.v1.register - res = await client.api.request(Method.GET, path) + res = await info.client.api.request(Method.GET, path) content = { "nonce": res["nonce"], - "username": username, - "password": password, + "username": info.username, + "password": info.password, "admin": False, - "mac": generate_mac(secret, res["nonce"], username, password, user_type=user_type), - "user_type": user_type, + "user_type": info.user_type, } + content["mac"] = generate_mac(**content, secret=info.secret) try: - return web.json_response(await client.api.request(Method.POST, path, content=content)) + raw_res = await info.client.api.request(Method.POST, path, content=content) except MatrixRequestError as e: return web.json_response({ "errcode": e.errcode, "error": e.message, "http_status": e.http_status, }, status=HTTPStatus.INTERNAL_SERVER_ERROR) + login_res = LoginResponse.deserialize(raw_res) + if info.update_client: + return await _create_client(login_res.user_id, { + "homeserver": str(info.client.api.base_url), + "access_token": login_res.access_token, + "device_id": login_res.device_id, + }) + return web.json_response(login_res.serialize()) @routes.post("/client/auth/{server}/login") @@ -129,9 +138,15 @@ async def login(request: web.Request) -> web.Response: res = await client.login(identifier=info.username, login_type=LoginType.PASSWORD, password=info.password, device_id=f"maubot_{device_id}", initial_device_display_name="Maubot", store_access_token=False) - return web.json_response(res.serialize()) except MatrixRequestError as e: return web.json_response({ "errcode": e.errcode, "error": e.message, }, status=e.http_status) + if info.update_client: + return await _create_or_update_client(res.user_id, { + "homeserver": str(client.api.base_url), + "access_token": res.access_token, + "device_id": res.device_id, + }, is_login=True) + return web.json_response(res.serialize()) diff --git a/maubot/management/api/responses.py b/maubot/management/api/responses.py index a4e76d8..d6dee04 100644 --- a/maubot/management/api/responses.py +++ b/maubot/management/api/responses.py @@ -69,6 +69,13 @@ class _Response: "errcode": "mxid_mismatch", }, status=HTTPStatus.BAD_REQUEST) + def device_id_mismatch(self, found: str) -> web.Response: + return web.json_response({ + "error": "The Matrix device ID of the client and the device ID of the access token " + f"don't match. Access token is for device {found}", + "errcode": "mxid_mismatch", + }, status=HTTPStatus.BAD_REQUEST) + @property def pid_mismatch(self) -> web.Response: return web.json_response({ @@ -294,8 +301,9 @@ class _Response: def found(data: dict) -> web.Response: return web.json_response(data, status=HTTPStatus.OK) - def updated(self, data: dict) -> web.Response: - return self.found(data) + @staticmethod + def updated(data: dict, is_login: bool = False) -> web.Response: + return web.json_response(data, status=HTTPStatus.ACCEPTED if is_login else HTTPStatus.OK) def logged_in(self, token: str) -> web.Response: return self.found({ diff --git a/maubot/management/api/spec.yaml b/maubot/management/api/spec.yaml index c6f5181..a86358e 100644 --- a/maubot/management/api/spec.yaml +++ b/maubot/management/api/spec.yaml @@ -366,7 +366,7 @@ paths: schema: $ref: '#/components/schemas/MatrixClient' responses: - 200: + 202: description: Client updated content: application/json: @@ -454,6 +454,12 @@ paths: required: true schema: type: string + - name: update_client + in: query + description: Should maubot store the access details in a Client instead of returning them? + required: false + schema: + type: boolean post: operationId: client_auth_register summary: | @@ -475,18 +481,29 @@ paths: properties: access_token: type: string - example: token_here + example: syt_123_456_789 user_id: type: string example: '@putkiteippi:maunium.net' - home_server: - type: string - example: maunium.net device_id: type: string - example: device_id_here + example: maubot_F00BAR12 + 201: + description: Client created (when update_client is true) + content: + application/json: + schema: + $ref: '#/components/schemas/MatrixClient' 401: $ref: '#/components/responses/Unauthorized' + 409: + description: | + There is already a client with the user ID of that token. + This should usually not happen, because the user ID was just created. + content: + application/json: + schema: + $ref: '#/components/schemas/Error' 500: $ref: '#/components/responses/MatrixServerError' '/client/auth/{server}/login': @@ -497,6 +514,12 @@ paths: required: true schema: type: string + - name: update_client + in: query + description: Should maubot store the access details in a Client instead of returning them? + required: false + schema: + type: boolean post: operationId: client_auth_login summary: Log in to the given Matrix server via the maubot server @@ -519,10 +542,22 @@ paths: example: '@putkiteippi:maunium.net' access_token: type: string - example: token_here + example: syt_123_456_789 device_id: type: string - example: device_id_here + example: maubot_F00BAR12 + 201: + description: Client created (when update_client is true) + content: + application/json: + schema: + $ref: '#/components/schemas/MatrixClient' + 202: + description: Client updated (when update_client is true) + content: + application/json: + schema: + $ref: '#/components/schemas/MatrixClient' 401: $ref: '#/components/responses/Unauthorized' 500: @@ -641,6 +676,9 @@ components: access_token: type: string description: The Matrix access token for this client. + device_id: + type: string + description: The Matrix device ID corresponding to the access token. enabled: type: boolean example: true diff --git a/maubot/standalone/__main__.py b/maubot/standalone/__main__.py index 97ce5cd..ffd1a79 100644 --- a/maubot/standalone/__main__.py +++ b/maubot/standalone/__main__.py @@ -144,13 +144,13 @@ async def main(): while True: try: - whoami_user_id = await client.whoami() + whoami = await client.whoami() except Exception: log.exception("Failed to connect to homeserver, retrying in 10 seconds...") await asyncio.sleep(10) continue - if whoami_user_id != user_id: - log.fatal(f"User ID mismatch: configured {user_id}, but server said {whoami_user_id}") + if whoami.user_id != user_id: + log.fatal(f"User ID mismatch: configured {user_id}, but server said {whoami.user_id}") sys.exit(1) break From 2800e967b83dd0176e6100709b3531fe30beab8f Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 19 Nov 2021 17:22:17 +0200 Subject: [PATCH 025/196] Remove separate docker example config --- Dockerfile | 4 +- Dockerfile.ci | 1 + docker/example-config.yaml | 108 ------------------------------------- docker/run.sh | 32 +++++++++-- 4 files changed, 32 insertions(+), 113 deletions(-) delete mode 100644 docker/example-config.yaml diff --git a/Dockerfile b/Dockerfile index be0eb6c..0d6bb28 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,6 +9,7 @@ RUN apk add --no-cache \ python3 py3-pip py3-setuptools py3-wheel \ ca-certificates \ su-exec \ + yq \ py3-aiohttp \ py3-sqlalchemy \ py3-attrs \ @@ -51,7 +52,8 @@ RUN apk add --virtual .build-deps python3-dev build-base git \ && sed -Ei 's/psycopg2-binary.+//' optional-requirements.txt \ && pip3 install -r requirements.txt -r optional-requirements.txt \ dateparser langdetect python-gitlab pyquery cchardet semver tzlocal cssselect \ - && apk del .build-deps + && apk del .build-deps \ + && cp maubot/example-config.yaml . && rm -rf maubot # TODO also remove dateparser, langdetect and pyquery when maubot supports installing dependencies COPY . /opt/maubot diff --git a/Dockerfile.ci b/Dockerfile.ci index 4350c26..09bdb5f 100644 --- a/Dockerfile.ci +++ b/Dockerfile.ci @@ -4,6 +4,7 @@ RUN apk add --no-cache \ python3 py3-pip py3-setuptools py3-wheel \ ca-certificates \ su-exec \ + yq \ py3-aiohttp \ py3-sqlalchemy \ py3-attrs \ diff --git a/docker/example-config.yaml b/docker/example-config.yaml deleted file mode 100644 index 192a420..0000000 --- a/docker/example-config.yaml +++ /dev/null @@ -1,108 +0,0 @@ -# The full URI to the database. SQLite and Postgres are fully supported. -# Other DBMSes supported by SQLAlchemy may or may not work. -# Format examples: -# SQLite: sqlite:///filename.db -# Postgres: postgres://username:password@hostname/dbname -database: sqlite:////data/maubot.db - -# Database for encryption data. -crypto_database: - # Type of database. Either "default", "pickle" or "postgres". - # When set to default, using SQLite as the main database will use pickle as the crypto database - # and using Postgres as the main database will use the same one as the crypto database. - # - # When using pickle, individual crypto databases are stored in the pickle_dir directory. - # When using non-default postgres, postgres_uri is used to connect to postgres. - type: default - postgres_uri: postgres://username:password@hostname/dbname - pickle_dir: /data/crypto - -plugin_directories: - # The directory where uploaded new plugins should be stored. - upload: /data/plugins - # The directories from which plugins should be loaded. - # Duplicate plugin IDs will be moved to the trash. - load: - - /data/plugins - # The directory where old plugin versions and conflicting plugins should be moved. - # Set to "delete" to delete files immediately. - trash: /data/trash - # The directory where plugin databases should be stored. - db: /data/plugins - -server: - # The IP and port to listen to. - hostname: 0.0.0.0 - port: 29316 - # Public base URL where the server is visible. - public_url: https://example.com - # The base management API path. - base_path: /_matrix/maubot/v1 - # The base path for the UI. - ui_base_path: /_matrix/maubot - # The base path for plugin endpoints. The instance ID will be appended directly. - plugin_base_path: /_matrix/maubot/plugin/ - # Override path from where to load UI resources. - # Set to false to using pkg_resources to find the path. - override_resource_path: /opt/maubot/frontend - # The base appservice API path. Use / for legacy appservice API and /_matrix/app/v1 for v1. - appservice_base_path: /_matrix/app/v1 - # The shared secret to sign API access tokens. - # Set to "generate" to generate and save a new token at startup. - unshared_secret: generate - -# Shared registration secrets to allow registering new users from the management UI -registration_secrets: - example.com: - # Client-server API URL - url: https://example.com - # registration_shared_secret from synapse config - secret: synapse_shared_registration_secret - -# List of administrator users. Plaintext passwords will be bcrypted on startup. Set empty password -# to prevent normal login. Root is a special user that can't have a password and will always exist. -admins: - root: "" - -# API feature switches. -api_features: - login: true - plugin: true - plugin_upload: true - instance: true - instance_database: true - client: true - client_proxy: true - client_auth: true - dev_open: true - log: true - -# Python logging configuration. -# -# See section 16.7.2 of the Python documentation for more info: -# https://docs.python.org/3.6/library/logging.config.html#configuration-dictionary-schema -logging: - version: 1 - formatters: - precise: - format: "[%(asctime)s] [%(levelname)s@%(name)s] %(message)s" - handlers: - file: - class: logging.handlers.RotatingFileHandler - formatter: precise - filename: /var/log/maubot.log - maxBytes: 10485760 - backupCount: 10 - console: - class: logging.StreamHandler - formatter: precise - loggers: - maubot: - level: DEBUG - mautrix: - level: DEBUG - aiohttp: - level: INFO - root: - level: DEBUG - handlers: [file, console] diff --git a/docker/run.sh b/docker/run.sh index 96a60b9..ee82283 100755 --- a/docker/run.sh +++ b/docker/run.sh @@ -1,21 +1,45 @@ #!/bin/sh function fixperms { - chown -R $UID:$GID /var/log /data /opt/maubot + chown -R $UID:$GID /var/log /data /opt/maubot +} + +function fixconfig { + # If the DB path is the default relative path, replace it with an absolute /data path + _db_url=$(yq e '.database' /data/config.yaml) + if [[ _db_url == "sqlite:///maubot.db" ]]; then + yq e -i '.database = "sqlite:////data/maubot.db"' /data/config.yaml + fi + _log_path=$(yq e '.logging.handlers.file.filename' /data/config.yaml) + if [[ _log_path == "./maubot.log" ]]; then + yq e -i '.logging.handlers.file.filename = "/var/log/maubot.log"' /data/config.yaml + fi + # Set the correct resource paths + yq e -i ' + .server.override_resource_path = "/opt/maubot/frontend" | + .plugin_directories.upload = "/data/plugins" | + .plugin_directories.load = ["/data/plugins"] | + .plugin_directories.trash = "/data/trash" | + .plugin_directories.db = "/data/dbs" + ' /data/config.yaml } cd /opt/maubot -mkdir -p /var/log/maubot /data/plugins /data/trash /data/dbs /data/crypto +mkdir -p /var/log/maubot /data/plugins /data/trash /data/dbs if [ ! -f /data/config.yaml ]; then - cp docker/example-config.yaml /data/config.yaml + cp example-config.yaml /data/config.yaml + # Apply some docker-specific adjustments to the config echo "Config file not found. Example config copied to /data/config.yaml" echo "Please modify the config file to your liking and restart the container." fixperms + fixconfig exit fi alembic -x config=/data/config.yaml upgrade head fixperms -exec su-exec $UID:$GID python3 -m maubot -c /data/config.yaml -b docker/example-config.yaml +fixconfig + +exec su-exec $UID:$GID python3 -m maubot -c /data/config.yaml From 80c8aba8f6f4456bd3b7bb03bfe0a864c2dcded6 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 19 Nov 2021 19:14:20 +0200 Subject: [PATCH 026/196] Fix some bugs related to relogin --- maubot/__init__.py | 1 + maubot/cli/commands/auth.py | 1 - maubot/client.py | 18 +++++++++++++++++- requirements.txt | 2 +- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/maubot/__init__.py b/maubot/__init__.py index 9ca0322..71755b9 100644 --- a/maubot/__init__.py +++ b/maubot/__init__.py @@ -1,3 +1,4 @@ from .plugin_base import Plugin from .plugin_server import PluginWebApp from .matrix import MaubotMatrixClient as Client, MaubotMessageEvent as MessageEvent +from .__meta__ import __version__ diff --git a/maubot/cli/commands/auth.py b/maubot/cli/commands/auth.py index 66c8b6e..390363f 100644 --- a/maubot/cli/commands/auth.py +++ b/maubot/cli/commands/auth.py @@ -20,7 +20,6 @@ from yarl import URL import aiohttp import click -from ..config import get_token from ..cliq import cliq history_count: int = 10 diff --git a/maubot/client.py b/maubot/client.py index 7d0a6de..074e85e 100644 --- a/maubot/client.py +++ b/maubot/client.py @@ -110,6 +110,19 @@ class Client: self.crypto = OlmMachine(self.client, self.crypto_store, self.global_state_store) self.client.crypto = self.crypto + def _remove_crypto_event_handlers(self) -> None: + if not self.crypto: + return + handlers = [ + (InternalEventType.DEVICE_OTK_COUNT, self.crypto.handle_otk_count), + (InternalEventType.DEVICE_LISTS, self.crypto.handle_device_lists), + (EventType.TO_DEVICE_ENCRYPTED, self.crypto.handle_to_device_event), + (EventType.ROOM_KEY_REQUEST, self.crypto.handle_room_key_request), + (EventType.ROOM_MEMBER, self.crypto.handle_member_event), + ] + for event_type, func in handlers: + self.client.remove_event_handler(event_type, func) + def _set_sync_ok(self, ok: bool) -> Callable[[Dict[str, Any]], Awaitable[None]]: async def handler(data: Dict[str, Any]) -> None: self.sync_ok = ok @@ -156,7 +169,7 @@ class Client: self.db_instance.enabled = False else: self.log.warning(f"Failed to get /account/whoami, " - f"retrying in {(try_n + 1) * 10}s: {e}") + f"retrying in {(try_n + 1) * 10}s: {e}") _ = asyncio.ensure_future(self.start(try_n + 1), loop=self.loop) return if whoami.user_id != self.id: @@ -316,6 +329,9 @@ class Client: raise ValueError(f"Device ID mismatch: {whoami.device_id}") new_client.sync_store = SyncStoreProxy(self.db_instance) self.stop_sync() + self._remove_crypto_event_handlers() + new_client.event_handlers = self.client.event_handlers + new_client.global_event_handlers = self.client.global_event_handlers self.client = new_client self.db_instance.homeserver = homeserver self.db_instance.access_token = access_token diff --git a/requirements.txt b/requirements.txt index bc888b7..27126f8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -mautrix>=0.11,<0.12 +mautrix>=0.11,<0.13 aiohttp>=3,<4 yarl>=1,<2 SQLAlchemy>=1,<1.4 From 47969e5661921b19f6f85cc21d66c7738fbad449 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 19 Nov 2021 19:29:30 +0200 Subject: [PATCH 027/196] Allow setting e2ee device ID in frontend --- maubot/management/frontend/package.json | 4 +- .../frontend/src/pages/dashboard/Client.js | 16 +- maubot/management/frontend/yarn.lock | 4230 +++++++---------- 3 files changed, 1861 insertions(+), 2389 deletions(-) diff --git a/maubot/management/frontend/package.json b/maubot/management/frontend/package.json index c607123..142308f 100644 --- a/maubot/management/frontend/package.json +++ b/maubot/management/frontend/package.json @@ -13,7 +13,6 @@ }, "homepage": ".", "dependencies": { - "sass": "^1.34.1", "react": "^17.0.2", "react-ace": "^9.4.1", "react-contextmenu": "^2.14.0", @@ -21,7 +20,8 @@ "react-json-tree": "^0.15.0", "react-router-dom": "^5.2.0", "react-scripts": "4.0.3", - "react-select": "^4.3.1" + "react-select": "^5.2.1", + "sass": "^1.34.1" }, "scripts": { "start": "react-scripts start", diff --git a/maubot/management/frontend/src/pages/dashboard/Client.js b/maubot/management/frontend/src/pages/dashboard/Client.js index 6629c25..29405fe 100644 --- a/maubot/management/frontend/src/pages/dashboard/Client.js +++ b/maubot/management/frontend/src/pages/dashboard/Client.js @@ -59,12 +59,12 @@ class Client extends BaseMainView { constructor(props) { super(props) this.deleteFunc = api.deleteClient - this.homeserverOptions = {} + this.homeserverOptions = [] } get entryKeys() { - return ["id", "displayname", "homeserver", "avatar_url", "access_token", "sync", - "autojoin", "online", "enabled", "started"] + return ["id", "displayname", "homeserver", "avatar_url", "access_token", "device_id", + "sync", "autojoin", "online", "enabled", "started"] } get initialState() { @@ -74,6 +74,7 @@ class Client extends BaseMainView { homeserver: "", avatar_url: "", access_token: "", + device_id: "", sync: true, autojoin: true, enabled: true, @@ -256,20 +257,23 @@ class Client extends BaseMainView { value={this.state.id} origValue={this.props.entry.id} placeholder="@fancybot:example.com" onChange={this.inputChange}/> {api.getFeatures().client_auth ? ( - this.setState({ homeserver: value })} creatable={true} isValidNewOption={this.isValidHomeserver}/> ) : ( - )} + diff --git a/maubot/management/frontend/yarn.lock b/maubot/management/frontend/yarn.lock index 5dcb373..1be4cc6 100644 --- a/maubot/management/frontend/yarn.lock +++ b/maubot/management/frontend/yarn.lock @@ -2,7 +2,7 @@ # yarn lockfile v1 -"@babel/code-frame@7.10.4", "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4": +"@babel/code-frame@7.10.4": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a" integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg== @@ -16,17 +16,17 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.14.5", "@babel/code-frame@^7.5.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" - integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.16.0", "@babel/code-frame@^7.5.5": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431" + integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA== dependencies: - "@babel/highlight" "^7.14.5" + "@babel/highlight" "^7.16.0" -"@babel/compat-data@^7.12.1", "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.14.5.tgz#8ef4c18e58e801c5c95d3c1c0f2874a2680fadea" - integrity sha512-kixrYn4JwfAVPa0f2yfzc2AWti6WRRyO3XjWW5PJAvtE11qhSayrrcrEnee05KAtNaPC+EwehE8Qt1UedEVB8w== +"@babel/compat-data@^7.12.1", "@babel/compat-data@^7.13.11", "@babel/compat-data@^7.16.0", "@babel/compat-data@^7.16.4": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" + integrity sha512-1o/jo7D+kC9ZjHX5v+EHrdjl3PhxMrLSOTGsOdHJ+KL8HCaEK6ehrVL2RS6oHDZp+L7xLirLrPmQtEng769J/Q== "@babel/core@7.12.3": version "7.12.3" @@ -50,42 +50,20 @@ semver "^5.4.1" source-map "^0.5.0" -"@babel/core@^7.1.0": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.10.4.tgz#780e8b83e496152f8dd7df63892b2e052bf1d51d" - integrity sha512-3A0tS0HWpy4XujGc7QtOIHTeNwUgWaZc/WuS5YQrfhU67jnVmsD6OGPc1AKHH0LJHQICGncy3+YUjIhVlfDdcA== +"@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5", "@babel/core@^7.8.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" + integrity sha512-mYZEvshBRHGsIAiyH5PzCFTCfbWfoYbO/jcSdXQSUQu1/pW0xDZAUP7KEc32heqWTAfAHhV9j1vH8Sav7l+JNQ== dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.10.4" - "@babel/helper-module-transforms" "^7.10.4" - "@babel/helpers" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.1" - json5 "^2.1.2" - lodash "^4.17.13" - resolve "^1.3.2" - semver "^5.4.1" - source-map "^0.5.0" - -"@babel/core@^7.12.3", "@babel/core@^7.7.5", "@babel/core@^7.8.4": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.14.5.tgz#d281f46a9905f07d1b3bf71ead54d9c7d89cb1e3" - integrity sha512-RN/AwP2DJmQTZSfiDaD+JQQ/J99KsIpOCfBE5pL+5jJSt7nI3nYGoAXZu+ffYSQ029NLs2DstZb+eR81uuARgg== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.14.5" - "@babel/helper-compilation-targets" "^7.14.5" - "@babel/helper-module-transforms" "^7.14.5" - "@babel/helpers" "^7.14.5" - "@babel/parser" "^7.14.5" - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" + "@babel/helper-module-transforms" "^7.16.0" + "@babel/helpers" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -93,90 +71,64 @@ semver "^6.3.0" source-map "^0.5.0" -"@babel/generator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.10.4.tgz#e49eeed9fe114b62fa5b181856a43a5e32f5f243" - integrity sha512-toLIHUIAgcQygFZRAQcsLQV3CBuX6yOIru1kJk/qqqvcRmZrYe6WavZTSG+bB8MxhnL9YPf+pKQfuiP161q7ng== +"@babel/generator@^7.12.1", "@babel/generator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" + integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew== dependencies: - "@babel/types" "^7.10.4" - jsesc "^2.5.1" - lodash "^4.17.13" - source-map "^0.5.0" - -"@babel/generator@^7.12.1", "@babel/generator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.14.5.tgz#848d7b9f031caca9d0cd0af01b063f226f52d785" - integrity sha512-y3rlP+/G25OIX3mYKKIOlQRcqj7YgrvHxOLbVmyLJ9bPmi5ttvUmpydVjcFjZphOktWuA7ovbx91ECloWTfjIA== - dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.16.0" jsesc "^2.5.1" source-map "^0.5.0" -"@babel/helper-annotate-as-pure@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz#5bf0d495a3f757ac3bda48b5bf3b3ba309c72ba3" - integrity sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA== +"@babel/helper-annotate-as-pure@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz#9a1f0ebcda53d9a2d00108c4ceace6a5d5f1f08d" + integrity sha512-ItmYF9vR4zA8cByDocY05o0LGUkp1zhbTQOH1NFyl5xXEqlTJQCEJjieriw+aFpxo16swMxUnUiKS7a/r4vtHg== dependencies: - "@babel/types" "^7.10.4" + "@babel/types" "^7.16.0" -"@babel/helper-annotate-as-pure@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.14.5.tgz#7bf478ec3b71726d56a8ca5775b046fc29879e61" - integrity sha512-EivH9EgBIb+G8ij1B2jAwSH36WnGvkQSEC6CkX/6v6ZFlw5fVOHvsgGF4uiEHO2GzMvunZb6tDLQEQSdrdocrA== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.0.tgz#f1a686b92da794020c26582eb852e9accd0d7882" + integrity sha512-9KuleLT0e77wFUku6TUkqZzCEymBdtuQQ27MhEKzf9UOOJu3cYj98kyaDAzxpC7lV6DGiZFuC8XqDsq8/Kl6aQ== dependencies: - "@babel/types" "^7.14.5" + "@babel/helper-explode-assignable-expression" "^7.16.0" + "@babel/types" "^7.16.0" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.14.5.tgz#b939b43f8c37765443a19ae74ad8b15978e0a191" - integrity sha512-YTA/Twn0vBXDVGJuAX6PwW7x5zQei1luDDo2Pl6q1qZ7hVNl0RZrhHCQG/ArGpR29Vl7ETiB8eJyrvpuRp300w== +"@babel/helper-compilation-targets@^7.12.1", "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.16.0", "@babel/helper-compilation-targets@^7.16.3": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.3.tgz#5b480cd13f68363df6ec4dc8ac8e2da11363cbf0" + integrity sha512-vKsoSQAyBmxS35JUOOt+07cLc6Nk/2ljLIHwmq2/NM6hdioUaqEXq/S+nXvbvXbZkNDlWOymPanJGOc4CBjSJA== dependencies: - "@babel/helper-explode-assignable-expression" "^7.14.5" - "@babel/types" "^7.14.5" - -"@babel/helper-compilation-targets@^7.12.1", "@babel/helper-compilation-targets@^7.13.0", "@babel/helper-compilation-targets@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.5.tgz#7a99c5d0967911e972fe2c3411f7d5b498498ecf" - integrity sha512-v+QtZqXEiOnpO6EYvlImB6zCD2Lel06RzOPzmkz/D/XgQiUu3C/Jb1LOqSt/AIA34TYi/Q+KlT8vTQrgdxkbLw== - dependencies: - "@babel/compat-data" "^7.14.5" + "@babel/compat-data" "^7.16.0" "@babel/helper-validator-option" "^7.14.5" - browserslist "^4.16.6" + browserslist "^4.17.5" semver "^6.3.0" -"@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.5.tgz#8842ec495516dd1ed8f6c572be92ba78b1e9beef" - integrity sha512-Uq9z2e7ZtcnDMirRqAGLRaLwJn+Lrh388v5ETrR3pALJnElVh2zqQmdbz4W2RUJYohAPh2mtyPUgyMHMzXMncQ== +"@babel/helper-create-class-features-plugin@^7.12.1", "@babel/helper-create-class-features-plugin@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.0.tgz#090d4d166b342a03a9fec37ef4fd5aeb9c7c6a4b" + integrity sha512-XLwWvqEaq19zFlF5PTgOod4bUA+XbkR4WLQBct1bkzmxJGB0ZEJaoKF4c8cgH9oBtCDuYJ8BP5NB9uFiEgO5QA== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-member-expression-to-functions" "^7.14.5" - "@babel/helper-optimise-call-expression" "^7.14.5" - "@babel/helper-replace-supers" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-member-expression-to-functions" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" -"@babel/helper-create-regexp-features-plugin@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.4.tgz#fdd60d88524659a0b6959c0579925e425714f3b8" - integrity sha512-2/hu58IEPKeoLF45DBwx3XFqsbCXmkdAay4spVr2x0jYgRxrSNp+ePwvSsy9g6YSaNDcKIQVPXk1Ov8S2edk2g== +"@babel/helper-create-regexp-features-plugin@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.0.tgz#06b2348ce37fccc4f5e18dcd8d75053f2a7c44ff" + integrity sha512-3DyG0zAFAZKcOp7aVr33ddwkxJ0Z0Jr5V99y3I690eYLpukJsJvAbzTy1ewoCqsML8SbIrjH14Jc/nSQ4TvNPA== dependencies: - "@babel/helper-annotate-as-pure" "^7.10.4" - "@babel/helper-regex" "^7.10.4" - regexpu-core "^4.7.0" - -"@babel/helper-create-regexp-features-plugin@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.14.5.tgz#c7d5ac5e9cf621c26057722fb7a8a4c5889358c4" - integrity sha512-TLawwqpOErY2HhWbGJ2nZT5wSkR192QpN+nBg1THfBfftrlvOh+WbhrxXCH4q4xJ9Gl16BGPR/48JA+Ryiho/A== - dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.16.0" regexpu-core "^4.7.1" -"@babel/helper-define-polyfill-provider@^0.2.2": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.2.3.tgz#0525edec5094653a282688d34d846e4c75e9c0b6" - integrity sha512-RH3QDAfRMzj7+0Nqu5oqgO5q9mFtQEVvCRsi8qCEfzLR9p2BHfn5FzhSB2oj1fF7I2+DcTORkYaQ6aTR9Cofew== +"@babel/helper-define-polyfill-provider@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.0.tgz#c5b10cf4b324ff840140bb07e05b8564af2ae971" + integrity sha512-7hfT8lUljl/tM3h+izTX/pO3W3frz2ok6Pk+gzys8iJqDfZrZy2pXjRTZAvG2YmfHun1X4q8/UZRLatMfqc5Tg== dependencies: "@babel/helper-compilation-targets" "^7.13.0" "@babel/helper-module-imports" "^7.12.13" @@ -187,290 +139,182 @@ resolve "^1.14.2" semver "^6.1.2" -"@babel/helper-explode-assignable-expression@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.14.5.tgz#8aa72e708205c7bb643e45c73b4386cdf2a1f645" - integrity sha512-Htb24gnGJdIGT4vnRKMdoXiOIlqOLmdiUYpAQ0mYfgVT/GDm8GOYhgi4GL+hMKrkiPRohO4ts34ELFsGAPQLDQ== +"@babel/helper-explode-assignable-expression@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.0.tgz#753017337a15f46f9c09f674cff10cee9b9d7778" + integrity sha512-Hk2SLxC9ZbcOhLpg/yMznzJ11W++lg5GMbxt1ev6TXUiJB0N42KPC+7w8a+eWGuqDnUYuwStJoZHM7RgmIOaGQ== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.16.0" -"@babel/helper-function-name@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz#d2d3b20c59ad8c47112fa7d2a94bc09d5ef82f1a" - integrity sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ== +"@babel/helper-function-name@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481" + integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog== dependencies: - "@babel/helper-get-function-arity" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/helper-get-function-arity" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/types" "^7.16.0" -"@babel/helper-function-name@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.14.5.tgz#89e2c474972f15d8e233b52ee8c480e2cfcd50c4" - integrity sha512-Gjna0AsXWfFvrAuX+VKcN/aNNWonizBj39yGwUzVDVTlMYJMK2Wp6xdpy72mfArFq5uK+NOuexfzZlzI1z9+AQ== +"@babel/helper-get-function-arity@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa" + integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ== dependencies: - "@babel/helper-get-function-arity" "^7.14.5" - "@babel/template" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/types" "^7.16.0" -"@babel/helper-get-function-arity@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz#98c1cbea0e2332f33f9a4661b8ce1505b2c19ba2" - integrity sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A== +"@babel/helper-hoist-variables@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a" + integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg== dependencies: - "@babel/types" "^7.10.4" + "@babel/types" "^7.16.0" -"@babel/helper-get-function-arity@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.14.5.tgz#25fbfa579b0937eee1f3b805ece4ce398c431815" - integrity sha512-I1Db4Shst5lewOM4V+ZKJzQ0JGGaZ6VY1jYvMghRjqs6DWgxLCIyFt30GlnKkfUeFLpJt2vzbMVEXVSXlIFYUg== +"@babel/helper-member-expression-to-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.16.0.tgz#29287040efd197c77636ef75188e81da8bccd5a4" + integrity sha512-bsjlBFPuWT6IWhl28EdrQ+gTvSvj5tqVP5Xeftp07SEuz5pLnsXZuDkDD3Rfcxy0IsHmbZ+7B2/9SHzxO0T+sQ== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.16.0" -"@babel/helper-hoist-variables@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.14.5.tgz#e0dd27c33a78e577d7c8884916a3e7ef1f7c7f8d" - integrity sha512-R1PXiz31Uc0Vxy4OEOm07x0oSjKAdPPCh3tPivn/Eo8cvz6gveAeuyUUPB21Hoiif0uoPQSSdhIPS3352nvdyQ== +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.16.0.tgz#90538e60b672ecf1b448f5f4f5433d37e79a3ec3" + integrity sha512-kkH7sWzKPq0xt3H1n+ghb4xEMP8k0U7XV3kkB+ZGy69kDk2ySFW1qPi06sjKzFY3t1j6XbJSqr4mF9L7CYVyhg== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.16.0" -"@babel/helper-member-expression-to-functions@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.10.4.tgz#7cd04b57dfcf82fce9aeae7d4e4452fa31b8c7c4" - integrity sha512-m5j85pK/KZhuSdM/8cHUABQTAslV47OjfIB9Cc7P+PvlAoBzdb79BGNfw8RhT5Mq3p+xGd0ZfAKixbrUZx0C7A== +"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" + integrity sha512-My4cr9ATcaBbmaEa8M0dZNA74cfI6gitvUAskgDtAFmAqyFKDSHQo5YstxPbN+lzHl2D9l/YOEFqb2mtUh4gfA== dependencies: - "@babel/types" "^7.10.4" + "@babel/helper-module-imports" "^7.16.0" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-simple-access" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/helper-validator-identifier" "^7.15.7" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" -"@babel/helper-member-expression-to-functions@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.14.5.tgz#d5c70e4ad13b402c95156c7a53568f504e2fb7b8" - integrity sha512-UxUeEYPrqH1Q/k0yRku1JE7dyfyehNwT6SVkMHvYvPDv4+uu627VXBckVj891BO8ruKBkiDoGnZf4qPDD8abDQ== +"@babel/helper-optimise-call-expression@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" + integrity sha512-SuI467Gi2V8fkofm2JPnZzB/SUuXoJA5zXe/xzyPP2M04686RzFKFHPK6HDVN6JvWBIEW8tt9hPR7fXdn2Lgpw== dependencies: - "@babel/types" "^7.14.5" + "@babel/types" "^7.16.0" -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.10.4.tgz#4c5c54be04bd31670a7382797d75b9fa2e5b5620" - integrity sha512-nEQJHqYavI217oD9+s5MUBzk6x1IlvoS9WTPfgG43CbMEeStE0v+r+TucWdx8KFGowPGvyOkDT9+7DHedIDnVw== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-module-imports@^7.12.1", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.14.5.tgz#6d1a44df6a38c957aa7c312da076429f11b422f3" - integrity sha512-SwrNHu5QWS84XlHwGYPDtCxcA0hrSlL2yhWYLgeOc0w7ccOl2qv4s/nARI0aYZW+bSwAL5CukeXA47B/1NKcnQ== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-module-transforms@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.10.4.tgz#ca1f01fdb84e48c24d7506bb818c961f1da8805d" - integrity sha512-Er2FQX0oa3nV7eM1o0tNCTx7izmQtwAQsIiaLRWtavAAEcskb0XJ5OjJbVrYXWOTr8om921Scabn4/tzlx7j1Q== - dependencies: - "@babel/helper-module-imports" "^7.10.4" - "@babel/helper-replace-supers" "^7.10.4" - "@babel/helper-simple-access" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.10.4" - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" - lodash "^4.17.13" - -"@babel/helper-module-transforms@^7.12.1", "@babel/helper-module-transforms@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.14.5.tgz#7de42f10d789b423eb902ebd24031ca77cb1e10e" - integrity sha512-iXpX4KW8LVODuAieD7MzhNjmM6dzYY5tfRqT+R9HDXWl0jPn/djKmA+G9s/2C2T9zggw5tK1QNqZ70USfedOwA== - dependencies: - "@babel/helper-module-imports" "^7.14.5" - "@babel/helper-replace-supers" "^7.14.5" - "@babel/helper-simple-access" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" - "@babel/helper-validator-identifier" "^7.14.5" - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.14.5" - "@babel/types" "^7.14.5" - -"@babel/helper-optimise-call-expression@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz#50dc96413d594f995a77905905b05893cd779673" - integrity sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-optimise-call-expression@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.14.5.tgz#f27395a8619e0665b3f0364cddb41c25d71b499c" - integrity sha512-IqiLIrODUOdnPU9/F8ib1Fx2ohlgDhxnIDU7OEVi+kAbEZcyiF7BLU8W6PfvPi9LzztjS7kcbzbmL7oG8kD6VA== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz#2f75a831269d4f677de49986dff59927533cf375" - integrity sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg== - -"@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz#5ac822ce97eec46741ab70a517971e443a70c5a9" integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ== -"@babel/helper-regex@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.4.tgz#59b373daaf3458e5747dece71bbaf45f9676af6d" - integrity sha512-inWpnHGgtg5NOF0eyHlC0/74/VkdRITY9dtTpB2PrxKKn+AkVMRiZz/Adrx+Ssg+MLDesi2zohBW6MVq6b4pOQ== +"@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.4.tgz#5d7902f61349ff6b963e07f06a389ce139fbfe6e" + integrity sha512-vGERmmhR+s7eH5Y/cp8PCVzj4XEjerq8jooMfxFdA5xVtAk9Sh4AQsrWgiErUEBjtGrBtOFKDUcWQFW4/dFwMA== dependencies: - lodash "^4.17.13" + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-wrap-function" "^7.16.0" + "@babel/types" "^7.16.0" -"@babel/helper-remap-async-to-generator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.14.5.tgz#51439c913612958f54a987a4ffc9ee587a2045d6" - integrity sha512-rLQKdQU+HYlxBwQIj8dk4/0ENOUEhA/Z0l4hN8BexpvmSMN9oA9EagjnhnDpNsRdWCfjwa4mn/HyBXO9yhQP6A== +"@babel/helper-replace-supers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.16.0.tgz#73055e8d3cf9bcba8ddb55cad93fedc860f68f17" + integrity sha512-TQxuQfSCdoha7cpRNJvfaYxxxzmbxXw/+6cS7V02eeDYyhxderSoMVALvwupA54/pZcOTtVeJ0xccp1nGWladA== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-wrap-function" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/helper-member-expression-to-functions" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" -"@babel/helper-replace-supers@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.10.4.tgz#d585cd9388ea06e6031e4cd44b6713cbead9e6cf" - integrity sha512-sPxZfFXocEymYTdVK1UNmFPBN+Hv5mJkLPsYWwGBxZAxaWfFu+xqp7b6qWD0yjNuNL2VKc6L5M18tOXUP7NU0A== +"@babel/helper-simple-access@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.16.0.tgz#21d6a27620e383e37534cf6c10bba019a6f90517" + integrity sha512-o1rjBT/gppAqKsYfUdfHq5Rk03lMQrkPHG1OWzHWpLgVXRH4HnMM9Et9CVdIqwkCQlobnGHEJMsgWP/jE1zUiw== dependencies: - "@babel/helper-member-expression-to-functions" "^7.10.4" - "@babel/helper-optimise-call-expression" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/types" "^7.16.0" -"@babel/helper-replace-supers@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.14.5.tgz#0ecc0b03c41cd567b4024ea016134c28414abb94" - integrity sha512-3i1Qe9/8x/hCHINujn+iuHy+mMRLoc77b2nI9TB0zjH1hvn9qGlXjWlggdwUcju36PkPCy/lpM7LLUdcTyH4Ow== +"@babel/helper-skip-transparent-expression-wrappers@^7.12.1", "@babel/helper-skip-transparent-expression-wrappers@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz#0ee3388070147c3ae051e487eca3ebb0e2e8bb09" + integrity sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw== dependencies: - "@babel/helper-member-expression-to-functions" "^7.14.5" - "@babel/helper-optimise-call-expression" "^7.14.5" - "@babel/traverse" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/types" "^7.16.0" -"@babel/helper-simple-access@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.10.4.tgz#0f5ccda2945277a2a7a2d3a821e15395edcf3461" - integrity sha512-0fMy72ej/VEvF8ULmX6yb5MtHG4uH4Dbd6I/aHDb/JVg0bbivwt9Wg+h3uMvX+QSFtwr5MeItvazbrc4jtRAXw== +"@babel/helper-split-export-declaration@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438" + integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw== dependencies: - "@babel/template" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/types" "^7.16.0" -"@babel/helper-simple-access@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.14.5.tgz#66ea85cf53ba0b4e588ba77fc813f53abcaa41c4" - integrity sha512-nfBN9xvmCt6nrMZjfhkl7i0oTV3yxR4/FztsbOASyTvVcoYd0TRHh7eMLdlEcCqobydC0LAF3LtC92Iwxo0wyw== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-skip-transparent-expression-wrappers@^7.12.1", "@babel/helper-skip-transparent-expression-wrappers@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.14.5.tgz#96f486ac050ca9f44b009fbe5b7d394cab3a0ee4" - integrity sha512-dmqZB7mrb94PZSAOYtr+ZN5qt5owZIAgqtoTuqiFbHFtxgEcmQlRJVI+bO++fciBunXtB6MK7HrzrfcAzIz2NQ== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-split-export-declaration@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.10.4.tgz#2c70576eaa3b5609b24cb99db2888cc3fc4251d1" - integrity sha512-pySBTeoUff56fL5CBU2hWm9TesA4r/rOkI9DyJLvvgz09MB9YtfIYe3iBriVaYNaPe+Alua0vBIOVOLs2buWhg== - dependencies: - "@babel/types" "^7.10.4" - -"@babel/helper-split-export-declaration@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.14.5.tgz#22b23a54ef51c2b7605d851930c1976dd0bc693a" - integrity sha512-hprxVPu6e5Kdp2puZUmvOGjaLv9TCe58E/Fl6hRq4YiVQxIcNvuq6uTM2r1mT/oPskuS9CgR+I94sqAYv0NGKA== - dependencies: - "@babel/types" "^7.14.5" - -"@babel/helper-validator-identifier@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2" - integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw== - -"@babel/helper-validator-identifier@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.14.5.tgz#d0f0e277c512e0c938277faa85a3968c9a44c0e8" - integrity sha512-5lsetuxCLilmVGyiLEfoHBRX8UCFD+1m2x3Rj97WrW3V7H3u4RWRXA4evMjImCsin2J2YT0QaVDGf+z8ondbAg== +"@babel/helper-validator-identifier@^7.15.7": + version "7.15.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" + integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w== "@babel/helper-validator-option@^7.12.1", "@babel/helper-validator-option@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" integrity sha512-OX8D5eeX4XwcroVW45NMvoYaIuFI+GQpA2a8Gi+X/U/cDUIRsV37qQfF905F0htTRCREQIB4KqPeaveRJUl3Ow== -"@babel/helper-wrap-function@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.14.5.tgz#5919d115bf0fe328b8a5d63bcb610f51601f2bff" - integrity sha512-YEdjTCq+LNuNS1WfxsDCNpgXkJaIyqco6DAelTUjT4f2KIWC1nBcaCaSdHTBqQVLnTBexBcVcFhLSU1KnYuePQ== +"@babel/helper-wrap-function@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.16.0.tgz#b3cf318afce774dfe75b86767cd6d68f3482e57c" + integrity sha512-VVMGzYY3vkWgCJML+qVLvGIam902mJW0FvT7Avj1zEe0Gn7D93aWdLblYARTxEw+6DhZmtzhBM2zv0ekE5zg1g== dependencies: - "@babel/helper-function-name" "^7.14.5" - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/helper-function-name" "^7.16.0" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.0" + "@babel/types" "^7.16.0" -"@babel/helpers@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.10.4.tgz#2abeb0d721aff7c0a97376b9e1f6f65d7a475044" - integrity sha512-L2gX/XeUONeEbI78dXSrJzGdz4GQ+ZTA/aazfUsFaWjSe95kiCuOZ5HsXvkiw3iwF+mFHSRUfJU8t6YavocdXA== +"@babel/helpers@^7.12.1", "@babel/helpers@^7.16.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.16.3.tgz#27fc64f40b996e7074dc73128c3e5c3e7f55c43c" + integrity sha512-Xn8IhDlBPhvYTvgewPKawhADichOsbkZuzN7qz2BusOM0brChsyXMDJvldWaYMMUNiCQdQzNEioXTp3sC8Nt8w== dependencies: - "@babel/template" "^7.10.4" - "@babel/traverse" "^7.10.4" - "@babel/types" "^7.10.4" + "@babel/template" "^7.16.0" + "@babel/traverse" "^7.16.3" + "@babel/types" "^7.16.0" -"@babel/helpers@^7.12.1", "@babel/helpers@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.14.5.tgz#4870f8d9a6fdbbd65e5674a3558b4ff7fef0d9b2" - integrity sha512-xtcWOuN9VL6nApgVHtq3PPcQv5qFBJzoSZzJ/2c0QK/IP/gxVcoWSNQwFEGvmbQsuS9rhYqjILDGGXcTkA705Q== +"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" + integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g== dependencies: - "@babel/template" "^7.14.5" - "@babel/traverse" "^7.14.5" - "@babel/types" "^7.14.5" - -"@babel/highlight@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143" - integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.4" + "@babel/helper-validator-identifier" "^7.15.7" chalk "^2.0.0" js-tokens "^4.0.0" -"@babel/highlight@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" - integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg== - dependencies: - "@babel/helper-validator-identifier" "^7.14.5" - chalk "^2.0.0" - js-tokens "^4.0.0" +"@babel/parser@^7.1.0", "@babel/parser@^7.12.3", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3", "@babel/parser@^7.7.0": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e" + integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng== -"@babel/parser@^7.1.0", "@babel/parser@^7.10.4", "@babel/parser@^7.7.0": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.10.4.tgz#9eedf27e1998d87739fb5028a5120557c06a1a64" - integrity sha512-8jHII4hf+YVDsskTF6WuMB3X4Eh+PsUkC2ljq22so5rHvH+T8BzyL94VOdyFLNR8tBSVXOTbNHOKpR4TfRxVtA== - -"@babel/parser@^7.12.3", "@babel/parser@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.14.5.tgz#4cd2f346261061b2518873ffecdf1612cb032829" - integrity sha512-TM8C+xtH/9n1qzX+JNHi7AN2zHMTiPUtspO0ZdHflW8KaskkALhMmuMHb4bCmNdv9VAPzJX3/bXqkVLnAvsPfg== - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.14.5.tgz#4b467302e1548ed3b1be43beae2cc9cf45e0bb7e" - integrity sha512-ZoJS2XCKPBfTmL122iP6NM9dOg+d4lc9fFk3zxc8iDjvt8Pk4+TlsHSKhIPf6X+L5ORCdBzqMZDjL/WHj7WknQ== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2": + version "7.16.2" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz#2977fca9b212db153c195674e57cfab807733183" + integrity sha512-h37CvpLSf8gb2lIJ2CgC3t+EjFbi0t8qS7LCS1xcJIlEXE4czlofwaW7W1HA8zpgOCzI9C1nmoqNR1zWkk0pQg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" - "@babel/plugin-proposal-optional-chaining" "^7.14.5" -"@babel/plugin-proposal-async-generator-functions@^7.12.1", "@babel/plugin-proposal-async-generator-functions@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.14.5.tgz#4024990e3dd74181f4f426ea657769ff49a2df39" - integrity sha512-tbD/CG3l43FIXxmu4a7RBe4zH7MLJ+S/lFowPFO7HetS2hyOZ/0nnnznegDuzFzfkyQYTxqdTH/hKmuBngaDAA== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.0.tgz#358972eaab006f5eb0826183b0c93cbcaf13e1e2" + integrity sha512-4tcFwwicpWTrpl9qjf7UsoosaArgImF85AxqCRZlgc3IQDvkUHjJpruXAL58Wmj+T6fypWTC/BakfEkwIL/pwA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.0" + +"@babel/plugin-proposal-async-generator-functions@^7.12.1", "@babel/plugin-proposal-async-generator-functions@^7.16.4": + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.16.4.tgz#e606eb6015fec6fa5978c940f315eae4e300b081" + integrity sha512-/CUekqaAaZCQHleSK/9HajvcD/zdnJiKRiuUFq8ITE+0HsPzquf53cpFiqAwl/UfmJbR6n5uGPQSPdrmKOvHHg== + dependencies: + "@babel/helper-plugin-utils" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.16.4" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-proposal-class-properties@7.12.1": @@ -481,20 +325,20 @@ "@babel/helper-create-class-features-plugin" "^7.12.1" "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.14.5.tgz#40d1ee140c5b1e31a350f4f5eed945096559b42e" - integrity sha512-q/PLpv5Ko4dVc1LYMpCY7RVAAO4uk55qPwrIuJ5QJ8c6cVuAmhu7I/49JOppXL6gXf7ZHzpRVEUZdYoPLM04Gg== +"@babel/plugin-proposal-class-properties@^7.12.1", "@babel/plugin-proposal-class-properties@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.16.0.tgz#c029618267ddebc7280fa286e0f8ca2a278a2d1a" + integrity sha512-mCF3HcuZSY9Fcx56Lbn+CGdT44ioBMMvjNVldpKtj8tpniETdLjnxdHI1+sDWXIM1nNt+EanJOZ3IG9lzVjs7A== dependencies: - "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-proposal-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.5.tgz#158e9e10d449c3849ef3ecde94a03d9f1841b681" - integrity sha512-KBAH5ksEnYHCegqseI5N9skTdxgJdmDoAOc0uXa+4QMYKeZD0w5IARh4FMlTNtaHhbB8v+KzMdTgxMMzsIy6Yg== +"@babel/plugin-proposal-class-static-block@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.16.0.tgz#5296942c564d8144c83eea347d0aa8a0b89170e7" + integrity sha512-mAy3sdcY9sKAkf3lQbDiv3olOfiLqI51c9DR9b19uMoR2Z6r5pmGl7dfNFqEvqOyqbf1ta4lknK4gc5PJn3mfA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-class-static-block" "^7.14.5" @@ -507,34 +351,34 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-decorators" "^7.12.1" -"@babel/plugin-proposal-dynamic-import@^7.12.1", "@babel/plugin-proposal-dynamic-import@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.14.5.tgz#0c6617df461c0c1f8fff3b47cd59772360101d2c" - integrity sha512-ExjiNYc3HDN5PXJx+bwC50GIx/KKanX2HiggnIUAYedbARdImiCU4RhhHfdf0Kd7JNXGpsBBBCOm+bBVy3Gb0g== +"@babel/plugin-proposal-dynamic-import@^7.12.1", "@babel/plugin-proposal-dynamic-import@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.0.tgz#783eca61d50526202f9b296095453977e88659f1" + integrity sha512-QGSA6ExWk95jFQgwz5GQ2Dr95cf7eI7TKutIXXTb7B1gCLTCz5hTjFTQGfLFBBiC5WSNi7udNwWsqbbMh1c4yQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-proposal-export-namespace-from@^7.12.1", "@babel/plugin-proposal-export-namespace-from@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.14.5.tgz#dbad244310ce6ccd083072167d8cea83a52faf76" - integrity sha512-g5POA32bXPMmSBu5Dx/iZGLGnKmKPc5AiY7qfZgurzrCYgIztDlHFbznSNCoQuv57YQLnQfaDi7dxCtLDIdXdA== +"@babel/plugin-proposal-export-namespace-from@^7.12.1", "@babel/plugin-proposal-export-namespace-from@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.16.0.tgz#9c01dee40b9d6b847b656aaf4a3976a71740f222" + integrity sha512-CjI4nxM/D+5wCnhD11MHB1AwRSAYeDT+h8gCdcVJZ/OK7+wRzFsf7PFPWVpVpNRkHMmMkQWAHpTq+15IXQ1diA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-proposal-json-strings@^7.12.1", "@babel/plugin-proposal-json-strings@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.14.5.tgz#38de60db362e83a3d8c944ac858ddf9f0c2239eb" - integrity sha512-NSq2fczJYKVRIsUJyNxrVUMhB27zb7N7pOFGQOhBKJrChbGcgEAqyZrmZswkPk18VMurEeJAaICbfm57vUeTbQ== +"@babel/plugin-proposal-json-strings@^7.12.1", "@babel/plugin-proposal-json-strings@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.16.0.tgz#cae35a95ed1d2a7fa29c4dc41540b84a72e9ab25" + integrity sha512-kouIPuiv8mSi5JkEhzApg5Gn6hFyKPnlkO0a9YSzqRurH8wYzSlf6RJdzluAsbqecdW5pBvDJDfyDIUR/vLxvg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-proposal-logical-assignment-operators@^7.12.1", "@babel/plugin-proposal-logical-assignment-operators@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.14.5.tgz#6e6229c2a99b02ab2915f82571e0cc646a40c738" - integrity sha512-YGn2AvZAo9TwyhlLvCCWxD90Xq8xJ4aSgaX3G5D/8DW94L8aaT+dS5cSP+Z06+rCJERGSr9GxMBZ601xoc2taw== +"@babel/plugin-proposal-logical-assignment-operators@^7.12.1", "@babel/plugin-proposal-logical-assignment-operators@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.16.0.tgz#a711b8ceb3ffddd3ef88d3a49e86dbd3cc7db3fd" + integrity sha512-pbW0fE30sVTYXXm9lpVQQ/Vc+iTeQKiXlaNRZPPN2A2VdlWyAtsUrsQ3xydSlDW00TFMK7a8m3cDTkBF5WnV3Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" @@ -547,10 +391,10 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.0" -"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.14.5.tgz#ee38589ce00e2cc59b299ec3ea406fcd3a0fdaf6" - integrity sha512-gun/SOnMqjSb98Nkaq2rTKMwervfdAoz6NphdY0vTfuzMfryj+tDGb2n6UkDKwez+Y8PZDhE3D143v6Gepp4Hg== +"@babel/plugin-proposal-nullish-coalescing-operator@^7.12.1", "@babel/plugin-proposal-nullish-coalescing-operator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.16.0.tgz#44e1cce08fe2427482cf446a91bb451528ed0596" + integrity sha512-3bnHA8CAFm7cG93v8loghDYyQ8r97Qydf63BeYiGgYbjKKB/XP53W15wfRC7dvKfoiJ34f6Rbyyx2btExc8XsQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" @@ -563,29 +407,29 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-numeric-separator@^7.12.1", "@babel/plugin-proposal-numeric-separator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.14.5.tgz#83631bf33d9a51df184c2102a069ac0c58c05f18" - integrity sha512-yiclALKe0vyZRZE0pS6RXgjUOt87GWv6FYa5zqj15PvhOGFO69R5DusPlgK/1K5dVnCtegTiWu9UaBSrLLJJBg== +"@babel/plugin-proposal-numeric-separator@^7.12.1", "@babel/plugin-proposal-numeric-separator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.0.tgz#5d418e4fbbf8b9b7d03125d3a52730433a373734" + integrity sha512-FAhE2I6mjispy+vwwd6xWPyEx3NYFS13pikDBWUAFGZvq6POGs5eNchw8+1CYoEgBl9n11I3NkzD7ghn25PQ9Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.5.tgz#e581d5ccdfa187ea6ed73f56c6a21c1580b90fbf" - integrity sha512-VzMyY6PWNPPT3pxc5hi9LloKNr4SSrVCg7Yr6aZpW4Ym07r7KqSU/QXYwjXLVxqwSv0t/XSXkFoKBPUkZ8vb2A== +"@babel/plugin-proposal-object-rest-spread@^7.12.1", "@babel/plugin-proposal-object-rest-spread@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.0.tgz#5fb32f6d924d6e6712810362a60e12a2609872e6" + integrity sha512-LU/+jp89efe5HuWJLmMmFG0+xbz+I2rSI7iLc1AlaeSMDMOGzWlc5yJrMN1d04osXN4sSfpo4O+azkBNBes0jg== dependencies: - "@babel/compat-data" "^7.14.5" - "@babel/helper-compilation-targets" "^7.14.5" + "@babel/compat-data" "^7.16.0" + "@babel/helper-compilation-targets" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.14.5" + "@babel/plugin-transform-parameters" "^7.16.0" -"@babel/plugin-proposal-optional-catch-binding@^7.12.1", "@babel/plugin-proposal-optional-catch-binding@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.14.5.tgz#939dd6eddeff3a67fdf7b3f044b5347262598c3c" - integrity sha512-3Oyiixm0ur7bzO5ybNcZFlmVsygSIQgdOa7cTfOYCMY+wEPAYhZAJxi3mixKFCTCKUhQXuCTtQ1MzrpL3WT8ZQ== +"@babel/plugin-proposal-optional-catch-binding@^7.12.1", "@babel/plugin-proposal-optional-catch-binding@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.0.tgz#5910085811ab4c28b00d6ebffa4ab0274d1e5f16" + integrity sha512-kicDo0A/5J0nrsCPbn89mTG3Bm4XgYi0CZtvex9Oyw7gGZE3HXGD0zpQNH+mo+tEfbo8wbmMvJftOwpmPy7aVw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" @@ -599,49 +443,41 @@ "@babel/helper-skip-transparent-expression-wrappers" "^7.12.1" "@babel/plugin-syntax-optional-chaining" "^7.8.0" -"@babel/plugin-proposal-optional-chaining@^7.12.1", "@babel/plugin-proposal-optional-chaining@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.14.5.tgz#fa83651e60a360e3f13797eef00b8d519695b603" - integrity sha512-ycz+VOzo2UbWNI1rQXxIuMOzrDdHGrI23fRiz/Si2R4kv2XZQ1BK8ccdHwehMKBlcH/joGW/tzrUmo67gbJHlQ== +"@babel/plugin-proposal-optional-chaining@^7.12.1", "@babel/plugin-proposal-optional-chaining@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.16.0.tgz#56dbc3970825683608e9efb55ea82c2a2d6c8dc0" + integrity sha512-Y4rFpkZODfHrVo70Uaj6cC1JJOt3Pp0MdWSwIKtb8z1/lsjl9AmnB7ErRFV+QNGIfcY1Eruc2UMx5KaRnXjMyg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-proposal-private-methods@^7.12.1", "@babel/plugin-proposal-private-methods@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.14.5.tgz#37446495996b2945f30f5be5b60d5e2aa4f5792d" - integrity sha512-838DkdUA1u+QTCplatfq4B7+1lnDa/+QMI89x5WZHBcnNv+47N8QEj2k9I2MUU9xIv8XJ4XvPCviM/Dj7Uwt9g== +"@babel/plugin-proposal-private-methods@^7.12.1", "@babel/plugin-proposal-private-methods@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.16.0.tgz#b4dafb9c717e4301c5776b30d080d6383c89aff6" + integrity sha512-IvHmcTHDFztQGnn6aWq4t12QaBXTKr1whF/dgp9kz84X6GUcwq9utj7z2wFCUfeOup/QKnOlt2k0zxkGFx9ubg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-proposal-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.14.5.tgz#9f65a4d0493a940b4c01f8aa9d3f1894a587f636" - integrity sha512-62EyfyA3WA0mZiF2e2IV9mc9Ghwxcg8YTu8BS4Wss4Y3PY725OmS9M0qLORbJwLqFtGh+jiE4wAmocK2CTUK2Q== +"@babel/plugin-proposal-private-property-in-object@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.16.0.tgz#69e935b2c5c79d2488112d886f0c4e2790fee76f" + integrity sha512-3jQUr/HBbMVZmi72LpjQwlZ55i1queL8KcDTQEkAHihttJnAPrcvG9ZNXIfsd2ugpizZo595egYV6xy+pv4Ofw== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-create-class-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.14.5.tgz#0f95ee0e757a5d647f378daa0eca7e93faa8bbe8" - integrity sha512-6axIeOU5LnY471KenAB9vI8I5j7NQ2d652hIYwVyRfgaZT5UpiqFKCuVXCDMSrU+3VFafnu2c5m3lrWIlr6A5Q== +"@babel/plugin-proposal-unicode-property-regex@^7.12.1", "@babel/plugin-proposal-unicode-property-regex@^7.16.0", "@babel/plugin-proposal-unicode-property-regex@^7.4.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.16.0.tgz#890482dfc5ea378e42e19a71e709728cabf18612" + integrity sha512-ti7IdM54NXv29cA4+bNNKEMS4jLMCbJgl+Drv+FgYy0erJLAxNAIXcNjNjrRZEcWq0xJHsNVwQezskMFpF8N9g== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.4.tgz#4483cda53041ce3413b7fe2f00022665ddfaa75d" - integrity sha512-H+3fOgPnEXFL9zGYtKQe4IDOPKYlZdF1kqFDQRRb8PK4B8af1vAGK04tF5iQAAsui+mHNBQSAtd2/ndEDe9wuA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - "@babel/plugin-syntax-async-generators@^7.8.0", "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -671,9 +507,9 @@ "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-syntax-decorators@^7.12.1": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.14.5.tgz#eafb9c0cbe09c8afeb964ba3a7bbd63945a72f20" - integrity sha512-c4sZMRWL4GSvP1EXy0woIP7m4jkVcEuG8R1TOZxPBPtp4FSM/kiPZub9UIs/Jrb5ZAOzvTUSGYrWsrSu1JvoPw== + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.16.0.tgz#eb8d811cdd1060f6ac3c00956bf3f6335505a32f" + integrity sha512-nxnnngZClvlY13nHJAIDow0S7Qzhq64fQ/NlqS+VER3kjW/4F0jLhXjeL8jcwSwz6Ca3rotT5NJD2T9I7lcv7g== dependencies: "@babel/helper-plugin-utils" "^7.14.5" @@ -692,9 +528,9 @@ "@babel/helper-plugin-utils" "^7.8.3" "@babel/plugin-syntax-flow@^7.12.1": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.14.5.tgz#2ff654999497d7d7d142493260005263731da180" - integrity sha512-9WK5ZwKCdWHxVuU13XNT6X73FGmutAXeor5lGFq6qhOFtMFUF4jkbijuyUdZZlpYq6E2hZeZf/u3959X9wsv0Q== + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.16.0.tgz#07427021d093ed77019408221beaf0272bbcfaec" + integrity sha512-dH91yCo0RyqfzWgoM5Ji9ir8fQ+uFbt9KHM3d2x4jZOuHS6wNA+CRmRUP/BWCsHG2bjc7A2Way6AvH1eQk0wig== dependencies: "@babel/helper-plugin-utils" "^7.14.5" @@ -712,10 +548,10 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.14.5.tgz#000e2e25d8673cce49300517a3eda44c263e4201" - integrity sha512-ohuFIsOMXJnbOMRfX7/w7LocdR6R7whhuRD4ax8IipLcLPlZGJKkBxgHp++U4N/vKyU16/YDQr2f5seajD3jIw== +"@babel/plugin-syntax-jsx@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.16.0.tgz#f9624394317365a9a88c82358d3f8471154698f1" + integrity sha512-8zv2+xiPHwly31RK4RmnEYY5zziuF3O7W2kIDW+07ewWDh6Oi0dRq8kwvulRkFgt6DB97RlKs5c1y068iPlCUg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" @@ -768,113 +604,98 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-top-level-await@^7.12.1", "@babel/plugin-syntax-top-level-await@^7.14.5": +"@babel/plugin-syntax-top-level-await@^7.12.1", "@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.10.4.tgz#4bbeb8917b54fcf768364e0a81f560e33a3ef57d" - integrity sha512-ni1brg4lXEmWyafKr0ccFWkJG0CeMt4WV1oyeBW6EFObF4oOHclbkj5cARxAPQyAQ2UTuplJyK4nfkXIMMFvsQ== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-typescript@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.14.5.tgz#b82c6ce471b165b5ce420cf92914d6fb46225716" - integrity sha512-u6OXzDaIXjEstBRRoBCQ/uKQKlbuaeE5in0RvWdA4pN6AhqxTIwUsnHPU1CFZA/amYObMsuWhYfRl3Ch90HD0Q== +"@babel/plugin-syntax-typescript@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz#2feeb13d9334cc582ea9111d3506f773174179bb" + integrity sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-arrow-functions@^7.12.1", "@babel/plugin-transform-arrow-functions@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.14.5.tgz#f7187d9588a768dd080bf4c9ffe117ea62f7862a" - integrity sha512-KOnO0l4+tD5IfOdi4x8C1XmEIRWUjNRV8wc6K2vz/3e8yAOoZZvsRXRRIF/yo/MAOFb4QjtAw9xSxMXbSMRy8A== +"@babel/plugin-transform-arrow-functions@^7.12.1", "@babel/plugin-transform-arrow-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz#951706f8b449c834ed07bd474c0924c944b95a8e" + integrity sha512-vIFb5250Rbh7roWARvCLvIJ/PtAU5Lhv7BtZ1u24COwpI9Ypjsh+bZcKk6rlIyalK+r0jOc1XQ8I4ovNxNrWrA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-async-to-generator@^7.12.1", "@babel/plugin-transform-async-to-generator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.14.5.tgz#72c789084d8f2094acb945633943ef8443d39e67" - integrity sha512-szkbzQ0mNk0rpu76fzDdqSyPu0MuvpXgC+6rz5rpMb5OIRxdmHfQxrktL8CYolL2d8luMCZTR0DpIMIdL27IjA== +"@babel/plugin-transform-async-to-generator@^7.12.1", "@babel/plugin-transform-async-to-generator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.16.0.tgz#df12637f9630ddfa0ef9d7a11bc414d629d38604" + integrity sha512-PbIr7G9kR8tdH6g8Wouir5uVjklETk91GMVSUq+VaOgiinbCkBP6Q7NN/suM/QutZkMJMvcyAriogcYAdhg8Gw== dependencies: - "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-module-imports" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-remap-async-to-generator" "^7.14.5" + "@babel/helper-remap-async-to-generator" "^7.16.0" -"@babel/plugin-transform-block-scoped-functions@^7.12.1", "@babel/plugin-transform-block-scoped-functions@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.14.5.tgz#e48641d999d4bc157a67ef336aeb54bc44fd3ad4" - integrity sha512-dtqWqdWZ5NqBX3KzsVCWfQI3A53Ft5pWFCT2eCVUftWZgjc5DpDponbIF1+c+7cSGk2wN0YK7HGL/ezfRbpKBQ== +"@babel/plugin-transform-block-scoped-functions@^7.12.1", "@babel/plugin-transform-block-scoped-functions@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.0.tgz#c618763233ad02847805abcac4c345ce9de7145d" + integrity sha512-V14As3haUOP4ZWrLJ3VVx5rCnrYhMSHN/jX7z6FAt5hjRkLsb0snPCmJwSOML5oxkKO4FNoNv7V5hw/y2bjuvg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-block-scoping@^7.12.1", "@babel/plugin-transform-block-scoping@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.5.tgz#8cc63e61e50f42e078e6f09be775a75f23ef9939" - integrity sha512-LBYm4ZocNgoCqyxMLoOnwpsmQ18HWTQvql64t3GvMUzLQrNoV1BDG0lNftC8QKYERkZgCCT/7J5xWGObGAyHDw== +"@babel/plugin-transform-block-scoping@^7.12.1", "@babel/plugin-transform-block-scoping@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.16.0.tgz#bcf433fb482fe8c3d3b4e8a66b1c4a8e77d37c16" + integrity sha512-27n3l67/R3UrXfizlvHGuTwsRIFyce3D/6a37GRxn28iyTPvNXaW4XvznexRh1zUNLPjbLL22Id0XQElV94ruw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.5.tgz#0e98e82097b38550b03b483f9b51a78de0acb2cf" - integrity sha512-J4VxKAMykM06K/64z9rwiL6xnBHgB1+FVspqvlgCdwD1KUbQNfszeKVVOMh59w3sztHYIZDgnhOC4WbdEfHFDA== +"@babel/plugin-transform-classes@^7.12.1", "@babel/plugin-transform-classes@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.16.0.tgz#54cf5ff0b2242c6573d753cd4bfc7077a8b282f5" + integrity sha512-HUxMvy6GtAdd+GKBNYDWCIA776byUQH8zjnfjxwT1P1ARv/wFu8eBDpmXQcLS/IwRtrxIReGiplOwMeyO7nsDQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-optimise-call-expression" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-optimise-call-expression" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" + "@babel/helper-replace-supers" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.12.1", "@babel/plugin-transform-computed-properties@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.14.5.tgz#1b9d78987420d11223d41195461cc43b974b204f" - integrity sha512-pWM+E4283UxaVzLb8UBXv4EIxMovU4zxT1OPnpHJcmnvyY9QbPPTKZfEj31EUvG3/EQRbYAGaYEUZ4yWOBC2xg== +"@babel/plugin-transform-computed-properties@^7.12.1", "@babel/plugin-transform-computed-properties@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.16.0.tgz#e0c385507d21e1b0b076d66bed6d5231b85110b7" + integrity sha512-63l1dRXday6S8V3WFY5mXJwcRAnPYxvFfTlt67bwV1rTyVTM5zrp0DBBb13Kl7+ehkCVwIZPumPpFP/4u70+Tw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.5.tgz#d32ad19ff1a6da1e861dc62720d80d9776e3bf35" - integrity sha512-wU9tYisEbRMxqDezKUqC9GleLycCRoUsai9ddlsq54r8QRLaeEhc+d+9DqCG+kV9W2GgQjTZESPTpn5bAFMDww== +"@babel/plugin-transform-destructuring@^7.12.1", "@babel/plugin-transform-destructuring@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.0.tgz#ad3d7e74584ad5ea4eadb1e6642146c590dee33c" + integrity sha512-Q7tBUwjxLTsHEoqktemHBMtb3NYwyJPTJdM+wDwb0g8PZ3kQUIzNvwD5lPaqW/p54TXBc/MXZu9Jr7tbUEUM8Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.14.5.tgz#2f6bf76e46bdf8043b4e7e16cf24532629ba0c7a" - integrity sha512-loGlnBdj02MDsFaHhAIJzh7euK89lBrGIdM9EAtHFo6xKygCUGuuWe07o1oZVk287amtW1n0808sQM99aZt3gw== +"@babel/plugin-transform-dotall-regex@^7.12.1", "@babel/plugin-transform-dotall-regex@^7.16.0", "@babel/plugin-transform-dotall-regex@^7.4.4": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.0.tgz#50bab00c1084b6162d0a58a818031cf57798e06f" + integrity sha512-FXlDZfQeLILfJlC6I1qyEwcHK5UpRCFkaoVyA1nk9A1L1Yu583YO4un2KsLBsu3IJb4CUbctZks8tD9xPQubLw== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.4.tgz#469c2062105c1eb6a040eaf4fac4b488078395ee" - integrity sha512-ZEAVvUTCMlMFAbASYSVQoxIbHm2OkG2MseW6bV2JjIygOjdVv8tuxrCTzj1+Rynh7ODb8GivUy7dzEXzEhuPaA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.4" - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-transform-duplicate-keys@^7.12.1", "@babel/plugin-transform-duplicate-keys@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.14.5.tgz#365a4844881bdf1501e3a9f0270e7f0f91177954" - integrity sha512-iJjbI53huKbPDAsJ8EmVmvCKeeq21bAze4fu9GBQtSLqfvzj2oRuHVx4ZkDwEhg1htQ+5OBZh/Ab0XDf5iBZ7A== +"@babel/plugin-transform-duplicate-keys@^7.12.1", "@babel/plugin-transform-duplicate-keys@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.16.0.tgz#8bc2e21813e3e89e5e5bf3b60aa5fc458575a176" + integrity sha512-LIe2kcHKAZOJDNxujvmp6z3mfN6V9lJxubU4fJIGoQCkKe3Ec2OcbdlYP+vW++4MpxwG0d1wSDOJtQW5kLnkZQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-exponentiation-operator@^7.12.1", "@babel/plugin-transform-exponentiation-operator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.14.5.tgz#5154b8dd6a3dfe6d90923d61724bd3deeb90b493" - integrity sha512-jFazJhMBc9D27o9jDnIE5ZErI0R0m7PbKXVq77FFvqFbzvTMuv8jaAwLZ5PviOLSFttqKIW0/wxNSDbjLk0tYA== +"@babel/plugin-transform-exponentiation-operator@^7.12.1", "@babel/plugin-transform-exponentiation-operator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.0.tgz#a180cd2881e3533cef9d3901e48dad0fbeff4be4" + integrity sha512-OwYEvzFI38hXklsrbNivzpO3fh87skzx8Pnqi4LoSYeav0xHlueSoCJrSgTPfnbyzopo5b3YVAJkFIcUpK2wsw== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.14.5" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-flow-strip-types@7.12.1": @@ -885,113 +706,113 @@ "@babel/helper-plugin-utils" "^7.10.4" "@babel/plugin-syntax-flow" "^7.12.1" -"@babel/plugin-transform-for-of@^7.12.1", "@babel/plugin-transform-for-of@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.14.5.tgz#dae384613de8f77c196a8869cbf602a44f7fc0eb" - integrity sha512-CfmqxSUZzBl0rSjpoQSFoR9UEj3HzbGuGNL21/iFTmjb5gFggJp3ph0xR1YBhexmLoKRHzgxuFvty2xdSt6gTA== +"@babel/plugin-transform-for-of@^7.12.1", "@babel/plugin-transform-for-of@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.16.0.tgz#f7abaced155260e2461359bbc7c7248aca5e6bd2" + integrity sha512-5QKUw2kO+GVmKr2wMYSATCTTnHyscl6sxFRAY+rvN7h7WB0lcG0o4NoV6ZQU32OZGVsYUsfLGgPQpDFdkfjlJQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-function-name@^7.12.1", "@babel/plugin-transform-function-name@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.14.5.tgz#e81c65ecb900746d7f31802f6bed1f52d915d6f2" - integrity sha512-vbO6kv0fIzZ1GpmGQuvbwwm+O4Cbm2NrPzwlup9+/3fdkuzo1YqOZcXw26+YUJB84Ja7j9yURWposEHLYwxUfQ== +"@babel/plugin-transform-function-name@^7.12.1", "@babel/plugin-transform-function-name@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.0.tgz#02e3699c284c6262236599f751065c5d5f1f400e" + integrity sha512-lBzMle9jcOXtSOXUpc7tvvTpENu/NuekNJVova5lCCWCV9/U1ho2HH2y0p6mBg8fPm/syEAbfaaemYGOHCY3mg== dependencies: - "@babel/helper-function-name" "^7.14.5" + "@babel/helper-function-name" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-literals@^7.12.1", "@babel/plugin-transform-literals@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.14.5.tgz#41d06c7ff5d4d09e3cf4587bd3ecf3930c730f78" - integrity sha512-ql33+epql2F49bi8aHXxvLURHkxJbSmMKl9J5yHqg4PLtdE6Uc48CH1GS6TQvZ86eoB/ApZXwm7jlA+B3kra7A== +"@babel/plugin-transform-literals@^7.12.1", "@babel/plugin-transform-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.16.0.tgz#79711e670ffceb31bd298229d50f3621f7980cac" + integrity sha512-gQDlsSF1iv9RU04clgXqRjrPyyoJMTclFt3K1cjLmTKikc0s/6vE3hlDeEVC71wLTRu72Fq7650kABrdTc2wMQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-member-expression-literals@^7.12.1", "@babel/plugin-transform-member-expression-literals@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.14.5.tgz#b39cd5212a2bf235a617d320ec2b48bcc091b8a7" - integrity sha512-WkNXxH1VXVTKarWFqmso83xl+2V3Eo28YY5utIkbsmXoItO8Q3aZxN4BTS2k0hz9dGUloHK26mJMyQEYfkn/+Q== +"@babel/plugin-transform-member-expression-literals@^7.12.1", "@babel/plugin-transform-member-expression-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.0.tgz#5251b4cce01eaf8314403d21aedb269d79f5e64b" + integrity sha512-WRpw5HL4Jhnxw8QARzRvwojp9MIE7Tdk3ez6vRyUk1MwgjJN0aNpRoXainLR5SgxmoXx/vsXGZ6OthP6t/RbUg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-modules-amd@^7.12.1", "@babel/plugin-transform-modules-amd@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.14.5.tgz#4fd9ce7e3411cb8b83848480b7041d83004858f7" - integrity sha512-3lpOU8Vxmp3roC4vzFpSdEpGUWSMsHFreTWOMMLzel2gNGfHE5UWIh/LN6ghHs2xurUp4jRFYMUIZhuFbody1g== +"@babel/plugin-transform-modules-amd@^7.12.1", "@babel/plugin-transform-modules-amd@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.16.0.tgz#09abd41e18dcf4fd479c598c1cef7bd39eb1337e" + integrity sha512-rWFhWbCJ9Wdmzln1NmSCqn7P0RAD+ogXG/bd9Kg5c7PKWkJtkiXmYsMBeXjDlzHpVTJ4I/hnjs45zX4dEv81xw== dependencies: - "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-module-transforms" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-commonjs@^7.12.1", "@babel/plugin-transform-modules-commonjs@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.14.5.tgz#7aaee0ea98283de94da98b28f8c35701429dad97" - integrity sha512-en8GfBtgnydoao2PS+87mKyw62k02k7kJ9ltbKe0fXTHrQmG6QZZflYuGI1VVG7sVpx4E1n7KBpNlPb8m78J+A== +"@babel/plugin-transform-modules-commonjs@^7.12.1", "@babel/plugin-transform-modules-commonjs@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.16.0.tgz#add58e638c8ddc4875bd9a9ecb5c594613f6c922" + integrity sha512-Dzi+NWqyEotgzk/sb7kgQPJQf7AJkQBWsVp1N6JWc1lBVo0vkElUnGdr1PzUBmfsCCN5OOFya3RtpeHk15oLKQ== dependencies: - "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-module-transforms" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-simple-access" "^7.14.5" + "@babel/helper-simple-access" "^7.16.0" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-systemjs@^7.12.1", "@babel/plugin-transform-modules-systemjs@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.14.5.tgz#c75342ef8b30dcde4295d3401aae24e65638ed29" - integrity sha512-mNMQdvBEE5DcMQaL5LbzXFMANrQjd2W7FPzg34Y4yEz7dBgdaC+9B84dSO+/1Wba98zoDbInctCDo4JGxz1VYA== +"@babel/plugin-transform-modules-systemjs@^7.12.1", "@babel/plugin-transform-modules-systemjs@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.16.0.tgz#a92cf240afeb605f4ca16670453024425e421ea4" + integrity sha512-yuGBaHS3lF1m/5R+6fjIke64ii5luRUg97N2wr+z1sF0V+sNSXPxXDdEEL/iYLszsN5VKxVB1IPfEqhzVpiqvg== dependencies: - "@babel/helper-hoist-variables" "^7.14.5" - "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-module-transforms" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-validator-identifier" "^7.14.5" + "@babel/helper-validator-identifier" "^7.15.7" babel-plugin-dynamic-import-node "^2.3.3" -"@babel/plugin-transform-modules-umd@^7.12.1", "@babel/plugin-transform-modules-umd@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.14.5.tgz#fb662dfee697cce274a7cda525190a79096aa6e0" - integrity sha512-RfPGoagSngC06LsGUYyM9QWSXZ8MysEjDJTAea1lqRjNECE3y0qIJF/qbvJxc4oA4s99HumIMdXOrd+TdKaAAA== +"@babel/plugin-transform-modules-umd@^7.12.1", "@babel/plugin-transform-modules-umd@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.16.0.tgz#195f26c2ad6d6a391b70880effce18ce625e06a7" + integrity sha512-nx4f6no57himWiHhxDM5pjwhae5vLpTK2zCnDH8+wNLJy0TVER/LJRHl2bkt6w9Aad2sPD5iNNoUpY3X9sTGDg== dependencies: - "@babel/helper-module-transforms" "^7.14.5" + "@babel/helper-module-transforms" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1", "@babel/plugin-transform-named-capturing-groups-regex@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.14.5.tgz#d537e8ee083ee6f6aa4f4eef9d2081d555746e4c" - integrity sha512-+Xe5+6MWFo311U8SchgeX5c1+lJM+eZDBZgD+tvXu9VVQPXwwVzeManMMjYX6xw2HczngfOSZjoFYKwdeB/Jvw== +"@babel/plugin-transform-named-capturing-groups-regex@^7.12.1", "@babel/plugin-transform-named-capturing-groups-regex@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.16.0.tgz#d3db61cc5d5b97986559967cd5ea83e5c32096ca" + integrity sha512-LogN88uO+7EhxWc8WZuQ8vxdSyVGxhkh8WTC3tzlT8LccMuQdA81e9SGV6zY7kY2LjDhhDOFdQVxdGwPyBCnvg== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.16.0" -"@babel/plugin-transform-new-target@^7.12.1", "@babel/plugin-transform-new-target@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.14.5.tgz#31bdae8b925dc84076ebfcd2a9940143aed7dbf8" - integrity sha512-Nx054zovz6IIRWEB49RDRuXGI4Gy0GMgqG0cII9L3MxqgXz/+rgII+RU58qpo4g7tNEx1jG7rRVH4ihZoP4esQ== +"@babel/plugin-transform-new-target@^7.12.1", "@babel/plugin-transform-new-target@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.16.0.tgz#af823ab576f752215a49937779a41ca65825ab35" + integrity sha512-fhjrDEYv2DBsGN/P6rlqakwRwIp7rBGLPbrKxwh7oVt5NNkIhZVOY2GRV+ULLsQri1bDqwDWnU3vhlmx5B2aCw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-object-super@^7.12.1", "@babel/plugin-transform-object-super@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.14.5.tgz#d0b5faeac9e98597a161a9cf78c527ed934cdc45" - integrity sha512-MKfOBWzK0pZIrav9z/hkRqIk/2bTv9qvxHzPQc12RcVkMOzpIKnFCNYJip00ssKWYkd8Sf5g0Wr7pqJ+cmtuFg== +"@babel/plugin-transform-object-super@^7.12.1", "@babel/plugin-transform-object-super@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.0.tgz#fb20d5806dc6491a06296ac14ea8e8d6fedda72b" + integrity sha512-fds+puedQHn4cPLshoHcR1DTMN0q1V9ou0mUjm8whx9pGcNvDrVVrgw+KJzzCaiTdaYhldtrUps8DWVMgrSEyg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-replace-supers" "^7.14.5" + "@babel/helper-replace-supers" "^7.16.0" -"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.14.5.tgz#49662e86a1f3ddccac6363a7dfb1ff0a158afeb3" - integrity sha512-Tl7LWdr6HUxTmzQtzuU14SqbgrSKmaR77M0OKyq4njZLQTPfOvzblNKyNkGwOfEFCEx7KeYHQHDI0P3F02IVkA== +"@babel/plugin-transform-parameters@^7.12.1", "@babel/plugin-transform-parameters@^7.16.0", "@babel/plugin-transform-parameters@^7.16.3": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.16.3.tgz#fa9e4c874ee5223f891ee6fa8d737f4766d31d15" + integrity sha512-3MaDpJrOXT1MZ/WCmkOFo7EtmVVC8H4EUZVrHvFOsmwkk4lOjQj8rzv8JKUZV4YoQKeoIgk07GO+acPU9IMu/w== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.12.1", "@babel/plugin-transform-property-literals@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.14.5.tgz#0ddbaa1f83db3606f1cdf4846fa1dfb473458b34" - integrity sha512-r1uilDthkgXW8Z1vJz2dKYLV1tuw2xsbrp3MrZmD99Wh9vsfKoob+JTgri5VUb/JqyKRXotlOtwgu4stIYCmnw== +"@babel/plugin-transform-property-literals@^7.12.1", "@babel/plugin-transform-property-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.0.tgz#a95c552189a96a00059f6776dc4e00e3690c78d1" + integrity sha512-XLldD4V8+pOqX2hwfWhgwXzGdnDOThxaNTgqagOcpBgIxbUvpgU2FMvo5E1RyHbk756WYgdbS0T8y0Cj9FKkWQ== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-constant-elements@^7.12.1": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.14.5.tgz#41790d856f7c5cec82d2bcf5d0e5064d682522ed" - integrity sha512-NBqLEx1GxllIOXJInJAQbrnwwYJsV3WaMHIcOwD8rhYS0AabTWn7kHdHgPgu5RmHLU0q4DMxhAMu8ue/KampgQ== + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-constant-elements/-/plugin-transform-react-constant-elements-7.16.0.tgz#1483b894b8e6ef0709d260532fbd4db9fc27a0e6" + integrity sha512-OgtklS+p9t1X37eWA4XdvvbZG/3gqzX569gqmo3q4/Ui6qjfTQmOs5UTSrfdD9nVByHhX6Gbm/Pyc4KbwUXGWA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" @@ -1002,64 +823,64 @@ dependencies: "@babel/helper-plugin-utils" "^7.10.4" -"@babel/plugin-transform-react-display-name@^7.12.1", "@babel/plugin-transform-react-display-name@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.14.5.tgz#baa92d15c4570411301a85a74c13534873885b65" - integrity sha512-07aqY1ChoPgIxsuDviptRpVkWCSbXWmzQqcgy65C6YSFOfPFvb/DX3bBRHh7pCd/PMEEYHYWUTSVkCbkVainYQ== +"@babel/plugin-transform-react-display-name@^7.12.1", "@babel/plugin-transform-react-display-name@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.16.0.tgz#9a0ad8aa8e8790883a7bd2736f66229a58125676" + integrity sha512-FJFdJAqaCpndL+pIf0aeD/qlQwT7QXOvR6Cc8JPvNhKJBi2zc/DPc4g05Y3fbD/0iWAMQFGij4+Xw+4L/BMpTg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-react-jsx-development@^7.12.1", "@babel/plugin-transform-react-jsx-development@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.14.5.tgz#1a6c73e2f7ed2c42eebc3d2ad60b0c7494fcb9af" - integrity sha512-rdwG/9jC6QybWxVe2UVOa7q6cnTpw8JRRHOxntG/h6g/guAOe6AhtQHJuJh5FwmnXIT1bdm5vC2/5huV8ZOorQ== +"@babel/plugin-transform-react-jsx-development@^7.12.1", "@babel/plugin-transform-react-jsx-development@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.16.0.tgz#1cb52874678d23ab11d0d16488d54730807303ef" + integrity sha512-qq65iSqBRq0Hr3wq57YG2AmW0H6wgTnIzpffTphrUWUgLCOK+zf1f7G0vuOiXrp7dU1qq+fQBoqZ3wCDAkhFzw== dependencies: - "@babel/plugin-transform-react-jsx" "^7.14.5" + "@babel/plugin-transform-react-jsx" "^7.16.0" "@babel/plugin-transform-react-jsx-self@^7.12.1": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.14.5.tgz#703b5d1edccd342179c2a99ee8c7065c2b4403cc" - integrity sha512-M/fmDX6n0cfHK/NLTcPmrfVAORKDhK8tyjDhyxlUjYyPYYO8FRWwuxBA3WBx8kWN/uBUuwGa3s/0+hQ9JIN3Tg== + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.16.0.tgz#09202158abbc716a08330f392bfb98d6b9acfa0c" + integrity sha512-97yCFY+2GvniqOThOSjPor8xUoDiQ0STVWAQMl3pjhJoFVe5DuXDLZCRSZxu9clx+oRCbTiXGgKEG/Yoyo6Y+w== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-react-jsx-source@^7.12.1": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.14.5.tgz#79f728e60e6dbd31a2b860b0bf6c9765918acf1d" - integrity sha512-1TpSDnD9XR/rQ2tzunBVPThF5poaYT9GqP+of8fAtguYuI/dm2RkrMBDemsxtY0XBzvW7nXjYM0hRyKX9QYj7Q== + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.16.0.tgz#d40c959d7803aae38224594585748693e84c0a22" + integrity sha512-8yvbGGrHOeb/oyPc9tzNoe9/lmIjz3HLa9Nc5dMGDyNpGjfFrk8D2KdEq9NRkftZzeoQEW6yPQ29TMZtrLiUUA== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-react-jsx@^7.12.1", "@babel/plugin-transform-react-jsx@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.14.5.tgz#39749f0ee1efd8a1bd729152cf5f78f1d247a44a" - integrity sha512-7RylxNeDnxc1OleDm0F5Q/BSL+whYRbOAR+bwgCxIr0L32v7UFh/pz1DLMZideAUxKT6eMoS2zQH6fyODLEi8Q== +"@babel/plugin-transform-react-jsx@^7.12.1", "@babel/plugin-transform-react-jsx@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.0.tgz#55b797d4960c3de04e07ad1c0476e2bc6a4889f1" + integrity sha512-rqDgIbukZ44pqq7NIRPGPGNklshPkvlmvqjdx3OZcGPk4zGIenYkxDTvl3LsSL8gqcc3ZzGmXPE6hR/u/voNOw== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" - "@babel/helper-module-imports" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.16.0" + "@babel/helper-module-imports" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-jsx" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/plugin-syntax-jsx" "^7.16.0" + "@babel/types" "^7.16.0" -"@babel/plugin-transform-react-pure-annotations@^7.12.1", "@babel/plugin-transform-react-pure-annotations@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.14.5.tgz#18de612b84021e3a9802cbc212c9d9f46d0d11fc" - integrity sha512-3X4HpBJimNxW4rhUy/SONPyNQHp5YRr0HhJdT2OH1BRp0of7u3Dkirc7x9FRJMKMqTBI079VZ1hzv7Ouuz///g== +"@babel/plugin-transform-react-pure-annotations@^7.12.1", "@babel/plugin-transform-react-pure-annotations@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.16.0.tgz#23db6ddf558d8abde41b8ad9d59f48ad5532ccab" + integrity sha512-NC/Bj2MG+t8Ef5Pdpo34Ay74X4Rt804h5y81PwOpfPtmAK3i6CizmQqwyBQzIepz1Yt8wNr2Z2L7Lu3qBMfZMA== dependencies: - "@babel/helper-annotate-as-pure" "^7.14.5" + "@babel/helper-annotate-as-pure" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-regenerator@^7.12.1", "@babel/plugin-transform-regenerator@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.14.5.tgz#9676fd5707ed28f522727c5b3c0aa8544440b04f" - integrity sha512-NVIY1W3ITDP5xQl50NgTKlZ0GrotKtLna08/uGY6ErQt6VEQZXla86x/CTddm5gZdcr+5GSsvMeTmWA5Ii6pkg== +"@babel/plugin-transform-regenerator@^7.12.1", "@babel/plugin-transform-regenerator@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.16.0.tgz#eaee422c84b0232d03aea7db99c97deeaf6125a4" + integrity sha512-JAvGxgKuwS2PihiSFaDrp94XOzzTUeDeOQlcKzVAyaPap7BnZXK/lvMDiubkPTdotPKOIZq9xWXWnggUMYiExg== dependencies: regenerator-transform "^0.14.2" -"@babel/plugin-transform-reserved-words@^7.12.1", "@babel/plugin-transform-reserved-words@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.14.5.tgz#c44589b661cfdbef8d4300dcc7469dffa92f8304" - integrity sha512-cv4F2rv1nD4qdexOGsRQXJrOcyb5CrgjUH9PKrrtyhSDBNWGxd0UIitjyJiWagS+EbUGjG++22mGH1Pub8D6Vg== +"@babel/plugin-transform-reserved-words@^7.12.1", "@babel/plugin-transform-reserved-words@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.16.0.tgz#fff4b9dcb19e12619394bda172d14f2d04c0379c" + integrity sha512-Dgs8NNCehHSvXdhEhln8u/TtJxfVwGYCgP2OOr5Z3Ar+B+zXicEOKNTyc+eca2cuEOMtjW6m9P9ijOt8QdqWkg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" @@ -1073,64 +894,64 @@ resolve "^1.8.1" semver "^5.5.1" -"@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.14.5.tgz#97f13855f1409338d8cadcbaca670ad79e091a58" - integrity sha512-xLucks6T1VmGsTB+GWK5Pl9Jl5+nRXD1uoFdA5TSO6xtiNjtXTjKkmPdFXVLGlK5A2/or/wQMKfmQ2Y0XJfn5g== +"@babel/plugin-transform-shorthand-properties@^7.12.1", "@babel/plugin-transform-shorthand-properties@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.0.tgz#090372e3141f7cc324ed70b3daf5379df2fa384d" + integrity sha512-iVb1mTcD8fuhSv3k99+5tlXu5N0v8/DPm2mO3WACLG6al1CGZH7v09HJyUb1TtYl/Z+KrM6pHSIJdZxP5A+xow== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-spread@^7.12.1", "@babel/plugin-transform-spread@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.14.5.tgz#bd269fb4119754d2ce7f4cc39a96b4f71baae356" - integrity sha512-/3iqoQdiWergnShZYl0xACb4ADeYCJ7X/RgmwtXshn6cIvautRPAFzhd58frQlokLO6Jb4/3JXvmm6WNTPtiTw== +"@babel/plugin-transform-spread@^7.12.1", "@babel/plugin-transform-spread@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.16.0.tgz#d21ca099bbd53ab307a8621e019a7bd0f40cdcfb" + integrity sha512-Ao4MSYRaLAQczZVp9/7E7QHsCuK92yHRrmVNRe/SlEJjhzivq0BSn8mEraimL8wizHZ3fuaHxKH0iwzI13GyGg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" - "@babel/helper-skip-transparent-expression-wrappers" "^7.14.5" + "@babel/helper-skip-transparent-expression-wrappers" "^7.16.0" -"@babel/plugin-transform-sticky-regex@^7.12.1", "@babel/plugin-transform-sticky-regex@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.14.5.tgz#5b617542675e8b7761294381f3c28c633f40aeb9" - integrity sha512-Z7F7GyvEMzIIbwnziAZmnSNpdijdr4dWt+FJNBnBLz5mwDFkqIXU9wmBcWWad3QeJF5hMTkRe4dAq2sUZiG+8A== +"@babel/plugin-transform-sticky-regex@^7.12.1", "@babel/plugin-transform-sticky-regex@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.0.tgz#c35ea31a02d86be485f6aa510184b677a91738fd" + integrity sha512-/ntT2NljR9foobKk4E/YyOSwcGUXtYWv5tinMK/3RkypyNBNdhHUaq6Orw5DWq9ZcNlS03BIlEALFeQgeVAo4Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-template-literals@^7.12.1", "@babel/plugin-transform-template-literals@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.14.5.tgz#a5f2bc233937d8453885dc736bdd8d9ffabf3d93" - integrity sha512-22btZeURqiepOfuy/VkFr+zStqlujWaarpMErvay7goJS6BWwdd6BY9zQyDLDa4x2S3VugxFb162IZ4m/S/+Gg== +"@babel/plugin-transform-template-literals@^7.12.1", "@babel/plugin-transform-template-literals@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.16.0.tgz#a8eced3a8e7b8e2d40ec4ec4548a45912630d302" + integrity sha512-Rd4Ic89hA/f7xUSJQk5PnC+4so50vBoBfxjdQAdvngwidM8jYIBVxBZ/sARxD4e0yMXRbJVDrYf7dyRtIIKT6Q== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-typeof-symbol@^7.12.1", "@babel/plugin-transform-typeof-symbol@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.14.5.tgz#39af2739e989a2bd291bf6b53f16981423d457d4" - integrity sha512-lXzLD30ffCWseTbMQzrvDWqljvZlHkXU+CnseMhkMNqU1sASnCsz3tSzAaH3vCUXb9PHeUb90ZT1BdFTm1xxJw== +"@babel/plugin-transform-typeof-symbol@^7.12.1", "@babel/plugin-transform-typeof-symbol@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.16.0.tgz#8b19a244c6f8c9d668dca6a6f754ad6ead1128f2" + integrity sha512-++V2L8Bdf4vcaHi2raILnptTBjGEFxn5315YU+e8+EqXIucA+q349qWngCLpUYqqv233suJ6NOienIVUpS9cqg== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/plugin-transform-typescript@^7.12.1": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.14.5.tgz#5b41b59072f765bd1ec1d0b694e08c7df0f6f8a0" - integrity sha512-cFD5PKp4b8/KkwQ7h71FdPXFvz1RgwTFF9akRZwFldb9G0AHf7CgoPx96c4Q/ZVjh6V81tqQwW5YiHws16OzPg== + version "7.16.1" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.16.1.tgz#cc0670b2822b0338355bc1b3d2246a42b8166409" + integrity sha512-NO4XoryBng06jjw/qWEU2LhcLJr1tWkhpMam/H4eas/CDKMX/b2/Ylb6EI256Y7+FVPCawwSM1rrJNOpDiz+Lg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.14.5" + "@babel/helper-create-class-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" - "@babel/plugin-syntax-typescript" "^7.14.5" + "@babel/plugin-syntax-typescript" "^7.16.0" -"@babel/plugin-transform-unicode-escapes@^7.12.1", "@babel/plugin-transform-unicode-escapes@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.14.5.tgz#9d4bd2a681e3c5d7acf4f57fa9e51175d91d0c6b" - integrity sha512-crTo4jATEOjxj7bt9lbYXcBAM3LZaUrbP2uUdxb6WIorLmjNKSpHfIybgY4B8SRpbf8tEVIWH3Vtm7ayCrKocA== +"@babel/plugin-transform-unicode-escapes@^7.12.1", "@babel/plugin-transform-unicode-escapes@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.0.tgz#1a354064b4c45663a32334f46fa0cf6100b5b1f3" + integrity sha512-VFi4dhgJM7Bpk8lRc5CMaRGlKZ29W9C3geZjt9beuzSUrlJxsNwX7ReLwaL6WEvsOf2EQkyIJEPtF8EXjB/g2A== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-transform-unicode-regex@^7.12.1", "@babel/plugin-transform-unicode-regex@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.14.5.tgz#4cd09b6c8425dd81255c7ceb3fb1836e7414382e" - integrity sha512-UygduJpC5kHeCiRw/xDVzC+wj8VaYSoKl5JNVmbP7MadpNinAm3SvZCxZ42H37KZBKztz46YC73i9yV34d0Tzw== +"@babel/plugin-transform-unicode-regex@^7.12.1", "@babel/plugin-transform-unicode-regex@^7.16.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.0.tgz#293b80950177c8c85aede87cef280259fb995402" + integrity sha512-jHLK4LxhHjvCeZDWyA9c+P9XH1sOxRd1RO9xMtDVRAOND/PczPqizEtVdx4TQF/wyPaewqpT+tgQFYMnN/P94A== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.14.5" + "@babel/helper-create-regexp-features-plugin" "^7.16.0" "@babel/helper-plugin-utils" "^7.14.5" "@babel/preset-env@7.12.1": @@ -1206,30 +1027,31 @@ semver "^5.5.0" "@babel/preset-env@^7.12.1", "@babel/preset-env@^7.8.4": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.14.5.tgz#c0c84e763661fd0e74292c3d511cb33b0c668997" - integrity sha512-ci6TsS0bjrdPpWGnQ+m4f+JSSzDKlckqKIJJt9UZ/+g7Zz9k0N8lYU8IeLg/01o2h8LyNZDMLGgRLDTxpudLsA== + version "7.16.4" + resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.16.4.tgz#4f6ec33b2a3fe72d6bfdcdf3859500232563a2e3" + integrity sha512-v0QtNd81v/xKj4gNKeuAerQ/azeNn/G1B1qMLeXOcV8+4TWlD2j3NV1u8q29SDFBXx/NBq5kyEAO+0mpRgacjA== dependencies: - "@babel/compat-data" "^7.14.5" - "@babel/helper-compilation-targets" "^7.14.5" + "@babel/compat-data" "^7.16.4" + "@babel/helper-compilation-targets" "^7.16.3" "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.14.5" - "@babel/plugin-proposal-async-generator-functions" "^7.14.5" - "@babel/plugin-proposal-class-properties" "^7.14.5" - "@babel/plugin-proposal-class-static-block" "^7.14.5" - "@babel/plugin-proposal-dynamic-import" "^7.14.5" - "@babel/plugin-proposal-export-namespace-from" "^7.14.5" - "@babel/plugin-proposal-json-strings" "^7.14.5" - "@babel/plugin-proposal-logical-assignment-operators" "^7.14.5" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.14.5" - "@babel/plugin-proposal-numeric-separator" "^7.14.5" - "@babel/plugin-proposal-object-rest-spread" "^7.14.5" - "@babel/plugin-proposal-optional-catch-binding" "^7.14.5" - "@babel/plugin-proposal-optional-chaining" "^7.14.5" - "@babel/plugin-proposal-private-methods" "^7.14.5" - "@babel/plugin-proposal-private-property-in-object" "^7.14.5" - "@babel/plugin-proposal-unicode-property-regex" "^7.14.5" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.16.2" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-async-generator-functions" "^7.16.4" + "@babel/plugin-proposal-class-properties" "^7.16.0" + "@babel/plugin-proposal-class-static-block" "^7.16.0" + "@babel/plugin-proposal-dynamic-import" "^7.16.0" + "@babel/plugin-proposal-export-namespace-from" "^7.16.0" + "@babel/plugin-proposal-json-strings" "^7.16.0" + "@babel/plugin-proposal-logical-assignment-operators" "^7.16.0" + "@babel/plugin-proposal-nullish-coalescing-operator" "^7.16.0" + "@babel/plugin-proposal-numeric-separator" "^7.16.0" + "@babel/plugin-proposal-object-rest-spread" "^7.16.0" + "@babel/plugin-proposal-optional-catch-binding" "^7.16.0" + "@babel/plugin-proposal-optional-chaining" "^7.16.0" + "@babel/plugin-proposal-private-methods" "^7.16.0" + "@babel/plugin-proposal-private-property-in-object" "^7.16.0" + "@babel/plugin-proposal-unicode-property-regex" "^7.16.0" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" @@ -1244,61 +1066,50 @@ "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.14.5" - "@babel/plugin-transform-async-to-generator" "^7.14.5" - "@babel/plugin-transform-block-scoped-functions" "^7.14.5" - "@babel/plugin-transform-block-scoping" "^7.14.5" - "@babel/plugin-transform-classes" "^7.14.5" - "@babel/plugin-transform-computed-properties" "^7.14.5" - "@babel/plugin-transform-destructuring" "^7.14.5" - "@babel/plugin-transform-dotall-regex" "^7.14.5" - "@babel/plugin-transform-duplicate-keys" "^7.14.5" - "@babel/plugin-transform-exponentiation-operator" "^7.14.5" - "@babel/plugin-transform-for-of" "^7.14.5" - "@babel/plugin-transform-function-name" "^7.14.5" - "@babel/plugin-transform-literals" "^7.14.5" - "@babel/plugin-transform-member-expression-literals" "^7.14.5" - "@babel/plugin-transform-modules-amd" "^7.14.5" - "@babel/plugin-transform-modules-commonjs" "^7.14.5" - "@babel/plugin-transform-modules-systemjs" "^7.14.5" - "@babel/plugin-transform-modules-umd" "^7.14.5" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.14.5" - "@babel/plugin-transform-new-target" "^7.14.5" - "@babel/plugin-transform-object-super" "^7.14.5" - "@babel/plugin-transform-parameters" "^7.14.5" - "@babel/plugin-transform-property-literals" "^7.14.5" - "@babel/plugin-transform-regenerator" "^7.14.5" - "@babel/plugin-transform-reserved-words" "^7.14.5" - "@babel/plugin-transform-shorthand-properties" "^7.14.5" - "@babel/plugin-transform-spread" "^7.14.5" - "@babel/plugin-transform-sticky-regex" "^7.14.5" - "@babel/plugin-transform-template-literals" "^7.14.5" - "@babel/plugin-transform-typeof-symbol" "^7.14.5" - "@babel/plugin-transform-unicode-escapes" "^7.14.5" - "@babel/plugin-transform-unicode-regex" "^7.14.5" - "@babel/preset-modules" "^0.1.4" - "@babel/types" "^7.14.5" - babel-plugin-polyfill-corejs2 "^0.2.2" - babel-plugin-polyfill-corejs3 "^0.2.2" - babel-plugin-polyfill-regenerator "^0.2.2" - core-js-compat "^3.14.0" + "@babel/plugin-transform-arrow-functions" "^7.16.0" + "@babel/plugin-transform-async-to-generator" "^7.16.0" + "@babel/plugin-transform-block-scoped-functions" "^7.16.0" + "@babel/plugin-transform-block-scoping" "^7.16.0" + "@babel/plugin-transform-classes" "^7.16.0" + "@babel/plugin-transform-computed-properties" "^7.16.0" + "@babel/plugin-transform-destructuring" "^7.16.0" + "@babel/plugin-transform-dotall-regex" "^7.16.0" + "@babel/plugin-transform-duplicate-keys" "^7.16.0" + "@babel/plugin-transform-exponentiation-operator" "^7.16.0" + "@babel/plugin-transform-for-of" "^7.16.0" + "@babel/plugin-transform-function-name" "^7.16.0" + "@babel/plugin-transform-literals" "^7.16.0" + "@babel/plugin-transform-member-expression-literals" "^7.16.0" + "@babel/plugin-transform-modules-amd" "^7.16.0" + "@babel/plugin-transform-modules-commonjs" "^7.16.0" + "@babel/plugin-transform-modules-systemjs" "^7.16.0" + "@babel/plugin-transform-modules-umd" "^7.16.0" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.16.0" + "@babel/plugin-transform-new-target" "^7.16.0" + "@babel/plugin-transform-object-super" "^7.16.0" + "@babel/plugin-transform-parameters" "^7.16.3" + "@babel/plugin-transform-property-literals" "^7.16.0" + "@babel/plugin-transform-regenerator" "^7.16.0" + "@babel/plugin-transform-reserved-words" "^7.16.0" + "@babel/plugin-transform-shorthand-properties" "^7.16.0" + "@babel/plugin-transform-spread" "^7.16.0" + "@babel/plugin-transform-sticky-regex" "^7.16.0" + "@babel/plugin-transform-template-literals" "^7.16.0" + "@babel/plugin-transform-typeof-symbol" "^7.16.0" + "@babel/plugin-transform-unicode-escapes" "^7.16.0" + "@babel/plugin-transform-unicode-regex" "^7.16.0" + "@babel/preset-modules" "^0.1.5" + "@babel/types" "^7.16.0" + babel-plugin-polyfill-corejs2 "^0.3.0" + babel-plugin-polyfill-corejs3 "^0.4.0" + babel-plugin-polyfill-regenerator "^0.3.0" + core-js-compat "^3.19.1" semver "^6.3.0" -"@babel/preset-modules@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.3.tgz#13242b53b5ef8c883c3cf7dddd55b36ce80fbc72" - integrity sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/preset-modules@^0.1.4": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.4.tgz#362f2b68c662842970fdb5e254ffc8fc1c2e415e" - integrity sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg== +"@babel/preset-modules@^0.1.3", "@babel/preset-modules@^0.1.5": + version "0.1.5" + resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" + integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" @@ -1320,16 +1131,16 @@ "@babel/plugin-transform-react-pure-annotations" "^7.12.1" "@babel/preset-react@^7.12.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.14.5.tgz#0fbb769513f899c2c56f3a882fa79673c2d4ab3c" - integrity sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ== + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.16.0.tgz#f71d3e8dff5218478011df037fad52660ee6d82a" + integrity sha512-d31IFW2bLRB28uL1WoElyro8RH5l6531XfxMtCeCmp6RVAF1uTfxxUA0LH1tXl+psZdwfmIbwoG4U5VwgbhtLw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" "@babel/helper-validator-option" "^7.14.5" - "@babel/plugin-transform-react-display-name" "^7.14.5" - "@babel/plugin-transform-react-jsx" "^7.14.5" - "@babel/plugin-transform-react-jsx-development" "^7.14.5" - "@babel/plugin-transform-react-pure-annotations" "^7.14.5" + "@babel/plugin-transform-react-display-name" "^7.16.0" + "@babel/plugin-transform-react-jsx" "^7.16.0" + "@babel/plugin-transform-react-jsx-development" "^7.16.0" + "@babel/plugin-transform-react-pure-annotations" "^7.16.0" "@babel/preset-typescript@7.12.1": version "7.12.1" @@ -1340,11 +1151,11 @@ "@babel/plugin-transform-typescript" "^7.12.1" "@babel/runtime-corejs3@^7.10.2": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.14.5.tgz#0d9bf00d59c0b73185c462c323efffd0f4c37283" - integrity sha512-cBbwXj3F2xjnQJ0ERaFRLjxhUSBYsQPXJ7CERz/ecx6q6hzQ99eTflAPFC3ks4q/IG4CWupNVdflc4jlFBJVsg== + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.3.tgz#1e25de4fa994c57c18e5fdda6cc810dac70f5590" + integrity sha512-IAdDC7T0+wEB4y2gbIL0uOXEYpiZEeuFUTVbdGq+UwCcF35T/tS8KrmMomEwEc5wBbyfH3PJVpTSUqrhPDXFcQ== dependencies: - core-js-pure "^3.14.0" + core-js-pure "^3.19.0" regenerator-runtime "^0.13.4" "@babel/runtime@7.12.1": @@ -1354,83 +1165,43 @@ dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.1.2", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.4.tgz#a6724f1a6b8d2f6ea5236dbfe58c7d7ea9c5eb99" - integrity sha512-UpTN5yUJr9b4EX2CnGNWIvER7Ab83ibv0pcvvHc4UOdrBI5jb8bj+32cCwPX6xu0mt2daFNjYhoi+X7beH0RSw== +"@babel/runtime@^7.1.2", "@babel/runtime@^7.10.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.13", "@babel/runtime@^7.13.10", "@babel/runtime@^7.16.3", "@babel/runtime@^7.5.5", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" + integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== dependencies: regenerator-runtime "^0.13.4" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.0", "@babel/runtime@^7.13.10": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.14.5.tgz#665450911c6031af38f81db530f387ec04cd9a98" - integrity sha512-121rumjddw9c3NCQ55KGkyE1h/nzWhU/owjhw0l4mQrkzz4x9SGS1X8gFLraHwX7td3Yo4QTL+qj0NcIzN87BA== +"@babel/template@^7.10.4", "@babel/template@^7.16.0", "@babel/template@^7.3.3": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" + integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A== dependencies: - regenerator-runtime "^0.13.4" + "@babel/code-frame" "^7.16.0" + "@babel/parser" "^7.16.0" + "@babel/types" "^7.16.0" -"@babel/template@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.10.4.tgz#3251996c4200ebc71d1a8fc405fba940f36ba278" - integrity sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA== +"@babel/traverse@^7.1.0", "@babel/traverse@^7.12.1", "@babel/traverse@^7.13.0", "@babel/traverse@^7.16.0", "@babel/traverse@^7.16.3", "@babel/traverse@^7.7.0": + version "7.16.3" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787" + integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag== dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" - -"@babel/template@^7.14.5", "@babel/template@^7.3.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.14.5.tgz#a9bc9d8b33354ff6e55a9c60d1109200a68974f4" - integrity sha512-6Z3Po85sfxRGachLULUhOmvAaOo7xCvqGQtxINai2mEGPFm6pQ4z5QInFnUrRpfoSV60BnjyF5F3c+15fxFV1g== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/parser" "^7.14.5" - "@babel/types" "^7.14.5" - -"@babel/traverse@^7.1.0", "@babel/traverse@^7.10.4", "@babel/traverse@^7.7.0": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.10.4.tgz#e642e5395a3b09cc95c8e74a27432b484b697818" - integrity sha512-aSy7p5THgSYm4YyxNGz6jZpXf+Ok40QF3aA2LyIONkDHpAcJzDUqlCKXv6peqYUs2gmic849C/t2HKw2a2K20Q== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/generator" "^7.10.4" - "@babel/helper-function-name" "^7.10.4" - "@babel/helper-split-export-declaration" "^7.10.4" - "@babel/parser" "^7.10.4" - "@babel/types" "^7.10.4" - debug "^4.1.0" - globals "^11.1.0" - lodash "^4.17.13" - -"@babel/traverse@^7.12.1", "@babel/traverse@^7.13.0", "@babel/traverse@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.14.5.tgz#c111b0f58afab4fea3d3385a406f692748c59870" - integrity sha512-G3BiS15vevepdmFqmUc9X+64y0viZYygubAMO8SvBmKARuF6CPSZtH4Ng9vi/lrWlZFGe3FWdXNy835akH8Glg== - dependencies: - "@babel/code-frame" "^7.14.5" - "@babel/generator" "^7.14.5" - "@babel/helper-function-name" "^7.14.5" - "@babel/helper-hoist-variables" "^7.14.5" - "@babel/helper-split-export-declaration" "^7.14.5" - "@babel/parser" "^7.14.5" - "@babel/types" "^7.14.5" + "@babel/code-frame" "^7.16.0" + "@babel/generator" "^7.16.0" + "@babel/helper-function-name" "^7.16.0" + "@babel/helper-hoist-variables" "^7.16.0" + "@babel/helper-split-export-declaration" "^7.16.0" + "@babel/parser" "^7.16.3" + "@babel/types" "^7.16.0" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.10.4", "@babel/types@^7.3.0", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.4.tgz#369517188352e18219981efd156bfdb199fff1ee" - integrity sha512-UTCFOxC3FsFHb7lkRMVvgLzaRVamXuAs2Tz4wajva4WxtVY82eZeaUBtC2Zt95FU9TiznuC0Zk35tsim8jeVpg== +"@babel/types@^7.0.0", "@babel/types@^7.12.1", "@babel/types@^7.12.6", "@babel/types@^7.16.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.16.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" + integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg== dependencies: - "@babel/helper-validator-identifier" "^7.10.4" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@babel/types@^7.12.1", "@babel/types@^7.12.6", "@babel/types@^7.14.5", "@babel/types@^7.3.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.14.5.tgz#3bb997ba829a2104cedb20689c4a5b8121d383ff" - integrity sha512-M/NzBpEL95I5Hh4dwhin5JlE7EzO5PHMAuzjxss3tiOBD46KfQvVedN/3jEPZvdRvtsK2222XfdHogNIttFgcg== - dependencies: - "@babel/helper-validator-identifier" "^7.14.5" + "@babel/helper-validator-identifier" "^7.15.7" to-fast-properties "^2.0.0" "@bcoe/v8-coverage@^0.2.3": @@ -1456,16 +1227,16 @@ resolved "https://registry.yarnpkg.com/@csstools/normalize.css/-/normalize.css-10.1.0.tgz#f0950bba18819512d42f7197e56c518aa491cf18" integrity sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg== -"@emotion/cache@^11.4.0": - version "11.4.0" - resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.4.0.tgz#293fc9d9a7a38b9aad8e9337e5014366c3b09ac0" - integrity sha512-Zx70bjE7LErRO9OaZrhf22Qye1y4F7iDl+ITjet0J+i+B88PrAOBkKvaAWhxsZf72tDLajwCgfCjJ2dvH77C3g== +"@emotion/cache@^11.4.0", "@emotion/cache@^11.6.0": + version "11.6.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.6.0.tgz#65fbdbbe4382f1991d8b20853c38e63ecccec9a1" + integrity sha512-ElbsWY1KMwEowkv42vGo0UPuLgtPYfIs9BxxVrmvsaJVvktknsHYYlx5NQ5g6zLDcOTyamlDc7FkRg2TAcQDKQ== dependencies: "@emotion/memoize" "^0.7.4" - "@emotion/sheet" "^1.0.0" + "@emotion/sheet" "^1.1.0" "@emotion/utils" "^1.0.0" "@emotion/weak-memoize" "^0.2.5" - stylis "^4.0.3" + stylis "^4.0.10" "@emotion/hash@^0.8.0": version "0.8.0" @@ -1478,14 +1249,14 @@ integrity sha512-igX9a37DR2ZPGYtV6suZ6whr8pTFtyHL3K/oLUotxpSVO2ASaprmAe2Dkq7tBo7CRY7MMDrAa9nuQP9/YG8FxQ== "@emotion/react@^11.1.1": - version "11.4.0" - resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.4.0.tgz#2465ad7b073a691409b88dfd96dc17097ddad9b7" - integrity sha512-4XklWsl9BdtatLoJpSjusXhpKv9YVteYKh9hPKP1Sxl+mswEFoUe0WtmtWjxEjkA51DQ2QRMCNOvKcSlCQ7ivg== + version "11.6.0" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.6.0.tgz#61fcb95c1e01255734c2c721cb9beabcf521eb0f" + integrity sha512-23MnRZFBN9+D1lHXC5pD6z4X9yhPxxtHr6f+iTGz6Fv6Rda0GdefPrsHL7otsEf+//7uqCdT5QtHeRxHCERzuw== dependencies: "@babel/runtime" "^7.13.10" - "@emotion/cache" "^11.4.0" + "@emotion/cache" "^11.6.0" "@emotion/serialize" "^1.0.2" - "@emotion/sheet" "^1.0.1" + "@emotion/sheet" "^1.1.0" "@emotion/utils" "^1.0.0" "@emotion/weak-memoize" "^0.2.5" hoist-non-react-statics "^3.3.1" @@ -1501,10 +1272,10 @@ "@emotion/utils" "^1.0.0" csstype "^3.0.2" -"@emotion/sheet@^1.0.0", "@emotion/sheet@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.0.1.tgz#245f54abb02dfd82326e28689f34c27aa9b2a698" - integrity sha512-GbIvVMe4U+Zc+929N1V7nW6YYJtidj31lidSmdYcWozwoBIObXBnaJkKNDjZrLm9Nc0BR+ZyHNaRZxqNZbof5g== +"@emotion/sheet@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.1.0.tgz#56d99c41f0a1cda2726a05aa6a20afd4c63e58d2" + integrity sha512-u0AX4aSo25sMAygCuQTzS+HsImZFuS8llY8O7b9MDRzbJM0kVJlAz6KNDqcG7pOuQZJmj/8X/rAW+66kMnMW+g== "@emotion/unitless@^0.7.5": version "0.7.5" @@ -1521,10 +1292,10 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.2.5.tgz#8eed982e2ee6f7f4e44c253e12962980791efd46" integrity sha512-6U71C2Wp7r5XtFtQzYrW5iKFT67OixrSxjI4MptCHzdSVlgabczzqLe0ZSgnub/5Kp4hSbpDB1tMytZY9pwxxA== -"@eslint/eslintrc@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.2.tgz#f63d0ef06f5c0c57d76c4ab5f63d3835c51b0179" - integrity sha512-8nmGq/4ycLpIwzvhI4tNDmQztZ8sp+hI7cyG8i1nQDhkAbRzHpXPidRAHlNvCZQpJTKw5ItIpMw9RSToGF00mg== +"@eslint/eslintrc@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== dependencies: ajv "^6.12.4" debug "^4.1.1" @@ -1536,6 +1307,11 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@gar/promisify@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.2.tgz#30aa825f11d438671d585bd44e7fd564535fc210" + integrity sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw== + "@hapi/address@2.x.x": version "2.1.4" resolved "https://registry.yarnpkg.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5" @@ -1568,6 +1344,20 @@ dependencies: "@hapi/hoek" "^8.3.0" +"@humanwhocodes/config-array@^0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== + dependencies: + "@humanwhocodes/object-schema" "^1.2.0" + debug "^4.1.1" + minimatch "^3.0.4" + +"@humanwhocodes/object-schema@^1.2.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== + "@istanbuljs/load-nyc-config@^1.0.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" @@ -1769,13 +1559,21 @@ integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": - version "1.2.7" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.7.tgz#94c23db18ee4653e129abd26fb06f870ac9e1ee2" - integrity sha512-BTIhocbPBSrRmHxOAJFtR18oLhxTtAFDAvL8hY1S3iU8k+E60W/YFs4jrixGzQjMpF4qPXxIQHcjVD9dz1C2QA== + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@npmcli/fs@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.0.0.tgz#589612cfad3a6ea0feafcb901d29c63fd52db09f" + integrity sha512-8ltnOpRR/oJbOp8vaGUnipOi3bqkcW+sLHFlyXIr08OGHmVJLB1Hn7QtGXbYcpVtH1gAYZTlmDXtE4YV0+AMMQ== + dependencies: + "@gar/promisify" "^1.0.1" + semver "^7.3.5" + "@npmcli/move-file@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674" @@ -1955,9 +1753,9 @@ integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": - version "7.1.14" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.14.tgz#faaeefc4185ec71c389f4501ee5ec84b170cc402" - integrity sha512-zGZJzzBUVDo/eV6KgbE0f0ZI7dInEYvo12Rb70uNQDshC3SkRMb67ja0GgRHZgAX3Za6rhaWlvbDO8rrGyAb1g== + version "7.1.16" + resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.16.tgz#bc12c74b7d65e82d29876b5d0baf5c625ac58702" + integrity sha512-EAEHtisTMM+KaKwfWdC3oyllIqswlznXCIVCt7/oRNrh+DhgT4UEBNC/jlADNjvw7UnfbcdkGQcPVZ1xYiLcrQ== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" @@ -1966,31 +1764,24 @@ "@types/babel__traverse" "*" "@types/babel__generator@*": - version "7.6.1" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.1.tgz#4901767b397e8711aeb99df8d396d7ba7b7f0e04" - integrity sha512-bBKm+2VPJcMRVwNhxKu8W+5/zT7pwNEqeokFOmbvVSqGzFneNxYcEBro9Ac7/N9tlsaPYnZLK8J1LWKkMsLAew== + version "7.6.3" + resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.3.tgz#f456b4b2ce79137f768aa130d2423d2f0ccfaba5" + integrity sha512-/GWCmzJWqV7diQW54smJZzWbSFf4QYtF71WCKhcx6Ru/tFyQIY2eiiITcCAeuPbNSvT9YCGkVMqqvSk2Z0mXiA== dependencies: "@babel/types" "^7.0.0" "@types/babel__template@*": - version "7.0.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.0.2.tgz#4ff63d6b52eddac1de7b975a5223ed32ecea9307" - integrity sha512-/K6zCpeW7Imzgab2bLkLEbz0+1JlFSrUMdw7KoIIu+IUdu51GWaBZpd3y1VXGVXzynvGa4DaIaxNZHiON3GXUg== + version "7.4.1" + resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" + integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== dependencies: "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.0.13" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.0.13.tgz#1874914be974a492e1b4cb00585cabb274e8ba18" - integrity sha512-i+zS7t6/s9cdQvbqKDARrcbrPvtJGlbYsMkazo03nTAK3RX9FNrLllXys22uiTGJapPOTZTQ35nHh4ISph4SLQ== - dependencies: - "@babel/types" "^7.3.0" - -"@types/babel__traverse@^7.0.4": - version "7.11.1" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.11.1.tgz#654f6c4f67568e24c23b367e947098c6206fa639" - integrity sha512-Vs0hm0vPahPMYi9tDjtP66llufgO3ST16WXaSTtDGEl9cewAl3AibmxWw6TINOqHPT9z0uABKAYjT9jNSg4npw== +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": + version "7.14.2" + resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.14.2.tgz#ffcd470bbb3f8bf30481678fb5502278ca833a43" + integrity sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA== dependencies: "@babel/types" "^7.3.0" @@ -1999,23 +1790,18 @@ resolved "https://registry.yarnpkg.com/@types/base16/-/base16-1.0.2.tgz#eb3a07db52309bfefb9ba010dfdb3c0784971f65" integrity sha512-oYO/U4VD1DavwrKuCSQWdLG+5K22SLPem2OQaHmFcQuwHoVeGC+JGVRji2MUqZUAIQZHEonOeVfAX09hYiLsdg== -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - -"@types/eslint@^7.2.6": - version "7.2.13" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.13.tgz#e0ca7219ba5ded402062ad6f926d491ebb29dd53" - integrity sha512-LKmQCWAlnVHvvXq4oasNUMTJJb2GwSyTY8+1C7OH5ILR8mPLaljv1jxL1bXW3xB3jFbQxTKxJAvI8PyjB09aBg== +"@types/eslint@^7.28.2": + version "7.29.0" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.29.0.tgz#e56ddc8e542815272720bb0b4ccc2aff9c3e1c78" + integrity sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng== dependencies: "@types/estree" "*" "@types/json-schema" "*" "@types/estree@*": - version "0.0.48" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.48.tgz#18dc8091b285df90db2f25aa7d906cfc394b7f74" - integrity sha512-LfZwXoGUDo0C3me81HXgkBg5CTQYb6xzEl+fNmbO4JdRiSKQ8A0GD1OBBvKAIsbCUgoyAty7m99GqqMQe784ew== + version "0.0.50" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" + integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== "@types/estree@0.0.39": version "0.0.39" @@ -2023,9 +1809,9 @@ integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== "@types/glob@^7.1.1": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.1.3.tgz#e6ba80f36b7daad2c685acd9266382e68985c183" - integrity sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w== + version "7.2.0" + resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb" + integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA== dependencies: "@types/minimatch" "*" "@types/node" "*" @@ -2038,9 +1824,9 @@ "@types/node" "*" "@types/html-minifier-terser@^5.0.0": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz#3c9ee980f1a10d6021ae6632ca3e79ca2ec4fb50" - integrity sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA== + version "5.1.2" + resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-5.1.2.tgz#693b316ad323ea97eed6b38ed1a3cc02b1672b57" + integrity sha512-h4lTMgMJctJybDp8CQrxTUiiYmedihHWkjnF/8Pxseu2S6Nlfcy8kwboQ8yejh456rP2yWoEVm1sS/FVsfM48w== "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": version "2.0.3" @@ -2061,47 +1847,35 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.6", "@types/json-schema@^7.0.7": - version "7.0.7" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" - integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== - -"@types/json-schema@^7.0.3", "@types/json-schema@^7.0.4": - version "7.0.5" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.5.tgz#dcce4430e64b443ba8945f0290fb564ad5bac6dd" - integrity sha512-7+2BITlgjgDhH0vvwZU/HZJVyk+2XUlvxXe8dFMedNX/aMkaOq++rMAFXc0tM7ij15QaWlbdQASBR9dihi+bDQ== +"@types/json-schema@*", "@types/json-schema@^7.0.3", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8": + version "7.0.9" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" + integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== "@types/json5@^0.0.29": version "0.0.29" resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= -"@types/lodash.curry@^4.1.6": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@types/lodash.curry/-/lodash.curry-4.1.6.tgz#f26c490c80c92d7cbaa2300d542e89781d44b1ff" - integrity sha512-x3ctCcmOYqRrihNNnQJW6fe/yZFCgnrIa6p80AiPQRO8Jis29bBdy1dEw1FwngoF/mCZa3Bx+33fUZvOEE635Q== - dependencies: - "@types/lodash" "*" - -"@types/lodash@*": - version "4.14.170" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.170.tgz#0d67711d4bf7f4ca5147e9091b847479b87925d6" - integrity sha512-bpcvu/MKHHeYX+qeEN8GE7DIravODWdACVA1ctevD8CN24RhPZIKMn9ntfAsrvLfSX3cR5RrBKAbYm9bGs0A+Q== +"@types/lodash@^4.14.176": + version "4.14.177" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.177.tgz#f70c0d19c30fab101cad46b52be60363c43c4578" + integrity sha512-0fDwydE2clKe9MNfvXHBHF9WEahRuj+msTuQqOmAApNORFvhMYZKNGGJdCzuhheVjMps/ti0Ak/iJPACMaevvw== "@types/minimatch@*": - version "3.0.3" - resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.3.tgz#3dca0e3f33b200fc7d1139c0cd96c1268cadfd9d" - integrity sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA== + version "3.0.5" + resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.5.tgz#1001cc5e6a3704b83c236027e77f2f58ea010f40" + integrity sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ== "@types/node@*": - version "14.0.22" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.22.tgz#23ea4d88189cec7d58f9e6b66f786b215eb61bdc" - integrity sha512-emeGcJvdiZ4Z3ohbmw93E/64jRzUHAItSHt8nF7M4TGgQTiWqFVGB8KNpLGFmUHmHLvjvBgFwVlqNcq+VuGv9g== + version "16.11.9" + resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.9.tgz#879be3ad7af29f4c1a5c433421bf99fab7047185" + integrity sha512-MKmdASMf3LtPzwLyRrFjtFFZ48cMf8jmX5VRYrDQiJa8Ybu5VAmkqBWqKU8fdCwD8ysw4mQ9nrEHvzg6gunR7A== "@types/normalize-package-data@^2.4.0": - version "2.4.0" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e" - integrity sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA== + version "2.4.1" + resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" + integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== "@types/parse-json@^4.0.0": version "4.0.0" @@ -2109,19 +1883,35 @@ integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== "@types/prettier@^2.0.0": - version "2.2.3" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.2.3.tgz#ef65165aea2924c9359205bf748865b8881753c0" - integrity sha512-PijRCG/K3s3w1We6ynUKdxEc5AcuuH3NBmMDP8uvKVp6X43UY7NQlTzczakXP3DJR0F4dfNQIGjU2cUeRYs2AA== + version "2.4.2" + resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.4.2.tgz#4c62fae93eb479660c3bd93f9d24d561597a8281" + integrity sha512-ekoj4qOQYp7CvjX8ZDBgN86w3MqQhLE1hczEJbEIjgFEumDy+na/4AJAbLXfgEWFNB2pKadM5rPFtuSGMWK7xA== -"@types/prop-types@^15.7.3": - version "15.7.3" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" - integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== +"@types/prop-types@*", "@types/prop-types@^15.7.4": + version "15.7.4" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" + integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== "@types/q@^1.5.1": - version "1.5.4" - resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24" - integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug== + version "1.5.5" + resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.5.tgz#75a2a8e7d8ab4b230414505d92335d1dcb53a6df" + integrity sha512-L28j2FcJfSZOnL1WBjDYp2vUHCeIFlyYI/53EwD/rKUBQ7MtUUfbQWiyKJGpcnv4/WgrhWsFKrcPstcAt/J0tQ== + +"@types/react-transition-group@^4.4.0": + version "4.4.4" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.4.tgz#acd4cceaa2be6b757db61ed7b432e103242d163e" + integrity sha512-7gAPz7anVK5xzbeQW9wFBDg7G++aPLAFY0QaSMOou9rJZpbuI58WAuJrgu+qR92l61grlnCUe7AFX8KGahAgug== + dependencies: + "@types/react" "*" + +"@types/react@*": + version "17.0.35" + resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.35.tgz#217164cf830267d56cd1aec09dcf25a541eedd4c" + integrity sha512-r3C8/TJuri/SLZiiwwxQoLAoavaczARfT9up9b4Jr65+ErAUX3MIkU0oMOQnrpfgHme8zIqZLX7O5nnjm5Wayw== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" "@types/resolve@0.0.8": version "0.0.8" @@ -2130,41 +1920,46 @@ dependencies: "@types/node" "*" +"@types/scheduler@*": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" + integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== + "@types/source-list-map@*": version "0.1.2" resolved "https://registry.yarnpkg.com/@types/source-list-map/-/source-list-map-0.1.2.tgz#0078836063ffaf17412349bba364087e0ac02ec9" integrity sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA== "@types/stack-utils@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.0.tgz#7036640b4e21cc2f259ae826ce843d277dad8cff" - integrity sha512-RJJrrySY7A8havqpGObOB4W92QXKJo63/jFLLgpvOtsGUqbQZ9Sbgl35KMm1DjC6j7AvmmU2bIno+3IyEaemaw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" + integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== "@types/tapable@^1", "@types/tapable@^1.0.5": - version "1.0.7" - resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.7.tgz#545158342f949e8fd3bfd813224971ecddc3fac4" - integrity sha512-0VBprVqfgFD7Ehb2vd8Lh9TG3jP98gvr8rgehQqzztZNI7o8zS8Ad4jyZneKELphpuE212D8J70LnSNQSyO6bQ== + version "1.0.8" + resolved "https://registry.yarnpkg.com/@types/tapable/-/tapable-1.0.8.tgz#b94a4391c85666c7b73299fd3ad79d4faa435310" + integrity sha512-ipixuVrh2OdNmauvtT51o3d8z12p6LtFW9in7U79der/kwejjdNchQC5UMn5u/KxNoM7VHHOs/l8KS8uHxhODQ== "@types/uglify-js@*": - version "3.13.0" - resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.0.tgz#1cad8df1fb0b143c5aba08de5712ea9d1ff71124" - integrity sha512-EGkrJD5Uy+Pg0NUR8uA4bJ5WMfljyad0G+784vLCNUkD+QwOJXUbBYExXfVGf7YtyzdQp3L/XMYcliB987kL5Q== + version "3.13.1" + resolved "https://registry.yarnpkg.com/@types/uglify-js/-/uglify-js-3.13.1.tgz#5e889e9e81e94245c75b6450600e1c5ea2878aea" + integrity sha512-O3MmRAk6ZuAKa9CHgg0Pr0+lUOqoMLpc9AS4R8ano2auvsg7IE8syF3Xh/NPr26TWklxYcqoEEFdzLLs1fV9PQ== dependencies: source-map "^0.6.1" "@types/webpack-sources@*": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.1.0.tgz#8882b0bd62d1e0ce62f183d0d01b72e6e82e8c10" - integrity sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg== + version "3.2.0" + resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-3.2.0.tgz#16d759ba096c289034b26553d2df1bf45248d38b" + integrity sha512-Ft7YH3lEVRQ6ls8k4Ff1oB4jN6oy/XmU6tQISKdhfh+1mR+viZFphS6WL0IrtDOzvefmJg5a0s7ZQoRXwqTEFg== dependencies: "@types/node" "*" "@types/source-list-map" "*" source-map "^0.7.3" "@types/webpack@^4.41.8": - version "4.41.29" - resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.29.tgz#2e66c1de8223c440366469415c50a47d97625773" - integrity sha512-6pLaORaVNZxiB3FSHbyBiWM7QdazAWda1zvAq4SbZObZqHSDbWLi62iFdblVea6SK9eyBIVp5yHhKt/yNQdR7Q== + version "4.41.32" + resolved "https://registry.yarnpkg.com/@types/webpack/-/webpack-4.41.32.tgz#a7bab03b72904070162b2f169415492209e94212" + integrity sha512-cb+0ioil/7oz5//7tZUSwbrSAN/NWHrQylz5cW8G0dWTcF/g+/dSdMlKVZspBYuMAN1+WnwHrkxiRrLcwd0Heg== dependencies: "@types/node" "*" "@types/tapable" "^1" @@ -2174,40 +1969,40 @@ source-map "^0.6.0" "@types/yargs-parser@*": - version "15.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" - integrity sha512-FA/BWv8t8ZWJ+gEOnLLd8ygxH/2UFbAvgEonyfN6yWGLKc7zVjbpl2Y4CTjid9h2RfgPP6SEt6uHwEOply00yw== + version "20.2.1" + resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" + integrity sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw== "@types/yargs@^15.0.0": - version "15.0.13" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.13.tgz#34f7fec8b389d7f3c1fd08026a5763e072d3c6dc" - integrity sha512-kQ5JNTrbDv3Rp5X2n/iUu37IJBDU2gsZ5R/g1/KHOOEc5IKfUFjXT6DENPGduh08I/pamwtEq4oul7gUqKTQDQ== + version "15.0.14" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-15.0.14.tgz#26d821ddb89e70492160b66d10a0eb6df8f6fb06" + integrity sha512-yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ== dependencies: "@types/yargs-parser" "*" "@typescript-eslint/eslint-plugin@^4.5.0": - version "4.26.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.26.1.tgz#b9c7313321cb837e2bf8bebe7acc2220659e67d3" - integrity sha512-aoIusj/8CR+xDWmZxARivZjbMBQTT9dImUtdZ8tVCVRXgBUuuZyM5Of5A9D9arQPxbi/0rlJLcuArclz/rCMJw== + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" + integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== dependencies: - "@typescript-eslint/experimental-utils" "4.26.1" - "@typescript-eslint/scope-manager" "4.26.1" + "@typescript-eslint/experimental-utils" "4.33.0" + "@typescript-eslint/scope-manager" "4.33.0" debug "^4.3.1" functional-red-black-tree "^1.0.1" - lodash "^4.17.21" + ignore "^5.1.8" regexpp "^3.1.0" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/experimental-utils@4.26.1", "@typescript-eslint/experimental-utils@^4.0.1": - version "4.26.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.26.1.tgz#a35980a2390da9232aa206b27f620eab66e94142" - integrity sha512-sQHBugRhrXzRCs9PaGg6rowie4i8s/iD/DpTB+EXte8OMDfdCG5TvO73XlO9Wc/zi0uyN4qOmX9hIjQEyhnbmQ== +"@typescript-eslint/experimental-utils@4.33.0", "@typescript-eslint/experimental-utils@^4.0.1": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" + integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== dependencies: "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.26.1" - "@typescript-eslint/types" "4.26.1" - "@typescript-eslint/typescript-estree" "4.26.1" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" eslint-scope "^5.1.1" eslint-utils "^3.0.0" @@ -2223,32 +2018,32 @@ eslint-utils "^2.0.0" "@typescript-eslint/parser@^4.5.0": - version "4.26.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.26.1.tgz#cecfdd5eb7a5c13aabce1c1cfd7fbafb5a0f1e8e" - integrity sha512-q7F3zSo/nU6YJpPJvQveVlIIzx9/wu75lr6oDbDzoeIRWxpoc/HQ43G4rmMoCc5my/3uSj2VEpg/D83LYZF5HQ== + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== dependencies: - "@typescript-eslint/scope-manager" "4.26.1" - "@typescript-eslint/types" "4.26.1" - "@typescript-eslint/typescript-estree" "4.26.1" + "@typescript-eslint/scope-manager" "4.33.0" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/typescript-estree" "4.33.0" debug "^4.3.1" -"@typescript-eslint/scope-manager@4.26.1": - version "4.26.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.26.1.tgz#075a74a15ff33ee3a7ed33e5fce16ee86689f662" - integrity sha512-TW1X2p62FQ8Rlne+WEShyd7ac2LA6o27S9i131W4NwDSfyeVlQWhw8ylldNNS8JG6oJB9Ha9Xyc+IUcqipvheQ== +"@typescript-eslint/scope-manager@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== dependencies: - "@typescript-eslint/types" "4.26.1" - "@typescript-eslint/visitor-keys" "4.26.1" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" "@typescript-eslint/types@3.10.1": version "3.10.1" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-3.10.1.tgz#1d7463fa7c32d8a23ab508a803ca2fe26e758727" integrity sha512-+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ== -"@typescript-eslint/types@4.26.1": - version "4.26.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.26.1.tgz#9e7c523f73c34b04a765e4167ca5650436ef1d38" - integrity sha512-STyMPxR3cS+LaNvS8yK15rb8Y0iL0tFXq0uyl6gY45glyI7w0CsyqyEXl/Fa0JlQy+pVANeK3sbwPneCbWE7yg== +"@typescript-eslint/types@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== "@typescript-eslint/typescript-estree@3.10.1": version "3.10.1" @@ -2264,13 +2059,13 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/typescript-estree@4.26.1": - version "4.26.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.26.1.tgz#b2ce2e789233d62283fae2c16baabd4f1dbc9633" - integrity sha512-l3ZXob+h0NQzz80lBGaykdScYaiEbFqznEs99uwzm8fPHhDjwaBFfQkjUC/slw6Sm7npFL8qrGEAMxcfBsBJUg== +"@typescript-eslint/typescript-estree@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== dependencies: - "@typescript-eslint/types" "4.26.1" - "@typescript-eslint/visitor-keys" "4.26.1" + "@typescript-eslint/types" "4.33.0" + "@typescript-eslint/visitor-keys" "4.33.0" debug "^4.3.1" globby "^11.0.3" is-glob "^4.0.1" @@ -2284,12 +2079,12 @@ dependencies: eslint-visitor-keys "^1.1.0" -"@typescript-eslint/visitor-keys@4.26.1": - version "4.26.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.26.1.tgz#0d55ea735cb0d8903b198017d6d4f518fdaac546" - integrity sha512-IGouNSSd+6x/fHtYRyLOM6/C+QxMDzWlDtN41ea+flWuSF9g02iqcIlX8wM53JkfljoIjP0U+yp7SiTS1onEkw== +"@typescript-eslint/visitor-keys@4.33.0": + version "4.33.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== dependencies: - "@typescript-eslint/types" "4.26.1" + "@typescript-eslint/types" "4.33.0" eslint-visitor-keys "^2.0.0" "@webassemblyjs/ast@1.9.0": @@ -2460,10 +2255,10 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.7: mime-types "~2.1.24" negotiator "0.6.2" -ace-builds@^1.4.12: - version "1.4.12" - resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.4.12.tgz#888efa386e36f4345f40b5233fcc4fe4c588fae7" - integrity sha512-G+chJctFPiiLGvs3+/Mly3apXTcfgE45dT5yp12BcWZ1kUs+gm0qd3/fv4gsz6fVag4mM0moHVpjHDIgph6Psg== +ace-builds@^1.4.13: + version "1.4.13" + resolved "https://registry.yarnpkg.com/ace-builds/-/ace-builds-1.4.13.tgz#186f42d3849ebcc6a48b93088a058489897514c1" + integrity sha512-SOLzdaQkY6ecPKYRDDg+MY1WoGgXA34cIvYJNNoBMGGUswHmlauU2Hy0UL96vW0Fs/LgFbMUjD+6vqzWTldIYQ== acorn-globals@^6.0.0: version "6.0.0" @@ -2474,9 +2269,9 @@ acorn-globals@^6.0.0: acorn-walk "^7.1.1" acorn-jsx@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.1.tgz#fc8661e11b7ac1539c47dbfea2e72b3af34d267b" - integrity sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng== + version "5.3.2" + resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^7.1.1: version "7.2.0" @@ -2488,20 +2283,15 @@ acorn@^6.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6" integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ== -acorn@^7.1.0, acorn@^7.4.0: +acorn@^7.1.0, acorn@^7.1.1, acorn@^7.4.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.3.1.tgz#85010754db53c3fbaf3b9ea3e083aa5c5d147ffd" - integrity sha512-tLc0wSnatxAQHVHUapaHdz72pi9KUyHjq5KyHjGg9Y8Ifdc79pTh2XvI6I1/chZbnM7QtNKzh66ooDogPZSleA== - acorn@^8.2.4: - version "8.3.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.3.0.tgz#1193f9b96c4e8232f00b11a9edff81b2c8b98b88" - integrity sha512-tqPKHZ5CaBJw0Xmy0ZZvLs1qTV+BNFSyvn77ASXkpBNfIRk8ev26fKrD9iLGwGA9zedPao52GSHzq8lyZG0NUw== + version "8.6.0" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895" + integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw== address@1.1.2, address@^1.0.1: version "1.1.2" @@ -2524,9 +2314,9 @@ agent-base@6: debug "4" aggregate-error@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.0.1.tgz#db2fe7246e536f40d9b5442a39e117d7dd6a24e0" - integrity sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA== + version "3.1.0" + resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: clean-stack "^2.0.0" indent-string "^4.0.0" @@ -2536,27 +2326,12 @@ ajv-errors@^1.0.0: resolved "https://registry.yarnpkg.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d" integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ== -ajv-keywords@^3.1.0, ajv-keywords@^3.4.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.1.tgz#b83ca89c5d42d69031f424cad49aada0236c6957" - integrity sha512-KWcq3xN8fDjSB+IMoh2VaXVhRI0BBGxoYp3rx7Pkb6z0cFjYR9Q9l4yZqqals0/zsioCmocC5H6UvsGD4MoIBA== - -ajv-keywords@^3.5.2: +ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2: version "3.5.2" resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== -ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.2: - version "6.12.3" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.3.tgz#18c5af38a111ddeb4f2697bd78d68abc1cabd706" - integrity sha512-4K0cK3L1hsqk9xIb2z9vs/XU+PGJZ9PNpJRDS9YLzmNdX6jmVPfamLvTJr0aDAusnHyCHO6MjzlkAsgtqp9teA== - 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" - -ajv@^6.12.4, ajv@^6.12.5: +ajv@^6.1.0, ajv@^6.10.0, ajv@^6.10.2, ajv@^6.12.4, ajv@^6.12.5: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -2567,9 +2342,9 @@ ajv@^6.12.4, ajv@^6.12.5: uri-js "^4.2.2" ajv@^8.0.1: - version "8.6.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.0.tgz#60cc45d9c46a477d80d92c48076d972c342e5720" - integrity sha512-cnUG4NSBiM4YFBxgZIj/In3/6KX+rQ2l2YPRVcvAMQGWEPKuXoPIhxzwqh31jA3IPbI4qEOp/5ILI4ynioXsGQ== + version "8.8.1" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.8.1.tgz#e73dd88eeb4b10bbcd82bee136e6fbe801664d18" + integrity sha512-6CiMNDrzv0ZR916u2T+iRunnD60uWmNn8SkdB44/6stVORUg0aAkWO7PkOhpCmjmW8f2I/G/xnowD66fxGyQJg== dependencies: fast-deep-equal "^3.1.1" json-schema-traverse "^1.0.0" @@ -2591,14 +2366,7 @@ ansi-colors@^4.1.1: resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== -ansi-escapes@^4.2.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61" - integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA== - dependencies: - type-fest "^0.11.0" - -ansi-escapes@^4.3.1: +ansi-escapes@^4.2.1, ansi-escapes@^4.3.1: version "4.3.2" resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== @@ -2620,10 +2388,10 @@ ansi-regex@^4.1.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997" integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg== -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== +ansi-regex@^5.0.0, ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-styles@^3.2.0, ansi-styles@^3.2.1: version "3.2.1" @@ -2632,21 +2400,13 @@ ansi-styles@^3.2.0, ansi-styles@^3.2.1: dependencies: color-convert "^1.9.0" -ansi-styles@^4.0.0: +ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" -ansi-styles@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== - dependencies: - "@types/color-name" "^1.1.1" - color-convert "^2.0.1" - anymatch@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb" @@ -2655,7 +2415,7 @@ anymatch@^2.0.0: micromatch "^3.1.4" normalize-path "^2.1.1" -anymatch@^3.0.0, anymatch@^3.0.3: +anymatch@^3.0.0, anymatch@^3.0.3, anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== @@ -2663,14 +2423,6 @@ anymatch@^3.0.0, anymatch@^3.0.3: normalize-path "^3.0.0" picomatch "^2.0.4" -anymatch@~3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.1.tgz#c55ecf02185e2469259399310c173ce31233b142" - integrity sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - aproba@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a" @@ -2721,25 +2473,16 @@ array-flatten@^2.1.0: resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099" integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ== -array-includes@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.1.tgz#cdd67e6852bdf9c1215460786732255ed2459348" - integrity sha512-c2VXaCHl7zPsvpkFsw4nxvFie4fh1ur9bpcgsVkIjqn0H/Xwdg+7fv3n2r/isyS8EBj5b06M9kHyZuIr4El6WQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0" - is-string "^1.0.5" - -array-includes@^3.1.2, array-includes@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.3.tgz#c7f619b382ad2afaf5326cddfdc0afc61af7690a" - integrity sha512-gcem1KlBU7c9rB+Rq8/3PPKsK2kjqeEBa3bD5kkQo4nYlOHQCJqIJFqBXDEfwaRuYTT4E+FxA9xez7Gf/e3Q7A== +array-includes@^3.1.3, array-includes@^3.1.4: + version "3.1.4" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" + integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" + es-abstract "^1.19.1" get-intrinsic "^1.1.1" - is-string "^1.0.5" + is-string "^1.0.7" array-union@^1.0.1: version "1.0.2" @@ -2763,24 +2506,23 @@ array-unique@^0.3.2: resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" integrity sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg= -array.prototype.flat@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz#6ef638b43312bd401b4c6199fdec7e2dc9e9a123" - integrity sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg== +array.prototype.flat@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" + integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== dependencies: - call-bind "^1.0.0" + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" + es-abstract "^1.19.0" -array.prototype.flatmap@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.4.tgz#94cfd47cc1556ec0747d97f7c7738c58122004c9" - integrity sha512-r9Z0zYoxqHz60vvQbWEdXIEtCwHF0yxaWfno9qzXeNHvfyl3BZqygmGzb84dsubyaXLH4husF+NFgMSdpZhk2Q== +array.prototype.flatmap@^1.2.5: + version "1.2.5" + resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" + integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== dependencies: call-bind "^1.0.0" define-properties "^1.1.3" - es-abstract "^1.18.0-next.1" - function-bind "^1.1.1" + es-abstract "^1.19.0" arrify@^2.0.1: version "2.0.1" @@ -2792,14 +2534,15 @@ asap@~2.0.6: resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= -asn1.js@^4.0.0: - version "4.10.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0" - integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw== +asn1.js@^5.2.0: + version "5.4.1" + resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" + integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== dependencies: bn.js "^4.0.0" inherits "^2.0.1" minimalistic-assert "^1.0.0" + safer-buffer "^2.1.0" assert@^1.1.1: version "1.5.0" @@ -2857,22 +2600,22 @@ atob@^2.1.2: integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== autoprefixer@^9.6.1: - version "9.8.5" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.5.tgz#2c225de229ddafe1d1424c02791d0c3e10ccccaa" - integrity sha512-C2p5KkumJlsTHoNv9w31NrBRgXhf6eCMteJuHZi2xhkgC+5Vm40MEtCKPhc0qdgAOhox0YPy1SQHTAky05UoKg== + version "9.8.8" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" + integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== dependencies: browserslist "^4.12.0" - caniuse-lite "^1.0.30001097" - colorette "^1.2.0" + caniuse-lite "^1.0.30001109" normalize-range "^0.1.2" num2fraction "^1.2.2" + picocolors "^0.2.1" postcss "^7.0.32" postcss-value-parser "^4.1.0" -axe-core@^4.0.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.2.2.tgz#0c987d82c8b82b4b9b7a945f1b5ef0d8fed586ed" - integrity sha512-OKRkKM4ojMEZRJ5UNJHmq9tht7cEnRnqKG6KyB/trYws00Xtkv12mHtlJ0SK7cmuNbrU8dPUova3ELTuilfBbw== +axe-core@^4.3.5: + version "4.3.5" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.5.tgz#78d6911ba317a8262bfee292aeafcc1e04b49cc5" + integrity sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA== axobject-query@^2.2.0: version "2.2.0" @@ -2931,14 +2674,14 @@ babel-plugin-dynamic-import-node@^2.3.3: object.assign "^4.1.0" babel-plugin-istanbul@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.0.0.tgz#e159ccdc9af95e0b570c75b4573b7c34d671d765" - integrity sha512-AF55rZXpe7trmEylbaE1Gv54wn6rwU03aptvRoVIGP8YykoSxqdVLV1TfwflBCE/QtHmqtP8SWlTENqbK8GCSQ== + version "6.1.1" + resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" + integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== dependencies: "@babel/helper-plugin-utils" "^7.0.0" "@istanbuljs/load-nyc-config" "^1.0.0" "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^4.0.0" + istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" babel-plugin-jest-hoist@^26.6.2: @@ -2965,29 +2708,29 @@ babel-plugin-named-asset-import@^0.3.7: resolved "https://registry.yarnpkg.com/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.7.tgz#156cd55d3f1228a5765774340937afc8398067dd" integrity sha512-squySRkf+6JGnvjoUtDEjSREJEBirnXi9NqP6rjSYsylxQxqBTz+pkmf395i9E2zsvmYUaI40BHo6SqZUdydlw== -babel-plugin-polyfill-corejs2@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.2.2.tgz#e9124785e6fd94f94b618a7954e5693053bf5327" - integrity sha512-kISrENsJ0z5dNPq5eRvcctITNHYXWOA4DUZRFYCz3jYCcvTb/A546LIddmoGNMVYg2U38OyFeNosQwI9ENTqIQ== +babel-plugin-polyfill-corejs2@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.0.tgz#407082d0d355ba565af24126fb6cb8e9115251fd" + integrity sha512-wMDoBJ6uG4u4PNFh72Ty6t3EgfA91puCuAwKIazbQlci+ENb/UU9A3xG5lutjUIiXCIn1CY5L15r9LimiJyrSA== dependencies: "@babel/compat-data" "^7.13.11" - "@babel/helper-define-polyfill-provider" "^0.2.2" + "@babel/helper-define-polyfill-provider" "^0.3.0" semver "^6.1.1" -babel-plugin-polyfill-corejs3@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.2.2.tgz#7424a1682ee44baec817327710b1b094e5f8f7f5" - integrity sha512-l1Cf8PKk12eEk5QP/NQ6TH8A1pee6wWDJ96WjxrMXFLHLOBFzYM4moG80HFgduVhTqAFez4alnZKEhP/bYHg0A== +babel-plugin-polyfill-corejs3@^0.4.0: + version "0.4.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.4.0.tgz#0b571f4cf3d67f911512f5c04842a7b8e8263087" + integrity sha512-YxFreYwUfglYKdLUGvIF2nJEsGwj+RhWSX/ije3D2vQPOXuyMLMtg/cCGMDpOA7Nd+MwlNdnGODbd2EwUZPlsw== dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.2" - core-js-compat "^3.9.1" + "@babel/helper-define-polyfill-provider" "^0.3.0" + core-js-compat "^3.18.0" -babel-plugin-polyfill-regenerator@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.2.2.tgz#b310c8d642acada348c1fa3b3e6ce0e851bee077" - integrity sha512-Goy5ghsc21HgPDFtzRkSirpZVW35meGoTmTOb2bxqdl60ghub4xOidgNTHaZfQ2FaxQsKmwvXtOAkcIS4SMBWg== +babel-plugin-polyfill-regenerator@^0.3.0: + version "0.3.0" + resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.0.tgz#9ebbcd7186e1a33e21c5e20cae4e7983949533be" + integrity sha512-dhAPTDLGoMW5/84wkgwiLRwMnio2i1fUe53EuvtKMv0pn2p3S8OCoV1xAzfJPl0KOX7IB89s2ib85vbYiea3jg== dependencies: - "@babel/helper-define-polyfill-provider" "^0.2.2" + "@babel/helper-define-polyfill-provider" "^0.3.0" babel-plugin-syntax-object-rest-spread@^6.8.0: version "6.13.0" @@ -3068,9 +2811,9 @@ babylon@^6.18.0: integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ== balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base16@^1.0.0: version "1.0.0" @@ -3078,9 +2821,9 @@ base16@^1.0.0: integrity sha1-4pf2DX7BAUp6lxo568ipjAtoHnA= base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base@^0.11.1: version "0.11.2" @@ -3121,9 +2864,9 @@ binary-extensions@^1.0.0: integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw== binary-extensions@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.1.0.tgz#30fa40c9e7fe07dbc895678cd287024dea241dd9" - integrity sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== bindings@^1.5.0: version "1.5.0" @@ -3137,15 +2880,15 @@ bluebird@^3.5.5: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== -bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.4.0: - version "4.11.9" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" - integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== +bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9: + version "4.12.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" + integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== -bn.js@^5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.2.tgz#c9686902d3c9a27729f43ab10f9d79c2004da7b0" - integrity sha512-40rZaf3bUNKTVYu9sIeeEGOg7g14Yvnj9kH7b50EiwX0Q7A6umbvfI5tvHaOERH0XigqKkfLkFQxzb4e6CIXnA== +bn.js@^5.0.0, bn.js@^5.1.1: + version "5.2.0" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" + integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== body-parser@1.19.0: version "1.19.0" @@ -3211,7 +2954,7 @@ braces@^3.0.1, braces@~3.0.2: dependencies: fill-range "^7.0.1" -brorand@^1.0.1: +brorand@^1.0.1, brorand@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8= @@ -3253,23 +2996,23 @@ browserify-des@^1.0.0: safe-buffer "^5.1.2" browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.0.1.tgz#21e0abfaf6f2029cf2fafb133567a701d4135524" - integrity sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ= + version "4.1.0" + resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" + integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== dependencies: - bn.js "^4.1.0" + bn.js "^5.0.0" randombytes "^2.0.1" browserify-sign@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.0.tgz#545d0b1b07e6b2c99211082bf1b12cce7a0b0e11" - integrity sha512-hEZC1KEeYuoHRqhGhTy6gWrpJA3ZDjFWv0DE61643ZnOXAKJb3u7yWcrU0mMc9SwAqK1n7myPGndkp0dFG7NFA== + version "4.2.1" + resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" + integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== dependencies: bn.js "^5.1.1" browserify-rsa "^4.0.1" create-hash "^1.2.0" create-hmac "^1.1.7" - elliptic "^6.5.2" + elliptic "^6.5.3" inherits "^2.0.4" parse-asn1 "^5.1.5" readable-stream "^3.6.0" @@ -3292,26 +3035,16 @@ browserslist@4.14.2: escalade "^3.0.2" node-releases "^1.1.61" -browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.6.2, browserslist@^4.6.4, browserslist@^4.8.5: - version "4.13.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.13.0.tgz#42556cba011e1b0a2775b611cba6a8eca18e940d" - integrity sha512-MINatJ5ZNrLnQ6blGvePd/QOz9Xtu+Ne+x29iQSCHfkU5BugKVJwZKn/iiL8UbpIpa3JhviKjz+XxMo0m2caFQ== +browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.17.5, browserslist@^4.17.6, browserslist@^4.6.2, browserslist@^4.6.4: + version "4.18.1" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.18.1.tgz#60d3920f25b6860eb917c6c7b185576f4d8b017f" + integrity sha512-8ScCzdpPwR2wQh8IT82CA2VgDwjHyqMovPBZSNH54+tm4Jk2pCuv90gmAdH6J84OCRWi0b4gMe6O6XPXuJnjgQ== dependencies: - caniuse-lite "^1.0.30001093" - electron-to-chromium "^1.3.488" - escalade "^3.0.1" - node-releases "^1.1.58" - -browserslist@^4.16.6: - version "4.16.6" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.16.6.tgz#d7901277a5a88e554ed305b183ec9b0c08f66fa2" - integrity sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ== - dependencies: - caniuse-lite "^1.0.30001219" - colorette "^1.2.2" - electron-to-chromium "^1.3.723" + caniuse-lite "^1.0.30001280" + electron-to-chromium "^1.3.896" escalade "^3.1.1" - node-releases "^1.1.71" + node-releases "^2.0.1" + picocolors "^1.0.0" bser@2.1.1: version "2.1.1" @@ -3321,9 +3054,9 @@ bser@2.1.1: node-int64 "^0.4.0" buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== + version "1.1.2" + resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== buffer-indexof@^1.0.0: version "1.1.1" @@ -3386,10 +3119,11 @@ cacache@^12.0.2: y18n "^4.0.0" cacache@^15.0.5: - version "15.2.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.2.0.tgz#73af75f77c58e72d8c630a7a2858cb18ef523389" - integrity sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw== + version "15.3.0" + resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== dependencies: + "@npmcli/fs" "^1.0.0" "@npmcli/move-file" "^1.0.1" chownr "^2.0.0" fs-minipass "^2.0.0" @@ -3456,12 +3190,12 @@ callsites@^3.0.0: integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camel-case@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.1.tgz#1fc41c854f00e2f7d0139dfeba1542d6896fe547" - integrity sha512-7fa2WcG4fYFkclIvEmxBbTvmibwF2/agfEBc6q3lOpVu0A13ltLsA+Hr/8Hp6kp5f+G7hKi6t8lys6XxP+1K6Q== + version "4.1.2" + resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a" + integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== dependencies: - pascal-case "^3.1.1" - tslib "^1.10.0" + pascal-case "^3.1.2" + tslib "^2.0.3" camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: version "5.3.1" @@ -3469,9 +3203,9 @@ camelcase@5.3.1, camelcase@^5.0.0, camelcase@^5.3.1: integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== camelcase@^6.0.0, camelcase@^6.1.0, camelcase@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.0.tgz#924af881c9d525ac9d87f40d964e5cea982a1809" - integrity sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg== + version "6.2.1" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" + integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== caniuse-api@^3.0.0: version "3.0.0" @@ -3483,15 +3217,10 @@ caniuse-api@^3.0.0: lodash.memoize "^4.1.2" lodash.uniq "^4.5.0" -caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001093, caniuse-lite@^1.0.30001097: - version "1.0.30001097" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001097.tgz#1129c40c9f5ee3282158da08fd915d301f4a9bd8" - integrity sha512-TeuSleKt/vWXaPkLVFqGDnbweYfq4IaZ6rUugFf3rWY6dlII8StUZ8Ddin0PkADfgYZ4wRqCdO2ORl4Rn5eZIA== - -caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001219: - version "1.0.30001236" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001236.tgz#0a80de4cdf62e1770bb46a30d884fc8d633e3958" - integrity sha512-o0PRQSrSCGJKCPZcgMzl5fUaj5xHe8qA2m4QRvnyY4e1lITqoNkr7q/Oh1NcpGSy0Th97UZ35yoKcINPoq7YOQ== +caniuse-lite@^1.0.0, caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001125, caniuse-lite@^1.0.30001280: + version "1.0.30001282" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001282.tgz#38c781ee0a90ccfe1fe7fefd00e43f5ffdcb96fd" + integrity sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg== capture-exit@^2.0.0: version "2.0.0" @@ -3515,9 +3244,9 @@ chalk@2.4.2, chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: supports-color "^5.3.0" chalk@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.1.tgz#c80b3fab28bf6371e6863325eee67e618b77e6ad" - integrity sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg== + version "4.1.2" + resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" supports-color "^7.1.0" @@ -3533,19 +3262,19 @@ check-types@^11.1.1: integrity sha512-tzWzvgePgLORb9/3a0YenggReLKAIb2owL03H2Xdoe5pKcUyWRSEQ8xfCar8t2SIAuEDwtmx2da1YB52YuHQMQ== "chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" - integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== + version "3.5.2" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75" + integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ== dependencies: - anymatch "~3.1.1" + anymatch "~3.1.2" braces "~3.0.2" - glob-parent "~5.1.0" + glob-parent "~5.1.2" is-binary-path "~2.1.0" is-glob "~4.0.1" normalize-path "~3.0.0" - readdirp "~3.5.0" + readdirp "~3.6.0" optionalDependencies: - fsevents "~2.3.1" + fsevents "~2.3.2" chokidar@^2.1.8: version "2.1.8" @@ -3577,11 +3306,9 @@ chownr@^2.0.0: integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" + version "1.0.3" + resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== ci-info@^2.0.0: version "2.0.0" @@ -3612,14 +3339,14 @@ class-utils@^0.3.5: static-extend "^0.1.1" classnames@^2.2.5: - version "2.2.6" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" - integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== + version "2.3.1" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" + integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== clean-css@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.3.tgz#507b5de7d97b48ee53d84adb0160ff6216380f78" - integrity sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA== + version "4.2.4" + resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" + integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A== dependencies: source-map "~0.6.0" @@ -3673,7 +3400,7 @@ collection-visit@^1.0.0: map-visit "^1.0.0" object-visit "^1.0.0" -color-convert@^1.9.0, color-convert@^1.9.1: +color-convert@^1.9.0, color-convert@^1.9.3: version "1.9.3" resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== @@ -3697,47 +3424,21 @@ color-name@^1.0.0, color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -color-string@^1.5.2: - version "1.5.3" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.3.tgz#c9bbc5f01b58b5492f3d6857459cb6590ce204cc" - integrity sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw== +color-string@^1.6.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312" + integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA== dependencies: color-name "^1.0.0" simple-swizzle "^0.2.2" -color-string@^1.5.4: - version "1.5.5" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.5.5.tgz#65474a8f0e7439625f3d27a6a19d89fc45223014" - integrity sha512-jgIoum0OfQfq9Whcfc2z/VhCNcmQjWbey6qBX0vqt7YICflUmBCh9E9CiQD5GSJ+Uehixm3NUwHVhqUAWRivZg== +color@^3.0.0, color@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" + integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - -color@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.2.tgz#68148e7f85d41ad7649c5fa8c8106f098d229e10" - integrity sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.2" - -color@^3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/color/-/color-3.1.3.tgz#ca67fb4e7b97d611dcde39eceed422067d91596e" - integrity sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ== - dependencies: - color-convert "^1.9.1" - color-string "^1.5.4" - -colorette@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.1.tgz#4d0b921325c14faf92633086a536db6e89564b1b" - integrity sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw== - -colorette@^1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.2.2.tgz#cbcc79d5e99caea2dbf10eb3a26fd8b3e6acfa94" - integrity sha512-MKGMzyfeuutC/ZJ1cba9NqcNpfeqMUcYmyF1ZFY6/Cn7CNSAKx6a+s48sqLqyAiZuaP2TcqMhoo+dlwFnVxT9w== + color-convert "^1.9.3" + color-string "^1.6.0" combined-stream@^1.0.8: version "1.0.8" @@ -3757,9 +3458,9 @@ commander@^4.1.1: integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== common-tags@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.0.tgz#8e3153e542d4a39e9b10554434afaaf98956a937" - integrity sha512-6P6g0uetGpW/sdyUy/iQQCbFF0kWVMSIVSyYz7Zgjcgh8mgw8PQzDNZeyZ5DQ2gM7LBoZPHmnjz8rUthkBG5tw== + version "1.8.2" + resolved "https://registry.yarnpkg.com/common-tags/-/common-tags-1.8.2.tgz#94ebb3c076d26032745fd54face7f688ef5ac9c6" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== commondir@^1.0.1: version "1.0.1" @@ -3845,7 +3546,7 @@ content-type@~1.0.4: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== -convert-source-map@1.7.0, convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== @@ -3857,6 +3558,13 @@ convert-source-map@^0.3.3: resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-0.3.5.tgz#f1d802950af7dd2631a1febe0596550c86ab3190" integrity sha1-8dgClQr33SYxof6+BZZVDIarMZA= +convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: + version "1.8.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== + dependencies: + safe-buffer "~5.1.1" + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -3884,41 +3592,33 @@ copy-descriptor@^0.1.0: resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40= -core-js-compat@^3.14.0, core-js-compat@^3.9.1: - version "3.14.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.14.0.tgz#b574dabf29184681d5b16357bd33d104df3d29a5" - integrity sha512-R4NS2eupxtiJU+VwgkF9WTpnSfZW4pogwKHd8bclWU2sp93Pr5S1uYJI84cMOubJRou7bcfL0vmwtLslWN5p3A== +core-js-compat@^3.18.0, core-js-compat@^3.19.1, core-js-compat@^3.6.2: + version "3.19.1" + resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.19.1.tgz#fe598f1a9bf37310d77c3813968e9f7c7bb99476" + integrity sha512-Q/VJ7jAF/y68+aUsQJ/afPOewdsGkDtcMb40J8MbuWKlK3Y+wtHq8bTHKPj2WKWLIqmS5JhHs4CzHtz6pT2W6g== dependencies: - browserslist "^4.16.6" + browserslist "^4.17.6" semver "7.0.0" -core-js-compat@^3.6.2: - version "3.6.5" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.6.5.tgz#2a51d9a4e25dfd6e690251aa81f99e3c05481f1c" - integrity sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng== - dependencies: - browserslist "^4.8.5" - semver "7.0.0" - -core-js-pure@^3.14.0: - version "3.14.0" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.14.0.tgz#72bcfacba74a65ffce04bf94ae91d966e80ee553" - integrity sha512-YVh+LN2FgNU0odThzm61BsdkwrbrchumFq3oztnE9vTKC4KS2fvnPmcx8t6jnqAyOTCTF4ZSiuK8Qhh7SNcL4g== +core-js-pure@^3.19.0: + version "3.19.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.19.1.tgz#edffc1fc7634000a55ba05e95b3f0fe9587a5aa4" + integrity sha512-Q0Knr8Es84vtv62ei6/6jXH/7izKmOrtrxH9WJTHLCMAVeU+8TF8z8Nr08CsH4Ot0oJKzBzJJL9SJBYIv7WlfQ== core-js@^2.4.0: - version "2.6.11" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.11.tgz#38831469f9922bded8ee21c9dc46985e0399308c" - integrity sha512-5wjnpaT/3dV+XB4borEsnAYQchn00XSgTAWKDkEqv+K8KevjbzmofK6hfJ9TZIlpj2N0xQpazy7PiRQiWHqzWg== + version "2.6.12" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" + integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ== core-js@^3.6.5: - version "3.14.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.14.0.tgz#62322b98c71cc2018b027971a69419e2425c2a6c" - integrity sha512-3s+ed8er9ahK+zJpp9ZtuVcDoFzHNiZsPbNAAE4KXgrRHbjSqqNN6xGSXq6bq7TZIbKj4NLrLb6bJ5i+vSVjHA== + version "3.19.1" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.19.1.tgz#f6f173cae23e73a7d88fa23b6e9da329276c6641" + integrity sha512-Tnc7E9iKd/b/ff7GFbhwPVzJzPztGrChB8X8GLqoYGdEOG8IpLnK1xPyo3ZoO3HsK6TodJS58VGPOxA+hLHQMg== core-util-is@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha1-tf1UIgqivFq1eqtxQMlAdUUDwac= + version "1.0.3" + resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" + integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== cosmiconfig@^5.0.0: version "5.2.1" @@ -3942,9 +3642,9 @@ cosmiconfig@^6.0.0: yaml "^1.7.2" cosmiconfig@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3" - integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA== + version "7.0.1" + resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" + integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== dependencies: "@types/parse-json" "^4.0.0" import-fresh "^3.2.1" @@ -3953,12 +3653,12 @@ cosmiconfig@^7.0.0: yaml "^1.10.0" create-ecdh@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.3.tgz#c9111b6f33045c4697f144787f9254cdc77c45ff" - integrity sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw== + version "4.0.4" + resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" + integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== dependencies: bn.js "^4.1.0" - elliptic "^6.0.0" + elliptic "^6.5.3" create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: version "1.2.0" @@ -4083,16 +3783,6 @@ css-select-base-adapter@^0.1.1: resolved "https://registry.yarnpkg.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7" integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w== -css-select@^1.1.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/css-select/-/css-select-1.2.0.tgz#2b3a110539c5355f1cd8d314623e870b121ec858" - integrity sha1-KzoRBTnFNV8c2NMUYj6HCxIeyFg= - dependencies: - boolbase "~1.0.0" - css-what "2.1" - domutils "1.5.1" - nth-check "~1.0.1" - css-select@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef" @@ -4103,6 +3793,17 @@ css-select@^2.0.0: domutils "^1.7.0" nth-check "^1.0.2" +css-select@^4.1.3: + version "4.1.3" + resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.1.3.tgz#a70440f70317f2669118ad74ff105e65849c7067" + integrity sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA== + dependencies: + boolbase "^1.0.0" + css-what "^5.0.0" + domhandler "^4.2.0" + domutils "^2.6.0" + nth-check "^2.0.0" + css-tree@1.0.0-alpha.37: version "1.0.0-alpha.37" resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22" @@ -4111,23 +3812,23 @@ css-tree@1.0.0-alpha.37: mdn-data "2.0.4" source-map "^0.6.1" -css-tree@1.0.0-alpha.39: - version "1.0.0-alpha.39" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.0.0-alpha.39.tgz#2bff3ffe1bb3f776cf7eefd91ee5cba77a149eeb" - integrity sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA== +css-tree@^1.1.2: + version "1.1.3" + resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d" + integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q== dependencies: - mdn-data "2.0.6" + mdn-data "2.0.14" source-map "^0.6.1" -css-what@2.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-2.1.3.tgz#a6d7604573365fe74686c3f311c56513d88285f2" - integrity sha512-a+EPoD+uZiNfh+5fxw2nO9QwFa6nJe2Or35fGY6Ipw1R3R4AGz1d1TEZrCegvw2YTmZ0jXirGYlzxxpYSHwpEg== - css-what@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.3.0.tgz#10fec696a9ece2e591ac772d759aacabac38cd39" - integrity sha512-pv9JPyatiPaQ6pf4OvD/dbfm0o5LviWmwxNWzblYf/1u9QZd0ihV+PMwy5jdQWQ3349kZmKEx9WXuSka2dM4cg== + version "3.4.2" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4" + integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ== + +css-what@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/css-what/-/css-what-5.1.0.tgz#3f7b707aadf633baf62c2ceb8579b545bb40f7fe" + integrity sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw== css@^2.0.0: version "2.2.4" @@ -4154,10 +3855,10 @@ cssesc@^3.0.0: resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== -cssnano-preset-default@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76" - integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA== +cssnano-preset-default@^4.0.8: + version "4.0.8" + resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff" + integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ== dependencies: css-declaration-sorter "^4.0.1" cssnano-util-raw-cache "^4.0.1" @@ -4187,7 +3888,7 @@ cssnano-preset-default@^4.0.7: postcss-ordered-values "^4.1.2" postcss-reduce-initial "^4.0.3" postcss-reduce-transforms "^4.0.2" - postcss-svgo "^4.0.2" + postcss-svgo "^4.0.3" postcss-unique-selectors "^4.0.1" cssnano-util-get-arguments@^4.0.0: @@ -4213,21 +3914,21 @@ cssnano-util-same-parent@^4.0.0: integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q== cssnano@^4.1.10: - version "4.1.10" - resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2" - integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ== + version "4.1.11" + resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99" + integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g== dependencies: cosmiconfig "^5.0.0" - cssnano-preset-default "^4.0.7" + cssnano-preset-default "^4.0.8" is-resolvable "^1.0.0" postcss "^7.0.0" csso@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/csso/-/csso-4.0.3.tgz#0d9985dc852c7cc2b2cacfbbe1079014d1a8e903" - integrity sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ== + version "4.2.0" + resolved "https://registry.yarnpkg.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529" + integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA== dependencies: - css-tree "1.0.0-alpha.39" + css-tree "^1.1.2" cssom@^0.4.4: version "0.4.4" @@ -4246,15 +3947,10 @@ cssstyle@^2.3.0: dependencies: cssom "~0.3.6" -csstype@^2.6.7: - version "2.6.11" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.11.tgz#452f4d024149ecf260a852b025e36562a253ffc5" - integrity sha512-l8YyEC9NBkSm783PFTvh0FmJy7s5pFKrDp49ZL7zBGX3fWkO+N4EEyan1qqp8cwPLDcD0OSdyY6hAMoxp34JFw== - -csstype@^3.0.2: - version "3.0.8" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340" - integrity sha512-jXKhWqXPmlUeoQnF/EhTtTl4C9SnrxSH/jZUih3jmO6lBKr99rP3/+FmrMj4EFpOXzMtXHAZkd3x0E6h6Fgflw== +csstype@^3.0.2, csstype@^3.0.9: + version "3.0.10" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5" + integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== cyclist@^1.0.1: version "1.0.1" @@ -4269,7 +3965,7 @@ d@1, d@^1.0.1: es5-ext "^0.10.50" type "^1.0.1" -damerau-levenshtein@^1.0.6: +damerau-levenshtein@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz#64368003512a1a6992593741a09a9d31a836f55d" integrity sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw== @@ -4290,43 +3986,29 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== +debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== dependencies: - ms "^2.1.1" + ms "2.1.2" -debug@^3.1.1: - version "3.2.6" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b" - integrity sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ== - dependencies: - ms "^2.1.1" - -debug@^3.2.6, debug@^3.2.7: +debug@^3.1.1, debug@^3.2.6, debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" -debug@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" - integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== - dependencies: - ms "2.1.2" - decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= decimal.js@^10.2.1: - version "10.2.1" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.2.1.tgz#238ae7b0f0c793d3e3cea410108b35a2c01426a3" - integrity sha512-KaL7+6Fw6i5A2XSnsbhm/6B+NuEA7TZ4vqxnd5tXz9sbKtrN9Srj8ab4vKVdK8YAqZO9P1kg45Y6YLoduPf+kw== + version "10.3.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== decode-uri-component@^0.2.0: version "0.2.0" @@ -4351,9 +4033,9 @@ deep-equal@^1.0.1: regexp.prototype.flags "^1.2.0" deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= + version "0.1.4" + resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== deepmerge@^4.2.2: version "4.2.2" @@ -4439,9 +4121,9 @@ detect-newline@^3.0.0: integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== detect-node@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c" - integrity sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw== + version "2.1.0" + resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" + integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== detect-port-alt@1.1.6: version "1.1.6" @@ -4451,7 +4133,7 @@ detect-port-alt@1.1.6: address "^1.0.1" debug "^2.6.0" -diff-match-patch@^1.0.4: +diff-match-patch@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/diff-match-patch/-/diff-match-patch-1.0.5.tgz#abb584d5f10cd1196dfc55aa03701592ae3f7b37" integrity sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw== @@ -4483,9 +4165,9 @@ dns-equal@^1.0.0: integrity sha1-s55/HabrCnW6nBcySzR1PEfgZU0= dns-packet@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.1.tgz#12aa426981075be500b910eedcd0b47dd7deda5a" - integrity sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg== + version "1.3.4" + resolved "https://registry.yarnpkg.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f" + integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA== dependencies: ip "^1.1.0" safe-buffer "^5.0.1" @@ -4511,7 +4193,7 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-converter@^0.2: +dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA== @@ -4519,12 +4201,12 @@ dom-converter@^0.2: utila "~0.4" dom-helpers@^5.0.1: - version "5.1.4" - resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.1.4.tgz#4609680ab5c79a45f2531441f1949b79d6587f4b" - integrity sha512-TjMyeVUvNEnOnhzs6uAn9Ya47GmMo3qq7m+Lr/3ON0Rs5kHvb8I+SQYjLUSYn7qhEm0QjW0yrBkvz9yOrwwz1A== + version "5.2.1" + resolved "https://registry.yarnpkg.com/dom-helpers/-/dom-helpers-5.2.1.tgz#d9400536b2bf8225ad98fe052e029451ac40e902" + integrity sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA== dependencies: "@babel/runtime" "^7.8.7" - csstype "^2.6.7" + csstype "^3.0.2" dom-serializer@0: version "0.2.2" @@ -4534,20 +4216,29 @@ dom-serializer@0: domelementtype "^2.0.1" entities "^2.0.0" +dom-serializer@^1.0.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.3.2.tgz#6206437d32ceefaec7161803230c7a20bc1b4d91" + integrity sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig== + dependencies: + domelementtype "^2.0.1" + domhandler "^4.2.0" + entities "^2.0.0" + domain-browser@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda" integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA== -domelementtype@1, domelementtype@^1.3.1: +domelementtype@1: version "1.3.1" resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f" integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w== -domelementtype@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.0.1.tgz#1f8bdfe91f5a78063274e803b4bdcedf6e94f94d" - integrity sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ== +domelementtype@^2.0.1, domelementtype@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.2.0.tgz#9a0b6c2782ed6a1c7323d42267183df9bd8b1d57" + integrity sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A== domexception@^2.0.1: version "2.0.1" @@ -4556,22 +4247,14 @@ domexception@^2.0.1: dependencies: webidl-conversions "^5.0.0" -domhandler@^2.3.0: - version "2.4.2" - resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803" - integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA== +domhandler@^4.0.0, domhandler@^4.2.0: + version "4.2.2" + resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.2.2.tgz#e825d721d19a86b8c201a35264e226c678ee755f" + integrity sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w== dependencies: - domelementtype "1" + domelementtype "^2.2.0" -domutils@1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.5.1.tgz#dcd8488a26f563d61079e48c9f7b7e32373682cf" - integrity sha1-3NhIiib1Y9YQeeSMn3t+Mjc2gs8= - dependencies: - dom-serializer "0" - domelementtype "1" - -domutils@^1.5.1, domutils@^1.7.0: +domutils@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a" integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg== @@ -4579,18 +4262,27 @@ domutils@^1.5.1, domutils@^1.7.0: dom-serializer "0" domelementtype "1" -dot-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.3.tgz#21d3b52efaaba2ea5fda875bb1aa8124521cf4aa" - integrity sha512-7hwEmg6RiSQfm/GwPL4AAWXKy3YNNZA3oFv2Pdiey0mwkRCPZ9x6SZbkLcn8Ma5PYeVokzoD4Twv2n7LKp5WeA== +domutils@^2.5.2, domutils@^2.6.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135" + integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A== dependencies: - no-case "^3.0.3" - tslib "^1.10.0" + dom-serializer "^1.0.1" + domelementtype "^2.2.0" + domhandler "^4.2.0" + +dot-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" + integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== + dependencies: + no-case "^3.0.4" + tslib "^2.0.3" dot-prop@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.2.0.tgz#c34ecc29556dc45f1f4c22697b6f4904e0cc4fcb" - integrity sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A== + version "5.3.0" + resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88" + integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dependencies: is-obj "^2.0.0" @@ -4605,9 +4297,9 @@ dotenv@8.2.0: integrity sha512-8sJ78ElpbDJBHNeBzUbUVLsqKdccaa/BXF1uPTw3GrvQTBgrQrtObr2mUrE38vzYd8cEv+m/JBfDLioYcfXoaw== duplexer@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.1.tgz#ace6ff808c1ce66b57d1ebf97977acb02334cfc1" - integrity sha1-rOb/gIwc5mtX0ev5eXessCM0z8E= + version "0.1.2" + resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== duplexify@^3.4.2, duplexify@^3.6.0: version "3.7.1" @@ -4629,28 +4321,23 @@ ejs@^2.6.1: resolved "https://registry.yarnpkg.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba" integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA== -electron-to-chromium@^1.3.488: - version "1.3.496" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.496.tgz#3f43d32930481d82ad3663d79658e7c59a58af0b" - integrity sha512-TXY4mwoyowwi4Lsrq9vcTUYBThyc1b2hXaTZI13p8/FRhY2CTaq5lK+DVjhYkKiTLsKt569Xes+0J5JsVXFurQ== +electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.896: + version "1.3.903" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.903.tgz#e2d3c3809f4ef05fdbe5cc88969dfc94b1bd15b9" + integrity sha512-+PnYAyniRRTkNq56cqYDLq9LyklZYk0hqoDy9GpcU11H5QjRmFZVDbxtgHUMK/YzdNTcn1XWP5gb+hFlSCr20g== -electron-to-chromium@^1.3.564, electron-to-chromium@^1.3.723: - version "1.3.752" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.752.tgz#0728587f1b9b970ec9ffad932496429aef750d09" - integrity sha512-2Tg+7jSl3oPxgsBsWKh5H83QazTkmWG/cnNwJplmyZc7KcN61+I10oUgaXSVk/NwfvN3BdkKDR4FYuRBQQ2v0A== - -elliptic@^6.0.0, elliptic@^6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.3.tgz#cb59eb2efdaf73a0bd78ccd7015a62ad6e0f93d6" - integrity sha512-IMqzv5wNQf+E6aHeIqATs0tOLeOTwj1QKbRcS3jBbYkl5oLAserA8yJTT7/VyHUYG91PRmPyeQDObKLPpeS4dw== +elliptic@^6.5.3: + version "6.5.4" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" + integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" + bn.js "^4.11.9" + brorand "^1.1.0" hash.js "^1.0.0" - hmac-drbg "^1.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.0" + hmac-drbg "^1.0.1" + inherits "^2.0.4" + minimalistic-assert "^1.0.1" + minimalistic-crypto-utils "^1.0.1" emittery@^0.7.1: version "0.7.2" @@ -4667,7 +4354,7 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emoji-regex@^9.0.0: +emoji-regex@^9.2.2: version "9.2.2" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== @@ -4710,20 +4397,15 @@ enquirer@^2.3.5: dependencies: ansi-colors "^4.1.1" -entities@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56" - integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w== - entities@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/entities/-/entities-2.0.3.tgz#5c487e5742ab93c15abb5da22759b8590ec03b7f" - integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== + version "2.2.0" + resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" + integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== errno@^0.1.3, errno@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.7.tgz#4684d71779ad39af177e3f007996f7c67c852618" - integrity sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg== + version "0.1.8" + resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" + integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== dependencies: prr "~1.0.1" @@ -4741,39 +4423,26 @@ error-stack-parser@^2.0.6: dependencies: stackframe "^1.1.1" -es-abstract@^1.17.0, es-abstract@^1.17.0-next.1, es-abstract@^1.17.2, es-abstract@^1.17.5: - version "1.17.6" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.17.6.tgz#9142071707857b2cacc7b89ecb670316c3e2d52a" - integrity sha512-Fr89bON3WFyUi5EvAeI48QTWX0AyekGgLA8H+c+7fbfCkJwRWRMLd8CQedNEyJuoYYhmtEqY92pgte1FAhBlhw== - dependencies: - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - is-callable "^1.2.0" - is-regex "^1.1.0" - object-inspect "^1.7.0" - object-keys "^1.1.1" - object.assign "^4.1.0" - string.prototype.trimend "^1.0.1" - string.prototype.trimstart "^1.0.1" - -es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: - version "1.18.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" - integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== +es-abstract@^1.17.2, es-abstract@^1.19.0, es-abstract@^1.19.1: + version "1.19.1" + resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== dependencies: call-bind "^1.0.2" es-to-primitive "^1.2.1" function-bind "^1.1.1" get-intrinsic "^1.1.1" + get-symbol-description "^1.0.0" has "^1.0.3" has-symbols "^1.0.2" - is-callable "^1.2.3" + internal-slot "^1.0.3" + is-callable "^1.2.4" is-negative-zero "^2.0.1" - is-regex "^1.1.3" - is-string "^1.0.6" - object-inspect "^1.10.3" + is-regex "^1.1.4" + is-shared-array-buffer "^1.0.1" + is-string "^1.0.7" + is-weakref "^1.0.1" + object-inspect "^1.11.0" object-keys "^1.1.1" object.assign "^4.1.2" string.prototype.trimend "^1.0.4" @@ -4815,11 +4484,6 @@ es6-symbol@^3.1.1, es6-symbol@~3.1.3: d "^1.0.1" ext "^1.1.2" -escalade@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.0.1.tgz#52568a77443f6927cd0ab9c73129137533c965ed" - integrity sha512-DR6NO3h9niOT+MZs7bjxlj2a1k+POu5RN8CLTPX2+i78bRi9eLe7+0zXgUHMnGXWybYcL61E9hGhPKqedy8tQA== - escalade@^3.0.2, escalade@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" @@ -4864,97 +4528,99 @@ eslint-config-react-app@^6.0.0: dependencies: confusing-browser-globals "^1.0.10" -eslint-import-resolver-node@^0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz#85ffa81942c25012d8231096ddf679c03042c717" - integrity sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA== - dependencies: - debug "^2.6.9" - resolve "^1.13.1" - -eslint-module-utils@^2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.6.1.tgz#b51be1e473dd0de1c5ea638e22429c2490ea8233" - integrity sha512-ZXI9B8cxAJIH4nfkhTwcRTEAnrVfobYqwjWy/QMCZ8rHkZHFjf9yO4BzpiF9kCSfNlMG54eKigISHpX0+AaT4A== +eslint-import-resolver-node@^0.3.6: + version "0.3.6" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== dependencies: debug "^3.2.7" + resolve "^1.20.0" + +eslint-module-utils@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.1.tgz#b435001c9f8dd4ab7f6d0efcae4b9696d4c24b7c" + integrity sha512-fjoetBXQZq2tSTWZ9yWVl2KuFrTZZH3V+9iD1V1RfpDgxzJR+mPd/KZmMiA8gbPqdBzpNiEHOuT7IYEWxrH0zQ== + dependencies: + debug "^3.2.7" + find-up "^2.1.0" pkg-dir "^2.0.0" eslint-plugin-flowtype@^5.2.0: - version "5.7.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.7.2.tgz#482a42fe5d15ee614652ed256d37543d584d7bc0" - integrity sha512-7Oq/N0+3nijBnYWQYzz/Mp/7ZCpwxYvClRyW/PLAmimY9uLCBvoXsNsERcJdkKceyOjgRbFhhxs058KTrne9Mg== + version "5.10.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-5.10.0.tgz#7764cc63940f215bf3f0bd2d9a1293b2b9b2b4bb" + integrity sha512-vcz32f+7TP+kvTUyMXZmCnNujBQZDNmcqPImw8b9PZ+16w1Qdm6ryRuYZYVaG9xRqqmAPr2Cs9FAX5gN+x/bjw== dependencies: lodash "^4.17.15" string-natural-compare "^3.0.1" eslint-plugin-import@^2.22.1: - version "2.23.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz#8dceb1ed6b73e46e50ec9a5bb2411b645e7d3d97" - integrity sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ== + version "2.25.3" + resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.3.tgz#a554b5f66e08fb4f6dc99221866e57cfff824766" + integrity sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg== dependencies: - array-includes "^3.1.3" - array.prototype.flat "^1.2.4" + array-includes "^3.1.4" + array.prototype.flat "^1.2.5" debug "^2.6.9" doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.4" - eslint-module-utils "^2.6.1" - find-up "^2.0.0" + eslint-import-resolver-node "^0.3.6" + eslint-module-utils "^2.7.1" has "^1.0.3" - is-core-module "^2.4.0" + is-core-module "^2.8.0" + is-glob "^4.0.3" minimatch "^3.0.4" - object.values "^1.1.3" - pkg-up "^2.0.0" - read-pkg-up "^3.0.0" + object.values "^1.1.5" resolve "^1.20.0" - tsconfig-paths "^3.9.0" + tsconfig-paths "^3.11.0" eslint-plugin-jest@^24.1.0: - version "24.3.6" - resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.3.6.tgz#5f0ca019183c3188c5ad3af8e80b41de6c8e9173" - integrity sha512-WOVH4TIaBLIeCX576rLcOgjNXqP+jNlCiEmRgFTfQtJ52DpwnIQKAVGlGPAN7CZ33bW6eNfHD6s8ZbEUTQubJg== + version "24.7.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-24.7.0.tgz#206ac0833841e59e375170b15f8d0955219c4889" + integrity sha512-wUxdF2bAZiYSKBclsUMrYHH6WxiBreNjyDxbRv345TIvPeoCEgPNEn3Sa+ZrSqsf1Dl9SqqSREXMHExlMMu1DA== dependencies: "@typescript-eslint/experimental-utils" "^4.0.1" eslint-plugin-jsx-a11y@^6.3.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz#a2d84caa49756942f42f1ffab9002436391718fd" - integrity sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg== + version "6.5.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8" + integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g== dependencies: - "@babel/runtime" "^7.11.2" + "@babel/runtime" "^7.16.3" aria-query "^4.2.2" - array-includes "^3.1.1" + array-includes "^3.1.4" ast-types-flow "^0.0.7" - axe-core "^4.0.2" + axe-core "^4.3.5" axobject-query "^2.2.0" - damerau-levenshtein "^1.0.6" - emoji-regex "^9.0.0" + damerau-levenshtein "^1.0.7" + emoji-regex "^9.2.2" has "^1.0.3" - jsx-ast-utils "^3.1.0" + jsx-ast-utils "^3.2.1" language-tags "^1.0.5" + minimatch "^3.0.4" eslint-plugin-react-hooks@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556" - integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ== + version "4.3.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" + integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== eslint-plugin-react@^7.21.5: - version "7.24.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.24.0.tgz#eadedfa351a6f36b490aa17f4fa9b14e842b9eb4" - integrity sha512-KJJIx2SYx7PBx3ONe/mEeMz4YE0Lcr7feJTCMyyKb/341NcjuAgim3Acgan89GfPv7nxXK2+0slu0CWXYM4x+Q== + version "7.27.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.27.1.tgz#469202442506616f77a854d91babaae1ec174b45" + integrity sha512-meyunDjMMYeWr/4EBLTV1op3iSG3mjT/pz5gti38UzfM4OPpNc2m0t2xvKCOMU5D6FSdd34BIMFOvQbW+i8GAA== dependencies: - array-includes "^3.1.3" - array.prototype.flatmap "^1.2.4" + array-includes "^3.1.4" + array.prototype.flatmap "^1.2.5" doctrine "^2.1.0" - has "^1.0.3" + estraverse "^5.3.0" jsx-ast-utils "^2.4.1 || ^3.0.0" minimatch "^3.0.4" - object.entries "^1.1.4" - object.fromentries "^2.0.4" - object.values "^1.1.4" + object.entries "^1.1.5" + object.fromentries "^2.0.5" + object.hasown "^1.1.0" + object.values "^1.1.5" prop-types "^15.7.2" resolve "^2.0.0-next.3" - string.prototype.matchall "^4.0.5" + semver "^6.3.0" + string.prototype.matchall "^4.0.6" eslint-plugin-testing-library@^3.9.2: version "3.10.2" @@ -4971,15 +4637,7 @@ eslint-scope@^4.0.3: esrecurse "^4.1.0" estraverse "^4.1.1" -eslint-scope@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.0.tgz#d0f971dfe59c69e0cada684b23d49dbf82600ce5" - integrity sha512-iiGRvtxWqgtx5m8EyQUJihBloE4EnYeGE/bz1wSPwJE6tZuJUtHlhqDM4Xj2ukE8Dyy1+HCZ4hE0fzIVMzb58w== - dependencies: - esrecurse "^4.1.0" - estraverse "^4.1.1" - -eslint-scope@^5.1.1: +eslint-scope@^5.0.0, eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== @@ -5012,24 +4670,25 @@ eslint-visitor-keys@^2.0.0: integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== eslint-webpack-plugin@^2.5.2: - version "2.5.4" - resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-2.5.4.tgz#473b84932f1a8e2c2b8e66a402d0497bf440b986" - integrity sha512-7rYh0m76KyKSDE+B+2PUQrlNS4HJ51t3WKpkJg6vo2jFMbEPTG99cBV0Dm7LXSHucN4WGCG65wQcRiTFrj7iWw== + version "2.6.0" + resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-2.6.0.tgz#3bd4ada4e539cb1f6687d2f619073dbb509361cd" + integrity sha512-V+LPY/T3kur5QO3u+1s34VDTcRxjXWPUGM4hlmTb5DwVD0OQz631yGTxJZf4SpAqAjdbBVe978S8BJeHpAdOhQ== dependencies: - "@types/eslint" "^7.2.6" + "@types/eslint" "^7.28.2" arrify "^2.0.1" - jest-worker "^26.6.2" - micromatch "^4.0.2" + jest-worker "^27.3.1" + micromatch "^4.0.4" normalize-path "^3.0.0" - schema-utils "^3.0.0" + schema-utils "^3.1.1" eslint@^7.11.0: - version "7.28.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.28.0.tgz#435aa17a0b82c13bb2be9d51408b617e49c1e820" - integrity sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g== + version "7.32.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== dependencies: "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.2" + "@eslint/eslintrc" "^0.4.3" + "@humanwhocodes/config-array" "^0.5.0" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" @@ -5089,34 +4748,22 @@ esquery@^1.4.0: dependencies: estraverse "^5.1.0" -esrecurse@^4.1.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf" - integrity sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ== - dependencies: - estraverse "^4.1.0" - -esrecurse@^4.3.0: +esrecurse@^4.1.0, esrecurse@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" -estraverse@^4.1.0, estraverse@^4.1.1: +estraverse@^4.1.1: version "4.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" - integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== - -estraverse@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880" - integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ== +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== estree-walker@^0.6.1: version "0.6.1" @@ -5139,19 +4786,19 @@ etag@~1.8.1: integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc= eventemitter3@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" - integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== + version "4.0.7" + resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" + integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== events@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.1.0.tgz#84279af1b34cb75aa88bf5ff291f6d0bd9b31a59" - integrity sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg== + version "3.3.0" + resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== eventsource@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.0.7.tgz#8fbc72c93fcd34088090bc0a4e64f4b5cee6d8d0" - integrity sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ== + version "1.1.0" + resolved "https://registry.yarnpkg.com/eventsource/-/eventsource-1.1.0.tgz#00e8ca7c92109e94b0ddf32dac677d841028cfaf" + integrity sha512-VSJjT5oCNrFvCS6igjzPAt5hBzQ2qPBFIbJ03zLI9SE0mxwZpMw6BfJrbFHm1a141AavMEB8JHmBhWAd66PfCg== dependencies: original "^1.0.0" @@ -5164,9 +4811,9 @@ evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: safe-buffer "^5.1.1" exec-sh@^0.3.2: - version "0.3.4" - resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.4.tgz#3a018ceb526cc6f6df2bb504b2bfe8e3a4934ec5" - integrity sha512-sEFIkc61v75sWeOe72qyrqg2Qg0OuLESziUDk/O/z2qgS15y2gWVFrI6f2Qn/qw/0/NCfCEsmNA4zOjkwEZT1A== + version "0.3.6" + resolved "https://registry.yarnpkg.com/exec-sh/-/exec-sh-0.3.6.tgz#ff264f9e325519a60cb5e273692943483cca63bc" + integrity sha512-nQn+hI3yp+oD0huYhKwvYI32+JFeq+XkNcD1GAo3Y/MjxsfVGmrrzrnzjWiNY6f+pUCP440fThsFh5gZrRAU/w== execa@^1.0.0: version "1.0.0" @@ -5263,11 +4910,11 @@ express@^4.17.1: vary "~1.1.2" ext@^1.1.2: - version "1.4.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.4.0.tgz#89ae7a07158f79d35517882904324077e4379244" - integrity sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A== + version "1.6.0" + resolved "https://registry.yarnpkg.com/ext/-/ext-1.6.0.tgz#3871d50641e874cc172e2b53f919842d19db4c52" + integrity sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg== dependencies: - type "^2.0.0" + type "^2.5.0" extend-shallow@^2.0.1: version "2.0.1" @@ -5304,16 +4951,15 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^3.1.1: - version "3.2.5" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.5.tgz#7939af2a656de79a4f1901903ee8adcaa7cb9661" - integrity sha512-2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg== + version "3.2.7" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1" + integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.0" + glob-parent "^5.1.2" merge2 "^1.3.0" - micromatch "^4.0.2" - picomatch "^2.2.1" + micromatch "^4.0.4" fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: version "2.1.0" @@ -5326,9 +4972,9 @@ fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fastq@^1.6.0: - version "1.11.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.11.0.tgz#bb9fb955a07130a918eb63c1f5161cc32a5d0858" - integrity sha512-7Eczs8gIPDrVzT+EksYBcupqMyxSHXXrHOLRRxU2/DicV8789MRBRR8+Hc2uWzUupOs4YS4JzBmBxjjCVBxD/g== + version "1.13.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== dependencies: reusify "^1.0.4" @@ -5416,9 +5062,9 @@ find-cache-dir@^2.1.0: pkg-dir "^3.0.0" find-cache-dir@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.1.tgz#89b33fad4a4670daa94f855f7fbe31d6d84fe880" - integrity sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ== + version "3.3.2" + resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" + integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== dependencies: commondir "^1.0.1" make-dir "^3.0.2" @@ -5432,7 +5078,7 @@ find-up@4.1.0, find-up@^4.0.0, find-up@^4.1.0: locate-path "^5.0.0" path-exists "^4.0.0" -find-up@^2.0.0, find-up@^2.1.0: +find-up@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= @@ -5455,9 +5101,9 @@ flat-cache@^3.0.4: rimraf "^3.0.2" flatted@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.1.1.tgz#c4b489e80096d9df1dfc97c79871aea7c617c469" - integrity sha512-zAoAQiudy+r5SvnSw3KJy5os/oRJYHzrzja/tBDqrZtNhUw8bt6y8OBzMWcjWr+8liV8Eb6yOhw8WZ7VFZ5ZzA== + version "3.2.4" + resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" + integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== flatten@^1.0.2: version "1.0.3" @@ -5473,9 +5119,9 @@ flush-write-stream@^1.0.0: readable-stream "^2.3.6" follow-redirects@^1.0.0: - version "1.12.1" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.12.1.tgz#de54a6205311b93d60398ebc01cf7015682312b6" - integrity sha512-tmRv0AVuR7ZyouUHLeNSiO6pqulF7dYa3s19c6t+wz9LD69/uSzdMxJ2S91nTI9U3rt/IldxpzMOFejp6f0hjg== + version "1.14.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.5.tgz#f09a5848981d3c772b5392309778523f8d85c381" + integrity sha512-wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA== for-in@^1.0.2: version "1.0.2" @@ -5504,10 +5150,10 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" -forwarded@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.1.2.tgz#98c23dab1175657b8c0573e8ceccd91b0ff18c84" - integrity sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ= +forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fragment-cache@^0.2.1: version "0.2.1" @@ -5587,7 +5233,7 @@ fsevents@^1.2.7: bindings "^1.5.0" nan "^2.12.1" -fsevents@^2.1.2, fsevents@^2.1.3, fsevents@~2.3.1: +fsevents@^2.1.2, fsevents@^2.1.3, fsevents@~2.3.2: version "2.3.2" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== @@ -5602,12 +5248,7 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -gensync@^1.0.0-beta.1: - version "1.0.0-beta.1" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.1.tgz#58f4361ff987e5ff6e1e7a210827aa371eaac269" - integrity sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg== - -gensync@^1.0.0-beta.2: +gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== @@ -5650,6 +5291,14 @@ get-stream@^5.0.0: dependencies: pump "^3.0.0" +get-symbol-description@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== + dependencies: + call-bind "^1.0.2" + get-intrinsic "^1.1.1" + get-value@^2.0.3, get-value@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" @@ -5663,24 +5312,17 @@ glob-parent@^3.1.0: is-glob "^3.1.0" path-dirname "^1.0.0" -glob-parent@^5.1.0, glob-parent@^5.1.2: +glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" -glob-parent@~5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.1.tgz#b6c1ef417c4e5663ea498f1c45afac6916bbc229" - integrity sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ== - dependencies: - is-glob "^4.0.1" - glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + version "7.2.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -5711,9 +5353,9 @@ globals@^11.1.0: integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== globals@^13.6.0, globals@^13.9.0: - version "13.9.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.9.0.tgz#4bf2bf635b334a173fb1daf7c5e6b218ecdc06cb" - integrity sha512-74/FduwI/JaIrr1H8e71UbDE+5x7pIPs1C2rrwC52SszOo043CsWOZEMW7o2Y58xwm9b+0RBKDxY5n2sUpEFxA== + version "13.12.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e" + integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg== dependencies: type-fest "^0.20.2" @@ -5730,9 +5372,9 @@ globby@11.0.1: slash "^3.0.0" globby@^11.0.3: - version "11.0.3" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.3.tgz#9b1f0cb523e171dd1ad8c7b2a9fb4b644b9593cb" - integrity sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg== + version "11.0.4" + resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" + integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== dependencies: array-union "^2.1.0" dir-glob "^3.0.1" @@ -5752,15 +5394,10 @@ globby@^6.1.0: pify "^2.0.0" pinkie-promise "^2.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.4" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.4.tgz#2256bde14d3632958c465ebc96dc467ca07a29fb" - integrity sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw== - -graceful-fs@^4.2.4: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4: + version "4.2.8" + resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" + integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== growly@^1.3.0: version "1.3.0" @@ -5781,9 +5418,9 @@ handle-thing@^2.0.0: integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg== harmony-reflect@^1.4.6: - version "1.6.1" - resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.1.tgz#c108d4f2bb451efef7a37861fdbdae72c9bdefa9" - integrity sha512-WJTeyp0JzGtHcuMsi7rw2VwtkvLa+JyfEKJCFyfcS0+CDkjQ5lHPu7zEhFZP+PDSRrEgXa5Ah0l1MbgbE41XjA== + version "1.6.2" + resolved "https://registry.yarnpkg.com/harmony-reflect/-/harmony-reflect-1.6.2.tgz#31ecbd32e648a34d030d86adb67d4d47547fe710" + integrity sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g== has-bigints@^1.0.1: version "1.0.1" @@ -5800,16 +5437,18 @@ has-flag@^4.0.0: resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== -has-symbols@^1.0.0, has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - -has-symbols@^1.0.2: +has-symbols@^1.0.1, has-symbols@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== +has-tostringtag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== + dependencies: + has-symbols "^1.0.2" + has-value@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" @@ -5887,7 +5526,7 @@ history@^4.9.0: tiny-warning "^1.0.0" value-equal "^1.0.1" -hmac-drbg@^1.0.0: +hmac-drbg@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" integrity sha1-0nRXAQJabHdabFRXk+1QL8DGSaE= @@ -5909,9 +5548,9 @@ hoopy@^0.1.4: integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ== hosted-git-info@^2.1.4: - version "2.8.8" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.8.tgz#7539bd4bc1e0e0a895815a2e0262420b12858488" - integrity sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg== + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== hpack.js@^2.1.6: version "2.1.6" @@ -5933,11 +5572,6 @@ hsla-regex@^1.0.0: resolved "https://registry.yarnpkg.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38" integrity sha1-wc56MWjIxmFAM6S194d/OyJfnDg= -html-comment-regex@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/html-comment-regex/-/html-comment-regex-1.1.2.tgz#97d4688aeb5c81886a364faa0cad1dda14d433a7" - integrity sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ== - html-encoding-sniffer@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" @@ -5945,12 +5579,7 @@ html-encoding-sniffer@^2.0.1: dependencies: whatwg-encoding "^1.0.5" -html-entities@^1.2.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.3.1.tgz#fb9a1a4b5b14c5daba82d3e34c6ae4fe701a0e44" - integrity sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA== - -html-entities@^1.3.1: +html-entities@^1.2.1, html-entities@^1.3.1: version "1.4.0" resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc" integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA== @@ -5988,17 +5617,15 @@ html-webpack-plugin@4.5.0: tapable "^1.1.3" util.promisify "1.0.0" -htmlparser2@^3.3.0: - version "3.10.1" - resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f" - integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ== +htmlparser2@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7" + integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A== dependencies: - domelementtype "^1.3.1" - domhandler "^2.3.0" - domutils "^1.5.1" - entities "^1.1.1" - inherits "^2.0.1" - readable-stream "^3.1.1" + domelementtype "^2.0.1" + domhandler "^4.0.0" + domutils "^2.5.2" + entities "^2.0.0" http-deceiver@^1.2.7: version "1.2.7" @@ -6038,9 +5665,9 @@ http-errors@~1.7.2: toidentifier "1.0.0" http-parser-js@>=0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.2.tgz#da2e31d237b393aae72ace43882dd7e270a8ff77" - integrity sha512-opCO9ASqg5Wy2FNo7A0sxy71yGbbkJJXLdgMK04Tcypw9jr2MgWbyubb0+WdmDmGnFflO7fRbqbaihh/ENDlRQ== + version "0.5.3" + resolved "https://registry.yarnpkg.com/http-parser-js/-/http-parser-js-0.5.3.tgz#01d2709c79d41698bb01d4decc5e9da4e4a033d9" + integrity sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg== http-proxy-agent@^4.0.1: version "4.0.1" @@ -6110,9 +5737,9 @@ identity-obj-proxy@3.0.0: harmony-reflect "^1.4.6" ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== iferr@^0.1.5: version "0.1.5" @@ -6124,10 +5751,10 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.1.4: - version "5.1.8" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57" - integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw== +ignore@^5.1.4, ignore@^5.1.8: + version "5.1.9" + resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.9.tgz#9ec1a5cbe8e1446ec60d4420060d43aa6e7382fb" + integrity sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ== immer@8.0.1: version "8.0.1" @@ -6149,15 +5776,7 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" -import-fresh@^3.0.0, import-fresh@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-fresh@^3.2.1: +import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1: version "3.3.0" resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== @@ -6181,9 +5800,9 @@ import-local@^2.0.0: resolve-cwd "^2.0.0" import-local@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" - integrity sha512-vjL3+w0oulAVZ0hBHnxa/Nm5TAurf9YLQJDhqRZyqb+VKGOB6LU8t9H1Nr5CIo16vh9XfJTOoHwU0B71S557gA== + version "3.0.3" + resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.3.tgz#4d51c2c495ca9393da259ec66b62e022920211e0" + integrity sha512-bE9iaUY3CXH8Cwfan/abDKAxe1KGT9kyGsBPqf6DMK/z0a2OzAsrukeYNgIH6cH5Xr452jb1TUL8rSfCLjZ9uA== dependencies: pkg-dir "^4.2.0" resolve-cwd "^3.0.0" @@ -6232,9 +5851,9 @@ inherits@2.0.3: integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= ini@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927" - integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw== + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== internal-ip@^4.3.0: version "4.3.0" @@ -6293,9 +5912,12 @@ is-accessor-descriptor@^1.0.0: kind-of "^6.0.0" is-arguments@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.0.4.tgz#3faf966c7cba0ff437fb31f6250082fcf0448cf3" - integrity sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA== + version "1.1.1" + resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" + integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== + dependencies: + call-bind "^1.0.2" + has-tostringtag "^1.0.0" is-arrayish@^0.2.1: version "0.2.1" @@ -6308,9 +5930,11 @@ is-arrayish@^0.3.1: integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== is-bigint@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.2.tgz#ffb381442503235ad245ea89e45b3dbff040ee5a" - integrity sha512-0JV5+SOCQkIdzjBK9buARcV804Ddu7A0Qet6sHi3FimE9ne6m4BGQZfRn+NZiXbBk4F4XmHfDZIipLj9pX8dSA== + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== + dependencies: + has-bigints "^1.0.1" is-binary-path@^1.0.0: version "1.0.1" @@ -6327,26 +5951,22 @@ is-binary-path@~2.1.0: binary-extensions "^2.0.0" is-boolean-object@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.1.tgz#3c0878f035cb821228d350d2e1e36719716a3de8" - integrity sha512-bXdQWkECBUIAcCkeH1unwJLIpZYaa5VvuygSyS/c2lf719mTKZDU5UdDRlpd01UjADgmW8RfqaP+mRaVPdr/Ng== + version "1.1.2" + resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: call-bind "^1.0.2" + has-tostringtag "^1.0.0" is-buffer@^1.1.5: version "1.1.6" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== -is-callable@^1.1.4, is-callable@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.0.tgz#83336560b54a38e35e3a2df7afd0454d691468bb" - integrity sha512-pyVD9AaGLxtg6srb2Ng6ynWJqkHU9bEM087AKck0w8QwDarTfNcpIYoU8x8Hv2Icm8u6kFJM18Dag8lyqGkviw== - -is-callable@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.3.tgz#8b1e0500b73a1d76c70487636f368e519de8db8e" - integrity sha512-J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ== +is-callable@^1.1.4, is-callable@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== is-ci@^2.0.0: version "2.0.0" @@ -6367,10 +5987,10 @@ is-color-stop@^1.0.0: rgb-regex "^1.0.1" rgba-regex "^1.0.0" -is-core-module@^2.0.0, is-core-module@^2.2.0, is-core-module@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" - integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== +is-core-module@^2.0.0, is-core-module@^2.2.0, is-core-module@^2.8.0: + version "2.8.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548" + integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw== dependencies: has "^1.0.3" @@ -6389,9 +6009,11 @@ is-data-descriptor@^1.0.0: kind-of "^6.0.0" is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== + version "1.0.5" + resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== + dependencies: + has-tostringtag "^1.0.0" is-descriptor@^0.1.0: version "0.1.6" @@ -6417,9 +6039,9 @@ is-directory@^0.3.1: integrity sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE= is-docker@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b" - integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ== + version "2.2.1" + resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" @@ -6460,10 +6082,10 @@ is-glob@^3.1.0: dependencies: is-extglob "^2.1.0" -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" @@ -6478,9 +6100,11 @@ is-negative-zero@^2.0.1: integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w== is-number-object@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.5.tgz#6edfaeed7950cff19afedce9fbfca9ee6dd289eb" - integrity sha512-RU0lI/n95pMoUKu9v1BZP5MBcZuNSVJkMkAG2dJqC4z2GlkGUNeH68SuHuBKBD/XFe+LHZ+f9BKkLET60Niedw== + version "1.0.6" + resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== + dependencies: + has-tostringtag "^1.0.0" is-number@^3.0.0: version "3.0.0" @@ -6540,20 +6164,13 @@ is-potential-custom-element-name@^1.0.1: resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== -is-regex@^1.0.4, is-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.0.tgz#ece38e389e490df0dc21caea2bd596f987f767ff" - integrity sha512-iI97M8KTWID2la5uYXlkbSDQIg4F6o1sYboZKKTDpnDQMLtUL86zxhgDet3Q2SriaYsyGqZ6Mn2SjbRKeLHdqw== - dependencies: - has-symbols "^1.0.1" - -is-regex@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.3.tgz#d029f9aff6448b93ebbe3f33dac71511fdcbef9f" - integrity sha512-qSVXFz28HM7y+IWX6vLCsexdlvzT1PJNFSBuaQLQ5o0IEw8UDYW6/2+eCMVyIsbM8CNLX2a/QWmSpyxYEHY7CQ== +is-regex@^1.0.4, is-regex@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" - has-symbols "^1.0.2" + has-tostringtag "^1.0.0" is-regexp@^1.0.0: version "1.0.0" @@ -6570,41 +6187,29 @@ is-root@2.1.0: resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== +is-shared-array-buffer@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== + is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= is-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3" - integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw== + version "2.0.1" + resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== -is-string@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== - -is-string@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.6.tgz#3fe5d5992fb0d93404f32584d4b0179a71b54a5f" - integrity sha512-2gdzbKUuqtQ3lYNrUTQYoClPhm7oQu4UdpSZMp1/DGgkHBT8E2Z1l0yMdb6D4zNAxwDiMv8MdulKROJGNl0Q0w== - -is-svg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-svg/-/is-svg-3.0.0.tgz#9321dbd29c212e5ca99c4fa9794c714bcafa2f75" - integrity sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ== +is-string@^1.0.5, is-string@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: - html-comment-regex "^1.1.0" + has-tostringtag "^1.0.0" -is-symbol@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== - dependencies: - has-symbols "^1.0.1" - -is-symbol@^1.0.3: +is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== @@ -6616,6 +6221,13 @@ is-typedarray@^1.0.0: resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= +is-weakref@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2" + integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ== + dependencies: + call-bind "^1.0.0" + is-windows@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" @@ -6660,12 +6272,12 @@ isobject@^3.0.0, isobject@^3.0.1: resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8= -istanbul-lib-coverage@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz#f5944a37c70b550b02a78a5c3b2055b280cec8ec" - integrity sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg== +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" + integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== -istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: +istanbul-lib-instrument@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== @@ -6675,6 +6287,17 @@ istanbul-lib-instrument@^4.0.0, istanbul-lib-instrument@^4.0.3: istanbul-lib-coverage "^3.0.0" semver "^6.3.0" +istanbul-lib-instrument@^5.0.4: + version "5.1.0" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz#7b49198b657b27a730b8e9cb601f1e1bff24c59a" + integrity sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^6.3.0" + istanbul-lib-report@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" @@ -6685,18 +6308,18 @@ istanbul-lib-report@^3.0.0: supports-color "^7.1.0" istanbul-lib-source-maps@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.0.tgz#75743ce6d96bb86dc7ee4352cf6366a23f0b1ad9" - integrity sha512-c16LpFRkR8vQXyHZ5nLpY35JZtzj1PQY1iZmesUbf1FZHbIupcWfjgOXBY9YHkLEQ6puz1u4Dgj6qmU/DisrZg== + version "4.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" + integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== dependencies: debug "^4.1.1" istanbul-lib-coverage "^3.0.0" source-map "^0.6.1" istanbul-reports@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.2.tgz#d593210e5000683750cb09fc0644e4b6e27fd53b" - integrity sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw== + version "3.0.5" + resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.0.5.tgz#a2580107e71279ea6d661ddede929ffc6d693384" + integrity sha512-5+19PlhnGabNWB7kOFnuxT8H3T/iIyQzIbQMxXsURmmvKg86P2sbkrGOT77VnHw0Qr0gc2XzRaRfMZYYbSQCJQ== dependencies: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" @@ -7127,6 +6750,15 @@ jest-worker@^26.5.0, jest-worker@^26.6.2: merge-stream "^2.0.0" supports-color "^7.0.0" +jest-worker@^27.3.1: + version "27.3.1" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.3.1.tgz#0def7feae5b8042be38479799aeb7b5facac24b2" + integrity sha512-ks3WCzsiZaOPJl/oMsDjaf0TRiSv7ctNgs0FqRr2nARsovz6AWWy4oLElwcquGSz692DzgZQrCLScPNs5YlC4g== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + jest@26.6.0: version "26.6.0" resolved "https://registry.yarnpkg.com/jest/-/jest-26.6.0.tgz#546b25a1d8c888569dbbe93cae131748086a4a25" @@ -7142,17 +6774,17 @@ jest@26.6.0: integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + version "3.14.1" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" esprima "^4.0.0" jsdom@^16.4.0: - version "16.6.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.6.0.tgz#f79b3786682065492a3da6a60a4695da983805ac" - integrity sha512-Ty1vmF4NHJkolaEmdjtxTfSfkdb8Ywarwf63f+F8/mDD1uLSSWDxDuMiZxiPhwunLrn9LOSVItWj4bLYsLN3Dg== + version "16.7.0" + resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" + integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== dependencies: abab "^2.0.5" acorn "^8.2.4" @@ -7179,7 +6811,7 @@ jsdom@^16.4.0: whatwg-encoding "^1.0.5" whatwg-mimetype "^2.3.0" whatwg-url "^8.5.0" - ws "^7.4.5" + ws "^7.4.6" xml-name-validator "^3.0.0" jsesc@^2.5.1: @@ -7197,6 +6829,11 @@ json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2: resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== +json-parse-even-better-errors@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" + integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== + json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -7225,9 +6862,9 @@ json5@^1.0.1: minimist "^1.2.0" json5@^2.1.2: - version "2.1.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.1.3.tgz#c9b0f7fa9233bfe5807fe66fcf3a5617ed597d43" - integrity sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.0.tgz#2dfefe720c6ba525d9ebd909950f0515316c89a3" + integrity sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA== dependencies: minimist "^1.2.5" @@ -7247,12 +6884,12 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.0.tgz#41108d2cec408c3453c1bbe8a4aae9e1e2bd8f82" - integrity sha512-EIsmt3O3ljsU6sot/J4E1zDRxfBNrhjyf/OKjlydwgEimQuznlM4Wv7U+ueONJMyEn1WRE0K8dhi3dVAXYT24Q== +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" + integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== dependencies: - array-includes "^3.1.2" + array-includes "^3.1.3" object.assign "^4.1.2" killable@^1.0.1: @@ -7290,9 +6927,9 @@ kleur@^3.0.3: integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== klona@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.4.tgz#7bb1e3affb0cb8624547ef7e8f6708ea2e39dfc0" - integrity sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA== + version "2.0.5" + resolved "https://registry.yarnpkg.com/klona/-/klona-2.0.5.tgz#d166574d90076395d9963aa7a928fabb8d76afbc" + integrity sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ== language-subtag-registry@~0.3.2: version "0.3.21" @@ -7340,16 +6977,6 @@ lines-and-columns@^1.1.6: resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00" integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA= -load-json-file@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" - integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= - dependencies: - graceful-fs "^4.1.2" - parse-json "^4.0.0" - pify "^3.0.0" - strip-bom "^3.0.0" - loader-runner@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357" @@ -7364,7 +6991,7 @@ loader-utils@1.2.3: emojis-list "^2.0.0" json5 "^1.0.1" -loader-utils@2.0.0, loader-utils@^2.0.0: +loader-utils@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.0.tgz#e4cace5b816d425a166b5f097e10cd12b36064b0" integrity sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ== @@ -7382,6 +7009,15 @@ loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0: emojis-list "^3.0.0" json5 "^1.0.1" +loader-utils@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.2.tgz#d6e3b4fb81870721ae4e0868ab11dd638368c129" + integrity sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A== + dependencies: + big.js "^5.2.2" + emojis-list "^3.0.0" + json5 "^2.1.2" + locate-path@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" @@ -7410,11 +7046,6 @@ lodash._reinterpolate@^3.0.0: resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= -lodash.clonedeep@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" - integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= - lodash.curry@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.curry/-/lodash.curry-4.1.1.tgz#248e36072ede906501d75966200a86dab8b23170" @@ -7470,20 +7101,15 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M= -"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.5: - version "4.17.19" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" - integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== - -lodash@^4.17.19, lodash@^4.17.21, lodash@^4.7.0: +"lodash@>=3.5 <5", lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.5, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== loglevel@^1.6.8: - version "1.7.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.7.1.tgz#005fde2f5e6e47068f935ff28573e125ef72f197" - integrity sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw== + version "1.8.0" + resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.0.tgz#e7ec73a57e1e7b419cb6c6ac06bf050b67356114" + integrity sha512-G6A/nJLRgWOuuwdNuA6koovfEV1YpqqAG4pRUlFaz3jj2QNZ8M4vBqnVA+HBTmU/AMNUtlOsMmSpF6NyOjztbA== loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4.0: version "1.4.0" @@ -7492,12 +7118,12 @@ loose-envify@^1.1.0, loose-envify@^1.2.0, loose-envify@^1.3.1, loose-envify@^1.4 dependencies: js-tokens "^3.0.0 || ^4.0.0" -lower-case@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.1.tgz#39eeb36e396115cc05e29422eaea9e692c9408c7" - integrity sha512-LiWgfDLLb1dwbFQZsSglpRj+1ctGnayXz3Uv0/WO8n558JycT5fg6zkNcnW0G68Nn0aEldTFeEfmjCfmqry/rQ== +lower-case@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" + integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== dependencies: - tslib "^1.10.0" + tslib "^2.0.3" lru-cache@^5.1.1: version "5.1.1" @@ -7535,12 +7161,12 @@ make-dir@^3.0.0, make-dir@^3.0.2: dependencies: semver "^6.0.0" -makeerror@1.0.x: - version "1.0.11" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.11.tgz#e01a5c9109f2af79660e4e8b9587790184f5a96c" - integrity sha1-4BpckQnyr3lmDk6LlYd5AYT1qWw= +makeerror@1.0.12: + version "1.0.12" + resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" + integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== dependencies: - tmpl "1.0.x" + tmpl "1.0.5" map-cache@^0.2.2: version "0.2.2" @@ -7563,25 +7189,25 @@ md5.js@^1.3.4: inherits "^2.0.1" safe-buffer "^5.1.2" +mdn-data@2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50" + integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow== + mdn-data@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== -mdn-data@2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.6.tgz#852dc60fcaa5daa2e8cf6c9189c440ed3e042978" - integrity sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA== - media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= memoize-one@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.1.1.tgz#047b6e3199b508eaec03504de71229b8eb1d75c0" - integrity sha512-HKeeBpWvqiVJD57ZUAsJNm71eHTykffzcLZVYWiVfQeI1rJtuEaS7hQiEpWfVVk18donPwJEcFKIkCmPJNOhHA== + version "5.2.1" + resolved "https://registry.yarnpkg.com/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" + integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== memory-fs@^0.4.1: version "0.4.1" @@ -7643,7 +7269,7 @@ micromatch@^3.1.10, micromatch@^3.1.4: snapdragon "^0.8.1" to-regex "^3.0.2" -micromatch@^4.0.2: +micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.4" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== @@ -7659,29 +7285,17 @@ miller-rabin@^4.0.0: bn.js "^4.0.0" brorand "^1.0.1" -mime-db@1.44.0, "mime-db@>= 1.43.0 < 2": - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== +mime-db@1.51.0, "mime-db@>= 1.43.0 < 2": + version "1.51.0" + resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c" + integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g== -mime-db@1.48.0: - version "1.48.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.48.0.tgz#e35b31045dd7eada3aaad537ed88a33afbef2d1d" - integrity sha512-FM3QwxV+TnZYQ2aRqhlKBMHxk10lTbMt3bBkMAp54ddrNeVSfcQYOOKuGuy3Ddrm38I04If834fOUSq1yzslJQ== - -mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.24: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== +mime-types@^2.1.12, mime-types@^2.1.27, mime-types@~2.1.17, mime-types@~2.1.24: + version "2.1.34" + resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24" + integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A== dependencies: - mime-db "1.44.0" - -mime-types@^2.1.27: - version "2.1.31" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.31.tgz#a00d76b74317c61f9c2db2218b8e9f8e9c5c9e6b" - integrity sha512-XGZnNzm3QvgKxa8dpzyhFTHmpP3l5YNusmne07VUOXxou9CqUqYa/HBy124RqtVh/O2pECas/MOcsDgpilPOPg== - dependencies: - mime-db "1.48.0" + mime-db "1.51.0" mime@1.6.0: version "1.6.0" @@ -7689,9 +7303,9 @@ mime@1.6.0: integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mime@^2.4.4: - version "2.4.6" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.4.6.tgz#e5b407c90db442f2beb5b162373d07b69affa4d1" - integrity sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA== + version "2.6.0" + resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" + integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== mimic-fn@^2.1.0: version "2.1.0" @@ -7699,11 +7313,11 @@ mimic-fn@^2.1.0: integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== mini-create-react-context@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.0.tgz#df60501c83151db69e28eac0ef08b4002efab040" - integrity sha512-b0TytUgFSbgFJGzJqXPKCFCBWigAjpjo+Fl7Vf7ZbKRDptszpppKxXH6DRXEABZ/gcEQczeb0iZ7JvL8e8jjCA== + version "0.4.1" + resolved "https://registry.yarnpkg.com/mini-create-react-context/-/mini-create-react-context-0.4.1.tgz#072171561bfdc922da08a60c2197a497cc2d1d5e" + integrity sha512-YWCYEmd5CQeHGSAKrYvXgmzzkrvssZcuuQDDeqkT+PziKGMgE+0MCCtcKbROzocGBG1meBLl2FotlRwf4gAzbQ== dependencies: - "@babel/runtime" "^7.5.5" + "@babel/runtime" "^7.12.1" tiny-warning "^1.0.3" mini-css-extract-plugin@0.11.3: @@ -7721,7 +7335,7 @@ minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== -minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: +minimalistic-crypto-utils@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= @@ -7753,16 +7367,16 @@ minipass-flush@^1.0.5: minipass "^3.0.0" minipass-pipeline@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.3.tgz#55f7839307d74859d6e8ada9c3ebe72cec216a34" - integrity sha512-cFOknTvng5vqnwOpDsZTWhNll6Jf8o2x+/diplafmxpuIymAjzoOolZG0VvQf3V2HgqzJNhnuKHYp2BqDgz8IQ== + version "1.2.4" + resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== dependencies: minipass "^3.0.0" minipass@^3.0.0, minipass@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.3.tgz#7d42ff1f39635482e15f9cdb53184deebd5815fd" - integrity sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg== + version "3.1.5" + resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.1.5.tgz#71f6251b0a33a49c01b3cf97ff77eda030dff732" + integrity sha512-+8NzxD82XQoNKNrl1d/FSi+X8wAEWR+sbYAfIvub4Nz0d22plFG72CEVVaufV8PNf4qSslFTD8VMOxNVhHCjTw== dependencies: yallist "^4.0.0" @@ -7832,11 +7446,16 @@ ms@2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== -ms@2.1.2, ms@^2.1.1: +ms@2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + multicast-dns-service-types@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901" @@ -7851,14 +7470,14 @@ multicast-dns@^6.0.1: thunky "^1.0.2" nan@^2.12.1: - version "2.14.1" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" - integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== + version "2.15.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" + integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== -nanoid@^3.1.23: - version "3.1.23" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.23.tgz#f744086ce7c2bc47ee0a8472574d5c78e4183a81" - integrity sha512-FiB0kzdP0FFVGDKlRLEQ1BgDzU87dy5NnzjeW9YZNt+/c3+q82EQDUwniSAUxp/F0gFNI1ZhKU1FqYsMuqZVnw== +nanoid@^3.1.30: + version "3.1.30" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.1.30.tgz#63f93cc548d2a113dc5dfbc63bfa09e2b9b64362" + integrity sha512-zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ== nanomatch@^1.2.9: version "1.2.13" @@ -7909,13 +7528,13 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -no-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.3.tgz#c21b434c1ffe48b39087e86cfb4d2582e9df18f8" - integrity sha512-ehY/mVQCf9BL0gKfsJBvFJen+1V//U+0HQMPrWct40ixE4jnv0bfvxDbWtAHL9EcaPEOJHVVYKoQn1TlZUB8Tw== +no-case@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" + integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== dependencies: - lower-case "^2.0.1" - tslib "^1.10.0" + lower-case "^2.0.2" + tslib "^2.0.3" node-forge@^0.10.0: version "0.10.0" @@ -7973,17 +7592,17 @@ node-notifier@^8.0.0: uuid "^8.3.0" which "^2.0.2" -node-releases@^1.1.58: - version "1.1.59" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.59.tgz#4d648330641cec704bff10f8e4fe28e453ab8e8e" - integrity sha512-H3JrdUczbdiwxN5FuJPyCHnGHIFqQ0wWxo+9j1kAXAzqNMAHlo+4I/sYYxpyK0irQ73HgdiyzD32oqQDcU2Osw== +node-releases@^1.1.61: + version "1.1.77" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.77.tgz#50b0cfede855dd374e7585bf228ff34e57c1c32e" + integrity sha512-rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ== -node-releases@^1.1.61, node-releases@^1.1.71: - version "1.1.73" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-1.1.73.tgz#dd4e81ddd5277ff846b80b52bb40c49edf7a7b20" - integrity sha512-uW7fodD6pyW2FZNZnp/Z3hvWKeEW1Y8R1+1CnErE8cXFXzl5blBOoVB41CvMer6P6Q0S5FXDwcHgFd1Wj0U9zg== +node-releases@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" + integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== -normalize-package-data@^2.3.2, normalize-package-data@^2.5.0: +normalize-package-data@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== @@ -8039,13 +7658,20 @@ npm-run-path@^4.0.0: dependencies: path-key "^3.0.0" -nth-check@^1.0.2, nth-check@~1.0.1: +nth-check@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c" integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg== dependencies: boolbase "~1.0.0" +nth-check@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.0.1.tgz#2efe162f5c3da06a28959fbd3db75dbeea9f0fc2" + integrity sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w== + dependencies: + boolbase "^1.0.0" + num2fraction@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" @@ -8070,25 +7696,20 @@ object-copy@^0.1.0: define-property "^0.2.5" kind-of "^3.0.3" -object-inspect@^1.10.3, object-inspect@^1.9.0: - version "1.10.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.10.3.tgz#c2aa7d2d09f50c99375704f7a0adf24c5782d369" - integrity sha512-e5mCJlSH7poANfC8z8S9s9S2IN5/4Zb3aZ33f5s8YqoazCFzNLloLU8r5VCG+G7WoqLvAAZoVMcy3tp/3X0Plw== - -object-inspect@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.8.0.tgz#df807e5ecf53a609cc6bfe93eac3cc7be5b3a9d0" - integrity sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA== +object-inspect@^1.11.0, object-inspect@^1.9.0: + version "1.11.0" + resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1" + integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg== object-is@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.2.tgz#c5d2e87ff9e119f78b7a088441519e2eec1573b6" - integrity sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ== + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== dependencies: + call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.17.5" -object-keys@^1.0.11, object-keys@^1.0.12, object-keys@^1.1.1: +object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== @@ -8100,17 +7721,7 @@ object-visit@^1.0.0: dependencies: isobject "^3.0.0" -object.assign@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.0.tgz#968bf1100d7956bb3ca086f006f846b3bc4008da" - integrity sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w== - dependencies: - define-properties "^1.1.2" - function-bind "^1.1.1" - has-symbols "^1.0.0" - object-keys "^1.0.11" - -object.assign@^4.1.2: +object.assign@^4.1.0, object.assign@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== @@ -8120,41 +7731,40 @@ object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.entries@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.2.tgz#bc73f00acb6b6bb16c203434b10f9a7e797d3add" - integrity sha512-BQdB9qKmb/HyNdMNWVr7O3+z5MUIx3aiegEIJqjMBbBf0YT9RRxTJSim4mzFqtyr7PDAHigq0N9dO0m0tRakQA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - has "^1.0.3" - -object.entries@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.4.tgz#43ccf9a50bc5fd5b649d45ab1a579f24e088cafd" - integrity sha512-h4LWKWE+wKQGhtMjZEBud7uLGhqyLwj8fpHOarZhD2uY3C9cRtk57VQ89ke3moByLXMedqs3XCHzyb4AmA2DjA== +object.entries@^1.1.0, object.entries@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.2" + es-abstract "^1.19.1" -object.fromentries@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.4.tgz#26e1ba5c4571c5c6f0890cef4473066456a120b8" - integrity sha512-EsFBshs5RUUpQEY1D4q/m59kMfz4YJvxuNCJcv/jWwOJr34EaVnG11ZrZa0UHB3wnzV1wx8m58T4hQL8IuNXlQ== +object.fromentries@^2.0.5: + version "2.0.5" + resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" + integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.0-next.2" - has "^1.0.3" + es-abstract "^1.19.1" object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz#369bf1f9592d8ab89d712dced5cb81c7c5352649" - integrity sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg== + version "2.1.3" + resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.3.tgz#b223cf38e17fefb97a63c10c91df72ccb386df9e" + integrity sha512-VdDoCwvJI4QdC6ndjpqFmoL3/+HxffFBbcJzKi5hwLLqqx3mdbedRpfZDdK0SrOSauj8X4GzBvnDZl4vTN7dOw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.hasown@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" + integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== dependencies: define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" + es-abstract "^1.19.1" object.pick@^1.3.0: version "1.3.0" @@ -8163,24 +7773,14 @@ object.pick@^1.3.0: dependencies: isobject "^3.0.1" -object.values@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.1.tgz#68a99ecde356b7e9295a3c5e0ce31dc8c953de5e" - integrity sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - function-bind "^1.1.1" - has "^1.0.3" - -object.values@^1.1.3, object.values@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.4.tgz#0d273762833e816b693a637d30073e7051535b30" - integrity sha512-TnGo7j4XSnKQoK3MfvkzqKCi0nVe/D9I9IjwTNYdb/fxYHpjrluHVOgw0AF6jrRFGMPHdfuidR09tIDiIvnaSg== +object.values@^1.1.0, object.values@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.2" + es-abstract "^1.19.1" obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" @@ -8207,16 +7807,16 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0: wrappy "1" onetime@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5" - integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q== + version "5.1.2" + resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" open@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/open/-/open-7.0.4.tgz#c28a9d315e5c98340bf979fdcb2e58664aa10d83" - integrity sha512-brSA+/yq+b08Hsr4c8fsEW2CRzk1BmfN3SAK/5VCHQ9bdoZJ4qa/+AfR0xHjlbbZUyPkUHs1b8x1RqdyZdkVqQ== + version "7.4.2" + resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== dependencies: is-docker "^2.0.0" is-wsl "^2.1.1" @@ -8368,12 +7968,12 @@ parallel-transform@^1.1.0: readable-stream "^2.1.5" param-case@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.3.tgz#4be41f8399eff621c56eebb829a5e451d9801238" - integrity sha512-VWBVyimc1+QrzappRs7waeN2YmoZFCGXWASRYX1/rGHtXqEcrGEIDm+jqIwFa2fRXNgQEwrxaYuIrX0WcAguTA== + version "3.0.4" + resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5" + integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== dependencies: - dot-case "^3.0.3" - tslib "^1.10.0" + dot-case "^3.0.4" + tslib "^2.0.3" parent-module@^1.0.0: version "1.0.1" @@ -8383,13 +7983,12 @@ parent-module@^1.0.0: callsites "^3.0.0" parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.5" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.5.tgz#003271343da58dc94cace494faef3d2147ecea0e" - integrity sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ== + version "5.1.6" + resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" + integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== dependencies: - asn1.js "^4.0.0" + asn1.js "^5.2.0" browserify-aes "^1.0.0" - create-hash "^1.1.0" evp_bytestokey "^1.0.0" pbkdf2 "^3.0.3" safe-buffer "^5.1.1" @@ -8403,13 +8002,13 @@ parse-json@^4.0.0: json-parse-better-errors "^1.0.1" parse-json@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.0.0.tgz#73e5114c986d143efa3712d4ea24db9a4266f60f" - integrity sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw== + version "5.2.0" + resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" + integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== dependencies: "@babel/code-frame" "^7.0.0" error-ex "^1.3.1" - json-parse-better-errors "^1.0.1" + json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" parse5@6.0.1: @@ -8422,13 +8021,13 @@ parseurl@~1.3.2, parseurl@~1.3.3: resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== -pascal-case@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.1.tgz#5ac1975133ed619281e88920973d2cd1f279de5f" - integrity sha512-XIeHKqIrsquVTQL2crjq3NfJUxmdLasn3TYOU0VBM+UX2a6ztAWBlJQBePLGY7VHW8+2dRadeIPK5+KImwTxQA== +pascal-case@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb" + integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== dependencies: - no-case "^3.0.3" - tslib "^1.10.0" + no-case "^3.0.4" + tslib "^2.0.3" pascalcase@^0.1.1: version "0.1.1" @@ -8476,9 +8075,9 @@ path-key@^3.0.0, path-key@^3.1.0: integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c" - integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw== + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-to-regexp@0.1.7: version "0.1.7" @@ -8492,22 +8091,15 @@ path-to-regexp@^1.7.0: dependencies: isarray "0.0.1" -path-type@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f" - integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== - dependencies: - pify "^3.0.0" - path-type@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== pbkdf2@^3.0.3: - version "3.1.1" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.1.tgz#cb8724b0fada984596856d1a6ebafd3584654b94" - integrity sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg== + version "3.1.2" + resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" + integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== dependencies: create-hash "^1.1.2" create-hmac "^1.1.4" @@ -8520,12 +8112,17 @@ performance-now@^2.1.0: resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== +picocolors@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== -picomatch@^2.2.2, picomatch@^2.2.3: +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.2, picomatch@^2.2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== @@ -8535,11 +8132,6 @@ pify@^2.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - pify@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" @@ -8592,13 +8184,6 @@ pkg-up@3.1.0: dependencies: find-up "^3.0.0" -pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f" - integrity sha1-yBmscoBZpGHKscOImivjxJoATX8= - dependencies: - find-up "^2.1.0" - pnp-webpack-plugin@1.6.4: version "1.6.4" resolved "https://registry.yarnpkg.com/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz#c9711ac4dc48a685dabafc86f8b6dd9f8df84149" @@ -8636,9 +8221,9 @@ postcss-browser-comments@^3.0.0: postcss "^7" postcss-calc@^7.0.1: - version "7.0.2" - resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.2.tgz#504efcd008ca0273120568b0792b16cdcde8aac1" - integrity sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ== + version "7.0.5" + resolved "https://registry.yarnpkg.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e" + integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg== dependencies: postcss "^7.0.27" postcss-selector-parser "^6.0.2" @@ -8802,9 +8387,9 @@ postcss-focus-within@^3.0.0: postcss "^7.0.2" postcss-font-variant@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.0.tgz#71dd3c6c10a0d846c5eda07803439617bbbabacc" - integrity sha512-M8BFYKOvCrI2aITzDad7kWuXXTm0YhGdP9Q8HanmN4EF1Hmcgs1KK5rSHylt/lUJe8yLxiSwWAHdScoEiIxztg== + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" + integrity sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA== dependencies: postcss "^7.0.2" @@ -8824,11 +8409,10 @@ postcss-image-set-function@^3.0.1: postcss-values-parser "^2.0.0" postcss-initial@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.2.tgz#f018563694b3c16ae8eaabe3c585ac6319637b2d" - integrity sha512-ugA2wKonC0xeNHgirR4D3VWHs2JcU08WAi1KFLVcnb7IN89phID6Qtg2RIctWbnvp1TM2BOmDtX8GGLCKdR8YA== + version "3.0.4" + resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.4.tgz#9d32069a10531fe2ecafa0b6ac750ee0bc7efc53" + integrity sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg== dependencies: - lodash.template "^4.5.0" postcss "^7.0.2" postcss-lab-function@^2.0.1: @@ -8841,9 +8425,9 @@ postcss-lab-function@^2.0.1: postcss-values-parser "^2.0.0" postcss-load-config@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.0.tgz#c84d692b7bb7b41ddced94ee62e8ab31b417b003" - integrity sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q== + version "2.1.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a" + integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw== dependencies: cosmiconfig "^5.0.0" import-cwd "^2.0.0" @@ -9191,9 +8775,9 @@ postcss-selector-matches@^4.0.0: postcss "^7.0.2" postcss-selector-not@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.0.tgz#c68ff7ba96527499e832724a2674d65603b645c0" - integrity sha512-W+bkBZRhqJaYN8XAnbbZPLWMvZD1wKTu0UxtFKdhtGjWYmxhkUneoeOhRJKdAE5V7ZTlnbHfCR+6bNwK9e1dTQ== + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz#263016eef1cf219e0ade9a913780fc1f48204cbf" + integrity sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ== dependencies: balanced-match "^1.0.0" postcss "^7.0.2" @@ -9217,20 +8801,18 @@ postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: uniq "^1.0.1" postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz#934cf799d016c83411859e09dcecade01286ec5c" - integrity sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg== + version "6.0.6" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.6.tgz#2c5bba8174ac2f6981ab631a42ab0ee54af332ea" + integrity sha512-9LXrvaaX3+mcv5xkg5kFwqSzSH1JIObIx51PrndZwlmznwXRfxMddDvo9gve3gVR8ZTKgoFDdWkbRFmEhT4PMg== dependencies: cssesc "^3.0.0" - indexes-of "^1.0.1" - uniq "^1.0.1" + util-deprecate "^1.0.2" -postcss-svgo@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.2.tgz#17b997bc711b333bab143aaed3b8d3d6e3d38258" - integrity sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw== +postcss-svgo@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e" + integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw== dependencies: - is-svg "^3.0.0" postcss "^7.0.0" postcss-value-parser "^3.0.0" svgo "^1.0.0" @@ -9263,25 +8845,7 @@ postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: indexes-of "^1.0.1" uniq "^1.0.1" -postcss@7.0.21: - version "7.0.21" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.21.tgz#06bb07824c19c2021c5d056d5b10c35b989f7e17" - integrity sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: - version "7.0.32" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.32.tgz#4310d6ee347053da3433db2be492883d62cec59d" - integrity sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw== - dependencies: - chalk "^2.4.2" - source-map "^0.6.1" - supports-color "^6.1.0" - -postcss@^7.0.26: +postcss@7.0.36: version "7.0.36" resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.36.tgz#056f8cffa939662a8f5905950c07d5285644dfcb" integrity sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw== @@ -9290,13 +8854,21 @@ postcss@^7.0.26: source-map "^0.6.1" supports-color "^6.1.0" -postcss@^8.1.0: - version "8.3.2" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.2.tgz#ed3ec489f5428af5740cd6effcc216b4d455ee64" - integrity sha512-y1FK/AWdZlBF5lusS5j5l4/vF67+vQZt1SXPVJ32y1kRGDQyrs1zk32hG1cInRTu14P0V+orPz+ifwW/7rR4bg== +postcss@^7, postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: + version "7.0.39" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== dependencies: - colorette "^1.2.2" - nanoid "^3.1.23" + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^8.1.0: + version "8.3.11" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.3.11.tgz#c3beca7ea811cd5e1c4a3ec6d2e7599ef1f8f858" + integrity sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA== + dependencies: + nanoid "^3.1.30" + picocolors "^1.0.0" source-map-js "^0.6.2" prelude-ls@^1.2.1: @@ -9320,12 +8892,12 @@ pretty-bytes@^5.3.0: integrity sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg== pretty-error@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.1.tgz#5f4f87c8f91e5ae3f3ba87ab4cf5e03b1a17f1a3" - integrity sha1-X0+HyPkeWuPzuoerTPXgOxoX8aM= + version "2.1.2" + resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6" + integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw== dependencies: - renderkid "^2.0.1" - utila "~0.4" + lodash "^4.17.20" + renderkid "^2.0.4" pretty-format@^26.6.0, pretty-format@^26.6.2: version "26.6.2" @@ -9373,14 +8945,14 @@ prompts@2.4.0: sisteransi "^1.0.5" prompts@^2.0.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.3.2.tgz#480572d89ecf39566d2bd3fe2c9fccb7c4c0b068" - integrity sha512-Q06uKs2CkNYVID0VqwfAl9mipo99zkBv/n2JtWY89Yxa3ZabWSrs0e2KTudKVa3peLUvYXMefDqIleLPVUBZMA== + version "2.4.2" + resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" + integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== dependencies: kleur "^3.0.3" - sisteransi "^1.0.4" + sisteransi "^1.0.5" -prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: +prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ== @@ -9390,11 +8962,11 @@ prop-types@^15.5.8, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: react-is "^16.8.1" proxy-addr@~2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.6.tgz#fdc2336505447d3f2f2c638ed272caf614bbb2bf" - integrity sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw== + version "2.0.7" + resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: - forwarded "~0.1.2" + forwarded "0.2.0" ipaddr.js "1.9.1" prr@~1.0.1: @@ -9493,9 +9065,9 @@ querystring@^0.2.0: integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== querystringify@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.1.1.tgz#60e5a5fd64a7f8bfa4d2ab2ed6fdf4c85bad154e" - integrity sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA== + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== queue-microtask@^1.2.2: version "1.2.3" @@ -9540,12 +9112,12 @@ raw-body@2.4.0: unpipe "1.0.0" react-ace@^9.4.1: - version "9.4.1" - resolved "https://registry.yarnpkg.com/react-ace/-/react-ace-9.4.1.tgz#5f446c2764a0b615e8d00cd251b9b35d95365e37" - integrity sha512-vhOFrB5Xy++mcPNc6wc1mwMFP/FZOnYxQPqgRl/dLfkZBbrJf4SAgXaa6PU4AXWu1u5bfxOmRwwHaZPrLb6d9Q== + version "9.5.0" + resolved "https://registry.yarnpkg.com/react-ace/-/react-ace-9.5.0.tgz#b6c32b70d404dd821a7e01accc2d76da667ff1f7" + integrity sha512-4l5FgwGh6K7A0yWVMQlPIXDItM4Q9zzXRqOae8KkCl6MkOob7sC1CzHxZdOGvV+QioKWbX2p5HcdOVUv6cAdSg== dependencies: - ace-builds "^1.4.12" - diff-match-patch "^1.0.4" + ace-builds "^1.4.13" + diff-match-patch "^1.0.5" lodash.get "^4.4.2" lodash.isequal "^4.5.0" prop-types "^15.7.2" @@ -9562,16 +9134,16 @@ react-app-polyfill@^2.0.0: regenerator-runtime "^0.13.7" whatwg-fetch "^3.4.1" -react-base16-styling@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/react-base16-styling/-/react-base16-styling-0.8.0.tgz#6251b814b4e09efab3284ae1ecdd490f2c4111eb" - integrity sha512-ElvciPaL4xpWh7ISX7ugkNS/dvoh7DpVMp4t93ngnEsS2LkMd8Gu+cDDOLis2rj4889CNK662UdjOfv3wvZg9w== +react-base16-styling@^0.8.1: + version "0.8.1" + resolved "https://registry.yarnpkg.com/react-base16-styling/-/react-base16-styling-0.8.1.tgz#fa397b831a1c1050cb13cf29e3729e4780483b14" + integrity sha512-Qf8MiaeZRa6EiooXEtQWGvPuJDp1CuN2EjS9QUiBTBY5lmpFLvL58lCfRNkkAs8fBVsXOmkiKTcFQuEl4vYTgw== dependencies: "@types/base16" "^1.0.2" - "@types/lodash.curry" "^4.1.6" + "@types/lodash" "^4.14.176" base16 "^1.0.0" - color "^3.1.2" - csstype "^3.0.2" + color "^3.2.1" + csstype "^3.0.9" lodash.curry "^4.1.1" react-contextmenu@^2.14.0: @@ -9626,13 +9198,6 @@ react-error-overlay@^6.0.9: resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.9.tgz#3c743010c9359608c375ecd6bc76f35d93995b0a" integrity sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew== -react-input-autosize@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/react-input-autosize/-/react-input-autosize-3.0.0.tgz#6b5898c790d4478d69420b55441fcc31d5c50a85" - integrity sha512-nL9uS7jEs/zu8sqwFE5MAPx6pPkNAriACQ2rGLlqmKr2sPGtN7TXTyDdQt4lbNXVx7Uzadb40x8qotIuru6Rhg== - dependencies: - prop-types "^15.5.8" - react-is@^16.6.0, react-is@^16.7.0, react-is@^16.8.1: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" @@ -9644,13 +9209,13 @@ react-is@^17.0.1: integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== react-json-tree@^0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/react-json-tree/-/react-json-tree-0.15.0.tgz#16a5bbed761f711d1656de6c62818d40ddb09442" - integrity sha512-/bEFXZBfLFiep6ReuzatR8mz9G7sRmejElRDgcAuqY0Jsx7llouax2DM03rlQifrUJgmvTGmPA+olyWYyGagqA== + version "0.15.1" + resolved "https://registry.yarnpkg.com/react-json-tree/-/react-json-tree-0.15.1.tgz#1682c3b59feaf192d4ff26cbb99d38f36d904a12" + integrity sha512-9HTejgI4yuR1RBSQ8HOp4AOZ513MZru/PC7abzo0EG+++IoMHqnCKw43hIySUyBNGz81un/0M575Hvwnp4oQiA== dependencies: - "@types/prop-types" "^15.7.3" + "@types/prop-types" "^15.7.4" prop-types "^15.7.2" - react-base16-styling "^0.8.0" + react-base16-styling "^0.8.1" react-refresh@^0.8.3: version "0.8.3" @@ -9658,24 +9223,24 @@ react-refresh@^0.8.3: integrity sha512-X8jZHc7nCMjaCqoU+V2I0cOhNW+QMBwSUkeXnTi8IPe6zaRWfn60ZzvFDZqWPfmSJfjub7dDW1SP0jaHWLu/hg== react-router-dom@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.2.0.tgz#9e65a4d0c45e13289e66c7b17c7e175d0ea15662" - integrity sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA== + version "5.3.0" + resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-5.3.0.tgz#da1bfb535a0e89a712a93b97dd76f47ad1f32363" + integrity sha512-ObVBLjUZsphUUMVycibxgMdh5jJ1e3o+KpAZBVeHcNQZ4W+uUGGWsokurzlF4YOldQYRQL4y6yFRWM4m3svmuQ== dependencies: - "@babel/runtime" "^7.1.2" + "@babel/runtime" "^7.12.13" history "^4.9.0" loose-envify "^1.3.1" prop-types "^15.6.2" - react-router "5.2.0" + react-router "5.2.1" tiny-invariant "^1.0.2" tiny-warning "^1.0.0" -react-router@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.0.tgz#424e75641ca8747fbf76e5ecca69781aa37ea293" - integrity sha512-smz1DUuFHRKdcJC0jobGo8cVbhO3x50tCL4icacOlcwDOEQPq4TMqwx3sY1TP+DvtTgz4nm3thuo7A+BK2U0Dw== +react-router@5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/react-router/-/react-router-5.2.1.tgz#4d2e4e9d5ae9425091845b8dbc6d9d276239774d" + integrity sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ== dependencies: - "@babel/runtime" "^7.1.2" + "@babel/runtime" "^7.12.13" history "^4.9.0" hoist-non-react-statics "^3.1.0" loose-envify "^1.3.1" @@ -9752,23 +9317,23 @@ react-scripts@4.0.3: optionalDependencies: fsevents "^2.1.3" -react-select@^4.3.1: - version "4.3.1" - resolved "https://registry.yarnpkg.com/react-select/-/react-select-4.3.1.tgz#389fc07c9bc7cf7d3c377b7a05ea18cd7399cb81" - integrity sha512-HBBd0dYwkF5aZk1zP81Wx5UsLIIT2lSvAY2JiJo199LjoLHoivjn9//KsmvQMEFGNhe58xyuOITjfxKCcGc62Q== +react-select@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/react-select/-/react-select-5.2.1.tgz#416c25c6b79b94687702374e019c4f2ed9d159d6" + integrity sha512-OOyNzfKrhOcw/BlembyGWgdlJ2ObZRaqmQppPFut1RptJO423j+Y+JIsmxkvsZ4D/3CpOmwIlCvWbbAWEdh12A== dependencies: "@babel/runtime" "^7.12.0" "@emotion/cache" "^11.4.0" "@emotion/react" "^11.1.1" + "@types/react-transition-group" "^4.4.0" memoize-one "^5.0.0" prop-types "^15.6.0" - react-input-autosize "^3.0.0" react-transition-group "^4.3.0" react-transition-group@^4.3.0: - version "4.4.1" - resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.1.tgz#63868f9325a38ea5ee9535d828327f85773345c9" - integrity sha512-Djqr7OQ2aPUiYurhPalTrVy9ddmFCCzwhqQmtN+J3+3DzLO209Fdr70QrN8Z3DsglWql6iY1lDWAfpFiBtuKGw== + version "4.4.2" + resolved "https://registry.yarnpkg.com/react-transition-group/-/react-transition-group-4.4.2.tgz#8b59a56f09ced7b55cbd53c36768b922890d5470" + integrity sha512-/RNYfRAMlZwDSr6z4zNKV6xu53/e2BuaBbGhbyYIXTrmgu/bGHzmqOs7mJSJBHy9Ud+ApHx3QjrkKSp1pxvlFg== dependencies: "@babel/runtime" "^7.5.5" dom-helpers "^5.0.1" @@ -9783,14 +9348,6 @@ react@^17.0.2: loose-envify "^1.1.0" object-assign "^4.1.1" -read-pkg-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-3.0.0.tgz#3ed496685dba0f8fe118d0691dc51f4a1ff96f07" - integrity sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc= - dependencies: - find-up "^2.0.0" - read-pkg "^3.0.0" - read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" @@ -9800,15 +9357,6 @@ read-pkg-up@^7.0.1: read-pkg "^5.2.0" type-fest "^0.8.1" -read-pkg@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" - integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= - dependencies: - load-json-file "^4.0.0" - normalize-package-data "^2.3.2" - path-type "^3.0.0" - read-pkg@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" @@ -9832,7 +9380,7 @@ read-pkg@^5.2.0: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0: +readable-stream@^3.0.6, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -9850,10 +9398,10 @@ readdirp@^2.2.1: micromatch "^3.1.10" readable-stream "^2.0.2" -readdirp@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" - integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" @@ -9864,32 +9412,27 @@ recursive-readdir@2.2.2: dependencies: minimatch "3.0.4" -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== +regenerate-unicode-properties@^9.0.0: + version "9.0.0" + resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz#54d09c7115e1f53dc2314a974b32c1c344efe326" + integrity sha512-3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA== dependencies: - regenerate "^1.4.0" + regenerate "^1.4.2" -regenerate@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.1.tgz#cad92ad8e6b591773485fbe05a485caf4f457e6f" - integrity sha512-j2+C8+NtXQgEKWk49MMP5P/u2GhnahTtVkRIHr5R5lVRlbKvmQ+oS+A5aLKWp2ma5VkT8sh6v+v4hbH0YHR66A== +regenerate@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" + integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== regenerator-runtime@^0.11.0: version "0.11.1" resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9" integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg== -regenerator-runtime@^0.13.4: - version "0.13.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" - integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== - -regenerator-runtime@^0.13.7: - version "0.13.7" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz#cac2dacc8a1ea675feaabaeb8ae833898ae46f55" - integrity sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew== +regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: + version "0.13.9" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== regenerator-transform@^0.14.2: version "0.14.5" @@ -9911,15 +9454,7 @@ regex-parser@^2.2.11: resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== -regexp.prototype.flags@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz#7aba89b3c13a64509dabcf3ca8d9fbb9bdf5cb75" - integrity sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.0-next.1" - -regexp.prototype.flags@^1.3.1: +regexp.prototype.flags@^1.2.0, regexp.prototype.flags@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26" integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA== @@ -9928,43 +9463,31 @@ regexp.prototype.flags@^1.3.1: define-properties "^1.1.3" regexpp@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.1.0.tgz#206d0ad0a5648cffbdb8ae46438f3dc51c9f78e2" - integrity sha512-ZOIzd8yVsQQA7j8GCSlPGXwg5PfmA1mrq0JP4nGhh54LaKN3xdai/vHUDu74pKwV8OxseMS65u2NImosQcSD0Q== - -regexpu-core@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" - integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" + version "3.2.0" + resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== regexpu-core@^4.7.1: - version "4.7.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.1.tgz#2dea5a9a07233298fbf0db91fa9abc4c6e0f8ad6" - integrity sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ== + version "4.8.0" + resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.8.0.tgz#e5605ba361b67b1718478501327502f4479a98f0" + integrity sha512-1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg== dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" + regenerate "^1.4.2" + regenerate-unicode-properties "^9.0.0" + regjsgen "^0.5.2" + regjsparser "^0.7.0" + unicode-match-property-ecmascript "^2.0.0" + unicode-match-property-value-ecmascript "^2.0.0" -regjsgen@^0.5.1: +regjsgen@^0.5.2: version "0.5.2" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== -regjsparser@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" - integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== +regjsparser@^0.7.0: + version "0.7.0" + resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.7.0.tgz#a6b667b54c885e18b52554cb4960ef71187e9968" + integrity sha512-A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ== dependencies: jsesc "~0.5.0" @@ -9978,21 +9501,21 @@ remove-trailing-separator@^1.0.1: resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" integrity sha1-wkvOKig62tW8P1jg1IJJuSN52O8= -renderkid@^2.0.1: - version "2.0.3" - resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.3.tgz#380179c2ff5ae1365c522bf2fcfcff01c5b74149" - integrity sha512-z8CLQp7EZBPCwCnncgf9C4XAi3WR0dv+uWu/PjIyhhAb5d6IJ/QZqlHFprHeKT+59//V6BNUsLbvN8+2LarxGA== +renderkid@^2.0.4: + version "2.0.7" + resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609" + integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ== dependencies: - css-select "^1.1.0" - dom-converter "^0.2" - htmlparser2 "^3.3.0" - strip-ansi "^3.0.0" - utila "^0.4.0" + css-select "^4.1.3" + dom-converter "^0.2.0" + htmlparser2 "^6.1.0" + lodash "^4.17.21" + strip-ansi "^3.0.1" repeat-element@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.3.tgz#782e0d825c0c5a3bb39731f84efee6b742e6b1ce" - integrity sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g== + version "1.1.4" + resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" + integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== repeat-string@^1.6.1: version "1.6.1" @@ -10054,9 +9577,9 @@ resolve-pathname@^3.0.0: integrity sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng== resolve-url-loader@^3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.3.tgz#49ec68340f67d8d2ab6b401948d5def3ab2d0367" - integrity sha512-WbDSNFiKPPLem1ln+EVTE+bFUBdTTytfQZWbmghroaFNFaAVmGq0Saqw6F/306CwgPXsGwXVxbODE+3xAo/YbA== + version "3.1.4" + resolved "https://registry.yarnpkg.com/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz#3c16caebe0b9faea9c7cc252fa49d2353c412320" + integrity sha512-D3sQ04o0eeQEySLrcz4DsX3saHfsr8/N6tfhblxgZKXxMT2Louargg12oGNfoTRLV09GXhVUe5/qgA5vdgNigg== dependencies: adjust-sourcemap-loader "3.0.0" camelcase "5.3.1" @@ -10064,7 +9587,7 @@ resolve-url-loader@^3.1.2: convert-source-map "1.7.0" es6-iterator "2.0.3" loader-utils "1.2.3" - postcss "7.0.21" + postcss "7.0.36" rework "1.0.1" rework-visit "1.0.0" source-map "0.6.1" @@ -10082,14 +9605,7 @@ resolve@1.18.1: is-core-module "^2.0.0" path-parse "^1.0.6" -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.3.2, resolve@^1.8.1: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - -resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.20.0: +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.20.0, resolve@^1.3.2, resolve@^1.8.1: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -10236,7 +9752,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3": +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -10273,9 +9789,9 @@ sass-loader@^10.0.5: semver "^7.3.2" sass@^1.34.1: - version "1.34.1" - resolved "https://registry.yarnpkg.com/sass/-/sass-1.34.1.tgz#30f45c606c483d47b634f1e7371e13ff773c96ef" - integrity sha512-scLA7EIZM+MmYlej6sdVr0HRbZX5caX5ofDT9asWnUJj21oqgsC+1LuNfm0eg+vM0fCTZHhwImTiCU0sx9h9CQ== + version "1.43.4" + resolved "https://registry.yarnpkg.com/sass/-/sass-1.43.4.tgz#68c7d6a1b004bef49af0d9caf750e9b252105d1f" + integrity sha512-/ptG7KE9lxpGSYiXn7Ar+lKOv37xfWsZRtFYal2QHNigyVQDx685VFT/h7ejVr+R8w7H4tmUgtulsKl5YpveOg== dependencies: chokidar ">=3.0.0 <4.0.0" @@ -10308,16 +9824,7 @@ schema-utils@^1.0.0: ajv-errors "^1.0.0" ajv-keywords "^3.1.0" -schema-utils@^2.6.5: - version "2.7.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" - integrity sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A== - dependencies: - "@types/json-schema" "^7.0.4" - ajv "^6.12.2" - ajv-keywords "^3.4.1" - -schema-utils@^2.7.0, schema-utils@^2.7.1: +schema-utils@^2.6.5, schema-utils@^2.7.0, schema-utils@^2.7.1: version "2.7.1" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7" integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg== @@ -10326,12 +9833,12 @@ schema-utils@^2.7.0, schema-utils@^2.7.1: ajv "^6.12.4" ajv-keywords "^3.5.2" -schema-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.0.0.tgz#67502f6aa2b66a2d4032b4279a2944978a0913ef" - integrity sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA== +schema-utils@^3.0.0, schema-utils@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" + integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== dependencies: - "@types/json-schema" "^7.0.6" + "@types/json-schema" "^7.0.8" ajv "^6.12.5" ajv-keywords "^3.5.2" @@ -10357,7 +9864,7 @@ semver@7.0.0: resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== -semver@7.3.2, semver@^7.3.2: +semver@7.3.2: version "7.3.2" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== @@ -10367,7 +9874,7 @@ semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.5: +semver@^7.2.1, semver@^7.3.2, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -10393,13 +9900,6 @@ send@0.17.1: range-parser "~1.2.1" statuses "~1.5.0" -serialize-javascript@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-3.1.0.tgz#8bf3a9170712664ef2561b44b691eafe399214ea" - integrity sha512-JIJT1DGiWmIKhzRsG91aS6Ze4sFUrYbltlkg2onR5OrnNM02Kl/hnY/T4FN2omvyeBbQmMJv+K4cPOpGzOTFBg== - dependencies: - randombytes "^2.1.0" - serialize-javascript@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" @@ -10519,9 +10019,9 @@ side-channel@^1.0.4: object-inspect "^1.9.0" signal-exit@^3.0.0, signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== + version "3.0.6" + resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" + integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== simple-swizzle@^0.2.2: version "0.2.2" @@ -10530,7 +10030,7 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" -sisteransi@^1.0.4, sisteransi@^1.0.5: +sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== @@ -10580,16 +10080,16 @@ snapdragon@^0.8.1: use "^3.1.0" sockjs-client@^1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.1.tgz#256908f6d5adfb94dabbdbd02c66362cca0f9ea6" - integrity sha512-VnVAb663fosipI/m6pqRXakEOw7nvd7TUgdr3PlR/8V2I95QIdwT8L4nMxhyU8SmDBHYXU1TOElaKOmKLfYzeQ== + version "1.5.2" + resolved "https://registry.yarnpkg.com/sockjs-client/-/sockjs-client-1.5.2.tgz#4bc48c2da9ce4769f19dc723396b50f5c12330a3" + integrity sha512-ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ== dependencies: debug "^3.2.6" eventsource "^1.0.7" faye-websocket "^0.11.3" inherits "^2.0.4" json3 "^3.3.3" - url-parse "^1.5.1" + url-parse "^1.5.3" sockjs@^0.3.21: version "0.3.21" @@ -10628,18 +10128,18 @@ source-map-resolve@^0.5.0, source-map-resolve@^0.5.2: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.19: - version "0.5.19" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" - integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== +source-map-support@^0.5.6, source-map-support@~0.5.12, source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== dependencies: buffer-from "^1.0.0" source-map "^0.6.0" source-map-url@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" - integrity sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM= + version "0.4.1" + resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" + integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== source-map@0.6.1, source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1: version "0.6.1" @@ -10683,9 +10183,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.5" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz#3694b5804567a458d3c8045842a6358632f62654" - integrity sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q== + version "3.0.11" + resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== spdy-transport@^3.0.0: version "3.0.0" @@ -10723,9 +10223,9 @@ sprintf-js@~1.0.2: integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= ssri@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8" - integrity sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA== + version "6.0.2" + resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5" + integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q== dependencies: figgy-pudding "^3.5.1" @@ -10742,9 +10242,9 @@ stable@^0.1.8: integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w== stack-utils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.3.tgz#cd5f030126ff116b78ccb3c027fe302713b61277" - integrity sha512-gL//fkxfWUsIlFL2Tl42Cl6+HFALEaB1FU76I/Fy+oZjRreP7OPMXFlGbxM7NQsI0ZpUfw76sHnv0WNYuTb7Iw== + version "2.0.5" + resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.5.tgz#d25265fca995154659dbbfba3b49254778d2fdd5" + integrity sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA== dependencies: escape-string-regexp "^2.0.0" @@ -10825,46 +10325,29 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" + strip-ansi "^6.0.1" -string-width@^4.2.0: - version "4.2.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.2.tgz#dafd4f9559a7585cfba529c6a0a4f73488ebd4c5" - integrity sha512-XBJbT3N4JhVumXE0eoLU9DCjcaF92KLNqTmFCnG1pf8duUxFGwtP6AD6nkjw9a3IdiRtL3E2w3JDiE/xi3vOeA== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string.prototype.matchall@^4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.5.tgz#59370644e1db7e4c0c045277690cf7b01203c4da" - integrity sha512-Z5ZaXO0svs0M2xd/6By3qpeKpLKd9mO4v4q3oMEQrk8Ck4xOD5d5XeBOOjGrmVZZ/AHB1S0CgG4N5r1G9N3E2Q== +string.prototype.matchall@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" + integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== dependencies: call-bind "^1.0.2" define-properties "^1.1.3" - es-abstract "^1.18.2" + es-abstract "^1.19.1" get-intrinsic "^1.1.1" has-symbols "^1.0.2" internal-slot "^1.0.3" regexp.prototype.flags "^1.3.1" side-channel "^1.0.4" -string.prototype.trimend@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz#85812a6b847ac002270f5808146064c995fb6913" - integrity sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - string.prototype.trimend@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" @@ -10873,14 +10356,6 @@ string.prototype.trimend@^1.0.4: call-bind "^1.0.2" define-properties "^1.1.3" -string.prototype.trimstart@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz#14af6d9f34b053f7cfc89b72f8f2ee14b9039a54" - integrity sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" - string.prototype.trimstart@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" @@ -10912,14 +10387,14 @@ stringify-object@^3.3.0: is-obj "^1.0.1" is-regexp "^1.0.0" -strip-ansi@6.0.0, strip-ansi@^6.0.0: +strip-ansi@6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== dependencies: ansi-regex "^5.0.0" -strip-ansi@^3.0.0, strip-ansi@^3.0.1: +strip-ansi@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8= @@ -10933,6 +10408,13 @@ strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: dependencies: ansi-regex "^4.1.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-bom@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" @@ -10983,7 +10465,7 @@ stylehacks@^4.0.0: postcss "^7.0.0" postcss-selector-parser "^3.0.0" -stylis@^4.0.3: +stylis@^4.0.10: version "4.0.10" resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.0.10.tgz#446512d1097197ab3f02fb3c258358c3f7a14240" integrity sha512-m3k+dk7QeJw660eIKRRn3xPF6uuvHs/FFzjX3HQ5ove0qYsiygoAhwn5a3IYKaZPo5LrYD0rfVmtv1gNY1uYwg== @@ -11003,9 +10485,16 @@ supports-color@^6.1.0: has-flag "^3.0.0" supports-color@^7.0.0, supports-color@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== + version "7.2.0" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== dependencies: has-flag "^4.0.0" @@ -11047,16 +10536,15 @@ symbol-tree@^3.2.4: integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== table@^6.0.9: - version "6.7.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.7.1.tgz#ee05592b7143831a8c94f3cee6aae4c1ccef33e2" - integrity sha512-ZGum47Yi6KOOFDE8m223td53ath2enHcYLgOCjGr5ngu8bdIARQk6mN/wRMv4yMRcHnCSnHbCEha4sobQx5yWg== + version "6.7.3" + resolved "https://registry.yarnpkg.com/table/-/table-6.7.3.tgz#255388439715a738391bd2ee4cbca89a4d05a9b7" + integrity sha512-5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw== dependencies: ajv "^8.0.1" - lodash.clonedeep "^4.5.0" lodash.truncate "^4.4.2" slice-ansi "^4.0.0" - string-width "^4.2.0" - strip-ansi "^6.0.0" + string-width "^4.2.3" + strip-ansi "^6.0.1" tapable@^1.0.0, tapable@^1.1.3: version "1.1.3" @@ -11064,9 +10552,9 @@ tapable@^1.0.0, tapable@^1.1.3: integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA== tar@^6.0.2: - version "6.1.0" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83" - integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA== + version "6.1.11" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" + integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" @@ -11113,15 +10601,15 @@ terser-webpack-plugin@4.2.3: webpack-sources "^1.4.3" terser-webpack-plugin@^1.4.3: - version "1.4.4" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.4.tgz#2c63544347324baafa9a56baaddf1634c8abfc2f" - integrity sha512-U4mACBHIegmfoEe5fdongHESNJWqsGU+W0S/9+BmYGVQDw1+c2Ow05TpMhxjPK1sRb7cuYq1BPl1e5YHJMTCqA== + version "1.4.5" + resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz#a217aefaea330e734ffacb6120ec1fa312d6040b" + integrity sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw== dependencies: cacache "^12.0.2" find-cache-dir "^2.1.0" is-wsl "^1.1.0" schema-utils "^1.0.0" - serialize-javascript "^3.1.0" + serialize-javascript "^4.0.0" source-map "^0.6.1" terser "^4.1.2" webpack-sources "^1.4.0" @@ -11137,13 +10625,13 @@ terser@^4.1.2, terser@^4.6.2, terser@^4.6.3: source-map-support "~0.5.12" terser@^5.3.4: - version "5.7.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.7.0.tgz#a761eeec206bc87b605ab13029876ead938ae693" - integrity sha512-HP5/9hp2UaZt5fYkuhNBR8YyRcT8juw8+uFbAme53iN9hblvKnLUTKkmwJG6ocWpIKf8UK4DoeWG4ty0J6S6/g== + version "5.10.0" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.10.0.tgz#b86390809c0389105eb0a0b62397563096ddafcc" + integrity sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA== dependencies: commander "^2.20.0" source-map "~0.7.2" - source-map-support "~0.5.19" + source-map-support "~0.5.20" test-exclude@^6.0.0: version "6.0.0" @@ -11178,9 +10666,9 @@ thunky@^1.0.2: integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== timers-browserify@^2.0.4: - version "2.0.11" - resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.11.tgz#800b1f3eee272e5bc53ee465a04d0e804c31211f" - integrity sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ== + version "2.0.12" + resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee" + integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ== dependencies: setimmediate "^1.0.4" @@ -11190,19 +10678,19 @@ timsort@^0.3.0: integrity sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q= tiny-invariant@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.1.0.tgz#634c5f8efdc27714b7f386c35e6760991d230875" - integrity sha512-ytxQvrb1cPc9WBEI/HSeYYoGD0kWnGEOR8RY6KomWLBVhqz0RgTwVO9dLrGz7dC+nN9llyI7OKAgRq8Vq4ZBSw== + version "1.2.0" + resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.2.0.tgz#a1141f86b672a9148c72e978a19a73b9b94a15a9" + integrity sha512-1Uhn/aqw5C6RI4KejVeTg6mIS7IqxnLJ8Mv2tV5rTc0qWobay7pDUz6Wi392Cnc8ak1H0F2cjoRzb2/AW4+Fvg== tiny-warning@^1.0.0, tiny-warning@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== -tmpl@1.0.x: - version "1.0.4" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.4.tgz#23640dd7b42d00433911140820e5cf440e521dd1" - integrity sha1-I2QN17QtAEM5ERQIIOXPRA5SHdE= +tmpl@1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" + integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== to-arraybuffer@^1.0.0: version "1.0.1" @@ -11277,29 +10765,27 @@ ts-pnp@1.2.0, ts-pnp@^1.1.6: resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== -tsconfig-paths@^3.9.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz#098547a6c4448807e8fcb8eae081064ee9a3c90b" - integrity sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw== +tsconfig-paths@^3.11.0: + version "3.11.0" + resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz#954c1fe973da6339c78e06b03ce2e48810b65f36" + integrity sha512-7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA== dependencies: "@types/json5" "^0.0.29" json5 "^1.0.1" minimist "^1.2.0" strip-bom "^3.0.0" -tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== +tslib@^1.8.1: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tsutils@^3.17.1: - version "3.17.1" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.17.1.tgz#ed719917f11ca0dee586272b2ac49e015a2dd759" - integrity sha512-kzeQ5B8H3w60nFY2g8cJIuH7JDpsALXySGtwGJ0p2LSjLgay3NdIpqq5SoOBe46bKDW2iq25irHCr8wjomUS2g== - dependencies: - tslib "^1.8.1" +tslib@^2.0.3: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== -tsutils@^3.21.0: +tsutils@^3.17.1, tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== @@ -11330,11 +10816,6 @@ type-detect@4.0.8: resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== -type-fest@^0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1" - integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ== - type-fest@^0.20.2: version "0.20.2" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" @@ -11373,10 +10854,10 @@ type@^1.0.1: resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== -type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/type/-/type-2.0.0.tgz#5f16ff6ef2eb44f260494dae271033b29c09a9c3" - integrity sha512-KBt58xCHry4Cejnc2ISQAF7QY+ORngsWfxezO68+12hKV6lQY8P/psIkcbjeHWn7MqcgciWJyCCevFMJdIXpow== +type@^2.5.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/type/-/type-2.5.0.tgz#0a2e78c2e77907b252abe5f298c1b01c63f0db3d" + integrity sha512-180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw== typedarray-to-buffer@^3.1.5: version "3.1.5" @@ -11400,28 +10881,28 @@ unbox-primitive@^1.0.1: has-symbols "^1.0.2" which-boxed-primitive "^1.0.2" -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== +unicode-canonical-property-names-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" + integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== +unicode-match-property-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" + integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" + unicode-canonical-property-names-ecmascript "^2.0.0" + unicode-property-aliases-ecmascript "^2.0.0" -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== +unicode-match-property-value-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz#1a01aa57247c14c568b89775a54938788189a714" + integrity sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw== -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== +unicode-property-aliases-ecmascript@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz#0a36cb9a585c4f6abd51ad1deddb285c165297c8" + integrity sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ== union-value@^1.0.0: version "1.0.1" @@ -11498,9 +10979,9 @@ upath@^1.1.1, upath@^1.1.2, upath@^1.2.0: integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg== uri-js@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0" - integrity sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ== + version "4.4.1" + resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" @@ -11518,18 +10999,10 @@ url-loader@4.1.1: mime-types "^2.1.27" schema-utils "^3.0.0" -url-parse@^1.4.3: - version "1.4.7" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.4.7.tgz#a8a83535e8c00a316e403a5db4ac1b9b853ae278" - integrity sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -url-parse@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b" - integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q== +url-parse@^1.4.3, url-parse@^1.5.3: + version "1.5.3" + resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862" + integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ== dependencies: querystringify "^2.1.1" requires-port "^1.0.0" @@ -11547,7 +11020,7 @@ use@^3.1.0: resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== -util-deprecate@^1.0.1, util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= @@ -11584,7 +11057,7 @@ util@^0.11.0: dependencies: inherits "2.0.3" -utila@^0.4.0, utila@~0.4: +utila@~0.4: version "0.4.0" resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c" integrity sha1-ihagXURWV6Oupe7MWxKk+lN5dyw= @@ -11605,9 +11078,9 @@ uuid@^8.3.0: integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== v8-compile-cache@^2.0.3: - version "2.1.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz#54bc3cdd43317bca91e35dcaf305b1a7237de745" - integrity sha512-8OQ9CL+VWyt3JStj7HX7/ciTL2V3Rl1Wf5OL+SNTm0yK1KvtReVulksyeRnCANHHuUxHlQig+JJDlUhBt1NQDQ== + version "2.3.0" + resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== v8-to-istanbul@^7.0.0: version "7.1.2" @@ -11661,11 +11134,11 @@ w3c-xmlserializer@^2.0.0: xml-name-validator "^3.0.0" walker@^1.0.7, walker@~1.0.5: - version "1.0.7" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.7.tgz#2f7f9b8fd10d677262b18a884e28d19618e028fb" - integrity sha1-L3+bj9ENZ3JisYqITijRlhjgKPs= + version "1.0.8" + resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" + integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== dependencies: - makeerror "1.0.x" + makeerror "1.0.12" watchpack-chokidar2@^2.0.1: version "2.0.1" @@ -11703,9 +11176,9 @@ webidl-conversions@^6.1.0: integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== webpack-dev-middleware@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz#0019c3db716e3fa5cecbf64f2ab88a74bab331f3" - integrity sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw== + version "3.7.3" + resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5" + integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ== dependencies: memory-fs "^0.4.1" mime "^2.4.4" @@ -11839,9 +11312,9 @@ whatwg-mimetype@^2.3.0: integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.6.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.6.0.tgz#27c0205a4902084b872aecb97cf0f2a7a3011f4c" - integrity sha512-os0KkeeqUOl7ccdDT1qqUcS4KH4tcBTSKK5Nl5WKb2lyxInIZ/CpjkqKa1Ss12mjfdcRX9mHmPPs7/SxG1Hbdw== + version "8.7.0" + resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" + integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== dependencies: lodash "^4.7.0" tr46 "^2.1.0" @@ -12083,16 +11556,16 @@ write-file-atomic@^3.0.0: typedarray-to-buffer "^3.1.5" ws@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.1.tgz#442fdf0a47ed64f59b6a5d8ff130f4748ed524fb" - integrity sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA== + version "6.2.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e" + integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw== dependencies: async-limiter "~1.0.0" -ws@^7.4.5: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== +ws@^7.4.6: + version "7.5.5" + resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.5.tgz#8b4bc4af518cfabd0473ae4f99144287b33eb881" + integrity sha512-BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w== xml-name-validator@^3.0.0: version "3.0.0" @@ -12110,9 +11583,9 @@ xtend@^4.0.0, xtend@~4.0.1: integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== y18n@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.0.tgz#95ef94f85ecc81d007c264e190a120f0a3c8566b" - integrity sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w== + version "4.0.3" + resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" + integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== yallist@^3.0.2: version "3.1.1" @@ -12124,16 +11597,11 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0: +yaml@^1.10.0, yaml@^1.7.2: version "1.10.2" resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== -yaml@^1.7.2: - version "1.10.0" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.0.tgz#3b593add944876077d4d683fee01081bd9fff31e" - integrity sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg== - yargs-parser@^13.1.2: version "13.1.2" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" From b8ef048a3accb80e38ea0d503af9366077bca993 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 19 Nov 2021 19:34:16 +0200 Subject: [PATCH 028/196] Show E2EE fingerprint in client view --- maubot/client.py | 1 + maubot/management/api/spec.yaml | 3 +++ maubot/management/frontend/src/pages/dashboard/Client.js | 5 +++++ maubot/management/frontend/src/style/pages/client/index.sass | 4 ++++ 4 files changed, 13 insertions(+) diff --git a/maubot/client.py b/maubot/client.py index 074e85e..6cfdfd4 100644 --- a/maubot/client.py +++ b/maubot/client.py @@ -247,6 +247,7 @@ class Client: "homeserver": self.homeserver, "access_token": self.access_token, "device_id": self.device_id, + "fingerprint": self.crypto.account.fingerprint if self.crypto else None, "enabled": self.enabled, "started": self.started, "sync": self.sync, diff --git a/maubot/management/api/spec.yaml b/maubot/management/api/spec.yaml index a86358e..8529599 100644 --- a/maubot/management/api/spec.yaml +++ b/maubot/management/api/spec.yaml @@ -679,6 +679,9 @@ components: device_id: type: string description: The Matrix device ID corresponding to the access token. + fingerprint: + type: string + description: The encryption device fingerprint for verification. enabled: type: boolean example: true diff --git a/maubot/management/frontend/src/pages/dashboard/Client.js b/maubot/management/frontend/src/pages/dashboard/Client.js index 29405fe..ac81114 100644 --- a/maubot/management/frontend/src/pages/dashboard/Client.js +++ b/maubot/management/frontend/src/pages/dashboard/Client.js @@ -75,6 +75,7 @@ class Client extends BaseMainView { avatar_url: "", access_token: "", device_id: "", + fingerprint: null, sync: true, autojoin: true, enabled: true, @@ -274,6 +275,10 @@ class Client extends BaseMainView { + {this.props.entry.fingerprint && } diff --git a/maubot/management/frontend/src/style/pages/client/index.sass b/maubot/management/frontend/src/style/pages/client/index.sass index b815dd9..54e0c67 100644 --- a/maubot/management/frontend/src/style/pages/client/index.sass +++ b/maubot/management/frontend/src/style/pages/client/index.sass @@ -36,6 +36,10 @@ > div.instances +instancelist + input.fingerprint + font-family: "Fira Code", monospace + font-size: 0.8em + @media screen and (max-width: 40rem) flex-wrap: wrap From ae7e9693fc6332f8114b34396e18f12eabf00e06 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 19 Nov 2021 19:46:48 +0200 Subject: [PATCH 029/196] Maybe allow disabling e2ee by removing device ID --- maubot/client.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/maubot/client.py b/maubot/client.py index 6cfdfd4..01eb0d9 100644 --- a/maubot/client.py +++ b/maubot/client.py @@ -312,13 +312,20 @@ class Client: else: await self._update_remote_profile() - async def update_access_details(self, access_token: str, homeserver: str, + async def update_access_details(self, access_token: Optional[str], homeserver: Optional[str], device_id: Optional[str] = None) -> None: if not access_token and not homeserver: return - elif access_token == self.access_token and homeserver == self.homeserver: + if device_id is None: + device_id = self.device_id + elif not device_id: + device_id = None + if ( + access_token == self.access_token + and homeserver == self.homeserver + and device_id == self.device_id + ): return - device_id = device_id or self.device_id new_client = MaubotMatrixClient(mxid=self.id, base_url=homeserver or self.homeserver, token=access_token or self.access_token, loop=self.loop, device_id=device_id, client_session=self.http_client, @@ -330,9 +337,13 @@ class Client: raise ValueError(f"Device ID mismatch: {whoami.device_id}") new_client.sync_store = SyncStoreProxy(self.db_instance) self.stop_sync() + + # TODO this event handler transfer is pretty hacky self._remove_crypto_event_handlers() + self.client.crypto = None new_client.event_handlers = self.client.event_handlers new_client.global_event_handlers = self.client.global_event_handlers + self.client = new_client self.db_instance.homeserver = homeserver self.db_instance.access_token = access_token @@ -340,6 +351,9 @@ class Client: if self.enable_crypto: self._prepare_crypto() await self._start_crypto() + else: + self.crypto_store = None + self.crypto = None self.start_sync() async def _update_remote_profile(self) -> None: From 3585ed9456095d4a2a4a4d9d79933ad0f8cf2eaf Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 19 Nov 2021 19:53:29 +0200 Subject: [PATCH 030/196] Fix avatar URLs without mxc:// looking like they work when they actually don't. Fixes #85 --- maubot/management/frontend/src/api.js | 6 +++--- maubot/management/frontend/src/pages/dashboard/Client.js | 8 ++++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/maubot/management/frontend/src/api.js b/maubot/management/frontend/src/api.js index 44db7c3..d6a30dd 100644 --- a/maubot/management/frontend/src/api.js +++ b/maubot/management/frontend/src/api.js @@ -214,10 +214,10 @@ export async function uploadAvatar(id, data, mime) { } export function getAvatarURL({ id, avatar_url }) { - avatar_url = avatar_url || "" - if (avatar_url.startsWith("mxc://")) { - avatar_url = avatar_url.substr("mxc://".length) + if (!avatar_url?.startsWith("mxc://")) { + return null } + avatar_url = avatar_url.substr("mxc://".length) return `${BASE_PATH}/proxy/${id}/_matrix/media/r0/download/${avatar_url}?access_token=${ localStorage.accessToken}` } diff --git a/maubot/management/frontend/src/pages/dashboard/Client.js b/maubot/management/frontend/src/pages/dashboard/Client.js index ac81114..806e112 100644 --- a/maubot/management/frontend/src/pages/dashboard/Client.js +++ b/maubot/management/frontend/src/pages/dashboard/Client.js @@ -215,8 +215,12 @@ class Client extends BaseMainView { } get avatarMXC() { - return this.state.avatar_url === "disable" - ? this.props.entry.remote_avatar_url : this.state.avatar_url + if (this.state.avatar_url === "disable") { + return this.props.entry.remote_avatar_url + } else if (!this.state.avatar_url?.startsWith("mxc://")) { + return null + } + return this.state.avatar_url } get avatarURL() { From aad5a9d18d1a1af8783227b44ab9a2d581eec338 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 19 Nov 2021 19:59:23 +0200 Subject: [PATCH 031/196] Update README.md. Fixes #141 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4c2ec16..4ef33b4 100644 --- a/README.md +++ b/README.md @@ -48,14 +48,14 @@ The plugin wishlist lives at . * [poll](https://github.com/TomCasavant/PollMaubot) - A bot that will create a simple poll for users in a room * [urban](https://github.com/dvdgsng/UrbanMaubot) - A bot that fetches definitions from [Urban Dictionary](https://www.urbandictionary.com/). * [twilio](https://github.com/jeffcasavant/MaubotTwilio) - Maubot-based SMS bridge -* †[tmdb](https://codeberg.org/lomion/tmdb-bot) - A bot that posts information about movies fetched from TheMovieDB.org. +* [tmdb](https://codeberg.org/lomion/tmdb-bot) - A bot that posts information about movies fetched from TheMovieDB.org. * [invite](https://github.com/williamkray/maubot-invite) - A bot to generate invitation tokens from [matrix-registration](https://github.com/ZerataX/matrix-registration) * [wolframalpha](https://github.com/ggogel/WolframAlphaMaubot) - A bot that allows requesting information from [WolframAlpha](https://www.wolframalpha.com/). * †[pingcheck](https://edugit.org/nik/maubot-pingcheck) - A bot to ping the echo bot and send rtt to Icinga passive check * [ticker](https://github.com/williamkray/maubot-ticker) - A bot to return financial data about a stock or cryptocurrency. * [weather](https://github.com/kellya/maubot-weather) - A bot to get the weather from wttr.in and return a single line of text for the location specified * †[youtube previewer](https://github.com/ggogel/YoutubePreviewMaubot) - A bot that responds to a YouTube link with the video title and thumbnail. -* †[reddit previewer](https://github.com/ggogel/RedditPreviewMaubot) - A bot that responds to a link of a reddit post with the sub name and title. If available, uploads the image or video. +* †[reddit previewer](https://github.com/ggogel/RedditPreviewMaubot) - A bot that responds to a link of a reddit post with the sub name and title. If available, uploads the image or video. * [pocket](https://github.com/jaywink/maubot-pocket) - A bot integrating with Pocket to fetch articles and archive them. † Uses a synchronous library which can block the whole maubot process (e.g. requests instead of aiohttp) From 14d410739cd90f44d2afd84ba5df41c4081978d1 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 19 Nov 2021 20:24:39 +0200 Subject: [PATCH 032/196] Add manhole plugin to readme --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4ef33b4..7ac4a84 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,7 @@ The plugin wishlist lives at . * [altalias](https://github.com/maubot/altalias) - A bot that lets users publish alternate aliases in rooms. * [satwcomic](https://github.com/maubot/satwcomic) - A bot to view SatWComics. * [songwhip](https://github.com/maubot/songwhip) - A bot to post Songwhip links. +* [manhole](https://github.com/maubot/manhole) - A plugin that lets you access a Python shell inside maubot. ### 3rd party plugins * [subreddit linkifier](https://github.com/TomCasavant/RedditMaubot) - A bot that condescendingly corrects a user when they enter an r/subreddit without providing a link to that subreddit From e1a1f7b65eb08643cef93c2302aac0d10cb692a0 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 19 Nov 2021 21:45:30 +0200 Subject: [PATCH 033/196] Update rest of maubot-cli HTTP requests to asyncio --- maubot/cli/cliq/cliq.py | 38 +++++++++++++++++--------- maubot/cli/commands/auth.py | 2 +- maubot/cli/commands/build.py | 14 ++++++---- maubot/cli/commands/login.py | 31 +++++++++++----------- maubot/cli/commands/upload.py | 50 +++++++++++++++++------------------ 5 files changed, 77 insertions(+), 58 deletions(-) diff --git a/maubot/cli/cliq/cliq.py b/maubot/cli/cliq/cliq.py index f8992b8..5806cb6 100644 --- a/maubot/cli/cliq/cliq.py +++ b/maubot/cli/cliq/cliq.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2021 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,8 +13,9 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import Any, Callable, Union, Optional +from typing import Any, Callable, Union, Optional, Type import functools +import traceback import inspect import asyncio @@ -22,6 +23,7 @@ import aiohttp from prompt_toolkit.validation import Validator from questionary import prompt +from colorama import Fore import click from ..base import app @@ -33,7 +35,10 @@ def with_http(func): @functools.wraps(func) async def wrapper(*args, **kwargs): async with aiohttp.ClientSession() as sess: - return await func(*args, sess=sess, **kwargs) + try: + return await func(*args, sess=sess, **kwargs) + except aiohttp.ClientError as e: + print(f"{Fore.RED}Connection error: {e}{Fore.RESET}") return wrapper @@ -45,14 +50,17 @@ def with_authenticated_http(func): if not token: return async with aiohttp.ClientSession(headers={"Authorization": f"Bearer {token}"}) as sess: - return await func(*args, sess=sess, server=server, **kwargs) + try: + return await func(*args, sess=sess, server=server, **kwargs) + except aiohttp.ClientError as e: + print(f"{Fore.RED}Connection error: {e}{Fore.RESET}") return wrapper def command(help: str) -> Callable[[Callable], Callable]: def decorator(func) -> Callable: - questions = func.__inquirer_questions__.copy() + questions = getattr(func, "__inquirer_questions__", {}).copy() @functools.wraps(func) def wrapper(*args, **kwargs): @@ -79,9 +87,13 @@ def command(help: str) -> Callable[[Callable], Callable]: return kwargs = {**kwargs, **resp} - res = func(*args, **kwargs) - if inspect.isawaitable(res): - asyncio.run(res) + try: + res = func(*args, **kwargs) + if inspect.isawaitable(res): + asyncio.run(res) + except Exception: + print(Fore.RED + "Fatal error running command" + Fore.RESET) + traceback.print_exc() return app.command(help=help)(wrapper) @@ -104,12 +116,14 @@ yesno.__name__ = "yes/no" def option(short: str, long: str, message: str = None, help: str = None, click_type: Union[str, Callable[[str], Any]] = None, inq_type: str = None, - validator: Validator = None, required: bool = False, default: str = None, - is_flag: bool = False, prompt: bool = True, required_unless: str = None - ) -> Callable[[Callable], Callable]: + validator: Type[Validator] = None, required: bool = False, + default: Union[str, bool, None] = None, is_flag: bool = False, prompt: bool = True, + required_unless: str = None) -> Callable[[Callable], Callable]: if not message: message = long[2].upper() + long[3:] - click_type = validator.click_type if isinstance(validator, ClickValidator) else click_type + + if isinstance(validator, type) and issubclass(validator, ClickValidator): + click_type = validator.click_type if is_flag: click_type = yesno diff --git a/maubot/cli/commands/auth.py b/maubot/cli/commands/auth.py index 390363f..3534485 100644 --- a/maubot/cli/commands/auth.py +++ b/maubot/cli/commands/auth.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2021 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/maubot/cli/commands/build.py b/maubot/cli/commands/build.py index 4f5db2f..cdc5b3a 100644 --- a/maubot/cli/commands/build.py +++ b/maubot/cli/commands/build.py @@ -16,12 +16,14 @@ from typing import Optional, Union, IO from io import BytesIO import zipfile +import asyncio import glob import os from ruamel.yaml import YAML, YAMLError -from colorama import Fore +from aiohttp import ClientSession from questionary import prompt +from colorama import Fore import click from mautrix.types import SerializerError @@ -30,6 +32,7 @@ from ...loader import PluginMeta from ..cliq.validators import PathValidator from ..base import app from ..config import get_token +from ..cliq import cliq from .upload import upload_file yaml = YAML() @@ -100,15 +103,16 @@ def write_plugin(meta: PluginMeta, output: Union[str, IO]) -> None: zip.write(file) -def upload_plugin(output: Union[str, IO], server: str) -> None: +@cliq.with_authenticated_http +async def upload_plugin(output: Union[str, IO], *, server: str, sess: ClientSession) -> None: server, token = get_token(server) if not token: return if isinstance(output, str): with open(output, "rb") as file: - upload_file(file, server, token) + await upload_file(sess, file, server) else: - upload_file(output, server, token) + await upload_file(sess, output, server) @app.command(short_help="Build a maubot plugin", @@ -137,4 +141,4 @@ def build(path: str, output: str, upload: bool, server: str) -> None: else: output.seek(0) if upload: - upload_plugin(output, server) + asyncio.run(upload_plugin(output, server=server)) diff --git a/maubot/cli/commands/login.py b/maubot/cli/commands/login.py index fdf71b3..554dd2d 100644 --- a/maubot/cli/commands/login.py +++ b/maubot/cli/commands/login.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2021 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,12 +13,12 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from urllib.request import urlopen -from urllib.error import HTTPError import json import os from colorama import Fore +from yarl import URL +import aiohttp from ..config import save_config, config from ..cliq import cliq @@ -29,16 +29,17 @@ from ..cliq import cliq @cliq.option("-p", "--password", help="The password to your account", inq_type="password", required=True) @cliq.option("-s", "--server", help="The server to log in to", default="http://localhost:29316", required=True) @cliq.option("-a", "--alias", help="Alias to reference the server without typing the full URL", default="", required=False) -def login(server, username, password, alias) -> None: +@cliq.with_http +async def login(server: str, username: str, password: str, alias: str, sess: aiohttp.ClientSession) -> None: data = { "username": username, "password": password, } - try: - with urlopen(f"{server}/_matrix/maubot/v1/auth/login", - data=json.dumps(data).encode("utf-8")) as resp_data: - resp = json.load(resp_data) - config["servers"][server] = resp["token"] + url = URL(server) / "_matrix/maubot/v1/auth/login" + async with sess.post(url, json=data) as resp: + if resp.status == 200: + data = await resp.json() + config["servers"][server] = data["token"] if not config["default_server"]: print(Fore.CYAN, "Setting", server, "as the default server") config["default_server"] = server @@ -46,9 +47,9 @@ def login(server, username, password, alias) -> None: config["aliases"][alias] = server save_config() print(Fore.GREEN + "Logged in successfully") - except HTTPError as e: - try: - err = json.load(e) - except json.JSONDecodeError: - err = {} - print(Fore.RED + err.get("error", str(e)) + Fore.RESET) + else: + try: + err = (await resp.json())["error"] + except (json.JSONDecodeError, KeyError): + err = await resp.text() + print(Fore.RED + err + Fore.RESET) diff --git a/maubot/cli/commands/upload.py b/maubot/cli/commands/upload.py index cb5b4b5..698dc2f 100644 --- a/maubot/cli/commands/upload.py +++ b/maubot/cli/commands/upload.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2021 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,45 +13,45 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from urllib.request import urlopen, Request -from urllib.error import HTTPError from typing import IO import json from colorama import Fore +from yarl import URL +import aiohttp import click -from ..base import app -from ..config import get_default_server, get_token +from ..cliq import cliq class UploadError(Exception): pass -@app.command(help="Upload a maubot plugin") +@cliq.command(help="Upload a maubot plugin") @click.argument("path") @click.option("-s", "--server", help="The maubot instance to upload the plugin to") -def upload(path: str, server: str) -> None: - server, token = get_token(server) - if not token: - return +@cliq.with_authenticated_http +async def upload(path: str, server: str, sess: aiohttp.ClientSession) -> None: + print("hmm") with open(path, "rb") as file: - upload_file(file, server, token) + await upload_file(sess, file, server) -def upload_file(file: IO, server: str, token: str) -> None: - req = Request(f"{server}/_matrix/maubot/v1/plugins/upload?allow_override=true", data=file, - headers={"Authorization": f"Bearer {token}", "Content-Type": "application/zip"}) - try: - with urlopen(req) as resp_data: - resp = json.load(resp_data) - print(f"{Fore.GREEN}Plugin {Fore.CYAN}{resp['id']} v{resp['version']}{Fore.GREEN} " +async def upload_file(sess: aiohttp.ClientSession, file: IO, server: str) -> None: + url = (URL(server) / "_matrix/maubot/v1/plugins/upload").with_query({"allow_override": "true"}) + headers = {"Content-Type": "application/zip"} + async with sess.post(url, data=file, headers=headers) as resp: + if resp.status == 200: + data = await resp.json() + print(f"{Fore.GREEN}Plugin {Fore.CYAN}{data['id']} v{data['version']}{Fore.GREEN} " f"uploaded to {Fore.CYAN}{server}{Fore.GREEN} successfully.{Fore.RESET}") - except HTTPError as e: - try: - err = json.load(e) - except json.JSONDecodeError: - err = {} - print(err.get("stacktrace", "")) - print(Fore.RED + "Failed to upload plugin: " + err.get("error", str(e)) + Fore.RESET) + else: + try: + err = await resp.json() + if "stacktrace" in err: + print(err["stacktrace"]) + err = err["error"] + except (aiohttp.ContentTypeError, json.JSONDecodeError, KeyError): + err = await resp.text() + print(f"{Fore.RED}Failed to upload plugin: {err}{Fore.RESET}") From a699acc04931cf0b1f07c1d25c0eb7e5ec66ff13 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 19 Nov 2021 23:08:41 +0200 Subject: [PATCH 034/196] Allow setting initial device name in mbc auth --- maubot/cli/commands/auth.py | 7 ++-- maubot/cli/commands/upload.py | 1 - maubot/management/api/client_auth.py | 49 +++++++++++++++------------- 3 files changed, 32 insertions(+), 25 deletions(-) diff --git a/maubot/cli/commands/auth.py b/maubot/cli/commands/auth.py index 3534485..28afafb 100644 --- a/maubot/cli/commands/auth.py +++ b/maubot/cli/commands/auth.py @@ -54,9 +54,12 @@ async def list_servers(server: str, sess: aiohttp.ClientSession) -> None: "create or update a client in maubot using it", is_flag=True, default=False) @click.option("-l", "--list", help="List available homeservers", is_flag=True, default=False) +@click.option("-n", "--device-name", help="The initial e2ee device displayname (only for login)", + default="Maubot", required=False) @cliq.with_authenticated_http async def auth(homeserver: str, username: str, password: str, server: str, register: bool, - list: bool, update_client: bool, sess: aiohttp.ClientSession) -> None: + list: bool, update_client: bool, device_name: str, sess: aiohttp.ClientSession + ) -> None: if list: await list_servers(server, sess) return @@ -64,7 +67,7 @@ async def auth(homeserver: str, username: str, password: str, server: str, regis url = URL(server) / "_matrix/maubot/v1/client/auth" / homeserver / endpoint if update_client: url = url.with_query({"update_client": "true"}) - req_data = {"username": username, "password": password} + req_data = {"username": username, "password": password, "device_name": device_name} async with sess.post(url, json=req_data) as resp: if resp.status == 200: diff --git a/maubot/cli/commands/upload.py b/maubot/cli/commands/upload.py index 698dc2f..e02ad4a 100644 --- a/maubot/cli/commands/upload.py +++ b/maubot/cli/commands/upload.py @@ -33,7 +33,6 @@ class UploadError(Exception): @click.option("-s", "--server", help="The maubot instance to upload the plugin to") @cliq.with_authenticated_http async def upload(path: str, server: str, sess: aiohttp.ClientSession) -> None: - print("hmm") with open(path, "rb") as file: await upload_file(sess, file, server) diff --git a/maubot/management/api/client_auth.py b/maubot/management/api/client_auth.py index abd5246..863767d 100644 --- a/maubot/management/api/client_auth.py +++ b/maubot/management/api/client_auth.py @@ -47,6 +47,7 @@ class AuthRequestInfo(NamedTuple): username: str password: str user_type: str + device_name: str update_client: bool @@ -69,11 +70,15 @@ async def read_client_auth_request(request: web.Request) -> Tuple[Optional[AuthR base_url = server["url"] except KeyError: return None, resp.invalid_server - secret = server.get("secret") - api = ClientAPI(base_url=base_url, loop=get_loop()) - user_type = body.get("user_type", "bot") - update_client = request.query.get("update_client", "").lower() in ("1", "true", "yes") - return AuthRequestInfo(api, secret, username, password, user_type, update_client), None + return AuthRequestInfo( + client=ClientAPI(base_url=base_url, loop=get_loop()), + secret=server.get("secret"), + username=username, + password=password, + user_type=body.get("user_type", "bot"), + device_name=body.get("device_name", "Maubot"), + update_client=request.query.get("update_client", "").lower() in ("1", "true", "yes"), + ), None def generate_mac(secret: str, nonce: str, username: str, password: str, admin: bool = False, @@ -94,23 +99,23 @@ def generate_mac(secret: str, nonce: str, username: str, password: str, admin: b @routes.post("/client/auth/{server}/register") async def register(request: web.Request) -> web.Response: - info, err = await read_client_auth_request(request) + req, err = await read_client_auth_request(request) if err is not None: return err - if not info.secret: + if not req.secret: return resp.registration_secret_not_found path = SynapseAdminPath.v1.register - res = await info.client.api.request(Method.GET, path) + res = await req.client.api.request(Method.GET, path) content = { "nonce": res["nonce"], - "username": info.username, - "password": info.password, + "username": req.username, + "password": req.password, "admin": False, - "user_type": info.user_type, + "user_type": req.user_type, } - content["mac"] = generate_mac(**content, secret=info.secret) + content["mac"] = generate_mac(**content, secret=req.secret) try: - raw_res = await info.client.api.request(Method.POST, path, content=content) + raw_res = await req.client.api.request(Method.POST, path, content=content) except MatrixRequestError as e: return web.json_response({ "errcode": e.errcode, @@ -118,9 +123,9 @@ async def register(request: web.Request) -> web.Response: "http_status": e.http_status, }, status=HTTPStatus.INTERNAL_SERVER_ERROR) login_res = LoginResponse.deserialize(raw_res) - if info.update_client: + if req.update_client: return await _create_client(login_res.user_id, { - "homeserver": str(info.client.api.base_url), + "homeserver": str(req.client.api.base_url), "access_token": login_res.access_token, "device_id": login_res.device_id, }) @@ -129,23 +134,23 @@ async def register(request: web.Request) -> web.Response: @routes.post("/client/auth/{server}/login") async def login(request: web.Request) -> web.Response: - info, err = await read_client_auth_request(request) + req, err = await read_client_auth_request(request) if err is not None: return err device_id = ''.join(random.choices(string.ascii_uppercase + string.digits, k=8)) - client = info.client try: - res = await client.login(identifier=info.username, login_type=LoginType.PASSWORD, - password=info.password, device_id=f"maubot_{device_id}", - initial_device_display_name="Maubot", store_access_token=False) + res = await req.client.login(identifier=req.username, login_type=LoginType.PASSWORD, + password=req.password, device_id=f"maubot_{device_id}", + initial_device_display_name=req.device_name, + store_access_token=False) except MatrixRequestError as e: return web.json_response({ "errcode": e.errcode, "error": e.message, }, status=e.http_status) - if info.update_client: + if req.update_client: return await _create_or_update_client(res.user_id, { - "homeserver": str(client.api.base_url), + "homeserver": str(req.client.api.base_url), "access_token": res.access_token, "device_id": res.device_id, }, is_login=True) From fc516d78b74a5a3b6d0bd07366237513a09c3fbb Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 19 Nov 2021 23:58:17 +0200 Subject: [PATCH 035/196] Add encryption support to standalone mode --- maubot/client.py | 14 ++----- maubot/standalone/__main__.py | 56 +++++++++++++++++++++++++-- maubot/standalone/config.py | 1 + maubot/standalone/example-config.yaml | 12 +++++- requirements.txt | 2 +- 5 files changed, 69 insertions(+), 16 deletions(-) diff --git a/maubot/client.py b/maubot/client.py index 01eb0d9..b02ec24 100644 --- a/maubot/client.py +++ b/maubot/client.py @@ -31,21 +31,15 @@ from .db import DBClient from .matrix import MaubotMatrixClient try: - from mautrix.crypto import OlmMachine, StateStore as CryptoStateStore, CryptoStore - + from mautrix.crypto import OlmMachine, StateStore as CryptoStateStore, PgCryptoStore + from mautrix.util.async_db import Database as AsyncDatabase class SQLStateStore(BaseSQLStateStore, CryptoStateStore): pass except ImportError as e: - OlmMachine = CryptoStateStore = CryptoStore = PickleCryptoStore = None + OlmMachine = CryptoStateStore = PgCryptoStore = AsyncDatabase = None SQLStateStore = BaseSQLStateStore -try: - from mautrix.util.async_db import Database as AsyncDatabase - from mautrix.crypto import PgCryptoStore -except ImportError: - AsyncDatabase = None - PgCryptoStore = None if TYPE_CHECKING: from .instance import PluginInstance @@ -66,7 +60,7 @@ class Client: db_instance: DBClient client: MaubotMatrixClient crypto: Optional['OlmMachine'] - crypto_store: Optional['CryptoStore'] + crypto_store: Optional['PgCryptoStore'] started: bool remote_displayname: Optional[str] diff --git a/maubot/standalone/__main__.py b/maubot/standalone/__main__.py index ffd1a79..ff34f47 100644 --- a/maubot/standalone/__main__.py +++ b/maubot/standalone/__main__.py @@ -43,6 +43,15 @@ from .config import Config from .loader import FileSystemLoader from .database import NextBatch +crypto_import_error = None + +try: + from mautrix.crypto import OlmMachine, PgCryptoStore, PgCryptoStateStore + from mautrix.util.async_db import Database as AsyncDatabase +except ImportError as err: + crypto_import_error = err + OlmMachine = AsyncDatabase = PgCryptoStateStore = PgCryptoStore = None + parser = argparse.ArgumentParser( description="A plugin-based Matrix bot system -- standalone mode.", prog="python -m maubot.standalone") @@ -92,9 +101,19 @@ Base.metadata.create_all() NextBatch.bind(db) user_id = config["user.credentials.id"] +device_id = config["user.credentials.device_id"] homeserver = config["user.credentials.homeserver"] access_token = config["user.credentials.access_token"] +crypto_store = crypto_db = state_store = None +if device_id and not OlmMachine: + log.warning("device_id set in config, but encryption dependencies not installed", + exc_info=crypto_import_error) +elif device_id: + crypto_db = AsyncDatabase.create(config["database"], upgrade_table=PgCryptoStore.upgrade_table) + crypto_store = PgCryptoStore(account_id=user_id, pickle_key="mau.crypto", db=crypto_db) + state_store = PgCryptoStateStore(crypto_db) + nb = NextBatch.get(user_id) if not nb: nb = NextBatch(user_id=user_id, next_batch=SyncToken(""), filter_id=FilterID("")) @@ -140,7 +159,25 @@ async def main(): client_log = logging.getLogger("maubot.client").getChild(user_id) client = MaubotMatrixClient(mxid=user_id, base_url=homeserver, token=access_token, client_session=http_client, loop=loop, log=client_log, - sync_store=SyncStoreProxy(nb)) + sync_store=SyncStoreProxy(nb), state_store=state_store, + device_id=device_id) + client.ignore_first_sync = config["user.ignore_first_sync"] + client.ignore_initial_sync = config["user.ignore_initial_sync"] + if crypto_store: + await crypto_db.start() + await state_store.upgrade_table.upgrade(crypto_db) + await crypto_store.open() + + client.crypto = OlmMachine(client, crypto_store, state_store) + crypto_device_id = await crypto_store.get_device_id() + if crypto_device_id and crypto_device_id != device_id: + log.fatal("Mismatching device ID in crypto store and config " + f"(store: {crypto_device_id}, config: {device_id})") + sys.exit(10) + await client.crypto.load() + if not crypto_device_id: + await crypto_store.put_device_id(device_id) + log.debug("Enabled encryption support") while True: try: @@ -151,7 +188,12 @@ async def main(): continue if whoami.user_id != user_id: log.fatal(f"User ID mismatch: configured {user_id}, but server said {whoami.user_id}") - sys.exit(1) + sys.exit(11) + elif whoami.device_id and device_id and whoami.device_id != device_id: + log.fatal(f"Device ID mismatch: configured {device_id}, " + f"but server said {whoami.device_id}") + sys.exit(12) + log.debug(f"Confirmed connection as {whoami.user_id} / {whoami.device_id}") break if config["user.sync"]: @@ -183,6 +225,13 @@ async def main(): await bot.internal_start() +async def stop() -> None: + client.stop() + await bot.internal_stop() + if crypto_db: + await crypto_db.stop() + + try: log.info("Starting plugin") loop.run_until_complete(main()) @@ -198,8 +247,7 @@ try: loop.run_forever() except KeyboardInterrupt: log.info("Interrupt received, stopping") - client.stop() - loop.run_until_complete(bot.internal_stop()) + loop.run_until_complete(stop()) loop.close() sys.exit(0) except Exception: diff --git a/maubot/standalone/config.py b/maubot/standalone/config.py index 8f0a2ee..558bc40 100644 --- a/maubot/standalone/config.py +++ b/maubot/standalone/config.py @@ -31,6 +31,7 @@ class Config(BaseFileConfig): copy("user.credentials.id") copy("user.credentials.homeserver") copy("user.credentials.access_token") + copy("user.credentials.device_id") copy("user.sync") copy("user.autojoin") copy("user.displayname") diff --git a/maubot/standalone/example-config.yaml b/maubot/standalone/example-config.yaml index af671e0..ccabb74 100644 --- a/maubot/standalone/example-config.yaml +++ b/maubot/standalone/example-config.yaml @@ -4,15 +4,25 @@ user: id: "@bot:example.com" homeserver: https://example.com access_token: foo + # If you want to enable encryption, set the device ID corresponding to the access token here. + device_id: null # Enable /sync? This is not needed for purely unencrypted webhook-based bots, but is necessary in most other cases. sync: true # Automatically accept invites? autojoin: false # The displayname and avatar URL to set for the bot on startup. + # Set to "disable" to not change the the current displayname/avatar. displayname: Standalone Bot avatar_url: mxc://maunium.net/AKwRzQkTbggfVZGEqexbYLIO -# The database for the plugin. Also used to store the sync token. + # Should events from the initial sync be ignored? This should usually always be true. + ignore_initial_sync: true + # Should events from the first sync after starting be ignored? This can be set to false + # if you want the bot to handle messages that were sent while the bot was down. + ignore_first_sync: true + +# The database for the plugin. Used for plugin data, the sync token and e2ee data (if enabled). +# SQLite and Postgres are supported. database: sqlite:///bot.db # Config for the plugin. Refer to the plugin's base-config.yaml to find what (if anything) to put here. diff --git a/requirements.txt b/requirements.txt index 27126f8..78bd391 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -mautrix>=0.11,<0.13 +mautrix>=0.12.1,<0.13 aiohttp>=3,<4 yarl>=1,<2 SQLAlchemy>=1,<1.4 From 8b1685a9eaf0e1cb43dc6b25a083dfb3ab1984c7 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 20 Nov 2021 00:45:37 +0200 Subject: [PATCH 036/196] Add web app support to standalone mode --- maubot/server.py | 2 +- maubot/standalone/__main__.py | 35 +++++++++++++++++++++++++-- maubot/standalone/config.py | 9 ++++--- maubot/standalone/example-config.yaml | 12 +++++++++ 4 files changed, 51 insertions(+), 7 deletions(-) diff --git a/maubot/server.py b/maubot/server.py index efb0a13..e9c2012 100644 --- a/maubot/server.py +++ b/maubot/server.py @@ -54,7 +54,7 @@ class MaubotServer: self.runner = web.AppRunner(self.app, access_log_class=AccessLogger) - async def handle_plugin_path(self, request: web.Request) -> web.Response: + async def handle_plugin_path(self, request: web.Request) -> web.StreamResponse: for path, app in self.plugin_routes.items(): if request.path.startswith(path): request = request.clone(rel_url=request.rel_url diff --git a/maubot/standalone/__main__.py b/maubot/standalone/__main__.py index ff34f47..652ab78 100644 --- a/maubot/standalone/__main__.py +++ b/maubot/standalone/__main__.py @@ -14,7 +14,6 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . from typing import Optional, Type, cast -from aiohttp import ClientSession import logging.config import importlib import argparse @@ -27,6 +26,8 @@ import sys from ruamel.yaml import YAML from ruamel.yaml.comments import CommentedMap import sqlalchemy as sql +from aiohttp import web, hdrs, ClientSession +from yarl import URL from mautrix.util.config import RecursiveDict, BaseMissingError from mautrix.util.db import Base @@ -35,7 +36,9 @@ from mautrix.types import (Filter, RoomFilter, RoomEventFilter, StrippedStateEve EventType, Membership, FilterID, SyncToken) from ..plugin_base import Plugin +from ..plugin_server import PluginWebApp from ..loader import PluginMeta +from ..server import AccessLogger from ..matrix import MaubotMatrixClient from ..lib.store_proxy import SyncStoreProxy from ..__meta__ import __version__ @@ -145,6 +148,25 @@ if meta.config: log.fatal("Failed to load plugin config", exc_info=True) sys.exit(1) +if meta.webapp: + plugin_webapp = PluginWebApp() + web_app = web.Application(router=plugin_webapp) + web_runner = web.AppRunner(web_app, access_log_class=AccessLogger) + web_base_path = config["server.base_path"].rstrip("/") + public_url = str(URL(config["server.public_url"]) / web_base_path).rstrip("/") + + # async def _handle_plugin_request(req: web.Request) -> web.StreamResponse: + # assert req.path.startswith(web_base_path) + # req = req.clone(rel_url=req.rel_url + # .with_path(req.rel_url.path[len(web_base_path)]) + # .with_query(req.query_string)) + # return await plugin_webapp.handle(req) + # + # web_app.router = plugin_webapp + # web_app.router.add_route(hdrs.METH_ANY, web_base_path, _handle_plugin_request) +else: + web_app = web_runner = public_url = plugin_webapp = None + loop = asyncio.get_event_loop() client: Optional[MaubotMatrixClient] = None @@ -220,16 +242,25 @@ async def main(): plugin_log = cast(TraceLogger, logging.getLogger("maubot.instance.__main__")) bot = plugin(client=client, loop=loop, http=http_client, instance_id="__main__", log=plugin_log, config=bot_config, database=db if meta.database else None, - webapp=None, webapp_url=None, loader=loader) + webapp=plugin_webapp, webapp_url=public_url, loader=loader) await bot.internal_start() + if web_runner: + await web_runner.setup() + site = web.TCPSite(web_runner, config["server.hostname"], config["server.port"]) + await site.start() + log.info(f"Web server listening on {site.name}") + async def stop() -> None: client.stop() await bot.internal_stop() if crypto_db: await crypto_db.stop() + if web_runner: + await web_runner.shutdown() + await web_runner.cleanup() try: diff --git a/maubot/standalone/config.py b/maubot/standalone/config.py index 558bc40..5889398 100644 --- a/maubot/standalone/config.py +++ b/maubot/standalone/config.py @@ -36,12 +36,13 @@ class Config(BaseFileConfig): copy("user.autojoin") copy("user.displayname") copy("user.avatar_url") + if "server" in base: + copy("server.hostname") + copy("server.port") + copy("server.base_path") + copy("server.public_url") if "database" in base: copy("database") if "plugin_config" in base: copy("plugin_config") - if "server" in base: - copy("server.hostname") - copy("server.port") - copy("server.public_url") copy("logging") diff --git a/maubot/standalone/example-config.yaml b/maubot/standalone/example-config.yaml index ccabb74..ffdf699 100644 --- a/maubot/standalone/example-config.yaml +++ b/maubot/standalone/example-config.yaml @@ -21,6 +21,18 @@ user: # if you want the bot to handle messages that were sent while the bot was down. ignore_first_sync: true +# Web server settings. These will only take effect if the plugin requests it using `webapp: true` in the meta file. +server: + # The IP and port to listen to. + hostname: 0.0.0.0 + port: 8080 + # The base path where the plugin's web resources will be served. Unlike the normal mode, + # the webserver is dedicated for a single bot in standalone mode, so the default path + # is just /. If you want to emulate normal mode, set this to /_matrix/maubot/plugin/something + base_path: / + # The public URL where the resources are available. The base path is automatically appended to this. + public_url: https://example.com + # The database for the plugin. Used for plugin data, the sync token and e2ee data (if enabled). # SQLite and Postgres are supported. database: sqlite:///bot.db From d4a5de1d4fa1524b11e5e18aa0bd88d2ac4e8793 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 20 Nov 2021 00:47:23 +0200 Subject: [PATCH 037/196] Remove unused code --- maubot/standalone/__main__.py | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/maubot/standalone/__main__.py b/maubot/standalone/__main__.py index 652ab78..a5164b6 100644 --- a/maubot/standalone/__main__.py +++ b/maubot/standalone/__main__.py @@ -26,7 +26,7 @@ import sys from ruamel.yaml import YAML from ruamel.yaml.comments import CommentedMap import sqlalchemy as sql -from aiohttp import web, hdrs, ClientSession +from aiohttp import web, ClientSession from yarl import URL from mautrix.util.config import RecursiveDict, BaseMissingError @@ -154,16 +154,6 @@ if meta.webapp: web_runner = web.AppRunner(web_app, access_log_class=AccessLogger) web_base_path = config["server.base_path"].rstrip("/") public_url = str(URL(config["server.public_url"]) / web_base_path).rstrip("/") - - # async def _handle_plugin_request(req: web.Request) -> web.StreamResponse: - # assert req.path.startswith(web_base_path) - # req = req.clone(rel_url=req.rel_url - # .with_path(req.rel_url.path[len(web_base_path)]) - # .with_query(req.query_string)) - # return await plugin_webapp.handle(req) - # - # web_app.router = plugin_webapp - # web_app.router.add_route(hdrs.METH_ANY, web_base_path, _handle_plugin_request) else: web_app = web_runner = public_url = plugin_webapp = None From c8ae7cd9f5695c08c79529680281f3b35d10dafd Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 20 Nov 2021 01:02:57 +0200 Subject: [PATCH 038/196] Don't use deprecated router parameter --- maubot/standalone/__main__.py | 34 +++++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/maubot/standalone/__main__.py b/maubot/standalone/__main__.py index a5164b6..cd70d9d 100644 --- a/maubot/standalone/__main__.py +++ b/maubot/standalone/__main__.py @@ -26,7 +26,7 @@ import sys from ruamel.yaml import YAML from ruamel.yaml.comments import CommentedMap import sqlalchemy as sql -from aiohttp import web, ClientSession +from aiohttp import web, hdrs, ClientSession from yarl import URL from mautrix.util.config import RecursiveDict, BaseMissingError @@ -36,7 +36,7 @@ from mautrix.types import (Filter, RoomFilter, RoomEventFilter, StrippedStateEve EventType, Membership, FilterID, SyncToken) from ..plugin_base import Plugin -from ..plugin_server import PluginWebApp +from ..plugin_server import PluginWebApp, PrefixResource from ..loader import PluginMeta from ..server import AccessLogger from ..matrix import MaubotMatrixClient @@ -149,11 +149,23 @@ if meta.config: sys.exit(1) if meta.webapp: - plugin_webapp = PluginWebApp() - web_app = web.Application(router=plugin_webapp) + web_app = web.Application() web_runner = web.AppRunner(web_app, access_log_class=AccessLogger) web_base_path = config["server.base_path"].rstrip("/") - public_url = str(URL(config["server.public_url"]) / web_base_path).rstrip("/") + public_url = str(URL(config["server.public_url"]) / web_base_path.lstrip("/")).rstrip("/") + plugin_webapp = PluginWebApp() + + async def _handle_plugin_request(req: web.Request) -> web.StreamResponse: + if req.path.startswith(web_base_path): + req = req.clone(rel_url=req.rel_url + .with_path(req.rel_url.path[len(web_base_path):]) + .with_query(req.query_string)) + return await plugin_webapp.handle(req) + return web.Response(status=404) + + resource = PrefixResource(web_base_path) + resource.add_route(hdrs.METH_ANY, _handle_plugin_request) + web_app.router.register_resource(resource) else: web_app = web_runner = public_url = plugin_webapp = None @@ -191,6 +203,12 @@ async def main(): await crypto_store.put_device_id(device_id) log.debug("Enabled encryption support") + if web_runner: + await web_runner.setup() + site = web.TCPSite(web_runner, config["server.hostname"], config["server.port"]) + await site.start() + log.info(f"Web server listening on {site.name}") + while True: try: whoami = await client.whoami() @@ -236,12 +254,6 @@ async def main(): await bot.internal_start() - if web_runner: - await web_runner.setup() - site = web.TCPSite(web_runner, config["server.hostname"], config["server.port"]) - await site.start() - log.info(f"Web server listening on {site.name}") - async def stop() -> None: client.stop() From f2bae18c7a8ed9205980a1793721bb12a93cebb9 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 20 Nov 2021 01:30:03 +0200 Subject: [PATCH 039/196] Handle startup errors and missing config meta flags --- maubot/standalone/__main__.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/maubot/standalone/__main__.py b/maubot/standalone/__main__.py index cd70d9d..037c084 100644 --- a/maubot/standalone/__main__.py +++ b/maubot/standalone/__main__.py @@ -123,6 +123,10 @@ if not nb: nb.insert() bot_config = None +if not meta.config and "base-config.yaml" in meta.extra_files: + log.warning("base-config.yaml in extra files, but config is not set to true. " + "Assuming legacy plugin and loading config.") + meta.config = True if meta.config: log.debug("Loading config") config_class = plugin.get_config_class() @@ -255,9 +259,15 @@ async def main(): await bot.internal_start() -async def stop() -> None: - client.stop() - await bot.internal_stop() +async def stop(suppress_stop_error: bool = False) -> None: + if client: + client.stop() + if bot: + try: + await bot.internal_stop() + except Exception: + if not suppress_stop_error: + log.exception("Error stopping bot") if crypto_db: await crypto_db.stop() if web_runner: @@ -270,6 +280,8 @@ try: loop.run_until_complete(main()) except Exception: log.fatal("Failed to start plugin", exc_info=True) + loop.run_until_complete(stop(suppress_stop_error=True)) + loop.close() sys.exit(1) signal.signal(signal.SIGINT, signal.default_int_handler) From ca7a9800819870fe997966e3bb0a02d85ea54777 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 20 Nov 2021 16:23:06 +0200 Subject: [PATCH 040/196] Add SSO support to mbc auth --- maubot/cli/cliq/cliq.py | 7 +- maubot/cli/commands/auth.py | 86 +++++++++++++++++-------- maubot/client.py | 3 +- maubot/management/api/client.py | 4 +- maubot/management/api/client_auth.py | 96 +++++++++++++++++++++++++--- maubot/management/api/middleware.py | 7 +- maubot/management/api/responses.py | 14 ++++ 7 files changed, 177 insertions(+), 40 deletions(-) diff --git a/maubot/cli/cliq/cliq.py b/maubot/cli/cliq/cliq.py index 5806cb6..a65e77a 100644 --- a/maubot/cli/cliq/cliq.py +++ b/maubot/cli/cliq/cliq.py @@ -73,6 +73,11 @@ def command(help: str) -> Callable[[Callable], Callable]: required_unless = questions[key].pop("required_unless") if isinstance(required_unless, str) and kwargs[required_unless]: questions.pop(key) + elif isinstance(required_unless, list): + for v in required_unless: + if kwargs[v]: + questions.pop(key) + break elif isinstance(required_unless, dict): for k, v in required_unless.items(): if kwargs.get(v, object()) == v: @@ -118,7 +123,7 @@ def option(short: str, long: str, message: str = None, help: str = None, click_type: Union[str, Callable[[str], Any]] = None, inq_type: str = None, validator: Type[Validator] = None, required: bool = False, default: Union[str, bool, None] = None, is_flag: bool = False, prompt: bool = True, - required_unless: str = None) -> Callable[[Callable], Callable]: + required_unless: Union[str, list, dict] = None) -> Callable[[Callable], Callable]: if not message: message = long[2].upper() + long[3:] diff --git a/maubot/cli/commands/auth.py b/maubot/cli/commands/auth.py index 28afafb..444e3b3 100644 --- a/maubot/cli/commands/auth.py +++ b/maubot/cli/commands/auth.py @@ -13,6 +13,7 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . +import webbrowser import json from colorama import Fore @@ -28,7 +29,9 @@ friendly_errors = { "server_not_found": "Registration target server not found.\n\n" "To log in or register through maubot, you must add the server to the\n" "homeservers section in the config. If you only want to log in,\n" - "leave the `secret` field empty." + "leave the `secret` field empty.", + "registration_no_sso": "The register operation is only for registering with a password.\n\n" + "To register with SSO, simply leave out the --register flag.", } @@ -43,9 +46,10 @@ async def list_servers(server: str, sess: aiohttp.ClientSession) -> None: @cliq.command(help="Log into a Matrix account via the Maubot server") @cliq.option("-h", "--homeserver", help="The homeserver to log into", required_unless="list") -@cliq.option("-u", "--username", help="The username to log in with", required_unless="list") +@cliq.option("-u", "--username", help="The username to log in with", + required_unless=["list", "sso"]) @cliq.option("-p", "--password", help="The password to log in with", inq_type="password", - required_unless="list") + required_unless=["list", "sso"]) @cliq.option("-s", "--server", help="The maubot instance to log in through", default="", required=False, prompt=False) @click.option("-r", "--register", help="Register instead of logging in", is_flag=True, @@ -54,39 +58,69 @@ async def list_servers(server: str, sess: aiohttp.ClientSession) -> None: "create or update a client in maubot using it", is_flag=True, default=False) @click.option("-l", "--list", help="List available homeservers", is_flag=True, default=False) +@click.option("-o", "--sso", help="Use single sign-on instead of password login", + is_flag=True, default=False) @click.option("-n", "--device-name", help="The initial e2ee device displayname (only for login)", default="Maubot", required=False) @cliq.with_authenticated_http async def auth(homeserver: str, username: str, password: str, server: str, register: bool, - list: bool, update_client: bool, device_name: str, sess: aiohttp.ClientSession - ) -> None: + list: bool, update_client: bool, device_name: str, sso: bool, + sess: aiohttp.ClientSession) -> None: if list: await list_servers(server, sess) return endpoint = "register" if register else "login" url = URL(server) / "_matrix/maubot/v1/client/auth" / homeserver / endpoint if update_client: - url = url.with_query({"update_client": "true"}) - req_data = {"username": username, "password": password, "device_name": device_name} + url = url.update_query({"update_client": "true"}) + if sso: + url = url.update_query({"sso": "true"}) + req_data = {"device_name": device_name} + else: + req_data = {"username": username, "password": password, "device_name": device_name} + action = "registered" if register else "logged in as" async with sess.post(url, json=req_data) as resp: - if resp.status == 200: - data = await resp.json() - action = "registered" if register else "logged in as" - print(f"{Fore.GREEN}Successfully {action} {Fore.CYAN}{data['user_id']}{Fore.GREEN}.") - print(f"{Fore.GREEN}Access token: {Fore.CYAN}{data['access_token']}{Fore.RESET}") - print(f"{Fore.GREEN}Device ID: {Fore.CYAN}{data['device_id']}{Fore.RESET}") - elif resp.status in (201, 202): - data = await resp.json() - action = "created" if resp.status == 201 else "updated" - print(f"{Fore.GREEN}Successfully {action} client for " - f"{Fore.CYAN}{data['id']}{Fore.GREEN} / " - f"{Fore.CYAN}{data['device_id']}{Fore.GREEN}.{Fore.RESET}") + if not 200 <= resp.status < 300: + await print_error(resp, action) + elif sso: + await wait_sso(resp, sess, server, homeserver) else: - try: - err_data = await resp.json() - error = friendly_errors.get(err_data["errcode"], err_data["error"]) - except (aiohttp.ContentTypeError, json.JSONDecodeError, KeyError): - error = await resp.text() - action = "register" if register else "log in" - print(f"{Fore.RED}Failed to {action}: {error}{Fore.RESET}") + await print_response(resp, action) + + +async def wait_sso(resp: aiohttp.ClientResponse, sess: aiohttp.ClientSession, + server: str, homeserver: str) -> None: + data = await resp.json() + sso_url, reg_id = data["sso_url"], data["id"] + print(f"{Fore.GREEN}Opening {Fore.CYAN}{sso_url}{Fore.RESET}") + webbrowser.open(sso_url, autoraise=True) + print(f"{Fore.GREEN}Waiting for login token...{Fore.RESET}") + wait_url = URL(server) / "_matrix/maubot/v1/client/auth" / homeserver / "sso" / reg_id / "wait" + async with sess.post(wait_url, json={}) as resp: + await print_response(resp, "logged in as") + + +async def print_response(resp: aiohttp.ClientResponse, action: str) -> None: + if resp.status == 200: + data = await resp.json() + print(f"{Fore.GREEN}Successfully {action} {Fore.CYAN}{data['user_id']}{Fore.GREEN}.") + print(f"{Fore.GREEN}Access token: {Fore.CYAN}{data['access_token']}{Fore.RESET}") + print(f"{Fore.GREEN}Device ID: {Fore.CYAN}{data['device_id']}{Fore.RESET}") + elif resp.status in (201, 202): + data = await resp.json() + action = "created" if resp.status == 201 else "updated" + print(f"{Fore.GREEN}Successfully {action} client for " + f"{Fore.CYAN}{data['id']}{Fore.GREEN} / " + f"{Fore.CYAN}{data['device_id']}{Fore.GREEN}.{Fore.RESET}") + else: + await print_error(resp, action) + + +async def print_error(resp: aiohttp.ClientResponse, action: str) -> None: + try: + err_data = await resp.json() + error = friendly_errors.get(err_data["errcode"], err_data["error"]) + except (aiohttp.ContentTypeError, json.JSONDecodeError, KeyError): + error = await resp.text() + print(f"{Fore.RED}Failed to {action}: {error}{Fore.RESET}") diff --git a/maubot/client.py b/maubot/client.py index b02ec24..5495c5b 100644 --- a/maubot/client.py +++ b/maubot/client.py @@ -241,7 +241,8 @@ class Client: "homeserver": self.homeserver, "access_token": self.access_token, "device_id": self.device_id, - "fingerprint": self.crypto.account.fingerprint if self.crypto else None, + "fingerprint": (self.crypto.account.fingerprint if self.crypto and self.crypto.account + else None), "enabled": self.enabled, "started": self.started, "sync": self.sync, diff --git a/maubot/management/api/client.py b/maubot/management/api/client.py index 27f2150..3d88506 100644 --- a/maubot/management/api/client.py +++ b/maubot/management/api/client.py @@ -68,8 +68,8 @@ async def _create_client(user_id: Optional[UserID], data: dict) -> web.Response: enabled=data.get("enabled", True), next_batch=SyncToken(""), filter_id=FilterID(""), sync=data.get("sync", True), autojoin=data.get("autojoin", True), online=data.get("online", True), - displayname=data.get("displayname", ""), - avatar_url=data.get("avatar_url", ""), + displayname=data.get("displayname", "disable"), + avatar_url=data.get("avatar_url", "disable"), device_id=device_id) client = Client(db_instance) client.db_instance.insert() diff --git a/maubot/management/api/client_auth.py b/maubot/management/api/client_auth.py index 863767d..5957f43 100644 --- a/maubot/management/api/client_auth.py +++ b/maubot/management/api/client_auth.py @@ -17,12 +17,15 @@ from typing import Dict, Tuple, NamedTuple, Optional from json import JSONDecodeError from http import HTTPStatus import hashlib +import asyncio import random import string import hmac from aiohttp import web -from mautrix.api import SynapseAdminPath, Method +from yarl import URL + +from mautrix.api import SynapseAdminPath, Method, Path from mautrix.errors import MatrixRequestError from mautrix.client import ClientAPI from mautrix.types import LoginType, LoginResponse @@ -42,6 +45,7 @@ async def get_known_servers(_: web.Request) -> web.Response: class AuthRequestInfo(NamedTuple): + server_name: str client: ClientAPI secret: str username: str @@ -49,6 +53,10 @@ class AuthRequestInfo(NamedTuple): user_type: str device_name: str update_client: bool + sso: bool + + +truthy_strings = ("1", "true", "yes") async def read_client_auth_request(request: web.Request) -> Tuple[Optional[AuthRequestInfo], @@ -61,23 +69,28 @@ async def read_client_auth_request(request: web.Request) -> Tuple[Optional[AuthR body = await request.json() except JSONDecodeError: return None, resp.body_not_json + sso = request.query.get("sso", "").lower() in truthy_strings try: username = body["username"] password = body["password"] except KeyError: - return None, resp.username_or_password_missing + if not sso: + return None, resp.username_or_password_missing + username = password = None try: base_url = server["url"] except KeyError: return None, resp.invalid_server return AuthRequestInfo( + server_name=server_name, client=ClientAPI(base_url=base_url, loop=get_loop()), secret=server.get("secret"), username=username, password=password, user_type=body.get("user_type", "bot"), device_name=body.get("device_name", "Maubot"), - update_client=request.query.get("update_client", "").lower() in ("1", "true", "yes"), + update_client=request.query.get("update_client", "").lower() in truthy_strings, + sso=sso, ), None @@ -102,7 +115,9 @@ async def register(request: web.Request) -> web.Response: req, err = await read_client_auth_request(request) if err is not None: return err - if not req.secret: + if req.sso: + return resp.registration_no_sso + elif not req.secret: return resp.registration_secret_not_found path = SynapseAdminPath.v1.register res = await req.client.api.request(Method.GET, path) @@ -137,12 +152,40 @@ async def login(request: web.Request) -> web.Response: req, err = await read_client_auth_request(request) if err is not None: return err - device_id = ''.join(random.choices(string.ascii_uppercase + string.digits, k=8)) + if req.sso: + return await _do_sso(req) + else: + return await _do_login(req) + + +async def _do_sso(req: AuthRequestInfo) -> web.Response: + flows = await req.client.get_login_flows() + if not flows.supports_type(LoginType.SSO): + return resp.sso_not_supported + waiter_id = ''.join(random.choices(string.ascii_lowercase + string.digits, k=16)) + cfg = get_config() + public_url = (URL(cfg["server.public_url"]) / cfg["server.base_path"].lstrip("/") + / "client/auth_external_sso/complete" / waiter_id) + sso_url = (req.client.api.base_url + .with_path(str(Path.login.sso.redirect)) + .with_query({"redirectUrl": str(public_url)})) + sso_waiters[waiter_id] = req, get_loop().create_future() + return web.json_response({"sso_url": str(sso_url), "id": waiter_id}) + + +async def _do_login(req: AuthRequestInfo, login_token: Optional[str] = None) -> web.Response: + device_id = "".join(random.choices(string.ascii_uppercase + string.digits, k=8)) + device_id = f"maubot_{device_id}" try: - res = await req.client.login(identifier=req.username, login_type=LoginType.PASSWORD, - password=req.password, device_id=f"maubot_{device_id}", - initial_device_display_name=req.device_name, - store_access_token=False) + if req.sso: + res = await req.client.login(token=login_token, login_type=LoginType.TOKEN, + device_id=device_id, store_access_token=False, + initial_device_display_name=req.device_name) + else: + res = await req.client.login(identifier=req.username, login_type=LoginType.PASSWORD, + password=req.password, device_id=device_id, + initial_device_display_name=req.device_name, + store_access_token=False) except MatrixRequestError as e: return web.json_response({ "errcode": e.errcode, @@ -155,3 +198,38 @@ async def login(request: web.Request) -> web.Response: "device_id": res.device_id, }, is_login=True) return web.json_response(res.serialize()) + + +sso_waiters: Dict[str, Tuple[AuthRequestInfo, asyncio.Future]] = {} + + +@routes.post("/client/auth/{server}/sso/{id}/wait") +async def wait_sso(request: web.Request) -> web.Response: + waiter_id = request.match_info["id"] + req, fut = sso_waiters[waiter_id] + try: + login_token = await fut + finally: + sso_waiters.pop(waiter_id, None) + return await _do_login(req, login_token) + + +@routes.get("/client/auth_external_sso/complete/{id}") +async def complete_sso(request: web.Request) -> web.Response: + try: + _, fut = sso_waiters[request.match_info["id"]] + except KeyError: + return web.Response(status=404, text="Invalid session ID\n") + if fut.cancelled(): + return web.Response(status=200, text="The login was cancelled from the Maubot client\n") + elif fut.done(): + return web.Response(status=200, text="The login token was already received\n") + try: + fut.set_result(request.query["loginToken"]) + except KeyError: + return web.Response(status=400, text="Missing loginToken query parameter\n") + except asyncio.InvalidStateError: + return web.Response(status=500, text="Invalid state\n") + return web.Response(status=200, + text="Login token received, please return to your Maubot client. " + "This tab can be closed.\n") diff --git a/maubot/management/api/middleware.py b/maubot/management/api/middleware.py index ff6b4c1..ce9b253 100644 --- a/maubot/management/api/middleware.py +++ b/maubot/management/api/middleware.py @@ -29,7 +29,12 @@ log = logging.getLogger("maubot.server") @web.middleware async def auth(request: web.Request, handler: Handler) -> web.Response: subpath = request.path[len(get_config()["server.base_path"]):] - if subpath.startswith("/auth/") or subpath == "/features" or subpath == "/logs": + if ( + subpath.startswith("/auth/") + or subpath.startswith("/client/auth_external_sso/complete/") + or subpath == "/features" + or subpath == "/logs" + ): return await handler(request) err = check_token(request) if err is not None: diff --git a/maubot/management/api/responses.py b/maubot/management/api/responses.py index d6dee04..5fbedb8 100644 --- a/maubot/management/api/responses.py +++ b/maubot/management/api/responses.py @@ -194,6 +194,20 @@ class _Response: "errcode": "registration_secret_not_found", }, status=HTTPStatus.NOT_FOUND) + @property + def registration_no_sso(self) -> web.Response: + return web.json_response({ + "error": "The register operation is only for registering with a password", + "errcode": "registration_no_sso", + }, status=HTTPStatus.BAD_REQUEST) + + @property + def sso_not_supported(self) -> web.Response: + return web.json_response({ + "error": "That server does not seem to support single sign-on", + "errcode": "sso_not_supported", + }, status=HTTPStatus.FORBIDDEN) + @property def plugin_has_no_database(self) -> web.Response: return web.json_response({ From 0efb798fece697795cbd2597d38bbdc0e46b425a Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 20 Nov 2021 16:26:08 +0200 Subject: [PATCH 041/196] Fix text in some error messages in mbc auth --- maubot/cli/commands/auth.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/maubot/cli/commands/auth.py b/maubot/cli/commands/auth.py index 444e3b3..eceb0c5 100644 --- a/maubot/cli/commands/auth.py +++ b/maubot/cli/commands/auth.py @@ -79,14 +79,13 @@ async def auth(homeserver: str, username: str, password: str, server: str, regis else: req_data = {"username": username, "password": password, "device_name": device_name} - action = "registered" if register else "logged in as" async with sess.post(url, json=req_data) as resp: if not 200 <= resp.status < 300: - await print_error(resp, action) + await print_error(resp, is_register=register) elif sso: await wait_sso(resp, sess, server, homeserver) else: - await print_response(resp, action) + await print_response(resp, is_register=register) async def wait_sso(resp: aiohttp.ClientResponse, sess: aiohttp.ClientSession, @@ -98,12 +97,13 @@ async def wait_sso(resp: aiohttp.ClientResponse, sess: aiohttp.ClientSession, print(f"{Fore.GREEN}Waiting for login token...{Fore.RESET}") wait_url = URL(server) / "_matrix/maubot/v1/client/auth" / homeserver / "sso" / reg_id / "wait" async with sess.post(wait_url, json={}) as resp: - await print_response(resp, "logged in as") + await print_response(resp, is_register=False) -async def print_response(resp: aiohttp.ClientResponse, action: str) -> None: +async def print_response(resp: aiohttp.ClientResponse, is_register: bool) -> None: if resp.status == 200: data = await resp.json() + action = "registered" if is_register else "logged in as" print(f"{Fore.GREEN}Successfully {action} {Fore.CYAN}{data['user_id']}{Fore.GREEN}.") print(f"{Fore.GREEN}Access token: {Fore.CYAN}{data['access_token']}{Fore.RESET}") print(f"{Fore.GREEN}Device ID: {Fore.CYAN}{data['device_id']}{Fore.RESET}") @@ -114,13 +114,14 @@ async def print_response(resp: aiohttp.ClientResponse, action: str) -> None: f"{Fore.CYAN}{data['id']}{Fore.GREEN} / " f"{Fore.CYAN}{data['device_id']}{Fore.GREEN}.{Fore.RESET}") else: - await print_error(resp, action) + await print_error(resp, is_register) -async def print_error(resp: aiohttp.ClientResponse, action: str) -> None: +async def print_error(resp: aiohttp.ClientResponse, is_register: bool) -> None: try: err_data = await resp.json() error = friendly_errors.get(err_data["errcode"], err_data["error"]) except (aiohttp.ContentTypeError, json.JSONDecodeError, KeyError): error = await resp.text() + action = "register" if is_register else "log in" print(f"{Fore.RED}Failed to {action}: {error}{Fore.RESET}") From c9677731e3b328ea7ff0384be1238551925620ab Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 20 Nov 2021 16:53:59 +0200 Subject: [PATCH 042/196] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7ac4a84..56845a4 100644 --- a/README.md +++ b/README.md @@ -34,7 +34,7 @@ The plugin wishlist lives at . * [exec](https://github.com/maubot/exec) - A bot that executes code. * [commitstrip](https://github.com/maubot/commitstrip) - A bot to view CommitStrips. * [supportportal](https://github.com/maubot/supportportal) - A bot to manage customer support on Matrix. -* [gitlab](https://github.com/maubot/gitlab) - A GitLab client and webhook receiver. +* †[gitlab](https://github.com/maubot/gitlab) - A GitLab client and webhook receiver. * [github](https://github.com/maubot/github) - A GitHub client and webhook receiver. * [tex](https://github.com/maubot/tex) - A bot that renders LaTeX. * [altalias](https://github.com/maubot/altalias) - A bot that lets users publish alternate aliases in rooms. From f78da96d632539b95293e22732966e0248abbb85 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 20 Nov 2021 16:54:07 +0200 Subject: [PATCH 043/196] Update mautrix-python --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 78bd391..f1f5e4d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -mautrix>=0.12.1,<0.13 +mautrix>=0.12.2,<0.13 aiohttp>=3,<4 yarl>=1,<2 SQLAlchemy>=1,<1.4 From 3f46dfdfd92272d77584330a88e751bd318dd887 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sat, 20 Nov 2021 16:55:26 +0200 Subject: [PATCH 044/196] Bump version to 0.2.0 --- maubot/__meta__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maubot/__meta__.py b/maubot/__meta__.py index b3f4756..d3ec452 100644 --- a/maubot/__meta__.py +++ b/maubot/__meta__.py @@ -1 +1 @@ -__version__ = "0.1.2" +__version__ = "0.2.0" From c179fd3aeb035fb7081ccdbb47c271b6424d4531 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sun, 21 Nov 2021 23:33:21 +0200 Subject: [PATCH 045/196] Move plugin databases to new path in docker image --- docker/run.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/docker/run.sh b/docker/run.sh index ee82283..89906f4 100755 --- a/docker/run.sh +++ b/docker/run.sh @@ -41,5 +41,6 @@ fi alembic -x config=/data/config.yaml upgrade head fixperms fixconfig +mv -n /data/plugins/*.db /data/dbs/ exec su-exec $UID:$GID python3 -m maubot -c /data/config.yaml From aef1a976bf59582eeab665fc8b8cd0bc4dfcfc43 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Mon, 22 Nov 2021 11:48:40 +0200 Subject: [PATCH 046/196] Bump version to 0.2.1 --- maubot/__meta__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maubot/__meta__.py b/maubot/__meta__.py index d3ec452..3ced358 100644 --- a/maubot/__meta__.py +++ b/maubot/__meta__.py @@ -1 +1 @@ -__version__ = "0.2.0" +__version__ = "0.2.1" From 6d4c2e174f6f474feedd8e1698be01695a67c537 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Mon, 22 Nov 2021 18:05:34 +0200 Subject: [PATCH 047/196] Fix wrong error message in some client updates --- maubot/management/api/client.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/maubot/management/api/client.py b/maubot/management/api/client.py index 3d88506..c74f9e9 100644 --- a/maubot/management/api/client.py +++ b/maubot/management/api/client.py @@ -89,7 +89,11 @@ async def _update_client(client: Client, data: dict, is_login: bool = False) -> except MatrixConnectionError: return resp.bad_client_connection_details except ValueError as e: - return resp.mxid_mismatch(str(e)[len("MXID mismatch: "):]) + str_err = str(e) + if str_err.startswith("MXID mismatch"): + return resp.mxid_mismatch(str(e)[len("MXID mismatch: "):]) + elif str_err.startswith("Device ID mismatch"): + return resp.device_id_mismatch(str(e)[len("Device ID mismatch: "):]) with client.db_instance.edit_mode(): await client.update_avatar_url(data.get("avatar_url", None)) await client.update_displayname(data.get("displayname", None)) From 66d227ecdbf5f10177c9e22fe85e392fbf5c352f Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sun, 28 Nov 2021 16:02:40 +0200 Subject: [PATCH 048/196] Clean up after building standalone image --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6fbb3ef..e6942b6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -72,3 +72,4 @@ build standalone amd64: - docker build --pull --cache-from $CI_REGISTRY_IMAGE:standalone --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-standalone . -f maubot/standalone/Dockerfile - if [ "$CI_COMMIT_BRANCH" = "master" ]; then docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-standalone $CI_REGISTRY_IMAGE:standalone && docker push $CI_REGISTRY_IMAGE:standalone; fi - if [ "$CI_COMMIT_BRANCH" != "master" ]; then docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-standalone $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-standalone && docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-standalone; fi + - docker rmi $CI_REGISTRY_IMAGE:standalone $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-standalone $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-standalone From 4fafdee3a85c8cb8a29f16a4b2b55349a69702a3 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sun, 28 Nov 2021 18:29:45 +0200 Subject: [PATCH 049/196] Fix mbc upload printing error on the first upload --- maubot/cli/commands/upload.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/maubot/cli/commands/upload.py b/maubot/cli/commands/upload.py index e02ad4a..67a1e30 100644 --- a/maubot/cli/commands/upload.py +++ b/maubot/cli/commands/upload.py @@ -41,7 +41,7 @@ async def upload_file(sess: aiohttp.ClientSession, file: IO, server: str) -> Non url = (URL(server) / "_matrix/maubot/v1/plugins/upload").with_query({"allow_override": "true"}) headers = {"Content-Type": "application/zip"} async with sess.post(url, data=file, headers=headers) as resp: - if resp.status == 200: + if resp.status in (200, 201): data = await resp.json() print(f"{Fore.GREEN}Plugin {Fore.CYAN}{data['id']} v{data['version']}{Fore.GREEN} " f"uploaded to {Fore.CYAN}{server}{Fore.GREEN} successfully.{Fore.RESET}") From d87158be50ce3ec7ca7e2227f5bfa9ede2e3a78e Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Tue, 30 Nov 2021 12:37:34 +0200 Subject: [PATCH 050/196] Don't fail CI if removing one of the standalone tags fails --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e6942b6..797e095 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -72,4 +72,4 @@ build standalone amd64: - docker build --pull --cache-from $CI_REGISTRY_IMAGE:standalone --tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-standalone . -f maubot/standalone/Dockerfile - if [ "$CI_COMMIT_BRANCH" = "master" ]; then docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-standalone $CI_REGISTRY_IMAGE:standalone && docker push $CI_REGISTRY_IMAGE:standalone; fi - if [ "$CI_COMMIT_BRANCH" != "master" ]; then docker tag $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-standalone $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-standalone && docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-standalone; fi - - docker rmi $CI_REGISTRY_IMAGE:standalone $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-standalone $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-standalone + - docker rmi $CI_REGISTRY_IMAGE:standalone $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_NAME-standalone $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA-standalone || true From 33bc777bfd1980d0d1db310d520b4e186bb6c9ee Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Sun, 12 Dec 2021 21:15:01 +0200 Subject: [PATCH 051/196] Include unhandled error body in force-JSON middleware --- maubot/management/api/middleware.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/maubot/management/api/middleware.py b/maubot/management/api/middleware.py index ce9b253..fa04edb 100644 --- a/maubot/management/api/middleware.py +++ b/maubot/management/api/middleware.py @@ -15,6 +15,7 @@ # along with this program. If not, see . from typing import Callable, Awaitable import logging +import base64 from aiohttp import web @@ -52,7 +53,12 @@ async def error(request: web.Request, handler: Handler) -> web.Response: elif ex.status_code == 405: return resp.method_not_allowed return web.json_response({ - "error": f"Unhandled HTTP {ex.status}", + "httpexception": { + "headers": {key: value for key, value in ex.headers.items()}, + "class": type(ex).__name__, + "body": ex.text or base64.b64encode(ex.body) + }, + "error": f"Unhandled HTTP {ex.status}: {ex.text[:128] or 'non-text response'}", "errcode": f"unhandled_http_{ex.status}", }, status=ex.status) except Exception: From df2f2a896ad08381fbe60ebe1595fe280f3cea78 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Mon, 13 Dec 2021 15:03:56 +0200 Subject: [PATCH 052/196] Add missing line to CI dockerfile --- Dockerfile.ci | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile.ci b/Dockerfile.ci index 09bdb5f..81f8b56 100644 --- a/Dockerfile.ci +++ b/Dockerfile.ci @@ -46,7 +46,8 @@ RUN apk add --virtual .build-deps python3-dev build-base git \ && sed -Ei 's/psycopg2-binary.+//' optional-requirements.txt \ && pip3 install -r requirements.txt -r optional-requirements.txt \ dateparser langdetect python-gitlab pyquery cchardet semver tzlocal cssselect \ - && apk del .build-deps + && apk del .build-deps \ + && cp maubot/example-config.yaml . && rm -rf maubot # TODO also remove dateparser, langdetect and pyquery when maubot supports installing dependencies COPY . /opt/maubot From e8862ed1a3573dcc4873df0fe4a6bfc8e6bf2741 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Mon, 13 Dec 2021 15:36:48 +0200 Subject: [PATCH 053/196] Fix moving example config --- Dockerfile | 4 ++-- Dockerfile.ci | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0d6bb28..bd27ebe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -52,11 +52,11 @@ RUN apk add --virtual .build-deps python3-dev build-base git \ && sed -Ei 's/psycopg2-binary.+//' optional-requirements.txt \ && pip3 install -r requirements.txt -r optional-requirements.txt \ dateparser langdetect python-gitlab pyquery cchardet semver tzlocal cssselect \ - && apk del .build-deps \ - && cp maubot/example-config.yaml . && rm -rf maubot + && apk del .build-deps # TODO also remove dateparser, langdetect and pyquery when maubot supports installing dependencies COPY . /opt/maubot +RUN cp maubot/example-config.yaml . COPY ./docker/mbc.sh /usr/local/bin/mbc COPY --from=frontend-builder /frontend/build /opt/maubot/frontend ENV UID=1337 GID=1337 XDG_CONFIG_HOME=/data diff --git a/Dockerfile.ci b/Dockerfile.ci index 81f8b56..7719d33 100644 --- a/Dockerfile.ci +++ b/Dockerfile.ci @@ -46,11 +46,11 @@ RUN apk add --virtual .build-deps python3-dev build-base git \ && sed -Ei 's/psycopg2-binary.+//' optional-requirements.txt \ && pip3 install -r requirements.txt -r optional-requirements.txt \ dateparser langdetect python-gitlab pyquery cchardet semver tzlocal cssselect \ - && apk del .build-deps \ - && cp maubot/example-config.yaml . && rm -rf maubot + && apk del .build-deps # TODO also remove dateparser, langdetect and pyquery when maubot supports installing dependencies COPY . /opt/maubot +RUN cp /opt/maubot/maubot/example-config.yaml /opt/maubot COPY ./docker/mbc.sh /usr/local/bin/mbc ENV UID=1337 GID=1337 XDG_CONFIG_HOME=/data VOLUME /data From 7e06eadfd05c1b30e8f544fa11e517c73b8d7aae Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 15 Dec 2021 20:11:08 +0200 Subject: [PATCH 054/196] Update configurable bot example to match the one in docs --- examples/config/base-config.yaml | 7 +++++-- examples/config/configurablebot.py | 20 +++++++++++--------- examples/config/maubot.yaml | 3 ++- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/examples/config/base-config.yaml b/examples/config/base-config.yaml index c621847..0f7f8a3 100644 --- a/examples/config/base-config.yaml +++ b/examples/config/base-config.yaml @@ -1,2 +1,5 @@ -# Message to send when user sends !getmessage -message: Default configuration active +# Who is allowed to use the bot? +whitelist: + - "@user:example.com" +# The prefix for the main command without the ! +command_prefix: hello-world diff --git a/examples/config/configurablebot.py b/examples/config/configurablebot.py index 13624be..54b47b6 100644 --- a/examples/config/configurablebot.py +++ b/examples/config/configurablebot.py @@ -1,5 +1,4 @@ from typing import Type - from mautrix.util.config import BaseProxyConfig, ConfigUpdateHelper from maubot import Plugin, MessageEvent from maubot.handlers import command @@ -7,19 +6,22 @@ from maubot.handlers import command class Config(BaseProxyConfig): def do_update(self, helper: ConfigUpdateHelper) -> None: - helper.copy("message") + helper.copy("whitelist") + helper.copy("command_prefix") -class DatabaseBot(Plugin): +class ConfigurableBot(Plugin): async def start(self) -> None: - await super().start() self.config.load_and_update() + def get_command_name(self) -> str: + return self.config["command_prefix"] + + @command.new(name=get_command_name) + async def hmm(self, evt: MessageEvent) -> None: + if evt.sender in self.config["whitelist"]: + await evt.reply("You're whitelisted 🎉") + @classmethod def get_config_class(cls) -> Type[BaseProxyConfig]: return Config - - @command.new("getmessage") - async def handler(self, event: MessageEvent) -> None: - if event.sender != self.client.mxid: - await event.reply(self.config["message"]) diff --git a/examples/config/maubot.yaml b/examples/config/maubot.yaml index b049dba..89ae153 100644 --- a/examples/config/maubot.yaml +++ b/examples/config/maubot.yaml @@ -1,11 +1,12 @@ maubot: 0.1.0 id: xyz.maubot.databasebot -version: 1.0.0 +version: 2.0.0 license: MIT modules: - configurablebot main_class: ConfigurableBot database: false +config: true # Instruct the build tool to include the base config. extra_files: From 26c1d6571c9fa524d75e1542dc848f7eaee5956b Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 7 Jan 2022 00:05:07 +0200 Subject: [PATCH 055/196] Don't override plugin directories in docker image --- docker/run.sh | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/docker/run.sh b/docker/run.sh index 89906f4..2a4e8e1 100755 --- a/docker/run.sh +++ b/docker/run.sh @@ -4,24 +4,24 @@ function fixperms { chown -R $UID:$GID /var/log /data /opt/maubot } +function fixdefault { + _value=$(yq e "$1" /data/config.yaml) + if [[ "$_value" == "$2" ]]; then + yq e -i "$1 = "'"'"$3"'"' /data/config.yaml + fi +} + function fixconfig { - # If the DB path is the default relative path, replace it with an absolute /data path - _db_url=$(yq e '.database' /data/config.yaml) - if [[ _db_url == "sqlite:///maubot.db" ]]; then - yq e -i '.database = "sqlite:////data/maubot.db"' /data/config.yaml - fi - _log_path=$(yq e '.logging.handlers.file.filename' /data/config.yaml) - if [[ _log_path == "./maubot.log" ]]; then - yq e -i '.logging.handlers.file.filename = "/var/log/maubot.log"' /data/config.yaml - fi - # Set the correct resource paths - yq e -i ' - .server.override_resource_path = "/opt/maubot/frontend" | - .plugin_directories.upload = "/data/plugins" | - .plugin_directories.load = ["/data/plugins"] | - .plugin_directories.trash = "/data/trash" | - .plugin_directories.db = "/data/dbs" - ' /data/config.yaml + # Change relative default paths to absolute paths in /data + fixdefault '.database' 'sqlite:///maubot.db' 'sqlite:////data/maubot.db' + fixdefault '.plugin_directories.upload' './plugins' '/data/plugins' + fixdefault '.plugin_directories.load[0]' './plugins' '/data/plugins' + fixdefault '.plugin_directories.trash' './trash' '/data/trash' + fixdefault '.plugin_directories.db' './plugins' '/data/dbs' + fixdefault '.plugin_directories.db' './dbs' '/data/dbs' + fixdefault '.logging.handlers.file.filename' './maubot.log' '/var/log/maubot.log' + # This doesn't need to be configurable + yq e -i '.server.override_resource_path = "/opt/maubot/frontend"' } cd /opt/maubot From a1a00ff655e98c26381ed6f9ff2d8503ed25bdc8 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 7 Jan 2022 16:17:47 +0200 Subject: [PATCH 056/196] Add missing parameter to yq command --- docker/run.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/run.sh b/docker/run.sh index 2a4e8e1..f9b185c 100755 --- a/docker/run.sh +++ b/docker/run.sh @@ -21,7 +21,7 @@ function fixconfig { fixdefault '.plugin_directories.db' './dbs' '/data/dbs' fixdefault '.logging.handlers.file.filename' './maubot.log' '/var/log/maubot.log' # This doesn't need to be configurable - yq e -i '.server.override_resource_path = "/opt/maubot/frontend"' + yq e -i '.server.override_resource_path = "/opt/maubot/frontend"' /data/config.yaml } cd /opt/maubot From 3e8e034a5a0cc3470d293178db0d3c343596a9f6 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 7 Jan 2022 16:20:50 +0200 Subject: [PATCH 057/196] Only move dbs if they exist --- docker/run.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docker/run.sh b/docker/run.sh index f9b185c..a9a40e1 100755 --- a/docker/run.sh +++ b/docker/run.sh @@ -41,6 +41,8 @@ fi alembic -x config=/data/config.yaml upgrade head fixperms fixconfig -mv -n /data/plugins/*.db /data/dbs/ +if ls /data/plugins/*.db > /dev/null 2>&1; then + mv -n /data/plugins/*.db /data/dbs/ +fi exec su-exec $UID:$GID python3 -m maubot -c /data/config.yaml From 05e5bbfb1025ccc0362c59185f7ce0be5bdcc75b Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 23 Feb 2022 16:26:25 +0200 Subject: [PATCH 058/196] Log warnings if crypto dependencies aren't installed --- maubot/client.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/maubot/client.py b/maubot/client.py index 5495c5b..9601712 100644 --- a/maubot/client.py +++ b/maubot/client.py @@ -34,12 +34,16 @@ try: from mautrix.crypto import OlmMachine, StateStore as CryptoStateStore, PgCryptoStore from mautrix.util.async_db import Database as AsyncDatabase + class SQLStateStore(BaseSQLStateStore, CryptoStateStore): pass + + + crypto_import_error = None except ImportError as e: OlmMachine = CryptoStateStore = PgCryptoStore = AsyncDatabase = None SQLStateStore = BaseSQLStateStore - + crypto_import_error = e if TYPE_CHECKING: from .instance import PluginInstance @@ -96,7 +100,19 @@ class Client: @property def enable_crypto(self) -> bool: - return bool(OlmMachine and self.device_id and self.crypto_db) + if not self.device_id: + return False + elif not OlmMachine: + global crypto_import_error + self.log.warning("Client has device ID, but encryption dependencies not installed", + exc_info=crypto_import_error) + # Clear the stack trace after it's logged once to avoid spamming logs + crypto_import_error = None + return False + elif not self.crypto_db: + self.log.warning("Client has device ID, but crypto database is not prepared") + return False + return True def _prepare_crypto(self) -> None: self.crypto_store = PgCryptoStore(account_id=self.id, pickle_key="mau.crypto", From 21fe57e87fc09a98c851146ff244491659bab1fe Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 23 Feb 2022 16:40:25 +0200 Subject: [PATCH 059/196] Bump max unpaddedbase64 version --- optional-requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/optional-requirements.txt b/optional-requirements.txt index 0ab6975..06bb075 100644 --- a/optional-requirements.txt +++ b/optional-requirements.txt @@ -9,4 +9,4 @@ asyncpg>=0.20,<0.26 aiosqlite>=0.16,<0.18 python-olm>=3,<4 pycryptodome>=3,<4 -unpaddedbase64>=1,<2 +unpaddedbase64>=1,<3 From ccb310b6d8a9434e0021f390fdc27a81a6bc28c5 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 23 Feb 2022 19:28:07 +0200 Subject: [PATCH 060/196] Use different default path for crypto db --- maubot/example-config.yaml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/maubot/example-config.yaml b/maubot/example-config.yaml index 0f82e12..eb9bfe2 100644 --- a/maubot/example-config.yaml +++ b/maubot/example-config.yaml @@ -6,7 +6,9 @@ database: sqlite:///maubot.db # Separate database URL for the crypto database. "default" means use the same database as above. -crypto_database: default +# Due to concurrency issues, you should use a separate file when using SQLite rather than the same as above. +# When using postgres, using the same database for both is safe. +crypto_database: sqlite:///crypto.db plugin_directories: # The directory where uploaded new plugins should be stored. From 339971731e341775701e296cfa0d7ebdbba80ceb Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 23 Feb 2022 19:28:52 +0200 Subject: [PATCH 061/196] Add asyncpg to the encryption dependencies It's not technically required when using SQLite, but currently the code expects it to be importable. Fixes #148 --- optional-requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/optional-requirements.txt b/optional-requirements.txt index 06bb075..17d8fff 100644 --- a/optional-requirements.txt +++ b/optional-requirements.txt @@ -6,6 +6,7 @@ psycopg2-binary>=2,<3 asyncpg>=0.20,<0.26 #/e2be +asyncpg>=0.20,<0.26 aiosqlite>=0.16,<0.18 python-olm>=3,<4 pycryptodome>=3,<4 From 6f57c88e4aa103d1f59d8e755cbe08e9c2871854 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Wed, 23 Feb 2022 19:29:37 +0200 Subject: [PATCH 062/196] Rename e2be optional dep to encryption This isn't a bridge, so it's normal e2ee, not e2be --- optional-requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/optional-requirements.txt b/optional-requirements.txt index 17d8fff..0397722 100644 --- a/optional-requirements.txt +++ b/optional-requirements.txt @@ -5,7 +5,7 @@ psycopg2-binary>=2,<3 asyncpg>=0.20,<0.26 -#/e2be +#/encryption asyncpg>=0.20,<0.26 aiosqlite>=0.16,<0.18 python-olm>=3,<4 From 7679a0e97cf842f47f083c01baa1ba4199266f9a Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 4 Mar 2022 15:38:34 +0200 Subject: [PATCH 063/196] Update mautrix-python --- maubot/client.py | 1 + maubot/matrix.py | 38 ++++++++++++++++++++------------------ requirements.txt | 2 +- setup.py | 4 ++-- 4 files changed, 24 insertions(+), 21 deletions(-) diff --git a/maubot/client.py b/maubot/client.py index 9601712..0ebbaf7 100644 --- a/maubot/client.py +++ b/maubot/client.py @@ -168,6 +168,7 @@ class Client: self.log.warning("Ignoring start() call to started client") return try: + await self.client.versions() whoami = await self.client.whoami() except MatrixInvalidToken as e: self.log.error(f"Invalid token: {e}. Disabling client") diff --git a/maubot/matrix.py b/maubot/matrix.py index beca521..8481036 100644 --- a/maubot/matrix.py +++ b/maubot/matrix.py @@ -39,15 +39,15 @@ class MaubotHTMLParser(MatrixParser[HumanReadableString]): fs = HumanReadableString -def parse_formatted(message: str, allow_html: bool = False, render_markdown: bool = True - ) -> Tuple[str, str]: +async def parse_formatted(message: str, allow_html: bool = False, render_markdown: bool = True + ) -> Tuple[str, str]: if render_markdown: html = markdown.render(message, allow_html=allow_html) elif allow_html: html = message else: return message, escape(message) - return MaubotHTMLParser.parse(html).text, html + return (await MaubotHTMLParser().parse(html)).text, html class MaubotMessageEvent(MessageEvent): @@ -60,17 +60,17 @@ class MaubotMessageEvent(MessageEvent): self.client = client self.disable_reply = client.disable_replies - def respond(self, content: Union[str, MessageEventContent], - event_type: EventType = EventType.ROOM_MESSAGE, markdown: bool = True, - allow_html: bool = False, reply: Union[bool, str] = False, - edits: Optional[Union[EventID, MessageEvent]] = None) -> Awaitable[EventID]: + async def respond(self, content: Union[str, MessageEventContent], + event_type: EventType = EventType.ROOM_MESSAGE, markdown: bool = True, + allow_html: bool = False, reply: Union[bool, str] = False, + edits: Optional[Union[EventID, MessageEvent]] = None) -> EventID: if isinstance(content, str): content = TextMessageEventContent(msgtype=MessageType.NOTICE, body=content) if allow_html or markdown: content.format = Format.HTML - content.body, content.formatted_body = parse_formatted(content.body, - render_markdown=markdown, - allow_html=allow_html) + content.body, content.formatted_body = await parse_formatted( + content.body, render_markdown=markdown, allow_html=allow_html + ) if edits: content.set_edit(edits) elif reply: @@ -82,7 +82,7 @@ class MaubotMessageEvent(MessageEvent): f': {fmt_body}') else: content.set_reply(self) - return self.client.send_message_event(self.room_id, event_type, content) + return await self.client.send_message_event(self.room_id, event_type, content) def reply(self, content: Union[str, MessageEventContent], event_type: EventType = EventType.ROOM_MESSAGE, markdown: bool = True, @@ -110,20 +110,22 @@ class MaubotMatrixClient(MatrixClient): super().__init__(*args, **kwargs) self.disable_replies = False - def send_markdown(self, room_id: RoomID, markdown: str, *, allow_html: bool = False, - msgtype: MessageType = MessageType.TEXT, - edits: Optional[Union[EventID, MessageEvent]] = None, - relates_to: Optional[RelatesTo] = None, **kwargs - ) -> Awaitable[EventID]: + async def send_markdown(self, room_id: RoomID, markdown: str, *, allow_html: bool = False, + msgtype: MessageType = MessageType.TEXT, + edits: Optional[Union[EventID, MessageEvent]] = None, + relates_to: Optional[RelatesTo] = None, **kwargs + ) -> EventID: content = TextMessageEventContent(msgtype=msgtype, format=Format.HTML) - content.body, content.formatted_body = parse_formatted(markdown, allow_html=allow_html) + content.body, content.formatted_body = await parse_formatted( + markdown, allow_html=allow_html + ) if relates_to: if edits: raise ValueError("Can't use edits and relates_to at the same time.") content.relates_to = relates_to elif edits: content.set_edit(edits) - return self.send_message(room_id, content, **kwargs) + return await self.send_message(room_id, content, **kwargs) def dispatch_event(self, event: Event, source: SyncStream) -> List[asyncio.Task]: if isinstance(event, MessageEvent) and not isinstance(event, MaubotMessageEvent): diff --git a/requirements.txt b/requirements.txt index f1f5e4d..e221b22 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ -mautrix>=0.12.2,<0.13 +mautrix==0.15.0rc4 aiohttp>=3,<4 yarl>=1,<2 SQLAlchemy>=1,<1.4 diff --git a/setup.py b/setup.py index eca1e05..574a1c6 100644 --- a/setup.py +++ b/setup.py @@ -39,7 +39,7 @@ setuptools.setup( install_requires=install_requires, extras_require=extras_require, - python_requires="~=3.7", + python_requires="~=3.8", classifiers=[ "Development Status :: 4 - Beta", @@ -48,9 +48,9 @@ setuptools.setup( "Framework :: AsyncIO", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", ], entry_points=""" [console_scripts] From a2e6d06cdc38393039c778fa017ae69176274b96 Mon Sep 17 00:00:00 2001 From: rom4nik <46846000+rom4nik@users.noreply.github.com> Date: Sun, 20 Mar 2022 02:03:03 +0100 Subject: [PATCH 064/196] Add alternatingcaps to 3rd party plugins --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 56845a4..90b6e0d 100644 --- a/README.md +++ b/README.md @@ -58,6 +58,7 @@ The plugin wishlist lives at . * †[youtube previewer](https://github.com/ggogel/YoutubePreviewMaubot) - A bot that responds to a YouTube link with the video title and thumbnail. * †[reddit previewer](https://github.com/ggogel/RedditPreviewMaubot) - A bot that responds to a link of a reddit post with the sub name and title. If available, uploads the image or video. * [pocket](https://github.com/jaywink/maubot-pocket) - A bot integrating with Pocket to fetch articles and archive them. +* [alternatingcaps](https://github.com/rom4nik/maubot-alternatingcaps) - A bot repeating last message using aLtErNaTiNg cApS. † Uses a synchronous library which can block the whole maubot process (e.g. requests instead of aiohttp) From 068e268c632b90e5e4f2954f3eaf3aa9342c240c Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Fri, 25 Mar 2022 14:22:37 +0200 Subject: [PATCH 065/196] Blacken and isort code --- .github/workflows/python-lint.yml | 26 + README.md | 7 + dev-requirements.txt | 3 + maubot/__init__.py | 4 +- maubot/__main__.py | 13 +- maubot/cli/__main__.py | 1 + maubot/cli/base.py | 2 +- maubot/cli/cliq/__init__.py | 2 +- maubot/cli/cliq/cliq.py | 46 +- maubot/cli/cliq/validators.py | 6 +- maubot/cli/commands/__init__.py | 2 +- maubot/cli/commands/auth.py | 101 ++-- maubot/cli/commands/build.py | 51 +- maubot/cli/commands/init.py | 61 ++- maubot/cli/commands/login.py | 36 +- maubot/cli/commands/logs.py | 25 +- maubot/cli/commands/upload.py | 8 +- maubot/cli/config.py | 18 +- maubot/cli/res/spdx.json.zip | Bin 615430 -> 698204 bytes maubot/cli/util/spdx.py | 16 +- maubot/client.py | 165 +++--- maubot/config.py | 12 +- maubot/db.py | 45 +- maubot/handlers/__init__.py | 2 +- maubot/handlers/command.py | 230 ++++++--- maubot/handlers/event.py | 11 +- maubot/handlers/web.py | 6 +- maubot/instance.py | 82 +-- maubot/lib/color_log.py | 11 +- maubot/lib/future_awaitable.py | 4 +- maubot/lib/store_proxy.py | 2 +- maubot/lib/zipimport.py | 237 ++++----- maubot/loader/__init__.py | 4 +- maubot/loader/abc.py | 24 +- maubot/loader/zip.py | 92 ++-- maubot/management/api/__init__.py | 15 +- maubot/management/api/auth.py | 22 +- maubot/management/api/base.py | 15 +- maubot/management/api/client.py | 60 ++- maubot/management/api/client_auth.py | 157 +++--- maubot/management/api/client_proxy.py | 9 +- maubot/management/api/dev_open.py | 21 +- maubot/management/api/instance.py | 13 +- maubot/management/api/instance_database.py | 75 +-- maubot/management/api/log.py | 62 ++- maubot/management/api/login.py | 7 +- maubot/management/api/middleware.py | 29 +- maubot/management/api/plugin.py | 6 +- maubot/management/api/plugin_upload.py | 25 +- maubot/management/api/responses.py | 471 +++++++++++------- maubot/management/frontend/public/index.html | 2 +- maubot/management/frontend/src/api.js | 2 +- .../src/components/PreferenceTable.js | 2 +- .../frontend/src/components/PrivateRoute.js | 2 +- .../frontend/src/components/Switch.js | 2 +- maubot/management/frontend/src/index.js | 2 +- maubot/management/frontend/src/pages/Login.js | 2 +- maubot/management/frontend/src/pages/Main.js | 2 +- .../src/pages/dashboard/BaseMainView.js | 2 +- .../frontend/src/pages/dashboard/Client.js | 2 +- .../frontend/src/pages/dashboard/Home.js | 2 +- .../frontend/src/pages/dashboard/Instance.js | 2 +- .../src/pages/dashboard/InstanceDatabase.js | 2 +- .../frontend/src/pages/dashboard/Log.js | 2 +- .../frontend/src/pages/dashboard/Modal.js | 2 +- .../frontend/src/pages/dashboard/Plugin.js | 2 +- .../frontend/src/pages/dashboard/index.js | 2 +- .../frontend/src/style/base/body.sass | 2 +- .../frontend/src/style/base/elements.sass | 2 +- .../frontend/src/style/base/vars.sass | 2 +- .../management/frontend/src/style/index.sass | 2 +- .../src/style/lib/preferencetable.sass | 2 +- .../frontend/src/style/lib/switch.sass | 2 +- .../src/style/pages/client/avatar.sass | 2 +- .../src/style/pages/client/index.sass | 2 +- .../src/style/pages/client/started.sass | 2 +- .../frontend/src/style/pages/dashboard.sass | 2 +- .../src/style/pages/instance-database.sass | 2 +- .../frontend/src/style/pages/instance.sass | 2 +- .../frontend/src/style/pages/log.sass | 2 +- .../frontend/src/style/pages/login.sass | 2 +- .../src/style/pages/mixins/instancelist.sass | 2 +- .../style/pages/mixins/upload-container.sass | 2 +- .../frontend/src/style/pages/modal.sass | 2 +- .../frontend/src/style/pages/plugin.sass | 2 +- .../frontend/src/style/pages/sidebar.sass | 2 +- .../frontend/src/style/pages/topbar.sass | 2 +- maubot/matrix.py | 112 +++-- maubot/plugin_base.py | 52 +- maubot/plugin_server.py | 21 +- maubot/server.py | 69 +-- maubot/standalone/__main__.py | 159 ++++-- maubot/standalone/config.py | 2 +- maubot/standalone/database.py | 8 +- maubot/standalone/loader.py | 12 +- pyproject.toml | 14 + requirements.txt | 2 +- 97 files changed, 1781 insertions(+), 1086 deletions(-) create mode 100644 .github/workflows/python-lint.yml create mode 100644 dev-requirements.txt create mode 100644 pyproject.toml diff --git a/.github/workflows/python-lint.yml b/.github/workflows/python-lint.yml new file mode 100644 index 0000000..9847632 --- /dev/null +++ b/.github/workflows/python-lint.yml @@ -0,0 +1,26 @@ +name: Python lint + +on: [push, pull_request] + +jobs: + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-python@v3 + with: + python-version: "3.10" + - uses: isort/isort-action@master + with: + sortPaths: "./maubot" + - uses: psf/black@stable + with: + src: "./maubot" + version: "22.1.0" + - name: pre-commit + run: | + pip install pre-commit + pre-commit run -av trailing-whitespace + pre-commit run -av end-of-file-fixer + pre-commit run -av check-yaml + pre-commit run -av check-added-large-files diff --git a/README.md b/README.md index 90b6e0d..ed28f2e 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,11 @@ # maubot +![Languages](https://img.shields.io/github/languages/top/maubot/maubot.svg) +[![License](https://img.shields.io/github/license/maubot/maubot.svg)](LICENSE) +[![Release](https://img.shields.io/github/release/maubot/maubot/all.svg)](https://github.com/maubot/maubot/releases) +[![GitLab CI](https://mau.dev/maubot/maubot/badges/master/pipeline.svg)](https://mau.dev/maubot/maubot/container_registry) +[![Code style](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) +[![Imports](https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat&labelColor=ef8336)](https://pycqa.github.io/isort/) + A plugin-based [Matrix](https://matrix.org) bot system written in Python. ## Documentation diff --git a/dev-requirements.txt b/dev-requirements.txt new file mode 100644 index 0000000..232f724 --- /dev/null +++ b/dev-requirements.txt @@ -0,0 +1,3 @@ +pre-commit>=2.10.1,<3 +isort>=5.10.1,<6 +black==22.1.0 diff --git a/maubot/__init__.py b/maubot/__init__.py index 71755b9..5106b46 100644 --- a/maubot/__init__.py +++ b/maubot/__init__.py @@ -1,4 +1,4 @@ +from .__meta__ import __version__ +from .matrix import MaubotMatrixClient as Client, MaubotMessageEvent as MessageEvent from .plugin_base import Plugin from .plugin_server import PluginWebApp -from .matrix import MaubotMatrixClient as Client, MaubotMessageEvent as MessageEvent -from .__meta__ import __version__ diff --git a/maubot/__main__.py b/maubot/__main__.py index f07b58c..a29f347 100644 --- a/maubot/__main__.py +++ b/maubot/__main__.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2021 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -17,15 +17,15 @@ import asyncio from mautrix.util.program import Program +from .__meta__ import __version__ +from .client import Client, init as init_client_class from .config import Config from .db import init as init_db -from .server import MaubotServer -from .client import Client, init as init_client_class -from .loader.zip import init as init_zip_loader from .instance import init as init_plugin_instance_class -from .management.api import init as init_mgmt_api from .lib.future_awaitable import FutureAwaitable -from .__meta__ import __version__ +from .loader.zip import init as init_zip_loader +from .management.api import init as init_mgmt_api +from .server import MaubotServer class Maubot(Program): @@ -41,6 +41,7 @@ class Maubot(Program): def prepare_log_websocket(self) -> None: from .management.api.log import init, stop_all + init(self.loop) self.add_shutdown_actions(FutureAwaitable(stop_all)) diff --git a/maubot/cli/__main__.py b/maubot/cli/__main__.py index 1ffd665..3bdbe0e 100644 --- a/maubot/cli/__main__.py +++ b/maubot/cli/__main__.py @@ -1,2 +1,3 @@ from . import app + app() diff --git a/maubot/cli/base.py b/maubot/cli/base.py index 1aaeec8..b35db53 100644 --- a/maubot/cli/base.py +++ b/maubot/cli/base.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/maubot/cli/cliq/__init__.py b/maubot/cli/cliq/__init__.py index cba14a4..10ede9f 100644 --- a/maubot/cli/cliq/__init__.py +++ b/maubot/cli/cliq/__init__.py @@ -1,2 +1,2 @@ from .cliq import command, option -from .validators import SPDXValidator, VersionValidator, PathValidator +from .validators import PathValidator, SPDXValidator, VersionValidator diff --git a/maubot/cli/cliq/cliq.py b/maubot/cli/cliq/cliq.py index a65e77a..2883441 100644 --- a/maubot/cli/cliq/cliq.py +++ b/maubot/cli/cliq/cliq.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2021 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,22 +13,23 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import Any, Callable, Union, Optional, Type -import functools -import traceback -import inspect +from __future__ import annotations + +from typing import Any, Callable import asyncio +import functools +import inspect +import traceback -import aiohttp - +from colorama import Fore from prompt_toolkit.validation import Validator from questionary import prompt -from colorama import Fore +import aiohttp import click from ..base import app from ..config import get_token -from .validators import Required, ClickValidator +from .validators import ClickValidator, Required def with_http(func): @@ -105,7 +106,7 @@ def command(help: str) -> Callable[[Callable], Callable]: return decorator -def yesno(val: str) -> Optional[bool]: +def yesno(val: str) -> bool | None: if not val: return None elif isinstance(val, bool): @@ -119,11 +120,20 @@ def yesno(val: str) -> Optional[bool]: yesno.__name__ = "yes/no" -def option(short: str, long: str, message: str = None, help: str = None, - click_type: Union[str, Callable[[str], Any]] = None, inq_type: str = None, - validator: Type[Validator] = None, required: bool = False, - default: Union[str, bool, None] = None, is_flag: bool = False, prompt: bool = True, - required_unless: Union[str, list, dict] = None) -> Callable[[Callable], Callable]: +def option( + short: str, + long: str, + message: str = None, + help: str = None, + click_type: str | Callable[[str], Any] = None, + inq_type: str = None, + validator: type[Validator] = None, + required: bool = False, + default: str | bool | None = None, + is_flag: bool = False, + prompt: bool = True, + required_unless: str | list | dict = None, +) -> Callable[[Callable], Callable]: if not message: message = long[2].upper() + long[3:] @@ -139,9 +149,9 @@ def option(short: str, long: str, message: str = None, help: str = None, if not hasattr(func, "__inquirer_questions__"): func.__inquirer_questions__ = {} q = { - "type": (inq_type if isinstance(inq_type, str) - else ("input" if not is_flag - else "confirm")), + "type": ( + inq_type if isinstance(inq_type, str) else ("input" if not is_flag else "confirm") + ), "name": long[2:], "message": message, } diff --git a/maubot/cli/cliq/validators.py b/maubot/cli/cliq/validators.py index 9a57914..46d3c92 100644 --- a/maubot/cli/cliq/validators.py +++ b/maubot/cli/cliq/validators.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -16,9 +16,9 @@ from typing import Callable import os -from packaging.version import Version, InvalidVersion -from prompt_toolkit.validation import Validator, ValidationError +from packaging.version import InvalidVersion, Version from prompt_toolkit.document import Document +from prompt_toolkit.validation import ValidationError, Validator import click from ..util import spdx as spdxlib diff --git a/maubot/cli/commands/__init__.py b/maubot/cli/commands/__init__.py index c535234..145646b 100644 --- a/maubot/cli/commands/__init__.py +++ b/maubot/cli/commands/__init__.py @@ -1 +1 @@ -from . import upload, build, login, init, logs, auth +from . import auth, build, init, login, logs, upload diff --git a/maubot/cli/commands/auth.py b/maubot/cli/commands/auth.py index eceb0c5..59fcb20 100644 --- a/maubot/cli/commands/auth.py +++ b/maubot/cli/commands/auth.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2021 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,8 +13,8 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -import webbrowser import json +import webbrowser from colorama import Fore from yarl import URL @@ -26,12 +26,16 @@ from ..cliq import cliq history_count: int = 10 friendly_errors = { - "server_not_found": "Registration target server not found.\n\n" - "To log in or register through maubot, you must add the server to the\n" - "homeservers section in the config. If you only want to log in,\n" - "leave the `secret` field empty.", - "registration_no_sso": "The register operation is only for registering with a password.\n\n" - "To register with SSO, simply leave out the --register flag.", + "server_not_found": ( + "Registration target server not found.\n\n" + "To log in or register through maubot, you must add the server to the\n" + "homeservers section in the config. If you only want to log in,\n" + "leave the `secret` field empty." + ), + "registration_no_sso": ( + "The register operation is only for registering with a password.\n\n" + "To register with SSO, simply leave out the --register flag." + ), } @@ -46,26 +50,58 @@ async def list_servers(server: str, sess: aiohttp.ClientSession) -> None: @cliq.command(help="Log into a Matrix account via the Maubot server") @cliq.option("-h", "--homeserver", help="The homeserver to log into", required_unless="list") -@cliq.option("-u", "--username", help="The username to log in with", - required_unless=["list", "sso"]) -@cliq.option("-p", "--password", help="The password to log in with", inq_type="password", - required_unless=["list", "sso"]) -@cliq.option("-s", "--server", help="The maubot instance to log in through", default="", - required=False, prompt=False) -@click.option("-r", "--register", help="Register instead of logging in", is_flag=True, - default=False) -@click.option("-c", "--update-client", help="Instead of returning the access token, " - "create or update a client in maubot using it", - is_flag=True, default=False) +@cliq.option( + "-u", "--username", help="The username to log in with", required_unless=["list", "sso"] +) +@cliq.option( + "-p", + "--password", + help="The password to log in with", + inq_type="password", + required_unless=["list", "sso"], +) +@cliq.option( + "-s", + "--server", + help="The maubot instance to log in through", + default="", + required=False, + prompt=False, +) +@click.option( + "-r", "--register", help="Register instead of logging in", is_flag=True, default=False +) +@click.option( + "-c", + "--update-client", + help="Instead of returning the access token, " "create or update a client in maubot using it", + is_flag=True, + default=False, +) @click.option("-l", "--list", help="List available homeservers", is_flag=True, default=False) -@click.option("-o", "--sso", help="Use single sign-on instead of password login", - is_flag=True, default=False) -@click.option("-n", "--device-name", help="The initial e2ee device displayname (only for login)", - default="Maubot", required=False) +@click.option( + "-o", "--sso", help="Use single sign-on instead of password login", is_flag=True, default=False +) +@click.option( + "-n", + "--device-name", + help="The initial e2ee device displayname (only for login)", + default="Maubot", + required=False, +) @cliq.with_authenticated_http -async def auth(homeserver: str, username: str, password: str, server: str, register: bool, - list: bool, update_client: bool, device_name: str, sso: bool, - sess: aiohttp.ClientSession) -> None: +async def auth( + homeserver: str, + username: str, + password: str, + server: str, + register: bool, + list: bool, + update_client: bool, + device_name: str, + sso: bool, + sess: aiohttp.ClientSession, +) -> None: if list: await list_servers(server, sess) return @@ -88,8 +124,9 @@ async def auth(homeserver: str, username: str, password: str, server: str, regis await print_response(resp, is_register=register) -async def wait_sso(resp: aiohttp.ClientResponse, sess: aiohttp.ClientSession, - server: str, homeserver: str) -> None: +async def wait_sso( + resp: aiohttp.ClientResponse, sess: aiohttp.ClientSession, server: str, homeserver: str +) -> None: data = await resp.json() sso_url, reg_id = data["sso_url"], data["id"] print(f"{Fore.GREEN}Opening {Fore.CYAN}{sso_url}{Fore.RESET}") @@ -110,9 +147,11 @@ async def print_response(resp: aiohttp.ClientResponse, is_register: bool) -> Non elif resp.status in (201, 202): data = await resp.json() action = "created" if resp.status == 201 else "updated" - print(f"{Fore.GREEN}Successfully {action} client for " - f"{Fore.CYAN}{data['id']}{Fore.GREEN} / " - f"{Fore.CYAN}{data['device_id']}{Fore.GREEN}.{Fore.RESET}") + print( + f"{Fore.GREEN}Successfully {action} client for " + f"{Fore.CYAN}{data['id']}{Fore.GREEN} / " + f"{Fore.CYAN}{data['device_id']}{Fore.GREEN}.{Fore.RESET}" + ) else: await print_error(resp, is_register) diff --git a/maubot/cli/commands/build.py b/maubot/cli/commands/build.py index cdc5b3a..ec3ac26 100644 --- a/maubot/cli/commands/build.py +++ b/maubot/cli/commands/build.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,26 +13,28 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import Optional, Union, IO +from __future__ import annotations + +from typing import IO from io import BytesIO -import zipfile import asyncio import glob import os +import zipfile -from ruamel.yaml import YAML, YAMLError from aiohttp import ClientSession -from questionary import prompt from colorama import Fore +from questionary import prompt +from ruamel.yaml import YAML, YAMLError import click from mautrix.types import SerializerError from ...loader import PluginMeta -from ..cliq.validators import PathValidator from ..base import app -from ..config import get_token from ..cliq import cliq +from ..cliq.validators import PathValidator +from ..config import get_token from .upload import upload_file yaml = YAML() @@ -44,7 +46,7 @@ def zipdir(zip, dir): zip.write(os.path.join(root, file)) -def read_meta(path: str) -> Optional[PluginMeta]: +def read_meta(path: str) -> PluginMeta | None: try: with open(os.path.join(path, "maubot.yaml")) as meta_file: try: @@ -65,7 +67,7 @@ def read_meta(path: str) -> Optional[PluginMeta]: return meta -def read_output_path(output: str, meta: PluginMeta) -> Optional[str]: +def read_output_path(output: str, meta: PluginMeta) -> str | None: directory = os.getcwd() filename = f"{meta.id}-v{meta.version}.mbp" if not output: @@ -73,18 +75,15 @@ def read_output_path(output: str, meta: PluginMeta) -> Optional[str]: elif os.path.isdir(output): output = os.path.join(output, filename) elif os.path.exists(output): - override = prompt({ - "type": "confirm", - "name": "override", - "message": f"{output} exists, override?" - })["override"] + q = [{"type": "confirm", "name": "override", "message": f"{output} exists, override?"}] + override = prompt(q)["override"] if not override: return None os.remove(output) return os.path.abspath(output) -def write_plugin(meta: PluginMeta, output: Union[str, IO]) -> None: +def write_plugin(meta: PluginMeta, output: str | IO) -> None: with zipfile.ZipFile(output, "w") as zip: meta_dump = BytesIO() yaml.dump(meta.serialize(), meta_dump) @@ -104,7 +103,7 @@ def write_plugin(meta: PluginMeta, output: Union[str, IO]) -> None: @cliq.with_authenticated_http -async def upload_plugin(output: Union[str, IO], *, server: str, sess: ClientSession) -> None: +async def upload_plugin(output: str | IO, *, server: str, sess: ClientSession) -> None: server, token = get_token(server) if not token: return @@ -115,14 +114,20 @@ async def upload_plugin(output: Union[str, IO], *, server: str, sess: ClientSess await upload_file(sess, output, server) -@app.command(short_help="Build a maubot plugin", - help="Build a maubot plugin. First parameter is the path to root of the plugin " - "to build. You can also use --output to specify output file.") +@app.command( + short_help="Build a maubot plugin", + help=( + "Build a maubot plugin. First parameter is the path to root of the plugin " + "to build. You can also use --output to specify output file." + ), +) @click.argument("path", default=os.getcwd()) -@click.option("-o", "--output", help="Path to output built plugin to", - type=PathValidator.click_type) -@click.option("-u", "--upload", help="Upload plugin to server after building", is_flag=True, - default=False) +@click.option( + "-o", "--output", help="Path to output built plugin to", type=PathValidator.click_type +) +@click.option( + "-u", "--upload", help="Upload plugin to server after building", is_flag=True, default=False +) @click.option("-s", "--server", help="Server to upload built plugin to") def build(path: str, output: str, upload: bool, server: str) -> None: meta = read_meta(path) diff --git a/maubot/cli/commands/init.py b/maubot/cli/commands/init.py index 7372a2d..d24def9 100644 --- a/maubot/cli/commands/init.py +++ b/maubot/cli/commands/init.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,11 +13,11 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from pkg_resources import resource_string import os -from packaging.version import Version from jinja2 import Template +from packaging.version import Version +from pkg_resources import resource_string from .. import cliq from ..cliq import SPDXValidator, VersionValidator @@ -40,26 +40,55 @@ def load_templates(): @cliq.command(help="Initialize a new maubot plugin") -@cliq.option("-n", "--name", help="The name of the project", required=True, - default=os.path.basename(os.getcwd())) -@cliq.option("-i", "--id", message="ID", required=True, - help="The maubot plugin ID (Java package name format)") -@cliq.option("-v", "--version", help="Initial version for project (PEP-440 format)", - default="0.1.0", validator=VersionValidator, required=True) -@cliq.option("-l", "--license", validator=SPDXValidator, default="AGPL-3.0-or-later", - help="The license for the project (SPDX identifier)", required=False) -@cliq.option("-c", "--config", message="Should the plugin include a config?", - help="Include a config in the plugin stub", default=False, is_flag=True) +@cliq.option( + "-n", + "--name", + help="The name of the project", + required=True, + default=os.path.basename(os.getcwd()), +) +@cliq.option( + "-i", + "--id", + message="ID", + required=True, + help="The maubot plugin ID (Java package name format)", +) +@cliq.option( + "-v", + "--version", + help="Initial version for project (PEP-440 format)", + default="0.1.0", + validator=VersionValidator, + required=True, +) +@cliq.option( + "-l", + "--license", + validator=SPDXValidator, + default="AGPL-3.0-or-later", + help="The license for the project (SPDX identifier)", + required=False, +) +@cliq.option( + "-c", + "--config", + message="Should the plugin include a config?", + help="Include a config in the plugin stub", + default=False, + is_flag=True, +) def init(name: str, id: str, version: Version, license: str, config: bool) -> None: load_templates() main_class = name[0].upper() + name[1:] - meta = meta_template.render(id=id, version=str(version), license=license, config=config, - main_class=main_class) + meta = meta_template.render( + id=id, version=str(version), license=license, config=config, main_class=main_class + ) with open("maubot.yaml", "w") as file: file.write(meta) if license: with open("LICENSE", "w") as file: - file.write(spdx.get(license)["text"]) + file.write(spdx.get(license)["licenseText"]) if not os.path.isdir(name): os.mkdir(name) mod = mod_template.render(config=config, name=main_class) diff --git a/maubot/cli/commands/login.py b/maubot/cli/commands/login.py index 554dd2d..8aac0f5 100644 --- a/maubot/cli/commands/login.py +++ b/maubot/cli/commands/login.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2021 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -20,17 +20,39 @@ from colorama import Fore from yarl import URL import aiohttp -from ..config import save_config, config from ..cliq import cliq +from ..config import config, save_config @cliq.command(help="Log in to a Maubot instance") -@cliq.option("-u", "--username", help="The username of your account", default=os.environ.get("USER", None), required=True) -@cliq.option("-p", "--password", help="The password to your account", inq_type="password", required=True) -@cliq.option("-s", "--server", help="The server to log in to", default="http://localhost:29316", required=True) -@cliq.option("-a", "--alias", help="Alias to reference the server without typing the full URL", default="", required=False) +@cliq.option( + "-u", + "--username", + help="The username of your account", + default=os.environ.get("USER", None), + required=True, +) +@cliq.option( + "-p", "--password", help="The password to your account", inq_type="password", required=True +) +@cliq.option( + "-s", + "--server", + help="The server to log in to", + default="http://localhost:29316", + required=True, +) +@cliq.option( + "-a", + "--alias", + help="Alias to reference the server without typing the full URL", + default="", + required=False, +) @cliq.with_http -async def login(server: str, username: str, password: str, alias: str, sess: aiohttp.ClientSession) -> None: +async def login( + server: str, username: str, password: str, alias: str, sess: aiohttp.ClientSession +) -> None: data = { "username": username, "password": password, diff --git a/maubot/cli/commands/logs.py b/maubot/cli/commands/logs.py index 8d0a578..98879ee 100644 --- a/maubot/cli/commands/logs.py +++ b/maubot/cli/commands/logs.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -16,14 +16,14 @@ from datetime import datetime import asyncio +from aiohttp import ClientSession, WSMessage, WSMsgType from colorama import Fore -from aiohttp import WSMsgType, WSMessage, ClientSession import click from mautrix.types import Obj -from ..config import get_token from ..base import app +from ..config import get_token history_count: int = 10 @@ -50,7 +50,7 @@ def logs(server: str, tail: int) -> None: def parsedate(entry: Obj) -> None: i = entry.time.index("+") i = entry.time.index(":", i) - entry.time = entry.time[:i] + entry.time[i + 1:] + entry.time = entry.time[:i] + entry.time[i + 1 :] entry.time = datetime.strptime(entry.time, "%Y-%m-%dT%H:%M:%S.%f%z") @@ -66,13 +66,16 @@ levelcolors = { def print_entry(entry: dict) -> None: entry = Obj(**entry) parsedate(entry) - print("{levelcolor}[{date}] [{level}@{logger}] {message}{resetcolor}" - .format(date=entry.time.strftime("%Y-%m-%d %H:%M:%S"), - level=entry.levelname, - levelcolor=levelcolors.get(entry.levelname, ""), - resetcolor=Fore.RESET, - logger=entry.name, - message=entry.msg)) + print( + "{levelcolor}[{date}] [{level}@{logger}] {message}{resetcolor}".format( + date=entry.time.strftime("%Y-%m-%d %H:%M:%S"), + level=entry.levelname, + levelcolor=levelcolors.get(entry.levelname, ""), + resetcolor=Fore.RESET, + logger=entry.name, + message=entry.msg, + ) + ) if entry.exc_info: print(entry.exc_info) diff --git a/maubot/cli/commands/upload.py b/maubot/cli/commands/upload.py index 67a1e30..3c2cf1e 100644 --- a/maubot/cli/commands/upload.py +++ b/maubot/cli/commands/upload.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2021 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -43,8 +43,10 @@ async def upload_file(sess: aiohttp.ClientSession, file: IO, server: str) -> Non async with sess.post(url, data=file, headers=headers) as resp: if resp.status in (200, 201): data = await resp.json() - print(f"{Fore.GREEN}Plugin {Fore.CYAN}{data['id']} v{data['version']}{Fore.GREEN} " - f"uploaded to {Fore.CYAN}{server}{Fore.GREEN} successfully.{Fore.RESET}") + print( + f"{Fore.GREEN}Plugin {Fore.CYAN}{data['id']} v{data['version']}{Fore.GREEN} " + f"uploaded to {Fore.CYAN}{server}{Fore.GREEN} successfully.{Fore.RESET}" + ) else: try: err = await resp.json() diff --git a/maubot/cli/config.py b/maubot/cli/config.py index 550c326..a1adc2f 100644 --- a/maubot/cli/config.py +++ b/maubot/cli/config.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,13 +13,15 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import Tuple, Optional, Dict, Any +from __future__ import annotations + +from typing import Any import json import os from colorama import Fore -config: Dict[str, Any] = { +config: dict[str, Any] = { "servers": {}, "aliases": {}, "default_server": None, @@ -27,9 +29,9 @@ config: Dict[str, Any] = { configdir = os.environ.get("XDG_CONFIG_HOME", os.path.join(os.environ.get("HOME"), ".config")) -def get_default_server() -> Tuple[Optional[str], Optional[str]]: +def get_default_server() -> tuple[str | None, str | None]: try: - server: Optional[str] = config["default_server"] + server: str < None = config["default_server"] except KeyError: server = None if server is None: @@ -38,7 +40,7 @@ def get_default_server() -> Tuple[Optional[str], Optional[str]]: return server, _get_token(server) -def get_token(server: str) -> Tuple[Optional[str], Optional[str]]: +def get_token(server: str) -> tuple[str | None, str | None]: if not server: return get_default_server() if server in config["aliases"]: @@ -46,14 +48,14 @@ def get_token(server: str) -> Tuple[Optional[str], Optional[str]]: return server, _get_token(server) -def _resolve_alias(alias: str) -> Optional[str]: +def _resolve_alias(alias: str) -> str | None: try: return config["aliases"][alias] except KeyError: return None -def _get_token(server: str) -> Optional[str]: +def _get_token(server: str) -> str | None: try: return config["servers"][server] except KeyError: diff --git a/maubot/cli/res/spdx.json.zip b/maubot/cli/res/spdx.json.zip index 4cd4701d8eac8489f756ff5383db7cbc5991b4d4..98de1b0d9c97911c30c13cef56bb07a1e10a9bc2 100644 GIT binary patch literal 698204 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
BfNJ=m2=q!?90qIJ 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

}HD$lQ^y`&3t|8ok0Q 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ℑc(WwUU~8|ChA- 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

yY6>DyCf6m00WALD2mo3pv`VbM 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%0DvJt7NlM-iLQ_e?NB$>kJ}4{J}l~@mW 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�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

)&y%A~m6_f_ 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∾=d-c{Ei{Ia?^uIJ!cT?DZlzKI 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⁣>(sCA&Vz5fOci}&BW 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�rv$7gT3QMZy~9MdQoq2C&vJHu_H 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

T5i2N@XNz8d~mPl|RIO*F8 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 M5%cMIf%tIci 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≈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

=4 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

7@b^tEB6R*4Oa;@ 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%0DEmS+*f`7y|xWHTi?uHT%K@% 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. -from typing import Dict, Optional -import zipfile -import pkg_resources -import json +from __future__ import annotations -spdx_list: Optional[Dict[str, Dict[str, str]]] = None +import json +import zipfile + +import pkg_resources + +spdx_list: dict[str, dict[str, str]] | None = None def load() -> None: @@ -31,7 +33,7 @@ def load() -> None: spdx_list = json.load(file) -def get(id: str) -> Dict[str, str]: +def get(id: str) -> dict[str, str]: if not spdx_list: load() return spdx_list[id.lower()] diff --git a/maubot/client.py b/maubot/client.py index 0ebbaf7..fa6c851 100644 --- a/maubot/client.py +++ b/maubot/client.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2021 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,32 +13,46 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import Dict, Iterable, Optional, Set, Callable, Any, Awaitable, Union, TYPE_CHECKING +from __future__ import annotations + +from typing import TYPE_CHECKING, Any, Awaitable, Callable, Iterable import asyncio import logging from aiohttp import ClientSession -from mautrix.errors import MatrixInvalidToken -from mautrix.types import (UserID, SyncToken, FilterID, ContentURI, StrippedStateEvent, Membership, - StateEvent, EventType, Filter, RoomFilter, RoomEventFilter, EventFilter, - PresenceState, StateFilter, DeviceID) from mautrix.client import InternalEventType from mautrix.client.state_store.sqlalchemy import SQLStateStore as BaseSQLStateStore +from mautrix.errors import MatrixInvalidToken +from mautrix.types import ( + ContentURI, + DeviceID, + EventFilter, + EventType, + Filter, + FilterID, + Membership, + PresenceState, + RoomEventFilter, + RoomFilter, + StateEvent, + StateFilter, + StrippedStateEvent, + SyncToken, + UserID, +) -from .lib.store_proxy import SyncStoreProxy from .db import DBClient +from .lib.store_proxy import SyncStoreProxy from .matrix import MaubotMatrixClient try: - from mautrix.crypto import OlmMachine, StateStore as CryptoStateStore, PgCryptoStore + from mautrix.crypto import OlmMachine, PgCryptoStore, StateStore as CryptoStateStore from mautrix.util.async_db import Database as AsyncDatabase - class SQLStateStore(BaseSQLStateStore, CryptoStateStore): pass - crypto_import_error = None except ImportError as e: OlmMachine = CryptoStateStore = PgCryptoStore = AsyncDatabase = None @@ -46,8 +60,8 @@ except ImportError as e: crypto_import_error = e if TYPE_CHECKING: - from .instance import PluginInstance from .config import Config + from .instance import PluginInstance log = logging.getLogger("maubot.client") @@ -55,20 +69,20 @@ log = logging.getLogger("maubot.client") class Client: log: logging.Logger = None loop: asyncio.AbstractEventLoop = None - cache: Dict[UserID, 'Client'] = {} + cache: dict[UserID, Client] = {} http_client: ClientSession = None - global_state_store: Union['BaseSQLStateStore', 'CryptoStateStore'] = SQLStateStore() - crypto_db: Optional['AsyncDatabase'] = None + global_state_store: BaseSQLStateStore | CryptoStateStore = SQLStateStore() + crypto_db: AsyncDatabase | None = None - references: Set['PluginInstance'] + references: set[PluginInstance] db_instance: DBClient client: MaubotMatrixClient - crypto: Optional['OlmMachine'] - crypto_store: Optional['PgCryptoStore'] + crypto: OlmMachine | None + crypto_store: PgCryptoStore | None started: bool - remote_displayname: Optional[str] - remote_avatar_url: Optional[ContentURI] + remote_displayname: str | None + remote_avatar_url: ContentURI | None def __init__(self, db_instance: DBClient) -> None: self.db_instance = db_instance @@ -79,11 +93,17 @@ class Client: self.sync_ok = True self.remote_displayname = None self.remote_avatar_url = None - self.client = MaubotMatrixClient(mxid=self.id, base_url=self.homeserver, - token=self.access_token, client_session=self.http_client, - log=self.log, loop=self.loop, device_id=self.device_id, - sync_store=SyncStoreProxy(self.db_instance), - state_store=self.global_state_store) + self.client = MaubotMatrixClient( + mxid=self.id, + base_url=self.homeserver, + token=self.access_token, + client_session=self.http_client, + log=self.log, + loop=self.loop, + device_id=self.device_id, + sync_store=SyncStoreProxy(self.db_instance), + state_store=self.global_state_store, + ) if self.enable_crypto: self._prepare_crypto() else: @@ -104,8 +124,10 @@ class Client: return False elif not OlmMachine: global crypto_import_error - self.log.warning("Client has device ID, but encryption dependencies not installed", - exc_info=crypto_import_error) + self.log.warning( + "Client has device ID, but encryption dependencies not installed", + exc_info=crypto_import_error, + ) # Clear the stack trace after it's logged once to avoid spamming logs crypto_import_error = None return False @@ -115,8 +137,9 @@ class Client: return True def _prepare_crypto(self) -> None: - self.crypto_store = PgCryptoStore(account_id=self.id, pickle_key="mau.crypto", - db=self.crypto_db) + self.crypto_store = PgCryptoStore( + account_id=self.id, pickle_key="mau.crypto", db=self.crypto_db + ) self.crypto = OlmMachine(self.client, self.crypto_store, self.global_state_store) self.client.crypto = self.crypto @@ -133,13 +156,13 @@ class Client: for event_type, func in handlers: self.client.remove_event_handler(event_type, func) - def _set_sync_ok(self, ok: bool) -> Callable[[Dict[str, Any]], Awaitable[None]]: - async def handler(data: Dict[str, Any]) -> None: + def _set_sync_ok(self, ok: bool) -> Callable[[dict[str, Any]], Awaitable[None]]: + async def handler(data: dict[str, Any]) -> None: self.sync_ok = ok return handler - async def start(self, try_n: Optional[int] = 0) -> None: + async def start(self, try_n: int | None = 0) -> None: try: if try_n > 0: await asyncio.sleep(try_n * 10) @@ -152,15 +175,16 @@ class Client: await self.crypto_store.open() crypto_device_id = await self.crypto_store.get_device_id() if crypto_device_id and crypto_device_id != self.device_id: - self.log.warning("Mismatching device ID in crypto store and main database, " - "resetting encryption") + self.log.warning( + "Mismatching device ID in crypto store and main database, " "resetting encryption" + ) await self.crypto_store.delete() crypto_device_id = None await self.crypto.load() if not crypto_device_id: await self.crypto_store.put_device_id(self.device_id) - async def _start(self, try_n: Optional[int] = 0) -> None: + async def _start(self, try_n: int | None = 0) -> None: if not self.enabled: self.log.debug("Not starting disabled client") return @@ -179,8 +203,9 @@ class Client: self.log.exception("Failed to get /account/whoami, disabling client") self.db_instance.enabled = False else: - self.log.warning(f"Failed to get /account/whoami, " - f"retrying in {(try_n + 1) * 10}s: {e}") + self.log.warning( + f"Failed to get /account/whoami, " f"retrying in {(try_n + 1) * 10}s: {e}" + ) _ = asyncio.ensure_future(self.start(try_n + 1), loop=self.loop) return if whoami.user_id != self.id: @@ -188,25 +213,30 @@ class Client: self.db_instance.enabled = False return elif whoami.device_id and self.device_id and whoami.device_id != self.device_id: - self.log.error(f"Device ID mismatch: expected {self.device_id}, " - f"but got {whoami.device_id}") + self.log.error( + f"Device ID mismatch: expected {self.device_id}, " f"but got {whoami.device_id}" + ) self.db_instance.enabled = False return if not self.filter_id: - self.db_instance.edit(filter_id=await self.client.create_filter(Filter( - room=RoomFilter( - timeline=RoomEventFilter( - limit=50, - lazy_load_members=True, - ), - state=StateFilter( - lazy_load_members=True, + self.db_instance.edit( + filter_id=await self.client.create_filter( + Filter( + room=RoomFilter( + timeline=RoomEventFilter( + limit=50, + lazy_load_members=True, + ), + state=StateFilter( + lazy_load_members=True, + ), + ), + presence=EventFilter( + not_types=[EventType.PRESENCE], + ), ) - ), - presence=EventFilter( - not_types=[EventType.PRESENCE], - ), - ))) + ) + ) if self.displayname != "disable": await self.client.set_displayname(self.displayname) if self.avatar_url != "disable": @@ -258,8 +288,9 @@ class Client: "homeserver": self.homeserver, "access_token": self.access_token, "device_id": self.device_id, - "fingerprint": (self.crypto.account.fingerprint if self.crypto and self.crypto.account - else None), + "fingerprint": ( + self.crypto.account.fingerprint if self.crypto and self.crypto.account else None + ), "enabled": self.enabled, "started": self.started, "sync": self.sync, @@ -274,7 +305,7 @@ class Client: } @classmethod - def get(cls, user_id: UserID, db_instance: Optional[DBClient] = None) -> Optional['Client']: + def get(cls, user_id: UserID, db_instance: DBClient | None = None) -> Client | None: try: return cls.cache[user_id] except KeyError: @@ -284,7 +315,7 @@ class Client: return Client(db_instance) @classmethod - def all(cls) -> Iterable['Client']: + def all(cls) -> Iterable[Client]: return (cls.get(user.id, user) for user in DBClient.all()) async def _handle_tombstone(self, evt: StateEvent) -> None: @@ -324,8 +355,12 @@ class Client: else: await self._update_remote_profile() - async def update_access_details(self, access_token: Optional[str], homeserver: Optional[str], - device_id: Optional[str] = None) -> None: + async def update_access_details( + self, + access_token: str | None, + homeserver: str | None, + device_id: str | None = None, + ) -> None: if not access_token and not homeserver: return if device_id is None: @@ -338,10 +373,16 @@ class Client: and device_id == self.device_id ): return - new_client = MaubotMatrixClient(mxid=self.id, base_url=homeserver or self.homeserver, - token=access_token or self.access_token, loop=self.loop, - device_id=device_id, client_session=self.http_client, - log=self.log, state_store=self.global_state_store) + new_client = MaubotMatrixClient( + mxid=self.id, + base_url=homeserver or self.homeserver, + token=access_token or self.access_token, + loop=self.loop, + device_id=device_id, + client_session=self.http_client, + log=self.log, + state_store=self.global_state_store, + ) whoami = await new_client.whoami() if whoami.user_id != self.id: raise ValueError(f"MXID mismatch: {whoami.user_id}") @@ -455,7 +496,7 @@ class Client: # endregion -def init(config: 'Config', loop: asyncio.AbstractEventLoop) -> Iterable[Client]: +def init(config: "Config", loop: asyncio.AbstractEventLoop) -> Iterable[Client]: Client.http_client = ClientSession(loop=loop) Client.loop = loop diff --git a/maubot/config.py b/maubot/config.py index 92f5aa9..c817ccc 100644 --- a/maubot/config.py +++ b/maubot/config.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -14,9 +14,10 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . import random -import string -import bcrypt import re +import string + +import bcrypt from mautrix.util.config import BaseFileConfig, ConfigUpdateHelper @@ -64,8 +65,9 @@ class Config(BaseFileConfig): if password and not bcrypt_regex.match(password): if password == "password": password = self._new_token() - base["admins"][username] = bcrypt.hashpw(password.encode("utf-8"), - bcrypt.gensalt()).decode("utf-8") + base["admins"][username] = bcrypt.hashpw( + password.encode("utf-8"), bcrypt.gensalt() + ).decode("utf-8") copy("api_features.login") copy("api_features.plugin") copy("api_features.plugin_upload") diff --git a/maubot/db.py b/maubot/db.py index 3817882..9f388d3 100644 --- a/maubot/db.py +++ b/maubot/db.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -17,13 +17,13 @@ from typing import Iterable, Optional import logging import sys -from sqlalchemy import Column, String, Boolean, ForeignKey, Text +from sqlalchemy import Boolean, Column, ForeignKey, String, Text from sqlalchemy.engine.base import Engine import sqlalchemy as sql -from mautrix.types import UserID, FilterID, DeviceID, SyncToken, ContentURI -from mautrix.util.db import Base from mautrix.client.state_store.sqlalchemy import RoomState, UserProfile +from mautrix.types import ContentURI, DeviceID, FilterID, SyncToken, UserID +from mautrix.util.db import Base from .config import Config @@ -34,17 +34,19 @@ class DBPlugin(Base): id: str = Column(String(255), primary_key=True) type: str = Column(String(255), nullable=False) enabled: bool = Column(Boolean, nullable=False, default=False) - primary_user: UserID = Column(String(255), - ForeignKey("client.id", onupdate="CASCADE", ondelete="RESTRICT"), - nullable=False) - config: str = Column(Text, nullable=False, default='') + primary_user: UserID = Column( + String(255), + ForeignKey("client.id", onupdate="CASCADE", ondelete="RESTRICT"), + nullable=False, + ) + config: str = Column(Text, nullable=False, default="") @classmethod - def all(cls) -> Iterable['DBPlugin']: + def all(cls) -> Iterable["DBPlugin"]: return cls._select_all() @classmethod - def get(cls, id: str) -> Optional['DBPlugin']: + def get(cls, id: str) -> Optional["DBPlugin"]: return cls._select_one_or_none(cls.c.id == id) @@ -68,11 +70,11 @@ class DBClient(Base): avatar_url: ContentURI = Column(String(255), nullable=False, default="") @classmethod - def all(cls) -> Iterable['DBClient']: + def all(cls) -> Iterable["DBClient"]: return cls._select_all() @classmethod - def get(cls, id: str) -> Optional['DBClient']: + def get(cls, id: str) -> Optional["DBClient"]: return cls._select_one_or_none(cls.c.id == id) @@ -87,15 +89,20 @@ def init(config: Config) -> Engine: log = logging.getLogger("maubot.db") if db.has_table("client") and db.has_table("plugin"): - log.warning("alembic_version table not found, but client and plugin tables found. " - "Assuming pre-Alembic database and inserting version.") - db.execute("CREATE TABLE IF NOT EXISTS alembic_version (" - " version_num VARCHAR(32) PRIMARY KEY" - ");") + log.warning( + "alembic_version table not found, but client and plugin tables found. " + "Assuming pre-Alembic database and inserting version." + ) + db.execute( + "CREATE TABLE IF NOT EXISTS alembic_version (" + " version_num VARCHAR(32) PRIMARY KEY" + ");" + ) db.execute("INSERT INTO alembic_version VALUES ('d295f8dcfa64');") else: - log.critical("alembic_version table not found. " - "Did you forget to `alembic upgrade head`?") + log.critical( + "alembic_version table not found. " "Did you forget to `alembic upgrade head`?" + ) sys.exit(10) return db diff --git a/maubot/handlers/__init__.py b/maubot/handlers/__init__.py index 1d9da7e..e8567a2 100644 --- a/maubot/handlers/__init__.py +++ b/maubot/handlers/__init__.py @@ -1 +1 @@ -from . import event, command, web +from . import command, event, web diff --git a/maubot/handlers/command.py b/maubot/handlers/command.py index 37f8174..495bc27 100644 --- a/maubot/handlers/command.py +++ b/maubot/handlers/command.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,29 +13,46 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import (Union, Callable, Sequence, Pattern, Awaitable, NewType, Optional, Any, List, - Dict, Tuple, Set, Iterable) +from typing import ( + Any, + Awaitable, + Callable, + Dict, + Iterable, + List, + NewType, + Optional, + Pattern, + Sequence, + Set, + Tuple, + Union, +) from abc import ABC, abstractmethod import asyncio import functools import inspect import re -from mautrix.types import MessageType, EventType +from mautrix.types import EventType, MessageType from ..matrix import MaubotMessageEvent from . import event PrefixType = Optional[Union[str, Callable[[], str], Callable[[Any], str]]] -AliasesType = Union[List[str], Tuple[str, ...], Set[str], Callable[[str], bool], - Callable[[Any, str], bool]] -CommandHandlerFunc = NewType("CommandHandlerFunc", - Callable[[MaubotMessageEvent, Any], Awaitable[Any]]) -CommandHandlerDecorator = NewType("CommandHandlerDecorator", - Callable[[Union['CommandHandler', CommandHandlerFunc]], - 'CommandHandler']) -PassiveCommandHandlerDecorator = NewType("PassiveCommandHandlerDecorator", - Callable[[CommandHandlerFunc], CommandHandlerFunc]) +AliasesType = Union[ + List[str], Tuple[str, ...], Set[str], Callable[[str], bool], Callable[[Any, str], bool] +] +CommandHandlerFunc = NewType( + "CommandHandlerFunc", Callable[[MaubotMessageEvent, Any], Awaitable[Any]] +) +CommandHandlerDecorator = NewType( + "CommandHandlerDecorator", + Callable[[Union["CommandHandler", CommandHandlerFunc]], "CommandHandler"], +) +PassiveCommandHandlerDecorator = NewType( + "PassiveCommandHandlerDecorator", Callable[[CommandHandlerFunc], CommandHandlerFunc] +) def _split_in_two(val: str, split_by: str) -> List[str]: @@ -67,15 +84,26 @@ class CommandHandler: return self.__bound_copies__[instance] except KeyError: new_ch = type(self)(self.__mb_func__) - keys = ["parent", "subcommands", "arguments", "help", "get_name", "is_command_match", - "require_subcommand", "arg_fallthrough", "event_handler", "event_type", - "msgtypes"] + keys = [ + "parent", + "subcommands", + "arguments", + "help", + "get_name", + "is_command_match", + "require_subcommand", + "arg_fallthrough", + "event_handler", + "event_type", + "msgtypes", + ] for key in keys: key = f"__mb_{key}__" setattr(new_ch, key, getattr(self, key)) new_ch.__bound_instance__ = instance - new_ch.__mb_subcommands__ = [subcmd.__get__(instance, instancetype) - for subcmd in self.__mb_subcommands__] + new_ch.__mb_subcommands__ = [ + subcmd.__get__(instance, instancetype) for subcmd in self.__mb_subcommands__ + ] self.__bound_copies__[instance] = new_ch return new_ch @@ -83,8 +111,13 @@ class CommandHandler: def __command_match_unset(self, val: str) -> bool: raise NotImplementedError("Hmm") - async def __call__(self, evt: MaubotMessageEvent, *, _existing_args: Dict[str, Any] = None, - remaining_val: str = None) -> Any: + async def __call__( + self, + evt: MaubotMessageEvent, + *, + _existing_args: Dict[str, Any] = None, + remaining_val: str = None, + ) -> Any: if evt.sender == evt.client.mxid or evt.content.msgtype not in self.__mb_msgtypes__: return if remaining_val is None: @@ -120,21 +153,25 @@ class CommandHandler: return await self.__mb_func__(self.__bound_instance__, evt, **call_args) return await self.__mb_func__(evt, **call_args) - async def __call_subcommand__(self, evt: MaubotMessageEvent, call_args: Dict[str, Any], - remaining_val: str) -> Tuple[bool, Any]: + async def __call_subcommand__( + self, evt: MaubotMessageEvent, call_args: Dict[str, Any], remaining_val: str + ) -> Tuple[bool, Any]: command, remaining_val = _split_in_two(remaining_val.strip(), " ") for subcommand in self.__mb_subcommands__: if subcommand.__mb_is_command_match__(subcommand.__bound_instance__, command): - return True, await subcommand(evt, _existing_args=call_args, - remaining_val=remaining_val) + return True, await subcommand( + evt, _existing_args=call_args, remaining_val=remaining_val + ) return False, None - async def __parse_args__(self, evt: MaubotMessageEvent, call_args: Dict[str, Any], - remaining_val: str) -> Tuple[bool, str]: + async def __parse_args__( + self, evt: MaubotMessageEvent, call_args: Dict[str, Any], remaining_val: str + ) -> Tuple[bool, str]: for arg in self.__mb_arguments__: try: - remaining_val, call_args[arg.name] = arg.match(remaining_val.strip(), evt=evt, - instance=self.__bound_instance__) + remaining_val, call_args[arg.name] = arg.match( + remaining_val.strip(), evt=evt, instance=self.__bound_instance__ + ) if arg.required and call_args[arg.name] is None: raise ValueError("Argument required") except ArgumentSyntaxError as e: @@ -155,8 +192,9 @@ class CommandHandler: @property def __mb_usage_args__(self) -> str: - arg_usage = " ".join(f"<{arg.label}>" if arg.required else f"[{arg.label}]" - for arg in self.__mb_arguments__) + arg_usage = " ".join( + f"<{arg.label}>" if arg.required else f"[{arg.label}]" for arg in self.__mb_arguments__ + ) if self.__mb_subcommands__ and self.__mb_arg_fallthrough__: arg_usage += " " + self.__mb_usage_subcommand__ return arg_usage @@ -172,15 +210,19 @@ class CommandHandler: @property def __mb_prefix__(self) -> str: if self.__mb_parent__: - return (f"!{self.__mb_parent__.__mb_get_name__(self.__bound_instance__)} " - f"{self.__mb_name__}") + return ( + f"!{self.__mb_parent__.__mb_get_name__(self.__bound_instance__)} " + f"{self.__mb_name__}" + ) return f"!{self.__mb_name__}" @property def __mb_usage_inline__(self) -> str: if not self.__mb_arg_fallthrough__: - return (f"* {self.__mb_name__} {self.__mb_usage_args__} - {self.__mb_help__}\n" - f"* {self.__mb_name__} {self.__mb_usage_subcommand__}") + return ( + f"* {self.__mb_name__} {self.__mb_usage_args__} - {self.__mb_help__}\n" + f"* {self.__mb_name__} {self.__mb_usage_subcommand__}" + ) return f"* {self.__mb_name__} {self.__mb_usage_args__} - {self.__mb_help__}" @property @@ -192,8 +234,10 @@ class CommandHandler: if not self.__mb_arg_fallthrough__: if not self.__mb_arguments__: return f"**Usage:** {self.__mb_prefix__} [subcommand] [...]" - return (f"**Usage:** {self.__mb_prefix__} {self.__mb_usage_args__}" - f" _OR_ {self.__mb_prefix__} {self.__mb_usage_subcommand__}") + return ( + f"**Usage:** {self.__mb_prefix__} {self.__mb_usage_args__}" + f" _OR_ {self.__mb_prefix__} {self.__mb_usage_subcommand__}" + ) return f"**Usage:** {self.__mb_prefix__} {self.__mb_usage_args__}" @property @@ -202,14 +246,25 @@ class CommandHandler: return f"{self.__mb_usage_without_subcommands__} \n{self.__mb_subcommands_list__}" return self.__mb_usage_without_subcommands__ - def subcommand(self, name: PrefixType = None, *, help: str = None, aliases: AliasesType = None, - required_subcommand: bool = True, arg_fallthrough: bool = True, - ) -> CommandHandlerDecorator: + def subcommand( + self, + name: PrefixType = None, + *, + help: str = None, + aliases: AliasesType = None, + required_subcommand: bool = True, + arg_fallthrough: bool = True, + ) -> CommandHandlerDecorator: def decorator(func: Union[CommandHandler, CommandHandlerFunc]) -> CommandHandler: if not isinstance(func, CommandHandler): func = CommandHandler(func) - new(name, help=help, aliases=aliases, require_subcommand=required_subcommand, - arg_fallthrough=arg_fallthrough)(func) + new( + name, + help=help, + aliases=aliases, + require_subcommand=required_subcommand, + arg_fallthrough=arg_fallthrough, + )(func) func.__mb_parent__ = self func.__mb_event_handler__ = False self.__mb_subcommands__.append(func) @@ -218,10 +273,17 @@ class CommandHandler: return decorator -def new(name: PrefixType = None, *, help: str = None, aliases: AliasesType = None, - event_type: EventType = EventType.ROOM_MESSAGE, msgtypes: Iterable[MessageType] = None, - require_subcommand: bool = True, arg_fallthrough: bool = True, - must_consume_args: bool = True) -> CommandHandlerDecorator: +def new( + name: PrefixType = None, + *, + help: str = None, + aliases: AliasesType = None, + event_type: EventType = EventType.ROOM_MESSAGE, + msgtypes: Iterable[MessageType] = None, + require_subcommand: bool = True, + arg_fallthrough: bool = True, + must_consume_args: bool = True, +) -> CommandHandlerDecorator: def decorator(func: Union[CommandHandler, CommandHandlerFunc]) -> CommandHandler: if not isinstance(func, CommandHandler): func = CommandHandler(func) @@ -242,8 +304,9 @@ def new(name: PrefixType = None, *, help: str = None, aliases: AliasesType = Non else: func.__mb_is_command_match__ = aliases elif isinstance(aliases, (list, set, tuple)): - func.__mb_is_command_match__ = lambda self, val: (val == func.__mb_get_name__(self) - or val in aliases) + func.__mb_is_command_match__ = lambda self, val: ( + val == func.__mb_get_name__(self) or val in aliases + ) else: func.__mb_is_command_match__ = lambda self, val: val == func.__mb_get_name__(self) # Decorators are executed last to first, so we reverse the argument list. @@ -267,8 +330,9 @@ class ArgumentSyntaxError(ValueError): class Argument(ABC): - def __init__(self, name: str, label: str = None, *, required: bool = False, - pass_raw: bool = False) -> None: + def __init__( + self, name: str, label: str = None, *, required: bool = False, pass_raw: bool = False + ) -> None: self.name = name self.label = label or name self.required = required @@ -286,8 +350,15 @@ class Argument(ABC): class RegexArgument(Argument): - def __init__(self, name: str, label: str = None, *, required: bool = False, - pass_raw: bool = False, matches: str = None) -> None: + def __init__( + self, + name: str, + label: str = None, + *, + required: bool = False, + pass_raw: bool = False, + matches: str = None, + ) -> None: super().__init__(name, label, required=required, pass_raw=pass_raw) matches = f"^{matches}" if self.pass_raw else f"^{matches}$" self.regex = re.compile(matches) @@ -298,14 +369,23 @@ class RegexArgument(Argument): val = re.split(r"\s", val, 1)[0] match = self.regex.match(val) if match: - return (orig_val[:match.start()] + orig_val[match.end():], - match.groups() or val[match.start():match.end()]) + return ( + orig_val[: match.start()] + orig_val[match.end() :], + match.groups() or val[match.start() : match.end()], + ) return orig_val, None class CustomArgument(Argument): - def __init__(self, name: str, label: str = None, *, required: bool = False, - pass_raw: bool = False, matcher: Callable[[str], Any]) -> None: + def __init__( + self, + name: str, + label: str = None, + *, + required: bool = False, + pass_raw: bool = False, + matcher: Callable[[str], Any], + ) -> None: super().__init__(name, label, required=required, pass_raw=pass_raw) self.matcher = matcher @@ -316,7 +396,7 @@ class CustomArgument(Argument): val = re.split(r"\s", val, 1)[0] res = self.matcher(val) if res is not None: - return orig_val[len(val):], res + return orig_val[len(val) :], res return orig_val, None @@ -325,12 +405,18 @@ class SimpleArgument(Argument): if self.pass_raw: return "", val res = re.split(r"\s", val, 1)[0] - return val[len(res):], res + return val[len(res) :], res -def argument(name: str, label: str = None, *, required: bool = True, matches: Optional[str] = None, - parser: Optional[Callable[[str], Any]] = None, pass_raw: bool = False - ) -> CommandHandlerDecorator: +def argument( + name: str, + label: str = None, + *, + required: bool = True, + matches: Optional[str] = None, + parser: Optional[Callable[[str], Any]] = None, + pass_raw: bool = False, +) -> CommandHandlerDecorator: if matches: return RegexArgument(name, label, required=required, matches=matches, pass_raw=pass_raw) elif parser: @@ -339,11 +425,17 @@ def argument(name: str, label: str = None, *, required: bool = True, matches: Op return SimpleArgument(name, label, required=required, pass_raw=pass_raw) -def passive(regex: Union[str, Pattern], *, msgtypes: Sequence[MessageType] = (MessageType.TEXT,), - field: Callable[[MaubotMessageEvent], str] = lambda evt: evt.content.body, - event_type: EventType = EventType.ROOM_MESSAGE, multiple: bool = False, - case_insensitive: bool = False, multiline: bool = False, dot_all: bool = False - ) -> PassiveCommandHandlerDecorator: +def passive( + regex: Union[str, Pattern], + *, + msgtypes: Sequence[MessageType] = (MessageType.TEXT,), + field: Callable[[MaubotMessageEvent], str] = lambda evt: evt.content.body, + event_type: EventType = EventType.ROOM_MESSAGE, + multiple: bool = False, + case_insensitive: bool = False, + multiline: bool = False, + dot_all: bool = False, +) -> PassiveCommandHandlerDecorator: if not isinstance(regex, Pattern): flags = re.RegexFlag.UNICODE if case_insensitive: @@ -372,12 +464,14 @@ def passive(regex: Union[str, Pattern], *, msgtypes: Sequence[MessageType] = (Me return data = field(evt) if multiple: - val = [(data[match.pos:match.endpos], *match.groups()) - for match in regex.finditer(data)] + val = [ + (data[match.pos : match.endpos], *match.groups()) + for match in regex.finditer(data) + ] else: match = regex.search(data) if match: - val = (data[match.pos:match.endpos], *match.groups()) + val = (data[match.pos : match.endpos], *match.groups()) else: val = None if val: diff --git a/maubot/handlers/event.py b/maubot/handlers/event.py index be02706..a9f8ac8 100644 --- a/maubot/handlers/event.py +++ b/maubot/handlers/event.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,16 +13,17 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import Callable, Union, NewType +from __future__ import annotations + +from typing import Callable, NewType -from mautrix.types import EventType from mautrix.client import EventHandler, InternalEventType +from mautrix.types import EventType EventHandlerDecorator = NewType("EventHandlerDecorator", Callable[[EventHandler], EventHandler]) -def on(var: Union[EventType, InternalEventType, EventHandler] - ) -> Union[EventHandlerDecorator, EventHandler]: +def on(var: EventType | InternalEventType | EventHandler) -> EventHandlerDecorator | EventHandler: def decorator(func: EventHandler) -> EventHandler: func.__mb_event_handler__ = True if isinstance(var, (EventType, InternalEventType)): diff --git a/maubot/handlers/web.py b/maubot/handlers/web.py index cf53d68..f170124 100644 --- a/maubot/handlers/web.py +++ b/maubot/handlers/web.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,9 +13,9 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import Callable, Any, Awaitable +from typing import Any, Awaitable, Callable -from aiohttp import web, hdrs +from aiohttp import hdrs, web WebHandler = Callable[[web.Request], Awaitable[web.StreamResponse]] WebHandlerDecorator = Callable[[WebHandler], WebHandler] diff --git a/maubot/instance.py b/maubot/instance.py index 8d1dea2..7d7900b 100644 --- a/maubot/instance.py +++ b/maubot/instance.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,22 +13,24 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import Dict, List, Optional, Iterable, TYPE_CHECKING -from asyncio import AbstractEventLoop -import os.path -import logging -import io +from __future__ import annotations + +from typing import TYPE_CHECKING, Iterable +from asyncio import AbstractEventLoop +import io +import logging +import os.path -from ruamel.yaml.comments import CommentedMap from ruamel.yaml import YAML +from ruamel.yaml.comments import CommentedMap import sqlalchemy as sql -from mautrix.util.config import BaseProxyConfig, RecursiveDict from mautrix.types import UserID +from mautrix.util.config import BaseProxyConfig, RecursiveDict -from .db import DBPlugin -from .config import Config from .client import Client +from .config import Config +from .db import DBPlugin from .loader import PluginLoader, ZippedPluginLoader from .plugin_base import Plugin @@ -43,23 +45,23 @@ yaml.width = 200 class PluginInstance: - webserver: 'MaubotServer' = None + webserver: MaubotServer = None mb_config: Config = None loop: AbstractEventLoop = None - cache: Dict[str, 'PluginInstance'] = {} - plugin_directories: List[str] = [] + cache: dict[str, PluginInstance] = {} + plugin_directories: list[str] = [] log: logging.Logger loader: PluginLoader client: Client plugin: Plugin config: BaseProxyConfig - base_cfg: Optional[RecursiveDict[CommentedMap]] - base_cfg_str: Optional[str] + base_cfg: RecursiveDict[CommentedMap] | None + base_cfg_str: str | None inst_db: sql.engine.Engine - inst_db_tables: Dict[str, sql.Table] - inst_webapp: Optional['PluginWebApp'] - inst_webapp_url: Optional[str] + inst_db_tables: dict[str, sql.Table] + inst_webapp: PluginWebApp | None + inst_webapp_url: str | None started: bool def __init__(self, db_instance: DBPlugin): @@ -87,11 +89,12 @@ class PluginInstance: "primary_user": self.primary_user, "config": self.db_instance.config, "base_config": self.base_cfg_str, - "database": (self.inst_db is not None - and self.mb_config["api_features.instance_database"]), + "database": ( + self.inst_db is not None and self.mb_config["api_features.instance_database"] + ), } - def get_db_tables(self) -> Dict[str, sql.Table]: + def get_db_tables(self) -> dict[str, sql.Table]: if not self.inst_db_tables: metadata = sql.MetaData() metadata.reflect(self.inst_db) @@ -147,7 +150,8 @@ class PluginInstance: self.inst_db.dispose() ZippedPluginLoader.trash( os.path.join(self.mb_config["plugin_directories.db"], f"{self.id}.db"), - reason="deleted") + reason="deleted", + ) if self.inst_webapp: self.disable_webapp() @@ -194,13 +198,23 @@ class PluginInstance: if self.base_cfg: base_cfg_func = self.base_cfg.clone else: + def base_cfg_func() -> None: return None + self.config = config_class(self.load_config, base_cfg_func, self.save_config) - self.plugin = cls(client=self.client.client, loop=self.loop, http=self.client.http_client, - instance_id=self.id, log=self.log, config=self.config, - database=self.inst_db, loader=self.loader, webapp=self.inst_webapp, - webapp_url=self.inst_webapp_url) + self.plugin = cls( + client=self.client.client, + loop=self.loop, + http=self.client.http_client, + instance_id=self.id, + log=self.log, + config=self.config, + database=self.inst_db, + loader=self.loader, + webapp=self.inst_webapp, + webapp_url=self.inst_webapp_url, + ) try: await self.plugin.internal_start() except Exception: @@ -209,8 +223,10 @@ class PluginInstance: return self.started = True self.inst_db_tables = None - self.log.info(f"Started instance of {self.loader.meta.id} v{self.loader.meta.version} " - f"with user {self.client.id}") + self.log.info( + f"Started instance of {self.loader.meta.id} v{self.loader.meta.version} " + f"with user {self.client.id}" + ) async def stop(self) -> None: if not self.started: @@ -226,8 +242,7 @@ class PluginInstance: self.inst_db_tables = None @classmethod - def get(cls, instance_id: str, db_instance: Optional[DBPlugin] = None - ) -> Optional['PluginInstance']: + def get(cls, instance_id: str, db_instance: DBPlugin | None = None) -> PluginInstance | None: try: return cls.cache[instance_id] except KeyError: @@ -237,7 +252,7 @@ class PluginInstance: return PluginInstance(db_instance) @classmethod - def all(cls) -> Iterable['PluginInstance']: + def all(cls) -> Iterable[PluginInstance]: return (cls.get(plugin.id, plugin) for plugin in DBPlugin.all()) def update_id(self, new_id: str) -> None: @@ -317,8 +332,9 @@ class PluginInstance: # endregion -def init(config: Config, webserver: 'MaubotServer', loop: AbstractEventLoop - ) -> Iterable[PluginInstance]: +def init( + config: Config, webserver: MaubotServer, loop: AbstractEventLoop +) -> Iterable[PluginInstance]: PluginInstance.mb_config = config PluginInstance.loop = loop PluginInstance.webserver = webserver diff --git a/maubot/lib/color_log.py b/maubot/lib/color_log.py index 284cf74..104e9f7 100644 --- a/maubot/lib/color_log.py +++ b/maubot/lib/color_log.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2020 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,8 +13,13 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from mautrix.util.logging.color import (ColorFormatter as BaseColorFormatter, PREFIX, MAU_COLOR, - MXID_COLOR, RESET) +from mautrix.util.logging.color import ( + MAU_COLOR, + MXID_COLOR, + PREFIX, + RESET, + ColorFormatter as BaseColorFormatter, +) INST_COLOR = PREFIX + "35m" # magenta LOADER_COLOR = PREFIX + "36m" # blue diff --git a/maubot/lib/future_awaitable.py b/maubot/lib/future_awaitable.py index b55dcb6..388eae9 100644 --- a/maubot/lib/future_awaitable.py +++ b/maubot/lib/future_awaitable.py @@ -1,4 +1,5 @@ -from typing import Callable, Awaitable, Generator, Any +from typing import Any, Awaitable, Callable, Generator + class FutureAwaitable: def __init__(self, func: Callable[[], Awaitable[None]]) -> None: @@ -6,4 +7,3 @@ class FutureAwaitable: def __await__(self) -> Generator[Any, None, None]: return self._func().__await__() - diff --git a/maubot/lib/store_proxy.py b/maubot/lib/store_proxy.py index 6e402aa..d8fa234 100644 --- a/maubot/lib/store_proxy.py +++ b/maubot/lib/store_proxy.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by diff --git a/maubot/lib/zipimport.py b/maubot/lib/zipimport.py index f9a0ca7..963f14f 100644 --- a/maubot/lib/zipimport.py +++ b/maubot/lib/zipimport.py @@ -18,26 +18,28 @@ used by the builtin import mechanism for sys.path items that are paths to Zip archives. """ -from importlib import _bootstrap_external from importlib import _bootstrap # for _verbose_message -import _imp # for check_hash_based_pycs -import _io # for open +from importlib import _bootstrap_external import marshal # for loads import sys # for modules import time # for mktime -__all__ = ['ZipImportError', 'zipimporter'] +import _imp # for check_hash_based_pycs +import _io # for open + +__all__ = ["ZipImportError", "zipimporter"] def _unpack_uint32(data): """Convert 4 bytes in little-endian to an integer.""" assert len(data) == 4 - return int.from_bytes(data, 'little') + return int.from_bytes(data, "little") + def _unpack_uint16(data): """Convert 2 bytes in little-endian to an integer.""" assert len(data) == 2 - return int.from_bytes(data, 'little') + return int.from_bytes(data, "little") path_sep = _bootstrap_external.path_sep @@ -47,15 +49,17 @@ alt_path_sep = _bootstrap_external.path_separators[1:] class ZipImportError(ImportError): pass + # _read_directory() cache _zip_directory_cache = {} _module_type = type(sys) END_CENTRAL_DIR_SIZE = 22 -STRING_END_ARCHIVE = b'PK\x05\x06' +STRING_END_ARCHIVE = b"PK\x05\x06" MAX_COMMENT_LEN = (1 << 16) - 1 + class zipimporter: """zipimporter(archivepath) -> zipimporter object @@ -77,9 +81,10 @@ class zipimporter: def __init__(self, path): if not isinstance(path, str): import os + path = os.fsdecode(path) if not path: - raise ZipImportError('archive path is empty', path=path) + raise ZipImportError("archive path is empty", path=path) if alt_path_sep: path = path.replace(alt_path_sep, path_sep) @@ -92,14 +97,14 @@ class zipimporter: # Back up one path element. dirname, basename = _bootstrap_external._path_split(path) if dirname == path: - raise ZipImportError('not a Zip file', path=path) + raise ZipImportError("not a Zip file", path=path) path = dirname prefix.append(basename) else: # it exists if (st.st_mode & 0o170000) != 0o100000: # stat.S_ISREG # it's a not file - raise ZipImportError('not a Zip file', path=path) + raise ZipImportError("not a Zip file", path=path) break try: @@ -154,11 +159,10 @@ class zipimporter: # This is possibly a portion of a namespace # package. Return the string representing its path, # without a trailing separator. - return None, [f'{self.archive}{path_sep}{modpath}'] + return None, [f"{self.archive}{path_sep}{modpath}"] return None, [] - # Check whether we can satisfy the import of the module named by # 'fullname'. Return self if we can, None if we can't. def find_module(self, fullname, path=None): @@ -172,7 +176,6 @@ class zipimporter: """ return self.find_loader(fullname, path)[0] - def get_code(self, fullname): """get_code(fullname) -> code object. @@ -182,7 +185,6 @@ class zipimporter: code, ispackage, modpath = _get_module_code(self, fullname) return code - def get_data(self, pathname): """get_data(pathname) -> string with file data. @@ -194,15 +196,14 @@ class zipimporter: key = pathname if pathname.startswith(self.archive + path_sep): - key = pathname[len(self.archive + path_sep):] + key = pathname[len(self.archive + path_sep) :] try: toc_entry = self._files[key] except KeyError: - raise OSError(0, '', key) + raise OSError(0, "", key) return _get_data(self.archive, toc_entry) - # Return a string matching __file__ for the named module def get_filename(self, fullname): """get_filename(fullname) -> filename string. @@ -214,7 +215,6 @@ class zipimporter: code, ispackage, modpath = _get_module_code(self, fullname) return modpath - def get_source(self, fullname): """get_source(fullname) -> source string. @@ -228,9 +228,9 @@ class zipimporter: path = _get_module_path(self, fullname) if mi: - fullpath = _bootstrap_external._path_join(path, '__init__.py') + fullpath = _bootstrap_external._path_join(path, "__init__.py") else: - fullpath = f'{path}.py' + fullpath = f"{path}.py" try: toc_entry = self._files[fullpath] @@ -239,7 +239,6 @@ class zipimporter: return None return _get_data(self.archive, toc_entry).decode() - # Return a bool signifying whether the module is a package or not. def is_package(self, fullname): """is_package(fullname) -> bool. @@ -252,7 +251,6 @@ class zipimporter: raise ZipImportError(f"can't find module {fullname!r}", name=fullname) return mi - # Load and return the module named by 'fullname'. def load_module(self, fullname): """load_module(fullname) -> module. @@ -276,7 +274,7 @@ class zipimporter: fullpath = _bootstrap_external._path_join(self.archive, path) mod.__path__ = [fullpath] - if not hasattr(mod, '__builtins__'): + if not hasattr(mod, "__builtins__"): mod.__builtins__ = __builtins__ _bootstrap_external._fix_up_module(mod.__dict__, fullname, modpath) exec(code, mod.__dict__) @@ -287,11 +285,10 @@ class zipimporter: try: mod = sys.modules[fullname] except KeyError: - raise ImportError(f'Loaded module {fullname!r} not found in sys.modules') - _bootstrap._verbose_message('import {} # loaded from Zip {}', fullname, modpath) + raise ImportError(f"Loaded module {fullname!r} not found in sys.modules") + _bootstrap._verbose_message("import {} # loaded from Zip {}", fullname, modpath) return mod - def get_resource_reader(self, fullname): """Return the ResourceReader for a package in a zip file. @@ -305,11 +302,11 @@ class zipimporter: return None if not _ZipImportResourceReader._registered: from importlib.abc import ResourceReader + ResourceReader.register(_ZipImportResourceReader) _ZipImportResourceReader._registered = True return _ZipImportResourceReader(self, fullname) - def __repr__(self): return f'' @@ -320,16 +317,17 @@ class zipimporter: # are swapped by initzipimport() if we run in optimized mode. Also, # '/' is replaced by path_sep there. _zip_searchorder = ( - (path_sep + '__init__.pyc', True, True), - (path_sep + '__init__.py', False, True), - ('.pyc', True, False), - ('.py', False, False), + (path_sep + "__init__.pyc", True, True), + (path_sep + "__init__.py", False, True), + (".pyc", True, False), + (".py", False, False), ) # Given a module name, return the potential file path in the # archive (without extension). def _get_module_path(self, fullname): - return self.prefix + fullname.rpartition('.')[2] + return self.prefix + fullname.rpartition(".")[2] + # Does this path represent a directory? def _is_dir(self, path): @@ -340,6 +338,7 @@ def _is_dir(self, path): # If dirpath is present in self._files, we have a directory. return dirpath in self._files + # Return some information about a module. def _get_module_info(self, fullname): path = _get_module_path(self, fullname) @@ -374,7 +373,7 @@ def _get_module_info(self, fullname): # data_size and file_offset are 0. def _read_directory(archive): try: - fp = _io.open(archive, 'rb') + fp = _io.open(archive, "rb") except OSError: raise ZipImportError(f"can't open Zip file: {archive!r}", path=archive) @@ -394,36 +393,33 @@ def _read_directory(archive): fp.seek(0, 2) file_size = fp.tell() except OSError: - raise ZipImportError(f"can't read Zip file: {archive!r}", - path=archive) - max_comment_start = max(file_size - MAX_COMMENT_LEN - - END_CENTRAL_DIR_SIZE, 0) + raise ZipImportError(f"can't read Zip file: {archive!r}", path=archive) + max_comment_start = max(file_size - MAX_COMMENT_LEN - END_CENTRAL_DIR_SIZE, 0) try: fp.seek(max_comment_start) data = fp.read() except OSError: - raise ZipImportError(f"can't read Zip file: {archive!r}", - path=archive) + raise ZipImportError(f"can't read Zip file: {archive!r}", path=archive) pos = data.rfind(STRING_END_ARCHIVE) if pos < 0: - raise ZipImportError(f'not a Zip file: {archive!r}', - path=archive) - buffer = data[pos:pos+END_CENTRAL_DIR_SIZE] + raise ZipImportError(f"not a Zip file: {archive!r}", path=archive) + buffer = data[pos : pos + END_CENTRAL_DIR_SIZE] if len(buffer) != END_CENTRAL_DIR_SIZE: - raise ZipImportError(f"corrupt Zip file: {archive!r}", - path=archive) + raise ZipImportError(f"corrupt Zip file: {archive!r}", path=archive) header_position = file_size - len(data) + pos header_size = _unpack_uint32(buffer[12:16]) header_offset = _unpack_uint32(buffer[16:20]) if header_position < header_size: - raise ZipImportError(f'bad central directory size: {archive!r}', path=archive) + raise ZipImportError(f"bad central directory size: {archive!r}", path=archive) if header_position < header_offset: - raise ZipImportError(f'bad central directory offset: {archive!r}', path=archive) + raise ZipImportError(f"bad central directory offset: {archive!r}", path=archive) header_position -= header_size arc_offset = header_position - header_offset if arc_offset < 0: - raise ZipImportError(f'bad central directory size or offset: {archive!r}', path=archive) + raise ZipImportError( + f"bad central directory size or offset: {archive!r}", path=archive + ) files = {} # Start of Central Directory @@ -435,12 +431,12 @@ def _read_directory(archive): while True: buffer = fp.read(46) if len(buffer) < 4: - raise EOFError('EOF read where not expected') + raise EOFError("EOF read where not expected") # Start of file header - if buffer[:4] != b'PK\x01\x02': - break # Bad: Central Dir File Header + if buffer[:4] != b"PK\x01\x02": + break # Bad: Central Dir File Header if len(buffer) != 46: - raise EOFError('EOF read where not expected') + raise EOFError("EOF read where not expected") flags = _unpack_uint16(buffer[8:10]) compress = _unpack_uint16(buffer[10:12]) time = _unpack_uint16(buffer[12:14]) @@ -454,7 +450,7 @@ def _read_directory(archive): file_offset = _unpack_uint32(buffer[42:46]) header_size = name_size + extra_size + comment_size if file_offset > header_offset: - raise ZipImportError(f'bad local header offset: {archive!r}', path=archive) + raise ZipImportError(f"bad local header offset: {archive!r}", path=archive) file_offset += arc_offset try: @@ -478,18 +474,19 @@ def _read_directory(archive): else: # Historical ZIP filename encoding try: - name = name.decode('ascii') + name = name.decode("ascii") except UnicodeDecodeError: - name = name.decode('latin1').translate(cp437_table) + name = name.decode("latin1").translate(cp437_table) - name = name.replace('/', path_sep) + name = name.replace("/", path_sep) path = _bootstrap_external._path_join(archive, name) t = (path, compress, data_size, file_size, file_offset, time, date, crc) files[name] = t count += 1 - _bootstrap._verbose_message('zipimport: found {} names in {!r}', count, archive) + _bootstrap._verbose_message("zipimport: found {} names in {!r}", count, archive) return files + # During bootstrap, we may need to load the encodings # package from a ZIP file. But the cp437 encoding is implemented # in Python in the encodings package. @@ -498,31 +495,31 @@ def _read_directory(archive): # the cp437 encoding. cp437_table = ( # ASCII part, 8 rows x 16 chars - '\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f' - '\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f' - ' !"#$%&\'()*+,-./' - '0123456789:;<=>?' - '@ABCDEFGHIJKLMNO' - 'PQRSTUVWXYZ[\\]^_' - '`abcdefghijklmno' - 'pqrstuvwxyz{|}~\x7f' + "\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f" + "\x10\x11\x12\x13\x14\x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f" + " !\"#$%&'()*+,-./" + "0123456789:;<=>?" + "@ABCDEFGHIJKLMNO" + "PQRSTUVWXYZ[\\]^_" + "`abcdefghijklmno" + "pqrstuvwxyz{|}~\x7f" # non-ASCII part, 16 rows x 8 chars - '\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7' - '\xea\xeb\xe8\xef\xee\xec\xc4\xc5' - '\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9' - '\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192' - '\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba' - '\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb' - '\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556' - '\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510' - '\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f' - '\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567' - '\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b' - '\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580' - '\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4' - '\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229' - '\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248' - '\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0' + "\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7" + "\xea\xeb\xe8\xef\xee\xec\xc4\xc5" + "\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9" + "\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192" + "\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba" + "\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb" + "\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556" + "\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510" + "\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f" + "\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567" + "\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b" + "\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580" + "\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4" + "\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229" + "\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248" + "\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0" ) _importing_zlib = False @@ -535,28 +532,29 @@ def _get_decompress_func(): if _importing_zlib: # Someone has a zlib.py[co] in their Zip file # let's avoid a stack overflow. - _bootstrap._verbose_message('zipimport: zlib UNAVAILABLE') + _bootstrap._verbose_message("zipimport: zlib UNAVAILABLE") raise ZipImportError("can't decompress data; zlib not available") _importing_zlib = True try: from zlib import decompress except Exception: - _bootstrap._verbose_message('zipimport: zlib UNAVAILABLE') + _bootstrap._verbose_message("zipimport: zlib UNAVAILABLE") raise ZipImportError("can't decompress data; zlib not available") finally: _importing_zlib = False - _bootstrap._verbose_message('zipimport: zlib available') + _bootstrap._verbose_message("zipimport: zlib available") return decompress + # Given a path to a Zip file and a toc_entry, return the (uncompressed) data. def _get_data(archive, toc_entry): datapath, compress, data_size, file_size, file_offset, time, date, crc = toc_entry if data_size < 0: - raise ZipImportError('negative data size') + raise ZipImportError("negative data size") - with _io.open(archive, 'rb') as fp: + with _io.open(archive, "rb") as fp: # Check to make sure the local file header is correct try: fp.seek(file_offset) @@ -564,11 +562,11 @@ def _get_data(archive, toc_entry): raise ZipImportError(f"can't read Zip file: {archive!r}", path=archive) buffer = fp.read(30) if len(buffer) != 30: - raise EOFError('EOF read where not expected') + raise EOFError("EOF read where not expected") - if buffer[:4] != b'PK\x03\x04': + if buffer[:4] != b"PK\x03\x04": # Bad: Local File Header - raise ZipImportError(f'bad local file header: {archive!r}', path=archive) + raise ZipImportError(f"bad local file header: {archive!r}", path=archive) name_size = _unpack_uint16(buffer[26:28]) extra_size = _unpack_uint16(buffer[28:30]) @@ -601,16 +599,17 @@ def _eq_mtime(t1, t2): # dostime only stores even seconds, so be lenient return abs(t1 - t2) <= 1 + # Given the contents of a .py[co] file, unmarshal the data # and return the code object. Return None if it the magic word doesn't # match (we do this instead of raising an exception as we fall back # to .py if available and we don't want to mask other errors). def _unmarshal_code(pathname, data, mtime): if len(data) < 16: - raise ZipImportError('bad pyc data') + raise ZipImportError("bad pyc data") if data[:4] != _bootstrap_external.MAGIC_NUMBER: - _bootstrap._verbose_message('{!r} has bad magic', pathname) + _bootstrap._verbose_message("{!r} has bad magic", pathname) return None # signal caller to try alternative flags = _unpack_uint32(data[4:8]) @@ -619,47 +618,57 @@ def _unmarshal_code(pathname, data, mtime): # pycs. We could validate hash-based pycs against the source, but it # seems likely that most people putting hash-based pycs in a zipfile # will use unchecked ones. - if (_imp.check_hash_based_pycs != 'never' and - (flags != 0x1 or _imp.check_hash_based_pycs == 'always')): + if _imp.check_hash_based_pycs != "never" and ( + flags != 0x1 or _imp.check_hash_based_pycs == "always" + ): return None elif mtime != 0 and not _eq_mtime(_unpack_uint32(data[8:12]), mtime): - _bootstrap._verbose_message('{!r} has bad mtime', pathname) + _bootstrap._verbose_message("{!r} has bad mtime", pathname) return None # signal caller to try alternative # XXX the pyc's size field is ignored; timestamp collisions are probably # unimportant with zip files. code = marshal.loads(data[16:]) if not isinstance(code, _code_type): - raise TypeError(f'compiled module {pathname!r} is not a code object') + raise TypeError(f"compiled module {pathname!r} is not a code object") return code + _code_type = type(_unmarshal_code.__code__) # Replace any occurrences of '\r\n?' in the input string with '\n'. # This converts DOS and Mac line endings to Unix line endings. def _normalize_line_endings(source): - source = source.replace(b'\r\n', b'\n') - source = source.replace(b'\r', b'\n') + source = source.replace(b"\r\n", b"\n") + source = source.replace(b"\r", b"\n") return source + # Given a string buffer containing Python source code, compile it # and return a code object. def _compile_source(pathname, source): source = _normalize_line_endings(source) - return compile(source, pathname, 'exec', dont_inherit=True) + return compile(source, pathname, "exec", dont_inherit=True) + # Convert the date/time values found in the Zip archive to a value # that's compatible with the time stamp stored in .pyc files. def _parse_dostime(d, t): - return time.mktime(( - (d >> 9) + 1980, # bits 9..15: year - (d >> 5) & 0xF, # bits 5..8: month - d & 0x1F, # bits 0..4: day - t >> 11, # bits 11..15: hours - (t >> 5) & 0x3F, # bits 8..10: minutes - (t & 0x1F) * 2, # bits 0..7: seconds / 2 - -1, -1, -1)) + return time.mktime( + ( + (d >> 9) + 1980, # bits 9..15: year + (d >> 5) & 0xF, # bits 5..8: month + d & 0x1F, # bits 0..4: day + t >> 11, # bits 11..15: hours + (t >> 5) & 0x3F, # bits 8..10: minutes + (t & 0x1F) * 2, # bits 0..7: seconds / 2 + -1, + -1, + -1, + ) + ) + # Given a path to a .pyc file in the archive, return the # modification time of the matching .py file, or 0 if no source @@ -667,7 +676,7 @@ def _parse_dostime(d, t): def _get_mtime_of_source(self, path): try: # strip 'c' or 'o' from *.py[co] - assert path[-1:] in ('c', 'o') + assert path[-1:] in ("c", "o") path = path[:-1] toc_entry = self._files[path] # fetch the time stamp of the .py file for comparison @@ -678,13 +687,14 @@ def _get_mtime_of_source(self, path): except (KeyError, IndexError, TypeError): return 0 + # Get the code object associated with the module specified by # 'fullname'. def _get_module_code(self, fullname): path = _get_module_path(self, fullname) for suffix, isbytecode, ispackage in _zip_searchorder: fullpath = path + suffix - _bootstrap._verbose_message('trying {}{}{}', self.archive, path_sep, fullpath, verbosity=2) + _bootstrap._verbose_message("trying {}{}{}", self.archive, path_sep, fullpath, verbosity=2) try: toc_entry = self._files[fullpath] except KeyError: @@ -713,6 +723,7 @@ class _ZipImportResourceReader: This class is allowed to reference all the innards and private parts of the zipimporter. """ + _registered = False def __init__(self, zipimporter, fullname): @@ -720,9 +731,10 @@ class _ZipImportResourceReader: self.fullname = fullname def open_resource(self, resource): - fullname_as_path = self.fullname.replace('.', '/') - path = f'{fullname_as_path}/{resource}' + fullname_as_path = self.fullname.replace(".", "/") + path = f"{fullname_as_path}/{resource}" from io import BytesIO + try: return BytesIO(self.zipimporter.get_data(path)) except OSError: @@ -737,8 +749,8 @@ class _ZipImportResourceReader: def is_resource(self, name): # Maybe we could do better, but if we can get the data, it's a # resource. Otherwise it isn't. - fullname_as_path = self.fullname.replace('.', '/') - path = f'{fullname_as_path}/{name}' + fullname_as_path = self.fullname.replace(".", "/") + path = f"{fullname_as_path}/{name}" try: self.zipimporter.get_data(path) except OSError: @@ -754,11 +766,12 @@ class _ZipImportResourceReader: # top of the archive, and then we iterate through _files looking for # names inside that "directory". from pathlib import Path + fullname_path = Path(self.zipimporter.get_filename(self.fullname)) relative_path = fullname_path.relative_to(self.zipimporter.archive) # Don't forget that fullname names a package, so its path will include # __init__.py, which we want to ignore. - assert relative_path.name == '__init__.py' + assert relative_path.name == "__init__.py" package_path = relative_path.parent subdirs_seen = set() for filename in self.zipimporter._files: diff --git a/maubot/loader/__init__.py b/maubot/loader/__init__.py index b783152..c4291ed 100644 --- a/maubot/loader/__init__.py +++ b/maubot/loader/__init__.py @@ -1,2 +1,2 @@ -from .abc import BasePluginLoader, PluginLoader, PluginClass, IDConflictError, PluginMeta -from .zip import ZippedPluginLoader, MaubotZipImportError +from .abc import BasePluginLoader, IDConflictError, PluginClass, PluginLoader, PluginMeta +from .zip import MaubotZipImportError, ZippedPluginLoader diff --git a/maubot/loader/abc.py b/maubot/loader/abc.py index 81c99ce..f99358c 100644 --- a/maubot/loader/abc.py +++ b/maubot/loader/abc.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2021 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,14 +13,14 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import TypeVar, Type, Dict, Set, List, TYPE_CHECKING +from typing import TYPE_CHECKING, Dict, List, Set, Type, TypeVar from abc import ABC, abstractmethod import asyncio from attr import dataclass -from packaging.version import Version, InvalidVersion +from packaging.version import InvalidVersion, Version -from mautrix.types import SerializableAttrs, SerializerError, serializer, deserializer +from mautrix.types import SerializableAttrs, SerializerError, deserializer, serializer from ..__meta__ import __version__ from ..plugin_base import Plugin @@ -89,16 +89,16 @@ class BasePluginLoader(ABC): class PluginLoader(BasePluginLoader, ABC): - id_cache: Dict[str, 'PluginLoader'] = {} + id_cache: Dict[str, "PluginLoader"] = {} meta: PluginMeta - references: Set['PluginInstance'] + references: Set["PluginInstance"] def __init__(self): self.references = set() @classmethod - def find(cls, plugin_id: str) -> 'PluginLoader': + def find(cls, plugin_id: str) -> "PluginLoader": return cls.id_cache[plugin_id] def to_dict(self) -> dict: @@ -109,12 +109,14 @@ class PluginLoader(BasePluginLoader, ABC): } async def stop_instances(self) -> None: - await asyncio.gather(*[instance.stop() for instance - in self.references if instance.started]) + await asyncio.gather( + *[instance.stop() for instance in self.references if instance.started] + ) async def start_instances(self) -> None: - await asyncio.gather(*[instance.start() for instance - in self.references if instance.enabled]) + await asyncio.gather( + *[instance.start() for instance in self.references if instance.enabled] + ) @abstractmethod async def load(self) -> Type[PluginClass]: diff --git a/maubot/loader/zip.py b/maubot/loader/zip.py index 6d8a8ce..62db112 100644 --- a/maubot/loader/zip.py +++ b/maubot/loader/zip.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2021 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,22 +13,23 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import Dict, List, Type, Tuple, Optional -from zipfile import ZipFile, BadZipFile -from time import time -import logging -import sys -import os +from __future__ import annotations + +from time import time +from zipfile import BadZipFile, ZipFile +import logging +import os +import sys -from ruamel.yaml import YAML, YAMLError from packaging.version import Version +from ruamel.yaml import YAML, YAMLError from mautrix.types import SerializerError -from ..lib.zipimport import zipimporter, ZipImportError -from ..plugin_base import Plugin from ..config import Config -from .abc import PluginLoader, PluginClass, PluginMeta, IDConflictError +from ..lib.zipimport import ZipImportError, zipimporter +from ..plugin_base import Plugin +from .abc import IDConflictError, PluginClass, PluginLoader, PluginMeta yaml = YAML() @@ -50,23 +51,25 @@ class MaubotZipLoadError(MaubotZipImportError): class ZippedPluginLoader(PluginLoader): - path_cache: Dict[str, 'ZippedPluginLoader'] = {} + path_cache: dict[str, ZippedPluginLoader] = {} log: logging.Logger = logging.getLogger("maubot.loader.zip") trash_path: str = "delete" - directories: List[str] = [] + directories: list[str] = [] - path: str - meta: PluginMeta - main_class: str - main_module: str - _loaded: Type[PluginClass] - _importer: zipimporter - _file: ZipFile + path: str | None + meta: PluginMeta | None + main_class: str | None + main_module: str | None + _loaded: type[PluginClass] | None + _importer: zipimporter | None + _file: ZipFile | None def __init__(self, path: str) -> None: super().__init__() self.path = path self.meta = None + self.main_class = None + self.main_module = None self._loaded = None self._importer = None self._file = None @@ -75,7 +78,8 @@ class ZippedPluginLoader(PluginLoader): try: existing = self.id_cache[self.meta.id] raise IDConflictError( - f"Plugin with id {self.meta.id} already loaded from {existing.source}") + f"Plugin with id {self.meta.id} already loaded from {existing.source}" + ) except KeyError: pass self.path_cache[self.path] = self @@ -83,13 +87,10 @@ class ZippedPluginLoader(PluginLoader): self.log.debug(f"Preloaded plugin {self.meta.id} from {self.path}") def to_dict(self) -> dict: - return { - **super().to_dict(), - "path": self.path - } + return {**super().to_dict(), "path": self.path} @classmethod - def get(cls, path: str) -> 'ZippedPluginLoader': + def get(cls, path: str) -> ZippedPluginLoader: path = os.path.abspath(path) try: return cls.path_cache[path] @@ -101,10 +102,12 @@ class ZippedPluginLoader(PluginLoader): return self.path def __repr__(self) -> str: - return ("") + return ( + "" + ) def sync_read_file(self, path: str) -> bytes: return self._file.read(path) @@ -112,16 +115,19 @@ class ZippedPluginLoader(PluginLoader): async def read_file(self, path: str) -> bytes: return self.sync_read_file(path) - def sync_list_files(self, directory: str) -> List[str]: + def sync_list_files(self, directory: str) -> list[str]: directory = directory.rstrip("/") - return [file.filename for file in self._file.filelist - if os.path.dirname(file.filename) == directory] + return [ + file.filename + for file in self._file.filelist + if os.path.dirname(file.filename) == directory + ] - async def list_files(self, directory: str) -> List[str]: + async def list_files(self, directory: str) -> list[str]: return self.sync_list_files(directory) @staticmethod - def _read_meta(source) -> Tuple[ZipFile, PluginMeta]: + def _read_meta(source) -> tuple[ZipFile, PluginMeta]: try: file = ZipFile(source) data = file.read("maubot.yaml") @@ -142,7 +148,7 @@ class ZippedPluginLoader(PluginLoader): return file, meta @classmethod - def verify_meta(cls, source) -> Tuple[str, Version]: + def verify_meta(cls, source) -> tuple[str, Version]: _, meta = cls._read_meta(source) return meta.id, meta.version @@ -173,24 +179,24 @@ class ZippedPluginLoader(PluginLoader): code = importer.get_code(self.main_module.replace(".", "/")) if self.main_class not in code.co_names: raise MaubotZipPreLoadError( - f"Main class {self.main_class} not in {self.main_module}") + f"Main class {self.main_class} not in {self.main_module}" + ) except ZipImportError as e: - raise MaubotZipPreLoadError( - f"Main module {self.main_module} not found in file") from e + raise MaubotZipPreLoadError(f"Main module {self.main_module} not found in file") from e for module in self.meta.modules: try: importer.find_module(module) except ZipImportError as e: raise MaubotZipPreLoadError(f"Module {module} not found in file") from e - async def load(self, reset_cache: bool = False) -> Type[PluginClass]: + async def load(self, reset_cache: bool = False) -> type[PluginClass]: try: return self._load(reset_cache) except MaubotZipImportError: self.log.exception(f"Failed to load {self.meta.id} v{self.meta.version}") raise - def _load(self, reset_cache: bool = False) -> Type[PluginClass]: + def _load(self, reset_cache: bool = False) -> type[PluginClass]: if self._loaded is not None and not reset_cache: return self._loaded self._load_meta() @@ -219,7 +225,7 @@ class ZippedPluginLoader(PluginLoader): self.log.debug(f"Loaded and imported plugin {self.meta.id} from {self.path}") return plugin - async def reload(self, new_path: Optional[str] = None) -> Type[PluginClass]: + async def reload(self, new_path: str | None = None) -> type[PluginClass]: await self.unload() if new_path is not None: self.path = new_path @@ -251,7 +257,7 @@ class ZippedPluginLoader(PluginLoader): self.path = None @classmethod - def trash(cls, file_path: str, new_name: Optional[str] = None, reason: str = "error") -> None: + def trash(cls, file_path: str, new_name: str | None = None, reason: str = "error") -> None: if cls.trash_path == "delete": os.remove(file_path) else: diff --git a/maubot/management/api/__init__.py b/maubot/management/api/__init__.py index 5326039..1c4d7d3 100644 --- a/maubot/management/api/__init__.py +++ b/maubot/management/api/__init__.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,13 +13,14 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from aiohttp import web from asyncio import AbstractEventLoop import importlib +from aiohttp import web + from ...config import Config -from .base import routes, get_config, set_config, set_loop from .auth import check_token +from .base import get_config, routes, set_config, set_loop from .middleware import auth, error @@ -30,9 +31,11 @@ def features(request: web.Request) -> web.Response: if err is None: return web.json_response(data) else: - return web.json_response({ - "login": data["login"], - }) + return web.json_response( + { + "login": data["login"], + } + ) def init(cfg: Config, loop: AbstractEventLoop) -> web.Application: diff --git a/maubot/management/api/auth.py b/maubot/management/api/auth.py index 4675301..76ddcf3 100644 --- a/maubot/management/api/auth.py +++ b/maubot/management/api/auth.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,7 +13,8 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import Optional +from __future__ import annotations + from time import time from aiohttp import web @@ -21,7 +22,7 @@ from aiohttp import web from mautrix.types import UserID from mautrix.util.signed_token import sign_token, verify_token -from .base import routes, get_config +from .base import get_config, routes from .responses import resp @@ -33,10 +34,13 @@ def is_valid_token(token: str) -> bool: def create_token(user: UserID) -> str: - return sign_token(get_config()["server.unshared_secret"], { - "user_id": user, - "created_at": int(time()), - }) + return sign_token( + get_config()["server.unshared_secret"], + { + "user_id": user, + "created_at": int(time()), + }, + ) def get_token(request: web.Request) -> str: @@ -44,11 +48,11 @@ def get_token(request: web.Request) -> str: if not token or not token.startswith("Bearer "): token = request.query.get("access_token", None) else: - token = token[len("Bearer "):] + token = token[len("Bearer ") :] return token -def check_token(request: web.Request) -> Optional[web.Response]: +def check_token(request: web.Request) -> web.Response | None: token = get_token(request) if not token: return resp.no_token diff --git a/maubot/management/api/base.py b/maubot/management/api/base.py index b6a5dea..73b2508 100644 --- a/maubot/management/api/base.py +++ b/maubot/management/api/base.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,15 +13,18 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from aiohttp import web +from __future__ import annotations + import asyncio +from aiohttp import web + from ...__meta__ import __version__ from ...config import Config routes: web.RouteTableDef = web.RouteTableDef() -_config: Config = None -_loop: asyncio.AbstractEventLoop = None +_config: Config | None = None +_loop: asyncio.AbstractEventLoop | None = None def set_config(config: Config) -> None: @@ -44,6 +47,4 @@ def get_loop() -> asyncio.AbstractEventLoop: @routes.get("/version") async def version(_: web.Request) -> web.Response: - return web.json_response({ - "version": __version__ - }) + return web.json_response({"version": __version__}) diff --git a/maubot/management/api/client.py b/maubot/management/api/client.py index c74f9e9..0b3a239 100644 --- a/maubot/management/api/client.py +++ b/maubot/management/api/client.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2021 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,17 +13,18 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import Optional +from __future__ import annotations + from json import JSONDecodeError from aiohttp import web -from mautrix.types import UserID, SyncToken, FilterID -from mautrix.errors import MatrixRequestError, MatrixConnectionError, MatrixInvalidToken from mautrix.client import Client as MatrixClient +from mautrix.errors import MatrixConnectionError, MatrixInvalidToken, MatrixRequestError +from mautrix.types import FilterID, SyncToken, UserID -from ...db import DBClient from ...client import Client +from ...db import DBClient from .base import routes from .responses import resp @@ -42,12 +43,17 @@ async def get_client(request: web.Request) -> web.Response: return resp.found(client.to_dict()) -async def _create_client(user_id: Optional[UserID], data: dict) -> web.Response: +async def _create_client(user_id: UserID | None, data: dict) -> web.Response: homeserver = data.get("homeserver", None) access_token = data.get("access_token", None) device_id = data.get("device_id", None) - new_client = MatrixClient(mxid="@not:a.mxid", base_url=homeserver, token=access_token, - loop=Client.loop, client_session=Client.http_client) + new_client = MatrixClient( + mxid="@not:a.mxid", + base_url=homeserver, + token=access_token, + loop=Client.loop, + client_session=Client.http_client, + ) try: whoami = await new_client.whoami() except MatrixInvalidToken: @@ -64,13 +70,20 @@ async def _create_client(user_id: Optional[UserID], data: dict) -> web.Response: return resp.mxid_mismatch(whoami.user_id) elif whoami.device_id and device_id and whoami.device_id != device_id: return resp.device_id_mismatch(whoami.device_id) - db_instance = DBClient(id=whoami.user_id, homeserver=homeserver, access_token=access_token, - enabled=data.get("enabled", True), next_batch=SyncToken(""), - filter_id=FilterID(""), sync=data.get("sync", True), - autojoin=data.get("autojoin", True), online=data.get("online", True), - displayname=data.get("displayname", "disable"), - avatar_url=data.get("avatar_url", "disable"), - device_id=device_id) + db_instance = DBClient( + id=whoami.user_id, + homeserver=homeserver, + access_token=access_token, + enabled=data.get("enabled", True), + next_batch=SyncToken(""), + filter_id=FilterID(""), + sync=data.get("sync", True), + autojoin=data.get("autojoin", True), + online=data.get("online", True), + displayname=data.get("displayname", "disable"), + avatar_url=data.get("avatar_url", "disable"), + device_id=device_id, + ) client = Client(db_instance) client.db_instance.insert() await client.start() @@ -79,9 +92,11 @@ async def _create_client(user_id: Optional[UserID], data: dict) -> web.Response: async def _update_client(client: Client, data: dict, is_login: bool = False) -> web.Response: try: - await client.update_access_details(data.get("access_token", None), - data.get("homeserver", None), - data.get("device_id", None)) + await client.update_access_details( + data.get("access_token", None), + data.get("homeserver", None), + data.get("device_id", None), + ) except MatrixInvalidToken: return resp.bad_client_access_token except MatrixRequestError: @@ -91,9 +106,9 @@ async def _update_client(client: Client, data: dict, is_login: bool = False) -> except ValueError as e: str_err = str(e) if str_err.startswith("MXID mismatch"): - return resp.mxid_mismatch(str(e)[len("MXID mismatch: "):]) + return resp.mxid_mismatch(str(e)[len("MXID mismatch: ") :]) elif str_err.startswith("Device ID mismatch"): - return resp.device_id_mismatch(str(e)[len("Device ID mismatch: "):]) + return resp.device_id_mismatch(str(e)[len("Device ID mismatch: ") :]) with client.db_instance.edit_mode(): await client.update_avatar_url(data.get("avatar_url", None)) await client.update_displayname(data.get("displayname", None)) @@ -105,8 +120,9 @@ async def _update_client(client: Client, data: dict, is_login: bool = False) -> return resp.updated(client.to_dict(), is_login=is_login) -async def _create_or_update_client(user_id: UserID, data: dict, is_login: bool = False - ) -> web.Response: +async def _create_or_update_client( + user_id: UserID, data: dict, is_login: bool = False +) -> web.Response: client = Client.get(user_id, None) if not client: return await _create_client(user_id, data) diff --git a/maubot/management/api/client_auth.py b/maubot/management/api/client_auth.py index 5957f43..754c0d7 100644 --- a/maubot/management/api/client_auth.py +++ b/maubot/management/api/client_auth.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2021 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,26 +13,26 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import Dict, Tuple, NamedTuple, Optional -from json import JSONDecodeError +from typing import Dict, NamedTuple, Optional, Tuple from http import HTTPStatus -import hashlib +from json import JSONDecodeError import asyncio +import hashlib +import hmac import random import string -import hmac from aiohttp import web from yarl import URL -from mautrix.api import SynapseAdminPath, Method, Path -from mautrix.errors import MatrixRequestError +from mautrix.api import Method, Path, SynapseAdminPath from mautrix.client import ClientAPI -from mautrix.types import LoginType, LoginResponse +from mautrix.errors import MatrixRequestError +from mautrix.types import LoginResponse, LoginType -from .base import routes, get_config, get_loop +from .base import get_config, get_loop, routes +from .client import _create_client, _create_or_update_client from .responses import resp -from .client import _create_or_update_client, _create_client def known_homeservers() -> Dict[str, Dict[str, str]]: @@ -59,8 +59,9 @@ class AuthRequestInfo(NamedTuple): truthy_strings = ("1", "true", "yes") -async def read_client_auth_request(request: web.Request) -> Tuple[Optional[AuthRequestInfo], - Optional[web.Response]]: +async def read_client_auth_request( + request: web.Request, +) -> Tuple[Optional[AuthRequestInfo], Optional[web.Response]]: server_name = request.match_info.get("server", None) server = known_homeservers().get(server_name, None) if not server: @@ -81,21 +82,30 @@ async def read_client_auth_request(request: web.Request) -> Tuple[Optional[AuthR base_url = server["url"] except KeyError: return None, resp.invalid_server - return AuthRequestInfo( - server_name=server_name, - client=ClientAPI(base_url=base_url, loop=get_loop()), - secret=server.get("secret"), - username=username, - password=password, - user_type=body.get("user_type", "bot"), - device_name=body.get("device_name", "Maubot"), - update_client=request.query.get("update_client", "").lower() in truthy_strings, - sso=sso, - ), None + return ( + AuthRequestInfo( + server_name=server_name, + client=ClientAPI(base_url=base_url, loop=get_loop()), + secret=server.get("secret"), + username=username, + password=password, + user_type=body.get("user_type", "bot"), + device_name=body.get("device_name", "Maubot"), + update_client=request.query.get("update_client", "").lower() in truthy_strings, + sso=sso, + ), + None, + ) -def generate_mac(secret: str, nonce: str, username: str, password: str, admin: bool = False, - user_type: str = None) -> str: +def generate_mac( + secret: str, + nonce: str, + username: str, + password: str, + admin: bool = False, + user_type: str = None, +) -> str: mac = hmac.new(key=secret.encode("utf-8"), digestmod=hashlib.sha1) mac.update(nonce.encode("utf-8")) mac.update(b"\x00") @@ -132,18 +142,24 @@ async def register(request: web.Request) -> web.Response: try: raw_res = await req.client.api.request(Method.POST, path, content=content) except MatrixRequestError as e: - return web.json_response({ - "errcode": e.errcode, - "error": e.message, - "http_status": e.http_status, - }, status=HTTPStatus.INTERNAL_SERVER_ERROR) + return web.json_response( + { + "errcode": e.errcode, + "error": e.message, + "http_status": e.http_status, + }, + status=HTTPStatus.INTERNAL_SERVER_ERROR, + ) login_res = LoginResponse.deserialize(raw_res) if req.update_client: - return await _create_client(login_res.user_id, { - "homeserver": str(req.client.api.base_url), - "access_token": login_res.access_token, - "device_id": login_res.device_id, - }) + return await _create_client( + login_res.user_id, + { + "homeserver": str(req.client.api.base_url), + "access_token": login_res.access_token, + "device_id": login_res.device_id, + }, + ) return web.json_response(login_res.serialize()) @@ -162,13 +178,17 @@ async def _do_sso(req: AuthRequestInfo) -> web.Response: flows = await req.client.get_login_flows() if not flows.supports_type(LoginType.SSO): return resp.sso_not_supported - waiter_id = ''.join(random.choices(string.ascii_lowercase + string.digits, k=16)) + waiter_id = "".join(random.choices(string.ascii_lowercase + string.digits, k=16)) cfg = get_config() - public_url = (URL(cfg["server.public_url"]) / cfg["server.base_path"].lstrip("/") - / "client/auth_external_sso/complete" / waiter_id) - sso_url = (req.client.api.base_url - .with_path(str(Path.login.sso.redirect)) - .with_query({"redirectUrl": str(public_url)})) + public_url = ( + URL(cfg["server.public_url"]) + / cfg["server.base_path"].lstrip("/") + / "client/auth_external_sso/complete" + / waiter_id + ) + sso_url = req.client.api.base_url.with_path(str(Path.login.sso.redirect)).with_query( + {"redirectUrl": str(public_url)} + ) sso_waiters[waiter_id] = req, get_loop().create_future() return web.json_response({"sso_url": str(sso_url), "id": waiter_id}) @@ -178,25 +198,40 @@ async def _do_login(req: AuthRequestInfo, login_token: Optional[str] = None) -> device_id = f"maubot_{device_id}" try: if req.sso: - res = await req.client.login(token=login_token, login_type=LoginType.TOKEN, - device_id=device_id, store_access_token=False, - initial_device_display_name=req.device_name) + res = await req.client.login( + token=login_token, + login_type=LoginType.TOKEN, + device_id=device_id, + store_access_token=False, + initial_device_display_name=req.device_name, + ) else: - res = await req.client.login(identifier=req.username, login_type=LoginType.PASSWORD, - password=req.password, device_id=device_id, - initial_device_display_name=req.device_name, - store_access_token=False) + res = await req.client.login( + identifier=req.username, + login_type=LoginType.PASSWORD, + password=req.password, + device_id=device_id, + initial_device_display_name=req.device_name, + store_access_token=False, + ) except MatrixRequestError as e: - return web.json_response({ - "errcode": e.errcode, - "error": e.message, - }, status=e.http_status) + return web.json_response( + { + "errcode": e.errcode, + "error": e.message, + }, + status=e.http_status, + ) if req.update_client: - return await _create_or_update_client(res.user_id, { - "homeserver": str(req.client.api.base_url), - "access_token": res.access_token, - "device_id": res.device_id, - }, is_login=True) + return await _create_or_update_client( + res.user_id, + { + "homeserver": str(req.client.api.base_url), + "access_token": res.access_token, + "device_id": res.device_id, + }, + is_login=True, + ) return web.json_response(res.serialize()) @@ -230,6 +265,8 @@ async def complete_sso(request: web.Request) -> web.Response: return web.Response(status=400, text="Missing loginToken query parameter\n") except asyncio.InvalidStateError: return web.Response(status=500, text="Invalid state\n") - return web.Response(status=200, - text="Login token received, please return to your Maubot client. " - "This tab can be closed.\n") + return web.Response( + status=200, + text="Login token received, please return to your Maubot client. " + "This tab can be closed.\n", + ) diff --git a/maubot/management/api/client_proxy.py b/maubot/management/api/client_proxy.py index 8c293cd..dca741f 100644 --- a/maubot/management/api/client_proxy.py +++ b/maubot/management/api/client_proxy.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,7 +13,7 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from aiohttp import web, client as http +from aiohttp import client as http, web from ...client import Client from .base import routes @@ -45,8 +45,9 @@ async def proxy(request: web.Request) -> web.StreamResponse: headers["X-Forwarded-For"] = f"{host}:{port}" data = await request.read() - async with http.request(request.method, f"{client.homeserver}/{path}", headers=headers, - params=query, data=data) as proxy_resp: + async with http.request( + request.method, f"{client.homeserver}/{path}", headers=headers, params=query, data=data + ) as proxy_resp: response = web.StreamResponse(status=proxy_resp.status, headers=proxy_resp.headers) await response.prepare(request) async for chunk in proxy_resp.content.iter_chunked(PROXY_CHUNK_SIZE): diff --git a/maubot/management/api/dev_open.py b/maubot/management/api/dev_open.py index 323c515..2881d46 100644 --- a/maubot/management/api/dev_open.py +++ b/maubot/management/api/dev_open.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -14,11 +14,11 @@ # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . from string import Template -from subprocess import run +import asyncio import re -from ruamel.yaml import YAML from aiohttp import web +from ruamel.yaml import YAML from .base import routes @@ -27,9 +27,7 @@ enabled = False @routes.get("/debug/open") async def check_enabled(_: web.Request) -> web.Response: - return web.json_response({ - "enabled": enabled, - }) + return web.json_response({"enabled": enabled}) try: @@ -40,7 +38,6 @@ try: editor_command = Template(cfg["editor"]) pathmap = [(re.compile(item["find"]), item["replace"]) for item in cfg["pathmap"]] - @routes.post("/debug/open") async def open_file(request: web.Request) -> web.Response: data = await request.json() @@ -51,13 +48,9 @@ try: cmd = editor_command.substitute(path=path, line=data["line"]) except (KeyError, ValueError): return web.Response(status=400) - res = run(cmd, shell=True) - return web.json_response({ - "return": res.returncode, - "stdout": res.stdout, - "stderr": res.stderr - }) - + res = await asyncio.create_subprocess_shell(cmd) + stdout, stderr = await res.communicate() + return web.json_response({"return": res.returncode, "stdout": stdout, "stderr": stderr}) enabled = True except Exception: diff --git a/maubot/management/api/instance.py b/maubot/management/api/instance.py index 91861af..c875c6a 100644 --- a/maubot/management/api/instance.py +++ b/maubot/management/api/instance.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -17,10 +17,10 @@ from json import JSONDecodeError from aiohttp import web +from ...client import Client from ...db import DBPlugin from ...instance import PluginInstance from ...loader import PluginLoader -from ...client import Client from .base import routes from .responses import resp @@ -52,8 +52,13 @@ async def _create_instance(instance_id: str, data: dict) -> web.Response: PluginLoader.find(plugin_type) except KeyError: return resp.plugin_type_not_found - db_instance = DBPlugin(id=instance_id, type=plugin_type, enabled=data.get("enabled", True), - primary_user=primary_user, config=data.get("config", "")) + db_instance = DBPlugin( + id=instance_id, + type=plugin_type, + enabled=data.get("enabled", True), + primary_user=primary_user, + config=data.get("config", ""), + ) instance = PluginInstance(db_instance) instance.load() instance.db_instance.insert() diff --git a/maubot/management/api/instance_database.py b/maubot/management/api/instance_database.py index bc3baf3..ef7da30 100644 --- a/maubot/management/api/instance_database.py +++ b/maubot/management/api/instance_database.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,13 +13,14 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import Union, TYPE_CHECKING +from __future__ import annotations + from datetime import datetime from aiohttp import web -from sqlalchemy import Table, Column, asc, desc, exc -from sqlalchemy.orm import Query +from sqlalchemy import Column, Table, asc, desc, exc from sqlalchemy.engine.result import ResultProxy, RowProxy +from sqlalchemy.orm import Query from ...instance import PluginInstance from .base import routes @@ -34,23 +35,26 @@ async def get_database(request: web.Request) -> web.Response: return resp.instance_not_found elif not instance.inst_db: return resp.plugin_has_no_database - if TYPE_CHECKING: - table: Table - column: Column - return web.json_response({ - table.name: { - "columns": { - column.name: { - "type": str(column.type), - "unique": column.unique or False, - "default": column.default, - "nullable": column.nullable, - "primary": column.primary_key, - "autoincrement": column.autoincrement, - } for column in table.columns - }, - } for table in instance.get_db_tables().values() - }) + table: Table + column: Column + return web.json_response( + { + table.name: { + "columns": { + column.name: { + "type": str(column.type), + "unique": column.unique or False, + "default": column.default, + "nullable": column.nullable, + "primary": column.primary_key, + "autoincrement": column.autoincrement, + } + for column in table.columns + }, + } + for table in instance.get_db_tables().values() + } + ) def check_type(val): @@ -74,9 +78,12 @@ async def get_table(request: web.Request) -> web.Response: return resp.table_not_found try: order = [tuple(order.split(":")) for order in request.query.getall("order")] - order = [(asc if sort.lower() == "asc" else desc)(table.columns[column]) - if sort else table.columns[column] - for column, sort in order] + order = [ + (asc if sort.lower() == "asc" else desc)(table.columns[column]) + if sort + else table.columns[column] + for column, sort in order + ] except KeyError: order = [] limit = int(request.query.get("limit", 100)) @@ -96,12 +103,12 @@ async def query(request: web.Request) -> web.Response: sql_query = data["query"] except KeyError: return resp.query_missing - return execute_query(instance, sql_query, - rows_as_dict=data.get("rows_as_dict", False)) + return execute_query(instance, sql_query, rows_as_dict=data.get("rows_as_dict", False)) -def execute_query(instance: PluginInstance, sql_query: Union[str, Query], - rows_as_dict: bool = False) -> web.Response: +def execute_query( + instance: PluginInstance, sql_query: str | Query, rows_as_dict: bool = False +) -> web.Response: try: res: ResultProxy = instance.inst_db.execute(sql_query) except exc.IntegrityError as e: @@ -114,10 +121,14 @@ def execute_query(instance: PluginInstance, sql_query: Union[str, Query], } if res.returns_rows: row: RowProxy - data["rows"] = [({key: check_type(value) for key, value in row.items()} - if rows_as_dict - else [check_type(value) for value in row]) - for row in res] + data["rows"] = [ + ( + {key: check_type(value) for key, value in row.items()} + if rows_as_dict + else [check_type(value) for value in row] + ) + for row in res + ] data["columns"] = res.keys() else: data["rowcount"] = res.rowcount diff --git a/maubot/management/api/log.py b/maubot/management/api/log.py index 3ed5ca1..1c5df93 100644 --- a/maubot/management/api/log.py +++ b/maubot/management/api/log.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,31 +13,60 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import Deque, List -from datetime import datetime +from __future__ import annotations + from collections import deque -import logging +from datetime import datetime import asyncio +import logging -from aiohttp import web +from aiohttp import web, web_ws -from .base import routes, get_loop from .auth import is_valid_token +from .base import get_loop, routes -BUILTIN_ATTRS = {"args", "asctime", "created", "exc_info", "exc_text", "filename", "funcName", - "levelname", "levelno", "lineno", "module", "msecs", "message", "msg", "name", - "pathname", "process", "processName", "relativeCreated", "stack_info", "thread", - "threadName"} -INCLUDE_ATTRS = {"filename", "funcName", "levelname", "levelno", "lineno", "module", "name", - "pathname"} +BUILTIN_ATTRS = { + "args", + "asctime", + "created", + "exc_info", + "exc_text", + "filename", + "funcName", + "levelname", + "levelno", + "lineno", + "module", + "msecs", + "message", + "msg", + "name", + "pathname", + "process", + "processName", + "relativeCreated", + "stack_info", + "thread", + "threadName", +} +INCLUDE_ATTRS = { + "filename", + "funcName", + "levelname", + "levelno", + "lineno", + "module", + "name", + "pathname", +} EXCLUDE_ATTRS = BUILTIN_ATTRS - INCLUDE_ATTRS MAX_LINES = 2048 class LogCollector(logging.Handler): - lines: Deque[dict] + lines: deque[dict] formatter: logging.Formatter - listeners: List[web.WebSocketResponse] + listeners: list[web.WebSocketResponse] loop: asyncio.AbstractEventLoop def __init__(self, level=logging.NOTSET) -> None: @@ -56,9 +85,7 @@ class LogCollector(logging.Handler): # JSON conversion based on Marsel Mavletkulov's json-log-formatter (MIT license) # https://github.com/marselester/json-log-formatter content = { - name: value - for name, value in record.__dict__.items() - if name not in EXCLUDE_ATTRS + name: value for name, value in record.__dict__.items() if name not in EXCLUDE_ATTRS } content["id"] = str(record.relativeCreated) content["msg"] = record.getMessage() @@ -119,6 +146,7 @@ async def log_websocket(request: web.Request) -> web.WebSocketResponse: asyncio.ensure_future(close_if_not_authenticated()) try: + msg: web_ws.WSMessage async for msg in ws: if msg.type != web.WSMsgType.TEXT: continue diff --git a/maubot/management/api/login.py b/maubot/management/api/login.py index 21f9342..bfb2f6a 100644 --- a/maubot/management/api/login.py +++ b/maubot/management/api/login.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -17,9 +17,10 @@ import json from aiohttp import web -from .base import routes, get_config -from .responses import resp from .auth import create_token +from .base import get_config, routes +from .responses import resp + @routes.post("/auth/login") async def login(request: web.Request) -> web.Response: diff --git a/maubot/management/api/middleware.py b/maubot/management/api/middleware.py index fa04edb..0ecb681 100644 --- a/maubot/management/api/middleware.py +++ b/maubot/management/api/middleware.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -13,15 +13,15 @@ # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . -from typing import Callable, Awaitable -import logging +from typing import Awaitable, Callable import base64 +import logging from aiohttp import web -from .responses import resp from .auth import check_token from .base import get_config +from .responses import resp Handler = Callable[[web.Request], Awaitable[web.Response]] log = logging.getLogger("maubot.server") @@ -29,7 +29,7 @@ log = logging.getLogger("maubot.server") @web.middleware async def auth(request: web.Request, handler: Handler) -> web.Response: - subpath = request.path[len(get_config()["server.base_path"]):] + subpath = request.path[len(get_config()["server.base_path"]) :] if ( subpath.startswith("/auth/") or subpath.startswith("/client/auth_external_sso/complete/") @@ -52,15 +52,18 @@ async def error(request: web.Request, handler: Handler) -> web.Response: return resp.path_not_found elif ex.status_code == 405: return resp.method_not_allowed - return web.json_response({ - "httpexception": { - "headers": {key: value for key, value in ex.headers.items()}, - "class": type(ex).__name__, - "body": ex.text or base64.b64encode(ex.body) + return web.json_response( + { + "httpexception": { + "headers": {key: value for key, value in ex.headers.items()}, + "class": type(ex).__name__, + "body": ex.text or base64.b64encode(ex.body), + }, + "error": f"Unhandled HTTP {ex.status}: {ex.text[:128] or 'non-text response'}", + "errcode": f"unhandled_http_{ex.status}", }, - "error": f"Unhandled HTTP {ex.status}: {ex.text[:128] or 'non-text response'}", - "errcode": f"unhandled_http_{ex.status}", - }, status=ex.status) + status=ex.status, + ) except Exception: log.exception("Error in handler") return resp.internal_server_error diff --git a/maubot/management/api/plugin.py b/maubot/management/api/plugin.py index 4429e11..ecd3c6a 100644 --- a/maubot/management/api/plugin.py +++ b/maubot/management/api/plugin.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -17,9 +17,9 @@ import traceback from aiohttp import web -from ...loader import PluginLoader, MaubotZipImportError -from .responses import resp +from ...loader import MaubotZipImportError, PluginLoader from .base import routes +from .responses import resp @routes.get("/plugins") diff --git a/maubot/management/api/plugin_upload.py b/maubot/management/api/plugin_upload.py index 7b5b5de..f187c71 100644 --- a/maubot/management/api/plugin_upload.py +++ b/maubot/management/api/plugin_upload.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -15,16 +15,16 @@ # along with this program. If not, see . from io import BytesIO from time import time -import traceback import os.path import re +import traceback from aiohttp import web from packaging.version import Version -from ...loader import PluginLoader, ZippedPluginLoader, MaubotZipImportError +from ...loader import MaubotZipImportError, PluginLoader, ZippedPluginLoader +from .base import get_config, routes from .responses import resp -from .base import routes, get_config @routes.put("/plugin/{id}") @@ -78,15 +78,20 @@ async def upload_new_plugin(content: bytes, pid: str, version: Version) -> web.R return resp.created(plugin.to_dict()) -async def upload_replacement_plugin(plugin: ZippedPluginLoader, content: bytes, - new_version: Version) -> web.Response: +async def upload_replacement_plugin( + plugin: ZippedPluginLoader, content: bytes, new_version: Version +) -> web.Response: dirname = os.path.dirname(plugin.path) old_filename = os.path.basename(plugin.path) if str(plugin.meta.version) in old_filename: - replacement = (str(new_version) if plugin.meta.version != new_version - else f"{new_version}-ts{int(time())}") - filename = re.sub(f"{re.escape(str(plugin.meta.version))}(-ts[0-9]+)?", - replacement, old_filename) + replacement = ( + str(new_version) + if plugin.meta.version != new_version + else f"{new_version}-ts{int(time())}" + ) + filename = re.sub( + f"{re.escape(str(plugin.meta.version))}(-ts[0-9]+)?", replacement, old_filename + ) else: filename = old_filename.rstrip(".mbp") filename = f"{filename}-v{new_version}.mbp" diff --git a/maubot/management/api/responses.py b/maubot/management/api/responses.py index 5fbedb8..8e07abb 100644 --- a/maubot/management/api/responses.py +++ b/maubot/management/api/responses.py @@ -1,5 +1,5 @@ # maubot - A plugin-based Matrix bot system. -# Copyright (C) 2019 Tulir Asokan +# Copyright (C) 2022 Tulir Asokan # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by @@ -16,296 +16,416 @@ from http import HTTPStatus from aiohttp import web -from sqlalchemy.exc import OperationalError, IntegrityError +from sqlalchemy.exc import IntegrityError, OperationalError class _Response: @property def body_not_json(self) -> web.Response: - return web.json_response({ - "error": "Request body is not JSON", - "errcode": "body_not_json", - }, status=HTTPStatus.BAD_REQUEST) + return web.json_response( + { + "error": "Request body is not JSON", + "errcode": "body_not_json", + }, + status=HTTPStatus.BAD_REQUEST, + ) @property def plugin_type_required(self) -> web.Response: - return web.json_response({ - "error": "Plugin type is required when creating plugin instances", - "errcode": "plugin_type_required", - }, status=HTTPStatus.BAD_REQUEST) + return web.json_response( + { + "error": "Plugin type is required when creating plugin instances", + "errcode": "plugin_type_required", + }, + status=HTTPStatus.BAD_REQUEST, + ) @property def primary_user_required(self) -> web.Response: - return web.json_response({ - "error": "Primary user is required when creating plugin instances", - "errcode": "primary_user_required", - }, status=HTTPStatus.BAD_REQUEST) + return web.json_response( + { + "error": "Primary user is required when creating plugin instances", + "errcode": "primary_user_required", + }, + status=HTTPStatus.BAD_REQUEST, + ) @property def bad_client_access_token(self) -> web.Response: - return web.json_response({ - "error": "Invalid access token", - "errcode": "bad_client_access_token", - }, status=HTTPStatus.BAD_REQUEST) + return web.json_response( + { + "error": "Invalid access token", + "errcode": "bad_client_access_token", + }, + status=HTTPStatus.BAD_REQUEST, + ) @property def bad_client_access_details(self) -> web.Response: - return web.json_response({ - "error": "Invalid homeserver or access token", - "errcode": "bad_client_access_details" - }, status=HTTPStatus.BAD_REQUEST) + return web.json_response( + { + "error": "Invalid homeserver or access token", + "errcode": "bad_client_access_details", + }, + status=HTTPStatus.BAD_REQUEST, + ) @property def bad_client_connection_details(self) -> web.Response: - return web.json_response({ - "error": "Could not connect to homeserver", - "errcode": "bad_client_connection_details" - }, status=HTTPStatus.BAD_REQUEST) + return web.json_response( + { + "error": "Could not connect to homeserver", + "errcode": "bad_client_connection_details", + }, + status=HTTPStatus.BAD_REQUEST, + ) def mxid_mismatch(self, found: str) -> web.Response: - return web.json_response({ - "error": "The Matrix user ID of the client and the user ID of the access token don't " - f"match. Access token is for user {found}", - "errcode": "mxid_mismatch", - }, status=HTTPStatus.BAD_REQUEST) + return web.json_response( + { + "error": ( + "The Matrix user ID of the client and the user ID of the access token don't " + f"match. Access token is for user {found}" + ), + "errcode": "mxid_mismatch", + }, + status=HTTPStatus.BAD_REQUEST, + ) def device_id_mismatch(self, found: str) -> web.Response: - return web.json_response({ - "error": "The Matrix device ID of the client and the device ID of the access token " - f"don't match. Access token is for device {found}", - "errcode": "mxid_mismatch", - }, status=HTTPStatus.BAD_REQUEST) + return web.json_response( + { + "error": ( + "The Matrix device ID of the client and the device ID of the access token " + f"don't match. Access token is for device {found}" + ), + "errcode": "mxid_mismatch", + }, + status=HTTPStatus.BAD_REQUEST, + ) @property def pid_mismatch(self) -> web.Response: - return web.json_response({ - "error": "The ID in the path does not match the ID of the uploaded plugin", - "errcode": "pid_mismatch", - }, status=HTTPStatus.BAD_REQUEST) + return web.json_response( + { + "error": "The ID in the path does not match the ID of the uploaded plugin", + "errcode": "pid_mismatch", + }, + status=HTTPStatus.BAD_REQUEST, + ) @property def username_or_password_missing(self) -> web.Response: - return web.json_response({ - "error": "Username or password missing", - "errcode": "username_or_password_missing", - }, status=HTTPStatus.BAD_REQUEST) + return web.json_response( + { + "error": "Username or password missing", + "errcode": "username_or_password_missing", + }, + status=HTTPStatus.BAD_REQUEST, + ) @property def query_missing(self) -> web.Response: - return web.json_response({ - "error": "Query missing", - "errcode": "query_missing", - }, status=HTTPStatus.BAD_REQUEST) + return web.json_response( + { + "error": "Query missing", + "errcode": "query_missing", + }, + status=HTTPStatus.BAD_REQUEST, + ) @staticmethod def sql_operational_error(error: OperationalError, query: str) -> web.Response: - return web.json_response({ - "ok": False, - "query": query, - "error": str(error.orig), - "full_error": str(error), - "errcode": "sql_operational_error", - }, status=HTTPStatus.BAD_REQUEST) + return web.json_response( + { + "ok": False, + "query": query, + "error": str(error.orig), + "full_error": str(error), + "errcode": "sql_operational_error", + }, + status=HTTPStatus.BAD_REQUEST, + ) @staticmethod def sql_integrity_error(error: IntegrityError, query: str) -> web.Response: - return web.json_response({ - "ok": False, - "query": query, - "error": str(error.orig), - "full_error": str(error), - "errcode": "sql_integrity_error", - }, status=HTTPStatus.BAD_REQUEST) + return web.json_response( + { + "ok": False, + "query": query, + "error": str(error.orig), + "full_error": str(error), + "errcode": "sql_integrity_error", + }, + status=HTTPStatus.BAD_REQUEST, + ) @property def bad_auth(self) -> web.Response: - return web.json_response({ - "error": "Invalid username or password", - "errcode": "invalid_auth", - }, status=HTTPStatus.UNAUTHORIZED) + return web.json_response( + { + "error": "Invalid username or password", + "errcode": "invalid_auth", + }, + status=HTTPStatus.UNAUTHORIZED, + ) @property def no_token(self) -> web.Response: - return web.json_response({ - "error": "Authorization token missing", - "errcode": "auth_token_missing", - }, status=HTTPStatus.UNAUTHORIZED) + return web.json_response( + { + "error": "Authorization token missing", + "errcode": "auth_token_missing", + }, + status=HTTPStatus.UNAUTHORIZED, + ) @property def invalid_token(self) -> web.Response: - return web.json_response({ - "error": "Invalid authorization token", - "errcode": "auth_token_invalid", - }, status=HTTPStatus.UNAUTHORIZED) + return web.json_response( + { + "error": "Invalid authorization token", + "errcode": "auth_token_invalid", + }, + status=HTTPStatus.UNAUTHORIZED, + ) @property def plugin_not_found(self) -> web.Response: - return web.json_response({ - "error": "Plugin not found", - "errcode": "plugin_not_found", - }, status=HTTPStatus.NOT_FOUND) + return web.json_response( + { + "error": "Plugin not found", + "errcode": "plugin_not_found", + }, + status=HTTPStatus.NOT_FOUND, + ) @property def client_not_found(self) -> web.Response: - return web.json_response({ - "error": "Client not found", - "errcode": "client_not_found", - }, status=HTTPStatus.NOT_FOUND) + return web.json_response( + { + "error": "Client not found", + "errcode": "client_not_found", + }, + status=HTTPStatus.NOT_FOUND, + ) @property def primary_user_not_found(self) -> web.Response: - return web.json_response({ - "error": "Client for given primary user not found", - "errcode": "primary_user_not_found", - }, status=HTTPStatus.NOT_FOUND) + return web.json_response( + { + "error": "Client for given primary user not found", + "errcode": "primary_user_not_found", + }, + status=HTTPStatus.NOT_FOUND, + ) @property def instance_not_found(self) -> web.Response: - return web.json_response({ - "error": "Plugin instance not found", - "errcode": "instance_not_found", - }, status=HTTPStatus.NOT_FOUND) + return web.json_response( + { + "error": "Plugin instance not found", + "errcode": "instance_not_found", + }, + status=HTTPStatus.NOT_FOUND, + ) @property def plugin_type_not_found(self) -> web.Response: - return web.json_response({ - "error": "Given plugin type not found", - "errcode": "plugin_type_not_found", - }, status=HTTPStatus.NOT_FOUND) + return web.json_response( + { + "error": "Given plugin type not found", + "errcode": "plugin_type_not_found", + }, + status=HTTPStatus.NOT_FOUND, + ) @property def path_not_found(self) -> web.Response: - return web.json_response({ - "error": "Resource not found", - "errcode": "resource_not_found", - }, status=HTTPStatus.NOT_FOUND) + return web.json_response( + { + "error": "Resource not found", + "errcode": "resource_not_found", + }, + status=HTTPStatus.NOT_FOUND, + ) @property def server_not_found(self) -> web.Response: - return web.json_response({ - "error": "Registration target server not found", - "errcode": "server_not_found", - }, status=HTTPStatus.NOT_FOUND) + return web.json_response( + { + "error": "Registration target server not found", + "errcode": "server_not_found", + }, + status=HTTPStatus.NOT_FOUND, + ) @property def registration_secret_not_found(self) -> web.Response: - return web.json_response({ - "error": "Config does not have a registration secret for that server", - "errcode": "registration_secret_not_found", - }, status=HTTPStatus.NOT_FOUND) + return web.json_response( + { + "error": "Config does not have a registration secret for that server", + "errcode": "registration_secret_not_found", + }, + status=HTTPStatus.NOT_FOUND, + ) @property def registration_no_sso(self) -> web.Response: - return web.json_response({ - "error": "The register operation is only for registering with a password", - "errcode": "registration_no_sso", - }, status=HTTPStatus.BAD_REQUEST) + return web.json_response( + { + "error": "The register operation is only for registering with a password", + "errcode": "registration_no_sso", + }, + status=HTTPStatus.BAD_REQUEST, + ) @property def sso_not_supported(self) -> web.Response: - return web.json_response({ - "error": "That server does not seem to support single sign-on", - "errcode": "sso_not_supported", - }, status=HTTPStatus.FORBIDDEN) + return web.json_response( + { + "error": "That server does not seem to support single sign-on", + "errcode": "sso_not_supported", + }, + status=HTTPStatus.FORBIDDEN, + ) @property def plugin_has_no_database(self) -> web.Response: - return web.json_response({ - "error": "Given plugin does not have a database", - "errcode": "plugin_has_no_database", - }) + return web.json_response( + { + "error": "Given plugin does not have a database", + "errcode": "plugin_has_no_database", + } + ) @property def table_not_found(self) -> web.Response: - return web.json_response({ - "error": "Given table not found in plugin database", - "errcode": "table_not_found", - }) + return web.json_response( + { + "error": "Given table not found in plugin database", + "errcode": "table_not_found", + } + ) @property def method_not_allowed(self) -> web.Response: - return web.json_response({ - "error": "Method not allowed", - "errcode": "method_not_allowed", - }, status=HTTPStatus.METHOD_NOT_ALLOWED) + return web.json_response( + { + "error": "Method not allowed", + "errcode": "method_not_allowed", + }, + status=HTTPStatus.METHOD_NOT_ALLOWED, + ) @property def user_exists(self) -> web.Response: - return web.json_response({ - "error": "There is already a client with the user ID of that token", - "errcode": "user_exists", - }, status=HTTPStatus.CONFLICT) + return web.json_response( + { + "error": "There is already a client with the user ID of that token", + "errcode": "user_exists", + }, + status=HTTPStatus.CONFLICT, + ) @property def plugin_exists(self) -> web.Response: - return web.json_response({ - "error": "A plugin with the same ID as the uploaded plugin already exists", - "errcode": "plugin_exists" - }, status=HTTPStatus.CONFLICT) + return web.json_response( + { + "error": "A plugin with the same ID as the uploaded plugin already exists", + "errcode": "plugin_exists", + }, + status=HTTPStatus.CONFLICT, + ) @property def plugin_in_use(self) -> web.Response: - return web.json_response({ - "error": "Plugin instances of this type still exist", - "errcode": "plugin_in_use", - }, status=HTTPStatus.PRECONDITION_FAILED) + return web.json_response( + { + "error": "Plugin instances of this type still exist", + "errcode": "plugin_in_use", + }, + status=HTTPStatus.PRECONDITION_FAILED, + ) @property def client_in_use(self) -> web.Response: - return web.json_response({ - "error": "Plugin instances with this client as their primary user still exist", - "errcode": "client_in_use", - }, status=HTTPStatus.PRECONDITION_FAILED) + return web.json_response( + { + "error": "Plugin instances with this client as their primary user still exist", + "errcode": "client_in_use", + }, + status=HTTPStatus.PRECONDITION_FAILED, + ) @staticmethod def plugin_import_error(error: str, stacktrace: str) -> web.Response: - return web.json_response({ - "error": error, - "stacktrace": stacktrace, - "errcode": "plugin_invalid", - }, status=HTTPStatus.BAD_REQUEST) + return web.json_response( + { + "error": error, + "stacktrace": stacktrace, + "errcode": "plugin_invalid", + }, + status=HTTPStatus.BAD_REQUEST, + ) @staticmethod def plugin_reload_error(error: str, stacktrace: str) -> web.Response: - return web.json_response({ - "error": error, - "stacktrace": stacktrace, - "errcode": "plugin_reload_fail", - }, status=HTTPStatus.INTERNAL_SERVER_ERROR) + return web.json_response( + { + "error": error, + "stacktrace": stacktrace, + "errcode": "plugin_reload_fail", + }, + status=HTTPStatus.INTERNAL_SERVER_ERROR, + ) @property def internal_server_error(self) -> web.Response: - return web.json_response({ - "error": "Internal server error", - "errcode": "internal_server_error", - }, status=HTTPStatus.INTERNAL_SERVER_ERROR) + return web.json_response( + { + "error": "Internal server error", + "errcode": "internal_server_error", + }, + status=HTTPStatus.INTERNAL_SERVER_ERROR, + ) @property def invalid_server(self) -> web.Response: - return web.json_response({ - "error": "Invalid registration server object in maubot configuration", - "errcode": "invalid_server", - }, status=HTTPStatus.INTERNAL_SERVER_ERROR) + return web.json_response( + { + "error": "Invalid registration server object in maubot configuration", + "errcode": "invalid_server", + }, + status=HTTPStatus.INTERNAL_SERVER_ERROR, + ) @property def unsupported_plugin_loader(self) -> web.Response: - return web.json_response({ - "error": "Existing plugin with same ID uses unsupported plugin loader", - "errcode": "unsupported_plugin_loader", - }, status=HTTPStatus.BAD_REQUEST) + return web.json_response( + { + "error": "Existing plugin with same ID uses unsupported plugin loader", + "errcode": "unsupported_plugin_loader", + }, + status=HTTPStatus.BAD_REQUEST, + ) @property def not_implemented(self) -> web.Response: - return web.json_response({ - "error": "Not implemented", - "errcode": "not_implemented", - }, status=HTTPStatus.NOT_IMPLEMENTED) + return web.json_response( + { + "error": "Not implemented", + "errcode": "not_implemented", + }, + status=HTTPStatus.NOT_IMPLEMENTED, + ) @property def ok(self) -> web.Response: - return web.json_response({ - "success": True, - }, status=HTTPStatus.OK) + return web.json_response( + {"success": True}, + status=HTTPStatus.OK, + ) @property def deleted(self) -> web.Response: @@ -320,15 +440,10 @@ class _Response: return web.json_response(data, status=HTTPStatus.ACCEPTED if is_login else HTTPStatus.OK) def logged_in(self, token: str) -> web.Response: - return self.found({ - "token": token, - }) + return self.found({"token": token}) def pong(self, user: str, features: dict) -> web.Response: - return self.found({ - "username": user, - "features": features, - }) + return self.found({"username": user, "features": features}) @staticmethod def created(data: dict) -> web.Response: diff --git a/maubot/management/frontend/public/index.html b/maubot/management/frontend/public/index.html index 43255d8..d3679bf 100644 --- a/maubot/management/frontend/public/index.html +++ b/maubot/management/frontend/public/index.html @@ -1,6 +1,6 @@

3LXWJV8K6|>Qa3(_9Z7Cq9o-HgWr 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 z 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 U000010096`0002@rV0Q606*uy=>Px# literal 615430 zcmd2=!*ebUkc@5Hwr#%Hwr$(C?H7KrZQHiBA7*Yn-8G6bpkQb~ zAV5$+Iqh+Ban2jR`X+24Aw3V_G+roK%njuD7v2im76Cl5HQ#| zC=k&9wkusbmm`kkA6lxth;@xd^U(>43{%>cX4$RnH1del(fd_juIOMob1G#?<<;}n zo4&oJ9U$l)ujGlH-BWkv$_6VssSrzMc!K7Rn7m(qh@L45~?R-^E20;AG$Q^8o3J0y_aU(zN;8GQVxdzviaAu zm*Nue*55^C7(K=v)Jx@FHS#_d{|=uo>sCxl291k97Nb5)v}AvdpWcSLzV!U-ro^?? ztdanoib!Q8C{N2uF~-@mcc^oHG}7#HfKFLTfHuH8U%iUP{F#TLCHufU*J0UNjRAJr zEN|5%%;u>{bH%!>W$@8O&wBh(b=0e-To1?F^%7v|$?tt9VgR1hi5TG!Li;P-!+TGn z>*-P4J&;yB)_s5Oj#UL9`uE(k&!DW|S2xe_1X0qTuq?{dsa6zl6z1t4NpW6#?LB{) zP!~J^-v)DY^9c;$q>Wg&l1KPre_!r_{S>l5is*|U3*nFEwh)8^m-f3#7^~_klgGuP z_fbXYnc-)kcf{y$S5fTKhw1r^Fbw~_TM_c|!pXOQi$L-_#{4nJ`fsx9(f$vZmG!T0 z`?JIX5@~p*8rx06pN~sN&+?C8|K-fVF9`&=yWJd>~?krH_ElFQ!X_{9l9jQowAQjm$kW3QsJ zKeI>rb!{tq{O^pOR(KY(-gn)-U3lHvx-q%)fGTufGA|>g>a|PzhT$G#HHuE1R0Ve> z)w;u0S`VjgE|B-)CT|pde#~a?*eIzUN3dx;jF5;y*EQie6SXe@PK2K)U492{{Bcr+ zV0X~R24Q;yWAU}X%>;(N8-iAwUvtoF z#gZouV?*q6H64a#0uC&LpY$V_3YvB-$85!;A}4JIMZ$_~jBaTM%JY31bapzf_GC;| zQ(G`M%3mp2d?EtF8AfW$WwQQ8y8I<-|H?C`nPf6?0lA9>X*pN*>W%@CH9huh6Ze~M z<=-)yk)6!&d9@n6OC`3C63bgiH)(uQnrb4&_nTulmRVT#2vk)TN0=SqRB>UsqOdbA z9iwH>koFY%l{r9_1e3|Tr93)?UZrtanRxn$nfN~{$0ptKM91XAL$aZgi(s~AxCJIr zz9t4@uOBkxM6|IuL-3lWxafkTR9ttoj`nXiQ$5ds9PU|fyx+pKMAQB$F}GMDmr)xQ6dDTt^6EYJFjvwu%DCmW>EfRG!j7%-O=;U7JtV^3ZrKD>K*4z3U?|NC zC`h?qDJ}l>(wS$YGJkQFT5+wOygAcBGz=7RmkSOv!N^!f5VkwayqjsjyH3i>s1yTL zJE!ztvgH30*X`ZQXR0GvM^iG9jzOVen3UE{(ZJI&>6ESqD|akDtq(;l>z*WnpQscRI*2uF1uqvDMNJWp zMy6@LVlpItomQ3y>8_UF%PqPrSHp-&(CDNXqhIBg67rKf;BJOH?4b6=@Wcf73!=Fi zLeWdf`#f3{Ajv8=Wa*0?7rfwk49GdSi=IJwKhOyT=sWb#A3%4NmtVeQhY}mz89WC_EQM zdbfc8f-_x*yj>t!fN;49oJQEv17Dl$^2SYEKQ;1{M#HKzPJ6bGi-TjxQ+=jbN`sZZ zCdVwwwviOF0$1f(ii}|vIhfFpe--eg z#&GBMT=aUyK^dBmfh^kPYMix2(vBB{XiIn zNeZ*Soy;h;2ArvA17+Q}WV|laIi8^k%y=2oHiOxo@8@+6!nco;=Z8FajIdmgREH7r ze`nxwxi<3_427{`T&@L}l?;$IBP?W7IswcGZ+t3Yw`gsT%*8+-Nht(s%P8t*keUXu zk){SjaDz*VpXd(Wt#UJH&yvbJ2j5-iVrZPKiXUjU^x6powa#qFtDLinKqV9iTgoOs zd;WL4Maz20xOgrq(-Bk0XF<>2RZSds-yRPASW1axWQ0tTj4NxQTq}0c2gIJ#&v&u$ zZ$qxxPHL>A85jMWK8DFugdG2S3(u~Rh7z=RcFnHNjK6y=vT zMh+K%^Gp>3xG%NTA7Y$%eV2h;rI;n0wgu>qoP1SAbND*yLEl_qa#)0Gt?pX&ig`UcSbPk#T288R^G)@8r>w~Z9+a}C$g15hqu1n(y$YNu?m?FQZEAbi-~#UJc6`_BPjQSY5isAH2xT)I(Q@J~Mz! z2XGf1MYYCat5n}lHQoN;!;j0M8Zttl@X$vgZbBl+NkD+rNy+$Ff5ON2!>nW9tMCS3ebOB?JP9tkq4rlP^GPk~h3E^1Gs*wbCi{D(g{DE}F zg1j?vbL_7AZqeBqudcF!&cs_tH|M0P=6eEQ=@a6N{7Z@ElO`}Qn-#5CXw>k-!4cWT z#=nVxm|9dqkCC?^z(8kQWp?GCVq$-}5#JMQyldj-hK>#_b}mC@4MV+gb=I!@ujWJQ z7S7%s5y>&=+>OJ;Ik$?koac{ACBBUP!?!%yN6?gXC=IkAtTZkj-6Y6!Osy5C6pPr% zLwfphEn*c2|AQi0j*?*anbbVgB^Nt?Qx0e8B(jM+6s7CN*#YZ495&I2EzJf|p&w)w z)b((D^s<`W!0#mlOFq}s?4Ijh`>f~A8Evf~MYCE8#lLLlyc6L38I`TBlUaGM^iu%h z8LaBDct?{RLy7w(;xh)Mvn5{imxIoxqR66f&>=Z^!lZeKc|!IhVh8!{lIo+Y)hlDf zOA;jC!_9GQtFY8kGondB(ykX_CMhi+m(gCaa^5_2jjN0#J%*!&CFd3wCt{;_I^7OR zP!MW*T2_)w2!4YwAhS04`Wsg}l1=YXR$~L(RygAyCU6@5yJZBTOsFa{EVm28)ieiW z)6fc6D8i0a10-ZhH9M;vc`rAwGZR!$&b}I`1rEY!6yX^2^$T05+d8m%V+^m$D~DBx zoNRq8wvAT0QJ#$U2_3xXR-DBS&6Xk@lu-V9|H3T7t;>KF!%B=9wu#^)hM`r^>bY6P4j-;U?!Nu4I3v)-YmyW6jy_cVmY7uY zbWGkhuC&B}B)Tx78-6XG8UM~d(N#qonid?@$!vvhB4=&awGK7|r~X|4=UDh=o@Ny@ zJ$5i;W*qnoGzmSIb4x631Zw3H9f#p#VF%A&EC|jvQex8S4PFwu;G94Nn!6V>q{@S# z!X15k9;!RN2f zBoIZGW4&J`angj&h&z#S<{I_~CrE`S--4)2sBcvGC2l&4A^K=T*=|j%Ol;@*jZ#c- zB^l;cTqFN}x`m&g4~!JcE#}LU2_^pI3v%a#nM1|cG4x%Qgh6n9$dZy+lZ-B+V1_3( zEU^IM9-O0Jt{1u-S4X^4UBZZ?+ViSscIyS%FfO5@TarcMq#6;(WG46_GqfG@s9EHO{2U#>-_c84iF$J2 z1Qp*3Mjh|@(oddQrEqiTW;WVWX}o=YjDL=IAQziRH4LBLUrhg6@Y36#{}5^0g*%5P z@w*VYt${UW;{Q0!JurSY;OCqgPG}w45e5s0oe&f+-2D(BCe_~DjFGLkU_Ol%ImFB9 zCP1D70hGWBbb?-vGikMx5^nLjN(Ukv+Pw7+ZhI1C?JEVBpANc7|xpiL% z!^o@xH!t~C&=KS(vIUdWvLNzy2R(6?Wu4MM2o>+$nymQ>C|#B2(pNpguT#Lge~*~q zF^WMOomdoH{N#BDX4I?lLc6GavGgs%jCzh8Pwu^gg`G(iV~%MhWt&9ltFZoKn2e80IkWpDsAA(y@HLl^HPm0trNU!FJc`XwX6dY{PO#xG$JZT~HtS$oY zcVd?51&USD(~KKtdl>^8LMiCfq zm=Z_?{kv#PPhl3bugG&*l{iYHH?>=sMQg^+hO@1*!MNC&U|hgBlp~JKgVwNvvFvE_BXHTBlp?w98Fnf9xbHO8#-XC5n?Hgr7uR3MFLm6}q&m5bRPv(MC7Ep2R z3ocIK=a)LrFn`6E9B6t;N41_oFmyX7a>?Ez1%qr?#kF)7jfrD`%xRYlTd21(EyV0e z%m9h3Qw%(rxlnjLALgJ?yo2qjwnD~I8@RW$=!Cblj}G}kt?`P-i5t+{3X1QiS6HN0R<~Vy%|N{oVm?B-F)w)^2J%s&IOZ+3aZC` zN>W0C{SQqPbs$e-9&sXjC3|H>9ZNSi*&s%GNDKC8DRjn zx~{lQVAs&c4ym)f#E`tZ<-+iCE{VEx$_yr-)#H%3AtXH0e2N94Uu0@yOyx*otr$M$(C*Pzt5yE(A+d7GQF+(-jNY!{BqV5V} zYE#CNiRW>!IMm|fLNUheDHiA>>h0i=Jg)MW%im00R`^!!RIn~nsJ@PmODbaT+BF`S z-2sz@&rp`Jd|jzh8853GmB!-DSDw}w)6266JzNT4l?~-*iokof(Xpd}F_rh;GV8dE zxzBTY65UF;ShbWyzl1YGMEuKu-8|R4VX=9|YWI@Gu~j@H(&arG%2w@cN8Iee5m?<6 z&*{A1@;wWx8<*h4A>N`|G|LH_%N8x8*urIhbf?QgtmHJN3pW6bM7mYCFWdY%*@-rn z%A~$5oxWs2;+O%|ecroE4016!7A5q!JiBImI724C>v4p_{G=s-*|eIX;VO3f+=gk; z^Zo!3^nE`87(CcvBim)r^LhWo(cN#WSw5g>wU69bQMCR@U5HXm`jec!Nr z-`YLT-e&mhw3t7xU`hfY^@)Dqegs2)=l1*FZ|1X{|6E+o{e5y$&gOtz_r*JVfhmSQ z;p{;I=GK1vf-@v1XG6Veh5%f}!}%XTGClrXb~Ae~8D#RP_bx+a5IkQ&)|>oPjuZWN zgw|-=z$9rk*bUm_(MxnFVN3$djkL5`3X5{_ejQ+Qk=Jd+N1iS_zpQ@xqB^&ziz5EF zL$jE%R+w&R$w6v}aL>_qFc09h7i$CCAs037*YF^O^j-1Zo*#5$Tfy{KgO{O8wX2Uj z3za#?n#lV;Nf3SUL$66#9{mEAxw&RxbtJk^UP!4jF6RZe!hGWAKo-c|Of~btC-aM( zeZ4zT0ev%~Pe7%>1M4@+9n0v!VKy6{1tMJtisvk$@4N2i?*w3OGdmz+hgssy;pHc+ z%Z^M2Q|uR})?!wZ2eyo!ckf2c!!oK>i(JN9Njk%!O9P%P7=?yf1U@l+#Uk(hn)8L# z9SkJ(YkYE=W;S~%4MU1(w}Ei)M<9nTgnlc>Cj_x)q-voEj8UO}r8&CTCq9SQ3SgEk zN;8{Ug4Kn@7Lby)WqR6~#oadMzdpsqDRW*T!}FTK>va4+wdUr>5rS`#c@ivlnJq2ULo}|lpCo#W@RMEpc}wo#o9xWQ6=u}+T@k{G!#WT~gKO`s^2vRs}!E>!0R0%m4LXwzoWlhK zsc8$OF#&9O9X7lwWl3Mphm^$mP|LNAY^gbzCe$L;nTZR$F=pC658Xcm53rVZveE0 z<6NNDl4Q2`=4cXFo}a~aDBbG`wB&mjtelurlFwJj2APC3v0h4CndOtKx&;h(Sls*2 z8zWG}en!B*A~Mx0vGZJ9R1`?9?ugze(LOR;7+ro11K|{oH$!_3iRaRA* zL1881fj3TZ<|CQL(|eM9@y{@4Gfr7XK$pr3!woTSd=mn8@l9_v6!Ovb+EvUbX)|UA z-s=X+@yq=zDx=I4m$uX%f%Uw4>HeDB*U(ITQ$uhk8a2%5ryEwqK@;`M;EIOZm(5PG zVflO$v6WUf82Q(?=Aq3p&H3c=Ci^Z0`4DdyvC`obXz?-Ek-4f zU&ddE8zdKv5EWeKG>y_hTpVJ+6G-w=Eukq8l(5n+FB>yyca)88gBf$8EVedq&*;(~ zy&9-4)o}Hgr2AGLDi3^DP#AFLF8);}JDxnk^nw6_7YU!?;zUm8i}bd$WQKvKod}3* zyZ1LJJ7BJwe`{t5^e;5VX~fm5nA>;eJFj6SlN9N@QWp8tB=>XdEZkgj>>_>5&#qAAE(C@fQ0Zh;=H3F(j=-3zFJ{i9J*q5QVW_$uJ z`V#gK_F-hQS1?_Y595h`TAVNM?HzuYQm})&@t!O$ILPXLxTk1Q?lD`TuK_)Y4vIPU zd4NC%GakAj*qS3axqU(_9K>2b60EME-Q=7c@NOHd>J&%9?^yE`LS{?>c)bRJn-6*sxZ)5)t~LlGzsAns#kxE`UJrA@ zZ3FDu=b98KelJJ_Zh+tBGrgc5660kxt;mG*yplVrOYy;4k=!03Anume<=N?WxPDSyoz z|MCqeoDqmOmSnV;zn8NUwz~=k$(Y_eF)Nc>B2cWo-lDNR zv%k(dz$E_LYA0ZupV&G>_N6%+He#mVVDIV-&pd-rD{UBt&;6GGQogyLF0#GI)4h1k z@CWIMA};FSacP&o_WgA7?Vn+pLO5j&|0xwBLiu)GxRx~MLqf1N$z{Ju#t(8u>4GF2 z^z0743xAzM9an$tn#AGb{zrdhn{kJirPK4|S*L@WE&VB~yFZiM9|d`$XO*r>;MlHq zao)8$Qjf*=dEg@1@m(>bZlz=>cnN)>J2z?MHnhCJ&p&m%!OR;-9EW{nu9eD>@1WAk zbdx9W3`N8TWN+JwHi~wzyI0ZGH2heD$MVdfF(&Dml-zr_d8y>NLWRDvuqq4}Da;e#5YU@+>!^8(I@ zT8~Y~apFQ+ep4Me+8s~WwuILG#i6#&3}*#02?&aCMDR1e_LcTk;Y}04Cn#mdcq?`I2fF$p8YLUzyV<0lLb$i z=#ulF)>gWXA9jhJo7gDyy&`VQOW^M4McNzP^_80ezXiV{w%+!eY{-1rlr%UZI4&MH zI~fc&V04K>u1&WyFLD|-!LQqba%=_8bQ-dzEUogvz@aPT;}(^diOYZc7xXuI#v?+-}&k9Sd5*?ap*bnVI-*NpSrLDAice}&?1>AdZxwPj)R zxz&$2O&Nw)&R8+fywo98gzL4l*A;(*8mUbFG!ldSDn`nE4W7ATW#)n!PoGDi!H?Z7 zO#|_ps~z=TTm=r&kJ@-J6s!=+x@H8F-ElDs{?2$|%$}9G|5-=Gg-jnUsBmzdpJM&H zawDshCo>8*)8F3{7+BXtL^L|lMDmy9z+1u*p+L>ueH{Mb5qU}#$uRc2vCa{`w;oPLvby;hrQBTT~@w3dcr-3tX!nF&yIyBO1 z9$~;6am4Q@>5~^%&CWY_hh0W#SIt<=z z-mJs3kl|Y`t2JdN!4&alh#~VQ=Q$%hDP7lS$B;eKz!!Yey^RD8w!_%7~pBMk;6jM>s&>lrO;}72^f6y?H>O>!omG#m7ooP4kWYfWb zK8I7l#$JeEN4Z&71Y}Cek&5^1{P*Kb&OJ2RmIdRk*-($@YuZHD#Kd`=&(y%p!TrL) z{hetur{-gp&*JgZjOC$z5`F@ObvF~6r!~@7*Yo$BlJ5qe8lV1SQ%`4aXU{MDoJE2= zZ-S(hwWBC}X&gBJ@gLrq7}-1YyA8(x1O4kwP{xFF$cI4RLK%LhfiXNh0!+$iyvO7) z#(RqG8GI8P6Y|ZswcEy>>;k$%6tB&*<aLstow-E8{5W?T)F@(w3hDbD_&o9RP!l5Z5NlM(>%0&A8 zUZ-20XvTpvlTciZ3fYt!s&EV+9fsS-Ns?EW;n%WC~t zAieL@fnzej5d~&oePe*&*hzzI>&$79a8_4}k;Mi^fWy094~wY5CYyZlInL^;$Rl?j zK?k#KDE5+VrO%e;64DvZ5$Zc^XpkFGJ8}7`KYj%?L4d&eiMBgx$TQ<7YPro~5inOd z;dQt{{i|^j?(T7wd555%0s)W)A50&Rc3uOiPX(#v!wwqg%!4PBzE;aZyqXxLA?5XiI)_8wkJJ4KSYL1TtVq=WQHIWHZlE zhd1d5=9sBjb5q2vMwN3NK$wS)b_{dXRHRIX4AWt^+rCg*U&iU_HVw{8aLh}o*@fuW z<5554?l7o}`c+^TJyr&N&Jr(c-V}onY$@j zxE%;%`Tf&b&_~gkR7>;}`dyqK060E1L!psY`zBcu2jICB>YHkQY|{3USfogBu0KwoE|7&CqNnuazaQK&Ibr^e;~iViobG)a;#4L zq_SoFwZ>T|@;XsA>NTpXV{d9TFExhA8vd|8WfqMaPTTI}nDKNa6Hq$=^LXm;$ zcB7haQtgb)CsUgjfh3~ol%CnD6o%%{-8-Bwhj!JE#*@1kiSL}}+y?oQFBw*}7II}5 zbw-mI)4z`%5IaE7 zx-yV8;NuR26)stC&v=v^sB{n$lrt?@>uG)A9`}JeSEG#+f-yojWoM|wWA=A^V1k>Q zppQ%30Hycs)Y0L~xjTjcxocjb*wI3jh}wj@!3qR=p%oGpVR3%9>9kXlL*^^XS!)hi zS7*ENd4d@fm+)Mayp|oFdgA?O0Ga)<=h0$Tnp21yn|u>qYW0tSJ=(rfyMajo6zpJ^ zc)^$zkjk{vae+w1Mq!153KGQKeah%?y)A?&@|zxkkXGBv1hy)orBSUh+RAPQlCI|8 zVM>60e$+_<5eC2b^lUN$d_(7#vAq zdaepxPE`6`_ww4qZ?8&rTE~TbExT|}@X?@gK%t|G3W-36ivy!dK`28)TSg2AQz@Y7~WkLC5=0(GXT3+VIBf+Xw%nT^4;F zjkEo{zFPa}^NAfS5rx*CYU}im*1%}y%pc1?-`R7x=k1$fqvusfK7;-(>l4}-ypc;{ zp^?M8>=$9Al9sN^^o$yw&p^gLikw9P%dShXfj})OU~h+ zFdk%~Fvz$DtsZG~aKTlct!r-MC%XnhcGQ|FigD6Tm`_klIkEG~TsHPZ=LfTzN5G4B z1DnH$J8>qH_LW zFw(pr)*WE!(<9lbnDoieb-AoXIGwtQyT$>Tt+T8KZiumEYdk~h7dIW|PFNj0{W${Z zd>z4W1MZEgWumgVH+5?DK{+ZNxQRvP5ZCW8r6O6CK+ncQQvj`?1Y@euk@HewTjI7EXeTt|G<=Y=uPus2-69bFI=+*iFzNVU&(<{XTd7C~q_ry?OS8X^g zu>6Q#6bw@_ZJqm=ua%Er+9uI9x#w@8oNr9Zu^T9DT$^TY)jJiRgO$9db}0jWIT#_QK?Y} z=sfEX<{xEU=GZSX7&@5ns%@R=$P(N@$$8j@`}o+KW;$U5Qc^ds&9%Y`v#7$a=cdji zVV)FVD=dligUb4XW}a=d?qw9ia8!{MS`tj5b@YAnZ6);CSwU2G6kb$BWyGPCH$m7l}cT!jlw(Y%1RBbTic>wcD~P_A`zdxKBw*hqVObGq^D zEAIJJY3fz3>@0e(|E zM8xQ(q&=-<387qjuQtKU)Cklva|b?t9`c88a zDTZ`aFVtMO3`FV0ocfuElFLdS7|=|njkuA<;=gZr09-l?a5|DaCQ_YRLWoM$K@d}5 zibf5FoqJI{^ou~pg{R7H42-f@2=PDgZNe09MfU~mF-b$t>f#56p<@_P6l}#4Kt+UpmY0snh0Mukt2q3 zIjN{l0VjpPCb@>O;qgYfICuwxv&DPPufdTY#>zx_ouafL@P1{{+oqRJKahX{#8+e| zRLPklIy*1sjw=~UX+>ma6pM>yX^C=8h?S0S>}f2;&|+{6ciOOHE03&!Sg}-6K`oo= zgsQbyg|@~8Y_$R!$?eg!qAlT%6c3dHSDMgO>x2Qh_>rSg&X-%-t#&HCXVAtov^++L z(>o9T?ivuoiw8ZO$sYkR3-qHiMo*KbVb-m~VI7S%wd#-LY9X`SMki5pDwKWBX3Y7h z)_n6&%z{UseXJ3!AQcvm%;sbXmf`yR+<@n)I}2oU!iwc2vv+g0E!#;ku--1`QYS_D$77kkinP+=w|_)wvi4+7Q1 ze9GprKTaR-P6FL2L7fSj6`eticco;q4w#JLLkwyy7X*G+iab{4hH01R9Oc|J$cKYPI$kK_s^) zI{`zF9vUOwi*h9(jcH4G2;Um3U86nRtGri3I+U!~hX0JWu&0|uEKQy8uxIEr-7+(n zzK0ao9Bqghb2ITGi^X@4jt(*i6fUR&CbPfPs)wXQPI%tC7=JmHf^35*C+jq^n~xv< z4h)RGNQGwHIq%Zyqq3>)6H}F#7Y_kER1=6)lsiiVf5Z9XphZ9#L2o~4uxAsnAh`xs zYY)vb>)+)woL9B9%=Qx1nDJ=a6>VMF+eup{JtkN@KeamO2jH!v5aHnr+zaKI%BTf1 zjRA$9HD?%$t!jiOk^`;MT~WODh1i1l!Q_Vupx1{vo>bbn_~@~xsY5ggC4L1*n-=DY z$-)X|g0!9CA=-&F9?+r%%RnP2A}@yE!rMt5swEqfH!5-V(XIt#n!k@4ySb@zgm5|0 zjdVLkgc@8gvL9+$Ip+9Y^acdR3XLQ?hR_>7J=Fgd5f&_y?o8-0;7G%>>d+6O;nwc zPA{&Wz$>c(=H=1%dVqk^cx2pK9~=u;1<<~xrgBEz-7Slifn~I`^BRCrQ3B9uhg^+V zdU*0+6Gxmc+#djr4sa`|Pp#*Au1@YP!CC-abrEBA65PJGo?v_R;GIAmoQUILC9Y3v zs8oLZIQV_o1wv6wXqbff9TA8IR|$>Z2U|g(vp47GWImtXu8H`AOMCHpE``NwegVFT zJ^Ta(v55Kyk3jSBVNDyCL*G3M%*DHeT^UD+m1rJpLFQk4yRe_f*oG#%8an#97A4FA z(XgSF-I=s;E>s@7f;*yrzF}$V+(Az|PkY^+BTY)wCTwUUkwbpj(WVc$?Ohu>-wi#; zOzX`__~Gd=1Gnak3MDpn&rd90O~0CQ^j^goj!y6M4G&mS#Ry~F^=u->ZW|}g-_GtC z;s@`~Ex80{>sR;Ru=1Tf_qppJm;&tcV*SI_9KGuiclZguKPxYljOqJL!t1uZLl&A< ze%-Hj5mnIU0`i^cI|_b1?8))X9l~!bMi26;kzOUJgP}0PaaH>SA{Y^ju=Hc=^>^5( z*uh4@PAwhY%->*Omfg_z0UfeDbA`vgaK8rv9)LNy7XkR#Ey-Vhn8)*}2o(6da)o?fLiJ_QQl78pTAb&A5OZ_8Q*9m_ zi}gvt@7~FYTLM2Z)dBcSlgrbS>4@&&E56+rOQSDkBfp_oL#RxBb zmqp}T#{}RG5=){k_I;cIQSg6|ubvyBX3-vM<2I<=e-1ij?%x?J@-lKgant69ZWm1^ z@3-av`H;9HIDOhYxN3_UGP8o>r72O?A9Y&l{+^O`ze;W=NGKmWD=B9MnhL#VUuE1^ zaq7&yHW@2^urWm#ty@u;$izm8>LM*u*2(wk>M&K6Y1CD3}Uy2%% zBcLjJ!h_k!ZK`~oim~z=Q6`oR+ym?EqTvH$FF5lGcN7&me2}vdhoVX|;NB%rhJu_y zprb|#k6soXgTGyLMTSPgz?dE=BC}=fclI$Zs{eV3ljU{VQH-^eC8I!RX)1CFs2nsE zS7*oIAv-kOK?y{GtILHIs;=5kWwmHxR+BFDgc6;$Nz zzIVyYZk~$$ApfR(mv55NmwFI26J@Nwj$nc2XhAfw@Iq*h29$fKupBh2F;F0&YN2?c zBHRILQ`(76GTXIT;RXE{cag5yScdNLo_O{K@x3{92Gk11lXSW`N_~rHPOzS9MNo&aDrD9 z(Vsu5x@t@kfJgFT)GdSH_;rwndL%uAY9Vn0BW#^4$8hKipqDD%U=>614)p6Y?i&GVe~*JUH@YhoPQsc*D{cv) zW=H(kfAUwWy6U8YIKTKu;Oe!{yF!$I^y%c74ij_e8MaIFv7W51iE}JXg%Ln+Q9IVI z6qSSV>GiAZ@1gyeeSn_$>XxUWm`L$f%2dmMn$o6;FyRP|C^x=`NcCv{g2bY5!6Ti} zd4VLf7pN*vD_uSTH--7td|%rs;96M3*dgsDx!O3s&x3??QIJc}*4!O~+LP|2POlI* z9fV(qZfO11haCLbFRXqESvN2Ikt%RV6yQR2Lj|VKy;g^r&%Lt)*&BQ4{264;cI`is zv1{88>4!3x%-y_|ki@(rVNkH63(m4uJP^aqmR|B}Zb7VI!FGq#!1B{YNsty6h@CbT zuG3RhzAIgsvG4G!z#>z_ka-^J7oGRmQ#$>}4^BmG=O=uj7c1b4XLmm+=NcS9q^TwR zH=6d0wx)s!B79Y_&F4Qwy;V7z%wiHm&P^u!!aJF6NYJjX= z{Id75Uf@oq?7vWDTe77iwahmPPvfA%Us0PfgF`ny*YN@?ew)~&HLP33ys-vr%I%vs zZpB6F!A}?$g=TY_0_VigAFd@*AA>@di4T(j8G;4C_*7SSS=IR)L-G2rlVV+J)5_aqmYSA{7P)<55`~d1o8}$NzPx=P=X&`ZV3L z&PF)mw&rffbnT7r`mxRF4oUAvI9EqboH`P%C`%0Xu7p&AP(l{3wc0reX&S|T4*RWj zK6=__cbx$nA=3cWEmEQ-0yS{Tq9v&nU~ti@*A)j|#V@m#OBzZ?Q`&Cd8q1>%PWiX0 z8u_|GU%Ot#B-6K}V-|EIS&GpzpCSSsfl;T6x|4~(;m1fvI9Rif5L)`4=VPv@pj~Wa zKb3#}1U;8g!2q419`KH^-0m2NsuxTyL|Iu8o-t3SMcEuz6GKA~dOk9oP|=s4A`Igb z{IHbW@Xu6p9V*(0GBJ))!EfFCzHB7uMD~VMc$NM#yV_mue$!AX)oKi!ju^)z6C@>~ zZXrg;wzX_O#{?iC@?Tb6zy_ndTgi%#U5EL{{X_xB)qLo%!TJZ04nSKkS2og^s2IEdjiU#}dIrwxVB@8t zEH1C}u-Hb=3=I-f94Y;^1nMg(j5%USw78Yph)a?y;N`fpR<7@1;W8+PTM&Z7J<>?A z)mI*JCBD$v^lu!q{qp+e#S^Sg;h-T$SukBZWZSfsH!smeNH@?5c`XBxotwL?G1Cy| zgiWGcH*G4CPJzk49zBmAcmXvwq7Eat2JvXwdD)d;+}W1CD^qMQdio;||HWVlr}F8E z&y2fd4h~(*zG8gy{D2vKpW75Z*T7GyRXCS0cv^e~>Xw+EG=XLi1Oi_nrV|X3CEPH` zBlT#!eoRQ;ah_?Yeo_tCG}PyJEjW+Q7zVc{?0-1B$KcGuhF#OKZQHhO+eyc^^Tf7o z+qP|WY;FIax{mp!Ps-|XY{;%JwYTfI&&f7>wfMSxSA`L{WgWgMWOTf#6{wS+y z#CU{tsl|u}s<(GxRs70K_DMv}JDRcw%#_;g2toKn4B1PMFhIOUAhbZ`%1RTd<+rPO zk}QZ*(;=ElA#K4k4a?@+0wQDvth(oop%aojpj7$2Aoe~5dXO<~(&Rvu35i`ZF+VkZ z)Q6%6_>D43ODZB!H^|B40_R2VV!(3QXyw{Y0Q(ncXMKnB`ergJk!*C6Q<-e!=$g1g`|B+`=4S_Sw%R$ z7N90~eJ1ebJb}rVZ9^hI%YiYYJGhSWYSQk$Weg zo_{7d!AKPK1M~U4?$3fv&nwmX!$--PveeCGmSz6cr5@`<+ntBa!bl@aZh*dq(H>zU z$t9Y&N-*}b(cHmpd|S6P2h-Yn(3PbhHJ73+qCoI!m0NIgDv=OjbAPA6QZtR~e~0nO zpme5V%0A?eWb9pZW;YD;^Ho^wWRk$nnNNksAp8KM}%CbHbi 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