From 619735fea08d40aaf42625ee746ffc6a18cb4533 Mon Sep 17 00:00:00 2001 From: Alex <alex.tran1502@gmail.com> Date: Sat, 19 Feb 2022 22:42:10 -0600 Subject: [PATCH] Implemented image tagging using TensorFlow InceptionV3 (#28) * Refactor docker-compose to its own folder * Added FastAPI development environment * Added support for GPU in docker file * Added image classification * creating endpoint for smart Image info * added logo with white background on ios * Added endpoint and trigger for image tagging * Classify image and save into database * Update readme --- Makefile | 6 +- README.md | 12 +- {server => docker}/.env.example | 0 docker/.gitignore | 1 + docker/docker-compose.gpu.yml | 95 + {server => docker}/docker-compose.yml | 41 +- docker/settings/nginx-conf/nginx.conf | 35 + machine_learning/.dockerignore | 1 + machine_learning/.gitignore | 2 + machine_learning/Dockerfile | 22 + machine_learning/Pipfile | 17 + machine_learning/Pipfile.lock | 629 + .../app/imagenet_class_index.json | 1002 ++ machine_learning/app/main.py | 51 + .../sc2.PNG => machine_learning/app/test.png | Bin machine_learning/requirements.txt | 6 + .../AppIcon.appiconset/Contents.json | 158 +- .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin 5661 -> 0 bytes .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin 9141 -> 0 bytes .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin 13720 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin 13720 -> 0 bytes .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin 22193 -> 0 bytes .../immich-logo-1024-1024.png | Bin 0 -> 120577 bytes .../immich-logo-1024-20.png | Bin 0 -> 2146 bytes .../immich-logo-1024-20@2x.png | Bin 0 -> 3871 bytes .../immich-logo-1024-20@3x.png | Bin 0 -> 6001 bytes .../immich-logo-1024-29.png | Bin 0 -> 2905 bytes .../immich-logo-1024-29@2x.png | Bin 0 -> 5746 bytes .../immich-logo-1024-29@3x.png | Bin 0 -> 9086 bytes .../immich-logo-1024-40.png | Bin 0 -> 3871 bytes .../immich-logo-1024-40@2x.png | Bin 0 -> 8274 bytes .../immich-logo-1024-40@3x.png | Bin 0 -> 13360 bytes .../immich-logo-1024-60@2x.png | Bin 0 -> 13360 bytes .../immich-logo-1024-60@3x.png | Bin 0 -> 21734 bytes .../immich-logo-1024-76.png | Bin 0 -> 7816 bytes .../immich-logo-1024-76@2x.png | Bin 0 -> 17790 bytes .../immich-logo-1024-83.5@2x.png | Bin 0 -> 19756 bytes server/entrypoint.sh | 2 + server/package-lock.json | 10598 +--------------- server/package.json | 6 +- .../src/api-v1/asset/entities/asset.entity.ts | 4 + .../asset/entities/smart-info.entity.ts | 19 + server/src/config/database.config.ts | 26 +- .../redis-io.adapter.middleware.ts | 16 +- .../1645130759468-CreateUserTable.ts | 22 + .../1645130777674-CreateDeviceInfoTable.ts | 26 + .../1645130805273-CreateAssetsTable.ts | 31 + .../1645130817965-CreateExifTable.ts | 42 + .../1645130870184-CreateSmartInfoTable.ts | 30 + .../background-task/background-task.module.ts | 3 +- .../background-task.processor.ts | 19 + .../background-task.service.ts | 11 + .../image-optimize/image-optimize.module.ts | 20 +- .../image-optimize.processor.ts | 16 + 54 files changed, 2297 insertions(+), 10672 deletions(-) rename {server => docker}/.env.example (100%) create mode 100644 docker/.gitignore create mode 100644 docker/docker-compose.gpu.yml rename {server => docker}/docker-compose.yml (57%) create mode 100644 docker/settings/nginx-conf/nginx.conf create mode 100644 machine_learning/.dockerignore create mode 100644 machine_learning/.gitignore create mode 100644 machine_learning/Dockerfile create mode 100644 machine_learning/Pipfile create mode 100644 machine_learning/Pipfile.lock create mode 100644 machine_learning/app/imagenet_class_index.json create mode 100644 machine_learning/app/main.py rename design/sc2.PNG => machine_learning/app/test.png (100%) create mode 100644 machine_learning/requirements.txt delete mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png delete mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png delete mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png delete mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png delete mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-1024.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-20.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-20@2x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-20@3x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-29.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-29@2x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-29@3x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-40.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-40@2x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-40@3x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-60@2x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-60@3x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-76.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-76@2x.png create mode 100644 mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-83.5@2x.png create mode 100644 server/entrypoint.sh create mode 100644 server/src/api-v1/asset/entities/smart-info.entity.ts create mode 100644 server/src/migration/1645130759468-CreateUserTable.ts create mode 100644 server/src/migration/1645130777674-CreateDeviceInfoTable.ts create mode 100644 server/src/migration/1645130805273-CreateAssetsTable.ts create mode 100644 server/src/migration/1645130817965-CreateExifTable.ts create mode 100644 server/src/migration/1645130870184-CreateSmartInfoTable.ts diff --git a/Makefile b/Makefile index 203a4eea45..508e0115aa 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,8 @@ dev: - docker-compose -f ./server/docker-compose.yml up + docker-compose -f ./docker/docker-compose.yml up dev-update: - docker-compose -f ./server/docker-compose.yml up --build -V + docker-compose -f ./docker/docker-compose.yml up --build -V dev-scale: - docker-compose -f ./server/docker-compose.yml up --build -V --scale immich_server=3 --remove-orphans + docker-compose -f ./docker/docker-compose.yml up --build -V --scale immich_server=3 --remove-orphans diff --git a/README.md b/README.md index 77fee764ee..117456bd6a 100644 --- a/README.md +++ b/README.md @@ -44,13 +44,15 @@ You can use docker compose for development, there are several services that comp 2. PostgreSQL 3. Redis 4. Nginx +5. TensorFlow and Keras ## Populate .env file -Navigate to `server` directory and run +Navigate to `docker` directory and run -```` +``` cp .env.example .env +``` Then populate the value in there. @@ -59,13 +61,13 @@ Pay attention to the key `UPLOAD_LOCATION`, this directory must exist and is own To start, run ```bash -docker-compose -f ./server/docker-compose.yml up -```` +docker-compose -f ./docker/docker-compose.yml up +``` To force rebuild node modules after installing new packages ```bash -docker-compose -f ./server/docker-compose.yml up --build -V +docker-compose -f ./docker/docker-compose.yml up --build -V ``` The server will be running at `http://your-ip:2283` through `Nginx` diff --git a/server/.env.example b/docker/.env.example similarity index 100% rename from server/.env.example rename to docker/.env.example diff --git a/docker/.gitignore b/docker/.gitignore new file mode 100644 index 0000000000..2eea525d88 --- /dev/null +++ b/docker/.gitignore @@ -0,0 +1 @@ +.env \ No newline at end of file diff --git a/docker/docker-compose.gpu.yml b/docker/docker-compose.gpu.yml new file mode 100644 index 0000000000..3b64483db2 --- /dev/null +++ b/docker/docker-compose.gpu.yml @@ -0,0 +1,95 @@ +version: "3.8" + +services: + immich_server: + image: immich-server-dev:1.0.0 + build: + context: ../server + target: development + dockerfile: ../server/Dockerfile + command: npm run start:dev + expose: + - "3000" + volumes: + - ../server:/usr/src/app + - ${UPLOAD_LOCATION}:/usr/src/app/upload + - /usr/src/app/node_modules + env_file: + - .env + depends_on: + - redis + - database + networks: + - immich_network + + redis: + container_name: immich_redis + image: redis:6.2 + networks: + - immich_network + + database: + container_name: immich_postgres + image: postgres:14 + env_file: + - .env + environment: + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_DB: ${DB_DATABASE_NAME} + PG_DATA: /var/lib/postgresql/data + volumes: + - pgdata:/var/lib/postgresql/data + ports: + - 5432:5432 + networks: + - immich_network + + nginx: + container_name: proxy_nginx + image: nginx:latest + volumes: + - ./settings/nginx-conf:/etc/nginx/conf.d + ports: + - 2283:80 + - 2284:443 + logging: + driver: none + networks: + - immich_network + depends_on: + - immich_server + + immich_tf_fastapi: + container_name: immich_tf_fastapi + image: tensor_flow_fastapi:1.0.0 + restart: always + command: uvicorn app.main:app --proxy-headers --host 0.0.0.0 --port 8000 --reload + build: + context: ../machine_learning + target: gpu + dockerfile: ../machine_learning/Dockerfile + deploy: + resources: + reservations: + devices: + - driver: nvidia + count: 1 + capabilities: [gpu] + volumes: + - ../machine_learning/app:/code/app + - ${UPLOAD_LOCATION}:/code/app/upload + ports: + - 2285:8000 + expose: + - "8000" + depends_on: + - database + networks: + - immich_network + + +networks: + immich_network: +volumes: + pgdata: diff --git a/server/docker-compose.yml b/docker/docker-compose.yml similarity index 57% rename from server/docker-compose.yml rename to docker/docker-compose.yml index 39d48c4288..8298eac721 100644 --- a/server/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,18 +1,18 @@ -version: '3.8' - +version: "3.8" services: immich_server: image: immich-server-dev:1.0.0 build: - context: . + context: ../server target: development - dockerfile: ./Dockerfile - command: npm run start:dev - expose: + dockerfile: ../server/Dockerfile + entrypoint: ["/bin/sh", "./entrypoint.sh"] + # command: npm run start:dev + expose: - "3000" volumes: - - .:/usr/src/app + - ../server:/usr/src/app - ${UPLOAD_LOCATION}:/usr/src/app/upload - /usr/src/app/node_modules env_file: @@ -27,7 +27,7 @@ services: container_name: immich_redis image: redis:6.2 networks: - - immich_network + - immich_network database: container_name: immich_postgres @@ -44,7 +44,7 @@ services: ports: - 5432:5432 networks: - - immich_network + - immich_network nginx: container_name: proxy_nginx @@ -61,7 +61,28 @@ services: depends_on: - immich_server + immich_tf_fastapi: + container_name: immich_tf_fastapi + image: tensor_flow_fastapi:1.0.0 + restart: always + command: uvicorn app.main:app --proxy-headers --host 0.0.0.0 --port 8000 --reload + build: + context: ../machine_learning + target: cpu + dockerfile: ../machine_learning/Dockerfile + volumes: + - ../machine_learning/app:/code/app + - ${UPLOAD_LOCATION}:/code/app/upload + ports: + - 2285:8000 + expose: + - "8000" + depends_on: + - database + networks: + - immich_network + networks: immich_network: volumes: - pgdata: \ No newline at end of file + pgdata: diff --git a/docker/settings/nginx-conf/nginx.conf b/docker/settings/nginx-conf/nginx.conf new file mode 100644 index 0000000000..cb6edc3638 --- /dev/null +++ b/docker/settings/nginx-conf/nginx.conf @@ -0,0 +1,35 @@ + +map $http_upgrade $connection_upgrade { + default upgrade; + '' close; +} + +# events { +# worker_connections 1000; +# } + +server { + + client_max_body_size 50000M; + + listen 80; + + location / { + proxy_buffering off; + proxy_buffer_size 16k; + proxy_busy_buffers_size 24k; + proxy_buffers 64 4k; + proxy_force_ranges on; + + proxy_http_version 1.1; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + proxy_set_header Host $host; + + proxy_pass http://immich_server:3000; + } +} diff --git a/machine_learning/.dockerignore b/machine_learning/.dockerignore new file mode 100644 index 0000000000..19120dc435 --- /dev/null +++ b/machine_learning/.dockerignore @@ -0,0 +1 @@ +devenv/ \ No newline at end of file diff --git a/machine_learning/.gitignore b/machine_learning/.gitignore new file mode 100644 index 0000000000..ac9358e79e --- /dev/null +++ b/machine_learning/.gitignore @@ -0,0 +1,2 @@ +app/__pycache__ +/devenv \ No newline at end of file diff --git a/machine_learning/Dockerfile b/machine_learning/Dockerfile new file mode 100644 index 0000000000..ded34b2fb4 --- /dev/null +++ b/machine_learning/Dockerfile @@ -0,0 +1,22 @@ +## GPU Build +FROM tensorflow/tensorflow:latest-gpu as gpu + +WORKDIR /code + +COPY ./requirements.txt /code/requirements.txt + +RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt + +COPY ./app /code/app + + +## CPU BUILD +FROM python:3.8 as cpu + +WORKDIR /code + +COPY ./requirements.txt /code/requirements.txt + +RUN pip install --no-cache-dir --upgrade -r /code/requirements.txt + +COPY ./app /code/app \ No newline at end of file diff --git a/machine_learning/Pipfile b/machine_learning/Pipfile new file mode 100644 index 0000000000..1d3bdf9867 --- /dev/null +++ b/machine_learning/Pipfile @@ -0,0 +1,17 @@ +[[source]] +url = "https://pypi.python.org/simple" +verify_ssl = true +name = "pypi" + +[packages] +fastapi = "<0.69.0,>=0.68.0" +pydantic = "<2.0.0,>=1.8.0" +uvicorn = "<0.16.0,>=0.15.0" +tensorflow = "~=2.8.0" +numpy = "==1.22.2" +pillow = "==9.0.1" + +[dev-packages] + +[requires] +python_version = "3.8" diff --git a/machine_learning/Pipfile.lock b/machine_learning/Pipfile.lock new file mode 100644 index 0000000000..4000cf17af --- /dev/null +++ b/machine_learning/Pipfile.lock @@ -0,0 +1,629 @@ +{ + "_meta": { + "hash": { + "sha256": "3acf9bcf1b74370cbdac742fee64295572085d1c0d3e4ba38b0fc3ae2c7d846a" + }, + "pipfile-spec": 6, + "requires": { + "python_version": "3.8" + }, + "sources": [ + { + "name": "pypi", + "url": "https://pypi.python.org/simple", + "verify_ssl": true + } + ] + }, + "default": { + "absl-py": { + "hashes": [ + "sha256:84e6dcdc69c947d0c13e5457d056bd43cade4c2393dce00d684aedea77ddc2a3", + "sha256:ac511215c01ee9ae47b19716599e8ccfa746f2e18de72bdf641b79b22afa27ea" + ], + "version": "==1.0.0" + }, + "asgiref": { + "hashes": [ + "sha256:2f8abc20f7248433085eda803936d98992f1343ddb022065779f37c5da0181d0", + "sha256:88d59c13d634dcffe0510be048210188edd79aeccb6a6c9028cdad6f31d730a9" + ], + "version": "==3.5.0" + }, + "astunparse": { + "hashes": [ + "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872", + "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8" + ], + "version": "==1.6.3" + }, + "cachetools": { + "hashes": [ + "sha256:486471dfa8799eb7ec503a8059e263db000cdda20075ce5e48903087f79d5fd6", + "sha256:8fecd4203a38af17928be7b90689d8083603073622229ca7077b72d8e5a976e4" + ], + "version": "==5.0.0" + }, + "certifi": { + "hashes": [ + "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872", + "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569" + ], + "version": "==2021.10.8" + }, + "charset-normalizer": { + "hashes": [ + "sha256:2857e29ff0d34db842cd7ca3230549d1a697f96ee6d3fb071cfa6c7393832597", + "sha256:6881edbebdb17b39b4eaaa821b438bf6eddffb4468cf344f09f89def34a8b1df" + ], + "markers": "python_version >= '3'", + "version": "==2.0.12" + }, + "click": { + "hashes": [ + "sha256:353f466495adaeb40b6b5f592f9f91cb22372351c84caeb068132442a4518ef3", + "sha256:410e932b050f5eed773c4cda94de75971c89cdb3155a72a0831139a79e5ecb5b" + ], + "version": "==8.0.3" + }, + "fastapi": { + "hashes": [ + "sha256:36bcdd3dbea87c586061005e4a40b9bd0145afd766655b4e0ec1d8870b32555c", + "sha256:38526fc46bda73f7ec92033952677323c16061e70a91d15c95f18b11895da494" + ], + "index": "pypi", + "version": "==0.68.2" + }, + "flatbuffers": { + "hashes": [ + "sha256:12158ab0272375eab8db2d663ae97370c33f152b27801fa6024e1d6105fd4dd2", + "sha256:3751954f0604580d3219ae49a85fafec9d85eec599c0b96226e1bc0b48e57474" + ], + "version": "==2.0" + }, + "gast": { + "hashes": [ + "sha256:211aac1e58c167b25d3504998f2db694454a24bb1fb1225bce99420166f21d6a", + "sha256:cfbea25820e653af9c7d1807f659ce0a0a9c64f2439421a7bba4f0983f532dea" + ], + "version": "==0.5.3" + }, + "google-auth": { + "hashes": [ + "sha256:218ca03d7744ca0c8b6697b6083334be7df49b7bf76a69d555962fd1a7657b5f", + "sha256:ad160fc1ea8f19e331a16a14a79f3d643d813a69534ba9611d2c80dc10439dad" + ], + "version": "==2.6.0" + }, + "google-auth-oauthlib": { + "hashes": [ + "sha256:3f2a6e802eebbb6fb736a370fbf3b055edcb6b52878bf2f26330b5e041316c73", + "sha256:a90a072f6993f2c327067bf65270046384cda5a8ecb20b94ea9a687f1f233a7a" + ], + "version": "==0.4.6" + }, + "google-pasta": { + "hashes": [ + "sha256:4612951da876b1a10fe3960d7226f0c7682cf901e16ac06e473b267a5afa8954", + "sha256:b32482794a366b5366a32c92a9a9201b107821889935a02b3e51f6b432ea84ed", + "sha256:c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e" + ], + "version": "==0.2.0" + }, + "grpcio": { + "hashes": [ + "sha256:0110310eff07bb69782f53b7a947490268c4645de559034c43c0a635612e250f", + "sha256:01f4b887ed703fe82ebe613e1d2dadea517891725e17e7a6134dcd00352bd28c", + "sha256:04239e8f71db832c26bbbedb4537b37550a39d77681d748ab4678e58dd6455d6", + "sha256:08cf25f2936629db062aeddbb594bd76b3383ab0ede75ef0461a3b0bc3a2c150", + "sha256:0aa8285f284338eb68962fe1a830291db06f366ea12f213399b520c062b01f65", + "sha256:0e731f660e1e68238f56f4ce11156f02fd06dc58bc7834778d42c0081d4ef5ad", + "sha256:0edbfeb6729aa9da33ce7e28fb7703b3754934115454ae45e8cc1db601756fd3", + "sha256:124e718faf96fe44c98b05f3f475076be8b5198bb4c52a13208acf88a8548ba9", + "sha256:138f57e3445d4a48d9a8a5af1538fdaafaa50a0a3c243f281d8df0edf221dc02", + "sha256:17b75f220ee6923338155b4fcef4c38802b9a57bc57d112c9599a13a03e99f8d", + "sha256:1898f999383baac5fcdbdef8ea5b1ef204f38dc211014eb6977ac6e55944d738", + "sha256:1f16725a320460435a8a5339d8b06c4e00d307ab5ad56746af2e22b5f9c50932", + "sha256:2f96142d0abc91290a63ba203f01649e498302b1b6007c67bad17f823ecde0cf", + "sha256:31e6e489ccd8f08884b9349a39610982df48535881ec34f05a11c6e6b6ebf9d0", + "sha256:45401d00f2ee46bde75618bf33e9df960daa7980e6e0e7328047191918c98504", + "sha256:47b6821238d8978014d23b1132713dac6c2d72cbb561cf257608b1673894f90a", + "sha256:4b4a7152187a49767a47d1413edde2304c96f41f7bc92cc512e230dfd0fba095", + "sha256:50cfb7e1067ee5e00b8ab100a6b7ea322d37ec6672c0455106520b5891c4b5f5", + "sha256:5449ae564349e7a738b8c38583c0aad954b0d5d1dd3cea68953bfc32eaee11e3", + "sha256:577e024c8dd5f27cd98ba850bc4e890f07d4b5942e5bc059a3d88843a2f48f66", + "sha256:57f1aeb65ed17dfb2f6cd717cc109910fe395133af7257a9c729c0b9604eac10", + "sha256:594aaa0469f4fca7773e80d8c27bf1298e7bbce5f6da0f084b07489a708f16ab", + "sha256:6620a5b751b099b3b25553cfc03dfcd873cda06f9bb2ff7e9948ac7090e20f05", + "sha256:6e463b4aa0a6b31cf2e57c4abc1a1b53531a18a570baeed39d8d7b65deb16b7e", + "sha256:735d9a437c262ab039d02defddcb9f8f545d7009ae61c0114e19dda3843febe5", + "sha256:772b943f34374744f70236bbbe0afe413ed80f9ae6303503f85e2b421d4bca92", + "sha256:77ef653f966934b3bfdd00e4f2064b68880eb40cf09b0b99edfa5ee22a44f559", + "sha256:80398e9fb598060fa41050d1220f5a2440fe74ff082c36dda41ac3215ebb5ddd", + "sha256:8b2b9dc4d7897566723b77422e11c009a0ebd397966b165b21b89a62891a9fdf", + "sha256:a4b4543e13acb4806917d883d0f70f21ba93b29672ea81f4aaba14821aaf9bb0", + "sha256:a4e786a8ee8b30b25d70ee52cda6d1dbba2a8ca2f1208d8e20ed8280774f15c8", + "sha256:ade8b79a6b6aea68adb9d4bfeba5d647667d842202c5d8f3ba37ac1dc8e5c09c", + "sha256:af78ac55933811e6a25141336b1f2d5e0659c2f568d44d20539b273792563ca7", + "sha256:af9c3742f6c13575c0d4147a8454da0ff5308c4d9469462ff18402c6416942fe", + "sha256:b8cc936a29c65ab39714e1ba67a694c41218f98b6e2a64efb83f04d9abc4386b", + "sha256:bdf41550815a831384d21a498b20597417fd31bd084deb17d31ceb39ad9acc79", + "sha256:c354017819201053d65212befd1dcb65c2d91b704d8977e696bae79c47cd2f82", + "sha256:c36f418c925a41fccada8f7ae9a3d3e227bfa837ddbfddd3d8b0ac252d12dda9", + "sha256:cbc9b83211d905859dcf234ad39d7193ff0f05bfc3269c364fb0d114ee71de59", + "sha256:e95b5d62ec26d0cd0b90c202d73e7cb927c369c3358e027225239a4e354967dc", + "sha256:f11d05402e0ac3a284443d8a432d3dfc76a6bd3f7b5858cddd75617af2d7bd9b", + "sha256:fa26a8bbb3fe57845acb1329ff700d5c7eaf06414c3e15f4cb8923f3a466ef64", + "sha256:fb7229fa2a201a0c377ff3283174ec966da8f9fd7ffcc9a92f162d2e7fc9025b", + "sha256:fdac966699707b5554b815acc272d81e619dd0999f187cd52a61aef075f870ee" + ], + "version": "==1.43.0" + }, + "h11": { + "hashes": [ + "sha256:70813c1135087a248a4d38cc0e1a0181ffab2188141a93eaf567940c3957ff06", + "sha256:8ddd78563b633ca55346c8cd41ec0af27d3c79931828beffb46ce70a379e7442" + ], + "version": "==0.13.0" + }, + "h5py": { + "hashes": [ + "sha256:1c5acc660c458421e88c4c5fe092ce15923adfac4c732af1ac4fced683a5ea97", + "sha256:35ab552c6f0a93365b3cb5664a5305f3920daa0a43deb5b2c547c52815ec46b9", + "sha256:542781d50e1182b8fb619b1265dfe1c765e18215f818b0ab28b2983c28471325", + "sha256:5996ff5adefd2d68c330a4265b6ef92e51b2fc674834a5990add5033bf109e20", + "sha256:8752d2814a92aba4e2b2a5922d2782d0029102d99caaf3c201a566bc0b40db29", + "sha256:8ecedf16c613973622a334701f67edcc0249469f9daa0576e994fb20ac0405db", + "sha256:954c5c39a09b5302f69f752c3bbf165d368a65c8d200f7d5655e0fa6368a75e6", + "sha256:98646e659bf8591a2177e12a4461dced2cad72da0ba4247643fd118db88880d2", + "sha256:9f39242960b8d7f86f3056cc2546aa3047ff4835985f6483229af8f029e9c8db", + "sha256:9fd8a14236fdd092a20c0bdf25c3aba3777718d266fabb0fdded4fcf252d1630", + "sha256:a5320837c60870911645e9a935099bdb2be6a786fcf0dac5c860f3b679e2de55", + "sha256:c9a5529343a619fea777b7caa27d493595b28b5af8b005e8d1817559fcccf493", + "sha256:cd9447633b0bafaf82190d9a8d56f3cb2e8d30169483aee67d800816e028190a", + "sha256:d8cacad89aa7daf3626fce106f7f2662ac35b14849df22d252d0d8fab9dc1c0b", + "sha256:dbaa1ed9768bf9ff04af0919acc55746e62b28333644f0251f38768313f31745", + "sha256:e2b49c48df05e19bb20b400b7ff7dc6f1ee36b84dc717c3771c468b33697b466" + ], + "version": "==3.6.0" + }, + "idna": { + "hashes": [ + "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff", + "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d" + ], + "markers": "python_version >= '3'", + "version": "==3.3" + }, + "importlib-metadata": { + "hashes": [ + "sha256:175f4ee440a0317f6e8d81b7f8d4869f93316170a65ad2b007d2929186c8052c", + "sha256:e0bc84ff355328a4adfc5240c4f211e0ab386f80aa640d1b11f0618a1d282094" + ], + "markers": "python_version < '3.10'", + "version": "==4.11.1" + }, + "keras": { + "hashes": [ + "sha256:744d39dc6577dcd80ff4a4d41549e92b77d6a17e0edd58a431d30656e29bc94e" + ], + "version": "==2.8.0" + }, + "keras-preprocessing": { + "hashes": [ + "sha256:7b82029b130ff61cc99b55f3bd27427df4838576838c5b2f65940e4fcec99a7b", + "sha256:add82567c50c8bc648c14195bf544a5ce7c1f76761536956c3d2978970179ef3" + ], + "version": "==1.1.2" + }, + "libclang": { + "hashes": [ + "sha256:069407eac2e20ea8f18212d28c6598db31014e7b8a77febc92e762ec133c3226", + "sha256:9c1e623340ccafe3a10a2abbc90f59593ff29f0c854f4ddb65b6220d9d998fb4", + "sha256:b61dedc1b941f43acca1fa15df0a6669c6c3983197c6f3226ae03a766281dd37", + "sha256:b7de34393ed46c6cf7b22178d0d43cec2f2dab2f5f95450520a47fc1cf2df5ac", + "sha256:bcaffec6b1ab9486811670db7af29d4a361830d6cb75da4f5672e884aa973bda", + "sha256:dcc7ecd83d91e23e95315d7aa6355ee8d45b43742ca1fb642583e0b2f935d50e" + ], + "version": "==13.0.0" + }, + "markdown": { + "hashes": [ + "sha256:76df8ae32294ec39dcf89340382882dfa12975f87f45c3ed1ecdb1e8cefc7006", + "sha256:9923332318f843411e9932237530df53162e29dc7a4e2b91e35764583c46c9a3" + ], + "version": "==3.3.6" + }, + "numpy": { + "hashes": [ + "sha256:03ae5850619abb34a879d5f2d4bb4dcd025d6d8fb72f5e461dae84edccfe129f", + "sha256:076aee5a3763d41da6bef9565fdf3cb987606f567cd8b104aded2b38b7b47abf", + "sha256:0b536b6840e84c1c6a410f3a5aa727821e6108f3454d81a5cd5900999ef04f89", + "sha256:15efb7b93806d438e3bc590ca8ef2f953b0ce4f86f337ef4559d31ec6cf9d7dd", + "sha256:168259b1b184aa83a514f307352c25c56af111c269ffc109d9704e81f72e764b", + "sha256:2638389562bda1635b564490d76713695ff497242a83d9b684d27bb4a6cc9d7a", + "sha256:3556c5550de40027d3121ebbb170f61bbe19eb639c7ad0c7b482cd9b560cd23b", + "sha256:4a176959b6e7e00b5a0d6f549a479f869829bfd8150282c590deee6d099bbb6e", + "sha256:515a8b6edbb904594685da6e176ac9fbea8f73a5ebae947281de6613e27f1956", + "sha256:55535c7c2f61e2b2fc817c5cbe1af7cb907c7f011e46ae0a52caa4be1f19afe2", + "sha256:59153979d60f5bfe9e4c00e401e24dfe0469ef8da6d68247439d3278f30a180f", + "sha256:60cb8e5933193a3cc2912ee29ca331e9c15b2da034f76159b7abc520b3d1233a", + "sha256:6767ad399e9327bfdbaa40871be4254d1995f4a3ca3806127f10cec778bd9896", + "sha256:76a4f9bce0278becc2da7da3b8ef854bed41a991f4226911a24a9711baad672c", + "sha256:8cf33634b60c9cef346663a222d9841d3bbbc0a2f00221d6bcfd0d993d5543f6", + "sha256:94dd11d9f13ea1be17bac39c1942f527cbf7065f94953cf62dfe805653da2f8f", + "sha256:aafa46b5a39a27aca566198d3312fb3bde95ce9677085efd02c86f7ef6be4ec7", + "sha256:badca914580eb46385e7f7e4e426fea6de0a37b9e06bec252e481ae7ec287082", + "sha256:d76a26c5118c4d96e264acc9e3242d72e1a2b92e739807b3b69d8d47684b6677" + ], + "index": "pypi", + "version": "==1.22.2" + }, + "oauthlib": { + "hashes": [ + "sha256:23a8208d75b902797ea29fd31fa80a15ed9dc2c6c16fe73f5d346f83f6fa27a2", + "sha256:6db33440354787f9b7f3a6dbd4febf5d0f93758354060e802f6c06cb493022fe" + ], + "version": "==3.2.0" + }, + "opt-einsum": { + "hashes": [ + "sha256:2455e59e3947d3c275477df7f5205b30635e266fe6dc300e3d9f9646bfcea147", + "sha256:59f6475f77bbc37dcf7cd748519c0ec60722e91e63ca114e68821c0c54a46549" + ], + "version": "==3.3.0" + }, + "pillow": { + "hashes": [ + "sha256:011233e0c42a4a7836498e98c1acf5e744c96a67dd5032a6f666cc1fb97eab97", + "sha256:0f29d831e2151e0b7b39981756d201f7108d3d215896212ffe2e992d06bfe049", + "sha256:12875d118f21cf35604176872447cdb57b07126750a33748bac15e77f90f1f9c", + "sha256:14d4b1341ac07ae07eb2cc682f459bec932a380c3b122f5540432d8977e64eae", + "sha256:1c3c33ac69cf059bbb9d1a71eeaba76781b450bc307e2291f8a4764d779a6b28", + "sha256:1d19397351f73a88904ad1aee421e800fe4bbcd1aeee6435fb62d0a05ccd1030", + "sha256:253e8a302a96df6927310a9d44e6103055e8fb96a6822f8b7f514bb7ef77de56", + "sha256:2632d0f846b7c7600edf53c48f8f9f1e13e62f66a6dbc15191029d950bfed976", + "sha256:335ace1a22325395c4ea88e00ba3dc89ca029bd66bd5a3c382d53e44f0ccd77e", + "sha256:413ce0bbf9fc6278b2d63309dfeefe452835e1c78398efb431bab0672fe9274e", + "sha256:5100b45a4638e3c00e4d2320d3193bdabb2d75e79793af7c3eb139e4f569f16f", + "sha256:514ceac913076feefbeaf89771fd6febde78b0c4c1b23aaeab082c41c694e81b", + "sha256:528a2a692c65dd5cafc130de286030af251d2ee0483a5bf50c9348aefe834e8a", + "sha256:6295f6763749b89c994fcb6d8a7f7ce03c3992e695f89f00b741b4580b199b7e", + "sha256:6c8bc8238a7dfdaf7a75f5ec5a663f4173f8c367e5a39f87e720495e1eed75fa", + "sha256:718856856ba31f14f13ba885ff13874be7fefc53984d2832458f12c38205f7f7", + "sha256:7f7609a718b177bf171ac93cea9fd2ddc0e03e84d8fa4e887bdfc39671d46b00", + "sha256:80ca33961ced9c63358056bd08403ff866512038883e74f3a4bf88ad3eb66838", + "sha256:80fe64a6deb6fcfdf7b8386f2cf216d329be6f2781f7d90304351811fb591360", + "sha256:81c4b81611e3a3cb30e59b0cf05b888c675f97e3adb2c8672c3154047980726b", + "sha256:855c583f268edde09474b081e3ddcd5cf3b20c12f26e0d434e1386cc5d318e7a", + "sha256:9bfdb82cdfeccec50aad441afc332faf8606dfa5e8efd18a6692b5d6e79f00fd", + "sha256:a5d24e1d674dd9d72c66ad3ea9131322819ff86250b30dc5821cbafcfa0b96b4", + "sha256:a9f44cd7e162ac6191491d7249cceb02b8116b0f7e847ee33f739d7cb1ea1f70", + "sha256:b5b3f092fe345c03bca1e0b687dfbb39364b21ebb8ba90e3fa707374b7915204", + "sha256:b9618823bd237c0d2575283f2939655f54d51b4527ec3972907a927acbcc5bfc", + "sha256:cef9c85ccbe9bee00909758936ea841ef12035296c748aaceee535969e27d31b", + "sha256:d21237d0cd37acded35154e29aec853e945950321dd2ffd1a7d86fe686814669", + "sha256:d3c5c79ab7dfce6d88f1ba639b77e77a17ea33a01b07b99840d6ed08031cb2a7", + "sha256:d9d7942b624b04b895cb95af03a23407f17646815495ce4547f0e60e0b06f58e", + "sha256:db6d9fac65bd08cea7f3540b899977c6dee9edad959fa4eaf305940d9cbd861c", + "sha256:ede5af4a2702444a832a800b8eb7f0a7a1c0eed55b644642e049c98d589e5092", + "sha256:effb7749713d5317478bb3acb3f81d9d7c7f86726d41c1facca068a04cf5bb4c", + "sha256:f154d173286a5d1863637a7dcd8c3437bb557520b01bddb0be0258dcb72696b5", + "sha256:f25ed6e28ddf50de7e7ea99d7a976d6a9c415f03adcaac9c41ff6ff41b6d86ac" + ], + "index": "pypi", + "version": "==9.0.1" + }, + "protobuf": { + "hashes": [ + "sha256:072fbc78d705d3edc7ccac58a62c4c8e0cec856987da7df8aca86e647be4e35c", + "sha256:09297b7972da685ce269ec52af761743714996b4381c085205914c41fcab59fb", + "sha256:16f519de1313f1b7139ad70772e7db515b1420d208cb16c6d7858ea989fc64a9", + "sha256:1c91ef4110fdd2c590effb5dca8fdbdcb3bf563eece99287019c4204f53d81a4", + "sha256:3112b58aac3bac9c8be2b60a9daf6b558ca3f7681c130dcdd788ade7c9ffbdca", + "sha256:36cecbabbda242915529b8ff364f2263cd4de7c46bbe361418b5ed859677ba58", + "sha256:4276cdec4447bd5015453e41bdc0c0c1234eda08420b7c9a18b8d647add51e4b", + "sha256:435bb78b37fc386f9275a7035fe4fb1364484e38980d0dd91bc834a02c5ec909", + "sha256:48ed3877fa43e22bcacc852ca76d4775741f9709dd9575881a373bd3e85e54b2", + "sha256:54a1473077f3b616779ce31f477351a45b4fef8c9fd7892d6d87e287a38df368", + "sha256:69da7d39e39942bd52848438462674c463e23963a1fdaa84d88df7fbd7e749b2", + "sha256:6cbc312be5e71869d9d5ea25147cdf652a6781cf4d906497ca7690b7b9b5df13", + "sha256:7bb03bc2873a2842e5ebb4801f5c7ff1bfbdf426f85d0172f7644fcda0671ae0", + "sha256:7ca7da9c339ca8890d66958f5462beabd611eca6c958691a8fe6eccbd1eb0c6e", + "sha256:835a9c949dc193953c319603b2961c5c8f4327957fe23d914ca80d982665e8ee", + "sha256:84123274d982b9e248a143dadd1b9815049f4477dc783bf84efe6250eb4b836a", + "sha256:8961c3a78ebfcd000920c9060a262f082f29838682b1f7201889300c1fbe0616", + "sha256:96bd766831596d6014ca88d86dc8fe0fb2e428c0b02432fd9db3943202bf8c5e", + "sha256:9df0c10adf3e83015ced42a9a7bd64e13d06c4cf45c340d2c63020ea04499d0a", + "sha256:b38057450a0c566cbd04890a40edf916db890f2818e8682221611d78dc32ae26", + "sha256:bd95d1dfb9c4f4563e6093a9aa19d9c186bf98fa54da5252531cc0d3a07977e7", + "sha256:c1068287025f8ea025103e37d62ffd63fec8e9e636246b89c341aeda8a67c934", + "sha256:c438268eebb8cf039552897d78f402d734a404f1360592fef55297285f7f953f", + "sha256:cdc076c03381f5c1d9bb1abdcc5503d9ca8b53cf0a9d31a9f6754ec9e6c8af0f", + "sha256:f358aa33e03b7a84e0d91270a4d4d8f5df6921abe99a377828839e8ed0c04e07", + "sha256:f51d5a9f137f7a2cec2d326a74b6e3fc79d635d69ffe1b036d39fc7d75430d37" + ], + "version": "==3.19.4" + }, + "pyasn1": { + "hashes": [ + "sha256:014c0e9976956a08139dc0712ae195324a75e142284d5f87f1a87ee1b068a359", + "sha256:03840c999ba71680a131cfaee6fab142e1ed9bbd9c693e285cc6aca0d555e576", + "sha256:0458773cfe65b153891ac249bcf1b5f8f320b7c2ce462151f8fa74de8934becf", + "sha256:08c3c53b75eaa48d71cf8c710312316392ed40899cb34710d092e96745a358b7", + "sha256:39c7e2ec30515947ff4e87fb6f456dfc6e84857d34be479c9d4a4ba4bf46aa5d", + "sha256:5c9414dcfede6e441f7e8f81b43b34e834731003427e5b09e4e00e3172a10f00", + "sha256:6e7545f1a61025a4e58bb336952c5061697da694db1cae97b116e9c46abcf7c8", + "sha256:78fa6da68ed2727915c4767bb386ab32cdba863caa7dbe473eaae45f9959da86", + "sha256:7ab8a544af125fb704feadb008c99a88805126fb525280b2270bb25cc1d78a12", + "sha256:99fcc3c8d804d1bc6d9a099921e39d827026409a58f2a720dcdb89374ea0c776", + "sha256:aef77c9fb94a3ac588e87841208bdec464471d9871bd5050a287cc9a475cd0ba", + "sha256:e89bf84b5437b532b0803ba5c9a5e054d21fec423a89952a74f87fa2c9b7bce2", + "sha256:fec3e9d8e36808a28efb59b489e4528c10ad0f480e57dcc32b4de5c9d8c9fdf3" + ], + "version": "==0.4.8" + }, + "pyasn1-modules": { + "hashes": [ + "sha256:0845a5582f6a02bb3e1bde9ecfc4bfcae6ec3210dd270522fee602365430c3f8", + "sha256:0fe1b68d1e486a1ed5473f1302bd991c1611d319bba158e98b106ff86e1d7199", + "sha256:15b7c67fabc7fc240d87fb9aabf999cf82311a6d6fb2c70d00d3d0604878c811", + "sha256:426edb7a5e8879f1ec54a1864f16b882c2837bfd06eee62f2c982315ee2473ed", + "sha256:65cebbaffc913f4fe9e4808735c95ea22d7a7775646ab690518c056784bc21b4", + "sha256:905f84c712230b2c592c19470d3ca8d552de726050d1d1716282a1f6146be65e", + "sha256:a50b808ffeb97cb3601dd25981f6b016cbb3d31fbf57a8b8a87428e6158d0c74", + "sha256:a99324196732f53093a84c4369c996713eb8c89d360a496b599fb1a9c47fc3eb", + "sha256:b80486a6c77252ea3a3e9b1e360bc9cf28eaac41263d173c032581ad2f20fe45", + "sha256:c29a5e5cc7a3f05926aff34e097e84f8589cd790ce0ed41b67aed6857b26aafd", + "sha256:cbac4bc38d117f2a49aeedec4407d23e8866ea4ac27ff2cf7fb3e5b570df19e0", + "sha256:f39edd8c4ecaa4556e989147ebf219227e2cd2e8a43c7e7fcb1f1c18c5fd6a3d", + "sha256:fe0644d9ab041506b62782e92b06b8c68cca799e1a9636ec398675459e031405" + ], + "version": "==0.2.8" + }, + "pydantic": { + "hashes": [ + "sha256:085ca1de245782e9b46cefcf99deecc67d418737a1fd3f6a4f511344b613a5b3", + "sha256:086254884d10d3ba16da0588604ffdc5aab3f7f09557b998373e885c690dd398", + "sha256:0b6037175234850ffd094ca77bf60fb54b08b5b22bc85865331dd3bda7a02fa1", + "sha256:0fe476769acaa7fcddd17cadd172b156b53546ec3614a4d880e5d29ea5fbce65", + "sha256:1d5278bd9f0eee04a44c712982343103bba63507480bfd2fc2790fa70cd64cf4", + "sha256:2cc6a4cb8a118ffec2ca5fcb47afbacb4f16d0ab8b7350ddea5e8ef7bcc53a16", + "sha256:2ee7e3209db1e468341ef41fe263eb655f67f5c5a76c924044314e139a1103a2", + "sha256:3011b975c973819883842c5ab925a4e4298dffccf7782c55ec3580ed17dc464c", + "sha256:3c3b035103bd4e2e4a28da9da7ef2fa47b00ee4a9cf4f1a735214c1bcd05e0f6", + "sha256:4c68c3bc88dbda2a6805e9a142ce84782d3930f8fdd9655430d8576315ad97ce", + "sha256:574936363cd4b9eed8acdd6b80d0143162f2eb654d96cb3a8ee91d3e64bf4cf9", + "sha256:5a79330f8571faf71bf93667d3ee054609816f10a259a109a0738dac983b23c3", + "sha256:5e48ef4a8b8c066c4a31409d91d7ca372a774d0212da2787c0d32f8045b1e034", + "sha256:6c5b77947b9e85a54848343928b597b4f74fc364b70926b3c4441ff52620640c", + "sha256:742645059757a56ecd886faf4ed2441b9c0cd406079c2b4bee51bcc3fbcd510a", + "sha256:7bdfdadb5994b44bd5579cfa7c9b0e1b0e540c952d56f627eb227851cda9db77", + "sha256:815ddebb2792efd4bba5488bc8fde09c29e8ca3227d27cf1c6990fc830fd292b", + "sha256:8b5ac0f1c83d31b324e57a273da59197c83d1bb18171e512908fe5dc7278a1d6", + "sha256:96f240bce182ca7fe045c76bcebfa0b0534a1bf402ed05914a6f1dadff91877f", + "sha256:a733965f1a2b4090a5238d40d983dcd78f3ecea221c7af1497b845a9709c1721", + "sha256:ab624700dc145aa809e6f3ec93fb8e7d0f99d9023b713f6a953637429b437d37", + "sha256:b2571db88c636d862b35090ccf92bf24004393f85c8870a37f42d9f23d13e032", + "sha256:bbbc94d0c94dd80b3340fc4f04fd4d701f4b038ebad72c39693c794fd3bc2d9d", + "sha256:c0727bda6e38144d464daec31dff936a82917f431d9c39c39c60a26567eae3ed", + "sha256:c556695b699f648c58373b542534308922c46a1cda06ea47bc9ca45ef5b39ae6", + "sha256:c86229333cabaaa8c51cf971496f10318c4734cf7b641f08af0a6fbf17ca3054", + "sha256:c8d7da6f1c1049eefb718d43d99ad73100c958a5367d30b9321b092771e96c25", + "sha256:c8e9dcf1ac499679aceedac7e7ca6d8641f0193c591a2d090282aaf8e9445a46", + "sha256:cb23bcc093697cdea2708baae4f9ba0e972960a835af22560f6ae4e7e47d33f5", + "sha256:d1e4c28f30e767fd07f2ddc6f74f41f034d1dd6bc526cd59e63a82fe8bb9ef4c", + "sha256:d9c9bdb3af48e242838f9f6e6127de9be7063aad17b32215ccc36a09c5cf1070", + "sha256:dee5ef83a76ac31ab0c78c10bd7d5437bfdb6358c95b91f1ba7ff7b76f9996a1", + "sha256:e0896200b6a40197405af18828da49f067c2fa1f821491bc8f5bde241ef3f7d7", + "sha256:f5a64b64ddf4c99fe201ac2724daada8595ada0d102ab96d019c1555c2d6441d", + "sha256:f947352c3434e8b937e3aa8f96f47bdfe6d92779e44bb3f41e4c213ba6a32145" + ], + "index": "pypi", + "version": "==1.9.0" + }, + "requests": { + "hashes": [ + "sha256:68d7c56fd5a8999887728ef304a6d12edc7be74f1cfa47714fc8b414525c9a61", + "sha256:f22fa1e554c9ddfd16e6e41ac79759e17be9e492b3587efa038054674760e72d" + ], + "version": "==2.27.1" + }, + "requests-oauthlib": { + "hashes": [ + "sha256:2577c501a2fb8d05a304c09d090d6e47c306fef15809d102b327cf8364bddab5", + "sha256:75beac4a47881eeb94d5ea5d6ad31ef88856affe2332b9aafb52c6452ccf0d7a" + ], + "version": "==1.3.1" + }, + "rsa": { + "hashes": [ + "sha256:5c6bd9dc7a543b7fe4304a631f8a8a3b674e2bbfc49c2ae96200cdbe55df6b17", + "sha256:95c5d300c4e879ee69708c428ba566c59478fd653cc3a22243eeb8ed846950bb" + ], + "markers": "python_version >= '3.6'", + "version": "==4.8" + }, + "six": { + "hashes": [ + "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", + "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" + ], + "version": "==1.16.0" + }, + "starlette": { + "hashes": [ + "sha256:3c8e48e52736b3161e34c9f0e8153b4f32ec5d8995a3ee1d59410d92f75162ed", + "sha256:7d49f4a27f8742262ef1470608c59ddbc66baf37c148e938c7038e6bc7a998aa" + ], + "version": "==0.14.2" + }, + "tensorboard": { + "hashes": [ + "sha256:65a338e4424e9079f2604923bdbe301792adce2ace1be68da6b3ddf005170def" + ], + "version": "==2.8.0" + }, + "tensorboard-data-server": { + "hashes": [ + "sha256:809fe9887682d35c1f7d1f54f0f40f98bb1f771b14265b453ca051e2ce58fca7", + "sha256:d8237580755e58eff68d1f3abefb5b1e39ae5c8b127cc40920f9c4fb33f4b98a", + "sha256:fa8cef9be4fcae2f2363c88176638baf2da19c5ec90addb49b1cde05c95c88ee" + ], + "version": "==0.6.1" + }, + "tensorboard-plugin-wit": { + "hashes": [ + "sha256:ff26bdd583d155aa951ee3b152b3d0cffae8005dc697f72b44a8e8c2a77a8cbe" + ], + "version": "==1.8.1" + }, + "tensorflow": { + "hashes": [ + "sha256:05fb161c6b2a6c4b8317a703a0a6d7f7aa6b5e3c6ea31bbc4f44ef96b89c3344", + "sha256:291fa84f1022914580810ad76732fb254e44a8a609128e1c58873a12b2f81559", + "sha256:2a520538e77a52fb428acb05e300c960844fd1d2c3918ca8ca14127edba6f83b", + "sha256:52f225fecc688281b3ae2cba2b52d3ed6215ed4a3ffb686b9cfd09885ca65563", + "sha256:78c3ba2e0c952aa9eb388200f1923e40287f9357492a464188ca3043e35edc52", + "sha256:8489b4f1771e146f752b0eaeb57acf183bd07357e4550464e7dff18b3b656b5d", + "sha256:9d91a989e5455ae713c03fd7236071ab3f232ad8ff2831f2658072933546091f", + "sha256:b360c13b3e58b9a5c0780cbdb6b549eea73f620275fa203f8508fe418ae02735", + "sha256:b7170844ae6b048d82a9d7a61b2fa627f2e16cb829267bf0ce4b3a0de0a61054", + "sha256:da38d4043185267e7316ae5dc98d18e89c8af4170859f64798e7a3607fd606e3", + "sha256:dd0f9f113ebc21b73fcd349db1629e187b8686395b8146d100eb1706a943bbc0", + "sha256:fa4a723368d5f748b6f4ec305cf7c26b98e4a6a8c2ce1425f8ae10383a37bcfc" + ], + "index": "pypi", + "version": "==2.8.0" + }, + "tensorflow-io-gcs-filesystem": { + "hashes": [ + "sha256:2862e0869453ce1f872a28d1362768ee078ec227ea587dd69164081dea6d7177", + "sha256:2f67d19a2f2579dc55f1590faf48c2e882cabb860992b5a9c7edb0ed8b3eb187", + "sha256:6e65009770a05a3b55c5f782348f785e5034d277a727832811ad737bd857c8c9", + "sha256:71c00638c9b6048480095f2738dfefd8f4b2e7b534190c91d699aee769bfa86e", + "sha256:825f396388748038ad38c35b091311982081f93a5db8ca9763fc874c3f555e6c", + "sha256:9c00f9a9880477b1dff0c71ee6734421ce99ac484ca2151793ebf2681fc0cb4c", + "sha256:aa90b9a34ea8da4dbd534f77746d67375714db869524da889193c3042352679a", + "sha256:b6ca3a9f751aa9c2f9851520e666d905ad14667281bbafeabe611b7b8f3e1bc5", + "sha256:cbc71b3925508bf796644a0083a6f9284f71404654f53092bece701383a69520", + "sha256:cc093f160f79526d31f6070a3ddc000868d737a36ccf40984128661563383601", + "sha256:cde835e68b2b43ddade07c999e7c3251bcd62b1ff165c34fbe9fc6e0f12c3ac9", + "sha256:d1eb5e9be62040c5a249ae8adaae7e61f65b59541139e4d6767157f25a224bf5" + ], + "version": "==0.24.0" + }, + "termcolor": { + "hashes": [ + "sha256:1d6d69ce66211143803fbc56652b41d73b4a400a2891d7bf7a1cdf4c02de613b" + ], + "version": "==1.1.0" + }, + "tf-estimator-nightly": { + "hashes": [ + "sha256:0065a04e396b2890bd19761fc1de7559ceafeba12839f8db2c7e7473afaaf612" + ], + "version": "==2.8.0.dev2021122109" + }, + "typing-extensions": { + "hashes": [ + "sha256:1a9462dcc3347a79b1f1c0271fbe79e844580bb598bafa1ed208b94da3cdcd42", + "sha256:21c85e0fe4b9a155d0799430b0ad741cdce7e359660ccbd8b530613e8df88ce2" + ], + "version": "==4.1.1" + }, + "urllib3": { + "hashes": [ + "sha256:000ca7f471a233c2251c6c7023ee85305721bfdf18621ebff4fd17a8653427ed", + "sha256:0e7c33d9a63e7ddfcb86780aac87befc2fbddf46c58dbb487e0855f7ceec283c" + ], + "version": "==1.26.8" + }, + "uvicorn": { + "hashes": [ + "sha256:17f898c64c71a2640514d4089da2689e5db1ce5d4086c2d53699bf99513421c1", + "sha256:d9a3c0dd1ca86728d3e235182683b4cf94cd53a867c288eaeca80ee781b2caff" + ], + "index": "pypi", + "version": "==0.15.0" + }, + "werkzeug": { + "hashes": [ + "sha256:1421ebfc7648a39a5c58c601b154165d05cf47a3cd0ccb70857cbdacf6c8f2b8", + "sha256:b863f8ff057c522164b6067c9e28b041161b4be5ba4d0daceeaa50a163822d3c" + ], + "version": "==2.0.3" + }, + "wheel": { + "hashes": [ + "sha256:4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a", + "sha256:e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4" + ], + "version": "==0.37.1" + }, + "wrapt": { + "hashes": [ + "sha256:086218a72ec7d986a3eddb7707c8c4526d677c7b35e355875a0fe2918b059179", + "sha256:0877fe981fd76b183711d767500e6b3111378ed2043c145e21816ee589d91096", + "sha256:0a017a667d1f7411816e4bf214646d0ad5b1da2c1ea13dec6c162736ff25a374", + "sha256:0cb23d36ed03bf46b894cfec777eec754146d68429c30431c99ef28482b5c1df", + "sha256:1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185", + "sha256:220a869982ea9023e163ba915077816ca439489de6d2c09089b219f4e11b6785", + "sha256:25b1b1d5df495d82be1c9d2fad408f7ce5ca8a38085e2da41bb63c914baadff7", + "sha256:2dded5496e8f1592ec27079b28b6ad2a1ef0b9296d270f77b8e4a3a796cf6909", + "sha256:2ebdde19cd3c8cdf8df3fc165bc7827334bc4e353465048b36f7deeae8ee0918", + "sha256:43e69ffe47e3609a6aec0fe723001c60c65305784d964f5007d5b4fb1bc6bf33", + "sha256:46f7f3af321a573fc0c3586612db4decb7eb37172af1bc6173d81f5b66c2e068", + "sha256:47f0a183743e7f71f29e4e21574ad3fa95676136f45b91afcf83f6a050914829", + "sha256:498e6217523111d07cd67e87a791f5e9ee769f9241fcf8a379696e25806965af", + "sha256:4b9c458732450ec42578b5642ac53e312092acf8c0bfce140ada5ca1ac556f79", + "sha256:51799ca950cfee9396a87f4a1240622ac38973b6df5ef7a41e7f0b98797099ce", + "sha256:5601f44a0f38fed36cc07db004f0eedeaadbdcec90e4e90509480e7e6060a5bc", + "sha256:5f223101f21cfd41deec8ce3889dc59f88a59b409db028c469c9b20cfeefbe36", + "sha256:610f5f83dd1e0ad40254c306f4764fcdc846641f120c3cf424ff57a19d5f7ade", + "sha256:6a03d9917aee887690aa3f1747ce634e610f6db6f6b332b35c2dd89412912bca", + "sha256:705e2af1f7be4707e49ced9153f8d72131090e52be9278b5dbb1498c749a1e32", + "sha256:766b32c762e07e26f50d8a3468e3b4228b3736c805018e4b0ec8cc01ecd88125", + "sha256:77416e6b17926d953b5c666a3cb718d5945df63ecf922af0ee576206d7033b5e", + "sha256:778fd096ee96890c10ce96187c76b3e99b2da44e08c9e24d5652f356873f6709", + "sha256:78dea98c81915bbf510eb6a3c9c24915e4660302937b9ae05a0947164248020f", + "sha256:7dd215e4e8514004c8d810a73e342c536547038fb130205ec4bba9f5de35d45b", + "sha256:7dde79d007cd6dfa65afe404766057c2409316135cb892be4b1c768e3f3a11cb", + "sha256:81bd7c90d28a4b2e1df135bfbd7c23aee3050078ca6441bead44c42483f9ebfb", + "sha256:85148f4225287b6a0665eef08a178c15097366d46b210574a658c1ff5b377489", + "sha256:865c0b50003616f05858b22174c40ffc27a38e67359fa1495605f96125f76640", + "sha256:87883690cae293541e08ba2da22cacaae0a092e0ed56bbba8d018cc486fbafbb", + "sha256:8aab36778fa9bba1a8f06a4919556f9f8c7b33102bd71b3ab307bb3fecb21851", + "sha256:8c73c1a2ec7c98d7eaded149f6d225a692caa1bd7b2401a14125446e9e90410d", + "sha256:936503cb0a6ed28dbfa87e8fcd0a56458822144e9d11a49ccee6d9a8adb2ac44", + "sha256:944b180f61f5e36c0634d3202ba8509b986b5fbaf57db3e94df11abee244ba13", + "sha256:96b81ae75591a795d8c90edc0bfaab44d3d41ffc1aae4d994c5aa21d9b8e19a2", + "sha256:981da26722bebb9247a0601e2922cedf8bb7a600e89c852d063313102de6f2cb", + "sha256:ae9de71eb60940e58207f8e71fe113c639da42adb02fb2bcbcaccc1ccecd092b", + "sha256:b73d4b78807bd299b38e4598b8e7bd34ed55d480160d2e7fdaabd9931afa65f9", + "sha256:d4a5f6146cfa5c7ba0134249665acd322a70d1ea61732723c7d3e8cc0fa80755", + "sha256:dd91006848eb55af2159375134d724032a2d1d13bcc6f81cd8d3ed9f2b8e846c", + "sha256:e05e60ff3b2b0342153be4d1b597bbcfd8330890056b9619f4ad6b8d5c96a81a", + "sha256:e6906d6f48437dfd80464f7d7af1740eadc572b9f7a4301e7dd3d65db285cacf", + "sha256:e92d0d4fa68ea0c02d39f1e2f9cb5bc4b4a71e8c442207433d8db47ee79d7aa3", + "sha256:e94b7d9deaa4cc7bac9198a58a7240aaf87fe56c6277ee25fa5b3aa1edebd229", + "sha256:ea3e746e29d4000cd98d572f3ee2a6050a4f784bb536f4ac1f035987fc1ed83e", + "sha256:ec7e20258ecc5174029a0f391e1b948bf2906cd64c198a9b8b281b811cbc04de", + "sha256:ec9465dd69d5657b5d2fa6133b3e1e989ae27d29471a672416fd729b429eb554", + "sha256:f122ccd12fdc69628786d0c947bdd9cb2733be8f800d88b5a37c57f1f1d73c10", + "sha256:f99c0489258086308aad4ae57da9e8ecf9e1f3f30fa35d5e170b4d4896554d80", + "sha256:f9c51d9af9abb899bd34ace878fbec8bf357b3194a10c4e8e0a25512826ef056", + "sha256:fd76c47f20984b43d93de9a82011bb6e5f8325df6c9ed4d8310029a55fa361ea" + ], + "version": "==1.13.3" + }, + "zipp": { + "hashes": [ + "sha256:9f50f446828eb9d45b267433fd3e9da8d801f614129124863f9c51ebceafb87d", + "sha256:b47250dd24f92b7dd6a0a8fc5244da14608f3ca90a5efcd37a3b1642fac9a375" + ], + "version": "==3.7.0" + } + }, + "develop": {} +} diff --git a/machine_learning/app/imagenet_class_index.json b/machine_learning/app/imagenet_class_index.json new file mode 100644 index 0000000000..fc349e8c3f --- /dev/null +++ b/machine_learning/app/imagenet_class_index.json @@ -0,0 +1,1002 @@ +{ + "0": ["n01440764", "tench"], + "1": ["n01443537", "goldfish"], + "2": ["n01484850", "great_white_shark"], + "3": ["n01491361", "tiger_shark"], + "4": ["n01494475", "hammerhead"], + "5": ["n01496331", "electric_ray"], + "6": ["n01498041", "stingray"], + "7": ["n01514668", "cock"], + "8": ["n01514859", "hen"], + "9": ["n01518878", "ostrich"], + "10": ["n01530575", "brambling"], + "11": ["n01531178", "goldfinch"], + "12": ["n01532829", "house_finch"], + "13": ["n01534433", "junco"], + "14": ["n01537544", "indigo_bunting"], + "15": ["n01558993", "robin"], + "16": ["n01560419", "bulbul"], + "17": ["n01580077", "jay"], + "18": ["n01582220", "magpie"], + "19": ["n01592084", "chickadee"], + "20": ["n01601694", "water_ouzel"], + "21": ["n01608432", "kite"], + "22": ["n01614925", "bald_eagle"], + "23": ["n01616318", "vulture"], + "24": ["n01622779", "great_grey_owl"], + "25": ["n01629819", "European_fire_salamander"], + "26": ["n01630670", "common_newt"], + "27": ["n01631663", "eft"], + "28": ["n01632458", "spotted_salamander"], + "29": ["n01632777", "axolotl"], + "30": ["n01641577", "bullfrog"], + "31": ["n01644373", "tree_frog"], + "32": ["n01644900", "tailed_frog"], + "33": ["n01664065", "loggerhead"], + "34": ["n01665541", "leatherback_turtle"], + "35": ["n01667114", "mud_turtle"], + "36": ["n01667778", "terrapin"], + "37": ["n01669191", "box_turtle"], + "38": ["n01675722", "banded_gecko"], + "39": ["n01677366", "common_iguana"], + "40": ["n01682714", "American_chameleon"], + "41": ["n01685808", "whiptail"], + "42": ["n01687978", "agama"], + "43": ["n01688243", "frilled_lizard"], + "44": ["n01689811", "alligator_lizard"], + "45": ["n01692333", "Gila_monster"], + "46": ["n01693334", "green_lizard"], + "47": ["n01694178", "African_chameleon"], + "48": ["n01695060", "Komodo_dragon"], + "49": ["n01697457", "African_crocodile"], + "50": ["n01698640", "American_alligator"], + "51": ["n01704323", "triceratops"], + "52": ["n01728572", "thunder_snake"], + "53": ["n01728920", "ringneck_snake"], + "54": ["n01729322", "hognose_snake"], + "55": ["n01729977", "green_snake"], + "56": ["n01734418", "king_snake"], + "57": ["n01735189", "garter_snake"], + "58": ["n01737021", "water_snake"], + "59": ["n01739381", "vine_snake"], + "60": ["n01740131", "night_snake"], + "61": ["n01742172", "boa_constrictor"], + "62": ["n01744401", "rock_python"], + "63": ["n01748264", "Indian_cobra"], + "64": ["n01749939", "green_mamba"], + "65": ["n01751748", "sea_snake"], + "66": ["n01753488", "horned_viper"], + "67": ["n01755581", "diamondback"], + "68": ["n01756291", "sidewinder"], + "69": ["n01768244", "trilobite"], + "70": ["n01770081", "harvestman"], + "71": ["n01770393", "scorpion"], + "72": ["n01773157", "black_and_gold_garden_spider"], + "73": ["n01773549", "barn_spider"], + "74": ["n01773797", "garden_spider"], + "75": ["n01774384", "black_widow"], + "76": ["n01774750", "tarantula"], + "77": ["n01775062", "wolf_spider"], + "78": ["n01776313", "tick"], + "79": ["n01784675", "centipede"], + "80": ["n01795545", "black_grouse"], + "81": ["n01796340", "ptarmigan"], + "82": ["n01797886", "ruffed_grouse"], + "83": ["n01798484", "prairie_chicken"], + "84": ["n01806143", "peacock"], + "85": ["n01806567", "quail"], + "86": ["n01807496", "partridge"], + "87": ["n01817953", "African_grey"], + "88": ["n01818515", "macaw"], + "89": ["n01819313", "sulphur-crested_cockatoo"], + "90": ["n01820546", "lorikeet"], + "91": ["n01824575", "coucal"], + "92": ["n01828970", "bee_eater"], + "93": ["n01829413", "hornbill"], + "94": ["n01833805", "hummingbird"], + "95": ["n01843065", "jacamar"], + "96": ["n01843383", "toucan"], + "97": ["n01847000", "drake"], + "98": ["n01855032", "red-breasted_merganser"], + "99": ["n01855672", "goose"], + "100": ["n01860187", "black_swan"], + "101": ["n01871265", "tusker"], + "102": ["n01872401", "echidna"], + "103": ["n01873310", "platypus"], + "104": ["n01877812", "wallaby"], + "105": ["n01882714", "koala"], + "106": ["n01883070", "wombat"], + "107": ["n01910747", "jellyfish"], + "108": ["n01914609", "sea_anemone"], + "109": ["n01917289", "brain_coral"], + "110": ["n01924916", "flatworm"], + "111": ["n01930112", "nematode"], + "112": ["n01943899", "conch"], + "113": ["n01944390", "snail"], + "114": ["n01945685", "slug"], + "115": ["n01950731", "sea_slug"], + "116": ["n01955084", "chiton"], + "117": ["n01968897", "chambered_nautilus"], + "118": ["n01978287", "Dungeness_crab"], + "119": ["n01978455", "rock_crab"], + "120": ["n01980166", "fiddler_crab"], + "121": ["n01981276", "king_crab"], + "122": ["n01983481", "American_lobster"], + "123": ["n01984695", "spiny_lobster"], + "124": ["n01985128", "crayfish"], + "125": ["n01986214", "hermit_crab"], + "126": ["n01990800", "isopod"], + "127": ["n02002556", "white_stork"], + "128": ["n02002724", "black_stork"], + "129": ["n02006656", "spoonbill"], + "130": ["n02007558", "flamingo"], + "131": ["n02009229", "little_blue_heron"], + "132": ["n02009912", "American_egret"], + "133": ["n02011460", "bittern"], + "134": ["n02012849", "crane"], + "135": ["n02013706", "limpkin"], + "136": ["n02017213", "European_gallinule"], + "137": ["n02018207", "American_coot"], + "138": ["n02018795", "bustard"], + "139": ["n02025239", "ruddy_turnstone"], + "140": ["n02027492", "red-backed_sandpiper"], + "141": ["n02028035", "redshank"], + "142": ["n02033041", "dowitcher"], + "143": ["n02037110", "oystercatcher"], + "144": ["n02051845", "pelican"], + "145": ["n02056570", "king_penguin"], + "146": ["n02058221", "albatross"], + "147": ["n02066245", "grey_whale"], + "148": ["n02071294", "killer_whale"], + "149": ["n02074367", "dugong"], + "150": ["n02077923", "sea_lion"], + "151": ["n02085620", "Chihuahua"], + "152": ["n02085782", "Japanese_spaniel"], + "153": ["n02085936", "Maltese_dog"], + "154": ["n02086079", "Pekinese"], + "155": ["n02086240", "Shih-Tzu"], + "156": ["n02086646", "Blenheim_spaniel"], + "157": ["n02086910", "papillon"], + "158": ["n02087046", "toy_terrier"], + "159": ["n02087394", "Rhodesian_ridgeback"], + "160": ["n02088094", "Afghan_hound"], + "161": ["n02088238", "basset"], + "162": ["n02088364", "beagle"], + "163": ["n02088466", "bloodhound"], + "164": ["n02088632", "bluetick"], + "165": ["n02089078", "black-and-tan_coonhound"], + "166": ["n02089867", "Walker_hound"], + "167": ["n02089973", "English_foxhound"], + "168": ["n02090379", "redbone"], + "169": ["n02090622", "borzoi"], + "170": ["n02090721", "Irish_wolfhound"], + "171": ["n02091032", "Italian_greyhound"], + "172": ["n02091134", "whippet"], + "173": ["n02091244", "Ibizan_hound"], + "174": ["n02091467", "Norwegian_elkhound"], + "175": ["n02091635", "otterhound"], + "176": ["n02091831", "Saluki"], + "177": ["n02092002", "Scottish_deerhound"], + "178": ["n02092339", "Weimaraner"], + "179": ["n02093256", "Staffordshire_bullterrier"], + "180": ["n02093428", "American_Staffordshire_terrier"], + "181": ["n02093647", "Bedlington_terrier"], + "182": ["n02093754", "Border_terrier"], + "183": ["n02093859", "Kerry_blue_terrier"], + "184": ["n02093991", "Irish_terrier"], + "185": ["n02094114", "Norfolk_terrier"], + "186": ["n02094258", "Norwich_terrier"], + "187": ["n02094433", "Yorkshire_terrier"], + "188": ["n02095314", "wire-haired_fox_terrier"], + "189": ["n02095570", "Lakeland_terrier"], + "190": ["n02095889", "Sealyham_terrier"], + "191": ["n02096051", "Airedale"], + "192": ["n02096177", "cairn"], + "193": ["n02096294", "Australian_terrier"], + "194": ["n02096437", "Dandie_Dinmont"], + "195": ["n02096585", "Boston_bull"], + "196": ["n02097047", "miniature_schnauzer"], + "197": ["n02097130", "giant_schnauzer"], + "198": ["n02097209", "standard_schnauzer"], + "199": ["n02097298", "Scotch_terrier"], + "200": ["n02097474", "Tibetan_terrier"], + "201": ["n02097658", "silky_terrier"], + "202": ["n02098105", "soft-coated_wheaten_terrier"], + "203": ["n02098286", "West_Highland_white_terrier"], + "204": ["n02098413", "Lhasa"], + "205": ["n02099267", "flat-coated_retriever"], + "206": ["n02099429", "curly-coated_retriever"], + "207": ["n02099601", "golden_retriever"], + "208": ["n02099712", "Labrador_retriever"], + "209": ["n02099849", "Chesapeake_Bay_retriever"], + "210": ["n02100236", "German_short-haired_pointer"], + "211": ["n02100583", "vizsla"], + "212": ["n02100735", "English_setter"], + "213": ["n02100877", "Irish_setter"], + "214": ["n02101006", "Gordon_setter"], + "215": ["n02101388", "Brittany_spaniel"], + "216": ["n02101556", "clumber"], + "217": ["n02102040", "English_springer"], + "218": ["n02102177", "Welsh_springer_spaniel"], + "219": ["n02102318", "cocker_spaniel"], + "220": ["n02102480", "Sussex_spaniel"], + "221": ["n02102973", "Irish_water_spaniel"], + "222": ["n02104029", "kuvasz"], + "223": ["n02104365", "schipperke"], + "224": ["n02105056", "groenendael"], + "225": ["n02105162", "malinois"], + "226": ["n02105251", "briard"], + "227": ["n02105412", "kelpie"], + "228": ["n02105505", "komondor"], + "229": ["n02105641", "Old_English_sheepdog"], + "230": ["n02105855", "Shetland_sheepdog"], + "231": ["n02106030", "collie"], + "232": ["n02106166", "Border_collie"], + "233": ["n02106382", "Bouvier_des_Flandres"], + "234": ["n02106550", "Rottweiler"], + "235": ["n02106662", "German_shepherd"], + "236": ["n02107142", "Doberman"], + "237": ["n02107312", "miniature_pinscher"], + "238": ["n02107574", "Greater_Swiss_Mountain_dog"], + "239": ["n02107683", "Bernese_mountain_dog"], + "240": ["n02107908", "Appenzeller"], + "241": ["n02108000", "EntleBucher"], + "242": ["n02108089", "boxer"], + "243": ["n02108422", "bull_mastiff"], + "244": ["n02108551", "Tibetan_mastiff"], + "245": ["n02108915", "French_bulldog"], + "246": ["n02109047", "Great_Dane"], + "247": ["n02109525", "Saint_Bernard"], + "248": ["n02109961", "Eskimo_dog"], + "249": ["n02110063", "malamute"], + "250": ["n02110185", "Siberian_husky"], + "251": ["n02110341", "dalmatian"], + "252": ["n02110627", "affenpinscher"], + "253": ["n02110806", "basenji"], + "254": ["n02110958", "pug"], + "255": ["n02111129", "Leonberg"], + "256": ["n02111277", "Newfoundland"], + "257": ["n02111500", "Great_Pyrenees"], + "258": ["n02111889", "Samoyed"], + "259": ["n02112018", "Pomeranian"], + "260": ["n02112137", "chow"], + "261": ["n02112350", "keeshond"], + "262": ["n02112706", "Brabancon_griffon"], + "263": ["n02113023", "Pembroke"], + "264": ["n02113186", "Cardigan"], + "265": ["n02113624", "toy_poodle"], + "266": ["n02113712", "miniature_poodle"], + "267": ["n02113799", "standard_poodle"], + "268": ["n02113978", "Mexican_hairless"], + "269": ["n02114367", "timber_wolf"], + "270": ["n02114548", "white_wolf"], + "271": ["n02114712", "red_wolf"], + "272": ["n02114855", "coyote"], + "273": ["n02115641", "dingo"], + "274": ["n02115913", "dhole"], + "275": ["n02116738", "African_hunting_dog"], + "276": ["n02117135", "hyena"], + "277": ["n02119022", "red_fox"], + "278": ["n02119789", "kit_fox"], + "279": ["n02120079", "Arctic_fox"], + "280": ["n02120505", "grey_fox"], + "281": ["n02123045", "tabby"], + "282": ["n02123159", "tiger_cat"], + "283": ["n02123394", "Persian_cat"], + "284": ["n02123597", "Siamese_cat"], + "285": ["n02124075", "Egyptian_cat"], + "286": ["n02125311", "cougar"], + "287": ["n02127052", "lynx"], + "288": ["n02128385", "leopard"], + "289": ["n02128757", "snow_leopard"], + "290": ["n02128925", "jaguar"], + "291": ["n02129165", "lion"], + "292": ["n02129604", "tiger"], + "293": ["n02130308", "cheetah"], + "294": ["n02132136", "brown_bear"], + "295": ["n02133161", "American_black_bear"], + "296": ["n02134084", "ice_bear"], + "297": ["n02134418", "sloth_bear"], + "298": ["n02137549", "mongoose"], + "299": ["n02138441", "meerkat"], + "300": ["n02165105", "tiger_beetle"], + "301": ["n02165456", "ladybug"], + "302": ["n02167151", "ground_beetle"], + "303": ["n02168699", "long-horned_beetle"], + "304": ["n02169497", "leaf_beetle"], + "305": ["n02172182", "dung_beetle"], + "306": ["n02174001", "rhinoceros_beetle"], + "307": ["n02177972", "weevil"], + "308": ["n02190166", "fly"], + "309": ["n02206856", "bee"], + "310": ["n02219486", "ant"], + "311": ["n02226429", "grasshopper"], + "312": ["n02229544", "cricket"], + "313": ["n02231487", "walking_stick"], + "314": ["n02233338", "cockroach"], + "315": ["n02236044", "mantis"], + "316": ["n02256656", "cicada"], + "317": ["n02259212", "leafhopper"], + "318": ["n02264363", "lacewing"], + "319": ["n02268443", "dragonfly"], + "320": ["n02268853", "damselfly"], + "321": ["n02276258", "admiral"], + "322": ["n02277742", "ringlet"], + "323": ["n02279972", "monarch"], + "324": ["n02280649", "cabbage_butterfly"], + "325": ["n02281406", "sulphur_butterfly"], + "326": ["n02281787", "lycaenid"], + "327": ["n02317335", "starfish"], + "328": ["n02319095", "sea_urchin"], + "329": ["n02321529", "sea_cucumber"], + "330": ["n02325366", "wood_rabbit"], + "331": ["n02326432", "hare"], + "332": ["n02328150", "Angora"], + "333": ["n02342885", "hamster"], + "334": ["n02346627", "porcupine"], + "335": ["n02356798", "fox_squirrel"], + "336": ["n02361337", "marmot"], + "337": ["n02363005", "beaver"], + "338": ["n02364673", "guinea_pig"], + "339": ["n02389026", "sorrel"], + "340": ["n02391049", "zebra"], + "341": ["n02395406", "hog"], + "342": ["n02396427", "wild_boar"], + "343": ["n02397096", "warthog"], + "344": ["n02398521", "hippopotamus"], + "345": ["n02403003", "ox"], + "346": ["n02408429", "water_buffalo"], + "347": ["n02410509", "bison"], + "348": ["n02412080", "ram"], + "349": ["n02415577", "bighorn"], + "350": ["n02417914", "ibex"], + "351": ["n02422106", "hartebeest"], + "352": ["n02422699", "impala"], + "353": ["n02423022", "gazelle"], + "354": ["n02437312", "Arabian_camel"], + "355": ["n02437616", "llama"], + "356": ["n02441942", "weasel"], + "357": ["n02442845", "mink"], + "358": ["n02443114", "polecat"], + "359": ["n02443484", "black-footed_ferret"], + "360": ["n02444819", "otter"], + "361": ["n02445715", "skunk"], + "362": ["n02447366", "badger"], + "363": ["n02454379", "armadillo"], + "364": ["n02457408", "three-toed_sloth"], + "365": ["n02480495", "orangutan"], + "366": ["n02480855", "gorilla"], + "367": ["n02481823", "chimpanzee"], + "368": ["n02483362", "gibbon"], + "369": ["n02483708", "siamang"], + "370": ["n02484975", "guenon"], + "371": ["n02486261", "patas"], + "372": ["n02486410", "baboon"], + "373": ["n02487347", "macaque"], + "374": ["n02488291", "langur"], + "375": ["n02488702", "colobus"], + "376": ["n02489166", "proboscis_monkey"], + "377": ["n02490219", "marmoset"], + "378": ["n02492035", "capuchin"], + "379": ["n02492660", "howler_monkey"], + "380": ["n02493509", "titi"], + "381": ["n02493793", "spider_monkey"], + "382": ["n02494079", "squirrel_monkey"], + "383": ["n02497673", "Madagascar_cat"], + "384": ["n02500267", "indri"], + "385": ["n02504013", "Indian_elephant"], + "386": ["n02504458", "African_elephant"], + "387": ["n02509815", "lesser_panda"], + "388": ["n02510455", "giant_panda"], + "389": ["n02514041", "barracouta"], + "390": ["n02526121", "eel"], + "391": ["n02536864", "coho"], + "392": ["n02606052", "rock_beauty"], + "393": ["n02607072", "anemone_fish"], + "394": ["n02640242", "sturgeon"], + "395": ["n02641379", "gar"], + "396": ["n02643566", "lionfish"], + "397": ["n02655020", "puffer"], + "398": ["n02666196", "abacus"], + "399": ["n02667093", "abaya"], + "400": ["n02669723", "academic_gown"], + "401": ["n02672831", "accordion"], + "402": ["n02676566", "acoustic_guitar"], + "403": ["n02687172", "aircraft_carrier"], + "404": ["n02690373", "airliner"], + "405": ["n02692877", "airship"], + "406": ["n02699494", "altar"], + "407": ["n02701002", "ambulance"], + "408": ["n02704792", "amphibian"], + "409": ["n02708093", "analog_clock"], + "410": ["n02727426", "apiary"], + "411": ["n02730930", "apron"], + "412": ["n02747177", "ashcan"], + "413": ["n02749479", "assault_rifle"], + "414": ["n02769748", "backpack"], + "415": ["n02776631", "bakery"], + "416": ["n02777292", "balance_beam"], + "417": ["n02782093", "balloon"], + "418": ["n02783161", "ballpoint"], + "419": ["n02786058", "Band_Aid"], + "420": ["n02787622", "banjo"], + "421": ["n02788148", "bannister"], + "422": ["n02790996", "barbell"], + "423": ["n02791124", "barber_chair"], + "424": ["n02791270", "barbershop"], + "425": ["n02793495", "barn"], + "426": ["n02794156", "barometer"], + "427": ["n02795169", "barrel"], + "428": ["n02797295", "barrow"], + "429": ["n02799071", "baseball"], + "430": ["n02802426", "basketball"], + "431": ["n02804414", "bassinet"], + "432": ["n02804610", "bassoon"], + "433": ["n02807133", "bathing_cap"], + "434": ["n02808304", "bath_towel"], + "435": ["n02808440", "bathtub"], + "436": ["n02814533", "beach_wagon"], + "437": ["n02814860", "beacon"], + "438": ["n02815834", "beaker"], + "439": ["n02817516", "bearskin"], + "440": ["n02823428", "beer_bottle"], + "441": ["n02823750", "beer_glass"], + "442": ["n02825657", "bell_cote"], + "443": ["n02834397", "bib"], + "444": ["n02835271", "bicycle-built-for-two"], + "445": ["n02837789", "bikini"], + "446": ["n02840245", "binder"], + "447": ["n02841315", "binoculars"], + "448": ["n02843684", "birdhouse"], + "449": ["n02859443", "boathouse"], + "450": ["n02860847", "bobsled"], + "451": ["n02865351", "bolo_tie"], + "452": ["n02869837", "bonnet"], + "453": ["n02870880", "bookcase"], + "454": ["n02871525", "bookshop"], + "455": ["n02877765", "bottlecap"], + "456": ["n02879718", "bow"], + "457": ["n02883205", "bow_tie"], + "458": ["n02892201", "brass"], + "459": ["n02892767", "brassiere"], + "460": ["n02894605", "breakwater"], + "461": ["n02895154", "breastplate"], + "462": ["n02906734", "broom"], + "463": ["n02909870", "bucket"], + "464": ["n02910353", "buckle"], + "465": ["n02916936", "bulletproof_vest"], + "466": ["n02917067", "bullet_train"], + "467": ["n02927161", "butcher_shop"], + "468": ["n02930766", "cab"], + "469": ["n02939185", "caldron"], + "470": ["n02948072", "candle"], + "471": ["n02950826", "cannon"], + "472": ["n02951358", "canoe"], + "473": ["n02951585", "can_opener"], + "474": ["n02963159", "cardigan"], + "475": ["n02965783", "car_mirror"], + "476": ["n02966193", "carousel"], + "477": ["n02966687", "carpenter's_kit"], + "478": ["n02971356", "carton"], + "479": ["n02974003", "car_wheel"], + "480": ["n02977058", "cash_machine"], + "481": ["n02978881", "cassette"], + "482": ["n02979186", "cassette_player"], + "483": ["n02980441", "castle"], + "484": ["n02981792", "catamaran"], + "485": ["n02988304", "CD_player"], + "486": ["n02992211", "cello"], + "487": ["n02992529", "cellular_telephone"], + "488": ["n02999410", "chain"], + "489": ["n03000134", "chainlink_fence"], + "490": ["n03000247", "chain_mail"], + "491": ["n03000684", "chain_saw"], + "492": ["n03014705", "chest"], + "493": ["n03016953", "chiffonier"], + "494": ["n03017168", "chime"], + "495": ["n03018349", "china_cabinet"], + "496": ["n03026506", "Christmas_stocking"], + "497": ["n03028079", "church"], + "498": ["n03032252", "cinema"], + "499": ["n03041632", "cleaver"], + "500": ["n03042490", "cliff_dwelling"], + "501": ["n03045698", "cloak"], + "502": ["n03047690", "clog"], + "503": ["n03062245", "cocktail_shaker"], + "504": ["n03063599", "coffee_mug"], + "505": ["n03063689", "coffeepot"], + "506": ["n03065424", "coil"], + "507": ["n03075370", "combination_lock"], + "508": ["n03085013", "computer_keyboard"], + "509": ["n03089624", "confectionery"], + "510": ["n03095699", "container_ship"], + "511": ["n03100240", "convertible"], + "512": ["n03109150", "corkscrew"], + "513": ["n03110669", "cornet"], + "514": ["n03124043", "cowboy_boot"], + "515": ["n03124170", "cowboy_hat"], + "516": ["n03125729", "cradle"], + "517": ["n03126707", "crane"], + "518": ["n03127747", "crash_helmet"], + "519": ["n03127925", "crate"], + "520": ["n03131574", "crib"], + "521": ["n03133878", "Crock_Pot"], + "522": ["n03134739", "croquet_ball"], + "523": ["n03141823", "crutch"], + "524": ["n03146219", "cuirass"], + "525": ["n03160309", "dam"], + "526": ["n03179701", "desk"], + "527": ["n03180011", "desktop_computer"], + "528": ["n03187595", "dial_telephone"], + "529": ["n03188531", "diaper"], + "530": ["n03196217", "digital_clock"], + "531": ["n03197337", "digital_watch"], + "532": ["n03201208", "dining_table"], + "533": ["n03207743", "dishrag"], + "534": ["n03207941", "dishwasher"], + "535": ["n03208938", "disk_brake"], + "536": ["n03216828", "dock"], + "537": ["n03218198", "dogsled"], + "538": ["n03220513", "dome"], + "539": ["n03223299", "doormat"], + "540": ["n03240683", "drilling_platform"], + "541": ["n03249569", "drum"], + "542": ["n03250847", "drumstick"], + "543": ["n03255030", "dumbbell"], + "544": ["n03259280", "Dutch_oven"], + "545": ["n03271574", "electric_fan"], + "546": ["n03272010", "electric_guitar"], + "547": ["n03272562", "electric_locomotive"], + "548": ["n03290653", "entertainment_center"], + "549": ["n03291819", "envelope"], + "550": ["n03297495", "espresso_maker"], + "551": ["n03314780", "face_powder"], + "552": ["n03325584", "feather_boa"], + "553": ["n03337140", "file"], + "554": ["n03344393", "fireboat"], + "555": ["n03345487", "fire_engine"], + "556": ["n03347037", "fire_screen"], + "557": ["n03355925", "flagpole"], + "558": ["n03372029", "flute"], + "559": ["n03376595", "folding_chair"], + "560": ["n03379051", "football_helmet"], + "561": ["n03384352", "forklift"], + "562": ["n03388043", "fountain"], + "563": ["n03388183", "fountain_pen"], + "564": ["n03388549", "four-poster"], + "565": ["n03393912", "freight_car"], + "566": ["n03394916", "French_horn"], + "567": ["n03400231", "frying_pan"], + "568": ["n03404251", "fur_coat"], + "569": ["n03417042", "garbage_truck"], + "570": ["n03424325", "gasmask"], + "571": ["n03425413", "gas_pump"], + "572": ["n03443371", "goblet"], + "573": ["n03444034", "go-kart"], + "574": ["n03445777", "golf_ball"], + "575": ["n03445924", "golfcart"], + "576": ["n03447447", "gondola"], + "577": ["n03447721", "gong"], + "578": ["n03450230", "gown"], + "579": ["n03452741", "grand_piano"], + "580": ["n03457902", "greenhouse"], + "581": ["n03459775", "grille"], + "582": ["n03461385", "grocery_store"], + "583": ["n03467068", "guillotine"], + "584": ["n03476684", "hair_slide"], + "585": ["n03476991", "hair_spray"], + "586": ["n03478589", "half_track"], + "587": ["n03481172", "hammer"], + "588": ["n03482405", "hamper"], + "589": ["n03483316", "hand_blower"], + "590": ["n03485407", "hand-held_computer"], + "591": ["n03485794", "handkerchief"], + "592": ["n03492542", "hard_disc"], + "593": ["n03494278", "harmonica"], + "594": ["n03495258", "harp"], + "595": ["n03496892", "harvester"], + "596": ["n03498962", "hatchet"], + "597": ["n03527444", "holster"], + "598": ["n03529860", "home_theater"], + "599": ["n03530642", "honeycomb"], + "600": ["n03532672", "hook"], + "601": ["n03534580", "hoopskirt"], + "602": ["n03535780", "horizontal_bar"], + "603": ["n03538406", "horse_cart"], + "604": ["n03544143", "hourglass"], + "605": ["n03584254", "iPod"], + "606": ["n03584829", "iron"], + "607": ["n03590841", "jack-o'-lantern"], + "608": ["n03594734", "jean"], + "609": ["n03594945", "jeep"], + "610": ["n03595614", "jersey"], + "611": ["n03598930", "jigsaw_puzzle"], + "612": ["n03599486", "jinrikisha"], + "613": ["n03602883", "joystick"], + "614": ["n03617480", "kimono"], + "615": ["n03623198", "knee_pad"], + "616": ["n03627232", "knot"], + "617": ["n03630383", "lab_coat"], + "618": ["n03633091", "ladle"], + "619": ["n03637318", "lampshade"], + "620": ["n03642806", "laptop"], + "621": ["n03649909", "lawn_mower"], + "622": ["n03657121", "lens_cap"], + "623": ["n03658185", "letter_opener"], + "624": ["n03661043", "library"], + "625": ["n03662601", "lifeboat"], + "626": ["n03666591", "lighter"], + "627": ["n03670208", "limousine"], + "628": ["n03673027", "liner"], + "629": ["n03676483", "lipstick"], + "630": ["n03680355", "Loafer"], + "631": ["n03690938", "lotion"], + "632": ["n03691459", "loudspeaker"], + "633": ["n03692522", "loupe"], + "634": ["n03697007", "lumbermill"], + "635": ["n03706229", "magnetic_compass"], + "636": ["n03709823", "mailbag"], + "637": ["n03710193", "mailbox"], + "638": ["n03710637", "maillot"], + "639": ["n03710721", "maillot"], + "640": ["n03717622", "manhole_cover"], + "641": ["n03720891", "maraca"], + "642": ["n03721384", "marimba"], + "643": ["n03724870", "mask"], + "644": ["n03729826", "matchstick"], + "645": ["n03733131", "maypole"], + "646": ["n03733281", "maze"], + "647": ["n03733805", "measuring_cup"], + "648": ["n03742115", "medicine_chest"], + "649": ["n03743016", "megalith"], + "650": ["n03759954", "microphone"], + "651": ["n03761084", "microwave"], + "652": ["n03763968", "military_uniform"], + "653": ["n03764736", "milk_can"], + "654": ["n03769881", "minibus"], + "655": ["n03770439", "miniskirt"], + "656": ["n03770679", "minivan"], + "657": ["n03773504", "missile"], + "658": ["n03775071", "mitten"], + "659": ["n03775546", "mixing_bowl"], + "660": ["n03776460", "mobile_home"], + "661": ["n03777568", "Model_T"], + "662": ["n03777754", "modem"], + "663": ["n03781244", "monastery"], + "664": ["n03782006", "monitor"], + "665": ["n03785016", "moped"], + "666": ["n03786901", "mortar"], + "667": ["n03787032", "mortarboard"], + "668": ["n03788195", "mosque"], + "669": ["n03788365", "mosquito_net"], + "670": ["n03791053", "motor_scooter"], + "671": ["n03792782", "mountain_bike"], + "672": ["n03792972", "mountain_tent"], + "673": ["n03793489", "mouse"], + "674": ["n03794056", "mousetrap"], + "675": ["n03796401", "moving_van"], + "676": ["n03803284", "muzzle"], + "677": ["n03804744", "nail"], + "678": ["n03814639", "neck_brace"], + "679": ["n03814906", "necklace"], + "680": ["n03825788", "nipple"], + "681": ["n03832673", "notebook"], + "682": ["n03837869", "obelisk"], + "683": ["n03838899", "oboe"], + "684": ["n03840681", "ocarina"], + "685": ["n03841143", "odometer"], + "686": ["n03843555", "oil_filter"], + "687": ["n03854065", "organ"], + "688": ["n03857828", "oscilloscope"], + "689": ["n03866082", "overskirt"], + "690": ["n03868242", "oxcart"], + "691": ["n03868863", "oxygen_mask"], + "692": ["n03871628", "packet"], + "693": ["n03873416", "paddle"], + "694": ["n03874293", "paddlewheel"], + "695": ["n03874599", "padlock"], + "696": ["n03876231", "paintbrush"], + "697": ["n03877472", "pajama"], + "698": ["n03877845", "palace"], + "699": ["n03884397", "panpipe"], + "700": ["n03887697", "paper_towel"], + "701": ["n03888257", "parachute"], + "702": ["n03888605", "parallel_bars"], + "703": ["n03891251", "park_bench"], + "704": ["n03891332", "parking_meter"], + "705": ["n03895866", "passenger_car"], + "706": ["n03899768", "patio"], + "707": ["n03902125", "pay-phone"], + "708": ["n03903868", "pedestal"], + "709": ["n03908618", "pencil_box"], + "710": ["n03908714", "pencil_sharpener"], + "711": ["n03916031", "perfume"], + "712": ["n03920288", "Petri_dish"], + "713": ["n03924679", "photocopier"], + "714": ["n03929660", "pick"], + "715": ["n03929855", "pickelhaube"], + "716": ["n03930313", "picket_fence"], + "717": ["n03930630", "pickup"], + "718": ["n03933933", "pier"], + "719": ["n03935335", "piggy_bank"], + "720": ["n03937543", "pill_bottle"], + "721": ["n03938244", "pillow"], + "722": ["n03942813", "ping-pong_ball"], + "723": ["n03944341", "pinwheel"], + "724": ["n03947888", "pirate"], + "725": ["n03950228", "pitcher"], + "726": ["n03954731", "plane"], + "727": ["n03956157", "planetarium"], + "728": ["n03958227", "plastic_bag"], + "729": ["n03961711", "plate_rack"], + "730": ["n03967562", "plow"], + "731": ["n03970156", "plunger"], + "732": ["n03976467", "Polaroid_camera"], + "733": ["n03976657", "pole"], + "734": ["n03977966", "police_van"], + "735": ["n03980874", "poncho"], + "736": ["n03982430", "pool_table"], + "737": ["n03983396", "pop_bottle"], + "738": ["n03991062", "pot"], + "739": ["n03992509", "potter's_wheel"], + "740": ["n03995372", "power_drill"], + "741": ["n03998194", "prayer_rug"], + "742": ["n04004767", "printer"], + "743": ["n04005630", "prison"], + "744": ["n04008634", "projectile"], + "745": ["n04009552", "projector"], + "746": ["n04019541", "puck"], + "747": ["n04023962", "punching_bag"], + "748": ["n04026417", "purse"], + "749": ["n04033901", "quill"], + "750": ["n04033995", "quilt"], + "751": ["n04037443", "racer"], + "752": ["n04039381", "racket"], + "753": ["n04040759", "radiator"], + "754": ["n04041544", "radio"], + "755": ["n04044716", "radio_telescope"], + "756": ["n04049303", "rain_barrel"], + "757": ["n04065272", "recreational_vehicle"], + "758": ["n04067472", "reel"], + "759": ["n04069434", "reflex_camera"], + "760": ["n04070727", "refrigerator"], + "761": ["n04074963", "remote_control"], + "762": ["n04081281", "restaurant"], + "763": ["n04086273", "revolver"], + "764": ["n04090263", "rifle"], + "765": ["n04099969", "rocking_chair"], + "766": ["n04111531", "rotisserie"], + "767": ["n04116512", "rubber_eraser"], + "768": ["n04118538", "rugby_ball"], + "769": ["n04118776", "rule"], + "770": ["n04120489", "running_shoe"], + "771": ["n04125021", "safe"], + "772": ["n04127249", "safety_pin"], + "773": ["n04131690", "saltshaker"], + "774": ["n04133789", "sandal"], + "775": ["n04136333", "sarong"], + "776": ["n04141076", "sax"], + "777": ["n04141327", "scabbard"], + "778": ["n04141975", "scale"], + "779": ["n04146614", "school_bus"], + "780": ["n04147183", "schooner"], + "781": ["n04149813", "scoreboard"], + "782": ["n04152593", "screen"], + "783": ["n04153751", "screw"], + "784": ["n04154565", "screwdriver"], + "785": ["n04162706", "seat_belt"], + "786": ["n04179913", "sewing_machine"], + "787": ["n04192698", "shield"], + "788": ["n04200800", "shoe_shop"], + "789": ["n04201297", "shoji"], + "790": ["n04204238", "shopping_basket"], + "791": ["n04204347", "shopping_cart"], + "792": ["n04208210", "shovel"], + "793": ["n04209133", "shower_cap"], + "794": ["n04209239", "shower_curtain"], + "795": ["n04228054", "ski"], + "796": ["n04229816", "ski_mask"], + "797": ["n04235860", "sleeping_bag"], + "798": ["n04238763", "slide_rule"], + "799": ["n04239074", "sliding_door"], + "800": ["n04243546", "slot"], + "801": ["n04251144", "snorkel"], + "802": ["n04252077", "snowmobile"], + "803": ["n04252225", "snowplow"], + "804": ["n04254120", "soap_dispenser"], + "805": ["n04254680", "soccer_ball"], + "806": ["n04254777", "sock"], + "807": ["n04258138", "solar_dish"], + "808": ["n04259630", "sombrero"], + "809": ["n04263257", "soup_bowl"], + "810": ["n04264628", "space_bar"], + "811": ["n04265275", "space_heater"], + "812": ["n04266014", "space_shuttle"], + "813": ["n04270147", "spatula"], + "814": ["n04273569", "speedboat"], + "815": ["n04275548", "spider_web"], + "816": ["n04277352", "spindle"], + "817": ["n04285008", "sports_car"], + "818": ["n04286575", "spotlight"], + "819": ["n04296562", "stage"], + "820": ["n04310018", "steam_locomotive"], + "821": ["n04311004", "steel_arch_bridge"], + "822": ["n04311174", "steel_drum"], + "823": ["n04317175", "stethoscope"], + "824": ["n04325704", "stole"], + "825": ["n04326547", "stone_wall"], + "826": ["n04328186", "stopwatch"], + "827": ["n04330267", "stove"], + "828": ["n04332243", "strainer"], + "829": ["n04335435", "streetcar"], + "830": ["n04336792", "stretcher"], + "831": ["n04344873", "studio_couch"], + "832": ["n04346328", "stupa"], + "833": ["n04347754", "submarine"], + "834": ["n04350905", "suit"], + "835": ["n04355338", "sundial"], + "836": ["n04355933", "sunglass"], + "837": ["n04356056", "sunglasses"], + "838": ["n04357314", "sunscreen"], + "839": ["n04366367", "suspension_bridge"], + "840": ["n04367480", "swab"], + "841": ["n04370456", "sweatshirt"], + "842": ["n04371430", "swimming_trunks"], + "843": ["n04371774", "swing"], + "844": ["n04372370", "switch"], + "845": ["n04376876", "syringe"], + "846": ["n04380533", "table_lamp"], + "847": ["n04389033", "tank"], + "848": ["n04392985", "tape_player"], + "849": ["n04398044", "teapot"], + "850": ["n04399382", "teddy"], + "851": ["n04404412", "television"], + "852": ["n04409515", "tennis_ball"], + "853": ["n04417672", "thatch"], + "854": ["n04418357", "theater_curtain"], + "855": ["n04423845", "thimble"], + "856": ["n04428191", "thresher"], + "857": ["n04429376", "throne"], + "858": ["n04435653", "tile_roof"], + "859": ["n04442312", "toaster"], + "860": ["n04443257", "tobacco_shop"], + "861": ["n04447861", "toilet_seat"], + "862": ["n04456115", "torch"], + "863": ["n04458633", "totem_pole"], + "864": ["n04461696", "tow_truck"], + "865": ["n04462240", "toyshop"], + "866": ["n04465501", "tractor"], + "867": ["n04467665", "trailer_truck"], + "868": ["n04476259", "tray"], + "869": ["n04479046", "trench_coat"], + "870": ["n04482393", "tricycle"], + "871": ["n04483307", "trimaran"], + "872": ["n04485082", "tripod"], + "873": ["n04486054", "triumphal_arch"], + "874": ["n04487081", "trolleybus"], + "875": ["n04487394", "trombone"], + "876": ["n04493381", "tub"], + "877": ["n04501370", "turnstile"], + "878": ["n04505470", "typewriter_keyboard"], + "879": ["n04507155", "umbrella"], + "880": ["n04509417", "unicycle"], + "881": ["n04515003", "upright"], + "882": ["n04517823", "vacuum"], + "883": ["n04522168", "vase"], + "884": ["n04523525", "vault"], + "885": ["n04525038", "velvet"], + "886": ["n04525305", "vending_machine"], + "887": ["n04532106", "vestment"], + "888": ["n04532670", "viaduct"], + "889": ["n04536866", "violin"], + "890": ["n04540053", "volleyball"], + "891": ["n04542943", "waffle_iron"], + "892": ["n04548280", "wall_clock"], + "893": ["n04548362", "wallet"], + "894": ["n04550184", "wardrobe"], + "895": ["n04552348", "warplane"], + "896": ["n04553703", "washbasin"], + "897": ["n04554684", "washer"], + "898": ["n04557648", "water_bottle"], + "899": ["n04560804", "water_jug"], + "900": ["n04562935", "water_tower"], + "901": ["n04579145", "whiskey_jug"], + "902": ["n04579432", "whistle"], + "903": ["n04584207", "wig"], + "904": ["n04589890", "window_screen"], + "905": ["n04590129", "window_shade"], + "906": ["n04591157", "Windsor_tie"], + "907": ["n04591713", "wine_bottle"], + "908": ["n04592741", "wing"], + "909": ["n04596742", "wok"], + "910": ["n04597913", "wooden_spoon"], + "911": ["n04599235", "wool"], + "912": ["n04604644", "worm_fence"], + "913": ["n04606251", "wreck"], + "914": ["n04612504", "yawl"], + "915": ["n04613696", "yurt"], + "916": ["n06359193", "web_site"], + "917": ["n06596364", "comic_book"], + "918": ["n06785654", "crossword_puzzle"], + "919": ["n06794110", "street_sign"], + "920": ["n06874185", "traffic_light"], + "921": ["n07248320", "book_jacket"], + "922": ["n07565083", "menu"], + "923": ["n07579787", "plate"], + "924": ["n07583066", "guacamole"], + "925": ["n07584110", "consomme"], + "926": ["n07590611", "hot_pot"], + "927": ["n07613480", "trifle"], + "928": ["n07614500", "ice_cream"], + "929": ["n07615774", "ice_lolly"], + "930": ["n07684084", "French_loaf"], + "931": ["n07693725", "bagel"], + "932": ["n07695742", "pretzel"], + "933": ["n07697313", "cheeseburger"], + "934": ["n07697537", "hotdog"], + "935": ["n07711569", "mashed_potato"], + "936": ["n07714571", "head_cabbage"], + "937": ["n07714990", "broccoli"], + "938": ["n07715103", "cauliflower"], + "939": ["n07716358", "zucchini"], + "940": ["n07716906", "spaghetti_squash"], + "941": ["n07717410", "acorn_squash"], + "942": ["n07717556", "butternut_squash"], + "943": ["n07718472", "cucumber"], + "944": ["n07718747", "artichoke"], + "945": ["n07720875", "bell_pepper"], + "946": ["n07730033", "cardoon"], + "947": ["n07734744", "mushroom"], + "948": ["n07742313", "Granny_Smith"], + "949": ["n07745940", "strawberry"], + "950": ["n07747607", "orange"], + "951": ["n07749582", "lemon"], + "952": ["n07753113", "fig"], + "953": ["n07753275", "pineapple"], + "954": ["n07753592", "banana"], + "955": ["n07754684", "jackfruit"], + "956": ["n07760859", "custard_apple"], + "957": ["n07768694", "pomegranate"], + "958": ["n07802026", "hay"], + "959": ["n07831146", "carbonara"], + "960": ["n07836838", "chocolate_sauce"], + "961": ["n07860988", "dough"], + "962": ["n07871810", "meat_loaf"], + "963": ["n07873807", "pizza"], + "964": ["n07875152", "potpie"], + "965": ["n07880968", "burrito"], + "966": ["n07892512", "red_wine"], + "967": ["n07920052", "espresso"], + "968": ["n07930864", "cup"], + "969": ["n07932039", "eggnog"], + "970": ["n09193705", "alp"], + "971": ["n09229709", "bubble"], + "972": ["n09246464", "cliff"], + "973": ["n09256479", "coral_reef"], + "974": ["n09288635", "geyser"], + "975": ["n09332890", "lakeside"], + "976": ["n09399592", "promontory"], + "977": ["n09421951", "sandbar"], + "978": ["n09428293", "seashore"], + "979": ["n09468604", "valley"], + "980": ["n09472597", "volcano"], + "981": ["n09835506", "ballplayer"], + "982": ["n10148035", "groom"], + "983": ["n10565667", "scuba_diver"], + "984": ["n11879895", "rapeseed"], + "985": ["n11939491", "daisy"], + "986": ["n12057211", "yellow_lady's_slipper"], + "987": ["n12144580", "corn"], + "988": ["n12267677", "acorn"], + "989": ["n12620546", "hip"], + "990": ["n12768682", "buckeye"], + "991": ["n12985857", "coral_fungus"], + "992": ["n12998815", "agaric"], + "993": ["n13037406", "gyromitra"], + "994": ["n13040303", "stinkhorn"], + "995": ["n13044778", "earthstar"], + "996": ["n13052670", "hen-of-the-woods"], + "997": ["n13054560", "bolete"], + "998": ["n13133613", "ear"], + "999": ["n15075141", "toilet_tissue"] +} diff --git a/machine_learning/app/main.py b/machine_learning/app/main.py new file mode 100644 index 0000000000..75576f75ab --- /dev/null +++ b/machine_learning/app/main.py @@ -0,0 +1,51 @@ +from typing import Optional +from pydantic import BaseModel +import numpy as np +from fastapi import FastAPI +import tensorflow as tf +from tensorflow.keras.applications import InceptionV3 +from tensorflow.keras.applications.inception_v3 import preprocess_input, decode_predictions +from tensorflow.keras.preprocessing import image + +IMG_SIZE = 299 +PREDICTION_MODEL = InceptionV3(weights='imagenet') + + +def warm_up(): + img_path = f'./app/test.png' + img = image.load_img(img_path, target_size=(IMG_SIZE, IMG_SIZE)) + x = image.img_to_array(img) + x = np.expand_dims(x, axis=0) + x = preprocess_input(x) + PREDICTION_MODEL.predict(x) + + +# Warm up model +warm_up() +app = FastAPI() + + +class TagImagePayload(BaseModel): + thumbnail_path: str + + +@app.post("/tagImage") +async def post_root(payload: TagImagePayload): + imagePath = payload.thumbnail_path + + if imagePath[0] == '.': + imagePath = imagePath[2:] + + img_path = f'./app/{imagePath}' + img = image.load_img(img_path, target_size=(IMG_SIZE, IMG_SIZE)) + x = image.img_to_array(img) + x = np.expand_dims(x, axis=0) + x = preprocess_input(x) + + preds = PREDICTION_MODEL.predict(x) + result = decode_predictions(preds, top=3)[0] + payload = [] + for _, value, _ in result: + payload.append(value) + + return payload diff --git a/design/sc2.PNG b/machine_learning/app/test.png similarity index 100% rename from design/sc2.PNG rename to machine_learning/app/test.png diff --git a/machine_learning/requirements.txt b/machine_learning/requirements.txt new file mode 100644 index 0000000000..d362ed6bf8 --- /dev/null +++ b/machine_learning/requirements.txt @@ -0,0 +1,6 @@ +fastapi>=0.68.0,<0.69.0 +pydantic>=1.8.0,<2.0.0 +uvicorn>=0.15.0,<0.16.0 +tensorflow==2.8.0 +numpy==1.22.2 +pillow==9.0.1 \ No newline at end of file diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json index d36b1fab2d..176c6641bd 100644 --- a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,122 +1,158 @@ { "images" : [ { - "size" : "20x20", + "filename" : "immich-logo-1024-20@2x.png", "idiom" : "iphone", - "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" + "scale" : "2x", + "size" : "20x20" }, { - "size" : "20x20", + "filename" : "immich-logo-1024-20@3x.png", "idiom" : "iphone", - "filename" : "Icon-App-20x20@3x.png", - "scale" : "3x" + "scale" : "3x", + "size" : "20x20" }, { - "size" : "29x29", + "filename" : "immich-logo-1024-29.png", "idiom" : "iphone", - "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" + "scale" : "1x", + "size" : "29x29" }, { - "size" : "29x29", + "filename" : "immich-logo-1024-29@2x.png", "idiom" : "iphone", - "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" + "scale" : "2x", + "size" : "29x29" }, { - "size" : "29x29", + "filename" : "immich-logo-1024-29@3x.png", "idiom" : "iphone", - "filename" : "Icon-App-29x29@3x.png", - "scale" : "3x" + "scale" : "3x", + "size" : "29x29" }, { - "size" : "40x40", + "filename" : "immich-logo-1024-40@2x.png", "idiom" : "iphone", - "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" + "scale" : "2x", + "size" : "40x40" }, { - "size" : "40x40", + "filename" : "immich-logo-1024-40@3x.png", "idiom" : "iphone", - "filename" : "Icon-App-40x40@3x.png", - "scale" : "3x" + "scale" : "3x", + "size" : "40x40" }, { - "size" : "60x60", + "filename" : "immich-logo-1024-60@2x.png", "idiom" : "iphone", - "filename" : "Icon-App-60x60@2x.png", - "scale" : "2x" + "scale" : "2x", + "size" : "60x60" }, { - "size" : "60x60", + "filename" : "immich-logo-1024-60@3x.png", "idiom" : "iphone", - "filename" : "Icon-App-60x60@3x.png", - "scale" : "3x" + "scale" : "3x", + "size" : "60x60" }, { - "size" : "20x20", - "idiom" : "ipad", "filename" : "Icon-App-20x20@1x.png", - "scale" : "1x" + "idiom" : "ipad", + "scale" : "1x", + "size" : "20x20" }, { - "size" : "20x20", - "idiom" : "ipad", "filename" : "Icon-App-20x20@2x.png", - "scale" : "2x" + "idiom" : "ipad", + "scale" : "2x", + "size" : "20x20" }, { - "size" : "29x29", - "idiom" : "ipad", "filename" : "Icon-App-29x29@1x.png", - "scale" : "1x" + "idiom" : "ipad", + "scale" : "1x", + "size" : "29x29" }, { - "size" : "29x29", - "idiom" : "ipad", "filename" : "Icon-App-29x29@2x.png", - "scale" : "2x" + "idiom" : "ipad", + "scale" : "2x", + "size" : "29x29" }, { - "size" : "40x40", - "idiom" : "ipad", "filename" : "Icon-App-40x40@1x.png", - "scale" : "1x" + "idiom" : "ipad", + "scale" : "1x", + "size" : "40x40" }, { - "size" : "40x40", - "idiom" : "ipad", "filename" : "Icon-App-40x40@2x.png", - "scale" : "2x" + "idiom" : "ipad", + "scale" : "2x", + "size" : "40x40" }, { - "size" : "76x76", - "idiom" : "ipad", "filename" : "Icon-App-76x76@1x.png", - "scale" : "1x" + "idiom" : "ipad", + "scale" : "1x", + "size" : "76x76" }, { - "size" : "76x76", - "idiom" : "ipad", "filename" : "Icon-App-76x76@2x.png", - "scale" : "2x" - }, - { - "size" : "83.5x83.5", "idiom" : "ipad", - "filename" : "Icon-App-83.5x83.5@2x.png", - "scale" : "2x" + "scale" : "2x", + "size" : "76x76" + }, + { + "filename" : "Icon-App-83.5x83.5@2x.png", + "idiom" : "ipad", + "scale" : "2x", + "size" : "83.5x83.5" }, { - "size" : "1024x1024", - "idiom" : "ios-marketing", "filename" : "Icon-App-1024x1024@1x.png", - "scale" : "1x" + "idiom" : "ios-marketing", + "scale" : "1x", + "size" : "1024x1024" + }, + { + "filename" : "immich-logo-1024-20.png", + "idiom" : "universal", + "scale" : "1x", + "size" : "20x20" + }, + { + "filename" : "immich-logo-1024-40.png", + "idiom" : "universal", + "scale" : "1x", + "size" : "40x40" + }, + { + "filename" : "immich-logo-1024-76.png", + "idiom" : "universal", + "scale" : "1x", + "size" : "76x76" + }, + { + "filename" : "immich-logo-1024-76@2x.png", + "idiom" : "universal", + "scale" : "2x", + "size" : "76x76" + }, + { + "filename" : "immich-logo-1024-83.5@2x.png", + "idiom" : "universal", + "scale" : "2x", + "size" : "83.5x83.5" + }, + { + "filename" : "immich-logo-1024-1024.png", + "idiom" : "universal", + "scale" : "1x", + "size" : "1024x1024" } ], "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } } diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png deleted file mode 100644 index 398fa7f007a53781b6094498092b58de44a78782..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5661 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 DDx2t) diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png deleted file mode 100644 index a02880956047c765f9c7f0646e2dd2000a8f4aa4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9141 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 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png deleted file mode 100644 index 28bda97fad04250b22a3f266df81bb6ced57386f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13720 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 CO8o5r diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png deleted file mode 100644 index 28bda97fad04250b22a3f266df81bb6ced57386f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13720 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 CO8o5r diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png deleted file mode 100644 index cae6292f019f851b087896836cdfa2a7cda1f566..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22193 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∋Q4(u@G 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 Ef_CB19{>OV diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-1024.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-1024.png new file mode 100644 index 0000000000000000000000000000000000000000..654ccf295567580b57615926725ac20f3925e6ef GIT binary patch literal 120577 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%0AF$lq^zsPu;7(9};-2);PDnsNHLur}u;T(c)% zG7t`Lw{m=S4PwPn9egChf(SOw)NYf={Ko;ty8N~81*Lvu^sY<ofDj{Zhasv7_6lj# ze+;_MTfym-l2suy&NAW?#uiI~J$j!YNppEVdY-ua0YWy!Hg~5pX`40VSH?8yE-Tu~ zz?yUTIEy}RQE!eyqwxz@3}wzBN@X~7<(E0I{l$Vd#wm60rj0+I6h7{Y51pn7%f@4E zCgy1CT)XuVQlc&!?fTQZ9A&`i3o)Itd|kM#*pz3<Ty+V3ePaD5bdT+Fg+2zM^XOr@ z(s={N!>k{F2yp;%FP2hmm6ZJ$bMInqytoc^BoQFJs$x1W0q~jT{M`tZp~ok>F&f{* zinq=ddkk;*;f#udj2y%npP*WRb=ooXY(k}JH^NYbpY8`)uVR(;pE_FKK?Da*3~u1_ zwJRR}uZp5(8t&X5MeeRkI&vx^FMFMgfT#p9d_Y9gjB0-dhj~S?2!ehnw&>$>VW#b% z<y<OUeWzpL*wn(xGI5AP?IA6tT5!`ixx@F9&he9fMLv*9bf%+yunGzhjC{di-upc9 z)%<Kk7(|f%>uxkY3+43D?<vCjzOjo&5!|^gw6p$M8caV-dmF?;_W|vYJE?Uet3?<> zI(TA$pdl7d;9=8ccV~)NtLIBSzNW*@3r?144Sg$N7{!cL0cC(Ak#r*oCV>h&+W)di z(34s;WU>Q*b++7-?PTf#nDfTKb-b8B#9(-Fq%@(94~2Uyh`O_*-aLH4hOAU`pSe>t z;DA4pyT+}SrfsmPEd5#9gEMA)LP>+wml>KQArdE-Crhp*Y%w(Qig&9;EQ?c{<S*`! z04y1k*aQlHDIa(g!>`{K2cOXykL@3LcwTl9><sIx(lsG?ky6#h{{C+gu!*N1T*6zs zIY#@+>!(c6iXxLgvpZHIjecbfv8DyE4?lFw-eudvaU2!z+t-mlaBS$1-i^4Sa&S-w zS}Zv@w3gw@>-Q%6jNs^6EEIA|@$Z&=ByzkfL){nn^D_<2g(zOyUfnSMPa&4oP_Zm0 zmJqX7e3808Fy6A+3)@lO`m{9*<z#`Uh~DCNyaa8>`hs)s$j&C=()%+g`JjQwe}~11 z>q&m1Jpt>*cJrFZo}KW2KzyFpRd-n;lL3zvHP=iM(fgWTY<sqkGjp<SY+M%@7)6Z$ zNEqQb6$04?XK@&oh|nRxcBLsH3ba=~!OI>K<>aV2sSH*Ux}U#gWlETfq)kIf5gdhx zh)HXHBUl_3Xs;z6%}P3Gmv@zUaasBBTohVsJ(5yztQdJdVpqTIpW<%l@tuyq=Hl+W z@g)f94{`*}dnpF&Pc%X6${kd|=kb9pE^j>JwLkBIs<+8L{4{wiOur?3!DO=|V$>mF zLlP~@fW7o<{MuUgzTfZUJL+g2pJ4gq0i(jVSD6s|04vGd&BrHsx>*(&HHVvVp*fyU zb#!qxUlWBt8Uw@7iDu)sRDL>I`4MAuCL}{O5q=u9QQ{j05ly1XGM)y$2aJrR%EJUe zV>?w5L}1DUtykY5%dWI)D+5_-eF>Q>@RAeH`6@a2+}l=ch+~)Rz+b-W;wyRX+f+qG zZ0ReO?U|YAbvggGM<?TMx~yfA=fmY_yBX7%9?N==BC;a91J!K?_iT~}nkBkb%n*B@ z$M|iN>Ph6Tw*C1U)Eo~WT+f%g3pSt$pQGs+afC%Ykv=~Qxn|@pv&2fwMh8>;Gk8)a zlL?1&*iNKE3f5MG9yLUPm01B$2P2>n?ZlaFcM)1ru#qWs97ehv^vAf!t+2zEk!Tl4 zLUN;k$u~a!xTOgra!2@69bU|N`=}Yxzi|>3IU25Bi8FvBgY(9sI<8--tODt3V@_~~ zmpd0Q(yl4QTtY+O;A>wYZr+Q{f~t;`X!8;=?T^7cFR{8iF|UC}SUARfR+UiZredf3 z2b1c;A6QGmw#~RyVK{^t@^`cU(s)bP<#Wi+hIv6~K&v9?QXNPl2(>PbHPQe5hA^U> zD2)W#e;=#fip+bAy^u;W{q$P0pZ^QP<a&_Y;me9iCUV(>HrH4F$uYPNJ%Xu%KYClX zL&SW?qaqk>vk`=4rN#@fnXB2-#|;fdFbnW=yMV6f4rRuVZM$TM8}Om+^Y<iwoxV5z z<zD~%v_g&2g<T^-D|KxDZUv>wSfn9y#-APOt{&A7+Lj9H!>O0+ZQqB6c<RvI*A2US z?~`bwuf93@wBmQPs!B!(hLQ&tZNB`r7d5)@3+k?l7r&bxX`!DY?lN-Ta_6(}*SasF zOi>zmdDZjkr`Ht44qp~&4evFj+=(Casjt|qNm5)bUIyVhM2!EzSo-cE>oYH|K1gmd z$HK}I<wYtS?%Mm{mxVh-4Et$a$Me#LMDx;ghH+BDJ>@*KLW;<7Ff>>drL?J>nMtJJ zMH2ZhIYBvfC5atqON~K1`_S>Gm>__I&%YAgWuosn(Ed(!wd^^w&b*Id--6F*TyY}9 zx_?iy*vk<ac>0i1HRQW(fk=GGQhp?!+PaRWtrP+UQ|a^WNvtT7<C-$b+MBs7skC}@ z<_&xvJ1tNBGqzYBRgnQt$yvD<ivmNnAY*J<QW_h=OV2kra4`>=4yoEhk<j!VO2F-o z^2T_&!^#N5zxj&4@Q6L7a6e4%Vhgs)B!^{q>w*>Jt(eefsF<&*Y=w+Z@X5#PnW*{d z3gf&?^}Y6Fh&hnJEc2W8UvXzIy8%Q-?Zo49tbU$@m|`{sFuXybxd`pZoJ_O_L_}z5 zli;w=M?Z8NpaRVQO|X%uRX14Z7bD^>&tF2VgIQf6d66FfC4JHUt$qh=J)YSf^XvQ` zYK|#o-toZVD_`Dc=9LedGMB^+9Iv^>MA0fUZ^>lLqTfBQpcTC8`Mob3bcLy;{!WmA zLq3YqMbQ8mF|i%*L8Xq2?Ppv&6XwgpheH||&O=+=k)A7~HN6(l8}LERm$82copH)F z^#W=1*|*nOQ`>P_97D`^<Y$<60ayI|up9|&LHR@uOCsr^=OzjEFy=XgwwtO*3j&c) z>5>PidZ05;2q8rwO$gD5TGRR`kv^*G=lSHAWm~SeViQ^x)L)0ZMWndt;O$Q|kdd5d zyuVc6WMhK+L>F^>9^}e(el%*5G3`z*Ho)Uy;YuE7eUEY)hsNaEVwFW-^CIwDkL?cm zFJHP4_<3u=yn6GgYkHE*GVgENxblL8P}A=#md)|nv#x9@Lg|vCRa4%dz{AClMpi4> zoi^2sp=n~SZ&nDiWN5E-ul;_$6Z6}<uY0i%DX{u^zc)V|vGWb>rR<kOw9jj`fR{vU z1$X(oVQWzrGCUPA9tCK3-BlJ%km{7zBk5Mk=Smq1@89|rLRoLc{7Kv?DrlThL^SK# z43hmqIE@f9Jy5`mx&^H9syBaqJ!5IO9_&nI=-4vV-lNymAwOC(jbzuU;~)xpt#q_0 zw?fnnp>NfIE_W^&AyS`$qihqZidecbe;4blYiPey98Q_2r)ba10hPz%(MId%%IrpT zi79oEnoQR{+73Hsi96FIYeO<3%?@BwpA7@z4&=HT`*p*-*fPcAxI#}=y7%aLYLxR1 z?j;RvmoYnKaW<J*;~4w{o->rOHZ<uTudTU>SSPaFP-9|nthc|T`})8W`G;o}BnMNl z$0xG7gtjmsoc#Ydoh0G}HPK+>p8v3?c-Ic`$({KI_p^X6#O5>~a$nYozf!>V6QU)t z4@$ki@?bO?0$B*q<$Tj;{D4l|wMxQ+vdQ33L>e`%RJLcb3C2Kp>HGkYw&sQ`Is+L_ zvI=59hWMB+eYCDaY1j@3=E(TVH0j@jZyM0D{bonHB~uy)eL?FBN~c|5Eu>+n?vPCh zPkt?dEM@^W3Ht+uZ>qbz5BU=k9OHV#0V-_;J4<#WJWKt@kUu5yVS&CMn=DQZ;>-r2 zEz^j9cY?9JVy2};{tl5G)Q($wrF6!dY*ghuSJVbz^JVmY?vTYA18`oa$*n;|^$;B6 znE|ger!b*@$in&0f9^RW#QBv*z+Z%aI>HSPSCGQB0zD>07|fL!!qJxQ$C^~!=dp1Q zMXBN6dX5e5tQ=QKd9U|(6*)VKAbyg8=!4ZI-}%mTUf#6k`c|vWj0fqw@n6F*Wi~VV zG`FzEaiPU*NQ;#7_d{r?CMss1o~)q%Uk;$h0|R1O$>iq<3sP<%U!Rr(ywTPHr8){G z=#qVN$Pb$(uPRl<%Dj{Jl<W9T(0e;2kL5sgBEq$M*I#H+wF?s%5U(FmG5vj)f@r^x zcrnkA<((eMUNHK|8oFS;pi)iVj(7Sr<V=ymN6?691!ux4XT(U-*@inNa@(n0AK^A4 zS%=49_g^C6&ll7em&@g!;&f31qn#QT@6#V&usT<bQ-=xVhJIS~JiogQmt%g;LOvy` zyIs?ivRSkp;mfA|>HT7lIkw*s^rCOC<zdiMc=K*_v?qW}$x!#~+tdC(F>r%0B9`9u zUq<t0_L#|5`(IJXOB6nBW<!wwRgo4fJlrOG)NQm^g$W?POO_lGQOeS34n_rvas6nR zBi;_yvp1Q};WD}^O>pnEAX4n*XW;I<i@>Mz^o%p18~7CCe#;4c9k!-Bt8Era&p4P8 zWdBN(cpvv8Ri66K5L3HUd-LE|TwJAwmA;WgNa2?It@=hBuCt6`dYj`Juk7K+bWGzA z)5&qBLP2>@_3J1fKmYPe26Q7A(%1xQ<IQrs>G5DwtS+neq(KrI%#9qu=l3dRD_ihQ ziqiq5GwD!KrBh4RUV9DUh-Lv~dV(8Xfh=?2cZ{Cc>m>@(XRH+NNH*>noPp~Us3QW` zIZ)!g%z6Mtm+m^E=+QJ$@U2!o*gQeZ4xIkZ@)!>N(i&<&%XK}%V<8pzk&MT1TGXj- z(YlS*g&YeL#JS3mhq$yv&_sW+2vH>T!PLBgTZd9+y5bI3)<7ByZWPAwbR2YjY$uGw zL-MtvH%#)ly6rpZk<bx82ePRqmgl4xrwRIBM7qu)ksob$%ER@y$$x>gbKM$OuWe>& z)T^NM=(#roj!q6j-}H!_vjOd8SDWMQao$g8hjwQb@f{o7fq7dU`RI3m0G4+bxTXcN zkTS{EK)ZsC5DSSK)bp3AY43e|%#9Ay@_BQW)=Z4<_PVN1xW<@XI_wV1TkARPt7J^- z$~JfJ3DHBK+ZNCGEEbVig;;jOpmzw$3u5lFqQc>iyaR{-X7P?eMnX7;u~HkC>Re6t z-W0n@^W60vi-943DK^%Yv)g{_YhyZ^%6MITV^lm-4$q|potj~LYU=tPzWjr#l@)*c z*<Hs`(Kue7KE)%%OEG=PycyS3`zD^m+nl|;?pSB38MpWPv8pr&`{y!F-k;i(05rF* zd1CLAv{kjz-cOE<HgdV|Q5G>$$YQ2w)NA^UG4D%Qgd}QBY;oKOIH~dhmaEv-$IRcB z!mK7&7Kq=g#H7gYnEHY!xSW`p{g{MML|yVFofsKn-ebP({Kl6{mI{CIc2+#(U@Ob? zA$r^}S-@#SRv7kGb8<Oi&uTqL8d&Yk5+!bLJr3=4(R&nYuN8QE54ZUpWU&|SFl{#3 zG7w$(TUOg){Hs7dYAkPkZr<xgZ%45boziQP*hdp!2tkw8rR!a1=<qA5Kp_jD$bZdH zl}+!Oj6icSxSJy5uVFGq$vrE)gm-ZeaQJWQv6_t#zJM>lx*saHm|DOSe)IlMRazUb z69Oa7l}<1TEO)MdCm<o(J5~R2W6_{mf@JXb))`JTbf?9}_;032zTtLeR2okU@&DzC zpTsV&f&Gq(6hmz62#m>Pcp7gPqrd~|sf;%!IK5mRpca;RHbJ@dRRflVlp7(Hy{gI0 zD@l^S_5S44qaG6cUmq+&|B-O~Pzq_qh>o8K4&^CD5s?i*fp>UbdZ<Lfun|pkx=tO0 z^=~uk^-A;IZLv+o2|0b15s;b5VF+q<_c-FE$W9ebeEMII>r`_g=*r7p4-l=6Nyn{7 zOMo%(2{NpNwMGEG3@i3?Wca9HjorOL784d>z0(B9SvJFokuY?h7PTo^4-WiitbcA- zDEF}b)HYmr&Q?d5DY19{C%%G{ftv~u?lF3U!mIGkELEtR8`qtZ1B9rx)7DhI0n~UL zFdhSLjiB>DI@nigk;N(Tn|1emL`5;}lcOYCX6O3{ttbNO9!xFd^)`M2-$(kt2jqEa zCvgW|>ScOoUuuXUb5n9>B=df5LibPeR;K~Wy#7@L0}5l^%cL(XWp7~{)d~nDTJ3e( zEpSyNTJ%mLJYrc3eYwYDBbknt1F0g}q*HkuV~hYiR`3;mBj93FLOX47Gy^gIh3Jfx z9xIp38{>u>=z$nYaC3$%9JO_VeCKz56ZV5Ak!jc|$?IG|fP3NJ8eKeCjuuZ&0*et$ zOUD?5OF&D9fkB6X6d-vpi@IzW;dtJ5o2y^xbB>AK5L=bM+_rpaAohbZ<Hp>=*E!B^ zEyJ@P(p)WvsR9)S`lXQf4A)3Ts~$hsC+hR-^?K%+g{Tp=l-QIn{aW6C!PFUUNI{F{ z&jC}Qs6GGjxcJ8sliSA)UhiYSbfLf^6H6ND^RUr=1T_p&p;8l7)qth?CV58VPNBNu zx_nGwv=GJF@n%E7$}jydql=d4@=XE|NuEmZh6>eG;q_b7Qm`cZm;@WxKN&rKUJBNu zL)Y2@ZGw8|DtGR({B^vM)BH01Qr`)WHW#CvesS;Z2_emar~+SgqMnp;Nq%BS2FQ@t zt|X$60W23o)_LU&qj~?1W0!D+7l5yT+ISoHx80WUwp_WNu!}$c%38xZGo=|?*GD0{ zpw=}f{o>Pv^hyWk6I47Av?FKCPfe5!*+$VgkJ#uW4O}pvAn|+c@I5Y|wD7NEU)4b( z-$@)lTrBk&3+IIjUQ&++enScVJdu6Me<I$aLB<LNK>V9HAC7_7k@%Ehqe}7y9q(y! zAY=b6qocMS-wSVk&<UU{<d?@DhrwYcL0U}iOX+RIOD}F>KKRa#t9y-QkM=oUv_=79 zs=6Ns$S}a?i~`Q#p$}A+lkTBjj0hQ7>Ri2cHO-f+>EQVC?~rWulEHR9HchMv_pvl` zIK?;~X}AFF49uzGY{WQd(UEhW-!vhzRLah<*G%IGi&ovZ1DX+>V53HmuTa8|gad&O zSeD`ta_6q%65OqRi#jp%>{G7fH^mG!W*?wAq=~d&7TXmc`mK$cv=c$X9U#}zTl(XX z7ZtVEelN@pWhBf6xopLnr}g_=+BqBE8+*rn9L%$}nLs72$<1>1<xrZ@X58I4m3TCi z6Gj!TmOfZESQwO>7EK)e`YJV%g!T8jtIP?TjTMo`8VPXeVUcAWN5)5Rbe&JO;hX}b zTv0v!?>O<auf1bT_W9FUmTfpGErq!MHoB#!%(^x~-)Fx!Zm`PFoUb*Gx+*Iod|@5A zHdJT#ca4-!G)4CJw$_-I%LkYL{qsFCE%gyjySb|#s52%IX~9JY>q*lbIP(tVcx7cb z=(PI6R@rX1IB-8k7C-teq&eYqS+bRXB64}yaU&~>&dP%&KT8+0cUTOg+;RH@QB^89 zh4JC>nSyRapK?xshW7+kj5(IJ(MQZ8lXRk7x*_XDia=5DpX`g5(TL5nPT<+qnba;Y zW1+)VGf_ScDt#?8Z6_3RWm%qzfC^=WsPZg(t$V4ubm*`C5jD*e1enz@X1n=2F6&8~ z@;Y40>SUuJPmQ0T8L0l?E8mhtJkzfziFT12o8;m)>((c$GL0i_Z4PmaPrtd;@<bA; zv;$i#;M(TcuWO0emmV(ei6$ho=@{)vJXC0LfRk;Kk&?ll^43^iF6{r-3&qsiCqPdM zj8@1ow;G(k<TKSBv5jW#e7dARenNt|4@%r~4C7buaqDPqH#nX6T{1A@^2jXx@oCaC ztQF}(V>6`kmvowkN8A6*Mq!E+y?jfw;#1A|$nhOMQq=A0?Rn+pu`?}3kB3R=8wyv4 z01>N?0%8LWLI-oBcvRFao+x6s=L0NMpdS9799?%QoM=t5=D>Uw8TYpQoZuQsFg=cF zBVG>XcCO`;4WuMmAkXep-!zjCu%rh1Phzh@=H-~%7fFHdzgc;&dby}M%%e~fNvE9f z(92`Kv~9WyUo0BnhdGpIUx@T`s6c>9#G$^KiR!xxXKsix3d5F#JH~KKPCc4FpK+9` zE0urh_C9)iu~(<6at9d}O)@Yr*Nw<E2K(B#K$X9aNNC*@U05nmBjD0`>UujtPh}>b zFX9#6iy0I?!e!!~rG@TrrMvESbHz4(1uHwl&a37*(-e>}d-NelkcBj%hp_tVN!%dH zR|9=IN`@B?=yvz&csjUJ@TJ=w7KY;*BRTSA;;{Y=gLNmt3a7arCtk+f-xJU3(uFt_ zkytQhhHsiH2b35EMaiM1G(RT|VJG*d9RX>kzYqgnzUE6+kH{bAX>0BK_4ng$*4Lkd zmnkyPP*}l8m}DG=Fd;b;j`1lr#Md`*Ljx_4m^XW<Em|HfkTuRs=s99-;JrJo?l0=@ zG#buQ$;B%Lhm8~z^sl@o)teiw0F))xDxI^3b+`n2bSqI$4jJRf`0y78cmlf;#a2MW zuE9Imf|Ees`KO<}?#C=@ivK!j^8R3DA@;5UWdn{NZNz7q3n5f}6DDO@#70Xrs>ABx zWuK?zzv}t?PO8oGbbn;Heo)`2SxCd@;a4h+#<)lGr%8)wdNCjWP&8t{`;s24j!<D= zU7=$8AYKzUGNkRxK<clts?S6#KN4AvTA8(TIELmn&;H_?*w3!zRdn+Fw{I2bHzZU* z#I@NWQ8oajov1j0;vo82Fq8`ItG7i7Rt4*M=3hR-Sg%n_t<sK9aksXy6qbE!;^FT? zR6aP1d`~);=wtKQn7_oAS`6WFyu(0YonS{g?SDd+zr5`!6{lpipH<Hl9pvDPZg&r9 zVe=qAJ?AQai*;KGrK+Woa+P$QaWz5u@7Jso0*Hky?e*6FcL7pNc=0=PJY(3oHGRSM z%B~C?ADZ#&60vBX|B1p}<Ro_=kMV@RP<(yXzS`M%c}?lzhD7k-20jX^fVn9C27_Hr zEk|8FaZu8^t6Z$f#>X&?E|$={`uZN*^SKYRH=5PIV4oL`kKbKUtU<F9pOEV#``{H1 zHTX|K2nqb}91H;)3YfkGSpHJ-l!(ze)iHbgBb<1#G=Yt#_Ghjw^mm8B>|wQe-X>gu z=lPq`u-g&o#R#)vo%(**o~#7^4EJjAl37da+h#I0!j|rgJ;A4D#2ZOx%{IIBv$I1# zm(LZ;BYdK|nKk|~9nu2JuwtLeRs2_!K#q<En;F`_cp6H=$L_Zr?b_^v`C%gDlITti zAtF3%ck-N|r@np8aA`h|SC|L%RaUYf_b0AUnygY|m3`JgfEt5)Dy~)%j`(hiwJN_C zL!Ef@=Fbt?xkQ?oik0x03%wZOhM-y`Y}tL3bb7qF{5$w>!_D<|tX%q#+TCeW^QqbC z)%Ru&{}dAH+CP3Xh%)fL0qxo9&>Hk^+{UTv)7r2g1jgSD{S9CO=bdQ5Gtd`tfDy}2 zbp|oxb!kw$MQYes5%S%fJUcfTm5+w4tvq;Xut4r)9SO}qI|>@Lz)66UFl>iZStfNI zU@P|_M~DE82)tYkK?vf6o4?Fo@e14H+as15FS!WkomV`rn|*v=TomoS+S0uGN@^mT zEY=tnRNM3Z+F$Yh?_ff!0muMeRQHG7+*O{1LtmQ?5tJjQ4;xwfSjN+Kp4&cQ6oVL( zxalInhXWnH*hBhy!Ku>A_<y2D<Cmdl?38gC7$y6*;t%oEu<L=n2ndgULu@l3z^oqq zD;nM(I|%*qdv<-|voAC=Wm3yRRw+lg8nP-H$nOUBmr7SyYP+1&{6`prtr&YGTeijQ z^~n6Zc!DC|O0p)(=HfOzg@g0;=Y4FKIfb7FX$m@yui4{vRiFYu(WIw|i)=6@hzt;l z-29s-C1Y!6uJ)A3QVXnbaD8TBbix+B(NMd4mUdE4b)C~3<EUZ47{8ZuvTKG;9icZ> z-dFy!>YV2)mR1NQU-1aX-Y69t=3=Qn!&=Qn>rsX3is+rF(V&V=T`VCb(;mBlk1WKi z>TTCV&?a|~xElX$a-K<&y7uJ<8<)=WO(6b=7I9bCD}0-Ew3#_+ycnruy88)z9PSjN zy(?BZdEi3=Yx2T+@JlZyLEG4ma!U=08!6b`u{h^CSqsQ-NjY#1S39>uXH0FfMTO=z z^xXl?u|emw!V6O%JY?Zz;^I3|RVZZqv|jGB*5?)sR$^je*;c}8ovQ`vT8y%Fs?O_Z zG~)(~YD6!Y2bFAoAUPYR-TT!@!bd9w^M4=e$N>p_f&)LEKTkAVh41Dx5#KeN()s*g z6DB~neC^m%1FUXO#P$WYl&Eqq^9k5|pk1@ox!H+JL6Q%|iWP1KeUFNW;BxyiBlE^t z8pPvA)Wxl}m3!(vnaH3A?A?!W9*iR+rcPTgoIriSGKIqb33V0<y>vFTeOc;SI{7Ov zs&(vFLQ#a{D6WBf=yXyl1bGzm0b;pxC1%Lqlc<w^Au(3)e`H<>8$`*oT@(-)T0vOw z<Q6|0&6ei`eBEm~yjdsG(Epxy4LD!~TiCfQ%$iv?i*#e4bf$9grzBh}Ohx*nXy^Mq z##5WA3>0H^gJaIh{~|UL!DG(S*o)t%mFDTYZGO6>_4MFXE4mKI?cY1*h25*%6!~4& z<K29kd$7bgt#FA}!lZ6ejQmkLVtHh=<4kJ%Yr~*6;9IkP03$E;o%JdEm?rEu))$wg z7WfY;j$wg~vuNKyk%Yc;sa(wrEgY0BCRm#Mt)a^r)I%?G-n9xLS2$-+9`E#YkbiVa zBE`$o{wJicQQ%Ut{Wp6QvBW=rwc-+VDj5jS^Nyaci_>d!M%|09OC%-My&0p~{X4u8 zeat}vt7Cz1{fH%Lp=;ys?ETYpDC8D5Nm@iH&55NJMlEJg_??cpcb($;`YHKaij6@E z;Q@u|^Xp2BmSye4hCaW!us3Tuue+WS9<=KlxaH&Qwl3M&$0+v#^0Oy)E#tXfGPNGx zzWhCreiy>{2Ll&VWrG4mHw-IUsf|Xm=7-<5=MytZ1fC%PivBh6J`y<pBno-Ot7P{t zl6Xsy&Cm(S*5@D9eks|a<oY7OpNg2(&lTlJkSZ(<l34cUx#tWfp9w5If2|^5lENsq z@;%gS`V2?iYw+Y(1;HEM9fDJCm%|41vwJVVE~>5i{MWexG4FcWq_%_Q)dAM5Z#1EX zXRozL;lAiPX61guIJO$Sp`zR?4mF7;QXQ}31vNG+qG|ea^%VYb#51Wv_kh$|aQMDe zhxl!sl7Ky1nuQF~EtUI<V>CHO-^WEwLx0A=r3OJ!d&o)YP~xIiHZNc#u_XlG9fTZq zjRkB{f0m>ChOQZa_G)<uFWPfpbLhtm_i|)&LQBq_2+Wj4a+ut(KF{t@=}T*ilG_LV z1NXFeosL6@O%AoyP?2F`P}tR6$i<c4AoX?J;(Bpj8G<Qq`H4vXh;3FSwk=#K^hO_M z@PGy5>1UD3{PkBF)qNTMS=UOx{^7HZ+Kx;}loeBAQhD#Gvu`l}<8J+UAdtwi9vr}e zM0zWVEdO1iG^?ACEjtNd0XSe9bkgR6#WM>1ursG55pHM>5sn4!5wngYxK1XO9>kZQ z(|*vM4jpQo&wZFK4-LY8-O~^-n{XmI1qCujCxAS(K1O}fc09ew%-vOAc)ZgM8ai6i zkxI)<60RX5x3~>|ociT%)(p4TM+Yz0t{q6GmAv?^UuD;U*XP^tujdNy?Gtu>!k-Zw zLDG;@+WS`z^$kp);yTo2*qS_A!(37xD(6*cO8N;oGP{RM4U(FSu=N2yzNRCzHzROy zaM9ziP7IoNP>0jccxudFMhDf*;C~p@s2@?9J==N%Ff3IvGcjhaGBE%NiV;IyodoTj z44%!Ao8nsKlDLqckw0d8_c?)X$lql>zE|5kLj5wj8j;#7v~iviJu|qv$?M7d^bm<= zB5*f<SF&#(*vP2hhI!yY`FXp&O<4f%hl`92DqNeRj<&lcT#^9r=5{&JtcKFKub*y2 zhde~UnI%)Uksf6}BiC5Y!Y7bfsN{AlDNDq^w<WQ!*0WUrg_A2LA$hQ~qrhuoDM9eo zK+Sr&=7tO1C0-~=+lepFe5k=eOH>hQ8J#kYZL;I(C!;P!@kXDz$UwZ5RWoIc+`>9P z#l2WM<S4o^_lauI)POXr#cMMa!Z^LW_HXk%Gd$>pD&~C?fV-_G@ep|9Nq1d(bA;%8 z9Ts;8Gvnb3PR#%r6fK+=s?ZTq`96%(em8E7?J4W62_G>9Gyh6HVy#43)28f8-=!;y z8+o}9eXCBa%dY-h&*-<*?AI1m)q1wJBub&o?Td<Ly@g1buDq$D#OzVeR{#D4Y`U-! zthB{J;K`9m+^7<1#|8l|)idMXyV1P7n8k0)SW-KY&p#CyzWpu0Ul-~Q{8gg^vHK}? z5ZCV}Gc_UcrL_%p7OR17YNBs+#kCY$rNh@?TDDiG)YKD<h|+QgvEU%D@1^FSI<Hmf zU9$Atg(A@K&6e?wk3A>R;3nSi_BmhRHxBn^6Q3_LQdNqm3wd5gciQ$A4Ef7BtEYaR zzIa&!ui+2x*H7nDV`-<K$H}()P)ziim2T&UxUGw!ZC5niMM9+fyEzlo+u}%=bq3ki zAAiH^4Wh>*G!Q7z66O9$0Bfg+LoO*uYWBL?4|#EK=n{kI&0nZLX38sAB|sy>ZF5N8 z?ypeE`i9)aaPubL1HF-<>>zFx&a1SWett2C07v#w-Y7xL0;a*f4I>Vll(CiF2pUwj zow1IbV98LJTGmjR|GVh2|BfRQZ_5+vpdoy(=t8Tj;8ionQC$bcLtEc6ut=|?Okk=m zcwH!*F{S*QrOtBSqsl5ci<?`Q&ixsU<k<e|Vy*Y?)WWZ;B24eXj=fSD$qRj8CVeWx z?#2>J$4DM=N1ThcbCoVhQJ8Kg763#w^B_sGIG7@6B$=wuc+qHk>X%*mg7Uh}Vfz;L zj<?tQBhwPE-WF@T1$E;2chs?cZ;s{%%K-Pq@m4VXlvgqDiqYFEv?dyc!w+-d9;KgW zD^puA<h#R6(SjGAKKPl5qr1McEy=Cmd6wb-f4u-$Sbmt``c{1mxId=9^KeBU7L-;Y z@6Y#@HU2*RSkFbkBc|HBpdVH-{ak;1QZ58x(R{(;6C5$m?O@ov|A3N9BzMJ>XZ>9@ zz5sSeWZ40>S>vti@bxbIjPl^_W^@yGw<2A`#+D|HWV6P!jL4epnJVY@K4&Br6|o2z zu7L!#-@|SP5^Nt$hg$^aX&H6ydLPlLi~Vm@TP#_G?+0P-<C2%5N-9@zCTjdi*sXe^ z#M+l#9+cvXp4ofTwsO?#y|7`LIJP?)uITl1+vt_UvCn+1DW6FvoMy__xYeJ;UTxO$ z*Z3HCI~g}DEVL@3tfwCJ?YwZ4;a{cJTZ_KfZ)R0@eD@1?-4H}T`x^|Rd}7*e(mVt6 z(^C2@GiSsd*{pS%+pd8JKaEI1%ulK2hKGO%x<PX<gxB4Q!A^8Ou=-<Vl13}{;42kI z_46y0i%sSk?iIT*Fl5eRDc<8$vW4U9FeZ#qi#}#TNV$P9{(1c0NQm1GmekNSQ9ixL z8>PlzGyNae7S$L4&UN-dG_y<D)~FpR6zR7x{-cS)yUJCn&f~1$H-4^Uk0x15n@yh; zl<vGU;KAFvA&in`38&B0+IK{2i*K%)TsJX@vcZp_2h;1AV8y;?Zfk?`J5CmiH-L@& zH33zftG7fuW^4;wUQAaASMML`dq(8?7WixEx4)7etM3Fq9tk_B)!8B|p9R<b5kYvl zfh)ml2!Qrv0eUAtB*$G<3fx`lFXc$9*=4yoNB29Y^bj%!t6uwT@1CcGH}AGwpZ91a zk}c@X65UOhgULKc^zj1(<f7(zn_3u)6en(vX5-Wi{S}Y1>N$gYt(lUI<C0+2<%$Yw z4w;<iAFP|Oeyy2wl#b8y*mxlO>D&N^j)$+=VhRvG;3#Ig?%V3c{(D*!V<sp7T$b;d zkq4@?O@A2T1fT+<j5kS%CiD!?YTjtr;B1#zu`5xPoi`Y2n-R~>5`pBXmoUE83TA5q zkz&D5g}(&Rin;KM)Bh?RHBz5NNHN|V(sn|;F;MftlSVq7Qd+N7uh%|;hRyt1-&2WW zxRFr-zI8AtMgAUUC-5L!WqEkQq4Tt&E)FxCG}oH$cpGGv24R;!AsvVI3I1WeCsw53 z4)hy5%StM=-#CJ~y3d|<GlXaL$?EJ6OFBltC@b*bMUY68xVFKA*rmljF4O5US_Df> z{9~}tm2!4C(p`*i9^6?tW0Tm8GGrzIHQ_<I=qtjkh+P2$e)^|Owm0@q@RTg(T@Bf_ zlVIx+VG6!s040*Fn-3$IxI+gBS#$w1gexe(^=cv!^X{VsU5+yK%AXfECVZDco6vZ9 z5tW;%DFz<W>G4P$QA-5{w?1CSV|00&4-FQ}$bcniyV}{M{SumY9dpoi4Wi#%2L4PR zi<xAp0pVhe&e(gaD=h{+*0@C{8OpDbvv>Q=^RTXxBvqPshcjplugBi9;mP`QYcbV; z8csWgx4xO_FNGkSf`uye@~M0yy%aPkyHD>AZ39}?>IVLrkVh6jEW<5Y(uxEyxS2C@ z{yN4nj76;AkiqC%4ky+^)OW3Dn#A%;MfZULm;+GU_QAJzxpZ?-$!<xNHpd=qQI)pk zvjR$;H?qG-LUE!k=C)%{3B{|nlgu#mx*m^<_n$tpHeGWP+oqINSH2DKd|Lpoy{1b+ zA{3V{SXmY@r!41?*RBcpBe@#||3>@)wc_B;^juB2`M}DCYq`YwS&Qs{sGo%>>TZwl zP7kvOj4(oEv{wY9SeDiw!Y_$z658TD5f8K)zc|TpEA6T~Zl?@?UF36bPdj(hD>AY_ z1bT95ON4AD3MwD08NQRAzfq2Ym=`ld(!Cpc_v18A+nmQzfx<h34}pHr>{Va423x7L z8|k3fK6XYRELT$_<~0S*J7*LVny?^=5dG|$xrr?uPGJKlP2ne7+_!Ps!UcyEU!9Wt zeu0`qb!ZZ;p7CuGsCc7Z!zf^{;d`&^Pg}H|5Xi3CvGbcJ6;)BWEyw*q?d>d0SDwO4 z2(I9GECdIBLtWlo$!b^zp_ex)a{t)55MJeiSto(mss`-^(Ke{>RujgF4Cq6uHN~u> zb&xv?6@`t{W{#oSy&nyn{CG~{a96`U_$|@*la+cGG*#I>`)GR<{bbIrKh+C{AInCF z*n@x%rJcgGK;T<G=sXkFcRO}r&$ntqPVPwLrhB?Vm}v07Dh;3F^C8Uk+na9ndvHm| z1yuW{vU~U<%F%q>niU_u8+90XIl=Iv5Km(e-V(K1KDLAGJF4q-NVGe&`f_2H&RFXd zu`qV-ur3fpadB7Ux7A^-FU>kq;QmwZP7KAE?M>Y_ZT_R0v8TL#I6|W!XdF%~nur8w zkFVX+_G(qe8cTmz)O-$v8`!dIe%&^X`o<T6m89g5_r5<n_IHF^oXo(Df1psV(W>wN zLPX2M+2zBHLl?UOfi$+UJO12FYELj?3+S@AIeNUQ#HeBb$6#QY0xAQ6c4#y4#WFdR zy^w3xxvK28V_TP4)H6wqTmIoj6TsmfROMZ3Gux=wz!1;&Vs6mCuD1L|P=ys4UaI6| z;-Q&hwPkfUazIo0YGyld_3C23VBAP~R-bL+qnQ0<V<wXdR2TR=yg#K>qAbz`5%Y4e znNQ2xWO}=Bpj~Vj*qZYnlIoGoR!uzUXnYfaV%=TyvcNPQvpNu0KOjT7^u@D-apfv$ zFV|>VoSgAo{5noAbS7DtW0{u>0Wu`etW`^W3@xVJ^)Qb1#UWC-64!l7gJOjrL;U{S z-gxzwRyByMR~le$Kom(94VaOA<xQ=wCDZoAq|BGng=Zpj40fQrC7*NT$o?Zg*EL6> z2&XTi8GE<@fTGP7bEMq8@YGo@oK~dz{~6hGyyQ3ky}maWM3`jUDs<DW22ZpRTH)RA zP3o|cA~d5@H!G}BbTPeGO+U6F9PZ<Q<^(TBP3Xs<QsicR=EPvDK^zMAq4J~mluJq= z8R|ve%=%`fn(Iow8gX7uArWbU$5*P1c^zR-F55ib;JJJF_f7TWMqAPOdy4T<4wdY$ zz-}xwy6&X85@$~Wln4@p4{d3b=%?$?_Ply`JMyMvJKprDiFgNt$RQbuMBe?fJNjl# zj}l6(zCyOXoGj)4Q){+NDnH_UD*jEC`6SMl@#QdRg_8mo?)#NQkLOBeviH%tufN9R zKpD=->P`WkbxPTq)r?QC&-z>f=Wl5$Mmryzo~&lCJlwZ`7GuG1kBmrPl#%$*BRI&+ zL%vtx5Lpr!0w6p=O;|gHLv;hx+}=$=zkY44k(U8bqVN`&F+TdeMAO#!kKDhdFx2Hi zv14fDNz_7;mkgh%D_D!doEf-;G@G@gHXIA(YCqMHBh{<R@I@cp#>|~(m<hFC>sDMx z7L#Azo-n3tiK!Jn+!FD0R1@;09;vOV1Q*S>hW=d^>&+YzS^p;H`x{6U+6FdPBSAGy z>U-&GrAN_5kPg`>WTKQh{?&1(o(+mZqTiPb7c~4e^8hHR_!9(+m1_i@$jd<1)7*`v zKkN@gY<&oGbwrDSj40ZaONy?;&{J(O7duKkv0TzuUapAlp9FFbe%Ls*d|J6&BS1F> zY*>1oa#WUNyZ;gxT@Q|}X%LeveCppS#+=(&J*C<HBR!s5BOb>DLjWB`wm0n_AgAY) z!ZHeuT}1?_OJ6)Mw7zCdK~kaBigiD;cnh9(#o>@b!jI9rsPdKs3EJZrHgRIS*Sz7N zSr|04p#@iz4$R!-i=)WB{sw_&vd>hmgf9`d;4Nqd%Ry>G>PRi7AW<r&c;Ejy4&e!| zrPIjdxlX@3kja1ba8(28TqU;TUfs3xD~k%eCQh#PLdw*-puZ6?yNRAn@T9_2$u0-} zT9Znj^HkHx>bqhyEJpB8A(u6<IZVcT$Y9{A$DS?s8{2a7@jOJ-GQbJ>WqY^A1bXB! ztv7D}S&dia4BOf(mEwooeI^duXBxKO%{fN0AC5E?-WYbefrgK<+v-xVG`;N@qmL+m zv%3vzs<8XCeF2IqiA=@$J3i~Zx5{3=OL@~zI}ftHsJyP+E|{&%t;uwMir(BzB6?E* zh2Z$8rmoG#yP6cFb7X({^5y+4&tK=q)p)LT4xV0XYOL&%zW7;_0tAL80ij;2I4u6+ z#RO66{B!`l(ivuQ++beRfZ<6HU-xGk9asMT=`PXdiEKRA=bjjHaZDO8fmq6iy3@yy zq0|>bH1GBX1Gk!p!<^68ey&%XtxbDh*Dj*}2=mDJv!XD*eYyQjBi&f1q)O6Lqz*Pf z8Usws|1OZGi%BZnSaIZjy5>?kjtq!ZE&z|9kW_{v-Z|jY$4@m-M|PR(c&kIvydseI zq@t}*XB_rDS%91#;8hE|N{0*SQ6r^<g8@H1-D6*q9!AMYCf>4;!tdR)+hZ)<Zw;O8 z9YytvoSrquoiX~{5nQf=|9olr*idVAqwWV+)!hMb-N%l?9pCgLKWv<id<Y8YVfT7- zV;%Us)5GqB3L*4b?Xj(}1C04)<GV&OS1^{!AiP^v+HFUoJ+}82WfZ?3<Tc>mP=HZ? zViRd-n`+hE2x1JOOFlKfAt2;{8w^xdJCwuePqCcx1SURZ3nZPmS(w?AG8_$c{LhOu zu@ZjrE+1^Gu=Jeu<dj0|5doXBG@VlSO)-k~u4M}I+`?G(E#q}8gly)LI><9#2>w3n z99UTxod|26<LqQZAhh=dMO-suMHVO*C(Ac&Ev7jYhF{qx?2x4Umb8t>{{))pyc;~v zvAwnO$b^u5Unas{;J^UQpV%(RXFDo0(bsntc4}ZL^FDWDJY&W99O5CU<;RlmLXuDJ z;$$6ZMyu$M8*RmemIstY@Sl_KyoEE7NExrz_AV)!OGIZNUw0`k_7ZVnXCb(gtOozN zCuJOON~Rrzg>RIO1t9#5^$3w@IMcTlsL(ijF}RllJPw^WH;$!>bZV=EY5aGj3}Z|c zI)2oIZKc1D_!ey?(^QBQxoq|a!iZlsZH`7+CbEa^?00yW9MVeBFFskQ({s`EXdphK zXI^e-t6v!4i@;FcH1b>X^09xO9YOI5XkFsoRnDTBdLqaaICfKofSyK)){iKxc=g~o zL2^IQLrqqtLo!z_P6$v25fU;CVjqss-Y91>db$x42bFmRvVBJ;0VB0wSi0-ggP|#T zUn3IpzrPJ%CHhGMC^o33xK6{NXVrOyijyKpn{CcQcOFvhz~s4YSA=41f3E<rZcKHb zNKGuuZrLd$<J1|AijR&<Z>r`0nq8Iy9Jlu-w6{zD_5Ag5M3rqW07x_;y)h(Cx}7?8 z<;oTwtO7+xsJRFgvy^7^r<1?5<_djQ{{_X{Kwk!PGt&wXkXx|uMstE~nK2e%G)I7e zI($6YRE~Xpe9KT(DRYVTMO;S)@4S1Rfiz_w7a}xDb6(=@>BEH%D@_VWW)NSNOK+Lv zu!?kM^fXu}Kxq^DJCO$#*MA*Dr~W+ZV0ru~wsK9bzkErpajF-7`QXI&CEOKpr!GXS zgC`NPEKk^rzVhr{fk0+rgk{aA>i&*&>?Z4QMFT9}Rg-I{WHr?B2mOr|Df>cD`6_{H zuKDj)B1<-tq3s4uNm)`kDlQ$Z5Y{^z4%zH7lGq0TUS2YU9^;7M!3Er>^{nW)5C2w* zn&WY>OKZ*@fgkz>j75LX)M={paYB6#hI@7<F^+@jWF|=7vA^)T@Af$G?F4*%?-uql z_xHc>n$?n@w{=e`A|*iv{qC#S8TqYb#QB?%&@C-y6c<8609f!7iD?k@w>{cLSJ^__ zpLe;hI1wiBeLE!aT~%7yVCMUYNZuOZY&moE9uBJw!8wg1@;CsbL6H{WWrm!Zp$|qN zamnE&o+|vyWZU?3N#`m-nx8(w#f<@PpWF(y|1J)3H|?7<SjWjJ`?Su4<Xd^dO!u4m zty$H&_#7;0=kJ8FJ_pl1qT^ym5V--%tp5*AktTv#MBAlwt}B&U71tmVF$A<aVReu> z9Bi_ksCTn@y==<&AD1zg<7OSTbJTU}hh^Mrj*4_L*Jy)_qD=rBqFQN>E4EehbDvJM zaU64<SL2WVA*@RQ&Tb{yY@4-Q(EA0AasusMWrI+coLTi3L+rqGQ%YRHab)o8mvY<g zHO!5_AH-Xqt;ntsTQC24lxX$zc7SILCG2YDAdbhMj{Jah$YhDgua;)n+HG_9^Z91m zsB=}v1LTY5x?$+z^7w-)^baujFxbQH!6a^3rjX?#8#0Ihvu`}ns((QH+Mu^I_CYJU z|6$qpinLth$(+mRQRl}JRyn}v-ZdTR*MXMthG4J)_d>ifH~_@|Rwug|DJM100-H6C zSanohM#4%ouHQvqRvX^Xe!@r+Kq`u9+_{AAb{3s|7FwXY1Qumd^`C3JUotc}J0LX& zGEwQiUHG~C&{R|X+Ws^-^0vV@h`2=)gBb1E)~5~TjrmO*TuAr4zT?F!T+~sJ);T03 z3qb<x|En+1c|Zhqp7xQ)fK@ImHJ3!865tlTm9KHlk!N{^hQDk!nUC97Nw8487ro{G zPkV3u*L3v$4{u{521rN>0wM@Vij?FGx*McZI+V^0RFoE_Q;|@*8-@s|qyi#6KtQFX zbN88_&-eYk@B43f`-2ad+g|6K>$;xT^Qt2;<2!OrR?;h+H%ad7<$C(Rapb~s`=5Zs zjNh%=>E{k(G%9S06Jy-pUL_9kKp}ICBgbV7!?&h|qwFp4QNawjMGNw(heMaH?aEMe z;rVbV%uThTMWgg%Ve)a-A3+im(E!{{s>WGO9=KosE#5(H9W|}GKsZG+>{X&qAIuT? zT!FZ^P>+epfwxDntQpOEm$sBne4^V-!!N8_tB~12nRMlaG0L%TO6Qu@hRQWJ=$!IV z&X&Tmq8mbQgB;W@QXx(5ft|<r(3Ox0B)1iAhGewBw(3APLkM@CLx^z7+NRxcqxWAO zgz2@3zw0HJ{@&y#A0>9V;khZ=+7NnyVf}uOeVEaP#`kQPG<m=@o2>j2ba!Cw^`p<A z)vX6aYSyK~>f@%krU@I_y`Gg32VbF#Ze28tfpNIHlhL047hVz8iQ#6jyk@=KUiolO z(!i~2Z6?=tBOYNAZY_7mMo6LNVR-chorv21LCLu5IZJw25nvS*`3{{*q$=`)<_7_g zO#erd1vKrzpn?Cryem@QL4MaE;qW{g{AEx+RI88wGnNuGQSGTZale1^236ldc~44p zSrGleL(o)`iQHWsW=x3hU<qqDeLa608Uu1~)>Rkmd>#0(DWqY?Zjfa0Q2>Oz!_pZ0 z3FY?8HBOPr%!pY<@E<t8TwhLFXQoc8xfaWoq^lrY<|`qXT~HQmT<c6PAyW&*XG9B{ z7}i5$4$82Xn)<Aaf=O+hg+bL14ePzAvR#1F9tnG*rHbg4NuDc0^ASwPp`lW*_hMR| zY{UtkK2g%GSLWqh5qP>+Et<1KQqN&)u8s5;&rPDIdmzYVQF+zBYb0Mg7gZrZx@dJX z@^D?;lFm_aJY(g1$J1}69!zNy{LK*yr)y8WuI`VrVm}b^i+GN6mdZ5JM7dnJLPyr! z<k%{U;I$Tq3i1XGHL}~N%`=r4X73eXQ(;N!=_H6!9+9ft2vgBI|3SU-fm+MWsvf#$ z6`(ith+do~q@MUMP3PR~g{uncQweNL!`*Q-a<2-r5euN%)avX>0=M!P{@YyK5RVCo z8<Tc>uj3A<s#m<1(B$4W4f<~cg$johbo@zo_60k?5xG|SY^tr5O~+WL9ogAVlC?4+ z+;{<@Ak`3Jb?-{4Qq=<S6IQj&y{0}4FGkNVfzUDPc7{l--j|4i-Jl<K4BM2aenEwM znSA?Hw>*cpPder=H!sH&<^HNbAiVkdCvC|U3d~c;R(J(s`+Er4Gd22|_YwBlDFsI2 z2J=<g_{ZEQ#`ClDlASC2J++?qA65Oa7L=drfbl!Hwilcj+qoV|7>pU$Ex(hE0*yDQ z5(ILD+<WL5%hGu1Ej&YQ^A*{z+XPm2&TVahW}SGrxBO`OaOu(QQE`)o%cZx#Da&K- zA7xh?)w7Ms&%SWpn|zT)y8GvCUg}TUU$eR?ls_Ry&d88zdYjgG#Z1n_nUdRXx31lI z&vp|M?>4eFz&@W8nYlIcRRN_i@%Or=Cz_w7q^c~4k%8SLPTYZoTOF^o_I?^P+AI4p zC;*-DVf1P-KU`{@dQtj?9R^x@8v!9>*hCc>hnovCe%IF7PVkSgKEGDfap^}GXe!gO zI5|p!x=%o;l_I7ow0HS=lM0Bq14Zw0j6Au(jC{y-WEm!%n8MLzAL&82&KrX}x^<=h zK9kbG4X93n23~t~Ua3uec8e_#tRil+;}K)wL0YW7`n5NnPrZY!T#3#uiw9Tb2T9hC zuXRc=|MX0Re8fyf7E_I0!Ttt!{819t97~sI^^<W|p4>to8P|&JD@64ZnogL-h3#Kq z8??M^zDhG1c{s{L@?%YfK%&nV)2x(Nej_3>8Jo11OM<AaF>r?nVKAdyd3Os1xDy@V zmv5ruZwb+<pgAl&IJl4L8WY&8!p~s6vTqQ#8b0YgVcxlOXsyb0AN8iGtE3BO#V=_g zYQY{1{{U^RUe;`_n-A6aBh8lTqi~U%@A6cg87lvk;l<)^%rSDUcqWpv`fOIZsiY&{ zmhsD<KHVb9-MiK87|?it!bl-wH^f-y*8NpkU9swfxQ7_ByJzq0O+7q&Z_clrWiC*l zzX0OBwZaWr>GBZ~N#^Z(Nfa(-$s0dN1e`K%<Yiy<KwfadU<6F1b@I5``h8zF2=M>1 zc*{}n#P=lXZK+}=+Mj{A%I7XTuJ^M;>hPUg%Hw|ztwKk{@IBU7XU$L8W~a8U1TF7k zoh`1}*v^xtv+>8dE=%cHJuNeAse0!k<7cq`F(o?thkhH?lJ8P+O3T?~N~A2I*Dg(y z<LV9l?`L!HhHpL3$|f#-IM%@t7-~EgSM;5pH%anagVnE2xo|2kKD2Mk3-KcKI-(Yb zy^?;zt5`H*Z>l3hJkMS8hhhYT`{+=#2<;aY-e+l@S-LsyC*-vL+8B~2K0dNBT=Ao( z`uC!-sAj!XK2!H^MU^csv6;?s;-jfP|GYxoH&_0x#zX}*^>;I>t754+oP3YDWKtTe z<o?RX8UYTGc7x7$`Q`zJ^&bc>QU|LBn}mcf#y<-Y(_fXKIInwf;;W{X#v6H9&uY^Y z({VJMQkYOLo3Nq>`qV`7vGhd3AD$zw4w#64e-6_n^O9FL2nng4fS1duD&E#&nG?(` zqba2#2$UB-Efg9?(u{2&)%79DRRgV;Cf4>vHjTw6?-)FwC0dvi#Nl|G14~$M1Z;A4 zoXX-Ir#7woHo<w|?m-26A^(t{&M6ml`@ZtD+#0dgnI}7Yt^*WoMqpUA)OHFk?RdR$ zn}Ytj)r@=O;shP|Xgsxw%OWlMYR(t!f8CyX*plO|w%e&!yLe8T{^p@I5mNW6oqMI* zO!I@TONDb<&1!{Tt~{gjdV_MAO4(>o`T20$-zi4wlo$YzI!66CJLWl}i_rQL4T}Qn zJ*$M{8<Npn9^DQ+#Y~(S2naer^B-4UbN1-{`eZ_ruRN?MRjXILU}ZkD9yPY2Ch!Ed z4Wa;!_Vd<e3@l98tG6kq@T{J)l_I7P?A7`@w81P_VO@3Oo_<|S@@v9NuTYk1^5v_K zs&u<+%#mqos9b-tLKj;8yO;`iwH}&;n=fyuD;;9>ZtErx;UJ7m+MTHQAsIT`>Y5u1 zu=6J<B|T!c952alZGQ`2kRVtI<rgC9iQk%QDHXVHpOMqCP^q&5?Eb&DWbi~3Mi?RM zA?(2#Lf`z>=k)K5ushHea^Ttz*c?wX;6lt5wv)W=(?<`%X4ixhi}h)-be`2`RX^^4 z=YNG29mtaD$Mi@~qT~E?Aj<a!S05?Yo2VlLy2R+))TJn~FN7fy8L$hqI5!>=Ux`eh z47Fzel;JhrLF0Jb<F@?Q_XHMKw_>s>LGGjq4flE)O(C@HQgb;Mn3st%wm?5i->@+o z?HiOW4#@u`r_L+O$1P7SsB+b3S%F}?0PuO4M9H)@&2Y10hlKVxJ{OJ1*cU}sp8=Wt zhSP=|8}RAw-SvHUOxL6L&t~s&Or%CcX*FI>Z})jQ`fMx@<pwy#vogsFM;Hd$jVzao z^RL$!rZ0s7k)R>?N*44NPM}q0q=3OqOE0wWYT15MF!SMM`6>i$*LGrL$+h>zj6^ky zc%Wh2wtFd+=l@iaVe6OA$ZT1$mp4B)-}{Ije48m$k@k+oBwm)_ttTWZ7eJ>vAeeG= zrcb#MVSX5rtH;~Q*re=UH6S5D<e}`bfVbM;<9S;)G(+|gB{=l^u!}9Ry<=^Ibw&lI zW=JLu?AHWnvB0-WFpt1Jyh;+xZzFFg)4{biqwXz1z`)kgutC~iDI=5(7n+qKGFXqL zN>(N&m*I!{!&yl7N3p1sHBztDrt9CDX6o#YvnUJD*@#-K;~Ps=hy_^^Jn=|x?KH?{ ziWdjRB=rvl*q>Uc?EM|cxp<uEF53=#Wv}D{vjijWdNHn^Tu$dmetcPOU|AP?4x3B@ zadlqre6qc15}#ti8xvq#pc|Uhi5b7i97<lDwyhv^-dcPM;S-c;J=jxaMCVk7{p5ix z&)A4CF8XO&)+RIr(yF|94d@s<zcy7<HgJNsp@P5X5|qrNHr{0mm;@W8!+Ho*G)qvu zJ`JmAXP71Wg?qJ2z{uMu6&NL!5yqDO`PJI^N~%dU4~>Upk<xazB2X-CtYBZN2m4v5 zh9Ik5+n1UiIuR2fh)9fSYaQG}%C!5(`Ds<9QAJff&>|Yx{c3@0{i1hL8~_|XMSjZ0 ztJ}A9j6`dT?TQLy!Hno}D!uRJdV^Rv^JdQQm^BKK)>jIbo<eGLfW&m5si(9%L3=H5 zBFM36H5XEcLjtxao$vubMenk0D-t2Vi`9)s$ix{+7;#*sX<X8vH+4SN$QQ4#7sw`T z!WcFg8`=?Hv#&4PpK+EfqySE(Uq~loiu@p<k=euJ;K6>m?b!mD$U(7g2RiQ{e-=PH zn(t4sCEkYY?9;k}j2x3Nb`I0SvV#QMVS^!@j}E(kuy-#0{iVy=mxp!-`d{fjUTyOg z=`&#H)%)bS-pe<F&xZ(<nwkabPLAq`-wdt0cmIE!o&|>tA4>;ou*~1n3CD`-tIC*0 zfEm;WLe_|W0TJ_hl2+RcWb!6vU|O^EA1t9$dOzkb`V~5d2|;l&F~FlVpsIxt{_)Mw znGxyCmN%uB5gMETt5l^U#zZQx>31!p9<-9HeQfo$A0X(k6D;X8gTNP{y`)?L7q{E4 zq}thUpn7Z5DGN}w0735Ye_ENcL<Qds9iXF6)m}`9S(nMAe2eZz=y5%NmlLJE_uG`U z?+rnlGSQr#!{vX%uMDoqDmI9kQX{fBurzTOgVNn&@1x9&gXfv(7ms)L?~kT|6d0X| z25R%;`1ALJG>ESIgAo7+ipb36e(9NiTl6Us&s;A+jS`-(`3aWAiA!y(^OWh0d=W}7 zMB=4ZRFh3tnFiTOHYx2gu>jd{3mD_BoIWwWsBX0>gch{2gDsC(LEXYL;Ys!qYjTVM z!}&KKz-r0jd4T=jpi$Xg4NezRE$;?RcX?=Mxcwylt;a<#-_4!*N1wBqfe%7u0?|3$ zWX{F;Ky%%ye8-Qj2l?1iV}Dm5>T_X*7l)6=lfJk^G{?J3!9E2<-Z+tliT-R+S^mq# z(?RiLpO=7qw29jOg(#bph!f$xJYMY;|Ea;B_9bAa*>Ho)4Uo}yY64FQ3lM_IJ!)Qj z{k5TU)A6C61<Lf<{}$zH=D#9;zJ(=NuHJUhtK|j*IKW@*(x|8oOY){K4GkCB0%r&o zO9#6=BE8VSb4tgSs?qfm5RrR?rUwF*7(s~IZ{b@ugI;95-puqUY9ZkF{{k55;;)o3 z%7mN%D$&+{)epvS#4f1Apr{m6=AAHF6WGg)?>}kSP-DLe!zFTH*Qiy7Z}FsPFU?3? z^x-c7DucA=S;3uGHRN$z>8&DmlS1r*x);h*H)TZygXu<w@ji#v!7=}I`=dH)6M}lr zbIVe5-WQxe6!}{oN8E#ak2^(gVNvRpV6?~>;6$jLX+|VM$=`VErYglR2U;PL4&)D? zf4%Eq(QoKg_OC5c>9b)Iv)aEhbguwm_JUNZ7X@j@Ta*|qKj_N_#8{M+I_?T#TBO#B z<7>rc?jBv>#X*9gQ33>?yupsQn>|Y4mabUhg@(@YNkzxU5r+J_ny)wR8_<Vkk1t4s zi^~I-s)OT)b`0K33=#5Z*!v%Jh-FaO=U(h2^S2GyfaD8z|K-CGhC*1U_S_m@z*b^? zKnFfET;yAt16W!Qc_ZC5NpZ_`W3YBHXvLqdfv)oI;#LeCkP-?oH-SZ&GpxH|en(m~ zhP+3Pt-F!b=YY~!HcBs|ef-OA!EZATbplWi$D$<;I~+dNrOi5r+?-n?3~uGXq_r7F zYg`0kVBZ-Vol40+lU--aq`4<zf3{zV0B>kQ(E7|izvsOzk7)|ds>?_3A!<AEM2ntX zX{VjvJt@pkP%uU&+=7sPZdhB7b-rufxCa}ASNaK8@6&meLsFqq4Vx1WkxYU(zb5ag zPph{MB`;+x>Hmj@gWQO<S~z2Q#$Xmi>8RQqoYy1FE3Q!P5Fz1KkB;^y)nWv}aVGxK z{Ft5ZxlkM4eu<ab4jh*)#bDnpW0cti>__zAdU$;ntcrR|bVWrVEfBb34mGIzBwkwy zkB-FiUOobi1t3d?-Y?$1Mdwt6PGQ;#e&BTrC3AELzMi88#`YPC^Igp{;plP4Edd~V zM8>LhC|PCQ*mS*TQU`klrUCnv81Hy<;A-9yd@I=Sboq$mQsnYGM%O#QUs-X;D9*W` z7%0M0-nSY$Rkl-tb3uNzLX+Va=15AR2q_|T1$g1MwVDFsM#s0SGVos~j&c_?=edCv zXOi>cHu*CBZ)7Ti!P9_gOIfLTt!t+-&n1NK06P9Z!=$g#um3665-Ytt)tosCa^M3W zjvCqk4gVVY_vuWLC|TZJ%R6q@5EK^)>W#VR(fw%}`qUy40d%PBB90dQ{noYsl8IBK zsv=_7o}TKI|5;=*&E4`&Fz*U|KzeBZuDw*~+Zj#*-Tbl|g_Kg`kh^iYgDF^s*zw?@ zLCb^*GR+W+K0!FTUtd*(K0;FbDaEZA7Y_%Y2tBG#sRQ6$%9W=^i%R$j#SvndJUQ6! z=gfykY3$xxb0D=A1tTU<0crs-3~L5gBd3$~sbe&K=N`x~1ehc5Rx*0L1T_}Of@+{R zZ)4juW}JUOfSCJy!&l0P!W4e5FeQyNBoE=72_{I0r=N&c+{PG@?p}wS`@CfAKI$hM zMhfKsaj;&^qdYfEJ?~I3*MJ4Yigf_070)w#qwFeMc7Sm6TROH)gRop+BL6eTva-ax zr3qtJ#R>}>19-z{9(pzlbtr>*QWQ4NipAMdOS8JOBvLaEgz-U3``AtGR>mjKn{KpR z6TS!FfiOt--E3O}`SBhI*CRSkv5~r=M~loCy(}NYBxqE2nP0+(ugSU*LYG?f8*8WD z+lMn`2UmozO#LdU3IPX|4P&*by%?{ZkA4CB{8#DxdyOH*uR(U*tJ$U!AZZqYx#zjC zt-Zhu%yAL%l##OMZqmBK=dQB5m+`h7=ywRIW)a_m%7<DEDyaw4ROat(C%w+oq>p^D z_4;{rFmRprdnnn-nFj2~q!2EU&Z`uQ2p#%x)owFlPS9T@02o&x1Mbs@(V4C<w=6hR z&*NvW-GmC|a5*<p+@D+Zu>+pUk7nx=Zq6OMNjBzyGUycg<p#VxnxDiXHuE@K{o9jE zTjbB$!SXg>rzPbweB^J@=df`N-FZKf?dcO6_}$~wAzGki$Xc$%4Le$F3b@e$xI5ed z7w$cjaX!LhB)cCh7W<G8Y?Swz*c2hnecwb2HPM{zcic7@yO;F^>j%_Wkn}D0-wiWz zv5+)Sc`_vg3Yk$Bk-xKhR?S6Y0LJ~FjtOn(WyG~z!^Di@g^dTWV)x-HYX$<Zw8Sn+ z6q5a(CLU%oNl}BwAm1MAZx26~`KnNps%VCF(Z@~@CIi>bAFK-UiZsSV@U(9#MzPMW z*H|A^eF0<x>#766t}mD&x}@U}`dC{S^Yh;UA%BTjPt8i_0EuAb!*={pcG-FaQqy@R z_2Z$(Cv3ZGTzvkGm#~~|JuZ4!6AV|!joY1Kp3znG55No{nj8MqhxPG;B8BMkcZw;+ z!u+aGq?j=9yE{T5uV96YTfvy9j`hyN+ov}qLLXE`&^^PTr}7j-*#c~Jf-OM_PNW1( zOi^q8k%o4#1<QzrIy;tK0~U&`)x+jBke9VeYlD+{L#vX+flV0Fd-0O(qdNOjnt3;L zvFwpO(!>;7%!U5keviMVa^oKfU~6Dx+?OGr`yG14{_X;=+JZh1T@9hun37{H$2+Wr z;bQk%x2Mm3_#wbeDRBy3Kk@?T?ifOrcnPASvy@5!QUq9Un8#;<ps8XOFVUN4GUb~S z*1?3xb@SX|m6a3sBKPOW)5gT)(uGv~h1bpT`cT$ydjP!J=~TpjDTQA0haP@Q%OwnI zIw$?c4}O)jH9yxW5=&oyi?)L|2K=~TG4NFSwzZEo<M}QTefLpT;mYH4M;1P>x2QKm zX}KrxbXY%d)?V?b%~L(u;J^8-r!qx-6M9hqf^d}=9z0qXPRuRDHH-&{G_!}dg8$0U z?Fyouc8ldziSS73`IzD%GcZ>xsOr9CbAS{ZYbZ<g8S}n7kC_tS9A0GTE-Q#zyBtFF zrM&iq!_74j$9}Ra)IXCT!TVxniXa^zn$&S@J~RZTVuYBP9;Z7PXd9&{LiNc&VQ+9v z{IcY3i$>UNAW^45cGnjj)C1tne25*q=|o~s&7~ym8(fUhJLq0K%RS9VQ<t6~V4_N- zOyWeSl9KUt<<QE(XD&4wz-<k}RA;%SWl!&`?)%@#a{bT;Y@`ZsFAjz;t;C20UXjo| za=tM7j%=DcrrZx;AFKESoRLh|6CH;sAZ6d=$GRZs*KNHY_^8=2r=zm6VjDcaQoi%a z)8h;YS0Ipk#cTI}4!jL!g{|F$8P7vrl60xXsnRl>Fl<MIxTgws>vPXpNU+?wop5gj z(2*GO*k59F+S+H7BzT5RWush}JIJu)mD$SX!Wig>|H7t2+e!4JnsCe7?TW!K#tH#n zl8>Z?u(f9-$Us>Oad^7QR`j2J+}do>d}_X@VzXrT-*p=z5SG@Hd6A)}S_A%#Q6xd8 z{pzE0E_Veiw^3g&Y2w0uyZq&gK8_p%@9_4=*Qs;$U9th}8*mlTBvCKL4svgg)OR{R z*$H|X2rx#fVrarPioEgX=Gg>jD*bG{HB5ec?bb&QAXi$qc1m~>cjJSfFTS)qR{C4* zMgVp*KjUe+zt?=UmxAzV=p9Zvk#`UtSZ1xAi6EdhBE>Zkz3nTVxSUoZ>ss-?BJ@|7 zGx1#BkcOIMGnoKzH6l9JJ}Wc<ZXe`WPg$J$-|$(}gAS5PHSMY#IuR6ya`n@>N3ThS z1}`j(C44CM6vJ@}B!N$vbMOrOKv_mTHt(9kk^?n3Cg%#E^<K|Y_i{|-+iGe(wnB4* zpf?57hp`VWdXR(+t)MX0zv%rheY(!gbH<OINFlOe<Fo=@FwnjrYsa&@#ASbJj?@wZ z5Y#a5u1na+D?DbRpgE=Q1E4*w1RGsHw_E4Si$QZrQfdDx%X?HF9rXZS6>>2W(u}R9 zMt)SuGsaZigdme1+K$p%g4pAk5q2Fk49-)ZI&F#nO8k^N<0N+!g8ZS0{b5GzH)0#i zYyAkb;D+cpO(8MX(0?sLY`rt<xU<GJZ2T~YDbPplx0C(0Kqgp`DvIUQYWl$Z)N$=H z>*=cf7h7IyNy15)B~;7NJ=5d(OcLT6L5@hjo)aMc`0sTk*c+~;5zx7WYKLzmEv<b2 zbXDOBi|VZXsF)E;AajZ)h+(eiBpRWoqO77`-#W|ZeWFb$QVU_3A%2@S^$D<by0mX| zPv*kMBVWr|45yG1I=A}yhKr;m6!N;66_?@GWxO~qkR*7KGwi?`7QWC1pyad;yQ~k! zCMh7bO3znxu&-g4xi`m!+Y1(2$*xaVG22NQWDFFdP7uVeJ}zqqs!AVR@C+B;PNx%5 z;^@qLW~MxcCQ+J=IE9xVNGhcl=wU5kRe|Hy!Z+)m!s2PSK6yUh)bO1@FOmHu8c=dW zxwE>8ZumC#D)~{f?=wvw4{I&Y%P#$#KwfQdHPPs8+~JgW&^8w@;d%#PEZ+fE4`1TW zxeKtW@n>lFrwwFI<80)OvqmoLyfBHx+&$RDZ)DJ=RwC^D@`aSLkF~N85ME&pk&PBY z=EDaXr%P|G>`a8lPkI|91AIX`2E<gWd(5sHm`1Xng)oH<lkU2r_bU6nWtUn-2#HNB zimcxm+HAslnfB3()PBC6s>)??-r*!vkgar>_lL`k@9^|nEv<stJ-z>E058@8a{ui- zVfbMgUi%o$81MaBy&dR3g>ARe2JLXxMfQ9^@{Sq0CE^uoyC81TwYL~F7sbK*uOfaX zY^E*H9G;{3hxz#MpEiNB1(xAX`)pk%O2ROX5Su$PFwGivR#a@^KB!)Ab&2)3ox%Lr zHy;&?IDNPyY&3$Wl5|(GRPZuO?7DQC3%aOPc8V5G?pE{&E1f4s;(sLWT&Jt714DB^ znu8~#Kv@ZQpb~-Q6WV?G6PM7=`k`HPkXXbht3V&ekGU{`Z2s9Taagzn{q&0OQ<Te> z_V=WO91z7tUKM_9Mb8YT{N41^5fOU^4QLdZ7csg^I%}W+q^<IUo3}>e*ff}X;25RD zY7L|qkBB!~W?6Fa<>)<%VMi!I7b)ns8rvFOwzvc4U-g3E$sps2{{ICrz~>WFAk*IU z(Igf79Ku)Y{kbWfsmTk_&k-TjYs(*@+ef!#^84(Ch(xwsBMocXQMyVzr_Pgi5B(~3 zIBa}ZC7%g`hiHH}AN{U5GWj*S4p9robb*TlcBSdBp73scriBuq^c>cvhQ8pu&CIm> zdF|;1zQAM2Xl_01JdCY@Bz0ebDm-hKd{<?4&5Kfk0C#FYWAg1mb&FLXk%#D|mF05h zI^(-f@gp4Fou_WiMDW53dUo|^b5&WBqG(XqVLK7&0BQG0evYp@NwI^610Qo2f<uLG zH%m6Pac>9yOW5*bAz1I{0U+%=Y>6RjvpAgbmt#^$>~NWM{j{QsGr_<=pDVnx3fVYk zFYg;&@c!!@vg*|+1mtVPpku!ke!t@7*7(b?IGd*a3Y(>N`xycVZ@{dRb8O}KtaUM` zKDb$O!;l{evC58*b#w=^VFHuMrS+=tV_)Cy&_GRZJ!sIfPuJwxs^*&yE;`sC*v!M` zg$<fH<%7||?<KOX8h~MfX)#Ej-(`L+s4H0(M-BApC+yNe1<CgL2a$*?u4B1%1!z;a z5Yvi;qG4gO20(2(xlT0`O>D)nw{Ay`w_-)jyzZgVw98rVu^#phOifV{0j^_hV>As% zny7Gac6iU4GIZ{+6ITT?hM$=fubLQMB&A#C4OnK-p8k$!SJk;(+I>`Ek??o2`YQYK z3LtdqFwvRtdta^1XI40O2Y!A3W*U-3NEf|^nWwq(3X_8@Vm$q@A5u!SUif6jU$)UJ zNg_FY^;v@W!Z@9iD(=m54}DO9I_AE~Y^^@?v6pX49JBUQU|MQzD!^;ko%J+aGl~ir zU=<yX0&U{5b01KHak%^pQ_staCzTG84~Rl2!5eU-7=a1hMNfq-j$8B3NET0jw>J|t zo(^Q{np)AXWNiJV1DQo!JdyXo7E5AkqWi2`wIf)i9k?wAOJI9?*eqBVw=k9+_}MX@ zlC9u=Q|0f`Fh^>s;MggH$nXI!V`4ELU%9UovZX`_4W41Xd{Y1THnM~`JRb?ZaP_j$ zGuR+Kjsmi>FK4C&9U)^)%6vvOK#Cg?r*Ue65yGHca;{^v!t}4(x+zB~{cFXuF@3X* zWR#sjevAlS4uYny?8{#s-*1A*r>;$X{+IQ8PFUZ)?9TT(*x#^pK5XRNUtCX(!B2-Y z&%DLmbDNVz9+AMbsaKKVnr}sJQFS3nx~Za!3(=}@^Q51J4?L)3rI+NVhY$2FoNIm) zE(JlNS1rID*7eQ`0PinJN5vr89qb>$-6}Ms8E^H#8x}b7%Fe<Ug6NyxEmKCjzngqs zGIxCA53J6cdV!mdIvf)*3Nx47(#!hc{g&&`&$GJ215($2u@`nuNAUBOHz1DXFjdi| zqo=>Gvn8KG+GO~38o4;i&pKmzwQ)abJoKr~#nTsF!Lr6&gH96z9FQMXvFm!?4-fbb zS4XYv9?m;mIA0v4Y83#M7zCWNQycvd2(cHq@|K7KT)n~V9~3qRP$k&HC}pb~D;!zP zy@MBI3lN|#uOR!ra5`S0Y^rI>`Zhq7z$^i4FdxBl?y7DwoW$$^UI|cu4@5sQ^Zzn4 z`>;JIZj&9p-O*$-`h|c+l`UAom3LC^&k#y@E1!=euIG^o!pBiFEl<`THG&GAkO$L4 zdaX4PSaj*h%KsKqL0I{&!NeHE+N#!>{jh-DF^-h-1P;1uNW>bSj$R%vLDFP#13%AJ zOeKk1kPJi1CAUy1e8lrvvtZ!boLYY*pyPWjOz&K(-6y-B0#zBL1*U6yHt<~!YXoDj zh{Lhh+%ai;q6;ze6<{IiSYzFvT9xHZ=0K0d5A9cAsUFNmp^Cq{7(NK)8!km_@7b!2 zKW}_<aEn*vllwlayb8#dV6Vg88(#ksL@4P>8G+CSL8NBT+8`ENWJ&(e6kCNloven9 zC^rh+IvmGF{oL(*JZQJI(PNsj_n;e4L39M$tr@Q~bl(ku26kPbJIEh*&^IA&U*p{1 z2wt5lEeUdxJh9{Q7w$~mNdzr1*ArhLWgpcr@{t+2Lv?0N;$kdY*y#7@zq`X-H=HmZ zcH<l09!yBJ?L1Embz*hz>;Z0dpRjAov(Mjku-mYc>lmI{Qrp>RkxP;BD;(%<(BpaF zKkmSmrQ>o2?d`Y7#XVq`f2{LZ-A7<w)W^qHKZLI_XjoCIWQT4dv}@6c9Aty(DvLmk zYJbhRJ{lI!FkDY*-gY%&u7mAkv%3b}uV0Lj-Io*si^=_S^3@!@V+>o<|0q#+TI9+` zm}WXk?pVm*1Bp5(vh$wg*pGE>La5shbDFOAP67eZ4eJ6VzI?-!4#aUnP<LYN^q5U6 z?-X(Q48v0fCXk`3LHhLTZjBzusl0-t{cc?lH^8-Q&OKRQnp*$HRo~?Z3)6-vF;I3V z7p&w3-+z!<7e7F#0&n?(V6ENbgEBbcOtMiDv_F?Fu4WVAoj2_mXZOhMO5V(N_?8RR zQ~#RIGQ3^T&-^y>?ZxziNSa1F>qCcW1Tn*IFBOSZB#8FCE6DkQpmaEl0F(TvmN5<< zupl(dtNsGNt3|yj9Gh1fJpx^ry;2G~nNk5GoZ^}Ex64sZIj6sA)b=F=Vzn=&@Vp4+ z>_KJz^&lj+kNwh+%hn{ph894*24(&uP#1iA4h(8~X-n9YVXGtI4h8&U&DDVQYnW{! z^TXeW>(fb);qs^yD%|-KZQMZJ=49P-x6}!QeTF9fRKBqu-_4XYHnmpga7IumrfYyF z*whMu^ovLfb`acRa>(^~d|A=H7cxjH5*$8J71qRz%xUe6?B|lH-}ohAC}FVp{=lOf z3?nOtM_TD(RiMm=j0N-y(P1k#dcC?^qBR{aCJEHP5>06A`Nd`Q0(`fT^+-GEtQA9N z=FY9FSQF=zu(v2MFPCfn*4D)Mr0hhYI$Jrcy*}ik$2m^^)wn2g?+c+*^Kj@`!5a{% zWsNTyXb7-g=;$lLE1GZ;>Qdx{X1-1>yJSE=?cjc?%3J-V)U$YjSnE$|u9XI$f_48} zM~jf5w=Fx%(23{k5`~!t3Wcmd;X5|xiFK%tQTcSgUVSAq-j}1&kM8+^Sb_g|W4|~8 zzAXxnZ5$yp3_|Ab<ZBghw(zTHZDVDf@!{hYkQJ;o!bLk@Zx`<jjKp`z<0p16gvsDl zHz>TA9^+U4mCMzSvz~)u<trNnlJn*~5Mb$G{eV9FC|950K<c1`F_TKTrl#Ai``+-S zv3{Do)RK|DCY|cDaOLWAnX>@fZiTJWFZe6eNukn#I(cm{(d<I8h6f{;@izh^Z*6&2 zT+Ic!OerN`4!u6&EQBJzv2_a<d5G_AQcuBWdGDWM(EHNTXMsXZS8h2MlQ(1)e%SPF z?paw65BO}gmE=bCDG~(oUZ1fYkCYym%iwHdKe0e^V-yVB#eafQ68a{{P<uIc)QkbL zAp@^PVb_vrT5EV8y9YCoI+47#%Y9RJ#6CXvB-f(&4mo`5&^%9K6y2LD7lSVki{qkm zN=94l<y(b$s&4orm45C=MVX$NE%m%4=o>4j1mQq$2cgnAtcH0njms{uIX#KwxFC`q z$Ul}9I+@3Y4D(JW2}`KCoZ;HW06$!eUfEjslA3uU0YZqEXinYQ=N4L62RUu!p<N*Z zf(3)Sln6t3T2k_HgmR9_HE3%UZ!F`=<4QYE_~f`OFUXL7niZPnVaCgu?}rNv=vv`J zIu`>TowX>-^$7DO;#9F@*}XVh=0kt=^?N{G0B)WUE{o!Yf;t2E4I@(NWCs@>qO$#( zL3$}t>@{`;_R?VhPgzu~qMoPX3g0-|z0p4{#?mPg{_Osu!^)$-dVjr)hMbwQCFy3q zMXya8)c;$X2BH4PCn*d{#6L_qIB!BE))PQC>Xm+rOSkW$^<it%b918-W0YB9AD*lh z7OO1d@R`N!`)vxJ9-=#h!!c&?FwLHGs$wDfNu#hL-|Sd@H7!(hh8td~<_Q5MYy|*H z#C8VW0y@VGW8qT8v5?<Q<549#V72AIGPj)v@}F5ECbRMEIYPP+Hg^V6#fZbz4E#cR z0bYrh)n#Yr2);_jb&~Y;Y74)XQ2OJS$led@3qj1Qdz}C1up-d9l3lu0kkd5L%X`C+ z)*&CeqCk-%73=_k&@!mryKP`IB18-mn0W49T<f=je|pm}>qab5nnY#j`Y0)9T7y5? zM$Qh)sQCAg^^*`R8|-;ImxcgyWM6Pj+?%%{!D7*6U?05TRvBW5#_a7<LK6ZzMw^RT zWHFyQ#WOmu{j2=Ct-3s;N}>#&%Dli<=fTEK(YULv`q+h2T;xe*g-fobVm0eUQXiFd z^rN7h*b#NDd(|2C5tph!H6An(T?LT$=r}_VqzyDU@|MVcTv3P3TC#q~TB2F|(K|z= zF)XNS{5o6`p&)fvQS|}|Ue}IIAKQL>H^6>7cY8i1u%Fy3HZHk+_g#CT+xbhGxK8w1 zj`^Ht!JwT5zz;J*QKV$U-VW$HKbcbtNo$8dtfV}--QKcDg!zVB!G`Pm5@kcKiQI_Q zqIX-t0>+_z1}1&vTfe?_EGm>(IZ$Io+pf_Y(%EwrF2-(*h?E7eA}{XD>ov;us9Ah! z26SSdkR1vO{lY+KUA{=F%3(dTL25akL|pzXuT;$lb<+a<JNO2_W@jKzqj#s%1t;6D zreKtAdGH8al~|->X+;yG{`b;49jGh4)>pcrmFjk`zZBmwx8(XjHRKWjUXi~9!70tY z5lHx-I<j~Y3vN-|ruE#Jv`<2mni^5?T3ayL_x!-Tlv6TU|D5uPN8wf^<x->Pxt&R+ zT~$cxi)zPb3;Q~jF7nqH5_%9bT8fr;9H;+uk^|ZSjI@uCYH{n@{AX$<*!oBsS)LXW z0dw|F=w}w{d6S#vXRj?}zZT)lz%{MkRTyPkx7i!chyBO`JkDGL94E+&U5ca4<N|E4 zi~F`t^Bh^%$<D6PQABa#3B(_OSRk-85zo0w5OaW0LAZ;95jJUnruFJ`qEt81{5KgQ zRSby*{Y+!MPx!AjeQhHmk*eDF{2gTG>bKypp3_+*!=QR0&RV@_+dCUE9nB*5u%(X< z&&QNFcJcDdoq1h@?1~QygoFCO6EcJcQP4^mT<pvwzZwv(N;-9*lqNOIv2rzLJ+TZ| z{n<lfW2og^xjAiV$BQerDVSmYGk19J_iA^?cPZ<C=KY#pq^DuFvz6v!llZ_)5JwH@ zIsWE%d4L#*xt<Y-eBYv<7>M7Gj<oOF%F>j*OsC?cUxbap_+(Y`w);zE52tu`+y{Rx zP!qT`*Sz(om$8^~Y%y7LbJ4ReSJ@$SX*(Bt^FDVT<tYgxg;U0YLZLMi?Tp5+@#|7K zpz@`IeG8<L_Adtt4zUabku)aPJJARB&#}GyP51KZJOs0gG!NLPhMufy>%K@Ogr3u- zu;jS0fbf;xfS`#E@5<#w(-P-DK}UuPK`Z+of6o-!YD8U8d3d5}VPzB#1Op0ygj&dI zS->@dqK%M?!O>L4Pqxe9MBhCS@BgH6x7B4AQl2XB`_6wO^Vr?^<a=J`dvi5#vK}*3 z8p@0}J7Cy1W*2c4*VGplOt%`!+DIF97Sj^UdCWyca#r}8)rfEd;eYM`CCDgEk%M#b zJT#f6|2|D;Qk+fc#HHI$ep2DKeW4Zat$nNzgl4kJ9|+-8@$k!^KP0^B6M}lKA5wdI z979&A++Jl99X;}Dlxcg<Sa3`325*P(HGkGPPQi5c@jdqCc|2iLZXm=#3$`T35qe&{ zYO(Fnr1CS=og{r+OqJXb8N?SNMD^$>_zk^gog|x=KQBA9{tn-b>2b6Y2Q%g`fb;fV zUp1-nr@u3wIB@?*^YWn_ndq-g%=7O28xo$Re`%|K)(tU+ukHpg5Ke8Ckkvhtw<jm; zu2$9BKM)=x>D)s0xbprv)hz*rJcm7n*Buczl^Y%66iDRVgSLO*?A^!F+)>|g$#Gz0 zCa#9s4;u?fUAQA`I->B}iS8O*Jj%v4hcYNh6YK`K)O|wEkxd*_dBI_7!d)(56szyy zu6||_3D<-#8Scjtzb%4*X$%qfN|w;*fQGqi!gIx$-o>wBJNrVNc!~DNv0x*05e-q7 z$)BGzzI?=;o~PZHy%72ESmZ^n=5g`>;W5-@fFpiI{{7d$;>MZhF4$=Q2)-#qW>fH! z;zyOR?eC>;pTiJcC*bb9p}5x;^oLFLbJr>i>@unvHXyST@+9nTnF#|9X1eUfH<#}a zC;u^;=2clm&m$s5+84bj`hGtcPBsByEjT6<Q{cMz57<_<2%64;>EWn+SoD+9gr)O1 z`-<Bn;#GQxA6gk9z0CW|?2R?*IXTgJM_WtqK=XwzNSNnNsE51!Ma>aahe-IlNUdZ1 z6=^bxi+ApRY+$`O!&bDeIPRZK|BR=>k1v<xPUb`Zy{28Pt9(b<;OK;6csE||jP}TW zXd|wIZEJU|=GbA;=<M`RNiI$PJxL~&t2EoSwEc{JZ5Q{Y)n*CP681rh3Qu{nGCQ_~ zRHK)&a8l}Lv?7puV^=7kFt{ipr$e^b?11V|5#R~~+tcV??GnHJ^Nt2`R{5H>t>0(- z>V{U9Ou4^1q|dS84uylc>CD<UhQwa|S)`K+am3ba8)4>h=E^f!8diIb%YvkoFpM%& zbu9|BcXu$Bk7^#(dD*@$7qBSb9JDB59}2fBA!l@%|MZ*c6*l}S1gt<F0VTo~4Zp#Y zz~H1ID9rex`?rG}w$bcf65pNK%;UX;$e>zpo!~`J%GQeU7ftUUy-aVGde{6gtnhn# z+S$tIv(%nm$Iv8vXjRJz1E!<Ln69y9FK?qGz@VXb3bElfTNY&&{{7ge&Clu}7N)!s zKUT05Q`a2uu3hd?U3o?6m@#?k>gd;to~lb-;BYulxEUBR+Mnf!nef}z1x%O1sRFYn zjY+tlj&}Wf35k;LlD!YKdV3|Tz-^kw?g^d;_#JMN<z>e|yYJq2AH84N9y$$}JGb|) zAB-Pb)9#5pk+;fuS8%jlwQXk!mnX*j-tfCDZ|>EMe^b~};nFNwHZb%1@Z4{GZ8J6; ze^7%k(h?fmo>;8&38}iqlj<tkE+^A2HutS+n*|#~I5JW(awbT|?d+>4^uJ%hnh8HV zht2Y(|A^N3w~7D!OP(nfGEDJ@mGHU$eIximg-!&*RnK|x|NE*Fg9t<{Qd;>xAO80P zErJ5_yzJAx|L?0A;MIY=L7M-0_Wyo2<{p#?Wy>%6|9jODyn3_v(f@k^94HQ5EF|&2 z%l+@^64dg)%J5%P`wzbSR~i1R4F6Sz|D3>omEk`}!J&)u<Vk-aoPJg75(NBFRn)py Je#biE{{fcj05bpp literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-20.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-20.png new file mode 100644 index 0000000000000000000000000000000000000000..3a25847eaabd72e4ddea516391e13f818d5dae9c GIT binary patch literal 2146 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 YAI=DjVP(}Bwg3PC07*qoM6N<$f@(<(ApigX literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-20@2x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..c5fb9fad5428ddf399d9500378e0c9f1ef3fbc4f GIT binary patch literal 3871 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 literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-20@3x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..409455e7f56d3dbad301aa1c4c7d7e0da5f544b2 GIT binary patch literal 6001 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 literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-29.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-29.png new file mode 100644 index 0000000000000000000000000000000000000000..0789a3678378ed9b56888bce00724029fb59382e GIT binary patch literal 2905 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 DrgfhO literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-29@2x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-29@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..3467723adf703590869aa0d0b7bfd090cf755603 GIT binary patch literal 5746 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 literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-29@3x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-29@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..b6c19bd1fb5efec97116387dd323a18760eef174 GIT binary patch literal 9086 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 literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-40.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-40.png new file mode 100644 index 0000000000000000000000000000000000000000..c5fb9fad5428ddf399d9500378e0c9f1ef3fbc4f GIT binary patch literal 3871 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 literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-40@2x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-40@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..a78f3c3fe015bf76844e4493f9f0ec1bf06d798c GIT binary patch literal 8274 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 QmH+?%07*qoM6N<$f)<XmSpWb4 literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-40@3x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-40@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..05e0812b479d4a598d224ef291f846cdbfac4171 GIT binary patch literal 13360 zcmV-0G|$V4P)<h;3K|Lk000e1NJLTq004LZ004Lh1^@s6Ib=4{000CIX+uL$YePpv zZ)|UJQ*dEpWk+RhWpZg_Qb$4n062|}Rb6NtRTMs(xw9)I&V$sZrjic+HI%e$QqhFk z=>BE1ZQLxAY_vg;$?V;oX(lt{{G@3qJ`_O^!KmPq;Qw2}Cn0L9?Tam<v{0f1gDCjW z`bVMC7YXaRGqbysxNE)3-1+95?|$drbMD>?khm;cmfj@-EE=vY<<sJ`$L7SuI&{H( z&<%aiEh~<dDwQSy8{@*i+U@Tk#@^TVxA*^N>#k5o0f^m&*sM6pBI0EL{uRZtU4R5Z z`^X8`V)zNfJ8YaF;u6EP09P2E5Ad?jnUOMxUqvh^s*L``+lU9}BlcPZ2XpY-jyyG} zttleQMaed+noc9ry@UIIwng1*#M^^UkFzj+6yF25_LnMhmf?pGpH<}CbcnAmX|u%; z|7E#p3GpKUUAw%6atiT2#A8)^yd3Cssj4^8z$>TJnP(8+gLrkpJj%xIMEtceUz`ec zeo~wa<_{hK;NmJRuzL3+9<WVmDu~OCS7<iJ@`(7j<`!lGeeNx1X*$=?Ii+TbK`icz z<MI(!r#{42sh*cY{a-D&6vibzhF+WubjUDu{Pp^FSDl#%;*vQR3mS|iFIKhjLdbtt zwI`$yU$%6AkK)|OP1}>o0iVC08s$)vACv7|KExH6jmbd4gn8^0FkllzkRT6fd|P0n zrwSVAXrbt(XrcJk;OyVRDf#{Yw^VBW$m{6QFhZvPBk<6w!tZERBfJcLd1$M3&<SR6 zBh)cTFG-Sv_#7gW<S-c_qacze$x~#EWYIcG4mHP?B6DQ(xzW^l0V7hMH;cTB=yyTJ z{%2&E;Iz-hN}o3n*w5I{Ys!_^ZeBWlZdZ%DMpmD@)^q7}Bxf3GEp*7*)SYtA|H5DA z*RWsbH(Ct-2Yv&8>)TehHS09YRtkN(Z(GDi^F2;vKBX;HY+<vbqFFUo`T`%z0DZZ5 zy9j3nTm0nr$v={7$@h{UCV%7J<UZlfbDwgbao>Q*UEnTqUvgh@A9J5aYSek}G;8j! zqp=F+X_rylpF&#LEj%b>g+0Q<!emQN=oN;931KgKb~mdNjTc?J2FI{(WUGCwfETHA z>~5^H*5N-?MwSLAe5T{?GXqX;<AftgKN%v0ZM%Ae?e(U1eoH;tuYtyM@oYQ=VtikG zG(HqR!f=Bb-;2Ic?D5oc>9WfX;*4pXw6&V*io?m|<6;W0GAb4f<-njQ>$>Q>9MPr@ zwU=n+0I+*9IKpp9{{0u*d8K7@p9VPmCp-6AwmA>rtOL;dXv;Q$XXCx^0IWWyc=l3w zC&Xgk0yx!!!@*Zi8qcdA>-AfBZYACT*nGWS|NH%Vee(m<-vGFv{{#Oecnig2*2@3@ z061k>NoGw=04e|g00;m9hiL!=000010000Q0000000N)_00aO4009610C=DS00aO4 z009610C)fZ001j0chmp?FPTY1K~#7F?R^J))z$g_b9Z(^NJ5xlgX}3o1T83vxJT8x z^>3|pVBNLVs@49gt<+hmt6Fy*Z9zdrWg|mm$=-V;Av?MI|2*gB!X+e-o7_O;!-1Q- zzT=$poOi$Hy_Ukl!XQqx<8}tD$L+{Y49v{H34o9Dg>VAk696CQGjN;_?*s*(0Qfkc zf#ZC5Cn)#?z{mLv9OuJ3LBS^gKF(+0I3J$<xEr6v0$9nIELQ&Kvz6~n<8%0>an4qH zXafNR`9Og0gM1DiU!L2aHoyYYW`l(ffg1GrfU+_K3JVb^*oR<#9-j*k<Yz&zmmm^A zH6CkmI$=pjgf%S<mh^O3n>2wnC6%8gm}}}-b3L8&69)aK2e2s9!EO^&0q5Vg75+7A z;9Ip4zIAKi-?1HmygUR;O977uLBGEeph(KBBxNoTvp8HXSP}_#Mh0vxTfyF`GwfYY z;&Ufhvzx;b9}n<4W|92Fz_$EkqDgi;EPRL}ean}@Gj}$;i@t|{(<TIpiVOgTGApSW zqHaBE(*&9xqFOBoQLWtuYib&7?b^fHe*hdqhQiUUJ1nH~pw|<+Uu~{^jE`yj0E@~< zVZOC%Q1R)<@XVMF|CTKXk~#%A^r$V6(N1<4aI${&!Pc%FT&MpGaTi?zTkAFmR#ZfL z#iM?F;|5s3ks{0Ae+OkRy=YjkWTyf3s81DdNT9W_Y%N<NaoleZH}<?n&$b&czyg=l zS^DfVD0}4}l)H|Q@^dVJt$I%Z&CinVz84ACUXP&LUG<1Y^S;qKI>ZtyM7giNV%Vc7 zxzRK(Jegpn&-?}MFDA2pagC;HRXfr+0p<is=9a$rLP*Xwl#H!98_~R%jZMX@<e9(1 zzk6rn;VxCi&?o`6*z72O?;Qm4^Be8NnR(<w^l#aOicdbG2%&D!2wUR=n3NINyT@qD zMxknilNQ+}0qg$qO9YAw8%~>#ykV5D8y&zheZ-yvd-gPL>J3jcbp!v_E%0yLc<i+M za9^r<Zgc?4St0L~@fuar;YRln^#f_qfxUY}zVAlX!Nv!$Cak>tr{({Z7tBXrcOz_# z4`5D~C5~oCW7M2$0#JRm(@t-M?dS#@7`n5B!*^WtLF50G%OIlBJ!osyIuuZd__)!& z)PkhVZq3S~AG<PI71>z}?RPy)tWtwk@I%K{8F%D4F?`+d01H$*LwO!Q{CSN26jxBb z21uoL*wf-+OCh!Ln4nJs=YM*M?47%C!kYaw6fFiP<fFE?ZN~rv!<D9yG1^=VTF_ta z-U&+uAO2DVt#JstvJs4H$?qAK4A7Ttz>XoJRW8+_09zc?Fbm63x?n5Hmh6CcPYE6L zoCHy>%?fLx6Ry^2NF3N2@jV%q<7c7*Yi1^#!$+X}-FHHvx+<M+OmC$Ox<;Q3OLB53 z_+TZlzGB#Sz7NNaf5Td|3>I&JR<5DspgkFZq^|HazmSj12zVwJM#BXy8pan*ktDE6 z7j8qrq!sY(Ee-|QZTf-_HE}2cZP*$=i|dk!CKvUBvt<ewHEm&P(goLF-MF0{1lQKK zEz;ij7c8l%9Ger?{5gnQc|WZC=7+}0&q8C?xW%IMph8B<4J4lgPuIuc%Q`ni&6<}O zw+2zN1a9HvRmgp70etzT9JgY*yj2)n4MO7;`zDp^yNXqNu;<0us92jzIUOY1YmbCq z{W_FYQP)9hG8NxdaDZSa5@a6A?%-!8?yF<!(zH0)|HRwJ8ID6i4BM{%A%5XSuof&J zhhmZdSuzL1t5+^+J?p)woZnkZ)*$ZtU%;_tLg@Iq^y3KU#GHaHP8&*QZA9LCKah$w zpzz?1&=Y<g^aWsV5|6B34}&9{EYBZA(QodA`|GJ8&H6}}Q2bWF5mY%$lzwALP9b&i z!Soyxk<xt_un(3{CKfTZr?}W;hM0vwr-g|z%g=m-CQ~l{l1q{N*c0q0#ZAFN#4or2 z7SBEc7==bHrHe{fdH?s|&l<zN(?pD6iz&dOME8~gQsS(TtmO)iwgtU@xH@DY>y{y~ zCdI?IVFL<oxE8^EoHzn-NE0QIGDRGc-S)2C;OO0t&plvmonvyXEb&aqF&w1wY{Mm) zf>TBZ#lC#_H*bV*#Zvf|EP`+Ks*qS9$Yw!Qw?Jw0TB+%$z3~?BN!_7r7r{N3@^*QM zIuGgO5k3fzyCk$h*`O&@z*>b^_z_O2?bopbm=hsQSZvn4A<wYh+IFJqaniVxhqXic z<$VFC3*{fYhvG*cCaWiF3pY`#$88ej9D@c^(HRRz|G}K_R9JnxVJ%(-YvBr5O4h<s zz8w}HbF`%BsFA{g_9O)3TTu>nMliKIpSvPpNr!(|F1&MRFbwz^ygw{5)NOG|j#g5& zSUT^W^4IZjopCn3SmlWO;W{c+pVW`dl5%}5E=EP4x7bfowNX+`Z|n6ZW&n#dOQ9<K zY$buHhSH+!rr34*WxbJnT1VnSR(<bpIO$Uit5&LvwP{ntopUZ+ms|yVhaA|-R>HP@ zB5ZrUf=!yMn-ni|law8#PGIDol}3X^u7IYAVxb5y@A-8gE(?LwKJaIchQGx*@H^YX z_u~pw{QGSN6Q&qeE_>Io=F6`@^23i22OFGgAA@uC<MjhKJU0P1Dtf&PU+e41s>{Nk z*6TSY0E_*3wiaObb2BO5BvYbi&4-MFdCFQSnZF!@xRaVQxo!(t^)>MC+==*$FGc)K zzlOa{7Hm5w!m;sn*z#sj{?W!}=7-FXKx$w3Q+gth(9YPNa3&K3h4cujk1X9&2&?SV zvh`dLOG)jEVJ%%lN+-*AB~!B<1z)?HC>KY;yLuhU{{Af7Qzn~C%e2?ugr#Xq*tdT~ z>b)j(O;l3&Ap?ox11`K^Tnm&9naV!22ra}YPOt9Jm;fwoc<(FUp?n!9j9PK5nyA>( zED6nS8wOjmCZwi+lZq!J<z)hzKMSs<_Y#=zxuBSBnbHfs?DOHv9ECt)XSxn)ZjpQ~ z76NJsz`LsmzT6VNx4@p2Y#!vvv|4zKoDIGL*os%cws#8byCzb@UCHxk$ETkPPw&5w zqPw8rrfZOJ&2?~{buKKqixEG6EI9?EUc7(I8d<fs?Jwc(@f@kR{`PUb0T!TTi??I% zYx9il8?%8{UP$sdzI!ud+&IXH!9Z?4Y?(=jpE;azb~S-afT!*MgQwHOd`(+4Na_qo z))H7Qyg->31^-!Q94!GkS=g)z4kVr22B~Aa5gRT@V=9S_6DW&=oM11Us~&`7+k2d3 zH~dY9pnS*|3=3|9twk%c_JWW(w2zC+7VC5!El4{RuFnxj8_2P6JoRYx<13PHZXb%K zt~K*nkA75ts@ODLn*LG`+-n$)Bm1>BC+n)nCkUh*xdRELbJGM;^bEd~Y^9AWa3v+^ z70Y{f5sGJTGNMDGL=W}3kbU0w@zT(7=I*3oGnw>-@BJbKt`sY>b!+)H-meh0oVI-L zFyEVF#qwkBYGlW$5IQ$J6B>u<TiyTE3t&UNOLxG%i4!g}B!*2ku)xi{eh`{JbQa?K z<`4{08%-4Xa{U=Uqr7zULAz0(lO-Eq)d#X+^{srxZj`fsR$k{Iy@20aUCh{=zXhI+ z?7PHDSZ^R;(y+NYNU7y~c;IU`20>?2b8jbEzP<I;@DE=IPq(K+=NYY6H;z%`!nN<2 zV#JV94(oB*dI^u9+mGUz8|rcU8crqU3Y5$nhrrb)0j1-gK_GW8W#1UcBm%*AcYl_q zO;0-Vx6!A23H)h8h!Lrm3oSs3N5BU6y4?MkA95#gA5Q=kH0d1lhlBE7tUE|5_Gg}j z@_z4{NtXHKZFL<FW>CRu!#7*z;9EZ0H))G2yWh&S6%WU<JNP|0K-iQz<Yv)+z|K+r zIyO%*IzY5%M;>2i8EhzI`7Z38Fqdpg{4hpM@{mr3j2i|ap=&w{#@z|e*Hif!y-Z0- zNPTGnoC5}u8&g}S%g-oMWX%?<58mCyD4eo7#8D)F%e|Dr1UpQfRlCT0*^((k#kx6! zxXzhK8Qs-Hxq?B0O~A~^D2JVNvP|1L7vsKp6dtj1cJqpE7vRAm_rS5~1vq}ZhxZY^ z#A+^h1L^~1L%uQ!WJvT>9l(*_*PVhnIVJNpbKx@dSDlCH$oH=H2(jk$i+UoVS999F z_YmB#2`o(<wjkY#o|!Y?96SV&KUpkPUvPo>_LgDK%X8r)$cE+WbA4G8xaNBc{6z;e z)#B+Jj3+MZmZ9{bap}lTu54CL_O}Gs<M$%L5l?)Bcz4C8NU+D_Hz(f#Z`l?&)>CfE z2OX0}F~g{oWBa>sr}pO+rCUVb>LfVjWA^SYLB;AlF_pd2n3D$OAbC_5l#ne~eDX1z zr_e9myHChpEQ-s?A<_pXUPD$AdeO9XA#f>Mr9GR+;lK^gRrpvwOXf=^m(1Q+?YMGM zT2VUqQ0}Y1!0bNgp3w!bE`1m8t@t-AC;gGEeH2B*fdv!3MO~kRRwwMcCz+UXUD<z~ z09GuweECiUN)E&Rq8ydNhK}aRX!7&^aDVn0cQpJ1whkST{Kr2b?y}2aYu6SD*WZY^ zF=I`VTjb^CT#=(i{i=84;&pG97wq6g<e{>4NvAQm{G{`dliCVbb-M_UopLvt#HC{V zf(e+vXElO7pQVE$iwjV$#uzjzkCw7cbmB}i;;1fHtP_jYgqBnO8Y-#FU8_5X)RuN( zZ=h%oN}m2RDae83-#^0iomQ|mYX;}AQ%!Wp#>sQof@c0je9DsX`bmAU0JpMV#v)*U zOkTDkOXL_qzE7YY@W_yHDDzez-X2G}?7-aveu>}BdJ0d?`x{;v^CHqZ-Vev}ySdn? zna85>-uB%SsYqT{r>jK`uqM*8vk0DT1u>gcEtrJ9Es@Zt6^efQfQcX_-gY~jBTnDH zMN@uY2YlFF5X5H-0$9H@h_pmtWM3QlceNqDM>Z;GD<7^&z7wq@_B*~;3j>gQ`V4r! z{o2TWd-ooQJMRJnSqZ=uaFSK~Q9(uTqE2UH{;tLNX!U3K*Rr>9N1vM!*#3bDAA&5l z-i?6~TmD?K=^ZrHqUR1#Ytix#7f)M{{0|n#B&Z;5R7z6z-6LVyyA}o4UPE@=9%*mB zZM0?+l;<IGI0@AI-|%7MF3MsOmbhpfL$9};XUCPNTCnZ;IiZ9B$DyoRZqKA4IY#L! znX{={87mz?3oY}OVJPKx)zX(<p!r1SiDWrr%#J>Nk@C#n$WfZ}eaI_jr}t}n$u3;; zIpfx3<NrGM6?7_F0Q<tr$>E}i3m<MJP;0MXyx7<5{HSI8p)+x~8|gdFs<JL(Wev#O zNnk#fvvmsP?yH7k6K=X0R@Ti3gKOrOtoXVA`LStt5D9c(xj1+6awHMt7bf~JcfA$a zSM;Lx%MYu_PctNb7S}O@ZqMw{Nma%v9l+i+0qIu^g!`*6Q1<dm#yU{>2Bq<;#DjP7 z58Tc=p85^}SEtx~bc?p7@^y8$i?O>j7w;^855Z=PMx_s8Kd7U`pjpT*Z22>J&*<Tb z?hFn}ZbQ%Z*s*7^{G{QX%;dSbd*4AD*LB93bPc)<h!TOC%k6nVEZY<?6dO5b`d(Q% zPk-n^eo`7T&hJLkO>E)Nrq4ymhcq6pAcPb=OYtrgKlwyx5$NI(O<;TG&x1dg3tX&6 zStA7BP50;pokpW`dV5UX@D0|N>_xE64LqcpdqrHYwl9NJwoDojGc(!K+MZ^Pi%JG- z<@$0<;V+;mpjBMYCaQ6@p-k(TiQ<RHGuB#$IHtkalM_)^P>%P%^JDgk0Ln=SV#(f0 zZdvuVV&9ud+0T6F#uL}IL(<wj+UQ$qEkdLNq>Sv0gzgzA_|+{4?A}%Vo?k8k6?ZAV z?`{(pwy;8v>-5tRcm9RQOv=Iq9Y^D-`G3dcbyILhkMo(OkwZ`04q{SIg^LapYw3EE zejAK$&4p8YE&bpnT6N~Cz9*<&Dp)~JNd8p)I_mdSdg6PxWVs{mCY(MEcFNxP(@sNi zp&JkU(}%x);>W_ZL9Ey!>aCtC!}p9MXP){)03XcsBm2@G#^gGLTC1UKf$M6YP7S^f zN+(Q!XV%Q>!PSk#O2{re-!qwT#gFFL;y*ls;@>?8Pk9N>Y=0Uu6PjY`=IJP~BvsnQ zF<{g3s4?}{TDq2fh>9koj8b!a0@x@<;hC++v&BX2w`VJO=aKDg-$qktI9$!M@YYve z%=$54WGxdiX%>YZN4k}&EB#}V7fbWvD35!GJX%$pA_qB12)J^y)2|u?@4`7KdyUlu zBGZCuxS`n#%*d8BdnNW&Oqzs}_ufX^jP@9i-3x2-H(*8HYFM(*sXz5r_Q66ipcu8- zbu=wH3MR!Vc|A%oP;GyVV<RKU1oYjrW*Ki(-0)M8R}{q5#gw(A$Y`6SMyVTk>U}rd zZJMFUXy#jS7sWv>f{N9LwDWtx5$8t9<Bu`RgYLj8a`&KfYj`7jx#IKBm^M^_VXX$y zd~##n_W7`+4PfM}S<Gay$vBCUx@r$FCr|9mPuUm?`72E~6vbh(8S7qIn`Oh<y*u{g zdXZ0%>nh?!@hi#Fpa0Z@CTDgw$pY&4{zl)q=13+{B7^=)?kj%sN%%HyAe*S8Swm$j zuwy$syLX^Zb`PX7<!ABkWvH+>W%^JTP2B$5*Y$-0AJ+0M)Xby1R_y^M*#;^YouL*j zjkDg3lk9AhZWJ2-HfBn+?_es;Ijju0*RoggVzEn*N)SPqP!i;S=lb#a4?v46`@qIr z>i~oNI!MkAjl<C*g;|>eO~z)$<j<)MM+6DD2(;%n=%z9$75zv}Vt^p~+3}W1+2*ma za0~K1BnE{vW1&q;4l6w<z-vaqLTfpdp=&DT#Y|KT@D+(VvQwD`!_D4|64~i@4mezB zLG!m=HkG+r=yCU6Y{$b_*l|iXnp%wdxe2x&non_n=SaotyotzUcBY&h&NgZ0ku*35 zO@A>EfsHFs`rNbBTS)c+=1DVKQ@|SS_{`BrdHNY7-g#HZ*>M<<m6z=}shim_m&6pF zoYdCHuh@s(Wi+RfyF|%UYr0WL(b6V1qwLjmSe4H?vf4FKtx{b=nrS@|=7Lv9&z_zD z-_q^8rq86q(1~d5+#5&R@Blql5{Xirs%xUyY0Cl_d$JYxUrMJuY*@M}i0S-n@%kY4 z@b|v9(R2Cw=N|m&`sQ%;YDM5f{m#63C|5xc1;4zPdC)Y8s3_U8v*8#x2(FQ%VDH(} z)VcK1=5<f|_ONnU3&NU~iiBU@V%(c{Ch@gNX<;HxyGwWT+HE=58U|6_z-s)AeOIJP ziFl6M&wuUj%xg++8D3cX>(|g-%2*0ZD_v149I6#*ZJJ>wUF>!kDe_O(+3}Cbe&e33 zP9lgx=dB80?n>rQGhE!ey%neTvf{RLnX7EK;KwZid`)F-bbn@ea5J0VA0c14I;?hj zw#ITdLS`1?&K?6h<-c;CJ>Shm@gE-ME{DaYVy!Cv98NYn`t?KN9e2UemkJe~Ghh%R zGoA_bWFz~^_i@_{l`P}3<cf@fwH`8Ynsa)_ECgAEP}^2}fO$njy&|2uYCw^_lAu)r z9NDwtxu&9PrAZ@@NA}@{G*a+GZ~Bax6nSd+b(p$~DVC-!3E&$(nj``}+FCK9rxm{* z%e?9oZl{R^*PKj!g89#J=UoWrsUzT?F%9Lvf5>>#RP0omv=aOdlFQ+nhMz0@ns_UN zA}myDs@w8AB?81L8IaRd?4iYBYsc$xnxj;X!nZl_%;=UJ9LD`wdw^>%gVlK{A6kg@ zZMudQ3ICg7D<aV_T9wzXpnu@Y@43a2^7KeemvWLo6?ouwBV$90#lJYo&rBbFS?!9~ z0%PLci_f9x&fDOoqeT>K{LZR}SsmMm><GUXdv<?5=@1!htF%?U1T|>bb9A<A<ZTXq zt%<9}ghZSa6~Gba)&FI9r5L-D9T#WNr1Bw1q+}^HSX+%+m(w{?vJ{LM($$LL-JJX7 z?x7tH`K9gMdmGs+U`_Q{r2>WfcIZh5f5N_Nr-j+k$Zynh{o}GU$62NM8Vy>&9Geyu zi<V-<KG(kqK>^B#sj#lsG)K%XK~8Rv6X&G4l--1~bTb3qH4uOSRa}en$&HAHH4pFZ z#3?5^&?2J(+nEhf?9PUZl**jRgZgdOQpsi{jAop7%m?tU+XU~-Z<zD-t*O&xST4^q z8nzCuuCdQbMlf4dIR+m!aWA7wdRB{Pz81|6E*P%7m^6+dN`<Y~04ow>OJ&%Mak`+$ zq^3dFY9M593=>LeQ%QZ1sdvGA<0@1JN7BQOGCb$Pd4sK(u{>Z*(Qtx<)`Ai$1!_tH z(5F4+Z4W1g64cBl<=9%f4qtCwfa!}C;K$rGxTgCh%(}Q4UTU{qi5T|JLYXLYBW~HP zu<iSfp}oOywipZl_1t)N!wpP0*hW8dCD`0fDm_6N8V7ABC8aBbsM^um9aH2f#zQlo zLIq>O%^7%b@E&QdRI-&qc2@IM!z!)SeDNT1f}n%N$Q{hjX3lnPTde^Wwb|1X;cS&^ zGAAt5RO{S$s&bN5kj2)FSqdx%SpLz6#x#-k8h62kunrwY`<4OzOYNBOxgWXoZfQ*^ zi=%rR8;19AU~m@)(o@T@v1An{ZC-#G^A=)V!6v5Elv97>z9ItJEHMMSO7~!E@lKr7 zv=i*y+G5RH$W+uG+?dvuyAh{yr@}Yp8Js}BHm$W71J_k&!O!Fa-{zh0%${zj+qZH> zsJcA+VPmQP#Jlc>vtNHWINx)3EHY`eF79?%p6f7~mzjx~Wc%FdC{I>>0p=p{GrKbA zqE;S7oVoS@6HVnRB@Sq1$}Q9x+{zP0!K&TiYSYF9)(x4GB^vox=`xf|y>N&XgSuEu zL`k4^Z|y{Kaw*nv@9)Q3=40lZh1gKA#n_$7uFx^cmy$ntY=@C1rRLVD4`IQsC3tnr z3mEEK2HS$G;mx@Q72W>|Tj3(Jv(TiwlAUUoqAhnCu;Ot}Xm7KX)b;Z*@LzQ$oie+* zL43IhL)yFd<l<}=5-S8%nzLlClH-*GAokpxUajEvPYJMe>v}d`+t>1PUgTg=bEK<A z1+dA!U`k8z%#9|Cv0mF%IAZU%eMmgNJ6yC!-IFGA1<}!Q+0R31vQl=~WHL2Nv!Gp; z6B`P*;+<7fFl*aFY~*W!C|0OR6{z7RIoOWgqz4AwhL@MTjqgZZ4%)L`%0>$*ILJA& zZ+n{=93!|N_wPuUduGUiAO%D9Gt@|R%7wD!&7yPr$x5)fd-05G=y9XX?%^-FsImZ? za;1l~=!bK-puX5Rof$}0T-fO>G*9FLC|Of~aGC$Dlw2QoTo{>d?pnJ)(dT55iYwOT zaYw@(-is4v%#hmMEb=ImBGV*+`A__@i!7$YEF&u;1>5QJGrU+rwz3Jt75VG9tKboA zXU2uH8EyQmIw7IrYVx|heCD6v=04!tzyAGx&GyC7<1xa&1eQfN5J+m+WXa`2$)3rg zUCYOj?;cnr;d_Ukxf;nLEnFb}bo#IRzt03XvdW0SyQo)*c*}BEQ$ci~TSiw_+?fs6 z_m`Ul_Byj@vSX#<mY+P4TXnie#h%so=;)m%$k`FsDTBV;eq8MQX`AX&U_!HU=wHfl zMRufINh8+=FeT3u(U2_b*~=^#Bd#KpI3FkO`9-f|N6Bs@+r)~i16Mb6bDPOcy{=@Q zRBJpwm;0BfoKzbe;Y}=_T<$Txm3xn_X8DARNX7J+RNHtrEeNt*TmAw#wS$2>9m37{ zY-|B8JS+NV^+ZpC8>CCon)fXi0;ye^udZ!0>H`Zme1473yoS!N=<}M{hZT+N4PP@V z79BoGASLu|W%l*ta|@<NiQ@D&98y(>3*Y>z7$Z3PURt=bbrZz1CYGy1Q#e^k#~Dv$ zh%sBA*d4incUvKgr&Yk2(*(98$~F3rm9@B>8nN*Zg*#Erv$7h8wj6-#x?hU>W;}sy zRIK9cl`OZK<5lL!mNyg5b)@$0<0+4SU_Fm52Z2}hv>;i%EpIvjW8wo#C)t^!y_bIP zwL5}nPP49Ew%2I+PKt~`mq$_FZXD}`tc0CObCT~?RueE$A=$?Qo{N<)4%|kcSJu(; zHys9dx4*DjLBGQ+z5}OL_o_|+>p}uqAT_(4DW(gznxbdQ_E0F!*!f!Y+zR5%N?}S& zQ@A>@dL5%VDqrZJvz)Y#;?e--FQt&>u|vAsQ7~--_Wfr$Dcr|`XiT8H@nppDd{J;9 zf*n>j5K*dpzz+|-3-7J^55Czv`|#j~FG9BL-0&<}?=V#Ke1X++F4pMyh?w;7vF4ed zQ^w0|vD1=Rw<BOudAIHj8e3di|5@~Zf3a}}T2aaBLe1UTlvM&$DWKh5W;djbRSAqT zM-$D;5)#@EZ0<>}667ZK083B!T3!inbM{3g4{PKs2X(C4H+2SBR}*_yk+b9x9T<*l z3m<Dys!W1HidMQF?HLJFWLTeyKuc81-QXd$uHML~5AE9-jQl9y>fv87@Ic>W(bsE@ zk*i(z?#<jIG-nf>7x$vFl4)4(vfNdW8B$%7>}^VbXKkBr6sww!JM>%uN&hiru&3j_ zoZysD>A?sQanLzbr~+xEC?03Cdhq@Xzsb{1p!hCjpy!RR{5Z3BJigz(6!%Sk0)v|O z#i*Q9F^rt01p&7twu2|3J;9^>>?<<Kbk?#BMz#hWO+qzAn5-x6Vj@RTm_!Hlv+_;7 z05;c<37{wwn>{m;G2SG;(xmY(zjM$F5TtUlBR_~ajQo7V2+xlMwS*!`9xBaa2`9$P zXQf|K$@La;2wO6@hf;3K<hZ5JRk&x`<J6ozM#(Zai1;H-dVRqrJoz2Ba!N+m1W?2| z`(Kh(S}L}~wd^)dto+b5s3xSOU}771I^4}QAu5-%h1`gT%MUKIE|IuctwCdp%UqHM zKWE26a+jt!xp^O)*>*SvH0x#dH2LjRE>$QdrB7%A414BWid)r#YWI(eFQV3>BTqiu zYsC)A>7|>$CV;P)?YMAlfX)gIo`5QeE<FG8O0~(d;I(_=;G3};c^@uCLhlwxIioXK zdJ~E%p1`@3<~*Oa?DLD>z_PuojJ<of`&a!=8ty?_bhO(%Ir%;&(Rn)k-c<21p*wa> zL6PN~1Ni%A)Sx#7@$?OG=-6R1elhWGW5$ISnnZ|)nz#ZHIVmkMqV-^$kuw}UGMG2U z@u`0e(P~(#^}CgJ9W190`L@4%aqnwBe8H$tQCVn}D`zSUuI?f#-oPy>ljeBQbVNHN zr$d@G7ehP`4iSp6HHS9uZziXqCgZT9rv2<^Q53(Zt&(jDm?mUc`HTuK+Ze=P1~^9b zvE#L+AEVICFlfX;WkyL!6nEKDv;(g%`v5mgxf>60<617WKeT`wqQx9wfh+&<xCu;O z<)8(qJ`?5E)I{y?e(S@o3J02=%bf{i&-ouMp(~Rtpz=hq;0?@kn!fcrPEuVagGmLP z@XGa4Q&$f2xs8Qc-ZiEbm#8^ToJjknp8qc^0g*M|ac&%z<SxOK4bvIms9smliD7RW zg%|#}?koK2s|V>~-P|A`#}r_Jxnx5Se|X1dWUPR#O_L1UnGd}BnFq=JS|I6^cBUMn z${!gj;CwRh#yqD2l(Fba1Yy+X^5z&pLWpa9{2>RD0xez^Z1ETKLd<aFrDQNX^|2q@ za)Y>TlpS5$c<{`EH_Rq9g$<9?bc{T3YxixSLiR`ODa$h~{7C0T^L;%=eDG~F=~9;d z@+r$IQR^4$jizZaOq>_M)J5Exa0%U)G_B+kEu6~gb0ih5_B2<DVRK@Q(KH>dg<>@8 zXiwgMBSv#*!US!!3fLDhmgoNG!?dLVoZj1tn@1<$A4~p??{_VWni5@P-K&`_{~Vn; zV&$=HF}s>7CrtU?j~_RYE!UEABL`xrl1M!Bu@9R{ooIetf2O-8py0pDO(mZIm95rH zW*bON)UCv`YMQiG`Gu=Cecn7V3pvSI@FdX{O6^s4?7@vUS5jLI%8rHGMSaa!+0L0p zB{6^r%olt2+W<~#ZNXz#CSu;Md6c~$5Zszs^TGE!_?;XwQ#MY+4||pySLeas*8N>f z02VW1K^sh7So@sj>bk6$?;d7xJoc6c<rz(oef<F1&<^Ckzu45^u#%F;^}i7v(%KqU zEzMMvt>;pP2>UhbiE}%iVIoTkI7k_jcS}@pOP{Ne?o5P_N|L7?%^|rBr7S5JUm2A5 zw!M{Q5IclS6te&by1u7a@MVpJzvDRAsBFDNjaebgmh?hCb$tR#tef!g%)fDQ>0U=> z&DD)v>{_)yCaz~~>^fefy6f5=eDJ|PRQE+RpNSoBp(p3fsq`~*PU_P?fxJBz*tj!* zk!PeLsSWoHFWbd(i949O%t`Ip2_xDLMJbcY_b~5RF<<Q@P-yU>!MEeAcBdi5m4t$d zB2t>1{+)5}z*~$-A~Qvl>t_@x7}p$DC6Y6G6iDs{PnSQ?zP%5Dj1guxy~WLxS1lhN zr`nOhUQeSekb<W_a^uaf189{AjK3)XO*8i5wyz$;=Ay0Ue$mWZ)nh{-mt#zapVj+X z;cLgl4i-z6SLz;`MA9r{(PUr#jI!;~>$$;e;~wmKV<F?mB}nMs8kv{&g^LA6ckJ6m zbEL>P4Voon5Nx?LDIy50s6pYxBvP${6QZsIjZ~(vAWQaIxKluK)p(A?qD>Hi9=h_) zp(s#%3pnY4TD7@?;Ckq+38H6P3;ujv0+Leq7;u*}f>e9Y*@0eEeI;*PoFfizk9n54 z)vV^n@zl3ba@N0z&lf3JBC!@DfVKHdX|SGG+<4^LEVLds3_JhD9rpYM7w^`6NIj<; zvQExHc4`)b6$i^+v1OT6$%*_~0AlG?8HR(JJZu%PGaBX(CewXdDSvfLcpnk7J>)Yl zE%)R7FH7+HmwpBnfU^f!@$lt|$oH?u%~SplYp4Oo0^D%-ByN<`RX0W-zRH2;n8;vG zkFj^_!<r9t>A)+2tPS9|KVN~h-X!GQITTH3C(Az0{pSMgd|@Vvmu)vxYl@IZ7~6_s z6@9k}`>3Q<Ef^z_vW$+H7bf}e<syNv5rmp?JMz9hE{ZP~x^c_%Zv5Ye;taq8mpL&0 z#zZXHHybxi{w>X$jWGo`+=p1o;FwUb2A`SAy+$#j-ta*6Ec0p2_8>v#WRJDu!V7yK zrFS;=PF#udA9pjJyw{W<OdOnp_^vDv&S;g)D*aAV9v6Xh0{uvc5(``mLE0?=ETH>T z9=1Z7a}qCa+~q*O4i@8fl+Sz?7u9F;16Z;#l+ih6Aa_ih6OR^I<ru%{RlK?UW3o?1 zykhKqlENsvILVQ~ejiwLk@FGl>zDvc-3K|D7Gw})X~C5-gJ}Cw<MDE!C{pw14}F+L zFWJrKrlb2ELs7D17xsO--XsB*|G106jwGniO590V^kLgf{8{xX6<=0OYwhIM8vJrm z$aTu!>Oe+{1-teI@zys1ZiNXF)BxWz4VRuNZH2k|^f;W{*<u0)_fPt#@q>#cORmSd zi8Xgf%Rxrv)|XgZKPJ5t1vgEBNsjw?HdkTYOu@sBN1h`mAKLl<!+JN)9%#d5r?o)) zJF`PxuX)>0zLG`MSRz<qM(y0E&0@H(sKNY%UgaH{5>%rvu-}EHL9;!^_{w=o+h!J= z!)uQn;6j(yLHwA%5_f(33FFIiD6f6Bi!mQ|BsG62vu;$IVTLnEL5xL<i59JnNUp7C z{i<7@_ktVUjVmt}9jxve;$BM4PNniYtcMln40fPbJ1Y`6Ddo&ADPs|q^34UIf-x+& zDAt{E1%m_(L(1h@z~I26?|QLfD>tqs(Sed_MUNa7RO{eCmsZ@YW-DNrZwWqG^OXtr zRZt_B14Cv^Lp7OjU7K{kE2E!AB8#0$*@{Jr8Nlj{l%hAk_Tz8=@tgQ)EIN3&YY1p% zU21W)Z*IXLMso&swWC8zE7IecaUt!Q4r6;-9JiCQf8tkG?iXU>K{6BW@{5B=jHlbt zR)KtX9uwu)F=1d4=IvOFt&I4{jUqYQkicquGVN?+QO}Qj97CG-GtQaAjXRp}VhV6r zi`K?3`Dp7>XCs=<M;@!VvK|6k+euqAwb0XKH7qy4oUk9bXZXo$ohS?D;`g(k!BD2T zdg;m9Sg;kFing0<O@;VGIZCk&Zy<}jM?<|9JHD;ob-1+;bG2i{n!|mKi3|>3OcbRF zzV~9AsYs_hC4~ZyM$>)uP%EHzoJZ<hvLWPI6Y!l{GINuC@%ZgnPxEFrQ+wpXlxtC7 zTKR~zRvhZh;s1*Lk7P>E4LyEt(tHnpboAfG#14+UttPX1x&^;uX$5TvQyq<?-K1N| zWRr;{E~1BCi^B*^MQ`G0j>sg@YiY!F^&!`1Z1S#YJI(Kg++kwGGLvH6Vh*r6C<Um0 zM+@#_hM^`~TK2JQy1f8bu9TeshfJJf+bIP@nlYL1iBs=4`C8!}iLsui1_4-|lrMP< z(?{<(-)2k_vF~HncyEacEjBBa8Kun}%l;^QnZjRU`_u3T&^5h76+d}wXQ{yeRyRe- zSB$XXR+dr_>poVKYABfT<S>ht5*6v5jO~;j{%Qg@fu5=-PrVN(^Jf8KtyERLdxNS# znpl}J*N$QuEUD+kiQErtsHkc;8veZ$EOT!vR?6u*77RsfImMYoaPK!+l?@H9X0<^9 z)(u3p$``(Nqz#EK3&u00hdFioHC`Rl&`o_1z*=O|oQ<}8l-Y?CD#_d@Pkn&N@C{G7 z;W=$k79GBc=2GnX(o?N?{2IIQK#8)CW(#T2bSMyDrLQ)G##+;OM5$dUYhN6toeoD2 zT=l2HDL8V_QoKeoh@aiWfj_?Q!>X+eaMOfo=%xjx9S30wmWjlV8obGAq8u^pX80|$ zO)}#73#u`8WE^P_M}>kTJE2rlC91vfD+kVH4GvNA(Xf?UGuovl7M)F287p6J<k%u# z3s|KLjT>+i{ygHhNaxS*RF@DKc}_#TKI#B#5CT;NR8(j3_k5%$hhnh}K~<t&g#}ft zMPW@vmQ>TZp<Iz#I7$~%F4#+C$v1PavRXsgx#r@B`EyiRbYwq7wW6sDSc9W4gYC*v zRGnyr@nY%T)M6Uc)q*Z`RZ6+D@&_zso^))|mYdZ!8=E+?Uv+&gnXZZgN&vjE*X6jT z+a*S0KH4m~YX4&zY^Zwi+P)9_kY_U1tK28m#!}Ki`19Icr|NN{UU7x-H>)C##c&QC zBPHw8bzhhtw5o4Dm98%hS<aKw+6*-m+l}r=vEzmo0~*VbTB86s+(~J=%G{X3&1(AX zh4tJuFWa@Q6s;fgxc&?qZa>dvD%XbZqwt?(@gsBoici)~Ha{>K{;syqV)csQ%Izu5 zSU;;Xq(y(jm1OTWme!~M)}%<&70`+ZX)p1A_{%G*;4YRPb~her^2FxFnlC)Xiu+ho zTGtdcM>d&D<*euNyID`;OIF5_W?h?rgHl-qY%<ev2Q%b&Y3H$KleZ{X*_@57H9CO9 z6C}!2LY%TgzF!x>WK#8l)!bvOy<a>i6g&tY9b&~{U{x$l-m_nv#s~usHt9JB4&DDs zik85dz*0-^ulk><4yy_|@>hq0{F1Fou9u5ZskqwPds^!uIJ@2H#*b{_Lh%yVD(h$e zJ&yH@MhkFwVnlt0MRNxA<5=_8Fzb=BdIfFheT?}^GuAO$463I!<RsRpqT<%EMM&mW zrQGm!!_T5xxh_}at;NS=*V>V<9TQ<{bkWpNL9_nc7BiebxY0MOI}`2G2s%A-jffS8 z$5ZvW(E}XWVJTh$TY(Ezbl=RKCxs=U&2Gw$Y@NYhFy)49v2z_0O%sciT;9i>5~}Kx z$70@6l9b`73hvt3D7mW=!Ai0DskEOIz>$+mE=mO_M7{c4Y*@h7H})LP@DS^jC=kf1 z@*{A6itU)$!S$UiBX0?4tedDapdE$BNh1xMXvgymoB;TEMweqd0q_ZckMkKg&WCq` zf=>W^oX@~<KD-kYd;;L(d<Ks5;hmu1696CQGjN;_@BagS#D{4s?|{_+0000<MNUMn GLSTX*ju5Q? literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-60@2x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-60@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..05e0812b479d4a598d224ef291f846cdbfac4171 GIT binary patch literal 13360 zcmV-0G|$V4P)<h;3K|Lk000e1NJLTq004LZ004Lh1^@s6Ib=4{000CIX+uL$YePpv zZ)|UJQ*dEpWk+RhWpZg_Qb$4n062|}Rb6NtRTMs(xw9)I&V$sZrjic+HI%e$QqhFk z=>BE1ZQLxAY_vg;$?V;oX(lt{{G@3qJ`_O^!KmPq;Qw2}Cn0L9?Tam<v{0f1gDCjW z`bVMC7YXaRGqbysxNE)3-1+95?|$drbMD>?khm;cmfj@-EE=vY<<sJ`$L7SuI&{H( z&<%aiEh~<dDwQSy8{@*i+U@Tk#@^TVxA*^N>#k5o0f^m&*sM6pBI0EL{uRZtU4R5Z z`^X8`V)zNfJ8YaF;u6EP09P2E5Ad?jnUOMxUqvh^s*L``+lU9}BlcPZ2XpY-jyyG} zttleQMaed+noc9ry@UIIwng1*#M^^UkFzj+6yF25_LnMhmf?pGpH<}CbcnAmX|u%; z|7E#p3GpKUUAw%6atiT2#A8)^yd3Cssj4^8z$>TJnP(8+gLrkpJj%xIMEtceUz`ec zeo~wa<_{hK;NmJRuzL3+9<WVmDu~OCS7<iJ@`(7j<`!lGeeNx1X*$=?Ii+TbK`icz z<MI(!r#{42sh*cY{a-D&6vibzhF+WubjUDu{Pp^FSDl#%;*vQR3mS|iFIKhjLdbtt zwI`$yU$%6AkK)|OP1}>o0iVC08s$)vACv7|KExH6jmbd4gn8^0FkllzkRT6fd|P0n zrwSVAXrbt(XrcJk;OyVRDf#{Yw^VBW$m{6QFhZvPBk<6w!tZERBfJcLd1$M3&<SR6 zBh)cTFG-Sv_#7gW<S-c_qacze$x~#EWYIcG4mHP?B6DQ(xzW^l0V7hMH;cTB=yyTJ z{%2&E;Iz-hN}o3n*w5I{Ys!_^ZeBWlZdZ%DMpmD@)^q7}Bxf3GEp*7*)SYtA|H5DA z*RWsbH(Ct-2Yv&8>)TehHS09YRtkN(Z(GDi^F2;vKBX;HY+<vbqFFUo`T`%z0DZZ5 zy9j3nTm0nr$v={7$@h{UCV%7J<UZlfbDwgbao>Q*UEnTqUvgh@A9J5aYSek}G;8j! zqp=F+X_rylpF&#LEj%b>g+0Q<!emQN=oN;931KgKb~mdNjTc?J2FI{(WUGCwfETHA z>~5^H*5N-?MwSLAe5T{?GXqX;<AftgKN%v0ZM%Ae?e(U1eoH;tuYtyM@oYQ=VtikG zG(HqR!f=Bb-;2Ic?D5oc>9WfX;*4pXw6&V*io?m|<6;W0GAb4f<-njQ>$>Q>9MPr@ zwU=n+0I+*9IKpp9{{0u*d8K7@p9VPmCp-6AwmA>rtOL;dXv;Q$XXCx^0IWWyc=l3w zC&Xgk0yx!!!@*Zi8qcdA>-AfBZYACT*nGWS|NH%Vee(m<-vGFv{{#Oecnig2*2@3@ z061k>NoGw=04e|g00;m9hiL!=000010000Q0000000N)_00aO4009610C=DS00aO4 z009610C)fZ001j0chmp?FPTY1K~#7F?R^J))z$g_b9Z(^NJ5xlgX}3o1T83vxJT8x z^>3|pVBNLVs@49gt<+hmt6Fy*Z9zdrWg|mm$=-V;Av?MI|2*gB!X+e-o7_O;!-1Q- zzT=$poOi$Hy_Ukl!XQqx<8}tD$L+{Y49v{H34o9Dg>VAk696CQGjN;_?*s*(0Qfkc zf#ZC5Cn)#?z{mLv9OuJ3LBS^gKF(+0I3J$<xEr6v0$9nIELQ&Kvz6~n<8%0>an4qH zXafNR`9Og0gM1DiU!L2aHoyYYW`l(ffg1GrfU+_K3JVb^*oR<#9-j*k<Yz&zmmm^A zH6CkmI$=pjgf%S<mh^O3n>2wnC6%8gm}}}-b3L8&69)aK2e2s9!EO^&0q5Vg75+7A z;9Ip4zIAKi-?1HmygUR;O977uLBGEeph(KBBxNoTvp8HXSP}_#Mh0vxTfyF`GwfYY z;&Ufhvzx;b9}n<4W|92Fz_$EkqDgi;EPRL}ean}@Gj}$;i@t|{(<TIpiVOgTGApSW zqHaBE(*&9xqFOBoQLWtuYib&7?b^fHe*hdqhQiUUJ1nH~pw|<+Uu~{^jE`yj0E@~< zVZOC%Q1R)<@XVMF|CTKXk~#%A^r$V6(N1<4aI${&!Pc%FT&MpGaTi?zTkAFmR#ZfL z#iM?F;|5s3ks{0Ae+OkRy=YjkWTyf3s81DdNT9W_Y%N<NaoleZH}<?n&$b&czyg=l zS^DfVD0}4}l)H|Q@^dVJt$I%Z&CinVz84ACUXP&LUG<1Y^S;qKI>ZtyM7giNV%Vc7 zxzRK(Jegpn&-?}MFDA2pagC;HRXfr+0p<is=9a$rLP*Xwl#H!98_~R%jZMX@<e9(1 zzk6rn;VxCi&?o`6*z72O?;Qm4^Be8NnR(<w^l#aOicdbG2%&D!2wUR=n3NINyT@qD zMxknilNQ+}0qg$qO9YAw8%~>#ykV5D8y&zheZ-yvd-gPL>J3jcbp!v_E%0yLc<i+M za9^r<Zgc?4St0L~@fuar;YRln^#f_qfxUY}zVAlX!Nv!$Cak>tr{({Z7tBXrcOz_# z4`5D~C5~oCW7M2$0#JRm(@t-M?dS#@7`n5B!*^WtLF50G%OIlBJ!osyIuuZd__)!& z)PkhVZq3S~AG<PI71>z}?RPy)tWtwk@I%K{8F%D4F?`+d01H$*LwO!Q{CSN26jxBb z21uoL*wf-+OCh!Ln4nJs=YM*M?47%C!kYaw6fFiP<fFE?ZN~rv!<D9yG1^=VTF_ta z-U&+uAO2DVt#JstvJs4H$?qAK4A7Ttz>XoJRW8+_09zc?Fbm63x?n5Hmh6CcPYE6L zoCHy>%?fLx6Ry^2NF3N2@jV%q<7c7*Yi1^#!$+X}-FHHvx+<M+OmC$Ox<;Q3OLB53 z_+TZlzGB#Sz7NNaf5Td|3>I&JR<5DspgkFZq^|HazmSj12zVwJM#BXy8pan*ktDE6 z7j8qrq!sY(Ee-|QZTf-_HE}2cZP*$=i|dk!CKvUBvt<ewHEm&P(goLF-MF0{1lQKK zEz;ij7c8l%9Ger?{5gnQc|WZC=7+}0&q8C?xW%IMph8B<4J4lgPuIuc%Q`ni&6<}O zw+2zN1a9HvRmgp70etzT9JgY*yj2)n4MO7;`zDp^yNXqNu;<0us92jzIUOY1YmbCq z{W_FYQP)9hG8NxdaDZSa5@a6A?%-!8?yF<!(zH0)|HRwJ8ID6i4BM{%A%5XSuof&J zhhmZdSuzL1t5+^+J?p)woZnkZ)*$ZtU%;_tLg@Iq^y3KU#GHaHP8&*QZA9LCKah$w zpzz?1&=Y<g^aWsV5|6B34}&9{EYBZA(QodA`|GJ8&H6}}Q2bWF5mY%$lzwALP9b&i z!Soyxk<xt_un(3{CKfTZr?}W;hM0vwr-g|z%g=m-CQ~l{l1q{N*c0q0#ZAFN#4or2 z7SBEc7==bHrHe{fdH?s|&l<zN(?pD6iz&dOME8~gQsS(TtmO)iwgtU@xH@DY>y{y~ zCdI?IVFL<oxE8^EoHzn-NE0QIGDRGc-S)2C;OO0t&plvmonvyXEb&aqF&w1wY{Mm) zf>TBZ#lC#_H*bV*#Zvf|EP`+Ks*qS9$Yw!Qw?Jw0TB+%$z3~?BN!_7r7r{N3@^*QM zIuGgO5k3fzyCk$h*`O&@z*>b^_z_O2?bopbm=hsQSZvn4A<wYh+IFJqaniVxhqXic z<$VFC3*{fYhvG*cCaWiF3pY`#$88ej9D@c^(HRRz|G}K_R9JnxVJ%(-YvBr5O4h<s zz8w}HbF`%BsFA{g_9O)3TTu>nMliKIpSvPpNr!(|F1&MRFbwz^ygw{5)NOG|j#g5& zSUT^W^4IZjopCn3SmlWO;W{c+pVW`dl5%}5E=EP4x7bfowNX+`Z|n6ZW&n#dOQ9<K zY$buHhSH+!rr34*WxbJnT1VnSR(<bpIO$Uit5&LvwP{ntopUZ+ms|yVhaA|-R>HP@ zB5ZrUf=!yMn-ni|law8#PGIDol}3X^u7IYAVxb5y@A-8gE(?LwKJaIchQGx*@H^YX z_u~pw{QGSN6Q&qeE_>Io=F6`@^23i22OFGgAA@uC<MjhKJU0P1Dtf&PU+e41s>{Nk z*6TSY0E_*3wiaObb2BO5BvYbi&4-MFdCFQSnZF!@xRaVQxo!(t^)>MC+==*$FGc)K zzlOa{7Hm5w!m;sn*z#sj{?W!}=7-FXKx$w3Q+gth(9YPNa3&K3h4cujk1X9&2&?SV zvh`dLOG)jEVJ%%lN+-*AB~!B<1z)?HC>KY;yLuhU{{Af7Qzn~C%e2?ugr#Xq*tdT~ z>b)j(O;l3&Ap?ox11`K^Tnm&9naV!22ra}YPOt9Jm;fwoc<(FUp?n!9j9PK5nyA>( zED6nS8wOjmCZwi+lZq!J<z)hzKMSs<_Y#=zxuBSBnbHfs?DOHv9ECt)XSxn)ZjpQ~ z76NJsz`LsmzT6VNx4@p2Y#!vvv|4zKoDIGL*os%cws#8byCzb@UCHxk$ETkPPw&5w zqPw8rrfZOJ&2?~{buKKqixEG6EI9?EUc7(I8d<fs?Jwc(@f@kR{`PUb0T!TTi??I% zYx9il8?%8{UP$sdzI!ud+&IXH!9Z?4Y?(=jpE;azb~S-afT!*MgQwHOd`(+4Na_qo z))H7Qyg->31^-!Q94!GkS=g)z4kVr22B~Aa5gRT@V=9S_6DW&=oM11Us~&`7+k2d3 zH~dY9pnS*|3=3|9twk%c_JWW(w2zC+7VC5!El4{RuFnxj8_2P6JoRYx<13PHZXb%K zt~K*nkA75ts@ODLn*LG`+-n$)Bm1>BC+n)nCkUh*xdRELbJGM;^bEd~Y^9AWa3v+^ z70Y{f5sGJTGNMDGL=W}3kbU0w@zT(7=I*3oGnw>-@BJbKt`sY>b!+)H-meh0oVI-L zFyEVF#qwkBYGlW$5IQ$J6B>u<TiyTE3t&UNOLxG%i4!g}B!*2ku)xi{eh`{JbQa?K z<`4{08%-4Xa{U=Uqr7zULAz0(lO-Eq)d#X+^{srxZj`fsR$k{Iy@20aUCh{=zXhI+ z?7PHDSZ^R;(y+NYNU7y~c;IU`20>?2b8jbEzP<I;@DE=IPq(K+=NYY6H;z%`!nN<2 zV#JV94(oB*dI^u9+mGUz8|rcU8crqU3Y5$nhrrb)0j1-gK_GW8W#1UcBm%*AcYl_q zO;0-Vx6!A23H)h8h!Lrm3oSs3N5BU6y4?MkA95#gA5Q=kH0d1lhlBE7tUE|5_Gg}j z@_z4{NtXHKZFL<FW>CRu!#7*z;9EZ0H))G2yWh&S6%WU<JNP|0K-iQz<Yv)+z|K+r zIyO%*IzY5%M;>2i8EhzI`7Z38Fqdpg{4hpM@{mr3j2i|ap=&w{#@z|e*Hif!y-Z0- zNPTGnoC5}u8&g}S%g-oMWX%?<58mCyD4eo7#8D)F%e|Dr1UpQfRlCT0*^((k#kx6! zxXzhK8Qs-Hxq?B0O~A~^D2JVNvP|1L7vsKp6dtj1cJqpE7vRAm_rS5~1vq}ZhxZY^ z#A+^h1L^~1L%uQ!WJvT>9l(*_*PVhnIVJNpbKx@dSDlCH$oH=H2(jk$i+UoVS999F z_YmB#2`o(<wjkY#o|!Y?96SV&KUpkPUvPo>_LgDK%X8r)$cE+WbA4G8xaNBc{6z;e z)#B+Jj3+MZmZ9{bap}lTu54CL_O}Gs<M$%L5l?)Bcz4C8NU+D_Hz(f#Z`l?&)>CfE z2OX0}F~g{oWBa>sr}pO+rCUVb>LfVjWA^SYLB;AlF_pd2n3D$OAbC_5l#ne~eDX1z zr_e9myHChpEQ-s?A<_pXUPD$AdeO9XA#f>Mr9GR+;lK^gRrpvwOXf=^m(1Q+?YMGM zT2VUqQ0}Y1!0bNgp3w!bE`1m8t@t-AC;gGEeH2B*fdv!3MO~kRRwwMcCz+UXUD<z~ z09GuweECiUN)E&Rq8ydNhK}aRX!7&^aDVn0cQpJ1whkST{Kr2b?y}2aYu6SD*WZY^ zF=I`VTjb^CT#=(i{i=84;&pG97wq6g<e{>4NvAQm{G{`dliCVbb-M_UopLvt#HC{V zf(e+vXElO7pQVE$iwjV$#uzjzkCw7cbmB}i;;1fHtP_jYgqBnO8Y-#FU8_5X)RuN( zZ=h%oN}m2RDae83-#^0iomQ|mYX;}AQ%!Wp#>sQof@c0je9DsX`bmAU0JpMV#v)*U zOkTDkOXL_qzE7YY@W_yHDDzez-X2G}?7-aveu>}BdJ0d?`x{;v^CHqZ-Vev}ySdn? zna85>-uB%SsYqT{r>jK`uqM*8vk0DT1u>gcEtrJ9Es@Zt6^efQfQcX_-gY~jBTnDH zMN@uY2YlFF5X5H-0$9H@h_pmtWM3QlceNqDM>Z;GD<7^&z7wq@_B*~;3j>gQ`V4r! z{o2TWd-ooQJMRJnSqZ=uaFSK~Q9(uTqE2UH{;tLNX!U3K*Rr>9N1vM!*#3bDAA&5l z-i?6~TmD?K=^ZrHqUR1#Ytix#7f)M{{0|n#B&Z;5R7z6z-6LVyyA}o4UPE@=9%*mB zZM0?+l;<IGI0@AI-|%7MF3MsOmbhpfL$9};XUCPNTCnZ;IiZ9B$DyoRZqKA4IY#L! znX{={87mz?3oY}OVJPKx)zX(<p!r1SiDWrr%#J>Nk@C#n$WfZ}eaI_jr}t}n$u3;; zIpfx3<NrGM6?7_F0Q<tr$>E}i3m<MJP;0MXyx7<5{HSI8p)+x~8|gdFs<JL(Wev#O zNnk#fvvmsP?yH7k6K=X0R@Ti3gKOrOtoXVA`LStt5D9c(xj1+6awHMt7bf~JcfA$a zSM;Lx%MYu_PctNb7S}O@ZqMw{Nma%v9l+i+0qIu^g!`*6Q1<dm#yU{>2Bq<;#DjP7 z58Tc=p85^}SEtx~bc?p7@^y8$i?O>j7w;^855Z=PMx_s8Kd7U`pjpT*Z22>J&*<Tb z?hFn}ZbQ%Z*s*7^{G{QX%;dSbd*4AD*LB93bPc)<h!TOC%k6nVEZY<?6dO5b`d(Q% zPk-n^eo`7T&hJLkO>E)Nrq4ymhcq6pAcPb=OYtrgKlwyx5$NI(O<;TG&x1dg3tX&6 zStA7BP50;pokpW`dV5UX@D0|N>_xE64LqcpdqrHYwl9NJwoDojGc(!K+MZ^Pi%JG- z<@$0<;V+;mpjBMYCaQ6@p-k(TiQ<RHGuB#$IHtkalM_)^P>%P%^JDgk0Ln=SV#(f0 zZdvuVV&9ud+0T6F#uL}IL(<wj+UQ$qEkdLNq>Sv0gzgzA_|+{4?A}%Vo?k8k6?ZAV z?`{(pwy;8v>-5tRcm9RQOv=Iq9Y^D-`G3dcbyILhkMo(OkwZ`04q{SIg^LapYw3EE zejAK$&4p8YE&bpnT6N~Cz9*<&Dp)~JNd8p)I_mdSdg6PxWVs{mCY(MEcFNxP(@sNi zp&JkU(}%x);>W_ZL9Ey!>aCtC!}p9MXP){)03XcsBm2@G#^gGLTC1UKf$M6YP7S^f zN+(Q!XV%Q>!PSk#O2{re-!qwT#gFFL;y*ls;@>?8Pk9N>Y=0Uu6PjY`=IJP~BvsnQ zF<{g3s4?}{TDq2fh>9koj8b!a0@x@<;hC++v&BX2w`VJO=aKDg-$qktI9$!M@YYve z%=$54WGxdiX%>YZN4k}&EB#}V7fbWvD35!GJX%$pA_qB12)J^y)2|u?@4`7KdyUlu zBGZCuxS`n#%*d8BdnNW&Oqzs}_ufX^jP@9i-3x2-H(*8HYFM(*sXz5r_Q66ipcu8- zbu=wH3MR!Vc|A%oP;GyVV<RKU1oYjrW*Ki(-0)M8R}{q5#gw(A$Y`6SMyVTk>U}rd zZJMFUXy#jS7sWv>f{N9LwDWtx5$8t9<Bu`RgYLj8a`&KfYj`7jx#IKBm^M^_VXX$y zd~##n_W7`+4PfM}S<Gay$vBCUx@r$FCr|9mPuUm?`72E~6vbh(8S7qIn`Oh<y*u{g zdXZ0%>nh?!@hi#Fpa0Z@CTDgw$pY&4{zl)q=13+{B7^=)?kj%sN%%HyAe*S8Swm$j zuwy$syLX^Zb`PX7<!ABkWvH+>W%^JTP2B$5*Y$-0AJ+0M)Xby1R_y^M*#;^YouL*j zjkDg3lk9AhZWJ2-HfBn+?_es;Ijju0*RoggVzEn*N)SPqP!i;S=lb#a4?v46`@qIr z>i~oNI!MkAjl<C*g;|>eO~z)$<j<)MM+6DD2(;%n=%z9$75zv}Vt^p~+3}W1+2*ma za0~K1BnE{vW1&q;4l6w<z-vaqLTfpdp=&DT#Y|KT@D+(VvQwD`!_D4|64~i@4mezB zLG!m=HkG+r=yCU6Y{$b_*l|iXnp%wdxe2x&non_n=SaotyotzUcBY&h&NgZ0ku*35 zO@A>EfsHFs`rNbBTS)c+=1DVKQ@|SS_{`BrdHNY7-g#HZ*>M<<m6z=}shim_m&6pF zoYdCHuh@s(Wi+RfyF|%UYr0WL(b6V1qwLjmSe4H?vf4FKtx{b=nrS@|=7Lv9&z_zD z-_q^8rq86q(1~d5+#5&R@Blql5{Xirs%xUyY0Cl_d$JYxUrMJuY*@M}i0S-n@%kY4 z@b|v9(R2Cw=N|m&`sQ%;YDM5f{m#63C|5xc1;4zPdC)Y8s3_U8v*8#x2(FQ%VDH(} z)VcK1=5<f|_ONnU3&NU~iiBU@V%(c{Ch@gNX<;HxyGwWT+HE=58U|6_z-s)AeOIJP ziFl6M&wuUj%xg++8D3cX>(|g-%2*0ZD_v149I6#*ZJJ>wUF>!kDe_O(+3}Cbe&e33 zP9lgx=dB80?n>rQGhE!ey%neTvf{RLnX7EK;KwZid`)F-bbn@ea5J0VA0c14I;?hj zw#ITdLS`1?&K?6h<-c;CJ>Shm@gE-ME{DaYVy!Cv98NYn`t?KN9e2UemkJe~Ghh%R zGoA_bWFz~^_i@_{l`P}3<cf@fwH`8Ynsa)_ECgAEP}^2}fO$njy&|2uYCw^_lAu)r z9NDwtxu&9PrAZ@@NA}@{G*a+GZ~Bax6nSd+b(p$~DVC-!3E&$(nj``}+FCK9rxm{* z%e?9oZl{R^*PKj!g89#J=UoWrsUzT?F%9Lvf5>>#RP0omv=aOdlFQ+nhMz0@ns_UN zA}myDs@w8AB?81L8IaRd?4iYBYsc$xnxj;X!nZl_%;=UJ9LD`wdw^>%gVlK{A6kg@ zZMudQ3ICg7D<aV_T9wzXpnu@Y@43a2^7KeemvWLo6?ouwBV$90#lJYo&rBbFS?!9~ z0%PLci_f9x&fDOoqeT>K{LZR}SsmMm><GUXdv<?5=@1!htF%?U1T|>bb9A<A<ZTXq zt%<9}ghZSa6~Gba)&FI9r5L-D9T#WNr1Bw1q+}^HSX+%+m(w{?vJ{LM($$LL-JJX7 z?x7tH`K9gMdmGs+U`_Q{r2>WfcIZh5f5N_Nr-j+k$Zynh{o}GU$62NM8Vy>&9Geyu zi<V-<KG(kqK>^B#sj#lsG)K%XK~8Rv6X&G4l--1~bTb3qH4uOSRa}en$&HAHH4pFZ z#3?5^&?2J(+nEhf?9PUZl**jRgZgdOQpsi{jAop7%m?tU+XU~-Z<zD-t*O&xST4^q z8nzCuuCdQbMlf4dIR+m!aWA7wdRB{Pz81|6E*P%7m^6+dN`<Y~04ow>OJ&%Mak`+$ zq^3dFY9M593=>LeQ%QZ1sdvGA<0@1JN7BQOGCb$Pd4sK(u{>Z*(Qtx<)`Ai$1!_tH z(5F4+Z4W1g64cBl<=9%f4qtCwfa!}C;K$rGxTgCh%(}Q4UTU{qi5T|JLYXLYBW~HP zu<iSfp}oOywipZl_1t)N!wpP0*hW8dCD`0fDm_6N8V7ABC8aBbsM^um9aH2f#zQlo zLIq>O%^7%b@E&QdRI-&qc2@IM!z!)SeDNT1f}n%N$Q{hjX3lnPTde^Wwb|1X;cS&^ zGAAt5RO{S$s&bN5kj2)FSqdx%SpLz6#x#-k8h62kunrwY`<4OzOYNBOxgWXoZfQ*^ zi=%rR8;19AU~m@)(o@T@v1An{ZC-#G^A=)V!6v5Elv97>z9ItJEHMMSO7~!E@lKr7 zv=i*y+G5RH$W+uG+?dvuyAh{yr@}Yp8Js}BHm$W71J_k&!O!Fa-{zh0%${zj+qZH> zsJcA+VPmQP#Jlc>vtNHWINx)3EHY`eF79?%p6f7~mzjx~Wc%FdC{I>>0p=p{GrKbA zqE;S7oVoS@6HVnRB@Sq1$}Q9x+{zP0!K&TiYSYF9)(x4GB^vox=`xf|y>N&XgSuEu zL`k4^Z|y{Kaw*nv@9)Q3=40lZh1gKA#n_$7uFx^cmy$ntY=@C1rRLVD4`IQsC3tnr z3mEEK2HS$G;mx@Q72W>|Tj3(Jv(TiwlAUUoqAhnCu;Ot}Xm7KX)b;Z*@LzQ$oie+* zL43IhL)yFd<l<}=5-S8%nzLlClH-*GAokpxUajEvPYJMe>v}d`+t>1PUgTg=bEK<A z1+dA!U`k8z%#9|Cv0mF%IAZU%eMmgNJ6yC!-IFGA1<}!Q+0R31vQl=~WHL2Nv!Gp; z6B`P*;+<7fFl*aFY~*W!C|0OR6{z7RIoOWgqz4AwhL@MTjqgZZ4%)L`%0>$*ILJA& zZ+n{=93!|N_wPuUduGUiAO%D9Gt@|R%7wD!&7yPr$x5)fd-05G=y9XX?%^-FsImZ? za;1l~=!bK-puX5Rof$}0T-fO>G*9FLC|Of~aGC$Dlw2QoTo{>d?pnJ)(dT55iYwOT zaYw@(-is4v%#hmMEb=ImBGV*+`A__@i!7$YEF&u;1>5QJGrU+rwz3Jt75VG9tKboA zXU2uH8EyQmIw7IrYVx|heCD6v=04!tzyAGx&GyC7<1xa&1eQfN5J+m+WXa`2$)3rg zUCYOj?;cnr;d_Ukxf;nLEnFb}bo#IRzt03XvdW0SyQo)*c*}BEQ$ci~TSiw_+?fs6 z_m`Ul_Byj@vSX#<mY+P4TXnie#h%so=;)m%$k`FsDTBV;eq8MQX`AX&U_!HU=wHfl zMRufINh8+=FeT3u(U2_b*~=^#Bd#KpI3FkO`9-f|N6Bs@+r)~i16Mb6bDPOcy{=@Q zRBJpwm;0BfoKzbe;Y}=_T<$Txm3xn_X8DARNX7J+RNHtrEeNt*TmAw#wS$2>9m37{ zY-|B8JS+NV^+ZpC8>CCon)fXi0;ye^udZ!0>H`Zme1473yoS!N=<}M{hZT+N4PP@V z79BoGASLu|W%l*ta|@<NiQ@D&98y(>3*Y>z7$Z3PURt=bbrZz1CYGy1Q#e^k#~Dv$ zh%sBA*d4incUvKgr&Yk2(*(98$~F3rm9@B>8nN*Zg*#Erv$7h8wj6-#x?hU>W;}sy zRIK9cl`OZK<5lL!mNyg5b)@$0<0+4SU_Fm52Z2}hv>;i%EpIvjW8wo#C)t^!y_bIP zwL5}nPP49Ew%2I+PKt~`mq$_FZXD}`tc0CObCT~?RueE$A=$?Qo{N<)4%|kcSJu(; zHys9dx4*DjLBGQ+z5}OL_o_|+>p}uqAT_(4DW(gznxbdQ_E0F!*!f!Y+zR5%N?}S& zQ@A>@dL5%VDqrZJvz)Y#;?e--FQt&>u|vAsQ7~--_Wfr$Dcr|`XiT8H@nppDd{J;9 zf*n>j5K*dpzz+|-3-7J^55Czv`|#j~FG9BL-0&<}?=V#Ke1X++F4pMyh?w;7vF4ed zQ^w0|vD1=Rw<BOudAIHj8e3di|5@~Zf3a}}T2aaBLe1UTlvM&$DWKh5W;djbRSAqT zM-$D;5)#@EZ0<>}667ZK083B!T3!inbM{3g4{PKs2X(C4H+2SBR}*_yk+b9x9T<*l z3m<Dys!W1HidMQF?HLJFWLTeyKuc81-QXd$uHML~5AE9-jQl9y>fv87@Ic>W(bsE@ zk*i(z?#<jIG-nf>7x$vFl4)4(vfNdW8B$%7>}^VbXKkBr6sww!JM>%uN&hiru&3j_ zoZysD>A?sQanLzbr~+xEC?03Cdhq@Xzsb{1p!hCjpy!RR{5Z3BJigz(6!%Sk0)v|O z#i*Q9F^rt01p&7twu2|3J;9^>>?<<Kbk?#BMz#hWO+qzAn5-x6Vj@RTm_!Hlv+_;7 z05;c<37{wwn>{m;G2SG;(xmY(zjM$F5TtUlBR_~ajQo7V2+xlMwS*!`9xBaa2`9$P zXQf|K$@La;2wO6@hf;3K<hZ5JRk&x`<J6ozM#(Zai1;H-dVRqrJoz2Ba!N+m1W?2| z`(Kh(S}L}~wd^)dto+b5s3xSOU}771I^4}QAu5-%h1`gT%MUKIE|IuctwCdp%UqHM zKWE26a+jt!xp^O)*>*SvH0x#dH2LjRE>$QdrB7%A414BWid)r#YWI(eFQV3>BTqiu zYsC)A>7|>$CV;P)?YMAlfX)gIo`5QeE<FG8O0~(d;I(_=;G3};c^@uCLhlwxIioXK zdJ~E%p1`@3<~*Oa?DLD>z_PuojJ<of`&a!=8ty?_bhO(%Ir%;&(Rn)k-c<21p*wa> zL6PN~1Ni%A)Sx#7@$?OG=-6R1elhWGW5$ISnnZ|)nz#ZHIVmkMqV-^$kuw}UGMG2U z@u`0e(P~(#^}CgJ9W190`L@4%aqnwBe8H$tQCVn}D`zSUuI?f#-oPy>ljeBQbVNHN zr$d@G7ehP`4iSp6HHS9uZziXqCgZT9rv2<^Q53(Zt&(jDm?mUc`HTuK+Ze=P1~^9b zvE#L+AEVICFlfX;WkyL!6nEKDv;(g%`v5mgxf>60<617WKeT`wqQx9wfh+&<xCu;O z<)8(qJ`?5E)I{y?e(S@o3J02=%bf{i&-ouMp(~Rtpz=hq;0?@kn!fcrPEuVagGmLP z@XGa4Q&$f2xs8Qc-ZiEbm#8^ToJjknp8qc^0g*M|ac&%z<SxOK4bvIms9smliD7RW zg%|#}?koK2s|V>~-P|A`#}r_Jxnx5Se|X1dWUPR#O_L1UnGd}BnFq=JS|I6^cBUMn z${!gj;CwRh#yqD2l(Fba1Yy+X^5z&pLWpa9{2>RD0xez^Z1ETKLd<aFrDQNX^|2q@ za)Y>TlpS5$c<{`EH_Rq9g$<9?bc{T3YxixSLiR`ODa$h~{7C0T^L;%=eDG~F=~9;d z@+r$IQR^4$jizZaOq>_M)J5Exa0%U)G_B+kEu6~gb0ih5_B2<DVRK@Q(KH>dg<>@8 zXiwgMBSv#*!US!!3fLDhmgoNG!?dLVoZj1tn@1<$A4~p??{_VWni5@P-K&`_{~Vn; zV&$=HF}s>7CrtU?j~_RYE!UEABL`xrl1M!Bu@9R{ooIetf2O-8py0pDO(mZIm95rH zW*bON)UCv`YMQiG`Gu=Cecn7V3pvSI@FdX{O6^s4?7@vUS5jLI%8rHGMSaa!+0L0p zB{6^r%olt2+W<~#ZNXz#CSu;Md6c~$5Zszs^TGE!_?;XwQ#MY+4||pySLeas*8N>f z02VW1K^sh7So@sj>bk6$?;d7xJoc6c<rz(oef<F1&<^Ckzu45^u#%F;^}i7v(%KqU zEzMMvt>;pP2>UhbiE}%iVIoTkI7k_jcS}@pOP{Ne?o5P_N|L7?%^|rBr7S5JUm2A5 zw!M{Q5IclS6te&by1u7a@MVpJzvDRAsBFDNjaebgmh?hCb$tR#tef!g%)fDQ>0U=> z&DD)v>{_)yCaz~~>^fefy6f5=eDJ|PRQE+RpNSoBp(p3fsq`~*PU_P?fxJBz*tj!* zk!PeLsSWoHFWbd(i949O%t`Ip2_xDLMJbcY_b~5RF<<Q@P-yU>!MEeAcBdi5m4t$d zB2t>1{+)5}z*~$-A~Qvl>t_@x7}p$DC6Y6G6iDs{PnSQ?zP%5Dj1guxy~WLxS1lhN zr`nOhUQeSekb<W_a^uaf189{AjK3)XO*8i5wyz$;=Ay0Ue$mWZ)nh{-mt#zapVj+X z;cLgl4i-z6SLz;`MA9r{(PUr#jI!;~>$$;e;~wmKV<F?mB}nMs8kv{&g^LA6ckJ6m zbEL>P4Voon5Nx?LDIy50s6pYxBvP${6QZsIjZ~(vAWQaIxKluK)p(A?qD>Hi9=h_) zp(s#%3pnY4TD7@?;Ckq+38H6P3;ujv0+Leq7;u*}f>e9Y*@0eEeI;*PoFfizk9n54 z)vV^n@zl3ba@N0z&lf3JBC!@DfVKHdX|SGG+<4^LEVLds3_JhD9rpYM7w^`6NIj<; zvQExHc4`)b6$i^+v1OT6$%*_~0AlG?8HR(JJZu%PGaBX(CewXdDSvfLcpnk7J>)Yl zE%)R7FH7+HmwpBnfU^f!@$lt|$oH?u%~SplYp4Oo0^D%-ByN<`RX0W-zRH2;n8;vG zkFj^_!<r9t>A)+2tPS9|KVN~h-X!GQITTH3C(Az0{pSMgd|@Vvmu)vxYl@IZ7~6_s z6@9k}`>3Q<Ef^z_vW$+H7bf}e<syNv5rmp?JMz9hE{ZP~x^c_%Zv5Ye;taq8mpL&0 z#zZXHHybxi{w>X$jWGo`+=p1o;FwUb2A`SAy+$#j-ta*6Ec0p2_8>v#WRJDu!V7yK zrFS;=PF#udA9pjJyw{W<OdOnp_^vDv&S;g)D*aAV9v6Xh0{uvc5(``mLE0?=ETH>T z9=1Z7a}qCa+~q*O4i@8fl+Sz?7u9F;16Z;#l+ih6Aa_ih6OR^I<ru%{RlK?UW3o?1 zykhKqlENsvILVQ~ejiwLk@FGl>zDvc-3K|D7Gw})X~C5-gJ}Cw<MDE!C{pw14}F+L zFWJrKrlb2ELs7D17xsO--XsB*|G106jwGniO590V^kLgf{8{xX6<=0OYwhIM8vJrm z$aTu!>Oe+{1-teI@zys1ZiNXF)BxWz4VRuNZH2k|^f;W{*<u0)_fPt#@q>#cORmSd zi8Xgf%Rxrv)|XgZKPJ5t1vgEBNsjw?HdkTYOu@sBN1h`mAKLl<!+JN)9%#d5r?o)) zJF`PxuX)>0zLG`MSRz<qM(y0E&0@H(sKNY%UgaH{5>%rvu-}EHL9;!^_{w=o+h!J= z!)uQn;6j(yLHwA%5_f(33FFIiD6f6Bi!mQ|BsG62vu;$IVTLnEL5xL<i59JnNUp7C z{i<7@_ktVUjVmt}9jxve;$BM4PNniYtcMln40fPbJ1Y`6Ddo&ADPs|q^34UIf-x+& zDAt{E1%m_(L(1h@z~I26?|QLfD>tqs(Sed_MUNa7RO{eCmsZ@YW-DNrZwWqG^OXtr zRZt_B14Cv^Lp7OjU7K{kE2E!AB8#0$*@{Jr8Nlj{l%hAk_Tz8=@tgQ)EIN3&YY1p% zU21W)Z*IXLMso&swWC8zE7IecaUt!Q4r6;-9JiCQf8tkG?iXU>K{6BW@{5B=jHlbt zR)KtX9uwu)F=1d4=IvOFt&I4{jUqYQkicquGVN?+QO}Qj97CG-GtQaAjXRp}VhV6r zi`K?3`Dp7>XCs=<M;@!VvK|6k+euqAwb0XKH7qy4oUk9bXZXo$ohS?D;`g(k!BD2T zdg;m9Sg;kFing0<O@;VGIZCk&Zy<}jM?<|9JHD;ob-1+;bG2i{n!|mKi3|>3OcbRF zzV~9AsYs_hC4~ZyM$>)uP%EHzoJZ<hvLWPI6Y!l{GINuC@%ZgnPxEFrQ+wpXlxtC7 zTKR~zRvhZh;s1*Lk7P>E4LyEt(tHnpboAfG#14+UttPX1x&^;uX$5TvQyq<?-K1N| zWRr;{E~1BCi^B*^MQ`G0j>sg@YiY!F^&!`1Z1S#YJI(Kg++kwGGLvH6Vh*r6C<Um0 zM+@#_hM^`~TK2JQy1f8bu9TeshfJJf+bIP@nlYL1iBs=4`C8!}iLsui1_4-|lrMP< z(?{<(-)2k_vF~HncyEacEjBBa8Kun}%l;^QnZjRU`_u3T&^5h76+d}wXQ{yeRyRe- zSB$XXR+dr_>poVKYABfT<S>ht5*6v5jO~;j{%Qg@fu5=-PrVN(^Jf8KtyERLdxNS# znpl}J*N$QuEUD+kiQErtsHkc;8veZ$EOT!vR?6u*77RsfImMYoaPK!+l?@H9X0<^9 z)(u3p$``(Nqz#EK3&u00hdFioHC`Rl&`o_1z*=O|oQ<}8l-Y?CD#_d@Pkn&N@C{G7 z;W=$k79GBc=2GnX(o?N?{2IIQK#8)CW(#T2bSMyDrLQ)G##+;OM5$dUYhN6toeoD2 zT=l2HDL8V_QoKeoh@aiWfj_?Q!>X+eaMOfo=%xjx9S30wmWjlV8obGAq8u^pX80|$ zO)}#73#u`8WE^P_M}>kTJE2rlC91vfD+kVH4GvNA(Xf?UGuovl7M)F287p6J<k%u# z3s|KLjT>+i{ygHhNaxS*RF@DKc}_#TKI#B#5CT;NR8(j3_k5%$hhnh}K~<t&g#}ft zMPW@vmQ>TZp<Iz#I7$~%F4#+C$v1PavRXsgx#r@B`EyiRbYwq7wW6sDSc9W4gYC*v zRGnyr@nY%T)M6Uc)q*Z`RZ6+D@&_zso^))|mYdZ!8=E+?Uv+&gnXZZgN&vjE*X6jT z+a*S0KH4m~YX4&zY^Zwi+P)9_kY_U1tK28m#!}Ki`19Icr|NN{UU7x-H>)C##c&QC zBPHw8bzhhtw5o4Dm98%hS<aKw+6*-m+l}r=vEzmo0~*VbTB86s+(~J=%G{X3&1(AX zh4tJuFWa@Q6s;fgxc&?qZa>dvD%XbZqwt?(@gsBoici)~Ha{>K{;syqV)csQ%Izu5 zSU;;Xq(y(jm1OTWme!~M)}%<&70`+ZX)p1A_{%G*;4YRPb~her^2FxFnlC)Xiu+ho zTGtdcM>d&D<*euNyID`;OIF5_W?h?rgHl-qY%<ev2Q%b&Y3H$KleZ{X*_@57H9CO9 z6C}!2LY%TgzF!x>WK#8l)!bvOy<a>i6g&tY9b&~{U{x$l-m_nv#s~usHt9JB4&DDs zik85dz*0-^ulk><4yy_|@>hq0{F1Fou9u5ZskqwPds^!uIJ@2H#*b{_Lh%yVD(h$e zJ&yH@MhkFwVnlt0MRNxA<5=_8Fzb=BdIfFheT?}^GuAO$463I!<RsRpqT<%EMM&mW zrQGm!!_T5xxh_}at;NS=*V>V<9TQ<{bkWpNL9_nc7BiebxY0MOI}`2G2s%A-jffS8 z$5ZvW(E}XWVJTh$TY(Ezbl=RKCxs=U&2Gw$Y@NYhFy)49v2z_0O%sciT;9i>5~}Kx z$70@6l9b`73hvt3D7mW=!Ai0DskEOIz>$+mE=mO_M7{c4Y*@h7H})LP@DS^jC=kf1 z@*{A6itU)$!S$UiBX0?4tedDapdE$BNh1xMXvgymoB;TEMweqd0q_ZckMkKg&WCq` zf=>W^oX@~<KD-kYd;;L(d<Ks5;hmu1696CQGjN;_@BagS#D{4s?|{_+0000<MNUMn GLSTX*ju5Q? literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-60@3x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..a19380bff820f2b06d9d541ee3d0097f1737fa86 GIT binary patch literal 21734 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 literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-76.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-76.png new file mode 100644 index 0000000000000000000000000000000000000000..9685050641fa930e73e3b5e6cb044309bf74b66a GIT binary patch literal 7816 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 a!2S<4`lL2CEKHaH0000<MNUMnLSTYM!|S8~ literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-76@2x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-76@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..608116d3a6b934a4126a1d51f8b6581e865c8ca9 GIT binary patch literal 17790 zcmZ^KLzE^=u<X~iZQHi3Y1^E(&980Sw(V)#wrx#oTJOJ`cUO0jRdK3L?y}-!MMXs_ z{gOg}#f1d`00=VD;wt~m8UGW|kpGR?gTy2N063zRn3$4{n3R}<t%I|wqp_*El)1gR zvz4ielqdke9UH5zZ;7vtE|}ffOh-N&yj)h6g!s*o(qgN!5VCpxZQg9RO`mMrB9bt1 zy_0K2$#(QvVnri}E`mHzv7fyEqdP!FVqJX`%}~^$R0JMO{Wkwks&Ekt=BksexjVVT zrgv)l{WRy!|7_Rgb{8(8gI+gnmjaX?w~pat>9Be1ba<H8b--^P!Ec^{E-sZel@bK+ zXs~bd=8kxDckQM9_2>6hostwt#7^jX4fiDJp*i3iW28wR2rlw54zp(R1~bfOn?rnv zI@Ai##Lh#yZ<@<YWQ{PCpr@{i`5xYifI1_4(E*2Yx!;Q8=cuTqA)S(#;H=L2MYhx% z{1MP5v12p56|5NF%<PB02iEbDPV1a@5RRO$e!T4(QO{`AJc9gV-f0E%KnBq7?g@2< zeGnWrRrl$^KX<LH;#%mZD__q1jl37^={CSWIeIJp*~(&=1MB9mk^_H=L<rbFq-ALE zekCJpP_Uwnn2Oc3<Q#j9c<VUDv;g(HW%zByyEe~LY7r$ue;a-Dh@w$0IILNjmoEBc z$k2{HN+A$tkOS{J&g}O2{Lfu8Hxv3Wi3bY~H->^qqxC^_JV3LRss!1v%{3tYaC=-~ zD|r$mzb_y6L@Ajl`9@E07$YNgLU<s=>l%aE2u(bJ7|F_4*QmH07Wdq;@VwNr@NH%P zdT)^C{TtA(X8k>Wb-utXTJ}SBKVLO?XQ@us1Mlx;S?x9tW8p})%p$`ilN9`hPnvwp zj6+gPoJ2LDY8GR*z$=T$F_uQ^V)oRzu<QjwrjpMU-4lK8Au{^?+bm<hWo|?^p9^_? zZhg*XGIh<~fY;AnGrC(+Bfopq<-(QxH?B2<>-gq!uJhc_pyAnCgW(yM4*WNiKUl!k zmPR|r75lUXtY4Rd?y%I8z%MhwQU-Nf<L2TbZ4QlpphQyuzfR9?=--gKpU1BgLP<6g zuSrCd0Y|&Xf(NrM`Of)Hd%$u1eMV<PXG13<mwYMfWv@GSo7?*0M%YuUbmi@QQJr-L zermH&fx)3cGdaa`jIa<GV<vBRu4=ScEd6fCu?7dTYQGvFR;A0eeNFS~fsmSH8YGo( z+0h*v*f0B|5HcAd9MVv`Ztswr=Q4MHIf2dkz)_b6TYd-=UqfGZL3E)($6%bj=s(KW z56jLMO;d=6F;=-Ptyz~*LlehGCb0Faw3zTG{RPxlUFY5S3uTC{>6Rye1|L@LK?j-d zFRU%EQgfGlNbXN6zE_<#9;E#mu=x+mDNf+;qux6}jbNGQi;5@Ju*n`M_e${4fTkku zTs6_vv#zH-#V%mox7Xn3<ICIc32b=}&{6OM_Cw(bH)6Uv^&dfSn`_BfC@27E|HIG# zkZ>yi_<soGzrg)3007Ve(Eq=ZQ2_S8_<uGh)9G&j0AYZPxQLo3$c;XPQO?PG!0ZuY zYKy{VOJ#TZqRJ$-J=nKx$5aA{*eE=<SQsKUSQuhkqsd6^a%fr?Wok<$W$efM&#O<L zp7+Dl38U3yuVe4j4psf<pRxS2mDJSKPKsqwHslhVd8mu7!l^I|;Td6QBNAe8H%L(c z+~waeMnX_6XfTo7K;-@)-rmCKZ~*3@u+nd0@P>k44(Ep?z))u7WgKV_`idpIF3<l` z;s4K6JTcYzY4~$j(pZDHG7(i0YWvTv|ISCnJduzc@Is{j8FB#!-V-WBkI{(_|FEtW z!$Uo_!=_5Y+IrZoJ(@cgkPH_w;KZMHmN`=d2ZyC^7IIEXDo$@)#AYJvrEd^@#_bfx zdshzAmXF!raQ`1;ql+9d(qWtxiXBdG(arXH9_*y%Gu0iMIHjk97y+;V<$=|4Iy5S$ z5Uj~EfpS=AWdDZ6SxR1z#rj-X{@#SY`WKDud4E!Z69UTXpzgoavTi$&xWO}A0U$I{ z)%OwH&d$Ss{ByZE9Z;oi?VT_%tWu&<!fX?X)lv}DA_Ces0Q~8Yf?R<^SR0hL)$uXt z`YKJ>Q1Hk{_b4W~0y;67U=l?66%|GT=C)6SJFmbaG$R1y1{T&<XF&eCMm_3Q6UE_r zi;Nxw#9`aUfAuh-G&buCnnV;WUr>ldSXJ7rCBD~Oo*@~B`qXk^f-7VIFW^%NS1tJN z6m9yIa)e}5qG9wO{lb;LJSmR+aYxWHKv@MTAj<|dzgU#yl*vRaSS>G!@ER0{;XBh~ zQOK)ui>80)wjRUicSUX@;MppDoS+(R^UX9-j}k~aA&8D$Mp#bqYsul2BE9R7Q)X|U z@uq)StrsNV0xX4wM!Fq<R=y2^9r8MZZ|Y|lqAgNT1*WRFaQr1AW{DRdDMKL}u@ev! zcGm;Mq(rl7Z0LJLs13CUYpf&SRc01SAw~KfP_S4ateTD3b0gj{dISJL<m<jZO8#ci zrACTS2fH0fPMYI#%9|MaE4V5vXK8H4j=99ZQr%=PRGsCaoCSg{?hK45t1h*OZPohU zV9fL^{;A|Xjk{e16w?fT56L$A|LDIab#4MdL^M7IJ`UFtm+Urre@E=#8sUrI^u!Za zTUz)1R@(U{(5bI(QL`5M5@)M*Jpyqv1RA5{FlTKB=phtazovC(4IwFDwUtJX=qn!- zOBHrjyMB4>U>dP!@p{~ae3UEk<aPVgf^CCghva^|M!Ogqtl@?8F}K*mG5>?l{dlp` zctDizXYrxk(QJrKl)XakT+r8jg}}z_S2w8RN$bA4ZeMUX;V)O;!^-!;Tf3~v?`G=n zvK|$EwOfOCH3Say79G|EVZbcZS;5Z^z~iYfGD(`dF1cU7tMOkK)bfNDXNdTX6+>1w zh%1GLR|6$RXmuenelPMvwQ_jn9R>aDKBL1QjParcgOZG!<ZZi)WABfYu^qy2vXyi` zfFE*)v|_Wdp*${%MROy3>$%+$aR2!W&+_+TY5I+s$UDOV9(rk2cb+N4qTBkuDtQh5 z;0=LEe~k`GUvj`T#ztyBzqmryx;Z|=O|y_2wt83_p|}$G6`DDmflQM27aV3v7DYAQ z5&?*a;0u4eM5eRMZk4qBM@ZAvb2GmD)O~$~--U9pu^8D3<lYk(<itJVk8Lk@)E_Ld z3*3dZTP!Cv8sW~Fhr_68^xuOphw?cjx6FX$P=Fkl@H#}TT+U93Y+R5mjbVdo)fxfv zZ!ZRx(!q$Up_B>IWjI5r3<_K6sNq>c@>BnZ3_}L`%u(qup>%@)4nh-OkDhT;XxU{7 za_P^l9}ScSS}I{Ei()n!rA&_>1^5v;kSbYuTtYP!S`PQQ91!`pErK-4m)#$#m%rKf zom{8TPuml<E+A#6qD-km$1)e?y2IKk#p?x=i&l2~0Njl-!EJJua`>c-WGHJRaeDqQ z_tf|wiK;!{qmDw87=-AqSHZ}RM_df5Fd0zps*$9pf{aIlk>5(>VA^DqEv=GO5SJ%W z_{41_@sVWDwx2tl#8+y-i+)tOzI94-L%Z+?<m4euA02{u((=E_!_i~Q%KQS`G$$(F z&nJi5t#qC!7$s$SnBuY%js#D`k*FW9ngG&Cr34WIbJVtPYZi3hP$3-Yjae@jk!xV% zD(~NVlRFPGz~zXufGO;vPdUuHS@a2<hwMiBmhghp)=N+{8Zh+4txDrMG07{N<6!Ru z-A}YgeAlZT(`z3g<mDIcocT0A=#QE``O+%3_GM%;Rm0n%(_36$<ud1~@*)1nB(HP8 zWa`2K_LRfrG#Yr49KEhRmYCpx1W$AB{vo~+iEtmi?%jyn>56{15O|+kRDvQxqq}Zk zieH<$X{7&j;;Y)Zykw<TiyX}N0@cfy=vvgta3<=@6I|(OZa{0iI;s*lGA3}M8Pe?Q z{Np9`B}}t^w@C39hM!&zv}l7mCMxgXQD({&BZElVqA^DF>GYJUzt}&?R3*gB%HDSX zxYaR3JL#2Wi#q~fvge3|g)k#JygXPI{)D|<f3R(vW<@z74S}fO`z3G9$QMyC8obn5 zeUtp>ox(&&uMmVDnXK>=VxMx4Sz-{9qWaj1aw^Thuaw*UW*M`+^aCItbqK^|5#M09 zZponhC3<@(%~Dbt%}7aDgSnivJRXQ_OI3lr5hI0mWP)Q!*<W;YatdZDwrg&Mg6ioJ zX?o<1QEnl1TY4H(4~AE12&d2}X*t};^e4vV@ZUd27Q!sJRZsOD91s&uqxjin)l!RV zpAN?Qi;;i2=ekmV5PAD8r)a%BYSkF`ir00ec(>m4tdq-9sAb+)U`%3yZB5vt?IuiU zy1z6txa9SYAk?+_H5SH3X`aGPmX{K;xgkcU^EL}tpu`RTAW#Blit49P{1ocWYr;XA zXcth7j5MPp0(m<N7b017^o#{Y2o?<W3SjHj4-TUyK;5JVc(}a-7@M*&qo1ppM*bN0 znv~NTqGA4nMED|oj`4d&U_l@Ng{{Q$8=-_TbW1z8mF_G~AR32E*a+h%Z3B7TKNtW* zAI4MzCJw6A?=VU2YL!mti(p4=-KN|h2vEFl%D^f;>zv@#6Pc$H8c~!>uV4I@U4IwC z8Y(ydU|_bHHDky5QiX}Gr%ZB1*1a^GSCo1QtrHF&dA)v~dYyFuakwfn>3Xn)IW=-7 znnyBO<+fQe3(^pkT8T<uhB{5YZgrhfQ)zD2o&eOf4_vRZ!z*inJ7lpl%8Uoqb0`9~ zdRZhK{b=DjIQFI?%kuv~{Rm>IK#mYp;0XK2ajW}r^Y!Up$WleXu+K*9Tx72+wNX80 z9UEjD`l_sHx^HP49YUv}+>3+v@!fadQT-Q~#PeB%T{$F7xc~B)WxpCJ>X3NrMnX~p z#_izI+9@D}FW_XCk?yPxIjMr}BqDU<ZJme}#~=a`WF5q)6%_K$tDb~!?(ONoxhG^F zgg~&;U`@~D*NYfYG~+i8IVGZ8@D6W&p391?Ma@AUbG$ZTP(MER9)Lg&&`RTMd*q`( z0ao-GVDOT`3e%aay4It;@zqZg5B@r!9zz8nF`EVxP<W-E-2@=NV->>YIzi;*drW%7 z<L-*JV5cBbc03vSF~}MNe3a#nD5KOcBb@HCO*VfxwUGOzm{HY?0czKtPULyibsaE= zQP==xa_Y;2vIa!W)J0!`XkhX-^EK);uenVXL`Pi2A6hAR3OZwWefqE_gtt01x0P5_ zh}rc<W)wZ9SwXDGjN)P59~+v!Ge!!!(cXtPY*wg4Z%URkK`^^J!R>6LmxO6bGQ?@D zhDdFx9_p7rYY?&OkPt>G-L_t(Nk8oro}$LrHuP{17T&l95Ye^q>~fO~OT*iI8WX0e zbAqLq%#SbK66rt1A$A>*k1LXYp;891DP}Vg56|5Kxs&`Md1wjtRCCKEBL$m}QCHJV z8;R(XH}TPb(S&_L?`0;DQP?_GVJDLoW*lg_5lds5QE=7O4h<@Yv7!4imJJadxo~14 zpB-k+mf)!HU8*OB1WKd+F|?{eS=#~7!Uwq>>%thiG?pm=)<qn!tND83)f6-9m964Y z(faYApo|(^2)u5fDh&bvHj+(yJh9Ps7wN<kTng$&E^GbP2zaTCB-(?kpP=*)VgR^F zfUwb>OQ;sq7mTGyDV|O{4E^0`IA{UGhj+Icy(C5+t!0t{`Uo-}C5zBhQU*?ed%^?% zutIl;D5V)II$xy#ahlz$FxjVcZoSL0XvZJ@nxTBuwE+Po?tA7CiNKlLBxu;@l@H-w zz~5PG^f#z)Nn7mz7+4IrH`5}v!P8WIVvcMiH`<P6P%!j1uu_$81ZqevN(g^_e0jtd z+y%`ulY@#_;|CELc^?DJsW_?oOi({E#|P^11oqR#Ct(u(-<-4>imP*2CsRqUT+;8p z5r6_`1iVmYzT-w*7KZ>pe_76uX}^w>zTb)axFaV<)KHPzVU3DCvHpxdzL-KQ8eYy> zSr3<lW+%oD9Df7eoP4;{XnE)7N3K@$K6LDiJ90``M<kzV#NVEPHu3zFNQooTBM3R6 z9XfWhh$%SfzW_Dcfs?G4WMJh+9#g8EyBInsb++jP0QQ7cg?r22GW72+c1!Rkf~*V3 zp5$2TSm%5;ix5cnmsljwe@1ivn$;8yVJ5wC{=r0T%J=cFL7($!HST(gPx}~D`2fJY z-JZ1|uA}s@CuvKJcvX*Jkk;*R4I+p^0fzyCs5-~eETxh*{zh6KS2k)ulMU9pVB+{t z2z3&3C#jbKkJo)2Ku|ddyN;JU!89GzeS)QP#@QL=9d}+zjrWj9gHBBP*;+8l*J7~+ zq^*LzOHLQn-Ho&$$^t?=Ks?K;e^@1lxk@85NxVoZ!t{8`<SKyApGwXi_M6fVx*yA4 ziREaZv!Euh+(auBz)8=U?`^G>n*<}~c<}QECnY<5O=6<kZBUixrJ@&(L|04ySf*=q zHwhYTCO#m%?kA`j)PiWckm#AjD&|-yupDkI#@Ha%3t=pL&nwLq7^h$XSI|U6A8rR{ zE!006fh5Lm+E!3Fn0I>a71&V}-jCmeFDw@#>cm=y7rIB#Um~-LX`80W`G*dQ7Ewk+ zv}~L20#hbTHS3=3&R-+2Wk77c1PtUYD2o-oYt+wS0Pw+0D2kg3wggIf?2=gXQNSbE zu4Srd5JJMNZ|9AnlJVxEM14G+Xrhbc1&!&uT2auNQ-^ibABg(8saq5sjxQ;alZ6BJ zvMw#s-z9Bj=Ob5oy@lU+T9iYH4$%t%p>C}-l!{(c3kkfUr%s=6u?CrSB-7KRkp(Ge zt5g<2Gh<qIF14tlPKR6P82_FWbAHzJm^h$qp#HQUaX3<ynoy<sQbrw8zH?iuA8x_I zrP5a!u+M<oys0Xu4<TSypHU#T$Ke(XEAO>lG2pf$Idg^VFw%<+gT!+A=h%3+PIJ=N zshR_YWR2;Jt9jt<biGZ}rcQ^kzij3dI8er(4AL)=_U9|&_{T5vk-LKynZVdB0&RJm z%JHEHyL#(#c^2f^C2dvqq)Cs)(}@N>j(0;I=5qyrWlo3CLixsub)!oYZj=odZeatc zh7VrtqzowDZhu3mY*3FdU01!w%d30VL?Dj%nePEbSk3r(SO{kZw8O#o_ful?Yc-=} znWDwg0(xy-VN`G=J4W-lU}uj>D?5G&&Ah~jrBZ+U)f;GuF-;zQZG7-1q*4oEh@l<x zaSVCmL^Y}T;3B<_8+xt<X7R+S(TKUo37^m~g8r#{aG9%6i{zA=i~_ScJ~&Z~Msw%b zioohOsVuN$%|3f8=m9e;1N#9hxFR(Nb4&&T<gN6#9*rZ0RX2A>tnP>lLU9fUDL_EN zd5eG1et#ycuhptPs4Bk-0XKCVxixJ#ZV@gnOtP3^Z0jrK3oF**$V`OP2vfp?fUUQT zs9S%MEb1M?pM1SH#bx58Q*^@BtFBj^O*Y9p{g+Flvivf;l?)7i!m!EMhIy~8N@3`Z z9DL5I1;&CEuBK3~47+fzq!mTSbcI8Fx#U4tt_o$`M2meWZ)*x8W)#z^0zSoR4E+Nq z=H-St)`~K2y{dloKK1*n_b@!J@)_9#@h`ylk8fT}v%-`WNnV~%i&i`VEF)sGz$l}> z8^4YpaQafyxq9HLqf}=n_|?P6;S+L_b{;2Y9Zq5uT+Fph(sFW~vesGcMQqp6MAF8X zY3`MA5Bwba!)0l=7FL~rfhIir(`7(>+ZX9oY?iKeafK=Lt*lm+uSp?vzLx1c1{ALC z8uv5iI6^X~`o7puz|;}keo-Xsi{VNJp6DG0UhLq2{j-bc69jBqg}y|E@!*7AcpGQs z7&cBiuV|wj8vFqGZZDdBl76X=`Bb8<*X5X|nbsn*451^J^_)ML=2{t0Io)Cmk=BAb zryl=RDcosXnREC0!OnNX7_(9f!PYRvG;R~P*-<SdWU8E@kM8kL2_ox1SwMr&8G8}X z;d8rYYrw8+bRfNOe!4*R9DUm07i#}*kt_G-bAe*x<3Yfm6X>d)P*`Hdlyj;&#F6^2 znjSncX<Wx#I#MVEU^NpN8%3zf%Y5Fd9|<LpJhy6CitcYb5DJP;p(mmLb(`(kEUsHb z-p-DMe#>B4IpKK059GPMPio!u8Tb2Fwd1(TrdDy3_7$hf+%TpyZa82+O&gV$$apGW zvH0_j1p1yf)M1r0p6!4k<{bumT73tG1%IUkr+Xr2$a^xi@~aZ~DE%2K){?<0&eWc7 znqZI#gUVCMWb4t1JAcVEKMj>5|3kKsSKW0J9yunVc*k_w0-iFwO`jUzr&qdOi5;NC zMoWIs_f{&d=f;44Tws5#r{6s2&sjJ|{eF`01gP^s@6JhPk)wR!m%^th7hU?mk4C~$ zO~4JNi;YNhA)mWo&c0qh0=!74?q)%Wv_)2v1B<CRgomyFPRpwo^+3{Cm#CdqE)6@M zZqSMheb}cENZS(TUL|<+dB`H%3&$f}m(%(^@+md%^_(UYv4*?}=dnG<SuN3v@UVS< zCMLa2H3EWPce4C7bQlLaOi$s_#&-GDzc$-Ik-&vZK8stH3WJPS*c9bf_VPfg?f>O$ z^$Ri)xd+0_p4X!T*SNl*mJt~#blx#KHqXVE?B73Q@zi3x(s`j`W(Y#G!U2-u4G4ww z;M&ZsQYv7hUYXuh(lb3?Rqix&%xu#V6dIlaUpW$({CYhT6nixTUY_#{Gyfz_P!M(L zv`?CeL<OT^l850W4|$DDW9w7{P=yjM#YLwE9}pPV_lZB1$8e9BaAQ?-RNn7{54W48 zqU%m(1Y+BG&5GG%Mn-94DHAm6C7UHgwR-e8K22CeId#1pbLsc`@JU43gtaXW1YId0 zDi8esRpmk>ug5xZK?L~RZju0<iYlY%#+?7dd8Q8qmt^v&928=9dg>p7H|)Py<}zqb zosLj00C<>nQrdLzHp5sTZH{DG+H^=f@gLr`a;J<fGS?Mq9a+ftnwn_EBexIUwfg8n zbPTW4#`E~9rI+TGozYlrdIi`((~cIq2T~w{wj3a*stjy(&LZ^vFvWk#-0Ts#QsQtT zpgjPT7P7QzZbj?Oh?Y7-*@s6S(}v}p08A@<meRcOmci;PQbYCRM+jaEo@f`$B9grF z{f*2#cg+~9`97LSxd{$K#5(NCqubmjPp)yO1UvVd_quKkU$=|TZjdS9Af@mNpY^as z<kGlu=a*D(K=jzW-K48>a}%<UkYSbK50#b)UK48n@p_kp^*5O6$br~;B!kG!v;{t^ zn$w|lt~TQ&uPP_u25mJ`ZTd{Z-}qmGIHPOE06>ulC~*XrkPxz*tVT51&E#po%Y*I@ zNLYD%7MYEF1-%`S!}{%zV}1ln?*XT)^v&;lT7<<Agc5nv(I}X~^FO5R{7;Fh{_BVh zYa6N)k<>1&=Ai|o!UsR~2`dI2E2I-xu}Q&m49ZsSwM_#SkOSc}%WRT|OxUr)gTX2f z=Va36V&Rt+%53Eo^=f{xtv17L&JqIAW!Y1#ALx-?AB2q*lv6Q+$rJ)@_18eZ>*(!w z*0MD%r@!2~)6i3+2s&M^V}GDR*@>HFrg%w<Z9)lJoT>6IG|4I~J3R&i)^<nk-@}Zg zM&BGms9u5Ftz!7puA*CMCoM}O*eI0m6v(ST7YPyx?c-De^htyKBByd>$nDo|Q_)Yh zsA-TuW~UNuZTL32rm@qy=p&iuLni!E_L-<L!qDy1Ey|9|52%u44qD6!S`lWe<=GFd z$=h!Z*r60z(weX4f4@c!c(uC%TG7?9BI!<C`9&fo?_CbA?sgWT#tphIdmF+r_S^i2 zz(=tH@IW9hM=a-zIKsXfe3Myda4jOurEM8R%G_96#?Xw8nkH=axGBznx|xJox*mof z62ksH+Z6ds?Q(}OMoy~6FMw{FMNc%N&PG<@jaUh7($T-km+gC)S8Il?^d20YmTZRm z7sMFN^?EcMKi;}I#3NMCnY7Af&=`S@AhwIZb<Qvl4(KA=Qx*S!5oAK2#>uqHh@LZ{ ze&&rAUv7!7;vB*Ft)x_V)*Ix~Q!vLelyx4?+VpEC$8k|5MwQw)P8GgC-!GA>?$;hN zlU|Mz&$V=DCvHxMa)DDe)9f-KND30{H;&@=HAz)i`A{5i@LNSP#V^%N!y0PD!KhHu zkn1HFNUKp`LP6dVQDnxnqQIb6AX~A%VJlqnQNH}-#UqiC5nP-oKz@do31eT<KBNL% z&KotvkbAMYc|lh|<&!EJg`5h?B1~m_cME(Wk#Ign6S{jn*`+bFa)VR`D?X?b=CiqR z_57L3&eXMM%#dGWJM~26VSLE*cll@jDx~SYq+!CD7Ay%bzs6_@ysD4`^){tCC%Dw8 zqPn&`!Ys@_k)94^F>}S%-s!76^Qpl`pD%{{=9U;>9Xt9TJk3Ie5j?7ojjGSF`!H{Z z+9Zy_iG<9i&--Z{RrM#y7DIi2aq@W$d89;)(8k{d$YxOcDslE*yr*AB)i}2WljZpu zAHeEGfRy6-8`YbNKE-+o;S)cv8+MUVY!lH!{d;PJUo;LP4-@9={jKSk!$l`(c!d-x z>@v@s=8gX=l2L}%q=9Td5^8@(!f1;0f|L{1maV#-WPVDCb=snG4l<ZmUv4iI@x^&v zs5wziZ6kFlWjwKuN1!TZZL{3t1Q@vqJ!?0LxQs>xGJ@*^n^?7}(nfgPYgWAA=&3sO z(MFC;&=^}V-V5UimHPQ#r(93^b%q_;Us^A0M~f&-m=qYRuoDbhaIjl=tt{Tg#NS{A zD|t$Yrgn&ySKpjJ)98RyxWxQAof3<8MFHJAHjuOsUlH+1UKf|t#;N)4_H(6<VSA6M zefD1RvCEPQeA`K=0u&;$e;3DT%`uNhi0L&U+NNtH$H@KiB5{(*kQ)qRV#tEeg<`Br z(@Cxa&@{j@c@0bH7~z1ws61`$mwd_c_&hu+@5_d*jh>WXIt5W8V8UAeCfMC`G8A)2 zTI^`1{C5o)7K@*8lz{B;*u-HVU?`Lh$;%PsAu3~Xk*)GCX*X#4eK^#1^HNiBmjxre z?{$`q|7cOMUbu-n--mSGSA~EN8uLxdss!}F142o9YOE-qmj;~0f7IzwaL@fJC?)q# zR^AjDOMy4qx^6~nKgj$P&_A?wj#CtD@XkB<!N(XK<`BR(+iKmm8yA|)xbj81{=K{) z{+IOXLGlv|=%qK6OqzS2$JXT5IphwU`*YfH%`cTW+s|K7rjT@8bNn*za@xPA)gwg5 z)*m<YVSWsBbIqxsRU$wS()9~pz#K`&h*5RS;>XP}n9?)@YpAl2l!SuK%QpM|_Q>EN zd@YmwR)uO$*@FJj@u_gwDg6S?K;+Wc4@#&8Pvrb}u{I|h0>YY6un9kdribpQ*Z@Wf z5xbgbm}iy%3VnLVBx2srOS`<-D}91ENbU2JjVKejG|?fSJB?qNzBGn+oX+;3+o(HX zDA(3urdlV5c#y`D*uj8><Q%^=Q8_3<{dmZii)f2R+>aD>e4%RmON2fvv>=OB0fM*d z@u~2OF?sSmp7heawhCj__PtCp_f%{|0b47E@p}779TX0!@KXZlR2Xfe^oh7sFZN!s z&oSLv6$_a;s3@|>1auOP3Q`6jVnPhL;rx`!YHI}k1!(=#f;MoArzN5^xw(CcW%VzR z`+iSVb$-(Qoeqv;IAT<7SmR#()_^`fUi|OMd=$DjhgqKKOmRidzml3$7Fk8YqqEnJ z#Iu9hvK_BUxkIFg@GY3T%>nC)9SD0;n87;sHKbh@$uXcO5o+yZ*>!JT>^+%I3E+4f z%}(i^<J-<g;xuO#v^{B)eWS=lUO?qn9W;k=9D2)q-vt@#3IH7W!7$dbLgK|pDuUD= zRiTos2RBiM2NroLP~{sfrep%fwkeQ%7AQa~Y9+0ISMt?i<6q%%_rA-5`b(LepNIou zfziV^*L7)S(8OR5tS{j);Fy;B%!XhX+k$4{=gj|*lsKr~+E+yyB>ZHfG8DO$i}iAj zy29w9MvOG(ToJ7GxDzYwO=NW)(}cU}pdxFi0~`*AoIS(V&U34MT(4vO;rsIebx|zA zi7N`6!+o&|2pQ<Jnqrpa&Dl+=KG~pnjB+=P@MZB3czRK>vmYSKA{4uA{1P!@7%3J- zEG^eBx+DK))($mBPWE2{6PJm6u!r1jqcLHp9I6uTB*9pfZb6H%zp9#&g7i;e0Gg%Z zc+W#?Lb`bZhV}C!V<^O(5jhPW^92f`BKS`PX(*8(#`mOzwK1ryxZoZT)baACTahz{ zXh^7ZntX*;-cg7?MC)ofNT;f|e!qVNKOUynb|OHPlw{b-l5DZn<RpAe7CL&PC})bd z64d!;h$cr|BEhoAJ+r9+)|Q63@&wii7h>{B8&lBpNgVr9BN1MbLy%ywS{;ZhwM@Zq zHZfZ1z(?V4lfn9K+~Wip!WfNbv6y*TCd+*i8#5C|b7nqjENv(Ve*t}N^g%w*^Dr^% z1EwFWO(CH1wtT84C=!Rv&)wc2komXS0JFixw3~=$2_n0e$w9{qvxknU%i(uRWT-AX zPEBp=vCcf@=#+$%CF@#Cp?4;v62c{nU}ZZgy+!;d)9+|!W~va1f;=Xub<c!~zCZ}h z6nf>8jGW-J2&>QD!>$8FCkqErmO}~Ib&qRcVh5^hRK1bdScgI(h&d89?l}u_)6n*! zpR~&r9I&ti#2d{%=)c<?IXl_DgFjXZB<8h7w$PggR3Bh;q#R}d7!@Sqf@RGAi(IpU zIZax@#rb-d!MuHk-aTauzVEMdWY5joWhCLE6dRB4pGgW7WItRklT`5d7HZ4_+$E_c z>~ciT2_PY*nbMl9`+_|>$-8nIp%%kdw1*7JGyuyYmjp?nS1v&wQfGvp9KlRBepo8k ztuMr`2PbS6-^si@0_}t=x3WBv&4u%D<-hlgD+i3<vl;*dBe7>2sTcPdL`iG$a8EWx zunn?cnpm8#2jKz82m_&(N1k`*SJ04ac~xgD9~7H74S=e81s)Q&Q9!V0u|e%t$R?q` zH{2&EwoDVrXb~x*8itslOrX7RXfu3i8okB!aiDi)0bo_}Y~?r7%IB+)PLZ8AWWrGb z-yGW@?Og&zwv4uL#64-lI%>i$R}E7II`zu&fW?F~$cKyO)aoF<mvJs+6~RcSid8)- zSw#{`5TAAeL@VidR@^eWTn+>+WftnSvT0Ci!44!k7Ym6ocu>Kt0p(~AliFxJA0JF< z(WtRQ0ng#J2kd8gpD4tI?r@_`_j)?hYJZzubrokV?-XKkNl|F7U!3^oC1)zvgkTNL zI=SI>R{X=cxyY_FOK};5>0ec{15VR`hNY~47Kxp@=K$vV**BUDpO{<@flteCkQlDP z66Qtr44j?q-FVgvLJNTTMp-8)NO;ygxW>RZ#NS|6bebhoP23Y3Gk6rUlNEb&rQ96z zgh()jq%?3~P_C^c`QVsPU6MJp*M@eNRF(2qLQPooC@Hz^^tmzqrvREm(n>hj<X1FN za-j^^N&M1nqUQ$)OYth5>8dtlkNfZ*g)hZocgK^qK5gc#0ZC1}H8oHpGxp}$WQ=&{ znmy)7jYZ!lIK<G2Y}=5pK^qLV<g-DgBM{uq@-(w~*!j`cF2*b#;LY<H_e%-sB|eru zsn&u06ugkP#(pOeDD2i~@dIKzKu91kJK)ED&*h_qXZR0+8G}v;zVXqjk+zw7-^zwq zWE%U-4;xHlh$;sZ9Z)LEW{#+~)l0pC6ihxI(d$BWb#g7^y{}A_D2-G-_=_MLu5CO3 zxw;j<z+{x&PFjx{bP9}ij$ipXUKAv0Poa~5gUtHm0Ap^lu*$b`08KBJJVrc)b}hY5 z%1{Z({mD*+&6w~q`x_?zPIzw~gfk1(6}Nu%;5%$E6tMkzC^<3f-SC`2HY!)2)L^KG zu&gGA)8C1YcPu}bfnPuztjrc8I39E<s>H-r!Rp&`{z06A?U-o2O33YPcyk;0jx`yK z*7!3UV&&OkHSt>ij=;QVj;R~{rJc5EIncM&?u-cn342N_^|i=TF2k)Qdm}|eE3(IJ znIQgiAaWx8(&ma55HnR?J03>$HPd<r7aegt$Rgj6aFTGs0h#K-bgi}AJ*pQt998H% z79=!bZ>F)-F=67ge2VU=Rs^A?{+({J@!X-s77)!pXkK;uhrRCP1c7tej~Sg2bR9E- z?~I8$Q}EZdUp-_hkT2rlBQ}G8MsuzL9pYt7vzI)a?&)D(eB4}&DM6XWu|@L^xw#c^ zwgR%{Lrm~49~BylYYTQa;(0LQ80_-4@d<@(FC9R>VfHr;zLf_93><7lZ92fXwW<{( zI96JlkoYqQE)~;CT2YE#jsA8{!fG8F6slq>cq%{Di?6RTSz8Ax^$fPg*~NMkzSDU< z^l>$<^AV#T2a>9u)zTaB(O-&%?<sDKq+C9A(|ArAoObD)&VzRK&~JTV4q&Md!cWj9 zOsUR>&WL=KAYd}r0hdyAA=>0WB2VrIuQ-_`;Hjh)Tkar_%Pyz&@cK!xTwn8@C3Uxy zsOTxXfV5TcA=3K`oWop!?FY}&YYZ2S{BVw-ZbX43gbFz}v1oD)rfr;dmZKtY@)8&Z zlBv^A(mH9;KjM=d>)Ujt`;J~OUGZ3=6ZP1#z@k#;-)QyNf2?Z`rZQ}x_nOArzOp2p z+t168?J!0vHj4LB)3#m$u;a{;dnQWFW#EYi-qa0u?h4KoV-?6tQ<(Z*O3OrFR<i#- z`m;9D@k79W(t!ox*yYN*4PXRJ=J^X;4)4a!DS+(l>bm9}E2#(1F+VgtRIN*mEb7VQ ze!q^;oL?{q%PJ|~n6jYSJDOkA->l4lQh1}IERf2f3<kL@xAr<?shdIdjRkPZPoB+p zX%#K5jfRIf&wN$HPbOr96MLwySD`=KJmCUD|M;@Kxc2B;kM%?j4thlKe9Qrm=-dCW z15=!{U?e<i3qtZBo#ab*9~^u`M6g3+uGkg)f8RX^6fiF-Pr>m;17UGx1BTl;BLqWx zhG&S0mk(AD|B3Lxoh34CLVhE9?8`r`H2x>$K74~iHff<HFgoBQL=f0Ds~dA|!eTQ^ zAGC^y^|dNt`SvS@QL7aW+~OO9H5w20le0WWDJP;|a`6{R62R6hPh|GQBeXKpYF?|m zsSOociZ4R|P>o9GyAVY+lqJU@x$NGNF!4Iwk13p;_t1_5OBKh<$hLG-m$LL=QpQ_| zBAcZL_YWKPnIL?S_-vhhi<z+3M%4VQLv1rSPmDbsLRC3WyC_Ixsm@3y$pk`?kO?6H z17=~)p*y?R3)Cc8?ih<x4XFw|O|empu?Uy4=X4DZ)wNpPXy%g7{Tv2RN<xxy0BJSB zn)7b96Zje`2_(ac2KV>XZv^;$&v0H^be_Wc5G0XJeomjWu)8WyHu$pV#v1@$^l28V zDLFii6((>piI6D_Ts)d}1=nchNQZLStsuaOOVsg??p=~duN$ikysdt>?D4oz8kr$- z6G)wUt9Sme=vEA$AG9<t4N4t?E{dgz%~9P?Y>kurrDLbv^$IK38QVMY861Vj3eo-& z6g@uXeAAbQb$#*X!JOQ1l(v@9@YkET#Jny=wiTct;MswQ=Xft#i(U&s?!;fvqgeSL z1>SLP?Gt)w?ygT!iSW>WwzQTZ>`QS78>z=RWO6NprxC)29d#3Gog!MyOPiNNQL|Ft ziVeeQlqv&0Q>kLqmpS8RKDZzOlXNu#?R?0aC6Pcdt(}|kI#*-LgI_Jms*B3#Sgi*j z0G-dyV^<aym6Z(q(iWvW$$J_lk+^-9a9Nbk_8o>jvL@pr!t|5@{Flp{`NMll%>sGe z0rh$%KmvUqItPz_$8WP79?39DL={jcZuK8dT!=Tp1p)JwgXhQPOHE+`X{gpv`=jMB zAuyv7?3U{_L?6`XbTuiFO$$|P7sxCyM+A2-D$!1%V$DH1m2{LgB2tg1cC4`Kq--RS z$ccy>GF6}W^o<Hb7GCp;rdz)L%kxcVi2_vRWn`xkeMJ8#-^EFM^=a|&f7SK^q@gGk z<1>dlX}enJO5BsWAdpy8)cXL{=3mwt=^fU>7Mvg}Km}0rD2c(*5tvW`Wm%(gz4nz- z;a1);3aJA82a%(@ny?{{t_rn6zDHzE1E_s9Jo^U%!vnld*YnOMvmc~M_5&8Bs-x`p zaLS1KS9%quNt2tzoh&^>HEF{(%;hV!PjJj5xg7qAC^k&<Ja5Aw)qUI{?&`)>!bD&Z zJq@m*dMke6FB+n2E&=$v-vNkr?>6djE*5(<v|zqUz5!}AqyF+nU-XvYO~RXu&JW4) z?wOMy+N_4qk+2$Yi2Xf2)&0YfJev_nqlS(4Smy8=gT@ukyC?wYqq5K0z5gWW+WIwa zbK5j!Qpx8*LFsT7mI|eHA!YMd@j<o05O~npxHAv6N9OmVWy2{`p&n}URcDHRpSqQ8 zJ{rtG84vmJY)}ly12~Kjo_-8I73;?C@U5JnZ{5^u4sHdi^lA2SN+k#0(@d~Q@FTWS zG4TeC$<H41$vi2a{J_RX%kKTub%P$&-HpdWc*R*!^*l6l?>m@9yyeXJVgw_b4%o|< zf*&+rAO|j}99=4L)L%LAf>|iI?LUfW`#8?U=wiTXrz3|L?q0_(u|=v9W1myK#@oR% z7=ZR=?UH&BeRRAhF4a>@OtP8yqfrW20Ag$FDs|`dlaI@tf8)q0W67WD;s%EAI3i-{ zEvW6lT8mo=Q3zi@02W?YNs!tt?;LP3-}`+<ZrmCwFp~q<f4PSFo%q9ML#d%PGOXH* zaz719LdVZC_!H=DGJyiaT6w0$)B8i8xoLx6(Ttf{XumA;1HPa5+*@8ETNC7R1n2Jc z2u77eC(OlM=*z3yY@Kk(68*6U*RMhrGwIV$z+1xyn@ZBwnQRpiGm6+O)zDqbh@3L< zYW&ZWJm--E>Z)J8oOCUBg6H7qakTx{1{?(yqD5b|#Sl~E49@QEKakNSR^WTVJjpLG zCmi<6Id?y*_Sv7_?e=5k38@A2O&GprH{5>cIz|6^Sxr{ZRA&qtRXUdyBSKF>xY61f zcj@c%ynEu3%CTJC{`D738{CRD9QFp*zZOz5_TBQB2I-dfiEvU7#74G|FKng*>25r+ z*g2X<U|d95Y!H5r?a^g;W@g?QpAK8;O|_O%Taf!*Hi;)_mN{@?AKUjceod{^Qk{Q# z?6H>Pb3vJdj_6XFeg6jFcD_=9rV5wre>`F#q60)Gzca;*H-Y!Cu}z+g?pOPmoP-BN zs-qJ-2xIQi_Id8V=qe>`Qi^lahYqljNts=lsVq5ZZ(z~UUPMiO?ekPqvG5Y>lIaxN z#%B-x9x1mq!J~y@zt;rJy&kV1kR}nwZT{A}OTzK?LzmelG=KjSWF2@AZX1Q&!ezGc zs-1P3+LmySl#N!wGhT4F*wLmgC2~-)fUnc_d-~S<DGeZ!?q#PSHe#=lk>ci3^Ck3~ zBl#%2A0}mbs(VrvME@1|d##5ALOqmV(RqRpNrNyf{{=@~i<?+hAz7LIle7YG^pExQ zYh(^z1y)x>s{iDIGyi_=kNad8e)zEB4Vm&fa`bY6$p#_K2PIUE$`Yz{CuBjI7%^oc zE+tnL>=5Wc!oh_s)ZRl&AuxxpsE-vR;SIG*vB+#d7Tw7Bd|~D{X_}o<Mi12L8-hHI znFoO#e34#upUm#gi!z!-Vey*%?PmdK4DQjR9iw(A3|Th3c(Fi)ITI0BHv^*><5A}j zxv#jQITGE6Z}p~O_P4ywdAV?K5z8W4$=c!<&eN=>T<q+rGPBuezt?RHJ~)^;WQk+L zaT@NIcZ*Q#s?oYDd2Wb}IZT_8l6&2ma{hI4D*BxSqu>H@Uj_=J4WfPO*=o-!$>d50 zUWwVy)VG@Y#YMtS{X=N>J6{DL_(m0`$`{Futa>}^ER71liiMo+yP*X$6*2`bS)7E# zDLXQ#KR@f5giJ`~5!0<PfwxSXZ3Dl66LV;<4ZVMKHX2Kb6gIBMb4_a5bI)#s=CuXf z+h?B7rX(KpV9%kPS$@$YpU<-49wo@E1I0if)=y!gaZ#2l!*;sl?%no^lR#8QpCn2X ztZfltAZqH2ZvEjii1tzQ@AiP1=K7v+{j<B``1AGpGqD!D<$_Oxa3$Fjl*?&Je@qV9 zl!#_g>}$cHmqZoAV(QbUcAc(P6NGNloTwe!%4tj$ANYV{l=`Jq>XnVYk_I5Bc8DV) zXb}T(-Bu39Q_0O@K^t_aJ5C)6h}wgermE19)HC$5+}xoJ(NPv%&(vcnP9>UCYC=s! zUav*itCS7C4|blr*;M{P*Bm5gNux*8w*v`7Se|#TqsFU)EBCxPUqfN$k*|RU3pn&E zpVp7^KS)THyf`V8V<@oVc+8fFpY#?#(uoP=Vwew;&fd7dX=cVVn;ozM*?MSmdX+X$ z3l!LWj}q(j!u=tP=;L8<jWBeJ60sMA;v2<Wksi3JHYNh=7ser_dQJ{`l9KkcZNaA( zpwGYg{-sff?ipJwnbc5x4b$K{2hzZgQm4^SYrbBcNHGK>*rjLjH?!mgku;ls^S))C zAw-}K0U|&8&kHlPZVorv?}~k~P<ySvZqnn-1fEccXQcoW99aeuCFI8US;DhO3Vzwg z$J+Ut+$Pkg;l^o@lYc`LnAEA9oem3Vk2iTEAc@^^FCXVrlNF5-EIzL>XDCSs<y=HS z;+Frch;2DP13EwFKI{DK_ee%xYV*`Gu$98@Z8Eke8a$7;yci|pp`5RB3E;NaL@dk_ zF^o#s<V%Y}V-aw+AvJ9*r%ThPEGjB2N_+c0VFvA%mj$}eFZ4IIIY?0j6)EK&uJo+3 zK^oqx9>OXSAd7tNNhuI`1dsHS^)AJXv_dUzJ6?4Xwzs(NH-}Wgu#E2UYSE8t+2sPU z4B%`lU?&&u#CyS$K<!i3_1K#9tP{KnZhae<soJxw(lHLSlJg}yl}3Or?Hx^8P#;tJ zc`_>nB$F6=RQP%#2}0DdLh`!eFJ9B3b$%z?+D0VUGsqMtQX3nM*^-#Bc^pm)<Lp>Y zb;?V(zt5`JxmIh%G>4~bTB5Z0EU%%DTNH|utSPieA)^)c+mk~0x((FnXKf-7*e4CM zmat~n6Ma}+$BvQux4qDAEsVH@vIXh=f}_q?=7zSaY6_`%L_2b!9~HHxmlc}9{z1K) zNMyqmleDJ>jn;H{4u(|mrGD`!#OzU&{i(@mC8cv59f;ri_)2=zwIN^jG~n-{zcvh| zts`q5T?wxBBr{Vm7_Sg5rtZ=OXttu=-C;X$U)i(*ppcCA@nVMITO9Wm#qR~#L+1nk z+(qc$cFt3vQNBtlk;(o7)q|IBxur`TY!5)6N&=4*BmvW1{wt24b${2@K*T>kc`}^Q zyy%sE5bqw@DaGFAAX&ml%EeDi){#cia$bp)>s+y3+ca_4w@zK&Pogl^5?-~~=7!y9 zcfB-5r`Log3u9keu^MU=shJz|#YFb}xSLjgY-P)@qoTW7xlbBxwjLio($3ya@GfWx zFpcobH{&*FJjVy*ug_XWxT&>j-g$12q|Z1{F<FGl)YFa1ZgdDT4_nAFpacGNM5e>+ zM`Ewwxw9X81gTsowdIJ!%2T?N$mP7SZ+)}UeBXJ?^!jzdmMoKbw*U&f;0L_~cV%+1 z2?lp0XR{*Syx~*K3s#HB%Q3@_HBvDqB(+zK{y7R9OBBb<LMQh$4LzoZIt-9}G0ZOI zEa$RF^*}w*9SxaKpzw9IQky~+u>I#YW_ZJ?<h?+tS4G2zru$QWL=j3t;dS9sP7hIP zEU;QhmPA2Ir##7ZN@rU0-|vle#FPVd#uK=G;aimA3N`E(uVcb3cqkK76n;KZ=gz)% zh-@}yA>c?b3~Nv{ep)G~c4oMmHAWBx4u$B!4jTLT9@X!QRAM0r60X+qZ7+|f-;bB0 z0d%HRGstSpyv+;pZ19PF+xqPcVy;sEFxY`khessY^0SK*0a!L$y{;w2Hv;L`k(*bm zz4o0S`G`DD9dawK1Uzl&!?Cv{7<^Hsmt%e^!8_iaPJI8h(im`!ilk9p!rq!S$<T`+ zGV-jazg3PhpmQ;eqlKg!*R=+dZ<)<L>6~YLe!nbExT?wJupurWf6*%u*Eqh@r*d)i z)o*i{Dd&<*S0i%1OHon14yEzufv~>|FdKr;$Pe5uV0S$g=-LZ^V&z*fdTX)=1w}6D z{jFU8^}bExjX{8iQJ1`#q*J-8P0z9QG}2WrK1EqSFo2$RsdJq(fEs>|5cb;zS`SS! z%(nqv2FEQ5-Y>i+UZl~;3^Ew(nU!{k{$T-<riL~#)T>%ubfU|5+#Nt`+SXOIP&QVv zrWx=Ol7XVWkX5$5AP9+Jbd3*j7to*e1N&kQUnVe}9!acDaYcTwo`za;x)g>(-it*I z(|;DSZ7#vtiQ&V%fuvcnb38ph6_d3NB`nHL?apP)Hq@&U3pW$I=eUQGUP5t2f_R>& z5$4x_q?`)1Mk{6cbV}B(gz`I-e!CsCkab*pI6xnU{w0@FX!AWU|EobhtUj%-!KkeO zEJiIl+WTY5UAqrX(SA*!1K~7rRJ(~SY!Dut4o^V1o?1~-v6tK=IQ*WuK}3m4rKZWb z9F_++6;Tx&le*gs>o`4-x^=>upK-k(UwXMV4GcpH87rU82FXE#F;C#+W2LS&=D<WD z#<Z~UehQ(ODVZ;!Y%S-GW8M#*w}0Ijc4*uEE-n391q5MgNCQ*=JD^UgN-{JgOr@z4 zyMgDHI4Mf!pWnc(mTpXU*TU@c_z5MprJM7U2NJb4JBt6buUhW}oe*_+!u1p^cWOn7 z812BPd{9+$=<Dh!kaeHj*5co1O}P5L$$#!4MWG<dV;}o|50!?23emSKmzc->K4lKv zXk4?6#gCU-e+!`sH*aVgjGQx!3I@pyln=fNN$d1bc_K)8vUn+m*-rtv2A*?T2;wGu zN$UGt_fpfw1+P6eT6KS}cTS8gO!=7wpU?l==iLO+?~4Ys8-BBd_CHtNUei9PJwnN) zTn85C-LzJ5d(doQc-epwQw;gtql4cnw4=Z;LXJ7DvsN~(;&P<i<LL$aG2Tk9Jo|(V z)4$K0q>55;&mJl~oaV^t57$}!^?p9r-&YS@yFA~#nTed8sskh17ivJ|r}9rXA>UBb z1_d}yn=8&4w8UzwAjf)FB;QH`=Xye?#?QTdmz2SU4Yb`#z|lUn{F1@ndvnPNQ4ur? zJCATliO^V9T@T~fWo#yV-?HtXsMwZmj}f+o3&0VnvgIud)?%?HZYp0TA8;Cs`Nc4r z`6lY*aL3OEd`%ndSK<fdZcWYr`>ngg6)MoFV4417K=b{L1E3vmnxEv=EFG<xV5~{6 zqx(wUF^kWvyK=@%O5MaZjl%F;IRzL+T<}{WBKCRIX^_hRiBr#vv0aEEM@5Qffg+Lo zQwm`{_lkaANs=dY&hF(%OUodNqrBp_>5>Q_+A0McX`xdDi#%0c#aJgRDT0dv$2Jb8 zyawaOEi;I`=y8;IxK(H*FAP{dMc;=~_)==?ss~2=-FW)fVS?x}R-dTqSt?T)f@-40 zA>GSmitVO{NM%L`V+B_Y?VL;ZeFt)W;d<R=IR<YFd_zKf8-<I0@Fx9YYiav`0Uib6 z`qd!{{*iF)J$R`R5eZIt8^&0VS);9UgZ(?ho+A+~s5}t3SvWGRj}=b@a|oEX$?Djr zpwgig`-lfKI-<REearxi9j6I{3&$jg0X=o{H0qQVqSE0}>e1feb^Lg;L>gHc14h8p zT@+)9RurS-SNH!4^mo#?IJU<~`TgYEkvQDH(~YRU^!}Iv7&}ZVL9+#O1T(R{-d{g( zAWBq=9wn>l?8Z=MM&<TO1i<K<L~-Ii(Y;g=UQ&y|R^0Jzbj;bL@00S@O{1~v97?Zu zru)aYUTQ}j6EawH9i|*c^TjjQo8%@?G;SiIc3Wxg;2?g-#NN^Ubx6+8Vi27`SziEb zAd+&q(4E;xwP=Fqhn+s2KIxBg&xD&a$903G;Lhw(+xI$V0miO#ap_vR9x?SV+-#EZ zgODf->PA-D8O_5Ue>N70xcmc+@(shBS(dUh?Mn;{)I%7&blCaw`kW`#W~r3FI<pVj z47BgxPKgI=UzeIcnwE5e>l19&{;%&{$Su?=_5_n{@_r{Erv6D7g9)%Yj4Ao63UOao zeRY@Gz0KdEaLtdj;kTrctfw)d=V-ZU)Mcuc2DQdx!35E;r_KM>Z2-pZD?cCtx0s9g z-eMO@9if^Il3!_~3N+A2C7EXSA}A+g*+@;j8|!S%&s!>YEqn;J9;T}WRzPI@7J)Pf z!uu82oQpLy=mQOQh_m+?1M#_A0n9UCvQ3r?;D!aPfAK9gA!U(ZYI}i*mZi2xfHCUh zd~D%DO4eLsjMWS4-jsi=|CjPl2EzEtKtS5CGEqG5;=yOh8U0UIn@f-#9!utj=H{ch z@46+xJOg3!1_8ATMTJ?ojX*mL>c;Pk0GmHFg}@>!yam+-FQ0|P+eVbjb8o(rYJqmi zQ)^z8w~>m*gbo@!+uM{C9>6ldZ^)f>&mVZ2vS~3fmKi|Dx}4S8c)K;gJOd-p_#*3E zfK45~M#151Y+gXh<11C8j748)3S#kZJKG?qPtYs2=n?Kc_iFs^sonYxN>aWAN>+hv zBC@i!SSB?>%2xyr3*}AfIYvc4uwEIrA?)tJ^32n50Wi;C6zc@#;#MqM_PPKzx2!~6 zekue?BPGQHS);f_Dn;;+V)4Z)H?v0S<?`7`W5cdyEwM$<y}aMa8VRb+McLTM^nF>p z?*~=WUW?U7k*GTPj3F}=&Izs<OOy;jX41?)Q{}|8i7-9%##OkR8soOuyW^uBR{--Y z3D=V{8U_CnWLs}Tod|BOwISD~>PZkhOi7DGYFck(3yni`Ei<tD!|q1;i&;kgG^I`A z<~hZ?Wyyh6Ds^pt#UWMEnV^Zp#t;KgF_BbieCjAk#|EfW7L?otf&O@G$0fkL7pfj? z08|YqTRAd@$O_3)BQ2<c2>&P9C_&{f00=&$0002nNkl<Zu)Ocb&-L57fCbW=LE|U^ z76B(YH=L&x-czFU_@PyeXF>b>xCfZ`utCrid#vMFidvCP2D4EX^Jtd@8QJ4cso~lE z=`=2_THj7wV*-l*{Zw1~b?Tq$Oohhn*9?RJ=GU}^PV#jILICr1rb5U0H3K1l`892! zlYE_l5Wsw$snBtL%|HlXeob5GBwuGB1TbG`Ds-G*GY|rpU(*&k$=4YO0nFE#3LWRy z41@sY*R+LB@^uD60P}UGLdW?v10jI<HEp4je4T+1z<iyl&~bjv!2bi&V{h@*O!lh) O0000<MNUMnLSTX_UaYbJ literal 0 HcmV?d00001 diff --git a/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-83.5@2x.png b/mobile/ios/Runner/Assets.xcassets/AppIcon.appiconset/immich-logo-1024-83.5@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..58dfab69a9a4809b43d60f709d065305cb2e6aa7 GIT binary patch literal 19756 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 literal 0 HcmV?d00001 diff --git a/server/entrypoint.sh b/server/entrypoint.sh new file mode 100644 index 0000000000..cd13d4545a --- /dev/null +++ b/server/entrypoint.sh @@ -0,0 +1,2 @@ +# npm run typeorm migration:run +npm run start:dev \ No newline at end of file diff --git a/server/package-lock.json b/server/package-lock.json index a905c7db8b..f28af05fc0 100644 --- a/server/package-lock.json +++ b/server/package-lock.json @@ -1,10537 +1,8 @@ { "name": "immich", "version": "0.0.1", - "lockfileVersion": 2, + "lockfileVersion": 1, "requires": true, - "packages": { - "": { - "name": "immich", - "version": "0.0.1", - "license": "UNLICENSED", - "dependencies": { - "@nestjs/bull": "^0.4.2", - "@nestjs/common": "^8.0.0", - "@nestjs/config": "^1.1.6", - "@nestjs/core": "^8.0.0", - "@nestjs/jwt": "^8.0.0", - "@nestjs/mapped-types": "*", - "@nestjs/passport": "^8.1.0", - "@nestjs/platform-express": "^8.0.0", - "@nestjs/platform-fastify": "^8.2.6", - "@nestjs/platform-socket.io": "^8.2.6", - "@nestjs/typeorm": "^8.0.3", - "@nestjs/websockets": "^8.2.6", - "@socket.io/redis-adapter": "^7.1.0", - "bcrypt": "^5.0.1", - "bull": "^4.4.0", - "class-transformer": "^0.5.1", - "class-validator": "^0.13.2", - "dotenv": "^14.2.0", - "exifr": "^7.1.3", - "fluent-ffmpeg": "^2.1.2", - "joi": "^17.5.0", - "lodash": "^4.17.21", - "passport": "^0.5.2", - "passport-jwt": "^4.0.0", - "pg": "^8.7.1", - "reflect-metadata": "^0.1.13", - "rimraf": "^3.0.2", - "rxjs": "^7.2.0", - "sharp": "0.28", - "socket.io-redis": "^6.1.1", - "systeminformation": "^5.11.0", - "typeorm": "^0.2.41" - }, - "devDependencies": { - "@nestjs/cli": "^8.0.0", - "@nestjs/schematics": "^8.0.0", - "@nestjs/testing": "^8.0.0", - "@types/bcrypt": "^5.0.0", - "@types/bull": "^3.15.7", - "@types/express": "^4.17.13", - "@types/fluent-ffmpeg": "^2.1.20", - "@types/imagemin": "^8.0.0", - "@types/jest": "27.0.2", - "@types/lodash": "^4.14.178", - "@types/multer": "^1.4.7", - "@types/node": "^16.0.0", - "@types/passport-jwt": "^3.0.6", - "@types/sharp": "^0.29.5", - "@types/supertest": "^2.0.11", - "@typescript-eslint/eslint-plugin": "^5.0.0", - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^8.0.1", - "eslint-config-prettier": "^8.3.0", - "eslint-plugin-prettier": "^4.0.0", - "jest": "^27.2.5", - "prettier": "^2.3.2", - "source-map-support": "^0.5.20", - "supertest": "^6.1.3", - "ts-jest": "^27.0.3", - "ts-loader": "^9.2.3", - "ts-node": "^10.0.0", - "tsconfig-paths": "^3.10.1", - "typescript": "^4.3.5" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.0.tgz", - "integrity": "sha512-d5RysTlJ7hmw5Tw4UxgxcY3lkMe92n8sXCcuLPAyIAHK6j8DefDwtGnVVDgOnv+RnEosulDJ9NPKQL27bDId0g==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@angular-devkit/core": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.1.2.tgz", - "integrity": "sha512-uXVesIRiCL/Nv+RSV8JM4j8IoZiGCGnqV2FOJ1hvH7DPxIjhjPMdG/B54xMydZpeASW3ofuxeORyAXxFIBm8Zg==", - "dev": true, - "dependencies": { - "ajv": "8.8.2", - "ajv-formats": "2.1.1", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/core/node_modules/ajv": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz", - "integrity": "sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@angular-devkit/core/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/@angular-devkit/core/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@angular-devkit/schematics": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.1.2.tgz", - "integrity": "sha512-ayYbHGU8QpMGx8ZyhKOBupz+Zfv/2H1pNQErahYV3qg7hA9hfjTGmNmDQ4iw0fiT04NajjUxuomlKsCsg7oXDw==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "13.1.2", - "jsonc-parser": "3.0.0", - "magic-string": "0.25.7", - "ora": "5.4.1", - "rxjs": "6.6.7" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/schematics-cli": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-13.1.2.tgz", - "integrity": "sha512-XSkcVuaaajijQOWE8YerY/8DVuYQWvXxVukweEwkaHSftDQZhfCOZ83nGKbuWkdOdnuDbrc9ve5ZzekplkzVQw==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "13.1.2", - "@angular-devkit/schematics": "13.1.2", - "ansi-colors": "4.1.1", - "inquirer": "8.2.0", - "minimist": "1.2.5", - "symbol-observable": "4.0.0" - }, - "bin": { - "schematics": "bin/schematics.js" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/schematics-cli/node_modules/inquirer": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", - "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.2.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@angular-devkit/schematics/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/@angular-devkit/schematics/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.0.tgz", - "integrity": "sha512-392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.17.0.tgz", - "integrity": "sha512-x/5Ea+RO5MvF9ize5DeVICJoVrNv0Mi2RnIABrZEKYvPEpldXwauPkgvYA17cKa6WpU3LoYvYbuEMFtSNFsarA==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.0.0", - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.0", - "@babel/helper-compilation-targets": "^7.16.7", - "@babel/helper-module-transforms": "^7.16.7", - "@babel/helpers": "^7.17.0", - "@babel/parser": "^7.17.0", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.0", - "@babel/types": "^7.17.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.1.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.17.0.tgz", - "integrity": "sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.17.0", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/generator/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.16.7.tgz", - "integrity": "sha512-mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.16.4", - "@babel/helper-validator-option": "^7.16.7", - "browserslist": "^4.17.5", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", - "dev": true, - "dependencies": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", - "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.16.7.tgz", - "integrity": "sha512-gaqtLDxJEFCeQbYp9aLAefjhkKdjKcdh6DB7jniIGU3Pz52WAmP268zK0VgPz9hUNkMSYeH976K2/Y6yPadpng==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-module-imports": "^7.16.7", - "@babel/helper-simple-access": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/helper-validator-identifier": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.16.7.tgz", - "integrity": "sha512-Qg3Nk7ZxpgMrsox6HreY1ZNKdBq7K72tDSliA6dCl5f007jR4ne8iD5UzuNnCJH2xBf2BEEVGr+/OL6Gdp7RxA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.16.7.tgz", - "integrity": "sha512-ZIzHVyoeLMvXMN/vok/a4LWRy8G2v205mNP0XOuf9XRLyX5/u9CnVulUtDgUTama3lT+bf/UqucuZjqiGuTS1g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", - "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.0.tgz", - "integrity": "sha512-Xe/9NFxjPwELUvW2dsukcMZIp6XwPSbI4ojFBJuX5ramHuVE22SVcZIwqzdWo5uCgeTXW8qV97lMvSOjq+1+nQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.16.7", - "@babel/traverse": "^7.17.0", - "@babel/types": "^7.17.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.17.0.tgz", - "integrity": "sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-bigint": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.7.tgz", - "integrity": "sha512-YhUIJHHGkqPgEcMYkPCKTyGUdoGKWtopIycQyjJH8OjvRgOYsXsaKehLVPScKJWAULPxMa4N1vCe6szREFlZ7A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.0.tgz", - "integrity": "sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.17.0", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.17.0", - "@babel/types": "^7.17.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz", - "integrity": "sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true - }, - "node_modules/@cspotcode/source-map-consumer": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-consumer/-/source-map-consumer-0.8.0.tgz", - "integrity": "sha512-41qniHzTU8yAGbCp04ohlmSrZf8bkf/iJsl3V0dRGsQN/5GFfx+LbCSsCpp2gqrqjTVg/K6O8ycoV35JIwAzAg==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.7.0.tgz", - "integrity": "sha512-X4xqRHqN8ACt2aHVe51OxeA2HjbcL4MqFqXkrmQszJ1NOUuUu5u6Vqx/0lZSVNku7velL5FC/s5uEAj1lsBMhA==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-consumer": "0.8.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz", - "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.2.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@fastify/ajv-compiler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-1.1.0.tgz", - "integrity": "sha512-gvCOUNpXsWrIQ3A4aXCLIdblL0tDq42BG/2Xw7oxbil9h11uow10ztS2GuFazNBfjbrsZ5nl+nPl5jDSjj5TSg==", - "dependencies": { - "ajv": "^6.12.6" - } - }, - "node_modules/@hapi/hoek": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.2.1.tgz", - "integrity": "sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==" - }, - "node_modules/@hapi/topo": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", - "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.3.tgz", - "integrity": "sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.0.tgz", - "integrity": "sha512-WUzX5neFb0IOQOy/7A2VhiGdxJKk85Xns2Oq29JaHmtnSel+BsjwyQZxzAs2Xxfd2i452fwdDG9ox/IWi81bdQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.0", - "jest-util": "^27.5.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/core": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.0.tgz", - "integrity": "sha512-DcUTkZyon+dRozTEjy38Bgt3PIU51GdUJuz3uHKg5maGtmCaYqPUGiM3Xddqi7eIMC7E3fTGIlHqH9i0pTOy6Q==", - "dev": true, - "dependencies": { - "@jest/console": "^27.5.0", - "@jest/reporters": "^27.5.0", - "@jest/test-result": "^27.5.0", - "@jest/transform": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.0", - "jest-config": "^27.5.0", - "jest-haste-map": "^27.5.0", - "jest-message-util": "^27.5.0", - "jest-regex-util": "^27.5.0", - "jest-resolve": "^27.5.0", - "jest-resolve-dependencies": "^27.5.0", - "jest-runner": "^27.5.0", - "jest-runtime": "^27.5.0", - "jest-snapshot": "^27.5.0", - "jest-util": "^27.5.0", - "jest-validate": "^27.5.0", - "jest-watcher": "^27.5.0", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/environment": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.0.tgz", - "integrity": "sha512-lg0JFsMaLKgpwzs0knOg21Z4OQwaJoBLutnmYzip4tyLTXP21VYWtYGpLXgx42fw/Mw05m1WDXWKgwR6WnsiTw==", - "dev": true, - "dependencies": { - "@jest/fake-timers": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "jest-mock": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/fake-timers": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.0.tgz", - "integrity": "sha512-e3WrlpqSHq3HAQ03JFjTn8YCrsyg640/sr1rjkM2rNv8z1ufjudpv4xq6DvvTJYB6FuUrfg0g+7bSKPet5QfCQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.0", - "jest-mock": "^27.5.0", - "jest-util": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/globals": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.0.tgz", - "integrity": "sha512-wWpMnTiR65Q4JD7fr2BqN+ZDbi99mmILnEM6u7AaX4geASEIVvQsiB4RCvwZrIX5YZCsAjviJQVq9CYddLABkg==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.0", - "@jest/types": "^27.5.0", - "expect": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/reporters": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.0.tgz", - "integrity": "sha512-DG+BmVSx2uaJSTKz5z1eScgHTQ6/cZ5CCKSpmpr4sXQPwV2V5aUMOBDwXX1MnqNRhH7/Rq9K97ynnocvho5aMA==", - "dev": true, - "dependencies": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.0", - "@jest/test-result": "^27.5.0", - "@jest/transform": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.0", - "jest-resolve": "^27.5.0", - "jest-util": "^27.5.0", - "jest-worker": "^27.5.0", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/@jest/reporters/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/source-map": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.0.tgz", - "integrity": "sha512-0xr7VZ+JNCRrlCyRMYhquUm8eU3kNdGDaIW4s3L625bNjk273v9ZhAm3YczIuzJzYH0pnjT+QSCiZQegWKjeow==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/source-map/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/test-result": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.0.tgz", - "integrity": "sha512-Lxecvx5mN6WIeynIyW0dWDQm8UPGMHvTwxUPK+OsZaqBDMGaNDSZtw53VoVk7HyT6AcRblMR/pfa0XucmH4hGw==", - "dev": true, - "dependencies": { - "@jest/console": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/test-sequencer": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.0.tgz", - "integrity": "sha512-WzjcDflqbpWe+SnJPCvB2gB6haGfrkzAgzY6Pb1aq+EPoVAj2mwBaKN0ROWI4H87aSslCjq2M+BUQFNJ8VpnDA==", - "dev": true, - "dependencies": { - "@jest/test-result": "^27.5.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.0", - "jest-runtime": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.0.tgz", - "integrity": "sha512-yXUy/iO3TH1itxJ9BF7LLjuXt8TtgtjAl0PBQbUaCvRa+L0yYBob6uayW9dFRX/CDQweouLhvmXh44zRiaB+yA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.0", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.0", - "jest-regex-util": "^27.5.0", - "jest-util": "^27.5.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jest/transform/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@jest/types": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.0.tgz", - "integrity": "sha512-oDHEp7gwSgA82RZ6pzUL3ugM2njP/lVB1MsxRZNOBk+CoNvh9SpH1lQixPFc/kDlV50v59csiW4HLixWmhmgPQ==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.4.tgz", - "integrity": "sha512-cz8HFjOFfUBtvN+NXYSFMHYRdxZMaEl0XypVrhzxBgadKIXhIkRd8aMeHhmF56Sl7SuS8OnUpQ73/k9LE4VnLg==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.10", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.10.tgz", - "integrity": "sha512-Ht8wIW5v165atIX1p+JvKR5ONzUyF4Ac8DZIQ5kZs9zrb6M8SJNXpx1zn04rn65VjBMygRoMXcyYwNK0fT7bEg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.2.tgz", - "integrity": "sha512-9KzzH4kMjA2XmBRHfqG2/Vtl7s92l6uNDd0wW7frDE+EUvQFGqNXhWp0UGJjSkt3v2AYjzOZn1QO9XaTNJIt1Q==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@mapbox/node-pre-gyp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@mapbox/node-pre-gyp/-/node-pre-gyp-1.0.4.tgz", - "integrity": "sha512-M669Qo4nRT7iDmQEjQYC7RU8Z6dpz9UmSbkJ1OFEja3uevCdLKh7IZZki7L1TZj02kRyl82snXFY8QqkyfowrQ==", - "dependencies": { - "detect-libc": "^1.0.3", - "https-proxy-agent": "^5.0.0", - "make-dir": "^3.1.0", - "node-fetch": "^2.6.1", - "nopt": "^5.0.0", - "npmlog": "^4.1.2", - "rimraf": "^3.0.2", - "semver": "^7.3.4", - "tar": "^6.1.0" - }, - "bin": { - "node-pre-gyp": "bin/node-pre-gyp" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@mapbox/node-pre-gyp/node_modules/tar": { - "version": "6.1.11", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", - "integrity": "sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nestjs/bull": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@nestjs/bull/-/bull-0.4.2.tgz", - "integrity": "sha512-HYRMbgqoUIpGplXN8kaZ23E/yHn6TRrQ297ILRqaHTxBp4vO+XNLfL1qUmJ4Z6weufsNKGg0xcX4dSC5AhXV9g==", - "peerDependencies": { - "@nestjs/common": "^6.10.11 || ^7.0.0 || ^8.0.0", - "@nestjs/core": "^6.10.11 || ^7.0.0 || ^8.0.0", - "bull": "^3.3 || ^3.22.0" - } - }, - "node_modules/@nestjs/cli": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/@nestjs/cli/-/cli-8.2.0.tgz", - "integrity": "sha512-f5grQOgrRcfHfOUP94OWsMdVYy6bit0zRSxPZ5+tfsFWkiPWdcx5Ba2M2socTykkiNHruXBu07lYvcKh94do7Q==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "13.1.2", - "@angular-devkit/schematics": "13.1.2", - "@angular-devkit/schematics-cli": "13.1.2", - "@nestjs/schematics": "^8.0.3", - "chalk": "3.0.0", - "chokidar": "3.5.2", - "cli-table3": "0.6.1", - "commander": "4.1.1", - "fork-ts-checker-webpack-plugin": "6.5.0", - "inquirer": "7.3.3", - "node-emoji": "1.11.0", - "ora": "5.4.1", - "os-name": "4.0.1", - "rimraf": "3.0.2", - "shelljs": "0.8.5", - "source-map-support": "0.5.21", - "tree-kill": "1.2.2", - "tsconfig-paths": "3.12.0", - "tsconfig-paths-webpack-plugin": "3.5.2", - "typescript": "4.5.4", - "webpack": "5.66.0", - "webpack-node-externals": "3.0.0" - }, - "bin": { - "nest": "bin/nest.js" - }, - "engines": { - "node": ">= 10.13.0", - "npm": ">= 6.11.0" - } - }, - "node_modules/@nestjs/cli/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@nestjs/cli/node_modules/typescript": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz", - "integrity": "sha512-VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/@nestjs/common": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-8.2.6.tgz", - "integrity": "sha512-flLYSXunxcKyjbYddrhwbc49uE705MxBt85rS3mHyhDbAIPSGGeZEqME44YyAzCg1NTfJSNe7ztmOce5kNkb9A==", - "dependencies": { - "axios": "0.24.0", - "iterare": "1.2.1", - "tslib": "2.3.1", - "uuid": "8.3.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "cache-manager": "*", - "class-transformer": "*", - "class-validator": "*", - "reflect-metadata": "^0.1.12", - "rxjs": "^7.1.0" - }, - "peerDependenciesMeta": { - "cache-manager": { - "optional": true - }, - "class-transformer": { - "optional": true - }, - "class-validator": { - "optional": true - } - } - }, - "node_modules/@nestjs/config": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/@nestjs/config/-/config-1.1.6.tgz", - "integrity": "sha512-HYizKt6Dr6gcZl8FmZbTfQxP0MG8oXMh+gVFT0XCwYDAq26BOKyhPsIxrKsryicVeKViRgetCUhlJY9EqaekZA==", - "dependencies": { - "dotenv": "10.0.0", - "dotenv-expand": "5.1.0", - "lodash": "4.17.21", - "uuid": "8.3.2" - }, - "peerDependencies": { - "@nestjs/common": "^7.0.0 || ^8.0.0", - "reflect-metadata": "^0.1.13", - "rxjs": "^6.0.0 || ^7.2.0" - } - }, - "node_modules/@nestjs/config/node_modules/dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", - "engines": { - "node": ">=10" - } - }, - "node_modules/@nestjs/core": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-8.2.6.tgz", - "integrity": "sha512-NwPcEIMmCsucs3QaDlQvkoU1FlFM2wm/WjaqLQhkSoIEmAR1gNtBo88f5io5cpMwCo1k5xYhqGlaSl6TfngwWQ==", - "hasInstallScript": true, - "dependencies": { - "@nuxtjs/opencollective": "0.3.2", - "fast-safe-stringify": "2.1.1", - "iterare": "1.2.1", - "object-hash": "2.2.0", - "path-to-regexp": "3.2.0", - "tslib": "2.3.1", - "uuid": "8.3.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0", - "@nestjs/microservices": "^8.0.0", - "@nestjs/platform-express": "^8.0.0", - "@nestjs/websockets": "^8.0.0", - "reflect-metadata": "^0.1.12", - "rxjs": "^7.1.0" - }, - "peerDependenciesMeta": { - "@nestjs/microservices": { - "optional": true - }, - "@nestjs/platform-express": { - "optional": true - }, - "@nestjs/websockets": { - "optional": true - } - } - }, - "node_modules/@nestjs/jwt": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@nestjs/jwt/-/jwt-8.0.0.tgz", - "integrity": "sha512-fz2LQgYY2zmuD8S+8UE215anwKyXlnB/1FwJQLVR47clNfMeFMK8WCxmn6xdPhF5JKuV1crO6FVabb1qWzDxqQ==", - "dependencies": { - "@types/jsonwebtoken": "8.5.4", - "jsonwebtoken": "8.5.1" - }, - "peerDependencies": { - "@nestjs/common": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@nestjs/jwt/node_modules/@types/jsonwebtoken": { - "version": "8.5.4", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.4.tgz", - "integrity": "sha512-4L8msWK31oXwdtC81RmRBAULd0ShnAHjBuKT9MRQpjP0piNrZdXyTRcKY9/UIfhGeKIT4PvF5amOOUbbT/9Wpg==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@nestjs/mapped-types": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-1.0.1.tgz", - "integrity": "sha512-NFvofzSinp00j5rzUd4tf+xi9od6383iY0JP7o0Bnu1fuItAUkWBgc4EKuIQ3D+c2QI3i9pG1kDWAeY27EMGtg==", - "peerDependencies": { - "@nestjs/common": "^7.0.8 || ^8.0.0", - "class-transformer": "^0.2.0 || ^0.3.0 || ^0.4.0 || ^0.5.0", - "class-validator": "^0.11.1 || ^0.12.0 || ^0.13.0", - "reflect-metadata": "^0.1.12" - }, - "peerDependenciesMeta": { - "class-transformer": { - "optional": true - }, - "class-validator": { - "optional": true - } - } - }, - "node_modules/@nestjs/passport": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@nestjs/passport/-/passport-8.1.0.tgz", - "integrity": "sha512-IJ0AumoIWPzzki8d1TixTLcWJiNhJxzpn9ejAYA0TaKsC2B1zyg58WotTU3U/perCOiiAgjpvTB4vA/7L8K9Mg==", - "peerDependencies": { - "@nestjs/common": "^6.0.0 || ^7.0.0 || ^8.0.0", - "passport": "^0.4.0 || ^0.5.0" - } - }, - "node_modules/@nestjs/platform-express": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/platform-express/-/platform-express-8.2.6.tgz", - "integrity": "sha512-wbPqXrLdeokfMCHkWBHgFobCVL4OKRAOJIFGNlT/3u4JIJndoGBIuSDQohhY2o7Ue0JIYqKw+PyXiN4y/iUEng==", - "dependencies": { - "body-parser": "1.19.1", - "cors": "2.8.5", - "express": "4.17.2", - "multer": "1.4.4", - "tslib": "2.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0", - "@nestjs/core": "^8.0.0" - } - }, - "node_modules/@nestjs/platform-fastify": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/platform-fastify/-/platform-fastify-8.2.6.tgz", - "integrity": "sha512-ZvMzqvOm2yEDymw/v1qgrNWGLr429lqOTYc777SnDleK4m1XGItdRAm7Y9as0fiztOWvBpaeF7Bq04hbuZeebA==", - "dependencies": { - "fastify": "3.27.0", - "fastify-cors": "6.0.2", - "fastify-formbody": "5.2.0", - "light-my-request": "4.7.0", - "middie": "5.3.0", - "path-to-regexp": "3.2.0", - "tslib": "2.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0", - "@nestjs/core": "^8.0.0" - } - }, - "node_modules/@nestjs/platform-socket.io": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/platform-socket.io/-/platform-socket.io-8.2.6.tgz", - "integrity": "sha512-Gkay52E6PmhuL1e1EF1GnJuivt4NxXaqY2I3VV4LF4X2jNHmL09EAyJofs1G6ySF8QUtR9HqtW/+ohxr7RipsQ==", - "dependencies": { - "socket.io": "4.4.1", - "tslib": "2.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0", - "@nestjs/websockets": "^8.0.0", - "rxjs": "^7.1.0" - } - }, - "node_modules/@nestjs/schematics": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/@nestjs/schematics/-/schematics-8.0.5.tgz", - "integrity": "sha512-nK1hWQeLNbdhsiJDX/XJXLqq7nC6/xxC8CN+seFTQmly+H3gG2xaFnl6JPHURumuQaYJX8JEpC8m0+4tz+wvOg==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "13.0.2", - "@angular-devkit/schematics": "13.0.2", - "fs-extra": "10.0.0", - "jsonc-parser": "3.0.0", - "pluralize": "8.0.0" - }, - "peerDependencies": { - "typescript": "^3.4.5 || ^4.3.5" - } - }, - "node_modules/@nestjs/schematics/node_modules/@angular-devkit/core": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-13.0.2.tgz", - "integrity": "sha512-I4co4GH+iu0tns+UXfMtjJISO+cLpaUuiEH6kf0wF5cqjaIeluA9UjIRnxuNbdTW8iE2xVj/UWhQfHe/Ncp76w==", - "dev": true, - "dependencies": { - "ajv": "8.6.3", - "ajv-formats": "2.1.1", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.7", - "source-map": "0.7.3" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@nestjs/schematics/node_modules/@angular-devkit/schematics": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.0.2.tgz", - "integrity": "sha512-qrTe1teQptgP8gmVy6QX0T4dNfnNipEv+cM2cr7JXOmkPpwF+6oBDrTRIJ55t6rziqrXHJ3rxjKm1aHAxFrIEQ==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "13.0.2", - "jsonc-parser": "3.0.0", - "magic-string": "0.25.7", - "ora": "5.4.1", - "rxjs": "6.6.7" - }, - "engines": { - "node": "^12.20.0 || ^14.15.0 || >=16.10.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@nestjs/schematics/node_modules/ajv": { - "version": "8.6.3", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz", - "integrity": "sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@nestjs/schematics/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/@nestjs/schematics/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/@nestjs/testing": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/testing/-/testing-8.2.6.tgz", - "integrity": "sha512-Cg8tM7yxlLDBO+CTNjk6X/UkxGRsprFc8gDHGEGesiE9wLErxNnslFugfUnYWJaSzmLZSqcFFig7mThc8VSxrw==", - "dev": true, - "dependencies": { - "optional": "0.1.4", - "tslib": "2.3.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0", - "@nestjs/core": "^8.0.0", - "@nestjs/microservices": "^8.0.0", - "@nestjs/platform-express": "^8.0.0" - }, - "peerDependenciesMeta": { - "@nestjs/microservices": { - "optional": true - }, - "@nestjs/platform-express": { - "optional": true - } - } - }, - "node_modules/@nestjs/typeorm": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/@nestjs/typeorm/-/typeorm-8.0.3.tgz", - "integrity": "sha512-tf9rTXP6LeFInkwd+tktQhtLRsKp4RRYImprqT8gcHcJDx+xMP1IygnXELOKwF5vo2/mnhrGtBlRQ/iiS6170g==", - "dependencies": { - "uuid": "8.3.2" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0", - "@nestjs/core": "^8.0.0", - "reflect-metadata": "^0.1.13", - "rxjs": "^7.2.0", - "typeorm": "^0.2.34" - } - }, - "node_modules/@nestjs/websockets": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/websockets/-/websockets-8.2.6.tgz", - "integrity": "sha512-GUdPd5X+ojNeaYE+/4c4105tb8skvQt3KyR7CCzrhMziHsRakDLQ/8LO932fh8ADrkRxr7jfAbt3UTq5FggQ2w==", - "dependencies": { - "iterare": "1.2.1", - "object-hash": "2.2.0", - "tslib": "2.3.1" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0", - "@nestjs/core": "^8.0.0", - "@nestjs/platform-socket.io": "^8.0.0", - "reflect-metadata": "^0.1.12", - "rxjs": "^7.1.0" - }, - "peerDependenciesMeta": { - "@nestjs/platform-socket.io": { - "optional": true - } - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nuxtjs/opencollective": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@nuxtjs/opencollective/-/opencollective-0.3.2.tgz", - "integrity": "sha512-um0xL3fO7Mf4fDxcqx9KryrB7zgRM5JSlvGN5AGkP6JLM5XEKyjeAiPbNxdXVXQ16isuAhYpvP88NgL2BGd6aA==", - "dependencies": { - "chalk": "^4.1.0", - "consola": "^2.15.0", - "node-fetch": "^2.6.1" - }, - "bin": { - "opencollective": "bin/opencollective.js" - }, - "engines": { - "node": ">=8.0.0", - "npm": ">=5.0.0" - } - }, - "node_modules/@sideway/address": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.3.tgz", - "integrity": "sha512-8ncEUtmnTsMmL7z1YPB47kPUq7LpKWJNFPsRzHiIajGC5uXlWGn+AmkYPcHNl8S4tcEGx+cnORnNYaw2wvL+LQ==", - "dependencies": { - "@hapi/hoek": "^9.0.0" - } - }, - "node_modules/@sideway/formula": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.0.tgz", - "integrity": "sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==" - }, - "node_modules/@sideway/pinpoint": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", - "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==" - }, - "node_modules/@sinonjs/commons": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz", - "integrity": "sha512-xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==", - "dev": true, - "dependencies": { - "type-detect": "4.0.8" - } - }, - "node_modules/@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^1.7.0" - } - }, - "node_modules/@socket.io/base64-arraybuffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@socket.io/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz", - "integrity": "sha512-dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/@socket.io/redis-adapter": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/redis-adapter/-/redis-adapter-7.1.0.tgz", - "integrity": "sha512-vbsNJKUQgtVHcOqNL2ac8kSemTVNKHRzYPldqQJt0eFKvlAtAviuAMzBP0WmOp5OoRLQMjhVsVvgMzzMsVsK5g==", - "dependencies": { - "debug": "~4.3.1", - "notepack.io": "~2.2.0", - "socket.io-adapter": "~2.3.0", - "uid2": "0.0.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@sqltools/formatter": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@sqltools/formatter/-/formatter-1.2.3.tgz", - "integrity": "sha512-O3uyB/JbkAEMZaP3YqyHH7TMnex7tWyCbCI4EfJdOCoN6HIhqdJBWTM6aCCiWQ/5f5wxjgU735QAIpJbjDvmzg==" - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.8.tgz", - "integrity": "sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.9.tgz", - "integrity": "sha512-/yBMcem+fbvhSREH+s14YJi18sp7J9jpuhYByADT2rypfajMZZN4WQ6zBGgBKp53NKmqI36wFYDb3yaMPurITw==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.1.tgz", - "integrity": "sha512-509r2+yARFfHHE7T6Puu2jjkoycftovhXRqW328PDXTVGKihlb1P8Z9mMZH04ebyajfRY7dedfGynlrFHJUQCg==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.2.tgz", - "integrity": "sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.1.18", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.18.tgz", - "integrity": "sha512-S7unDjm/C7z2A2R9NzfKCK1I+BAALDtxEmsJBwlB3EzNfb929ykjL++1CK9LO++EIp2fQrC8O+BwjKvz6UeDyQ==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.4", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", - "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", - "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.14.2.tgz", - "integrity": "sha512-K2waXdXBi2302XUdcHcR1jCeU0LL4TD9HRs/gk0N2Xvrht+G/BfJa4QObBQZfhMdxiCpV3COl5Nfq4uKTeTnJA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.3.0" - } - }, - "node_modules/@types/bcrypt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/bcrypt/-/bcrypt-5.0.0.tgz", - "integrity": "sha512-agtcFKaruL8TmcvqbndlqHPSJgsolhf/qPWchFlgnW1gECTN/nKbFcoFnvKAQRFfKbh+BO6A3SWdJu9t+xF3Lw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.2", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", - "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", - "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bull": { - "version": "3.15.7", - "resolved": "https://registry.npmjs.org/@types/bull/-/bull-3.15.7.tgz", - "integrity": "sha512-7NC7XN5NoS0A+leJ/dR69ZfKaegOlCZaii/xGgKnCyh1UYisRncibImb7VMwrc3OdJcbDJt6+4om70TeNl3J7g==", - "dev": true, - "dependencies": { - "@types/ioredis": "*", - "@types/redis": "^2.8.0" - } - }, - "node_modules/@types/component-emitter": { - "version": "1.2.11", - "resolved": "https://registry.npmjs.org/@types/component-emitter/-/component-emitter-1.2.11.tgz", - "integrity": "sha512-SRXjM+tfsSlA9VuG8hGO2nft2p8zjXCK1VcC6N4NXbBbYbSia9kzCChYQajIjzIqOOOuh5Ock6MmV2oux4jDZQ==" - }, - "node_modules/@types/connect": { - "version": "3.4.35", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", - "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==" - }, - "node_modules/@types/cookiejar": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/@types/cookiejar/-/cookiejar-2.1.2.tgz", - "integrity": "sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog==", - "dev": true - }, - "node_modules/@types/cors": { - "version": "2.8.12", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.12.tgz", - "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==" - }, - "node_modules/@types/eslint": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.1.tgz", - "integrity": "sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.3", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", - "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "0.0.50", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.50.tgz", - "integrity": "sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==", - "dev": true - }, - "node_modules/@types/express": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", - "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", - "dev": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.18", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.28", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", - "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*" - } - }, - "node_modules/@types/fluent-ffmpeg": { - "version": "2.1.20", - "resolved": "https://registry.npmjs.org/@types/fluent-ffmpeg/-/fluent-ffmpeg-2.1.20.tgz", - "integrity": "sha512-B+OvhCdJ3LgEq2PhvWNOiB/EfwnXLElfMCgc4Z1K5zXgSfo9I6uGKwR/lqmNPFQuebNnes7re3gqkV77SyypLg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.5.tgz", - "integrity": "sha512-anKkLmZZ+xm4p8JWBf4hElkM4XR+EZeA2M9BAkkTldmcyDY4mbdIJnRghDJH3Ov5ooY7/UAoENtmdMSkaAd7Cw==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/imagemin": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-8.0.0.tgz", - "integrity": "sha512-B9X2CUeDv/uUeY9CqkzSTfmsLkeJP6PkmXlh4lODBbf9SwpmNuLS30WzUOi863dgsjY3zt3gY5q2F+UdifRi1A==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/ioredis": { - "version": "4.28.8", - "resolved": "https://registry.npmjs.org/@types/ioredis/-/ioredis-4.28.8.tgz", - "integrity": "sha512-mULOyO2smtvkE1zmzRRA4P0+1UjEqusi014kXOL1q3CY0RgqkR5/wKvv+vAJbPw2Q66wPyylKeevUy+m/FaRMg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "*" - } - }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/jest": { - "version": "27.0.2", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-27.0.2.tgz", - "integrity": "sha512-4dRxkS/AFX0c5XW6IPMNOydLn2tEhNhJV7DnYK+0bjoJZ+QTmfucBlihX7aoEsh/ocYtkLC73UbnBXBXIxsULA==", - "dev": true, - "dependencies": { - "jest-diff": "^27.0.0", - "pretty-format": "^27.0.0" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.9", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz", - "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true - }, - "node_modules/@types/jsonwebtoken": { - "version": "8.5.8", - "resolved": "https://registry.npmjs.org/@types/jsonwebtoken/-/jsonwebtoken-8.5.8.tgz", - "integrity": "sha512-zm6xBQpFDIDM6o9r6HSgDeIcLy82TKWctCXEPbJJcXb5AKmi5BNNdLXneixK4lplX3PqIVcwLBCGE/kAGnlD4A==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/lodash": { - "version": "4.14.178", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.178.tgz", - "integrity": "sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw==", - "dev": true - }, - "node_modules/@types/mime": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", - "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", - "dev": true - }, - "node_modules/@types/multer": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/@types/multer/-/multer-1.4.7.tgz", - "integrity": "sha512-/SNsDidUFCvqqcWDwxv2feww/yqhNeTRL5CVoL3jU4Goc4kKEL10T7Eye65ZqPNi4HRx8sAEX59pV1aEH7drNA==", - "dev": true, - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/node": { - "version": "16.11.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.21.tgz", - "integrity": "sha512-Pf8M1XD9i1ksZEcCP8vuSNwooJ/bZapNmIzpmsMaL+jMI+8mEYU3PKvs+xDNuQcJWF/x24WzY4qxLtB0zNow9A==" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", - "dev": true - }, - "node_modules/@types/passport": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/passport/-/passport-1.0.7.tgz", - "integrity": "sha512-JtswU8N3kxBYgo+n9of7C97YQBT+AYPP2aBfNGTzABqPAZnK/WOAaKfh3XesUYMZRrXFuoPc2Hv0/G/nQFveHw==", - "dev": true, - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/passport-jwt": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@types/passport-jwt/-/passport-jwt-3.0.6.tgz", - "integrity": "sha512-cmAAMIRTaEwpqxlrZyiEY9kdibk94gP5KTF8AT1Ra4rWNZYHNMreqhKUEeC5WJtuN5SJZjPQmV+XO2P5PlnvNQ==", - "dev": true, - "dependencies": { - "@types/express": "*", - "@types/jsonwebtoken": "*", - "@types/passport-strategy": "*" - } - }, - "node_modules/@types/passport-strategy": { - "version": "0.2.35", - "resolved": "https://registry.npmjs.org/@types/passport-strategy/-/passport-strategy-0.2.35.tgz", - "integrity": "sha512-o5D19Jy2XPFoX2rKApykY15et3Apgax00RRLf0RUotPDUsYrQa7x4howLYr9El2mlUApHmCMv5CZ1IXqKFQ2+g==", - "dev": true, - "dependencies": { - "@types/express": "*", - "@types/passport": "*" - } - }, - "node_modules/@types/prettier": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.4.3.tgz", - "integrity": "sha512-QzSuZMBuG5u8HqYz01qtMdg/Jfctlnvj1z/lYnIDXs/golxw0fxtRAHd9KrzjR7Yxz1qVeI00o0kiO3PmVdJ9w==", - "dev": true - }, - "node_modules/@types/qs": { - "version": "6.9.7", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", - "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", - "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", - "dev": true - }, - "node_modules/@types/redis": { - "version": "2.8.32", - "resolved": "https://registry.npmjs.org/@types/redis/-/redis-2.8.32.tgz", - "integrity": "sha512-7jkMKxcGq9p242exlbsVzuJb57KqHRhNl4dHoQu2Y5v9bCAbtIXXH0R3HleSQW4CTOqpHIYUW3t6tpUj4BVQ+w==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.13.10", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", - "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", - "dev": true, - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/sharp": { - "version": "0.29.5", - "resolved": "https://registry.npmjs.org/@types/sharp/-/sharp-0.29.5.tgz", - "integrity": "sha512-3TC+S3H5RwnJmLYMHrcdfNjz/CaApKmujjY9b6PU/pE6n0qfooi99YqXGWoW8frU9EWYj/XTI35Pzxa+ThAZ5Q==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true - }, - "node_modules/@types/superagent": { - "version": "4.1.15", - "resolved": "https://registry.npmjs.org/@types/superagent/-/superagent-4.1.15.tgz", - "integrity": "sha512-mu/N4uvfDN2zVQQ5AYJI/g4qxn2bHB6521t1UuH09ShNWjebTqN0ZFuYK9uYjcgmI0dTQEs+Owi1EO6U0OkOZQ==", - "dev": true, - "dependencies": { - "@types/cookiejar": "*", - "@types/node": "*" - } - }, - "node_modules/@types/supertest": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/supertest/-/supertest-2.0.11.tgz", - "integrity": "sha512-uci4Esokrw9qGb9bvhhSVEjd6rkny/dk5PK/Qz4yxKiyppEI+dOPlNrZBahE3i+PoKFYyDxChVXZ/ysS/nrm1Q==", - "dev": true, - "dependencies": { - "@types/superagent": "*" - } - }, - "node_modules/@types/yargs": { - "version": "16.0.4", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz", - "integrity": "sha512-T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" - } - }, - "node_modules/@types/yargs-parser": { - "version": "20.2.1", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-20.2.1.tgz", - "integrity": "sha512-7tFImggNeNBVMsn0vLrpn1H1uPrUBdnARPTpZoitY37ZrdJREzf7I16tMrlK3hen349gr1NYh8CmZQa7CTG6Aw==", - "dev": true - }, - "node_modules/@types/zen-observable": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.3.tgz", - "integrity": "sha512-fbF6oTd4sGGy0xjHPKAt+eS2CrxJ3+6gQ3FGcBoIJR2TLAyCkCyI8JqZNy+FeON0AhVgNJoUumVoZQjBFUqHkw==" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.0.tgz", - "integrity": "sha512-XXVKnMsq2fuu9K2KsIxPUGqb6xAImz8MEChClbXmE3VbveFtBUU5bzM6IPVWqzyADIgdkS2Ws/6Xo7W2TeZWjQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.10.0", - "@typescript-eslint/type-utils": "5.10.0", - "@typescript-eslint/utils": "5.10.0", - "debug": "^4.3.2", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.1.8", - "regexpp": "^3.2.0", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.10.0.tgz", - "integrity": "sha512-pJB2CCeHWtwOAeIxv8CHVGJhI5FNyJAIpx5Pt72YkK3QfEzt6qAlXZuyaBmyfOdM62qU0rbxJzNToPTVeJGrQw==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "5.10.0", - "@typescript-eslint/types": "5.10.0", - "@typescript-eslint/typescript-estree": "5.10.0", - "debug": "^4.3.2" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.10.0.tgz", - "integrity": "sha512-tgNgUgb4MhqK6DoKn3RBhyZ9aJga7EQrw+2/OiDk5hKf3pTVZWyqBi7ukP+Z0iEEDMF5FDa64LqODzlfE4O/Dg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.10.0", - "@typescript-eslint/visitor-keys": "5.10.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.10.0.tgz", - "integrity": "sha512-TzlyTmufJO5V886N+hTJBGIfnjQDQ32rJYxPaeiyWKdjsv2Ld5l8cbS7pxim4DeNs62fKzRSt8Q14Evs4JnZyQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/utils": "5.10.0", - "debug": "^4.3.2", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.10.0.tgz", - "integrity": "sha512-wUljCgkqHsMZbw60IbOqT/puLfyqqD5PquGiBo1u1IS3PLxdi3RDGlyf032IJyh+eQoGhz9kzhtZa+VC4eWTlQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.0.tgz", - "integrity": "sha512-x+7e5IqfwLwsxTdliHRtlIYkgdtYXzE0CkFeV6ytAqq431ZyxCFzNMNR5sr3WOlIG/ihVZr9K/y71VHTF/DUQA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.10.0", - "@typescript-eslint/visitor-keys": "5.10.0", - "debug": "^4.3.2", - "globby": "^11.0.4", - "is-glob": "^4.0.3", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.10.0.tgz", - "integrity": "sha512-IGYwlt1CVcFoE2ueW4/ioEwybR60RAdGeiJX/iDAw0t5w0wK3S7QncDwpmsM70nKgGTuVchEWB8lwZwHqPAWRg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.10.0", - "@typescript-eslint/types": "5.10.0", - "@typescript-eslint/typescript-estree": "5.10.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.0.tgz", - "integrity": "sha512-GMxj0K1uyrFLPKASLmZzCuSddmjZVbVj3Ouy5QVuIGKZopxvOr24JsS7gruz6C3GExE01mublZ3mIBOaon9zuQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.10.0", - "eslint-visitor-keys": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", - "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", - "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", - "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", - "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", - "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", - "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", - "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", - "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", - "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", - "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", - "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/helper-wasm-section": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-opt": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "@webassemblyjs/wast-printer": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", - "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", - "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-buffer": "1.11.1", - "@webassemblyjs/wasm-gen": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", - "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/helper-api-error": "1.11.1", - "@webassemblyjs/helper-wasm-bytecode": "1.11.1", - "@webassemblyjs/ieee754": "1.11.1", - "@webassemblyjs/leb128": "1.11.1", - "@webassemblyjs/utf8": "1.11.1" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", - "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", - "dev": true - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "node_modules/abstract-logging": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", - "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", - "dev": true, - "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", - "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/ajv/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" - }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/app-root-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz", - "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==", - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/append-field": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz", - "integrity": "sha1-HjRA6RXwsSA9I3SOeO3XubW0PlY=" - }, - "node_modules/aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==" - }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=" - }, - "node_modules/are-we-there-yet": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz", - "integrity": "sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==", - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^2.0.6" - } - }, - "node_modules/are-we-there-yet/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/are-we-there-yet/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/are-we-there-yet/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true - }, - "node_modules/async": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.3.tgz", - "integrity": "sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==" - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/atomic-sleep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/avvio": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/avvio/-/avvio-7.2.2.tgz", - "integrity": "sha512-XW2CMCmZaCmCCsIaJaLKxAzPwF37fXi1KGxNOvedOpeisLdmxZnblGc3hpHWYnlP+KOUxZsazh43WXNHgXpbqw==", - "dependencies": { - "archy": "^1.0.0", - "debug": "^4.0.0", - "fastq": "^1.6.1", - "queue-microtask": "^1.1.2" - } - }, - "node_modules/axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", - "dependencies": { - "follow-redirects": "^1.14.4" - } - }, - "node_modules/babel-jest": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.0.tgz", - "integrity": "sha512-puhCyvBTNLevhbd1oyw6t3gWBicWoUARQYKCBB/B1moif17NbyhxbsfadqZIw8zfJJD+W7Vw0Nb20pEjLxkXqQ==", - "dev": true, - "dependencies": { - "@jest/transform": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.8.0" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-jest-hoist": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.0.tgz", - "integrity": "sha512-ztwNkHl+g1GaoQcb8f2BER4C3LMvSXuF7KVqtUioXQgScSEnkl6lLgCILUYIR+CPTwL8H3F/PNLze64HPWF9JA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", - "dev": true, - "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/babel-preset-jest": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.0.tgz", - "integrity": "sha512-7bfu1cJBlgK/nKfTvMlElzA3jpi6GzDWX3fntnyP2cQSzoi/KUz6ewGlcb3PSRYZGyv+uPnVHY0Im3JbsViqgA==", - "dev": true, - "dependencies": { - "babel-plugin-jest-hoist": "^27.5.0", - "babel-preset-current-node-syntax": "^1.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, - "node_modules/bcrypt": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/bcrypt/-/bcrypt-5.0.1.tgz", - "integrity": "sha512-9BTgmrhZM2t1bNuDtrtIMVSmmxZBrJ71n8Wg+YgdjHuIWYF7SjjmCPZFB+/5i/o/PIeRpwVJR3P+NrpIItUjqw==", - "hasInstallScript": true, - "dependencies": { - "@mapbox/node-pre-gyp": "^1.0.0", - "node-addon-api": "^3.1.0" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/body-parser": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz", - "integrity": "sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==", - "dependencies": { - "bytes": "3.1.1", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.9.6", - "raw-body": "2.4.2", - "type-is": "~1.6.18" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "dev": true - }, - "node_modules/browserslist": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", - "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", - "dev": true, - "dependencies": { - "caniuse-lite": "^1.0.30001286", - "electron-to-chromium": "^1.4.17", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/bs-logger": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz", - "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==", - "dev": true, - "dependencies": { - "fast-json-stable-stringify": "2.x" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-equal-constant-time": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", - "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/buffer-writer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", - "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/bull": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/bull/-/bull-4.4.0.tgz", - "integrity": "sha512-x+SDmRhixg8EqXOnE9Q3x9H5zQqdVZypiIEgqE8lSA1M1iE9IAFMum7WU0h/CVZvwbLTWD6if7OrMCG3gCXVyA==", - "dependencies": { - "cron-parser": "^4.2.1", - "debuglog": "^1.0.0", - "get-port": "^5.1.1", - "ioredis": "^4.27.0", - "lodash": "^4.17.21", - "msgpackr": "^1.5.2", - "p-timeout": "^3.2.0", - "semver": "^7.3.2", - "uuid": "^8.3.0" - }, - "engines": { - "node": ">=10.1" - } - }, - "node_modules/busboy": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz", - "integrity": "sha1-bCpiLvz0fFe7vh4qnDetNseSVFM=", - "dependencies": { - "dicer": "0.2.5", - "readable-stream": "1.1.x" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/busboy/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/busboy/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "node_modules/bytes": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz", - "integrity": "sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001309", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001309.tgz", - "integrity": "sha512-Pl8vfigmBXXq+/yUz1jUwULeq9xhMJznzdc/xwl4WclDAuebcTHVefpz8lE/bMI+UN7TOkSSe7B7RnZd6+dzjA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/chokidar": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz", - "integrity": "sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/ci-info": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", - "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", - "dev": true - }, - "node_modules/cjs-module-lexer": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz", - "integrity": "sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==", - "dev": true - }, - "node_modules/class-transformer": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/class-transformer/-/class-transformer-0.5.1.tgz", - "integrity": "sha512-SQa1Ws6hUbfC98vKGxZH3KFY0Y1lm5Zm0SY8XX9zbK7FJCyVEac3ATW0RIpwzW+oOfmHE5PMPufDG9hCfoEOMw==" - }, - "node_modules/class-validator": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/class-validator/-/class-validator-0.13.2.tgz", - "integrity": "sha512-yBUcQy07FPlGzUjoLuUfIOXzgynnQPPruyK1Ge2B74k9ROwnle1E+NxLWnUv5OLU8hA/qL5leAE9XnXq3byaBw==", - "dependencies": { - "libphonenumber-js": "^1.9.43", - "validator": "^13.7.0" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-highlight": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.11.tgz", - "integrity": "sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==", - "dependencies": { - "chalk": "^4.0.0", - "highlight.js": "^10.7.1", - "mz": "^2.4.0", - "parse5": "^5.1.1", - "parse5-htmlparser2-tree-adapter": "^6.0.0", - "yargs": "^16.0.0" - }, - "bin": { - "highlight": "bin/highlight" - }, - "engines": { - "node": ">=8.0.0", - "npm": ">=5.0.0" - } - }, - "node_modules/cli-highlight/node_modules/parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==" - }, - "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-table3": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.1.tgz", - "integrity": "sha512-w0q/enDHhPLq44ovMGdQeeDLvwxwavsJX7oQGYt/LrBlYsyaxyDnp6z3QzFut/6kLLKnlcUVJLrpB7KBfgG/RA==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0" - }, - "engines": { - "node": "10.* || >= 12.*" - }, - "optionalDependencies": { - "colors": "1.4.0" - } - }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/cluster-key-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz", - "integrity": "sha512-2Nii8p3RwAPiFwsnZvukotvow2rIHM+yQ6ZcBXGHdniadkYGZYiGmkHJIbZPIV9nfv7m/U1IPMVVcAhoWFeklw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=", - "dev": true, - "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" - } - }, - "node_modules/code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/collect-v8-coverage": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz", - "integrity": "sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==", - "dev": true - }, - "node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "node_modules/color-string": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz", - "integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/color/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" - }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/concat-stream/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" - }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/consola": { - "version": "2.15.3", - "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", - "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==" - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=" - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/convert-source-map/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true - }, - "node_modules/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" - }, - "node_modules/cookiejar": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==", - "dev": true - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cosmiconfig": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-6.0.0.tgz", - "integrity": "sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==", - "dev": true, - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.7.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/cron-parser": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/cron-parser/-/cron-parser-4.2.1.tgz", - "integrity": "sha512-5sJBwDYyCp+0vU5b7POl8zLWfgV5fOHxlc45FWoWdHecGC7MQHCjx0CHivCMRnGFovghKhhyYM+Zm9DcY5qcHg==", - "dependencies": { - "luxon": "^1.28.0" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==", - "dev": true - }, - "node_modules/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", - "dev": true, - "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==", - "dev": true - }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", - "dev": true, - "dependencies": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "node_modules/debuglog": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", - "engines": { - "node": "*" - } - }, - "node_modules/decimal.js": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", - "integrity": "sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==", - "dev": true - }, - "node_modules/decompress-response": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-4.2.1.tgz", - "integrity": "sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==", - "dependencies": { - "mimic-response": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha1-JJXduvbrh0q7Dhvp3yLS5aVEMmw=", - "dev": true - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=" - }, - "node_modules/denque": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/denque/-/denque-1.5.1.tgz", - "integrity": "sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" - }, - "node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=", - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dezalgo": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", - "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", - "dev": true, - "dependencies": { - "asap": "^2.0.0", - "wrappy": "1" - } - }, - "node_modules/dicer": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz", - "integrity": "sha1-WZbAhrszIYyBLAkL3cCc0S+stw8=", - "dependencies": { - "readable-stream": "1.1.x", - "streamsearch": "0.1.2" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/dicer/node_modules/readable-stream": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz", - "integrity": "sha1-fPTFTvZI44EwhMY23SB54WbAgdk=", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.1", - "isarray": "0.0.1", - "string_decoder": "~0.10.x" - } - }, - "node_modules/dicer/node_modules/string_decoder": { - "version": "0.10.31", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz", - "integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=" - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/diff-sequences": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.0.tgz", - "integrity": "sha512-ZsOBWnhXiH+Zn0DcBNX/tiQsqrREHs/6oQsEVy2VJJjrTblykPima11pyHMSA/7PGmD+fwclTnKVKL/qtNREDQ==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", - "dev": true, - "dependencies": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotenv": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-14.2.0.tgz", - "integrity": "sha512-05POuPJyPpO6jqzTNweQFfAyMSD4qa4lvsMOWyTRTdpHKy6nnnN+IYWaXF+lHivhBH/ufDKlR4IWCAN3oPnHuw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "node_modules/ecdsa-sig-formatter": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", - "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.66", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.66.tgz", - "integrity": "sha512-f1RXFMsvwufWLwYUxTiP7HmjprKXrqEWHiQkjAYa9DJeVIlZk5v8gBGcaV+FhtXLly6C1OTVzQY+2UQrACiLlg==", - "dev": true - }, - "node_modules/emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/engine.io": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.1.2.tgz", - "integrity": "sha512-v/7eGHxPvO2AWsksyx2PUsQvBafuvqs0jJJQ0FdmJG1b9qIvgSbqDRGwNhfk2XHaTTbTXiC4quRE8Q9nRjsrQQ==", - "dependencies": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.0", - "ws": "~8.2.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io-parser": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.3.tgz", - "integrity": "sha512-BtQxwF27XUNnSafQLvDi0dQ8s3i6VgzSoQMJacpIcGNrlUdfHSKbgm3jmjCVvQluGzqwujQMPAoMai3oYSTurg==", - "dependencies": { - "@socket.io/base64-arraybuffer": "~1.0.2" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io/node_modules/ws": { - "version": "8.2.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/enhanced-resolve": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz", - "integrity": "sha512-EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/enhanced-resolve/node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/error-ex/node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/escodegen": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz", - "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==", - "dev": true, - "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" - } - }, - "node_modules/escodegen/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/escodegen/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dev": true, - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/escodegen/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/escodegen/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", - "dev": true, - "dependencies": { - "prelude-ls": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.7.0.tgz", - "integrity": "sha512-ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w==", - "dev": true, - "dependencies": { - "@eslint/eslintrc": "^1.0.5", - "@humanwhocodes/config-array": "^0.9.2", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.0", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.2.0", - "espree": "^9.3.0", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^6.0.1", - "globals": "^13.6.0", - "ignore": "^5.2.0", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", - "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz", - "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0" - }, - "engines": { - "node": ">=6.0.0" - }, - "peerDependencies": { - "eslint": ">=7.28.0", - "prettier": ">=2.0.0" - }, - "peerDependenciesMeta": { - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz", - "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz", - "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/espree": { - "version": "9.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz", - "integrity": "sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==", - "dev": true, - "dependencies": { - "acorn": "^8.7.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^3.1.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", - "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "get-stream": "^5.0.0", - "human-signals": "^1.1.1", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.0", - "onetime": "^5.1.0", - "signal-exit": "^3.0.2", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/exifr": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/exifr/-/exifr-7.1.3.tgz", - "integrity": "sha512-g/aje2noHivrRSLbAUtBPWFbxKdKhgj/xr1vATDdUXPOFYJlQ62Ft0oy+72V6XLIpDJfHs6gXLbBLAolqOXYRw==" - }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/expect": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.0.tgz", - "integrity": "sha512-z73GZ132cBqrapO0X6BeRjyBXqOt9YeRtnDteHJIQqp5s2pZ41Hz23VUbsVFMfkrsFLU9GwoIRS0ZzLuFK8M5w==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "jest-get-type": "^27.5.0", - "jest-matcher-utils": "^27.5.0", - "jest-message-util": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/express": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.2.tgz", - "integrity": "sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==", - "dependencies": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.1", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.4.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.9.6", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.17.2", - "serve-static": "1.14.2", - "setprototypeof": "1.2.0", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/express/node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fast-decode-uri-component": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", - "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-diff": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", - "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" - }, - "node_modules/fast-json-stringify": { - "version": "2.7.13", - "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-2.7.13.tgz", - "integrity": "sha512-ar+hQ4+OIurUGjSJD1anvYSDcUflywhKjfxnsW4TBTD7+u0tJufv6DKRWoQk3vI6YBOWMoz0TQtfbe7dxbQmvA==", - "dependencies": { - "ajv": "^6.11.0", - "deepmerge": "^4.2.2", - "rfdc": "^1.2.0", - "string-similarity": "^4.0.1" - }, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true - }, - "node_modules/fast-redact": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.0.tgz", - "integrity": "sha512-dir8LOnvialLxiXDPESMDHGp82CHi6ZEYTVkcvdn5d7psdv9ZkkButXrOeXST4aqreIRR+N7CYlsrwFuorurVg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/fast-safe-stringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", - "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - }, - "node_modules/fastify": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-3.27.0.tgz", - "integrity": "sha512-p99Fd7xt4DFew39U5Wnp/Soy7jkpxpaqToekwQ3XWv+ECUPXd6bSF9l79EiwkutWALtEU/JiRlzS9qjP2gLHFg==", - "dependencies": { - "@fastify/ajv-compiler": "^1.0.0", - "abstract-logging": "^2.0.0", - "avvio": "^7.1.2", - "fast-json-stringify": "^2.5.2", - "fastify-error": "^0.3.0", - "find-my-way": "^4.5.0", - "flatstr": "^1.0.12", - "light-my-request": "^4.2.0", - "pino": "^6.13.0", - "process-warning": "^1.0.0", - "proxy-addr": "^2.0.7", - "rfdc": "^1.1.4", - "secure-json-parse": "^2.0.0", - "semver": "^7.3.2", - "tiny-lru": "^7.0.0" - } - }, - "node_modules/fastify-cors": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/fastify-cors/-/fastify-cors-6.0.2.tgz", - "integrity": "sha512-sE0AOyzmj5hLLRRVgenjA6G2iOGX35/1S3QGYB9rr9TXelMZB3lFrXy4CzwYVOMiujJeMiLgO4J7eRm8sQSv8Q==", - "dependencies": { - "fastify-plugin": "^3.0.0", - "vary": "^1.1.2" - } - }, - "node_modules/fastify-error": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/fastify-error/-/fastify-error-0.3.1.tgz", - "integrity": "sha512-oCfpcsDndgnDVgiI7bwFKAun2dO+4h84vBlkWsWnz/OUK9Reff5UFoFl241xTiLeHWX/vU9zkDVXqYUxjOwHcQ==" - }, - "node_modules/fastify-formbody": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/fastify-formbody/-/fastify-formbody-5.2.0.tgz", - "integrity": "sha512-d8Y5hCL82akPyoFiXh2wYOm3es0pV9jqoPo3pO9OV2cNF0cQx39J5WAVXzCh4MSt9Z2qF4Fy5gHlvlyESwjtvg==", - "dependencies": { - "fastify-plugin": "^3.0.0" - } - }, - "node_modules/fastify-plugin": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-3.0.1.tgz", - "integrity": "sha512-qKcDXmuZadJqdTm6vlCqioEbyewF60b/0LOFCcYN1B6BIZGlYJumWWOYs70SFYLDAH4YqdE1cxH/RKMG7rFxgA==" - }, - "node_modules/fastify-warning": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/fastify-warning/-/fastify-warning-0.2.0.tgz", - "integrity": "sha512-s1EQguBw/9qtc1p/WTY4eq9WMRIACkj+HTcOIK1in4MV5aFaQC9ZCIt0dJ7pr5bIf4lPpHvAtP2ywpTNgs7hqw==" - }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/find-my-way": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-4.5.1.tgz", - "integrity": "sha512-kE0u7sGoUFbMXcOG/xpkmz4sRLCklERnBcg7Ftuu1iAxsfEt2S46RLJ3Sq7vshsEy2wJT2hZxE58XZK27qa8kg==", - "dependencies": { - "fast-decode-uri-component": "^1.0.1", - "fast-deep-equal": "^3.1.3", - "safe-regex2": "^2.0.0", - "semver-store": "^0.3.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatstr": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/flatstr/-/flatstr-1.0.12.tgz", - "integrity": "sha512-4zPxDyhCyiN2wIAtSLI6gc82/EjqZc1onI4Mz/l0pWrAlsSfYH/2ZIcU+e3oA2wDwbzIWNKwa23F8rh6+DRWkw==" - }, - "node_modules/flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", - "dev": true - }, - "node_modules/fluent-ffmpeg": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.2.tgz", - "integrity": "sha1-yVLeIkD4EuvaCqgAbXd27irPfXQ=", - "dependencies": { - "async": ">=0.2.9", - "which": "^1.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/follow-redirects": { - "version": "1.14.8", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz", - "integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.0.tgz", - "integrity": "sha512-cS178Y+xxtIjEUorcHddKS7yCMlrDPV31mt47blKKRfMd70Kxu5xruAFE2o9sDY6wVC5deuob/u/alD04YYHnw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.8.3", - "@types/json-schema": "^7.0.5", - "chalk": "^4.1.0", - "chokidar": "^3.4.2", - "cosmiconfig": "^6.0.0", - "deepmerge": "^4.2.2", - "fs-extra": "^9.0.0", - "glob": "^7.1.6", - "memfs": "^3.1.2", - "minimatch": "^3.0.4", - "schema-utils": "2.7.0", - "semver": "^7.3.2", - "tapable": "^1.0.0" - }, - "engines": { - "node": ">=10", - "yarn": ">=1.0.0" - }, - "peerDependencies": { - "eslint": ">= 6", - "typescript": ">= 2.7", - "vue-template-compiler": "*", - "webpack": ">= 4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - }, - "vue-template-compiler": { - "optional": true - } - } - }, - "node_modules/fork-ts-checker-webpack-plugin/node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/formidable": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/formidable/-/formidable-2.0.1.tgz", - "integrity": "sha512-rjTMNbp2BpfQShhFbR3Ruk3qk2y9jKpvMW78nJgx8QKtxjDVrwbZG+wvDOmVbifHyOUOQJXxqEy6r0faRrPzTQ==", - "dev": true, - "dependencies": { - "dezalgo": "1.0.3", - "hexoid": "1.0.0", - "once": "1.4.0", - "qs": "6.9.3" - }, - "funding": { - "url": "https://ko-fi.com/tunnckoCore/commissions" - } - }, - "node_modules/formidable/node_modules/qs": { - "version": "6.9.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.3.tgz", - "integrity": "sha512-EbZYNarm6138UKKq46tdx08Yo/q9ZhFoAXAI1meAFd2GtbRDhbZY2WQSICskT0c5q99aFzLG1D4nvTk9tqfXIw==", - "dev": true, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", - "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", - "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true - }, - "node_modules/gauge": { - "version": "2.7.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz", - "integrity": "sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=", - "dependencies": { - "aproba": "^1.0.3", - "console-control-strings": "^1.0.0", - "has-unicode": "^2.0.0", - "object-assign": "^4.1.0", - "signal-exit": "^3.0.0", - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - "wide-align": "^1.1.0" - } - }, - "node_modules/gauge/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dependencies": { - "number-is-nan": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dependencies": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gauge/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-port": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", - "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-stream": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", - "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", - "dev": true, - "dependencies": { - "pump": "^3.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=" - }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/globals": { - "version": "13.12.1", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz", - "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globals/node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-unicode": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", - "integrity": "sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=" - }, - "node_modules/hexoid": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hexoid/-/hexoid-1.0.0.tgz", - "integrity": "sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/highlight.js": { - "version": "10.7.3", - "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz", - "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==", - "engines": { - "node": "*" - } - }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dev": true, - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/http-errors": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz", - "integrity": "sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==", - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dev": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", - "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", - "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", - "dev": true, - "engines": { - "node": ">=8.12.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/inquirer/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, - "dependencies": { - "tslib": "^1.9.0" - }, - "engines": { - "npm": ">=2.0.0" - } - }, - "node_modules/inquirer/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/interpret": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", - "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/ioredis": { - "version": "4.28.5", - "resolved": "https://registry.npmjs.org/ioredis/-/ioredis-4.28.5.tgz", - "integrity": "sha512-3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A==", - "dependencies": { - "cluster-key-slot": "^1.1.0", - "debug": "^4.3.1", - "denque": "^1.1.0", - "lodash.defaults": "^4.2.0", - "lodash.flatten": "^4.4.0", - "lodash.isarguments": "^3.1.0", - "p-map": "^2.1.0", - "redis-commands": "1.7.0", - "redis-errors": "^1.2.0", - "redis-parser": "^3.0.0", - "standard-as-callback": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/ioredis" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", - "dev": true - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isarray": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", - "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.1.0.tgz", - "integrity": "sha512-czwUz525rkOFDJxfKK6mYfIs9zBKILyrZQxjz3ABhjQXhbhFsSbo1HW/BFcsDnfJYJWA6thRR5/TUY2qs5W99Q==", - "dev": true, - "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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^3.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.4.tgz", - "integrity": "sha512-r1/DshN4KSE7xWEknZLLLLDn5CJybV3nw01VTkp6D5jzLuELlcbudfj/eSQFvrKsJuTVCGnePO7ho82Nw9zzfw==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/iterare": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/iterare/-/iterare-1.2.1.tgz", - "integrity": "sha512-RKYVTCjAnRthyJes037NX/IiqeidgN1xc3j1RjFfECFp28A1GVwK9nA+i0rJPaHqSZwygLzRnFlzUuHFoWWy+Q==", - "engines": { - "node": ">=6" - } - }, - "node_modules/jest": { - "version": "27.4.7", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.4.7.tgz", - "integrity": "sha512-8heYvsx7nV/m8m24Vk26Y87g73Ba6ueUd0MWed/NXMhSZIm62U/llVbS0PJe1SHunbyXjJ/BqG1z9bFjGUIvTg==", - "dev": true, - "dependencies": { - "@jest/core": "^27.4.7", - "import-local": "^3.0.2", - "jest-cli": "^27.4.7" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-changed-files": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.0.tgz", - "integrity": "sha512-BGWKI7E6ORqbF5usF1oA4ftbkhVZVrXr8jB0/BrU6TAn3kfOVwX2Zx6pKIXYutJ+qNEjT8Da/gGak0ajya/StA==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "execa": "^5.0.0", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-changed-files/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/jest-changed-files/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-changed-files/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/jest-circus": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.0.tgz", - "integrity": "sha512-+NPd1OxpAHYKjbW8dgL0huFgmtZRKSUKee/UtRgZJEfAxCeA12d7sp0coh5EGDBpW4fCk1Pcia/2dG+j6BQvdw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.0", - "@jest/test-result": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.0", - "jest-matcher-utils": "^27.5.0", - "jest-message-util": "^27.5.0", - "jest-runtime": "^27.5.0", - "jest-snapshot": "^27.5.0", - "jest-util": "^27.5.0", - "pretty-format": "^27.5.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-config": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.0.tgz", - "integrity": "sha512-eOIpvpXFz5WHuIYZN1QmvBLEjsSk3w+IAC/2jBpZClbprF53Bj9meBMgAbE15DSkaaJBDFmhXXd1L2eCLaWxQw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.0", - "@jest/types": "^27.5.0", - "babel-jest": "^27.5.0", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.0", - "jest-environment-jsdom": "^27.5.0", - "jest-environment-node": "^27.5.0", - "jest-get-type": "^27.5.0", - "jest-jasmine2": "^27.5.0", - "jest-regex-util": "^27.5.0", - "jest-resolve": "^27.5.0", - "jest-runner": "^27.5.0", - "jest-util": "^27.5.0", - "jest-validate": "^27.5.0", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } - } - }, - "node_modules/jest-diff": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.0.tgz", - "integrity": "sha512-zztvHDCq/QcAVv+o6rts0reupSOxyrX+KLQEOMWCW2trZgcBFgp/oTK7hJCGpXvEIqKrQzyQlaPKn9W04+IMQg==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.0", - "jest-get-type": "^27.5.0", - "pretty-format": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-docblock": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.0.tgz", - "integrity": "sha512-U4MtJgdZn2x+jpPzd7NAYvDmgJAA5h9QxVAwsyuH7IymGzY8VGHhAkHcIGOmtmdC61ORLxCbEhj6fCJsaCWzXA==", - "dev": true, - "dependencies": { - "detect-newline": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-each": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.0.tgz", - "integrity": "sha512-2vpajSdDMZmAxjSP1f4BG9KKduwHtuaI0w66oqLUkfaGUU7Ix/W+d8BW0h3/QEJiew7hR0GSblqdFwTEEbhBdw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.0", - "jest-util": "^27.5.0", - "pretty-format": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-jsdom": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.0.tgz", - "integrity": "sha512-sX49N8rjp6HSHeGpNgLk6mtHRd1IPAnE/u7wLQkb6Tz/1E08Q++Y8Zk/IbpVdcFywbzH1icFqEuDuHJ6o+uXXg==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.0", - "@jest/fake-timers": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "jest-mock": "^27.5.0", - "jest-util": "^27.5.0", - "jsdom": "^16.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-environment-node": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.0.tgz", - "integrity": "sha512-7UzisMMfGyrURhS/eUa7p7mgaqN3ajHylsjOgfcn0caNeYRZq4LHKZLfAxrPM34DWLnBZcRupEJlpQsizdSUsw==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.0", - "@jest/fake-timers": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "jest-mock": "^27.5.0", - "jest-util": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-get-type": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.0.tgz", - "integrity": "sha512-Vp6O8a52M/dahXRG/E0EJuWQROps2mDQ0sJYPgO8HskhdLwj9ajgngy2OAqZgV6e/RcU67WUHq6TgfvJb8flbA==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-haste-map": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.0.tgz", - "integrity": "sha512-0KfckSBEKV+D6e0toXmIj4zzp72EiBnvkC0L+xYxenkLhAdkp2/8tye4AgMzz7Fqb1r8SWtz7+s1UQLrxMBang==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.0", - "jest-serializer": "^27.5.0", - "jest-util": "^27.5.0", - "jest-worker": "^27.5.0", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } - }, - "node_modules/jest-jasmine2": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.0.tgz", - "integrity": "sha512-X7sT3HLNjjrBEepilxzPyNhNdyunaFBepo1L3T/fvYb9tb8Wb8qY576gwIa+SZcqYUqAA7/bT3EpZI4lAp0Qew==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.0", - "@jest/source-map": "^27.5.0", - "@jest/test-result": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.0", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.0", - "jest-matcher-utils": "^27.5.0", - "jest-message-util": "^27.5.0", - "jest-runtime": "^27.5.0", - "jest-snapshot": "^27.5.0", - "jest-util": "^27.5.0", - "pretty-format": "^27.5.0", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-leak-detector": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.0.tgz", - "integrity": "sha512-Ak3k+DD3ao5d4/zzJrxAQ5UV5wiCrp47jH94ZD4/vXSzQgE6WBVDfg83VtculLILO7Y6/Q/7yzKSrtN9Na8luA==", - "dev": true, - "dependencies": { - "jest-get-type": "^27.5.0", - "pretty-format": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-matcher-utils": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.0.tgz", - "integrity": "sha512-5ruyzWMGb1ilCWD6ECwNdOhQBeIXAjHmHd5c3uO6quR7RIMHPRP2ucOaejz2j+0R0Ko4GanWM6SqXAeF8nYN5g==", - "dev": true, - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.0", - "jest-get-type": "^27.5.0", - "pretty-format": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-message-util": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.0.tgz", - "integrity": "sha512-lfbWRhTtmZMEHPAtl0SrvNzK1F4UnVNMHOliRQT2BJ4sBFzIb0gBCHA4ebWD4o6l1fUyvDPxM01K9OIMQTAdQw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.0", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-mock": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.0.tgz", - "integrity": "sha512-PHluG6MJGng82/sxh8OiB9fnxzNn3cazceSHCAmAKs4g5rMhc3EZCrJXv+4w61rA2WGagMUj7QLLrA1SRlFpzQ==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "@types/node": "*" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", - "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" - }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.0.tgz", - "integrity": "sha512-e9LqSd6HsDsqd7KS3rNyYwmQAaG9jq4U3LbnwVxN/y3nNlDzm2OFs596uo9zrUY+AV1opXq6ome78tRDUCRWfA==", - "dev": true, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.0.tgz", - "integrity": "sha512-PkDpYEGV/nFqThnIrlPtj8oTxyAV3iuuS6or7dZYyUWaHr/tyyVb5qfBmZS6FEr7ozBHgjrF1bgcgIefnlicbw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.0", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.0", - "jest-validate": "^27.5.0", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.0.tgz", - "integrity": "sha512-xQsy7CmrT4CJxdNUEdzZU2M/v6YmtQ/pkJM+sx7TA1siG1zfsZuo78PZvzglwRMQFr88f3Su4Om8OEBAic+SMw==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "jest-regex-util": "^27.5.0", - "jest-snapshot": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runner": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.0.tgz", - "integrity": "sha512-RMzXhkJLLOKKgUPY2trpyVBijaFmswMtgoCCBk2PQVRHC6yo1vLd1/jmFP39s5OXXnt7rntuzKSYvxl+QUibqQ==", - "dev": true, - "dependencies": { - "@jest/console": "^27.5.0", - "@jest/environment": "^27.5.0", - "@jest/test-result": "^27.5.0", - "@jest/transform": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.0", - "jest-environment-jsdom": "^27.5.0", - "jest-environment-node": "^27.5.0", - "jest-haste-map": "^27.5.0", - "jest-leak-detector": "^27.5.0", - "jest-message-util": "^27.5.0", - "jest-resolve": "^27.5.0", - "jest-runtime": "^27.5.0", - "jest-util": "^27.5.0", - "jest-worker": "^27.5.0", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.0.tgz", - "integrity": "sha512-T7APxCPjN3p3ePcLuypbWtD0UZHyAdvIADZ9ABI/sFZ9t/Rf2xIUd6D7RzZIX+unewJRooVGWrgDIgeUuj0OUA==", - "dev": true, - "dependencies": { - "@jest/environment": "^27.5.0", - "@jest/fake-timers": "^27.5.0", - "@jest/globals": "^27.5.0", - "@jest/source-map": "^27.5.0", - "@jest/test-result": "^27.5.0", - "@jest/transform": "^27.5.0", - "@jest/types": "^27.5.0", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.0", - "jest-message-util": "^27.5.0", - "jest-mock": "^27.5.0", - "jest-regex-util": "^27.5.0", - "jest-resolve": "^27.5.0", - "jest-snapshot": "^27.5.0", - "jest-util": "^27.5.0", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-runtime/node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-runtime/node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/jest-runtime/node_modules/strip-bom": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-serializer": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.0.tgz", - "integrity": "sha512-aSDFqQlVXtBH+Zb5dl9mCvTSFkabixk/9P9cpngL4yJKpmEi9USxfDhONFMzJrtftPvZw3PcltUVmtFZTB93rg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-snapshot": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.0.tgz", - "integrity": "sha512-cAJj15uqWGkro0bfcv/EgusBnqNgCpRruFQZghsMYTq4Fm2lk/VhAf8DgRr8wvhR6Ue1hkeL8tn70Cw4t8x/5A==", - "dev": true, - "dependencies": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.0", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.0", - "jest-get-type": "^27.5.0", - "jest-haste-map": "^27.5.0", - "jest-matcher-utils": "^27.5.0", - "jest-message-util": "^27.5.0", - "jest-util": "^27.5.0", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.0", - "semver": "^7.3.2" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-util": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.0.tgz", - "integrity": "sha512-FUUqOx0gAzJy3ytatT1Ss372M1kmhczn8x7aE0++11oPGW1FyD/5NjYBI8w1KOXFm6IVjtaZm2szfJJL+CHs0g==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.0.tgz", - "integrity": "sha512-2XZzQWNrY9Ypo11mm4ZeVjvr++CQG/45XnmA2aWwx155lTwy1JGFI8LpQ2dBCSAeO21ooqg/FCIvv9WwfnPClA==", - "dev": true, - "dependencies": { - "@jest/types": "^27.5.0", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.0", - "leven": "^3.1.0", - "pretty-format": "^27.5.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watcher": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.0.tgz", - "integrity": "sha512-MhIeIvEd6dnnspE0OfYrqHOAfZZdyFqx/k8U2nvVFSkLYf22qAFfyNWPVQYcwqKVNobcOhJoT0kV/nRHGbqK8A==", - "dev": true, - "dependencies": { - "@jest/test-result": "^27.5.0", - "@jest/types": "^27.5.0", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.0", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-worker": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.0.tgz", - "integrity": "sha512-8OEHiPNOPTfaWnJ2SUHM8fmgeGq37uuGsQBvGKQJl1f+6WIy6g7G3fE2ruI5294bUKUI9FaCWt5hDvO8HSwsSg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jest/node_modules/jest-cli": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.0.tgz", - "integrity": "sha512-9ANs79Goz1ULKtG7HDm/F//4E69v8EFOLXRIHmeC/eK1xTUeQGlU6XP0Zwst386sKaKB4O60qhWY/UaTBS2MLA==", - "dev": true, - "dependencies": { - "@jest/core": "^27.5.0", - "@jest/test-result": "^27.5.0", - "@jest/types": "^27.5.0", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.0", - "jest-util": "^27.5.0", - "jest-validate": "^27.5.0", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/joi": { - "version": "17.5.0", - "resolved": "https://registry.npmjs.org/joi/-/joi-17.5.0.tgz", - "integrity": "sha512-R7hR50COp7StzLnDi4ywOXHrBrgNXuUUfJWIR5lPY5Bm/pOD3jZaTwpluUXVLRWcoWZxkrHBBJ5hLxgnlehbdw==", - "dependencies": { - "@hapi/hoek": "^9.0.0", - "@hapi/topo": "^5.0.0", - "@sideway/address": "^4.1.3", - "@sideway/formula": "^3.0.0", - "@sideway/pinpoint": "^2.0.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/js-yaml/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, - "node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", - "dev": true, - "dependencies": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "canvas": "^2.5.0" - }, - "peerDependenciesMeta": { - "canvas": { - "optional": true - } - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true - }, - "node_modules/json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/jsonc-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", - "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", - "dev": true - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonwebtoken": { - "version": "8.5.1", - "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz", - "integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==", - "dependencies": { - "jws": "^3.2.2", - "lodash.includes": "^4.3.0", - "lodash.isboolean": "^3.0.3", - "lodash.isinteger": "^4.0.4", - "lodash.isnumber": "^3.0.3", - "lodash.isplainobject": "^4.0.6", - "lodash.isstring": "^4.0.1", - "lodash.once": "^4.0.0", - "ms": "^2.1.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=4", - "npm": ">=1.4.28" - } - }, - "node_modules/jsonwebtoken/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/jwa": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz", - "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==", - "dependencies": { - "buffer-equal-constant-time": "1.0.1", - "ecdsa-sig-formatter": "1.0.11", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/jws": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz", - "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==", - "dependencies": { - "jwa": "^1.4.1", - "safe-buffer": "^5.0.1" - } - }, - "node_modules/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/libphonenumber-js": { - "version": "1.9.48", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.48.tgz", - "integrity": "sha512-2aiDGkr5Ty7LZRhKhnMeV9tfRbzd2zahgF12I0v11AFwEelSdiu5t8/Npf3UejKcuoO4anqTdjnIW3dEtj1xYQ==" - }, - "node_modules/light-my-request": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-4.7.0.tgz", - "integrity": "sha512-LTa8YZp3K2AUpqUnwwKajoIHcsKOBnzwJNQSrk7unziPwo6CjOYjyO0F9wfkxFvP+nBsCGe3eMPnedVgIIgdAw==", - "dependencies": { - "ajv": "^8.1.0", - "cookie": "^0.4.0", - "fastify-warning": "^0.2.0", - "set-cookie-parser": "^2.4.1" - } - }, - "node_modules/light-my-request/node_modules/ajv": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz", - "integrity": "sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/loader-runner": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.2.0.tgz", - "integrity": "sha512-92+huvxMvYlMzMt0iIOukcwYBFpkYJdpl2xsZ7LrlayO7E8SOv+JJUEK17B/dJIHAOLMfh2dZZ/Y18WgmGtYNw==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" - }, - "node_modules/lodash.defaults": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", - "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" - }, - "node_modules/lodash.flatten": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/lodash.flatten/-/lodash.flatten-4.4.0.tgz", - "integrity": "sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8=" - }, - "node_modules/lodash.includes": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", - "integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8=" - }, - "node_modules/lodash.isarguments": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", - "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" - }, - "node_modules/lodash.isboolean": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", - "integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY=" - }, - "node_modules/lodash.isinteger": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", - "integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M=" - }, - "node_modules/lodash.isnumber": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", - "integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w=" - }, - "node_modules/lodash.isplainobject": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", - "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=" - }, - "node_modules/lodash.isstring": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", - "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lodash.once": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", - "integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w=" - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/luxon": { - "version": "1.28.0", - "resolved": "https://registry.npmjs.org/luxon/-/luxon-1.28.0.tgz", - "integrity": "sha512-TfTiyvZhwBYM/7QdAVDh+7dBTBA29v4ik0Ce9zda3Mnf8on1S5KJI8P2jKFZ8+5C0jhmr0KwJEO/Wdpm0VeWJQ==", - "engines": { - "node": "*" - } - }, - "node_modules/macos-release": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.5.0.tgz", - "integrity": "sha512-EIgv+QZ9r+814gjJj0Bt5vSLJLzswGmSUbUpbi9AIr/fsN2IWFBl2NucV9PAiek+U1STK468tEkxmVYUtuAN3g==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "dependencies": { - "sourcemap-codec": "^1.4.4" - } - }, - "node_modules/make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.1.tgz", - "integrity": "sha512-1c9VPVvW5P7I85c35zAdEr1TD5+F11IToIHIlrVIcflfnzPkJa0ZoYEoEdYDP8KgPFoSZ/opDrUsAoZWym3mtw==", - "dev": true, - "dependencies": { - "fs-monkey": "1.0.3" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/middie": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/middie/-/middie-5.3.0.tgz", - "integrity": "sha512-uq6Ob4dmmHeT6rJpBDWVwSxBzxzKlBvnrZdLSRJeuhHzljvZ6ccgLP/HaShgfiYrQvekRH0KUe/G1WTu/IrXsQ==", - "dependencies": { - "fastify-plugin": "^3.0.0", - "path-to-regexp": "^6.1.0", - "reusify": "^1.0.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/middie/node_modules/path-to-regexp": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.2.0.tgz", - "integrity": "sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg==" - }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/mime-db": { - "version": "1.51.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.51.0.tgz", - "integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.34", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.34.tgz", - "integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", - "dependencies": { - "mime-db": "1.51.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-response": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-2.1.0.tgz", - "integrity": "sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "node_modules/minipass": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.6.tgz", - "integrity": "sha512-rty5kpw9/z8SX9dmxblFA6edItUmwJgMeYDZRrwlIVN27i8gysGbznJwUggw2V/FVqFSDdWy040ZPS811DYAqQ==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "node_modules/msgpackr": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.5.4.tgz", - "integrity": "sha512-Z7w5Jg+2Q9z9gJxeM68d7tSuWZZGnFIRhZnyqcZCa/1dKkhOCNvR1TUV3zzJ3+vj78vlwKRzUgVDlW4jiSOeDA==", - "optionalDependencies": { - "msgpackr-extract": "^1.0.14" - } - }, - "node_modules/msgpackr-extract": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-1.0.16.tgz", - "integrity": "sha512-fxdRfQUxPrL/TizyfYfMn09dK58e+d65bRD/fcaVH4052vj30QOzzqxcQIS7B0NsqlypEQ/6Du3QmP2DhWFfCA==", - "hasInstallScript": true, - "optional": true, - "dependencies": { - "nan": "^2.14.2", - "node-gyp-build": "^4.2.3" - } - }, - "node_modules/multer": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.4.tgz", - "integrity": "sha512-2wY2+xD4udX612aMqMcB8Ws2Voq6NIUPEtD1be6m411T4uDH/VtL9i//xvcyFlTVfRdaBsk7hV5tgrGQqhuBiw==", - "dependencies": { - "append-field": "^1.0.0", - "busboy": "^0.2.11", - "concat-stream": "^1.5.2", - "mkdirp": "^0.5.4", - "object-assign": "^4.1.1", - "on-finished": "^2.3.0", - "type-is": "^1.6.4", - "xtend": "^4.0.0" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nan": { - "version": "2.15.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.15.0.tgz", - "integrity": "sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ==", - "optional": true - }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/node-abi": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.30.1.tgz", - "integrity": "sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==", - "dependencies": { - "semver": "^5.4.1" - } - }, - "node_modules/node-abi/node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==" - }, - "node_modules/node-emoji": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", - "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-fetch/node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" - }, - "node_modules/node-fetch/node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" - }, - "node_modules/node-fetch/node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/node-gyp-build": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.3.0.tgz", - "integrity": "sha512-iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==", - "optional": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha1-h6kGXNs1XTGC2PlM4RGIuCXGijs=", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "dev": true - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/notepack.io": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/notepack.io/-/notepack.io-2.2.0.tgz", - "integrity": "sha512-9b5w3t5VSH6ZPosoYnyDONnUTF8o0UkBw7JLA6eBlYJWyGT1Q3vQa8Hmuj1/X6RYvHjjygBDgw6fJhe0JEojfw==" - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/npmlog": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz", - "integrity": "sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==", - "dependencies": { - "are-we-there-yet": "~1.1.2", - "console-control-strings": "~1.1.0", - "gauge": "~2.7.3", - "set-blocking": "~2.0.0" - } - }, - "node_modules/number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/nwsapi": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.0.tgz", - "integrity": "sha512-h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==", - "dev": true - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optional": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/optional/-/optional-0.1.4.tgz", - "integrity": "sha512-gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw==", - "dev": true - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/os-name": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/os-name/-/os-name-4.0.1.tgz", - "integrity": "sha512-xl9MAoU97MH1Xt5K9ERft2YfCAoaO6msy1OBA0ozxEC0x0TmIoE6K3QvgJMMZA9yKGLmHXNY/YZoDbiGDj4zYw==", - "dev": true, - "dependencies": { - "macos-release": "^2.5.0", - "windows-release": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "engines": { - "node": ">=4" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "engines": { - "node": ">=6" - } - }, - "node_modules/p-timeout": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz", - "integrity": "sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==", - "dependencies": { - "p-finally": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/packet-reader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", - "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "node_modules/parse5-htmlparser2-tree-adapter": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", - "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", - "dependencies": { - "parse5": "^6.0.1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/passport": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/passport/-/passport-0.5.2.tgz", - "integrity": "sha512-w9n/Ot5I7orGD4y+7V3EFJCQEznE5RxHamUxcqLT2QoJY0f2JdN8GyHonYFvN0Vz+L6lUJfVhrk2aZz2LbuREw==", - "dependencies": { - "passport-strategy": "1.x.x", - "pause": "0.0.1" - }, - "engines": { - "node": ">= 0.4.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/jaredhanson" - } - }, - "node_modules/passport-jwt": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/passport-jwt/-/passport-jwt-4.0.0.tgz", - "integrity": "sha512-BwC0n2GP/1hMVjR4QpnvqA61TxenUMlmfNjYNgK0ZAs0HK4SOQkHcSv4L328blNTLtHq7DbmvyNJiH+bn6C5Mg==", - "dependencies": { - "jsonwebtoken": "^8.2.0", - "passport-strategy": "^1.0.0" - } - }, - "node_modules/passport-strategy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz", - "integrity": "sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ=", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-to-regexp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-3.2.0.tgz", - "integrity": "sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==" - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pause": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz", - "integrity": "sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10=" - }, - "node_modules/pg": { - "version": "8.7.1", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.7.1.tgz", - "integrity": "sha512-7bdYcv7V6U3KAtWjpQJJBww0UEsWuh4yQ/EjNf2HeO/NnvKjpvhEIe/A/TleP6wtmSKnUnghs5A9jUoK6iDdkA==", - "dependencies": { - "buffer-writer": "2.0.0", - "packet-reader": "1.0.0", - "pg-connection-string": "^2.5.0", - "pg-pool": "^3.4.1", - "pg-protocol": "^1.5.0", - "pg-types": "^2.1.0", - "pgpass": "1.x" - }, - "engines": { - "node": ">= 8.0.0" - }, - "peerDependencies": { - "pg-native": ">=2.0.0" - }, - "peerDependenciesMeta": { - "pg-native": { - "optional": true - } - } - }, - "node_modules/pg-connection-string": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.5.0.tgz", - "integrity": "sha512-r5o/V/ORTA6TmUnyWZR9nCj1klXCO2CEKNRlVuJptZe85QuhFayC7WeMic7ndayT5IRIR0S0xFxFi2ousartlQ==" - }, - "node_modules/pg-int8": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", - "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/pg-pool": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.1.tgz", - "integrity": "sha512-6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ==", - "peerDependencies": { - "pg": ">=8.0" - } - }, - "node_modules/pg-protocol": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.5.0.tgz", - "integrity": "sha512-muRttij7H8TqRNu/DxrAJQITO4Ac7RmX3Klyr/9mJEOBeIpgnF8f9jAfRz5d3XwQZl5qBjF9gLsUtMPJE0vezQ==" - }, - "node_modules/pg-types": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", - "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", - "dependencies": { - "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pgpass": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", - "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", - "dependencies": { - "split2": "^4.1.0" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pino": { - "version": "6.13.4", - "resolved": "https://registry.npmjs.org/pino/-/pino-6.13.4.tgz", - "integrity": "sha512-g4tHSISmQJYUEKEMVdaZ+ZokWwFnTwZL5JPn+lnBVZ1BuBbrSchrXwQINknkM5+Q4fF6U9NjiI8PWwwMDHt9zA==", - "dependencies": { - "fast-redact": "^3.0.0", - "fast-safe-stringify": "^2.0.8", - "flatstr": "^1.0.12", - "pino-std-serializers": "^3.1.0", - "process-warning": "^1.0.0", - "quick-format-unescaped": "^4.0.3", - "sonic-boom": "^1.0.2" - }, - "bin": { - "pino": "bin.js" - } - }, - "node_modules/pino-std-serializers": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-3.2.0.tgz", - "integrity": "sha512-EqX4pwDPrt3MuOAAUBMU0Tk5kR/YcCM5fNPEzgCO2zJ5HfX0vbiH9HbJglnyeQsN96Kznae6MWD47pZB5avTrg==" - }, - "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pluralize": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", - "integrity": "sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/postgres-array": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", - "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/postgres-bytea": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", - "integrity": "sha1-AntTPAqokOJtFy1Hz5zOzFIazTU=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-date": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", - "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-interval": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", - "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", - "dependencies": { - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/prebuild-install": { - "version": "6.1.4", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.4.tgz", - "integrity": "sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==", - "dependencies": { - "detect-libc": "^1.0.3", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^2.21.0", - "npmlog": "^4.0.1", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^3.0.3", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", - "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", - "dev": true, - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/pretty-format": { - "version": "27.5.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.0.tgz", - "integrity": "sha512-xEi6BRPZ+J1AIS4BAtFC/+rh5jXlXObGZjx5+OSpM95vR/PGla78bFVHMy5GdZjP9wk3AHAMHROXq/r69zXltw==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" - }, - "node_modules/process-warning": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", - "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==" - }, - "node_modules/prompts": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", - "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", - "dev": true, - "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.9.6", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", - "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/quick-format-unescaped": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", - "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz", - "integrity": "sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==", - "dependencies": { - "bytes": "3.1.1", - "http-errors": "1.8.1", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true - }, - "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/rechoir": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz", - "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=", - "dev": true, - "dependencies": { - "resolve": "^1.1.6" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/redis": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/redis/-/redis-3.1.2.tgz", - "integrity": "sha512-grn5KoZLr/qrRQVwoSkmzdbw6pwF+/rwODtrOr6vuBRiR/f3rjSTGupbF90Zpqm2oenix8Do6RV7pYEkGwlKkw==", - "dependencies": { - "denque": "^1.5.0", - "redis-commands": "^1.7.0", - "redis-errors": "^1.2.0", - "redis-parser": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/node-redis" - } - }, - "node_modules/redis-commands": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.7.0.tgz", - "integrity": "sha512-nJWqw3bTFy21hX/CPKHth6sfhZbdiHP6bTawSgQBlKOVRG7EZkfHbbHwQJnrE4vsQf0CMNE+3gJ4Fmm16vdVlQ==" - }, - "node_modules/redis-errors": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz", - "integrity": "sha1-62LSrbFeTq9GEMBK/hUpOEJQq60=", - "engines": { - "node": ">=4" - } - }, - "node_modules/redis-parser": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz", - "integrity": "sha1-tm2CjNyv5rS4pCin3vTGvKwxyLQ=", - "dependencies": { - "redis-errors": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.8.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve.exports": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz", - "integrity": "sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ret": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz", - "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==" - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.2.tgz", - "integrity": "sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safe-regex2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz", - "integrity": "sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==", - "dependencies": { - "ret": "~0.2.0" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" - }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", - "dev": true, - "dependencies": { - "xmlchars": "^2.2.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/schema-utils": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.0.tgz", - "integrity": "sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" - }, - "engines": { - "node": ">= 8.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/secure-json-parse": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.4.0.tgz", - "integrity": "sha512-Q5Z/97nbON5t/L/sH6mY2EacfjVGwrCcSi5D3btRO2GZ8pf1K1UN7Z9H5J57hjVU2Qzxr1xO+FmBhOvEkzCMmg==" - }, - "node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver-store": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/semver-store/-/semver-store-0.3.0.tgz", - "integrity": "sha512-TcZvGMMy9vodEFSse30lWinkj+JgOBvPn8wRItpQRSayhc+4ssDs335uklkfvQQJgL/WvmHLVj4Ycv2s7QCQMg==" - }, - "node_modules/send": { - "version": "0.17.2", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz", - "integrity": "sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==", - "dependencies": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "1.8.1", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" - }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-static": { - "version": "1.14.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz", - "integrity": "sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "node_modules/set-cookie-parser": { - "version": "2.4.8", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.4.8.tgz", - "integrity": "sha512-edRH8mBKEWNVIVMKejNnuJxleqYE/ZSdcT8/Nem9/mmosx12pctd80s2Oy00KNZzrogMZS5mauK2/ymL1bvlvg==" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "bin": { - "sha.js": "bin.js" - } - }, - "node_modules/sharp": { - "version": "0.28.3", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.28.3.tgz", - "integrity": "sha512-21GEP45Rmr7q2qcmdnjDkNP04Ooh5v0laGS5FDpojOO84D1DJwUijLiSq8XNNM6e8aGXYtoYRh3sVNdm8NodMA==", - "hasInstallScript": true, - "dependencies": { - "color": "^3.1.3", - "detect-libc": "^1.0.3", - "node-addon-api": "^3.2.0", - "prebuild-install": "^6.1.2", - "semver": "^7.3.5", - "simple-get": "^3.1.0", - "tar-fs": "^2.1.1", - "tunnel-agent": "^0.6.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shelljs": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.5.tgz", - "integrity": "sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==", - "dev": true, - "dependencies": { - "glob": "^7.0.0", - "interpret": "^1.0.0", - "rechoir": "^0.6.2" - }, - "bin": { - "shjs": "bin/shjs" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==" - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/simple-get": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz", - "integrity": "sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==", - "dependencies": { - "decompress-response": "^4.2.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/socket.io": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.4.1.tgz", - "integrity": "sha512-s04vrBswdQBUmuWJuuNTmXUVJhP0cVky8bBDhdkf8y0Ptsu7fKU2LuLbts9g+pdmAdyMMn8F/9Mf1/wbtUN0fg==", - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "debug": "~4.3.2", - "engine.io": "~6.1.0", - "socket.io-adapter": "~2.3.3", - "socket.io-parser": "~4.0.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.3.3.tgz", - "integrity": "sha512-Qd/iwn3VskrpNO60BeRyCyr8ZWw9CPZyitW4AQwmRZ8zCiyDiL+znRnWX6tDHXnWn1sJrM1+b6Mn6wEDJJ4aYQ==" - }, - "node_modules/socket.io-parser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.0.4.tgz", - "integrity": "sha512-t+b0SS+IxG7Rxzda2EVvyBZbvFPBCjJoyHuE0P//7OAsN23GItzDRdWa6ALxZI/8R5ygK7jAR6t028/z+7295g==", - "dependencies": { - "@types/component-emitter": "^1.2.10", - "component-emitter": "~1.3.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-redis": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/socket.io-redis/-/socket.io-redis-6.1.1.tgz", - "integrity": "sha512-jeaXe3TGKC20GMSlPHEdwTUIWUpay/L7m5+S9TQcOf22p9Llx44/RkpJV08+buXTZ8E+aivOotj2RdeFJJWJJQ==", - "deprecated": "This package has been renamed to '@socket.io/redis-adapter', please see the migration guide here: https://socket.io/docs/v4/redis-adapter/#migrating-from-socketio-redis", - "dependencies": { - "debug": "~4.3.1", - "notepack.io": "~2.2.0", - "redis": "^3.0.0", - "socket.io-adapter": "~2.2.0", - "uid2": "0.0.3" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-redis/node_modules/socket.io-adapter": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.2.0.tgz", - "integrity": "sha512-rG49L+FwaVEwuAdeBRq49M97YI3ElVabJPzvHT9S6a2CWhDKnjSFasvwAwSYPRhQzfn4NtDIbCaGYgOCOU/rlg==" - }, - "node_modules/sonic-boom": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-1.4.1.tgz", - "integrity": "sha512-LRHh/A8tpW7ru89lrlkU4AszXt1dbwSjVWguGrmlxE7tawVmDBlI1PILMkXAxJTwqhgsEeTHzj36D5CmHgQmNg==", - "dependencies": { - "atomic-sleep": "^1.0.0", - "flatstr": "^1.0.12" - } - }, - "node_modules/source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "node_modules/split2": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz", - "integrity": "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "node_modules/stack-utils": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.5.tgz", - "integrity": "sha512-xrQcmYhOsn/1kX+Vraq+7j4oE2j/6BFscZ0etmYg81xuM8Gq0022Pxb8+IqgOFUIaxHs0KaSb7T1+OegiNrNFA==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/standard-as-callback": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/standard-as-callback/-/standard-as-callback-2.1.0.tgz", - "integrity": "sha512-qoRRSyROncaz1z0mvYqIE4lCd9p2R90i6GxW3uZv5ucSu8tU7B5HXUP1gG8pVZsYNVaXjk8ClXHPttLyxAL48A==" - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/streamsearch": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", - "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", - "dev": true, - "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/string-similarity": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/string-similarity/-/string-similarity-4.0.4.tgz", - "integrity": "sha512-/q/8Q4Bl4ZKAPjj8WerIBJWALKkaPRfrvhfF8k/B23i4nzrlRj2/go1m90In7nG/3XDSbOo0+pu6RvCTM9RGMQ==" - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/superagent": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.1.tgz", - "integrity": "sha512-CQ2weSS6M+doIwwYFoMatklhRbx6sVNdB99OEJ5czcP3cng76Ljqus694knFWgOj3RkrtxZqIgpe6vhe0J7QWQ==", - "dev": true, - "dependencies": { - "component-emitter": "^1.3.0", - "cookiejar": "^2.1.3", - "debug": "^4.3.3", - "fast-safe-stringify": "^2.1.1", - "form-data": "^4.0.0", - "formidable": "^2.0.1", - "methods": "^1.1.2", - "mime": "^2.5.0", - "qs": "^6.10.1", - "readable-stream": "^3.6.0", - "semver": "^7.3.5" - }, - "engines": { - "node": ">=6.4.0 <13 || >=14" - } - }, - "node_modules/superagent/node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/superagent/node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/supertest": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/supertest/-/supertest-6.2.2.tgz", - "integrity": "sha512-wCw9WhAtKJsBvh07RaS+/By91NNE0Wh0DN19/hWPlBOU8tAfOtbZoVSV4xXeoKoxgPx0rx2y+y+8660XtE7jzg==", - "dev": true, - "dependencies": { - "methods": "^1.1.2", - "superagent": "^7.1.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-hyperlinks": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.2.0.tgz", - "integrity": "sha512-6sXEzV5+I5j8Bmq9/vUphGRM/RJNT9SCURJLjwfOg51heRtguGWDzcaBlgAzKhQa0EVNpPEKzQuBwZ8S8WaCeQ==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", - "dev": true - }, - "node_modules/systeminformation": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/systeminformation/-/systeminformation-5.11.0.tgz", - "integrity": "sha512-mI/5nFK7NUe9Qbmy65WoB5TlCWKAhP4kG0w6uR2mZM8Mpdi8b45b3hTIK3W5+kQYZnYFWeS9/O5nn5rdcSvqfA==", - "os": [ - "darwin", - "linux", - "win32", - "freebsd", - "openbsd", - "netbsd", - "sunos", - "android" - ], - "bin": { - "systeminformation": "lib/cli.js" - }, - "engines": { - "node": ">=8.0.0" - }, - "funding": { - "type": "Buy me a coffee", - "url": "https://www.buymeacoffee.com/systeminfo" - } - }, - "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-fs/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", - "dev": true, - "dependencies": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/terser": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.10.0.tgz", - "integrity": "sha512-AMmF99DMfEDiRJfxfY5jj5wNH/bYO09cniSqhfoyxc8sFoYIgkJy86G04UoZU5VjlpnplVu0K6Tx6E9b5+DlHA==", - "dev": true, - "dependencies": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "acorn": "^8.5.0" - }, - "peerDependenciesMeta": { - "acorn": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", - "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", - "dev": true, - "dependencies": { - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1", - "terser": "^5.7.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser-webpack-plugin/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/throat": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.1.tgz", - "integrity": "sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w==", - "dev": true - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "node_modules/tiny-lru": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-7.0.6.tgz", - "integrity": "sha512-zNYO0Kvgn5rXzWpL0y3RS09sMK67eGaQj9805jlK9G6pSadfriTczzLHFXa/xcW4mIRfmlB9HyQ/+SgL0V1uow==", - "engines": { - "node": ">=6" - } - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tough-cookie": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.0.0.tgz", - "integrity": "sha512-tHdtEpQCMrc1YLrMaqXXcj6AxhYi/xgit6mZu1+EDWUn+qhUf8wMQoFIy9NXuq23zAwtcB0t/MjACGR18pcRbg==", - "dev": true, - "dependencies": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.1.2" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dev": true, - "dependencies": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "bin": { - "tree-kill": "cli.js" - } - }, - "node_modules/ts-jest": { - "version": "27.1.3", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.1.3.tgz", - "integrity": "sha512-6Nlura7s6uM9BVUAoqLH7JHyMXjz8gluryjpPXxr3IxZdAXnU6FhjvVLHFtfd1vsE1p8zD1OJfskkc0jhTSnkA==", - "dev": true, - "dependencies": { - "bs-logger": "0.x", - "fast-json-stable-stringify": "2.x", - "jest-util": "^27.0.0", - "json5": "2.x", - "lodash.memoize": "4.x", - "make-error": "1.x", - "semver": "7.x", - "yargs-parser": "20.x" - }, - "bin": { - "ts-jest": "cli.js" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "@babel/core": ">=7.0.0-beta.0 <8", - "@types/jest": "^27.0.0", - "babel-jest": ">=27.0.0 <28", - "esbuild": "~0.14.0", - "jest": "^27.0.0", - "typescript": ">=3.8 <5.0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "@types/jest": { - "optional": true - }, - "babel-jest": { - "optional": true - }, - "esbuild": { - "optional": true - } - } - }, - "node_modules/ts-jest/node_modules/json5": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz", - "integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.5" - }, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/ts-loader": { - "version": "9.2.6", - "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.2.6.tgz", - "integrity": "sha512-QMTC4UFzHmu9wU2VHZEmWWE9cUajjfcdcws+Gh7FhiO+Dy0RnR1bNz0YCHqhI0yRowCE9arVnNxYHqELOy9Hjw==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.0.0", - "micromatch": "^4.0.0", - "semver": "^7.3.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "typescript": "*", - "webpack": "^5.0.0" - } - }, - "node_modules/ts-node": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz", - "integrity": "sha512-g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "0.7.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/ts-node/node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz", - "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths-webpack-plugin": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-3.5.2.tgz", - "integrity": "sha512-EhnfjHbzm5IYI9YPNVIxx1moxMI4bpHD2e0zTXeDNQcwjjRaGepP7IhTHJkyDBG0CAOoxRfe7jCG630Ou+C6Pw==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "enhanced-resolve": "^5.7.0", - "tsconfig-paths": "^3.9.0" - } - }, - "node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" - }, - "node_modules/typedarray-to-buffer": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "dev": true, - "dependencies": { - "is-typedarray": "^1.0.0" - } - }, - "node_modules/typeorm": { - "version": "0.2.41", - "resolved": "https://registry.npmjs.org/typeorm/-/typeorm-0.2.41.tgz", - "integrity": "sha512-/d8CLJJxKPgsnrZWiMyPI0rz2MFZnBQrnQ5XP3Vu3mswv2WPexb58QM6BEtmRmlTMYN5KFWUz8SKluze+wS9xw==", - "dependencies": { - "@sqltools/formatter": "^1.2.2", - "app-root-path": "^3.0.0", - "buffer": "^6.0.3", - "chalk": "^4.1.0", - "cli-highlight": "^2.1.11", - "debug": "^4.3.1", - "dotenv": "^8.2.0", - "glob": "^7.1.6", - "js-yaml": "^4.0.0", - "mkdirp": "^1.0.4", - "reflect-metadata": "^0.1.13", - "sha.js": "^2.4.11", - "tslib": "^2.1.0", - "xml2js": "^0.4.23", - "yargs": "^17.0.1", - "zen-observable-ts": "^1.0.0" - }, - "bin": { - "typeorm": "cli.js" - }, - "funding": { - "url": "https://opencollective.com/typeorm" - }, - "peerDependencies": { - "@sap/hana-client": "*", - "better-sqlite3": "*", - "hdb-pool": "*", - "ioredis": "*", - "mongodb": "^3.6.0", - "mssql": "*", - "mysql2": "*", - "oracledb": "*", - "pg": "*", - "pg-native": "*", - "pg-query-stream": "*", - "redis": "*", - "sql.js": "*", - "sqlite3": "*", - "typeorm-aurora-data-api-driver": "*" - }, - "peerDependenciesMeta": { - "@sap/hana-client": { - "optional": true - }, - "better-sqlite3": { - "optional": true - }, - "hdb-pool": { - "optional": true - }, - "ioredis": { - "optional": true - }, - "mongodb": { - "optional": true - }, - "mssql": { - "optional": true - }, - "mysql2": { - "optional": true - }, - "oracledb": { - "optional": true - }, - "pg": { - "optional": true - }, - "pg-native": { - "optional": true - }, - "pg-query-stream": { - "optional": true - }, - "redis": { - "optional": true - }, - "sql.js": { - "optional": true - }, - "sqlite3": { - "optional": true - }, - "typeorm-aurora-data-api-driver": { - "optional": true - } - } - }, - "node_modules/typeorm/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/typeorm/node_modules/dotenv": { - "version": "8.6.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-8.6.0.tgz", - "integrity": "sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==", - "engines": { - "node": ">=10" - } - }, - "node_modules/typeorm/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/typeorm/node_modules/yargs": { - "version": "17.3.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.3.1.tgz", - "integrity": "sha512-WUANQeVgjLbNsEmGk20f+nlHgOqzRFpiGWVaBrYGYIGANIIu3lWjoyi0fNlFmJkvfhCZ6BXINe7/W2O2bV4iaA==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/typeorm/node_modules/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-z9kApYUOCwoeZ78rfRYYWdiU/iNL6mwwYlkkZfJoyMR1xps+NEBX5X7XmRpxkZHhXJ6+Ey00IwKxBBSW9FIjyA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/typescript": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", - "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/uid2": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz", - "integrity": "sha1-SDEm4Rd03y9xuLY53NeZw3YWK4I=" - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true - }, - "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", - "dev": true, - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" - }, - "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/validator": { - "version": "13.7.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.7.0.tgz", - "integrity": "sha512-nYXQLCBkpJ8X6ltALua9dRrZDHVYxjJ1wgskNt1lH9fzGjs3tgojGSCBjmEPwkWS1y29+DrizMTW19Pr9uB2nw==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "dev": true, - "dependencies": { - "browser-process-hrtime": "^1.0.0" - } - }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", - "dev": true, - "dependencies": { - "xml-name-validator": "^3.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, - "node_modules/watchpack": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", - "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", - "dev": true, - "engines": { - "node": ">=10.4" - } - }, - "node_modules/webpack": { - "version": "5.66.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.66.0.tgz", - "integrity": "sha512-NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.0", - "@types/estree": "^0.0.50", - "@webassemblyjs/ast": "1.11.1", - "@webassemblyjs/wasm-edit": "1.11.1", - "@webassemblyjs/wasm-parser": "1.11.1", - "acorn": "^8.4.1", - "acorn-import-assertions": "^1.7.6", - "browserslist": "^4.14.5", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.8.3", - "es-module-lexer": "^0.9.0", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.1.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.1.3", - "watchpack": "^2.3.1", - "webpack-sources": "^3.2.2" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-node-externals": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", - "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", - "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/webpack/node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", - "dev": true, - "dependencies": { - "iconv-lite": "0.4.24" - } - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", - "dev": true, - "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "node_modules/windows-release": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-4.0.0.tgz", - "integrity": "sha512-OxmV4wzDKB1x7AZaZgXMVsdJ1qER1ed83ZrTYd5Bwq2HfJVg3DJS8nqlAG4sMoJ7mu8cuRmLEYyU13BKwctRAg==", - "dev": true, - "dependencies": { - "execa": "^4.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - }, - "node_modules/write-file-atomic": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.3.tgz", - "integrity": "sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" - } - }, - "node_modules/ws": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", - "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", - "dev": true, - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==", - "dev": true - }, - "node_modules/xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", - "dependencies": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", - "dev": true - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "engines": { - "node": ">=10" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/zen-observable": { - "version": "0.8.15", - "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz", - "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ==" - }, - "node_modules/zen-observable-ts": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.1.0.tgz", - "integrity": "sha512-1h4zlLSqI2cRLPJUHJFL8bCWHhkpuXkF+dbGkRaWjgDIG26DmzyshUMrdV/rL3UnR+mhaX4fRq8LPouq0MYYIA==", - "dependencies": { - "@types/zen-observable": "0.8.3", - "zen-observable": "0.8.15" - } - } - }, "dependencies": { "@ampproject/remapping": { "version": "2.1.0", @@ -11487,8 +958,7 @@ "@nestjs/bull": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/@nestjs/bull/-/bull-0.4.2.tgz", - "integrity": "sha512-HYRMbgqoUIpGplXN8kaZ23E/yHn6TRrQ297ILRqaHTxBp4vO+XNLfL1qUmJ4Z6weufsNKGg0xcX4dSC5AhXV9g==", - "requires": {} + "integrity": "sha512-HYRMbgqoUIpGplXN8kaZ23E/yHn6TRrQ297ILRqaHTxBp4vO+XNLfL1qUmJ4Z6weufsNKGg0xcX4dSC5AhXV9g==" }, "@nestjs/cli": { "version": "8.2.0", @@ -11547,6 +1017,16 @@ "iterare": "1.2.1", "tslib": "2.3.1", "uuid": "8.3.2" + }, + "dependencies": { + "axios": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", + "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "requires": { + "follow-redirects": "^1.14.4" + } + } } }, "@nestjs/config": { @@ -11603,14 +1083,12 @@ "@nestjs/mapped-types": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@nestjs/mapped-types/-/mapped-types-1.0.1.tgz", - "integrity": "sha512-NFvofzSinp00j5rzUd4tf+xi9od6383iY0JP7o0Bnu1fuItAUkWBgc4EKuIQ3D+c2QI3i9pG1kDWAeY27EMGtg==", - "requires": {} + "integrity": "sha512-NFvofzSinp00j5rzUd4tf+xi9od6383iY0JP7o0Bnu1fuItAUkWBgc4EKuIQ3D+c2QI3i9pG1kDWAeY27EMGtg==" }, "@nestjs/passport": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/@nestjs/passport/-/passport-8.1.0.tgz", - "integrity": "sha512-IJ0AumoIWPzzki8d1TixTLcWJiNhJxzpn9ejAYA0TaKsC2B1zyg58WotTU3U/perCOiiAgjpvTB4vA/7L8K9Mg==", - "requires": {} + "integrity": "sha512-IJ0AumoIWPzzki8d1TixTLcWJiNhJxzpn9ejAYA0TaKsC2B1zyg58WotTU3U/perCOiiAgjpvTB4vA/7L8K9Mg==" }, "@nestjs/platform-express": { "version": "8.2.6", @@ -12566,15 +2044,13 @@ "version": "1.8.0", "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "requires": {} + "dev": true }, "acorn-jsx": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "requires": {} + "dev": true }, "acorn-walk": { "version": "7.2.0", @@ -12635,8 +2111,7 @@ "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} + "dev": true }, "ansi-colors": { "version": "4.1.1", @@ -12810,11 +2285,11 @@ } }, "axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "version": "0.26.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.26.0.tgz", + "integrity": "sha512-lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==", "requires": { - "follow-redirects": "^1.14.4" + "follow-redirects": "^1.14.8" } }, "babel-jest": { @@ -13813,8 +3288,7 @@ "ws": { "version": "8.2.3", "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz", - "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==", - "requires": {} + "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==" } } }, @@ -14030,8 +3504,7 @@ "version": "8.3.0", "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", - "dev": true, - "requires": {} + "dev": true }, "eslint-plugin-prettier": { "version": "4.0.0", @@ -15483,8 +4956,7 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.2.tgz", "integrity": "sha512-olV41bKSMm8BdnuMsewT4jqlZ8+3TCARAXjZGT9jcoSnrfUnRCqnMoF9XEeoWjbzObpqF9dRhHQj0Xb9QdF6/w==", - "dev": true, - "requires": {} + "dev": true }, "jest-regex-util": { "version": "27.5.0", @@ -16715,8 +6187,7 @@ "pg-pool": { "version": "3.5.1", "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.1.tgz", - "integrity": "sha512-6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ==", - "requires": {} + "integrity": "sha512-6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ==" }, "pg-protocol": { "version": "1.5.0", @@ -17533,14 +7004,6 @@ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz", "integrity": "sha1-gIudDlb8Jz2Am6VzOOkpkZoanxo=" }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, "string-length": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", @@ -17566,6 +7029,14 @@ "strip-ansi": "^6.0.1" } }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -18402,8 +7873,7 @@ "version": "7.5.7", "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz", "integrity": "sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==", - "dev": true, - "requires": {} + "dev": true }, "xml-name-validator": { "version": "3.0.0", diff --git a/server/package.json b/server/package.json index ef97eae230..2e98eaf848 100644 --- a/server/package.json +++ b/server/package.json @@ -18,7 +18,8 @@ "test:watch": "jest --watch", "test:cov": "jest --coverage", "test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand", - "test:e2e": "jest --config ./test/jest-e2e.json" + "test:e2e": "jest --config ./test/jest-e2e.json", + "typeorm": "node --require ts-node/register ./node_modules/typeorm/cli.js" }, "dependencies": { "@nestjs/bull": "^0.4.2", @@ -34,6 +35,7 @@ "@nestjs/typeorm": "^8.0.3", "@nestjs/websockets": "^8.2.6", "@socket.io/redis-adapter": "^7.1.0", + "axios": "^0.26.0", "bcrypt": "^5.0.1", "bull": "^4.4.0", "class-transformer": "^0.5.1", @@ -46,10 +48,12 @@ "passport": "^0.5.2", "passport-jwt": "^4.0.0", "pg": "^8.7.1", + "redis": "^3.1.2", "reflect-metadata": "^0.1.13", "rimraf": "^3.0.2", "rxjs": "^7.2.0", "sharp": "0.28", + "socket.io-redis": "^6.1.1", "systeminformation": "^5.11.0", "typeorm": "^0.2.41" }, diff --git a/server/src/api-v1/asset/entities/asset.entity.ts b/server/src/api-v1/asset/entities/asset.entity.ts index 8fd1be779d..e7461ef7fa 100644 --- a/server/src/api-v1/asset/entities/asset.entity.ts +++ b/server/src/api-v1/asset/entities/asset.entity.ts @@ -1,5 +1,6 @@ import { Column, Entity, JoinColumn, OneToOne, PrimaryColumn, PrimaryGeneratedColumn, Unique } from 'typeorm'; import { ExifEntity } from './exif.entity'; +import { SmartInfoEntity } from './smart-info.entity'; @Entity('assets') @Unique(['deviceAssetId', 'userId', 'deviceId']) @@ -42,6 +43,9 @@ export class AssetEntity { @OneToOne(() => ExifEntity, (exifEntity) => exifEntity.asset) exifInfo: ExifEntity; + + @OneToOne(() => SmartInfoEntity, (smartInfoEntity) => smartInfoEntity.asset) + smartInfo: SmartInfoEntity; } export enum AssetType { diff --git a/server/src/api-v1/asset/entities/smart-info.entity.ts b/server/src/api-v1/asset/entities/smart-info.entity.ts new file mode 100644 index 0000000000..8051095131 --- /dev/null +++ b/server/src/api-v1/asset/entities/smart-info.entity.ts @@ -0,0 +1,19 @@ +import { Column, Entity, Index, JoinColumn, OneToOne, PrimaryGeneratedColumn } from 'typeorm'; +import { AssetEntity } from './asset.entity'; + +@Entity('smart_info') +export class SmartInfoEntity { + @PrimaryGeneratedColumn() + id: string; + + @Index({ unique: true }) + @Column({ type: 'uuid' }) + assetId: string; + + @Column({ type: 'text', array: true, nullable: true }) + tags: string[]; + + @OneToOne(() => AssetEntity, { onDelete: 'CASCADE', nullable: true }) + @JoinColumn({ name: 'assetId', referencedColumnName: 'id' }) + asset: SmartInfoEntity; +} diff --git a/server/src/config/database.config.ts b/server/src/config/database.config.ts index 20621d618d..71c94064cc 100644 --- a/server/src/config/database.config.ts +++ b/server/src/config/database.config.ts @@ -1,12 +1,11 @@ import { TypeOrmModuleOptions } from '@nestjs/typeorm'; -import dotenv from 'dotenv'; +// import dotenv from 'dotenv'; -const result = dotenv.config(); - -if (result.error) { - console.log(result.error); -} +// const result = dotenv.config(); +// if (result.error) { +// console.log(result.error); +// } export const databaseConfig: TypeOrmModuleOptions = { type: 'postgres', host: 'immich_postgres', @@ -15,13 +14,10 @@ export const databaseConfig: TypeOrmModuleOptions = { password: process.env.DB_PASSWORD, database: process.env.DB_DATABASE_NAME, entities: [__dirname + '/../**/*.entity.{js,ts}'], - synchronize: true, - // logging: true, - // logger: 'advanced-console', - // ssl: process.env.NODE_ENV == 'production', - // extra: { - // ssl: { - // rejectUnauthorized: false, - // }, - // }, + synchronize: false, + migrations: [__dirname + '/../migration/*.js'], + cli: { + migrationsDir: __dirname + '/../migration', + }, + migrationsRun: true, }; diff --git a/server/src/middlewares/redis-io.adapter.middleware.ts b/server/src/middlewares/redis-io.adapter.middleware.ts index e31fed830b..64447b76ed 100644 --- a/server/src/middlewares/redis-io.adapter.middleware.ts +++ b/server/src/middlewares/redis-io.adapter.middleware.ts @@ -1,15 +1,23 @@ import { IoAdapter } from '@nestjs/platform-socket.io'; -import { RedisClient, createClient } from 'redis'; +import { RedisClient } from 'redis'; import { ServerOptions } from 'socket.io'; -import { createAdapter } from '@socket.io/redis-adapter'; +import { createAdapter } from 'socket.io-redis'; + +// const pubClient = createClient({ url: 'redis://immich_redis:6379' }); +// const subClient = pubClient.duplicate(); + +const pubClient = new RedisClient({ + port: 6379, + host: 'immich_redis', +}); -const pubClient = createClient({ url: 'redis://immich_redis:6379' }); const subClient = pubClient.duplicate(); +const redisAdapter = createAdapter({ pubClient, subClient }); export class RedisIoAdapter extends IoAdapter { createIOServer(port: number, options?: ServerOptions): any { const server = super.createIOServer(port, options); - server.adapter(createAdapter(pubClient, subClient)); + server.adapter(redisAdapter); return server; } } diff --git a/server/src/migration/1645130759468-CreateUserTable.ts b/server/src/migration/1645130759468-CreateUserTable.ts new file mode 100644 index 0000000000..6e3d427dd2 --- /dev/null +++ b/server/src/migration/1645130759468-CreateUserTable.ts @@ -0,0 +1,22 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class CreateUserTable1645130759468 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise<void> { + await queryRunner.query(` + create table if not exists users + ( + id uuid default uuid_generate_v4() not null + constraint "PK_a3ffb1c0c8416b9fc6f907b7433" + primary key, + email varchar not null, + password varchar not null, + salt varchar not null, + "createdAt" timestamp default now() not null + ); + `); + } + + public async down(queryRunner: QueryRunner): Promise<void> { + await queryRunner.query(`drop table users`); + } +} diff --git a/server/src/migration/1645130777674-CreateDeviceInfoTable.ts b/server/src/migration/1645130777674-CreateDeviceInfoTable.ts new file mode 100644 index 0000000000..bf53d7910b --- /dev/null +++ b/server/src/migration/1645130777674-CreateDeviceInfoTable.ts @@ -0,0 +1,26 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class CreateDeviceInfoTable1645130777674 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise<void> { + await queryRunner.query(` + create table if not exists device_info + ( + id serial + constraint "PK_b1c15a80b0a4e5f4eebadbdd92c" + primary key, + "userId" varchar not null, + "deviceId" varchar not null, + "deviceType" varchar not null, + "notificationToken" varchar, + "createdAt" timestamp default now() not null, + "isAutoBackup" boolean default false not null, + constraint "UQ_ebad78f36b10d15fbea8560e107" + unique ("userId", "deviceId") + ); + `); + } + + public async down(queryRunner: QueryRunner): Promise<void> { + await queryRunner.query(`drop table device_info`); + } +} diff --git a/server/src/migration/1645130805273-CreateAssetsTable.ts b/server/src/migration/1645130805273-CreateAssetsTable.ts new file mode 100644 index 0000000000..82727e18a5 --- /dev/null +++ b/server/src/migration/1645130805273-CreateAssetsTable.ts @@ -0,0 +1,31 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class CreateAssetsTable1645130805273 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise<void> { + await queryRunner.query(` + create table if not exists assets + ( + id uuid default uuid_generate_v4() not null + constraint "PK_da96729a8b113377cfb6a62439c" + primary key, + "deviceAssetId" varchar not null, + "userId" varchar not null, + "deviceId" varchar not null, + type varchar not null, + "originalPath" varchar not null, + "resizePath" varchar, + "createdAt" varchar not null, + "modifiedAt" varchar not null, + "isFavorite" boolean default false not null, + "mimeType" varchar, + duration varchar, + constraint "UQ_b599ab0bd9574958acb0b30a90e" + unique ("deviceAssetId", "userId", "deviceId") + ); + `); + } + + public async down(queryRunner: QueryRunner): Promise<void> { + await queryRunner.query(`drop table assets`); + } +} diff --git a/server/src/migration/1645130817965-CreateExifTable.ts b/server/src/migration/1645130817965-CreateExifTable.ts new file mode 100644 index 0000000000..af46b86507 --- /dev/null +++ b/server/src/migration/1645130817965-CreateExifTable.ts @@ -0,0 +1,42 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class CreateExifTable1645130817965 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise<void> { + await queryRunner.query(` + create table if not exists exif + ( + id serial + constraint "PK_28663352d85078ad0046dafafaa" + primary key, + "assetId" uuid not null + constraint "REL_c0117fdbc50b917ef9067740c4" + unique + constraint "FK_c0117fdbc50b917ef9067740c44" + references assets + on delete cascade, + make varchar, + model varchar, + "imageName" varchar, + "exifImageWidth" integer, + "exifImageHeight" integer, + "fileSizeInByte" integer, + orientation varchar, + "dateTimeOriginal" timestamp with time zone, + "modifyDate" timestamp with time zone, + "lensModel" varchar, + "fNumber" double precision, + "focalLength" double precision, + iso integer, + "exposureTime" double precision, + latitude double precision, + longitude double precision + ); + + create unique index if not exists "IDX_c0117fdbc50b917ef9067740c4" on exif ("assetId"); + `); + } + + public async down(queryRunner: QueryRunner): Promise<void> { + await queryRunner.query(`drop table exif`); + } +} diff --git a/server/src/migration/1645130870184-CreateSmartInfoTable.ts b/server/src/migration/1645130870184-CreateSmartInfoTable.ts new file mode 100644 index 0000000000..9c81f6099a --- /dev/null +++ b/server/src/migration/1645130870184-CreateSmartInfoTable.ts @@ -0,0 +1,30 @@ +import { MigrationInterface, QueryRunner } from 'typeorm'; + +export class CreateSmartInfoTable1645130870184 implements MigrationInterface { + public async up(queryRunner: QueryRunner): Promise<void> { + await queryRunner.query(` + create table if not exists smart_info + ( + id serial + constraint "PK_0beace66440e9713f5c40470e46" + primary key, + "assetId" uuid not null + constraint "UQ_5e3753aadd956110bf3ec0244ac" + unique + constraint "FK_5e3753aadd956110bf3ec0244ac" + references assets + on delete cascade, + tags text[] + ); + + create unique index if not exists "IDX_5e3753aadd956110bf3ec0244a" + on smart_info ("assetId"); + `); + } + + public async down(queryRunner: QueryRunner): Promise<void> { + await queryRunner.query(` + drop table smart_info; + `); + } +} diff --git a/server/src/modules/background-task/background-task.module.ts b/server/src/modules/background-task/background-task.module.ts index 3bd2e419a9..b610ebf9e3 100644 --- a/server/src/modules/background-task/background-task.module.ts +++ b/server/src/modules/background-task/background-task.module.ts @@ -3,6 +3,7 @@ import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; import { AssetEntity } from '../../api-v1/asset/entities/asset.entity'; import { ExifEntity } from '../../api-v1/asset/entities/exif.entity'; +import { SmartInfoEntity } from '../../api-v1/asset/entities/smart-info.entity'; import { BackgroundTaskProcessor } from './background-task.processor'; import { BackgroundTaskService } from './background-task.service'; @@ -16,7 +17,7 @@ import { BackgroundTaskService } from './background-task.service'; removeOnFail: false, }, }), - TypeOrmModule.forFeature([AssetEntity, ExifEntity]), + TypeOrmModule.forFeature([AssetEntity, ExifEntity, SmartInfoEntity]), ], providers: [BackgroundTaskService, BackgroundTaskProcessor], exports: [BackgroundTaskService], diff --git a/server/src/modules/background-task/background-task.processor.ts b/server/src/modules/background-task/background-task.processor.ts index 7dcf097432..8325f30a7d 100644 --- a/server/src/modules/background-task/background-task.processor.ts +++ b/server/src/modules/background-task/background-task.processor.ts @@ -9,6 +9,8 @@ import { readFile } from 'fs/promises'; import fs from 'fs'; import { Logger } from '@nestjs/common'; import { ExifEntity } from '../../api-v1/asset/entities/exif.entity'; +import axios from 'axios'; +import { SmartInfoEntity } from '../../api-v1/asset/entities/smart-info.entity'; @Processor('background-task') export class BackgroundTaskProcessor { @@ -16,6 +18,9 @@ export class BackgroundTaskProcessor { @InjectRepository(AssetEntity) private assetRepository: Repository<AssetEntity>, + @InjectRepository(SmartInfoEntity) + private smartInfoRepository: Repository<SmartInfoEntity>, + @InjectRepository(ExifEntity) private exifRepository: Repository<ExifEntity>, @@ -76,4 +81,18 @@ export class BackgroundTaskProcessor { }); }); } + + @Process('tag-image') + async tagImage(job) { + const { thumbnailPath, asset }: { thumbnailPath: string; asset: AssetEntity } = job.data; + const res = await axios.post('http://immich_tf_fastapi:8000/tagImage', { thumbnail_path: thumbnailPath }); + + if (res.status == 200) { + const smartInfo = new SmartInfoEntity(); + smartInfo.assetId = asset.id; + smartInfo.tags = [...res.data]; + + this.smartInfoRepository.save(smartInfo); + } + } } diff --git a/server/src/modules/background-task/background-task.service.ts b/server/src/modules/background-task/background-task.service.ts index 9a6da718ba..6ab54ac0cb 100644 --- a/server/src/modules/background-task/background-task.service.ts +++ b/server/src/modules/background-task/background-task.service.ts @@ -32,4 +32,15 @@ export class BackgroundTaskService { { jobId: randomUUID() }, ); } + + async tagImage(thumbnailPath: string, asset: AssetEntity) { + await this.backgroundTaskQueue.add( + 'tag-image', + { + thumbnailPath, + asset, + }, + { jobId: randomUUID() }, + ); + } } diff --git a/server/src/modules/image-optimize/image-optimize.module.ts b/server/src/modules/image-optimize/image-optimize.module.ts index d92e8c2032..89e9cc739d 100644 --- a/server/src/modules/image-optimize/image-optimize.module.ts +++ b/server/src/modules/image-optimize/image-optimize.module.ts @@ -1,20 +1,17 @@ import { BullModule } from '@nestjs/bull'; import { Module } from '@nestjs/common'; import { TypeOrmModule } from '@nestjs/typeorm'; -import { join } from 'path'; -import { AssetModule } from '../../api-v1/asset/asset.module'; -import { AssetService } from '../../api-v1/asset/asset.service'; import { AssetEntity } from '../../api-v1/asset/entities/asset.entity'; -import { CommunicationGateway } from '../../api-v1/communication/communication.gateway'; import { CommunicationModule } from '../../api-v1/communication/communication.module'; -import { UserEntity } from '../../api-v1/user/entities/user.entity'; -import { ImmichJwtModule } from '../immich-jwt/immich-jwt.module'; +import { BackgroundTaskModule } from '../background-task/background-task.module'; +import { BackgroundTaskService } from '../background-task/background-task.service'; import { ImageOptimizeProcessor } from './image-optimize.processor'; import { AssetOptimizeService } from './image-optimize.service'; @Module({ imports: [ CommunicationModule, + BackgroundTaskModule, BullModule.registerQueue({ name: 'optimize', defaultJobOptions: { @@ -23,10 +20,17 @@ import { AssetOptimizeService } from './image-optimize.service'; removeOnFail: false, }, }), - + BullModule.registerQueue({ + name: 'background-task', + defaultJobOptions: { + attempts: 3, + removeOnComplete: true, + removeOnFail: false, + }, + }), TypeOrmModule.forFeature([AssetEntity]), ], - providers: [AssetOptimizeService, ImageOptimizeProcessor], + providers: [AssetOptimizeService, ImageOptimizeProcessor, BackgroundTaskService], exports: [AssetOptimizeService], }) export class ImageOptimizeModule {} diff --git a/server/src/modules/image-optimize/image-optimize.processor.ts b/server/src/modules/image-optimize/image-optimize.processor.ts index 1e1faa4018..50f826c829 100644 --- a/server/src/modules/image-optimize/image-optimize.processor.ts +++ b/server/src/modules/image-optimize/image-optimize.processor.ts @@ -11,6 +11,7 @@ import { APP_UPLOAD_LOCATION } from '../../constants/upload_location.constant'; import { WebSocketServer } from '@nestjs/websockets'; import { Socket, Server as SocketIoServer } from 'socket.io'; import { CommunicationGateway } from '../../api-v1/communication/communication.gateway'; +import { BackgroundTaskService } from '../background-task/background-task.service'; @Processor('optimize') export class ImageOptimizeProcessor { @@ -18,6 +19,8 @@ export class ImageOptimizeProcessor { private wsCommunicateionGateway: CommunicationGateway, @InjectRepository(AssetEntity) private assetRepository: Repository<AssetEntity>, + + private backgroundTaskService: BackgroundTaskService, ) {} @Process('resize-image') @@ -58,11 +61,15 @@ export class ImageOptimizeProcessor { } const res = await this.assetRepository.update(savedAsset, { resizePath: desitnation }); + if (res.affected) { this.wsCommunicateionGateway.server .to(savedAsset.userId) .emit('on_upload_success', JSON.stringify(savedAsset)); } + + // Tag Image + this.backgroundTaskService.tagImage(desitnation, savedAsset); }); } else { sharp(data) @@ -79,6 +86,9 @@ export class ImageOptimizeProcessor { .to(savedAsset.userId) .emit('on_upload_success', JSON.stringify(savedAsset)); } + + // Tag Image + this.backgroundTaskService.tagImage(resizePath, savedAsset); }); } }); @@ -107,12 +117,18 @@ export class ImageOptimizeProcessor { filename: `${filename}.png`, }) .on('end', async (a) => { + const thumbnailPath = `${resizeDir}/${filename}.png`; + const res = await this.assetRepository.update(savedAsset, { resizePath: `${resizeDir}/${filename}.png` }); + if (res.affected) { this.wsCommunicateionGateway.server .to(savedAsset.userId) .emit('on_upload_success', JSON.stringify(savedAsset)); } + + // Tag Image + this.backgroundTaskService.tagImage(thumbnailPath, savedAsset); }); return 'ok';