diff --git a/README.md b/README.md index c84de02..10a6d61 100755 --- a/README.md +++ b/README.md @@ -1,2 +1,324 @@ -# Aether -Проектная работа +
+ +# 🌌 Aether + +Aether logo + +**Современная full-stack платформа для чатов с мощным backend и элегантным frontend** + +[![Python](https://img.shields.io/badge/Python-3.13%2B-3776AB?style=flat-square&logo=python&logoColor=white)](https://www.python.org/downloads/) +[![FastAPI](https://img.shields.io/badge/FastAPI-0.124%2B-009688?style=flat-square&logo=fastapi&logoColor=white)](https://fastapi.tiangolo.com/) +[![React](https://img.shields.io/badge/React-19-61DAFB?style=flat-square&logo=react&logoColor=black)](https://react.dev/) +[![TypeScript](https://img.shields.io/badge/TypeScript-5.9-3178C6?style=flat-square&logo=typescript&logoColor=white)](https://www.typescriptlang.org/) +[![TailwindCSS](https://img.shields.io/badge/Tailwind-3.4-06B6D4?style=flat-square&logo=tailwindcss&logoColor=white)](https://tailwindcss.com/) +[![License](https://img.shields.io/badge/License-Apache--2.0-blue?style=flat-square)](LICENSE) + +[Особенности](#-особенности) • [Технологии](#️-технологии) • [Установка](#-быстрый-старт) • [Документация](#-документация) • [Разработка](#-разработка) + +
+ +--- + +## ✨ Особенности + +- 🚀 **Высокая производительность**: Асинхронный backend на FastAPI с оптимизированными запросами к БД +- 🔐 **Безопасность**: JWT аутентификация с cookie, защита от CSRF, хеширование паролей bcrypt +- 📧 **Email сервис**: Подтверждение email, восстановление пароля через Celery задачи +- 💾 **Кэширование**: Redis для быстрого доступа к данным и сессий +- 🗄️ **База данных**: PostgreSQL с миграциями через Alembic +- 📦 **Файловое хранилище**: Интеграция с S3-совместимыми хранилищами +- 🎨 **Современный UI**: React 19 с TypeScript, Framer Motion анимации, Tailwind CSS +- 🔄 **Управление состоянием**: Zustand для простого и эффективного state management +- 📱 **Адаптивный дизайн**: Полностью responsive интерфейс для всех устройств +- 🧪 **Тестирование**: Pytest для backend тестов + +## 🛠️ Технологии + +### Backend +``` +FastAPI - Современный веб-фреймворк для API +SQLAlchemy - ORM для работы с PostgreSQL +Alembic - Миграции базы данных +Pydantic - Валидация данных и настроек +Celery - Асинхронные задачи (email рассылки) +Redis - Кэширование и брокер сообщений +Passlib + bcrypt - Безопасное хеширование паролей +Python-Jose - JWT токены +Aiobotocore - Асинхронная работа с S3 +Pytest - Тестирование +``` + +### Frontend +``` +React 19 - UI библиотека +TypeScript - Типизированный JavaScript +Vite - Сборщик проекта +React Router - Маршрутизация +Zustand - Управление состоянием +Axios - HTTP клиент +Framer Motion - Анимации +Tailwind CSS - Utility-first CSS фреймворк +Lucide React - Иконки +``` + +### Инфраструктура +``` +Docker - Контейнеризация +PostgreSQL - База данных +Redis - Кэш и брокер сообщений +S3 - Объектное хранилище +``` + +## 🚀 Быстрый старт + +### Требования +- Python 3.13+ +- Node.js 18+ +- PostgreSQL 14+ +- Redis 7+ +- Docker & Docker Compose (опционально) + +### Установка + +#### 1. Клонируйте репозиторий +```bash +git clone https://github.com/yourusername/Aether.git +cd Aether +``` + +#### 2. Backend + +```bash +cd backend + +# Установите зависимости (используя pip) +pip install -e . + +# Или используя poetry +poetry install + +# Создайте .env файл +cat > .env << EOF +DATABASE_URL=postgresql+asyncpg://user:password@localhost:5432/aether +REDIS_URL=redis://localhost:6379 +SECRET_KEY=your-secret-key-here +SMTP_HOST=smtp.gmail.com +SMTP_PORT=587 +SMTP_USER=your-email@gmail.com +SMTP_PASSWORD=your-app-password +S3_ENDPOINT=https://s3.amazonaws.com +S3_ACCESS_KEY=your-access-key +S3_SECRET_KEY=your-secret-key +S3_BUCKET_NAME=aether-bucket +EOF + +# Запустите миграции +alembic upgrade head + +# Запустите сервер +uvicorn app.main:app --reload + +# В отдельном терминале запустите Celery worker +celery -A app.core.celery_app worker --loglevel=info +``` + +#### 3. Frontend + +```bash +cd frontend + +# Установите зависимости +npm install + +# Создайте .env файл +echo "VITE_API_URL=http://localhost:8000" > .env + +# Запустите dev сервер +npm run dev +``` + +### 🐳 Docker (рекомендуется) + +```bash +# В корне проекта +cd backend +docker-compose -f docker-compose.dev.yml up -d +``` + +## 📖 Документация + +### API Endpoints + +После запуска backend, документация доступна по адресам: +- Swagger UI: `http://localhost:8000/docs` +- ReDoc: `http://localhost:8000/redoc` + +### Основные маршруты + +#### Аутентификация +``` +POST /auth/register - Регистрация нового пользователя +POST /auth/login - Вход в систему +POST /auth/logout - Выход из системы +POST /auth/verify-email - Подтверждение email +POST /auth/request-reset - Запрос на сброс пароля +POST /auth/reset-password - Сброс пароля +``` + +#### Пользователи +``` +GET /users/me - Получить текущего пользователя +PUT /users/me - Обновить профиль +DELETE /users/me - Удалить аккаунт +``` + +#### Чаты +``` +GET /chats - Получить список чатов +POST /chats - Создать новый чат +GET /chats/{id} - Получить чат по ID +PUT /chats/{id} - Обновить чат +DELETE /chats/{id} - Удалить чат +``` + +## 🏗️ Структура проекта + +``` +Aether/ +├── backend/ +│ ├── app/ +│ │ ├── auth/ # Модуль аутентификации +│ │ ├── users/ # Модуль пользователей +│ │ ├── chats/ # Модуль чатов +│ │ ├── core/ # Основные компоненты (DB, Redis, Config) +│ │ ├── services/ # Бизнес-логика (Email, Redis) +│ │ ├── tasks/ # Celery задачи +│ │ ├── utils/ # Утилиты (OAuth2, Hash, Cache) +│ │ ├── templates/ # Email шаблоны +│ │ └── migration/ # Alembic миграции +│ ├── tests/ # Тесты +│ └── pyproject.toml # Зависимости Python +│ +├── frontend/ +│ ├── src/ +│ │ ├── components/ # React компоненты +│ │ │ ├── auth/ # Компоненты аутентификации +│ │ │ ├── chat/ # Компоненты чата +│ │ │ └── common/ # Общие компоненты +│ │ ├── pages/ # Страницы приложения +│ │ ├── services/ # API сервисы +│ │ ├── store/ # Zustand хранилища +│ │ └── utils/ # Утилиты +│ └── package.json # Зависимости Node.js +│ +└── assets/ # Статические файлы (логотипы и т.д.) +``` + +## 💻 Разработка + +### Backend + +```bash +# Запуск тестов +pytest + +# Запуск тестов с coverage +pytest --cov=app tests/ + +# Создание новой миграции +alembic revision --autogenerate -m "description" + +# Применение миграций +alembic upgrade head + +# Откат миграций +alembic downgrade -1 + +# Форматирование кода +black app/ +isort app/ + +# Проверка типов +mypy app/ +``` + +### Frontend + +```bash +# Запуск dev сервера +npm run dev + +# Сборка для production +npm run build + +# Просмотр production сборки +npm run preview + +# Линтинг +npm run lint + +# Проверка типов +npx tsc --noEmit +``` + +## 🧪 Тестирование + +### Backend тесты + +```bash +cd backend +pytest tests/ -v +``` + +## 🚢 Деплой + +### Backend + +```bash +# Сборка Docker образа +docker build -t aether-backend . + +# Запуск контейнера +docker run -p 8000:8000 --env-file .env aether-backend +``` + +### Frontend + +```bash +# Сборка для production +npm run build + +# Папка dist/ готова к деплою на любой статический хостинг +``` + +## 🤝 Вклад в проект + +Мы приветствуем вклад в развитие проекта! Пожалуйста: + +1. Сделайте Fork репозитория +2. Создайте ветку для новой функции (`git checkout -b feature/AmazingFeature`) +3. Зафиксируйте изменения (`git commit -m 'Add some AmazingFeature'`) +4. Отправьте в ветку (`git push origin feature/AmazingFeature`) +5. Откройте Pull Request + +## 📝 Лицензия + +Этот проект распространяется под лицензией Apache 2.0. Подробности в файле [LICENSE](LICENSE). + +## 👤 Автор + +**lorsan** +- Email: stasstrochewskij@gmail.com +- GitHub: [@lorsan](https://github.com/lorsan) + +## 🙏 Благодарности + +- [FastAPI](https://fastapi.tiangolo.com/) за отличный фреймворк +- [React](https://react.dev/) команде за мощную библиотеку +- Всем контрибьюторам open-source проектов, которые используются в Aether + +--- + +
+Сделано с ❤️ by lorsan +
diff --git a/assets/logo.png b/assets/logo.png new file mode 100644 index 0000000..14415f2 Binary files /dev/null and b/assets/logo.png differ diff --git a/backend/app/core/S3_client.py b/backend/app/core/S3_client.py new file mode 100644 index 0000000..f649e46 --- /dev/null +++ b/backend/app/core/S3_client.py @@ -0,0 +1,139 @@ +from contextlib import asynccontextmanager +from typing import AsyncIterator +import logging + +from aiobotocore.session import get_session +from types_aiobotocore_s3 import S3Client as S3ClientAnnotated +from botocore.exceptions import ClientError +from fastapi import HTTPException, status + +from app.core.config import settings + +log = logging.getLogger(__name__) + + +class S3Client: + def __init__( + self, + access_key: str, + secret_key: str, + endpoint_url: str, + bucket_name: str + ): + self.config = dict( + aws_access_key_id=access_key, + aws_secret_access_key=secret_key, + endpoint_url=endpoint_url + ) + self.endpoint_url = endpoint_url + self.bucket_name = bucket_name + + @asynccontextmanager + async def _get_client(self) -> AsyncIterator[S3ClientAnnotated]: + session = get_session() + async with session.create_client("s3", **self.config) as raw_client: + client: S3ClientAnnotated = raw_client + yield client + + + async def upload_file( + self, + file: bytes, + object_name: str, + content_type: str + ) -> str: + log.info("Uploading file to S3", extra={"object_name": object_name, "content_type": content_type}) + try: + async with self._get_client() as client: + await client.put_object( + Bucket=self.bucket_name, + Key=object_name, + Body=file, + ContentType=content_type + ) + log.info("File uploaded to S3 successfully", extra={"object_name": object_name}) + except ClientError as e: + log.error(f"S3 upload error: {str(e)}", extra={"object_name": object_name}) + raise HTTPException(status.HTTP_503_SERVICE_UNAVAILABLE, detail="S3 upload error") + except Exception as e: + log.error(f"Unexpected S3 error: {str(e)}", extra={"object_name": object_name}) + raise HTTPException(status.HTTP_503_SERVICE_UNAVAILABLE, detail="Unexpected S3 error") + + return f"{self.endpoint_url}/{self.bucket_name}/{object_name}" + + + async def download_file( + self, + object_name: str + ) -> bytes: + log.info("Downloading file from S3", extra={"object_name": object_name}) + try: + async with self._get_client() as client: + response = await client.get_object( + Bucket=self.bucket_name, + Key=object_name + ) + log.info("File downloaded from S3 successfully", extra={"object_name": object_name}) + return await response["Body"].read() + + except ClientError as ex: + log.error(f"S3 download error: {str(ex)}", extra={"object_name": object_name}) + raise HTTPException(status.HTTP_503_SERVICE_UNAVAILABLE, detail="S3 download error") + except Exception as e: + log.error(f"Unexpected S3 error: {str(e)}", extra={"object_name": object_name}) + raise HTTPException(status.HTTP_503_SERVICE_UNAVAILABLE, detail="Unexpected S3 error") + + + async def delete_file(self, object_name: str) -> None: + log.info("Deleting file from S3", extra={"object_name": object_name}) + try: + async with self._get_client() as client: + await client.delete_object( + Bucket=self.bucket_name, + Key=object_name + ) + log.info("File deleted from S3 successfully", extra={"object_name": object_name}) + except ClientError as e: + log.error(f"S3 delete error: {str(e)}", extra={"object_name": object_name}) + raise HTTPException(status.HTTP_503_SERVICE_UNAVAILABLE, detail="S3 delete error") + except Exception as e: + log.error(f"Unexpected S3 error: {str(e)}", extra={"object_name": object_name}) + raise HTTPException(status.HTTP_503_SERVICE_UNAVAILABLE, detail="Unexpected S3 error") + + + async def delete_files(self, object_names: list[str]) -> None: + if not object_names: + return + + log.info("Deleting multiple files from S3", extra={"count": len(object_names)}) + try: + async with self._get_client() as client: + delete_payload = { + "Objects": [{'Key': name} for name in object_names], + "Quiet": True + } + await client.delete_objects( + Bucket=self.bucket_name, + Delete=delete_payload + ) + log.info("Files deleted from S3 successfully", extra={"count": len(object_names)}) + except ClientError as e: + log.error(f"S3 batch delete error: {str(e)}", extra={"count": len(object_names)}) + raise HTTPException( + status.HTTP_503_SERVICE_UNAVAILABLE, + detail="S3 batch delete error" + ) + except Exception as e: + log.error(f"Unexpected S3 error: {str(e)}", extra={"count": len(object_names)}) + raise HTTPException( + status.HTTP_503_SERVICE_UNAVAILABLE, + detail="Unexpected S3 error" + ) + + +s3_client = S3Client( + access_key=settings.S3_ACCESS_KEY_ID, + secret_key=settings.S3_SECRET_ACCESS_KEY, + endpoint_url=settings.S3_URL, + bucket_name=settings.S3_BUCKET_NAME +) \ No newline at end of file diff --git a/backend/app/core/config.py b/backend/app/core/config.py index 995f6fc..2868983 100755 --- a/backend/app/core/config.py +++ b/backend/app/core/config.py @@ -28,6 +28,11 @@ class Settings(BaseSettings): SMTP_PORT: int SMTP_EMAIL: str SMTP_PASS: str + + S3_URL: str + S3_ACCESS_KEY_ID: str + S3_SECRET_ACCESS_KEY: str + S3_BUCKET_NAME: str DB_HOST: str DB_PORT: int diff --git a/backend/app/users/router.py b/backend/app/users/router.py index ad90e90..66d6c23 100755 --- a/backend/app/users/router.py +++ b/backend/app/users/router.py @@ -1,7 +1,7 @@ from typing import Dict import logging -from fastapi import APIRouter, Response, Depends +from fastapi import APIRouter, Response, Depends, UploadFile, File from app.users.schemas import User, UserUpdate from app.users.service import UserService @@ -36,4 +36,16 @@ async def delete_current_user(response: Response, user: UserModel = Depends(get_ await AuthService.abort_all_sessions(user.id) await UserService.delete_user(user.id) - return {"status": True, "message": "User successfully deleted"} \ No newline at end of file + return {"status": True, "message": "User successfully deleted"} + +@router.post("/me/avatar") +async def upload_avatar( + avatar: UploadFile = File(...), + user: UserModel = Depends(get_current_verified_user) +) -> User: + return await UserService.upload_avatar(user, avatar) + +@router.delete('/me/avatar') +async def delete_avatar(user: UserModel = Depends(get_current_verified_user)) -> Dict: + await UserService.delete_avatar(user) + return {"status": True, "message": "Avatar successfully deleted"} \ No newline at end of file diff --git a/backend/app/users/service.py b/backend/app/users/service.py index d51e4b4..4e27e77 100644 --- a/backend/app/users/service.py +++ b/backend/app/users/service.py @@ -3,11 +3,13 @@ import uuid from datetime import timedelta from typing import List -from fastapi import HTTPException, status +from fastapi import HTTPException, status, UploadFile from sqlalchemy import or_ +from sqlalchemy.orm.sync import update from app.utils.hash_password import hash_password, verify_password from app.services.redis_service import EmailTokenStorage, ChangePasswordTokenStorage +from app.core.S3_client import s3_client from app.core.exceptions import InvalidTokenException, TokenExpiredException, UserNotFoundException from app.users.models import UserModel from app.users.dao import UserDAO @@ -221,4 +223,56 @@ class UserService: obj_in={"hashed_password": hash_password(new_password)} ) await session.commit() - log.info("Successfully reset password", extra={"user_id": user_id}) \ No newline at end of file + log.info("Successfully reset password", extra={"user_id": user_id}) + + + @classmethod + async def upload_avatar(cls, user: UserModel, avatar: UploadFile) -> User: + async with async_session_maker() as session: + allowed_types = ["image/jpeg", "image/png", "image/gif"] + + if not avatar.content_type in allowed_types: + log.warning("Using not allowed type photo", extra={"user_id": user.id}) + raise HTTPException(status.HTTP_400_BAD_REQUEST, detail="allowed type png and jpeg") + + if user.avatar_url is not None: + await cls.delete_avatar(user) + + type: str = avatar.filename.split(".")[-1] + object_name: str = f"avatar_{user.id}_{uuid.uuid4()}.{type}" + + url = await s3_client.upload_file( + file=avatar.file.read(), + object_name=object_name, + content_type=avatar.content_type + ) + + update_user = await UserDAO.update( + session, + UserModel.id==user.id, + obj_in={"avatar_url": url} + ) + await session.commit() + log.info("Successfully upload avatar", extra={"user_id": user.id, "avatar_url": url}) + return update_user + + + @classmethod + async def delete_avatar(cls, user: UserModel): + async with async_session_maker() as session: + + if user.avatar_url is None: + log.warning("Avatar is none", extra={"user_id": user.id}) + return + + avatar_name = user.avatar_url.split("/")[-1] + + await s3_client.delete_file(avatar_name) + + await UserDAO.update( + session, + UserModel.id==user.id, + obj_in={"avatar_url": None} + ) + log.info("Avatar successfully deleted", extra={"user_id": user.id}) + await session.commit() \ No newline at end of file diff --git a/backend/poetry.lock b/backend/poetry.lock index e44e071..f796d67 100755 --- a/backend/poetry.lock +++ b/backend/poetry.lock @@ -1,5 +1,210 @@ # This file is automatically @generated by Poetry 2.2.1 and should not be changed by hand. +[[package]] +name = "aiobotocore" +version = "3.1.0" +description = "Async client for aws services using botocore and aiohttp" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "aiobotocore-3.1.0-py3-none-any.whl", hash = "sha256:4801f7b996f37a48faed017d23d8eae71e5fe0c3ec6bf0d9c5ce4f4d1853fce8"}, + {file = "aiobotocore-3.1.0.tar.gz", hash = "sha256:5897bde0a47b21e6f7bd00942527b099728ac5c6c6d1dcc34e999de24f3c8872"}, +] + +[package.dependencies] +aiohttp = ">=3.12.0,<4.0.0" +aioitertools = ">=0.5.1,<1.0.0" +botocore = ">=1.41.0,<1.42.20" +jmespath = ">=0.7.1,<2.0.0" +multidict = ">=6.0.0,<7.0.0" +python-dateutil = ">=2.1,<3.0.0" +wrapt = ">=1.10.10,<3.0.0" + +[package.extras] +httpx = ["httpx (>=0.25.1,<0.29)"] + +[[package]] +name = "aiohappyeyeballs" +version = "2.6.1" +description = "Happy Eyeballs for asyncio" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8"}, + {file = "aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558"}, +] + +[[package]] +name = "aiohttp" +version = "3.13.3" +description = "Async http client/server framework (asyncio)" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "aiohttp-3.13.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:d5a372fd5afd301b3a89582817fdcdb6c34124787c70dbcc616f259013e7eef7"}, + {file = "aiohttp-3.13.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:147e422fd1223005c22b4fe080f5d93ced44460f5f9c105406b753612b587821"}, + {file = "aiohttp-3.13.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:859bd3f2156e81dd01432f5849fc73e2243d4a487c4fd26609b1299534ee1845"}, + {file = "aiohttp-3.13.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dca68018bf48c251ba17c72ed479f4dafe9dbd5a73707ad8d28a38d11f3d42af"}, + {file = "aiohttp-3.13.3-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:fee0c6bc7db1de362252affec009707a17478a00ec69f797d23ca256e36d5940"}, + {file = "aiohttp-3.13.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c048058117fd649334d81b4b526e94bde3ccaddb20463a815ced6ecbb7d11160"}, + {file = "aiohttp-3.13.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:215a685b6fbbfcf71dfe96e3eba7a6f58f10da1dfdf4889c7dd856abe430dca7"}, + {file = "aiohttp-3.13.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:de2c184bb1fe2cbd2cefba613e9db29a5ab559323f994b6737e370d3da0ac455"}, + {file = "aiohttp-3.13.3-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:75ca857eba4e20ce9f546cd59c7007b33906a4cd48f2ff6ccf1ccfc3b646f279"}, + {file = "aiohttp-3.13.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:81e97251d9298386c2b7dbeb490d3d1badbdc69107fb8c9299dd04eb39bddc0e"}, + {file = "aiohttp-3.13.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c0e2d366af265797506f0283487223146af57815b388623f0357ef7eac9b209d"}, + {file = "aiohttp-3.13.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4e239d501f73d6db1522599e14b9b321a7e3b1de66ce33d53a765d975e9f4808"}, + {file = "aiohttp-3.13.3-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:0db318f7a6f065d84cb1e02662c526294450b314a02bd9e2a8e67f0d8564ce40"}, + {file = "aiohttp-3.13.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:bfc1cc2fe31a6026a8a88e4ecfb98d7f6b1fec150cfd708adbfd1d2f42257c29"}, + {file = "aiohttp-3.13.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:af71fff7bac6bb7508956696dce8f6eec2bbb045eceb40343944b1ae62b5ef11"}, + {file = "aiohttp-3.13.3-cp310-cp310-win32.whl", hash = "sha256:37da61e244d1749798c151421602884db5270faf479cf0ef03af0ff68954c9dd"}, + {file = "aiohttp-3.13.3-cp310-cp310-win_amd64.whl", hash = "sha256:7e63f210bc1b57ef699035f2b4b6d9ce096b5914414a49b0997c839b2bd2223c"}, + {file = "aiohttp-3.13.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5b6073099fb654e0a068ae678b10feff95c5cae95bbfcbfa7af669d361a8aa6b"}, + {file = "aiohttp-3.13.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1cb93e166e6c28716c8c6aeb5f99dfb6d5ccf482d29fe9bf9a794110e6d0ab64"}, + {file = "aiohttp-3.13.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:28e027cf2f6b641693a09f631759b4d9ce9165099d2b5d92af9bd4e197690eea"}, + {file = "aiohttp-3.13.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3b61b7169ababd7802f9568ed96142616a9118dd2be0d1866e920e77ec8fa92a"}, + {file = "aiohttp-3.13.3-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:80dd4c21b0f6237676449c6baaa1039abae86b91636b6c91a7f8e61c87f89540"}, + {file = "aiohttp-3.13.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:65d2ccb7eabee90ce0503c17716fc77226be026dcc3e65cce859a30db715025b"}, + {file = "aiohttp-3.13.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5b179331a481cb5529fca8b432d8d3c7001cb217513c94cd72d668d1248688a3"}, + {file = "aiohttp-3.13.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d4c940f02f49483b18b079d1c27ab948721852b281f8b015c058100e9421dd1"}, + {file = "aiohttp-3.13.3-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f9444f105664c4ce47a2a7171a2418bce5b7bae45fb610f4e2c36045d85911d3"}, + {file = "aiohttp-3.13.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:694976222c711d1d00ba131904beb60534f93966562f64440d0c9d41b8cdb440"}, + {file = "aiohttp-3.13.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f33ed1a2bf1997a36661874b017f5c4b760f41266341af36febaf271d179f6d7"}, + {file = "aiohttp-3.13.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:e636b3c5f61da31a92bf0d91da83e58fdfa96f178ba682f11d24f31944cdd28c"}, + {file = "aiohttp-3.13.3-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:5d2d94f1f5fcbe40838ac51a6ab5704a6f9ea42e72ceda48de5e6b898521da51"}, + {file = "aiohttp-3.13.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:2be0e9ccf23e8a94f6f0650ce06042cefc6ac703d0d7ab6c7a917289f2539ad4"}, + {file = "aiohttp-3.13.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:9af5e68ee47d6534d36791bbe9b646d2a7c7deb6fc24d7943628edfbb3581f29"}, + {file = "aiohttp-3.13.3-cp311-cp311-win32.whl", hash = "sha256:a2212ad43c0833a873d0fb3c63fa1bacedd4cf6af2fee62bf4b739ceec3ab239"}, + {file = "aiohttp-3.13.3-cp311-cp311-win_amd64.whl", hash = "sha256:642f752c3eb117b105acbd87e2c143de710987e09860d674e068c4c2c441034f"}, + {file = "aiohttp-3.13.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b903a4dfee7d347e2d87697d0713be59e0b87925be030c9178c5faa58ea58d5c"}, + {file = "aiohttp-3.13.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:a45530014d7a1e09f4a55f4f43097ba0fd155089372e105e4bff4ca76cb1b168"}, + {file = "aiohttp-3.13.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:27234ef6d85c914f9efeb77ff616dbf4ad2380be0cda40b4db086ffc7ddd1b7d"}, + {file = "aiohttp-3.13.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d32764c6c9aafb7fb55366a224756387cd50bfa720f32b88e0e6fa45b27dcf29"}, + {file = "aiohttp-3.13.3-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b1a6102b4d3ebc07dad44fbf07b45bb600300f15b552ddf1851b5390202ea2e3"}, + {file = "aiohttp-3.13.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c014c7ea7fb775dd015b2d3137378b7be0249a448a1612268b5a90c2d81de04d"}, + {file = "aiohttp-3.13.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2b8d8ddba8f95ba17582226f80e2de99c7a7948e66490ef8d947e272a93e9463"}, + {file = "aiohttp-3.13.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9ae8dd55c8e6c4257eae3a20fd2c8f41edaea5992ed67156642493b8daf3cecc"}, + {file = "aiohttp-3.13.3-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:01ad2529d4b5035578f5081606a465f3b814c542882804e2e8cda61adf5c71bf"}, + {file = "aiohttp-3.13.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:bb4f7475e359992b580559e008c598091c45b5088f28614e855e42d39c2f1033"}, + {file = "aiohttp-3.13.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:c19b90316ad3b24c69cd78d5c9b4f3aa4497643685901185b65166293d36a00f"}, + {file = "aiohttp-3.13.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:96d604498a7c782cb15a51c406acaea70d8c027ee6b90c569baa6e7b93073679"}, + {file = "aiohttp-3.13.3-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:084911a532763e9d3dd95adf78a78f4096cd5f58cdc18e6fdbc1b58417a45423"}, + {file = "aiohttp-3.13.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:7a4a94eb787e606d0a09404b9c38c113d3b099d508021faa615d70a0131907ce"}, + {file = "aiohttp-3.13.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:87797e645d9d8e222e04160ee32aa06bc5c163e8499f24db719e7852ec23093a"}, + {file = "aiohttp-3.13.3-cp312-cp312-win32.whl", hash = "sha256:b04be762396457bef43f3597c991e192ee7da460a4953d7e647ee4b1c28e7046"}, + {file = "aiohttp-3.13.3-cp312-cp312-win_amd64.whl", hash = "sha256:e3531d63d3bdfa7e3ac5e9b27b2dd7ec9df3206a98e0b3445fa906f233264c57"}, + {file = "aiohttp-3.13.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:5dff64413671b0d3e7d5918ea490bdccb97a4ad29b3f311ed423200b2203e01c"}, + {file = "aiohttp-3.13.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:87b9aab6d6ed88235aa2970294f496ff1a1f9adcd724d800e9b952395a80ffd9"}, + {file = "aiohttp-3.13.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:425c126c0dc43861e22cb1c14ba4c8e45d09516d0a3ae0a3f7494b79f5f233a3"}, + {file = "aiohttp-3.13.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7f9120f7093c2a32d9647abcaf21e6ad275b4fbec5b55969f978b1a97c7c86bf"}, + {file = "aiohttp-3.13.3-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:697753042d57f4bf7122cab985bf15d0cef23c770864580f5af4f52023a56bd6"}, + {file = "aiohttp-3.13.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6de499a1a44e7de70735d0b39f67c8f25eb3d91eb3103be99ca0fa882cdd987d"}, + {file = "aiohttp-3.13.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:37239e9f9a7ea9ac5bf6b92b0260b01f8a22281996da609206a84df860bc1261"}, + {file = "aiohttp-3.13.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f76c1e3fe7d7c8afad7ed193f89a292e1999608170dcc9751a7462a87dfd5bc0"}, + {file = "aiohttp-3.13.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fc290605db2a917f6e81b0e1e0796469871f5af381ce15c604a3c5c7e51cb730"}, + {file = "aiohttp-3.13.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4021b51936308aeea0367b8f006dc999ca02bc118a0cc78c303f50a2ff6afb91"}, + {file = "aiohttp-3.13.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:49a03727c1bba9a97d3e93c9f93ca03a57300f484b6e935463099841261195d3"}, + {file = "aiohttp-3.13.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3d9908a48eb7416dc1f4524e69f1d32e5d90e3981e4e37eb0aa1cd18f9cfa2a4"}, + {file = "aiohttp-3.13.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:2712039939ec963c237286113c68dbad80a82a4281543f3abf766d9d73228998"}, + {file = "aiohttp-3.13.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:7bfdc049127717581866fa4708791220970ce291c23e28ccf3922c700740fdc0"}, + {file = "aiohttp-3.13.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8057c98e0c8472d8846b9c79f56766bcc57e3e8ac7bfd510482332366c56c591"}, + {file = "aiohttp-3.13.3-cp313-cp313-win32.whl", hash = "sha256:1449ceddcdbcf2e0446957863af03ebaaa03f94c090f945411b61269e2cb5daf"}, + {file = "aiohttp-3.13.3-cp313-cp313-win_amd64.whl", hash = "sha256:693781c45a4033d31d4187d2436f5ac701e7bbfe5df40d917736108c1cc7436e"}, + {file = "aiohttp-3.13.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:ea37047c6b367fd4bd632bff8077449b8fa034b69e812a18e0132a00fae6e808"}, + {file = "aiohttp-3.13.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:6fc0e2337d1a4c3e6acafda6a78a39d4c14caea625124817420abceed36e2415"}, + {file = "aiohttp-3.13.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c685f2d80bb67ca8c3837823ad76196b3694b0159d232206d1e461d3d434666f"}, + {file = "aiohttp-3.13.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:48e377758516d262bde50c2584fc6c578af272559c409eecbdd2bae1601184d6"}, + {file = "aiohttp-3.13.3-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:34749271508078b261c4abb1767d42b8d0c0cc9449c73a4df494777dc55f0687"}, + {file = "aiohttp-3.13.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:82611aeec80eb144416956ec85b6ca45a64d76429c1ed46ae1b5f86c6e0c9a26"}, + {file = "aiohttp-3.13.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2fff83cfc93f18f215896e3a190e8e5cb413ce01553901aca925176e7568963a"}, + {file = "aiohttp-3.13.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bbe7d4cecacb439e2e2a8a1a7b935c25b812af7a5fd26503a66dadf428e79ec1"}, + {file = "aiohttp-3.13.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b928f30fe49574253644b1ca44b1b8adbd903aa0da4b9054a6c20fc7f4092a25"}, + {file = "aiohttp-3.13.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7b5e8fe4de30df199155baaf64f2fcd604f4c678ed20910db8e2c66dc4b11603"}, + {file = "aiohttp-3.13.3-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:8542f41a62bcc58fc7f11cf7c90e0ec324ce44950003feb70640fc2a9092c32a"}, + {file = "aiohttp-3.13.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:5e1d8c8b8f1d91cd08d8f4a3c2b067bfca6ec043d3ff36de0f3a715feeedf926"}, + {file = "aiohttp-3.13.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:90455115e5da1c3c51ab619ac57f877da8fd6d73c05aacd125c5ae9819582aba"}, + {file = "aiohttp-3.13.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:042e9e0bcb5fba81886c8b4fbb9a09d6b8a00245fd8d88e4d989c1f96c74164c"}, + {file = "aiohttp-3.13.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2eb752b102b12a76ca02dff751a801f028b4ffbbc478840b473597fc91a9ed43"}, + {file = "aiohttp-3.13.3-cp314-cp314-win32.whl", hash = "sha256:b556c85915d8efaed322bf1bdae9486aa0f3f764195a0fb6ee962e5c71ef5ce1"}, + {file = "aiohttp-3.13.3-cp314-cp314-win_amd64.whl", hash = "sha256:9bf9f7a65e7aa20dd764151fb3d616c81088f91f8df39c3893a536e279b4b984"}, + {file = "aiohttp-3.13.3-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:05861afbbec40650d8a07ea324367cb93e9e8cc7762e04dd4405df99fa65159c"}, + {file = "aiohttp-3.13.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:2fc82186fadc4a8316768d61f3722c230e2c1dcab4200d52d2ebdf2482e47592"}, + {file = "aiohttp-3.13.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:0add0900ff220d1d5c5ebbf99ed88b0c1bbf87aa7e4262300ed1376a6b13414f"}, + {file = "aiohttp-3.13.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:568f416a4072fbfae453dcf9a99194bbb8bdeab718e08ee13dfa2ba0e4bebf29"}, + {file = "aiohttp-3.13.3-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:add1da70de90a2569c5e15249ff76a631ccacfe198375eead4aadf3b8dc849dc"}, + {file = "aiohttp-3.13.3-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:10b47b7ba335d2e9b1239fa571131a87e2d8ec96b333e68b2a305e7a98b0bae2"}, + {file = "aiohttp-3.13.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3dd4dce1c718e38081c8f35f323209d4c1df7d4db4bab1b5c88a6b4d12b74587"}, + {file = "aiohttp-3.13.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:34bac00a67a812570d4a460447e1e9e06fae622946955f939051e7cc895cfab8"}, + {file = "aiohttp-3.13.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a19884d2ee70b06d9204b2727a7b9f983d0c684c650254679e716b0b77920632"}, + {file = "aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:5f8ca7f2bb6ba8348a3614c7918cc4bb73268c5ac2a207576b7afea19d3d9f64"}, + {file = "aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:b0d95340658b9d2f11d9697f59b3814a9d3bb4b7a7c20b131df4bcef464037c0"}, + {file = "aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:a1e53262fd202e4b40b70c3aff944a8155059beedc8a89bba9dc1f9ef06a1b56"}, + {file = "aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:d60ac9663f44168038586cab2157e122e46bdef09e9368b37f2d82d354c23f72"}, + {file = "aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:90751b8eed69435bac9ff4e3d2f6b3af1f57e37ecb0fbeee59c0174c9e2d41df"}, + {file = "aiohttp-3.13.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:fc353029f176fd2b3ec6cfc71be166aba1936fe5d73dd1992ce289ca6647a9aa"}, + {file = "aiohttp-3.13.3-cp314-cp314t-win32.whl", hash = "sha256:2e41b18a58da1e474a057b3d35248d8320029f61d70a37629535b16a0c8f3767"}, + {file = "aiohttp-3.13.3-cp314-cp314t-win_amd64.whl", hash = "sha256:44531a36aa2264a1860089ffd4dce7baf875ee5a6079d5fb42e261c704ef7344"}, + {file = "aiohttp-3.13.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:31a83ea4aead760dfcb6962efb1d861db48c34379f2ff72db9ddddd4cda9ea2e"}, + {file = "aiohttp-3.13.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:988a8c5e317544fdf0d39871559e67b6341065b87fceac641108c2096d5506b7"}, + {file = "aiohttp-3.13.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:9b174f267b5cfb9a7dba9ee6859cecd234e9a681841eb85068059bc867fb8f02"}, + {file = "aiohttp-3.13.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:947c26539750deeaee933b000fb6517cc770bbd064bad6033f1cff4803881e43"}, + {file = "aiohttp-3.13.3-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9ebf57d09e131f5323464bd347135a88622d1c0976e88ce15b670e7ad57e4bd6"}, + {file = "aiohttp-3.13.3-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4ae5b5a0e1926e504c81c5b84353e7a5516d8778fbbff00429fe7b05bb25cbce"}, + {file = "aiohttp-3.13.3-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2ba0eea45eb5cc3172dbfc497c066f19c41bac70963ea1a67d51fc92e4cf9a80"}, + {file = "aiohttp-3.13.3-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bae5c2ed2eae26cc382020edad80d01f36cb8e746da40b292e68fec40421dc6a"}, + {file = "aiohttp-3.13.3-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8a60e60746623925eab7d25823329941aee7242d559baa119ca2b253c88a7bd6"}, + {file = "aiohttp-3.13.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:e50a2e1404f063427c9d027378472316201a2290959a295169bcf25992d04558"}, + {file = "aiohttp-3.13.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:9a9dc347e5a3dc7dfdbc1f82da0ef29e388ddb2ed281bfce9dd8248a313e62b7"}, + {file = "aiohttp-3.13.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:b46020d11d23fe16551466c77823df9cc2f2c1e63cc965daf67fa5eec6ca1877"}, + {file = "aiohttp-3.13.3-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:69c56fbc1993fa17043e24a546959c0178fe2b5782405ad4559e6c13975c15e3"}, + {file = "aiohttp-3.13.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:b99281b0704c103d4e11e72a76f1b543d4946fea7dd10767e7e1b5f00d4e5704"}, + {file = "aiohttp-3.13.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:40c5e40ecc29ba010656c18052b877a1c28f84344825efa106705e835c28530f"}, + {file = "aiohttp-3.13.3-cp39-cp39-win32.whl", hash = "sha256:56339a36b9f1fc708260c76c87e593e2afb30d26de9ae1eb445b5e051b98a7a1"}, + {file = "aiohttp-3.13.3-cp39-cp39-win_amd64.whl", hash = "sha256:c6b8568a3bb5819a0ad087f16d40e5a3fb6099f39ea1d5625a3edc1e923fc538"}, + {file = "aiohttp-3.13.3.tar.gz", hash = "sha256:a949eee43d3782f2daae4f4a2819b2cb9b0c5d3b7f7a927067cc84dafdbb9f88"}, +] + +[package.dependencies] +aiohappyeyeballs = ">=2.5.0" +aiosignal = ">=1.4.0" +attrs = ">=17.3.0" +frozenlist = ">=1.1.1" +multidict = ">=4.5,<7.0" +propcache = ">=0.2.0" +yarl = ">=1.17.0,<2.0" + +[package.extras] +speedups = ["Brotli (>=1.2) ; platform_python_implementation == \"CPython\"", "aiodns (>=3.3.0)", "backports.zstd ; platform_python_implementation == \"CPython\" and python_version < \"3.14\"", "brotlicffi (>=1.2) ; platform_python_implementation != \"CPython\""] + +[[package]] +name = "aioitertools" +version = "0.13.0" +description = "itertools and builtins for AsyncIO and mixed iterables" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "aioitertools-0.13.0-py3-none-any.whl", hash = "sha256:0be0292b856f08dfac90e31f4739432f4cb6d7520ab9eb73e143f4f2fa5259be"}, + {file = "aioitertools-0.13.0.tar.gz", hash = "sha256:620bd241acc0bbb9ec819f1ab215866871b4bbd1f73836a55f799200ee86950c"}, +] + +[[package]] +name = "aiosignal" +version = "1.4.0" +description = "aiosignal: a list of registered asynchronous callbacks" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e"}, + {file = "aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7"}, +] + +[package.dependencies] +frozenlist = ">=1.1.0" + [[package]] name = "alembic" version = "1.17.2" @@ -147,6 +352,18 @@ files = [ [package.extras] gssauth = ["gssapi ; platform_system != \"Windows\"", "sspilib ; platform_system == \"Windows\""] +[[package]] +name = "attrs" +version = "25.4.0" +description = "Classes Without Boilerplate" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373"}, + {file = "attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11"}, +] + [[package]] name = "bcrypt" version = "4.0.1" @@ -194,6 +411,44 @@ files = [ {file = "billiard-4.2.4.tar.gz", hash = "sha256:55f542c371209e03cd5862299b74e52e4fbcba8250ba611ad94276b369b6a85f"}, ] +[[package]] +name = "botocore" +version = "1.42.19" +description = "Low-level, data-driven core of boto 3." +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "botocore-1.42.19-py3-none-any.whl", hash = "sha256:30c276e0a96d822826d74e961089b9af16b274ac7ddcf7dcf6440bc90d856d88"}, + {file = "botocore-1.42.19.tar.gz", hash = "sha256:8d38f30de983720303e95951380a2c9ac515159636ee6b5ba4227d65f14551a4"}, +] + +[package.dependencies] +jmespath = ">=0.7.1,<2.0.0" +python-dateutil = ">=2.1,<3.0.0" +urllib3 = {version = ">=1.25.4,<2.2.0 || >2.2.0,<3", markers = "python_version >= \"3.10\""} + +[package.extras] +crt = ["awscrt (==0.29.2)"] + +[[package]] +name = "botocore-stubs" +version = "1.42.24" +description = "Type annotations and code completion for botocore" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "botocore_stubs-1.42.24-py3-none-any.whl", hash = "sha256:025999e68f419472cc8dfb7bcc2964fa0a06b447f43e7fc309012ff4c665b3db"}, + {file = "botocore_stubs-1.42.24.tar.gz", hash = "sha256:f5fbe240267b27036b1217a304de34bf2bf993087e049a300d17d6f52d77988b"}, +] + +[package.dependencies] +types-awscrt = "*" + +[package.extras] +botocore = ["botocore"] + [[package]] name = "celery" version = "5.6.1" @@ -658,6 +913,146 @@ files = [ {file = "fastar-0.8.0.tar.gz", hash = "sha256:f4d4d68dbf1c4c2808f0e730fac5843493fc849f70fe3ad3af60dfbaf68b9a12"}, ] +[[package]] +name = "frozenlist" +version = "1.8.0" +description = "A list-like structure which implements collections.abc.MutableSequence" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "frozenlist-1.8.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:b37f6d31b3dcea7deb5e9696e529a6aa4a898adc33db82da12e4c60a7c4d2011"}, + {file = "frozenlist-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ef2b7b394f208233e471abc541cc6991f907ffd47dc72584acee3147899d6565"}, + {file = "frozenlist-1.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a88f062f072d1589b7b46e951698950e7da00442fc1cacbe17e19e025dc327ad"}, + {file = "frozenlist-1.8.0-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f57fb59d9f385710aa7060e89410aeb5058b99e62f4d16b08b91986b9a2140c2"}, + {file = "frozenlist-1.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:799345ab092bee59f01a915620b5d014698547afd011e691a208637312db9186"}, + {file = "frozenlist-1.8.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c23c3ff005322a6e16f71bf8692fcf4d5a304aaafe1e262c98c6d4adc7be863e"}, + {file = "frozenlist-1.8.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8a76ea0f0b9dfa06f254ee06053d93a600865b3274358ca48a352ce4f0798450"}, + {file = "frozenlist-1.8.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c7366fe1418a6133d5aa824ee53d406550110984de7637d65a178010f759c6ef"}, + {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:13d23a45c4cebade99340c4165bd90eeb4a56c6d8a9d8aa49568cac19a6d0dc4"}, + {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:e4a3408834f65da56c83528fb52ce7911484f0d1eaf7b761fc66001db1646eff"}, + {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:42145cd2748ca39f32801dad54aeea10039da6f86e303659db90db1c4b614c8c"}, + {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:e2de870d16a7a53901e41b64ffdf26f2fbb8917b3e6ebf398098d72c5b20bd7f"}, + {file = "frozenlist-1.8.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:20e63c9493d33ee48536600d1a5c95eefc870cd71e7ab037763d1fbb89cc51e7"}, + {file = "frozenlist-1.8.0-cp310-cp310-win32.whl", hash = "sha256:adbeebaebae3526afc3c96fad434367cafbfd1b25d72369a9e5858453b1bb71a"}, + {file = "frozenlist-1.8.0-cp310-cp310-win_amd64.whl", hash = "sha256:667c3777ca571e5dbeb76f331562ff98b957431df140b54c85fd4d52eea8d8f6"}, + {file = "frozenlist-1.8.0-cp310-cp310-win_arm64.whl", hash = "sha256:80f85f0a7cc86e7a54c46d99c9e1318ff01f4687c172ede30fd52d19d1da1c8e"}, + {file = "frozenlist-1.8.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:09474e9831bc2b2199fad6da3c14c7b0fbdd377cce9d3d77131be28906cb7d84"}, + {file = "frozenlist-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:17c883ab0ab67200b5f964d2b9ed6b00971917d5d8a92df149dc2c9779208ee9"}, + {file = "frozenlist-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fa47e444b8ba08fffd1c18e8cdb9a75db1b6a27f17507522834ad13ed5922b93"}, + {file = "frozenlist-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2552f44204b744fba866e573be4c1f9048d6a324dfe14475103fd51613eb1d1f"}, + {file = "frozenlist-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:957e7c38f250991e48a9a73e6423db1bb9dd14e722a10f6b8bb8e16a0f55f695"}, + {file = "frozenlist-1.8.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8585e3bb2cdea02fc88ffa245069c36555557ad3609e83be0ec71f54fd4abb52"}, + {file = "frozenlist-1.8.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:edee74874ce20a373d62dc28b0b18b93f645633c2943fd90ee9d898550770581"}, + {file = "frozenlist-1.8.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c9a63152fe95756b85f31186bddf42e4c02c6321207fd6601a1c89ebac4fe567"}, + {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b6db2185db9be0a04fecf2f241c70b63b1a242e2805be291855078f2b404dd6b"}, + {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f4be2e3d8bc8aabd566f8d5b8ba7ecc09249d74ba3c9ed52e54dc23a293f0b92"}, + {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c8d1634419f39ea6f5c427ea2f90ca85126b54b50837f31497f3bf38266e853d"}, + {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1a7fa382a4a223773ed64242dbe1c9c326ec09457e6b8428efb4118c685c3dfd"}, + {file = "frozenlist-1.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:11847b53d722050808926e785df837353bd4d75f1d494377e59b23594d834967"}, + {file = "frozenlist-1.8.0-cp311-cp311-win32.whl", hash = "sha256:27c6e8077956cf73eadd514be8fb04d77fc946a7fe9f7fe167648b0b9085cc25"}, + {file = "frozenlist-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:ac913f8403b36a2c8610bbfd25b8013488533e71e62b4b4adce9c86c8cea905b"}, + {file = "frozenlist-1.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:d4d3214a0f8394edfa3e303136d0575eece0745ff2b47bd2cb2e66dd92d4351a"}, + {file = "frozenlist-1.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78f7b9e5d6f2fdb88cdde9440dc147259b62b9d3b019924def9f6478be254ac1"}, + {file = "frozenlist-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:229bf37d2e4acdaf808fd3f06e854a4a7a3661e871b10dc1f8f1896a3b05f18b"}, + {file = "frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f833670942247a14eafbb675458b4e61c82e002a148f49e68257b79296e865c4"}, + {file = "frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:494a5952b1c597ba44e0e78113a7266e656b9794eec897b19ead706bd7074383"}, + {file = "frozenlist-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f423a119f4777a4a056b66ce11527366a8bb92f54e541ade21f2374433f6d4"}, + {file = "frozenlist-1.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8"}, + {file = "frozenlist-1.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b"}, + {file = "frozenlist-1.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52"}, + {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:405e8fe955c2280ce66428b3ca55e12b3c4e9c336fb2103a4937e891c69a4a29"}, + {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3"}, + {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143"}, + {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608"}, + {file = "frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa"}, + {file = "frozenlist-1.8.0-cp312-cp312-win32.whl", hash = "sha256:433403ae80709741ce34038da08511d4a77062aa924baf411ef73d1146e74faf"}, + {file = "frozenlist-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:34187385b08f866104f0c0617404c8eb08165ab1272e884abc89c112e9c00746"}, + {file = "frozenlist-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:fe3c58d2f5db5fbd18c2987cba06d51b0529f52bc3a6cdc33d3f4eab725104bd"}, + {file = "frozenlist-1.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8d92f1a84bb12d9e56f818b3a746f3efba93c1b63c8387a73dde655e1e42282a"}, + {file = "frozenlist-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96153e77a591c8adc2ee805756c61f59fef4cf4073a9275ee86fe8cba41241f7"}, + {file = "frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f21f00a91358803399890ab167098c131ec2ddd5f8f5fd5fe9c9f2c6fcd91e40"}, + {file = "frozenlist-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fb30f9626572a76dfe4293c7194a09fb1fe93ba94c7d4f720dfae3b646b45027"}, + {file = "frozenlist-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaa352d7047a31d87dafcacbabe89df0aa506abb5b1b85a2fb91bc3faa02d822"}, + {file = "frozenlist-1.8.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:03ae967b4e297f58f8c774c7eabcce57fe3c2434817d4385c50661845a058121"}, + {file = "frozenlist-1.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6292f1de555ffcc675941d65fffffb0a5bcd992905015f85d0592201793e0e5"}, + {file = "frozenlist-1.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29548f9b5b5e3460ce7378144c3010363d8035cea44bc0bf02d57f5a685e084e"}, + {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ec3cc8c5d4084591b4237c0a272cc4f50a5b03396a47d9caaf76f5d7b38a4f11"}, + {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:517279f58009d0b1f2e7c1b130b377a349405da3f7621ed6bfae50b10adf20c1"}, + {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:db1e72ede2d0d7ccb213f218df6a078a9c09a7de257c2fe8fcef16d5925230b1"}, + {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b4dec9482a65c54a5044486847b8a66bf10c9cb4926d42927ec4e8fd5db7fed8"}, + {file = "frozenlist-1.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:21900c48ae04d13d416f0e1e0c4d81f7931f73a9dfa0b7a8746fb2fe7dd970ed"}, + {file = "frozenlist-1.8.0-cp313-cp313-win32.whl", hash = "sha256:8b7b94a067d1c504ee0b16def57ad5738701e4ba10cec90529f13fa03c833496"}, + {file = "frozenlist-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:878be833caa6a3821caf85eb39c5ba92d28e85df26d57afb06b35b2efd937231"}, + {file = "frozenlist-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:44389d135b3ff43ba8cc89ff7f51f5a0bb6b63d829c8300f79a2fe4fe61bcc62"}, + {file = "frozenlist-1.8.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e25ac20a2ef37e91c1b39938b591457666a0fa835c7783c3a8f33ea42870db94"}, + {file = "frozenlist-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07cdca25a91a4386d2e76ad992916a85038a9b97561bf7a3fd12d5d9ce31870c"}, + {file = "frozenlist-1.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4e0c11f2cc6717e0a741f84a527c52616140741cd812a50422f83dc31749fb52"}, + {file = "frozenlist-1.8.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b3210649ee28062ea6099cfda39e147fa1bc039583c8ee4481cb7811e2448c51"}, + {file = "frozenlist-1.8.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:581ef5194c48035a7de2aefc72ac6539823bb71508189e5de01d60c9dcd5fa65"}, + {file = "frozenlist-1.8.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3ef2d026f16a2b1866e1d86fc4e1291e1ed8a387b2c333809419a2f8b3a77b82"}, + {file = "frozenlist-1.8.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5500ef82073f599ac84d888e3a8c1f77ac831183244bfd7f11eaa0289fb30714"}, + {file = "frozenlist-1.8.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50066c3997d0091c411a66e710f4e11752251e6d2d73d70d8d5d4c76442a199d"}, + {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5c1c8e78426e59b3f8005e9b19f6ff46e5845895adbde20ece9218319eca6506"}, + {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:eefdba20de0d938cec6a89bd4d70f346a03108a19b9df4248d3cf0d88f1b0f51"}, + {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cf253e0e1c3ceb4aaff6df637ce033ff6535fb8c70a764a8f46aafd3d6ab798e"}, + {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:032efa2674356903cd0261c4317a561a6850f3ac864a63fc1583147fb05a79b0"}, + {file = "frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6da155091429aeba16851ecb10a9104a108bcd32f6c1642867eadaee401c1c41"}, + {file = "frozenlist-1.8.0-cp313-cp313t-win32.whl", hash = "sha256:0f96534f8bfebc1a394209427d0f8a63d343c9779cda6fc25e8e121b5fd8555b"}, + {file = "frozenlist-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5d63a068f978fc69421fb0e6eb91a9603187527c86b7cd3f534a5b77a592b888"}, + {file = "frozenlist-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf0a7e10b077bf5fb9380ad3ae8ce20ef919a6ad93b4552896419ac7e1d8e042"}, + {file = "frozenlist-1.8.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0"}, + {file = "frozenlist-1.8.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f"}, + {file = "frozenlist-1.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c"}, + {file = "frozenlist-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:cba69cb73723c3f329622e34bdbf5ce1f80c21c290ff04256cff1cd3c2036ed2"}, + {file = "frozenlist-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8"}, + {file = "frozenlist-1.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686"}, + {file = "frozenlist-1.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e"}, + {file = "frozenlist-1.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a"}, + {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128"}, + {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f"}, + {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7"}, + {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30"}, + {file = "frozenlist-1.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7"}, + {file = "frozenlist-1.8.0-cp314-cp314-win32.whl", hash = "sha256:bac9c42ba2ac65ddc115d930c78d24ab8d4f465fd3fc473cdedfccadb9429806"}, + {file = "frozenlist-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:3e0761f4d1a44f1d1a47996511752cf3dcec5bbdd9cc2b4fe595caf97754b7a0"}, + {file = "frozenlist-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:d1eaff1d00c7751b7c6662e9c5ba6eb2c17a2306ba5e2a37f24ddf3cc953402b"}, + {file = "frozenlist-1.8.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d"}, + {file = "frozenlist-1.8.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed"}, + {file = "frozenlist-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930"}, + {file = "frozenlist-1.8.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:39ecbc32f1390387d2aa4f5a995e465e9e2f79ba3adcac92d68e3e0afae6657c"}, + {file = "frozenlist-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24"}, + {file = "frozenlist-1.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37"}, + {file = "frozenlist-1.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a"}, + {file = "frozenlist-1.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2"}, + {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef"}, + {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe"}, + {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8"}, + {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a"}, + {file = "frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e"}, + {file = "frozenlist-1.8.0-cp314-cp314t-win32.whl", hash = "sha256:342c97bf697ac5480c0a7ec73cd700ecfa5a8a40ac923bd035484616efecc2df"}, + {file = "frozenlist-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:06be8f67f39c8b1dc671f5d83aaefd3358ae5cdcf8314552c57e7ed3e6475bdd"}, + {file = "frozenlist-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:102e6314ca4da683dca92e3b1355490fed5f313b768500084fbe6371fddfdb79"}, + {file = "frozenlist-1.8.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:d8b7138e5cd0647e4523d6685b0eac5d4be9a184ae9634492f25c6eb38c12a47"}, + {file = "frozenlist-1.8.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a6483e309ca809f1efd154b4d37dc6d9f61037d6c6a81c2dc7a15cb22c8c5dca"}, + {file = "frozenlist-1.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1b9290cf81e95e93fdf90548ce9d3c1211cf574b8e3f4b3b7cb0537cf2227068"}, + {file = "frozenlist-1.8.0-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:59a6a5876ca59d1b63af8cd5e7ffffb024c3dc1e9cf9301b21a2e76286505c95"}, + {file = "frozenlist-1.8.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6dc4126390929823e2d2d9dc79ab4046ed74680360fc5f38b585c12c66cdf459"}, + {file = "frozenlist-1.8.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:332db6b2563333c5671fecacd085141b5800cb866be16d5e3eb15a2086476675"}, + {file = "frozenlist-1.8.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9ff15928d62a0b80bb875655c39bf517938c7d589554cbd2669be42d97c2cb61"}, + {file = "frozenlist-1.8.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7bf6cdf8e07c8151fba6fe85735441240ec7f619f935a5205953d58009aef8c6"}, + {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:48e6d3f4ec5c7273dfe83ff27c91083c6c9065af655dc2684d2c200c94308bb5"}, + {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:1a7607e17ad33361677adcd1443edf6f5da0ce5e5377b798fba20fae194825f3"}, + {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3a935c3a4e89c733303a2d5a7c257ea44af3a56c8202df486b7f5de40f37e1"}, + {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:940d4a017dbfed9daf46a3b086e1d2167e7012ee297fef9e1c545c4d022f5178"}, + {file = "frozenlist-1.8.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:b9be22a69a014bc47e78072d0ecae716f5eb56c15238acca0f43d6eb8e4a5bda"}, + {file = "frozenlist-1.8.0-cp39-cp39-win32.whl", hash = "sha256:1aa77cb5697069af47472e39612976ed05343ff2e84a3dcf15437b232cbfd087"}, + {file = "frozenlist-1.8.0-cp39-cp39-win_amd64.whl", hash = "sha256:7398c222d1d405e796970320036b1b563892b65809d9e5261487bb2c7f7b5c6a"}, + {file = "frozenlist-1.8.0-cp39-cp39-win_arm64.whl", hash = "sha256:b4f3b365f31c6cd4af24545ca0a244a53688cad8834e32f56831c4923b50a103"}, + {file = "frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d"}, + {file = "frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad"}, +] + [[package]] name = "greenlet" version = "3.3.0" @@ -878,6 +1273,18 @@ MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] +[[package]] +name = "jmespath" +version = "1.0.1" +description = "JSON Matching Expressions" +optional = false +python-versions = ">=3.7" +groups = ["main"] +files = [ + {file = "jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980"}, + {file = "jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe"}, +] + [[package]] name = "kombu" version = "5.6.2" @@ -1069,6 +1476,162 @@ files = [ {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, ] +[[package]] +name = "multidict" +version = "6.7.0" +description = "multidict implementation" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "multidict-6.7.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:9f474ad5acda359c8758c8accc22032c6abe6dc87a8be2440d097785e27a9349"}, + {file = "multidict-6.7.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:4b7a9db5a870f780220e931d0002bbfd88fb53aceb6293251e2c839415c1b20e"}, + {file = "multidict-6.7.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:03ca744319864e92721195fa28c7a3b2bc7b686246b35e4078c1e4d0eb5466d3"}, + {file = "multidict-6.7.0-cp310-cp310-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f0e77e3c0008bc9316e662624535b88d360c3a5d3f81e15cf12c139a75250046"}, + {file = "multidict-6.7.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:08325c9e5367aa379a3496aa9a022fe8837ff22e00b94db256d3a1378c76ab32"}, + {file = "multidict-6.7.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e2862408c99f84aa571ab462d25236ef9cb12a602ea959ba9c9009a54902fc73"}, + {file = "multidict-6.7.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4d72a9a2d885f5c208b0cb91ff2ed43636bb7e345ec839ff64708e04f69a13cc"}, + {file = "multidict-6.7.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:478cc36476687bac1514d651cbbaa94b86b0732fb6855c60c673794c7dd2da62"}, + {file = "multidict-6.7.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6843b28b0364dc605f21481c90fadb5f60d9123b442eb8a726bb74feef588a84"}, + {file = "multidict-6.7.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:23bfeee5316266e5ee2d625df2d2c602b829435fc3a235c2ba2131495706e4a0"}, + {file = "multidict-6.7.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:680878b9f3d45c31e1f730eef731f9b0bc1da456155688c6745ee84eb818e90e"}, + {file = "multidict-6.7.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:eb866162ef2f45063acc7a53a88ef6fe8bf121d45c30ea3c9cd87ce7e191a8d4"}, + {file = "multidict-6.7.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:df0e3bf7993bdbeca5ac25aa859cf40d39019e015c9c91809ba7093967f7a648"}, + {file = "multidict-6.7.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:661709cdcd919a2ece2234f9bae7174e5220c80b034585d7d8a755632d3e2111"}, + {file = "multidict-6.7.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:096f52730c3fb8ed419db2d44391932b63891b2c5ed14850a7e215c0ba9ade36"}, + {file = "multidict-6.7.0-cp310-cp310-win32.whl", hash = "sha256:afa8a2978ec65d2336305550535c9c4ff50ee527914328c8677b3973ade52b85"}, + {file = "multidict-6.7.0-cp310-cp310-win_amd64.whl", hash = "sha256:b15b3afff74f707b9275d5ba6a91ae8f6429c3ffb29bbfd216b0b375a56f13d7"}, + {file = "multidict-6.7.0-cp310-cp310-win_arm64.whl", hash = "sha256:4b73189894398d59131a66ff157837b1fafea9974be486d036bb3d32331fdbf0"}, + {file = "multidict-6.7.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4d409aa42a94c0b3fa617708ef5276dfe81012ba6753a0370fcc9d0195d0a1fc"}, + {file = "multidict-6.7.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:14c9e076eede3b54c636f8ce1c9c252b5f057c62131211f0ceeec273810c9721"}, + {file = "multidict-6.7.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:4c09703000a9d0fa3c3404b27041e574cc7f4df4c6563873246d0e11812a94b6"}, + {file = "multidict-6.7.0-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:a265acbb7bb33a3a2d626afbe756371dce0279e7b17f4f4eda406459c2b5ff1c"}, + {file = "multidict-6.7.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:51cb455de290ae462593e5b1cb1118c5c22ea7f0d3620d9940bf695cea5a4bd7"}, + {file = "multidict-6.7.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:db99677b4457c7a5c5a949353e125ba72d62b35f74e26da141530fbb012218a7"}, + {file = "multidict-6.7.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f470f68adc395e0183b92a2f4689264d1ea4b40504a24d9882c27375e6662bb9"}, + {file = "multidict-6.7.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0db4956f82723cc1c270de9c6e799b4c341d327762ec78ef82bb962f79cc07d8"}, + {file = "multidict-6.7.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3e56d780c238f9e1ae66a22d2adf8d16f485381878250db8d496623cd38b22bd"}, + {file = "multidict-6.7.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9d14baca2ee12c1a64740d4531356ba50b82543017f3ad6de0deb943c5979abb"}, + {file = "multidict-6.7.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:295a92a76188917c7f99cda95858c822f9e4aae5824246bba9b6b44004ddd0a6"}, + {file = "multidict-6.7.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:39f1719f57adbb767ef592a50ae5ebb794220d1188f9ca93de471336401c34d2"}, + {file = "multidict-6.7.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:0a13fb8e748dfc94749f622de065dd5c1def7e0d2216dba72b1d8069a389c6ff"}, + {file = "multidict-6.7.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e3aa16de190d29a0ea1b48253c57d99a68492c8dd8948638073ab9e74dc9410b"}, + {file = "multidict-6.7.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:a048ce45dcdaaf1defb76b2e684f997fb5abf74437b6cb7b22ddad934a964e34"}, + {file = "multidict-6.7.0-cp311-cp311-win32.whl", hash = "sha256:a90af66facec4cebe4181b9e62a68be65e45ac9b52b67de9eec118701856e7ff"}, + {file = "multidict-6.7.0-cp311-cp311-win_amd64.whl", hash = "sha256:95b5ffa4349df2887518bb839409bcf22caa72d82beec453216802f475b23c81"}, + {file = "multidict-6.7.0-cp311-cp311-win_arm64.whl", hash = "sha256:329aa225b085b6f004a4955271a7ba9f1087e39dcb7e65f6284a988264a63912"}, + {file = "multidict-6.7.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8a3862568a36d26e650a19bb5cbbba14b71789032aebc0423f8cc5f150730184"}, + {file = "multidict-6.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:960c60b5849b9b4f9dcc9bea6e3626143c252c74113df2c1540aebce70209b45"}, + {file = "multidict-6.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2049be98fb57a31b4ccf870bf377af2504d4ae35646a19037ec271e4c07998aa"}, + {file = "multidict-6.7.0-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:0934f3843a1860dd465d38895c17fce1f1cb37295149ab05cd1b9a03afacb2a7"}, + {file = "multidict-6.7.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b3e34f3a1b8131ba06f1a73adab24f30934d148afcd5f5de9a73565a4404384e"}, + {file = "multidict-6.7.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:efbb54e98446892590dc2458c19c10344ee9a883a79b5cec4bc34d6656e8d546"}, + {file = "multidict-6.7.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a35c5fc61d4f51eb045061e7967cfe3123d622cd500e8868e7c0c592a09fedc4"}, + {file = "multidict-6.7.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29fe6740ebccba4175af1b9b87bf553e9c15cd5868ee967e010efcf94e4fd0f1"}, + {file = "multidict-6.7.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:123e2a72e20537add2f33a79e605f6191fba2afda4cbb876e35c1a7074298a7d"}, + {file = "multidict-6.7.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b284e319754366c1aee2267a2036248b24eeb17ecd5dc16022095e747f2f4304"}, + {file = "multidict-6.7.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:803d685de7be4303b5a657b76e2f6d1240e7e0a8aa2968ad5811fa2285553a12"}, + {file = "multidict-6.7.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c04a328260dfd5db8c39538f999f02779012268f54614902d0afc775d44e0a62"}, + {file = "multidict-6.7.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8a19cdb57cd3df4cd865849d93ee14920fb97224300c88501f16ecfa2604b4e0"}, + {file = "multidict-6.7.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b2fd74c52accced7e75de26023b7dccee62511a600e62311b918ec5c168fc2a"}, + {file = "multidict-6.7.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3e8bfdd0e487acf992407a140d2589fe598238eaeffa3da8448d63a63cd363f8"}, + {file = "multidict-6.7.0-cp312-cp312-win32.whl", hash = "sha256:dd32a49400a2c3d52088e120ee00c1e3576cbff7e10b98467962c74fdb762ed4"}, + {file = "multidict-6.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:92abb658ef2d7ef22ac9f8bb88e8b6c3e571671534e029359b6d9e845923eb1b"}, + {file = "multidict-6.7.0-cp312-cp312-win_arm64.whl", hash = "sha256:490dab541a6a642ce1a9d61a4781656b346a55c13038f0b1244653828e3a83ec"}, + {file = "multidict-6.7.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:bee7c0588aa0076ce77c0ea5d19a68d76ad81fcd9fe8501003b9a24f9d4000f6"}, + {file = "multidict-6.7.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:7ef6b61cad77091056ce0e7ce69814ef72afacb150b7ac6a3e9470def2198159"}, + {file = "multidict-6.7.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9c0359b1ec12b1d6849c59f9d319610b7f20ef990a6d454ab151aa0e3b9f78ca"}, + {file = "multidict-6.7.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cd240939f71c64bd658f186330603aac1a9a81bf6273f523fca63673cb7378a8"}, + {file = "multidict-6.7.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a60a4d75718a5efa473ebd5ab685786ba0c67b8381f781d1be14da49f1a2dc60"}, + {file = "multidict-6.7.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:53a42d364f323275126aff81fb67c5ca1b7a04fda0546245730a55c8c5f24bc4"}, + {file = "multidict-6.7.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3b29b980d0ddbecb736735ee5bef69bb2ddca56eff603c86f3f29a1128299b4f"}, + {file = "multidict-6.7.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f8a93b1c0ed2d04b97a5e9336fd2d33371b9a6e29ab7dd6503d63407c20ffbaf"}, + {file = "multidict-6.7.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9ff96e8815eecacc6645da76c413eb3b3d34cfca256c70b16b286a687d013c32"}, + {file = "multidict-6.7.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:7516c579652f6a6be0e266aec0acd0db80829ca305c3d771ed898538804c2036"}, + {file = "multidict-6.7.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:040f393368e63fb0f3330e70c26bfd336656bed925e5cbe17c9da839a6ab13ec"}, + {file = "multidict-6.7.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b3bc26a951007b1057a1c543af845f1c7e3e71cc240ed1ace7bf4484aa99196e"}, + {file = "multidict-6.7.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:7b022717c748dd1992a83e219587aabe45980d88969f01b316e78683e6285f64"}, + {file = "multidict-6.7.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:9600082733859f00d79dee64effc7aef1beb26adb297416a4ad2116fd61374bd"}, + {file = "multidict-6.7.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:94218fcec4d72bc61df51c198d098ce2b378e0ccbac41ddbed5ef44092913288"}, + {file = "multidict-6.7.0-cp313-cp313-win32.whl", hash = "sha256:a37bd74c3fa9d00be2d7b8eca074dc56bd8077ddd2917a839bd989612671ed17"}, + {file = "multidict-6.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:30d193c6cc6d559db42b6bcec8a5d395d34d60c9877a0b71ecd7c204fcf15390"}, + {file = "multidict-6.7.0-cp313-cp313-win_arm64.whl", hash = "sha256:ea3334cabe4d41b7ccd01e4d349828678794edbc2d3ae97fc162a3312095092e"}, + {file = "multidict-6.7.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:ad9ce259f50abd98a1ca0aa6e490b58c316a0fce0617f609723e40804add2c00"}, + {file = "multidict-6.7.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07f5594ac6d084cbb5de2df218d78baf55ef150b91f0ff8a21cc7a2e3a5a58eb"}, + {file = "multidict-6.7.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:0591b48acf279821a579282444814a2d8d0af624ae0bc600aa4d1b920b6e924b"}, + {file = "multidict-6.7.0-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:749a72584761531d2b9467cfbdfd29487ee21124c304c4b6cb760d8777b27f9c"}, + {file = "multidict-6.7.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b4c3d199f953acd5b446bf7c0de1fe25d94e09e79086f8dc2f48a11a129cdf1"}, + {file = "multidict-6.7.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9fb0211dfc3b51efea2f349ec92c114d7754dd62c01f81c3e32b765b70c45c9b"}, + {file = "multidict-6.7.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a027ec240fe73a8d6281872690b988eed307cd7d91b23998ff35ff577ca688b5"}, + {file = "multidict-6.7.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1d964afecdf3a8288789df2f5751dc0a8261138c3768d9af117ed384e538fad"}, + {file = "multidict-6.7.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:caf53b15b1b7df9fbd0709aa01409000a2b4dd03a5f6f5cc548183c7c8f8b63c"}, + {file = "multidict-6.7.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:654030da3197d927f05a536a66186070e98765aa5142794c9904555d3a9d8fb5"}, + {file = "multidict-6.7.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:2090d3718829d1e484706a2f525e50c892237b2bf9b17a79b059cb98cddc2f10"}, + {file = "multidict-6.7.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:2d2cfeec3f6f45651b3d408c4acec0ebf3daa9bc8a112a084206f5db5d05b754"}, + {file = "multidict-6.7.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:4ef089f985b8c194d341eb2c24ae6e7408c9a0e2e5658699c92f497437d88c3c"}, + {file = "multidict-6.7.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e93a0617cd16998784bf4414c7e40f17a35d2350e5c6f0bd900d3a8e02bd3762"}, + {file = "multidict-6.7.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:f0feece2ef8ebc42ed9e2e8c78fc4aa3cf455733b507c09ef7406364c94376c6"}, + {file = "multidict-6.7.0-cp313-cp313t-win32.whl", hash = "sha256:19a1d55338ec1be74ef62440ca9e04a2f001a04d0cc49a4983dc320ff0f3212d"}, + {file = "multidict-6.7.0-cp313-cp313t-win_amd64.whl", hash = "sha256:3da4fb467498df97e986af166b12d01f05d2e04f978a9c1c680ea1988e0bc4b6"}, + {file = "multidict-6.7.0-cp313-cp313t-win_arm64.whl", hash = "sha256:b4121773c49a0776461f4a904cdf6264c88e42218aaa8407e803ca8025872792"}, + {file = "multidict-6.7.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3bab1e4aff7adaa34410f93b1f8e57c4b36b9af0426a76003f441ee1d3c7e842"}, + {file = "multidict-6.7.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:b8512bac933afc3e45fb2b18da8e59b78d4f408399a960339598374d4ae3b56b"}, + {file = "multidict-6.7.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:79dcf9e477bc65414ebfea98ffd013cb39552b5ecd62908752e0e413d6d06e38"}, + {file = "multidict-6.7.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:31bae522710064b5cbeddaf2e9f32b1abab70ac6ac91d42572502299e9953128"}, + {file = "multidict-6.7.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4a0df7ff02397bb63e2fd22af2c87dfa39e8c7f12947bc524dbdc528282c7e34"}, + {file = "multidict-6.7.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:7a0222514e8e4c514660e182d5156a415c13ef0aabbd71682fc714e327b95e99"}, + {file = "multidict-6.7.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2397ab4daaf2698eb51a76721e98db21ce4f52339e535725de03ea962b5a3202"}, + {file = "multidict-6.7.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8891681594162635948a636c9fe0ff21746aeb3dd5463f6e25d9bea3a8a39ca1"}, + {file = "multidict-6.7.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18706cc31dbf402a7945916dd5cddf160251b6dab8a2c5f3d6d5a55949f676b3"}, + {file = "multidict-6.7.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:f844a1bbf1d207dd311a56f383f7eda2d0e134921d45751842d8235e7778965d"}, + {file = "multidict-6.7.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:d4393e3581e84e5645506923816b9cc81f5609a778c7e7534054091acc64d1c6"}, + {file = "multidict-6.7.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:fbd18dc82d7bf274b37aa48d664534330af744e03bccf696d6f4c6042e7d19e7"}, + {file = "multidict-6.7.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:b6234e14f9314731ec45c42fc4554b88133ad53a09092cc48a88e771c125dadb"}, + {file = "multidict-6.7.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:08d4379f9744d8f78d98c8673c06e202ffa88296f009c71bbafe8a6bf847d01f"}, + {file = "multidict-6.7.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:9fe04da3f79387f450fd0061d4dd2e45a72749d31bf634aecc9e27f24fdc4b3f"}, + {file = "multidict-6.7.0-cp314-cp314-win32.whl", hash = "sha256:fbafe31d191dfa7c4c51f7a6149c9fb7e914dcf9ffead27dcfd9f1ae382b3885"}, + {file = "multidict-6.7.0-cp314-cp314-win_amd64.whl", hash = "sha256:2f67396ec0310764b9222a1728ced1ab638f61aadc6226f17a71dd9324f9a99c"}, + {file = "multidict-6.7.0-cp314-cp314-win_arm64.whl", hash = "sha256:ba672b26069957ee369cfa7fc180dde1fc6f176eaf1e6beaf61fbebbd3d9c000"}, + {file = "multidict-6.7.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:c1dcc7524066fa918c6a27d61444d4ee7900ec635779058571f70d042d86ed63"}, + {file = "multidict-6.7.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:27e0b36c2d388dc7b6ced3406671b401e84ad7eb0656b8f3a2f46ed0ce483718"}, + {file = "multidict-6.7.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2a7baa46a22e77f0988e3b23d4ede5513ebec1929e34ee9495be535662c0dfe2"}, + {file = "multidict-6.7.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:7bf77f54997a9166a2f5675d1201520586439424c2511723a7312bdb4bcc034e"}, + {file = "multidict-6.7.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e011555abada53f1578d63389610ac8a5400fc70ce71156b0aa30d326f1a5064"}, + {file = "multidict-6.7.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:28b37063541b897fd6a318007373930a75ca6d6ac7c940dbe14731ffdd8d498e"}, + {file = "multidict-6.7.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:05047ada7a2fde2631a0ed706f1fd68b169a681dfe5e4cf0f8e4cb6618bbc2cd"}, + {file = "multidict-6.7.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:716133f7d1d946a4e1b91b1756b23c088881e70ff180c24e864c26192ad7534a"}, + {file = "multidict-6.7.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d1bed1b467ef657f2a0ae62844a607909ef1c6889562de5e1d505f74457d0b96"}, + {file = "multidict-6.7.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:ca43bdfa5d37bd6aee89d85e1d0831fb86e25541be7e9d376ead1b28974f8e5e"}, + {file = "multidict-6.7.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:44b546bd3eb645fd26fb949e43c02a25a2e632e2ca21a35e2e132c8105dc8599"}, + {file = "multidict-6.7.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:a6ef16328011d3f468e7ebc326f24c1445f001ca1dec335b2f8e66bed3006394"}, + {file = "multidict-6.7.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:5aa873cbc8e593d361ae65c68f85faadd755c3295ea2c12040ee146802f23b38"}, + {file = "multidict-6.7.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:3d7b6ccce016e29df4b7ca819659f516f0bc7a4b3efa3bb2012ba06431b044f9"}, + {file = "multidict-6.7.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:171b73bd4ee683d307599b66793ac80981b06f069b62eea1c9e29c9241aa66b0"}, + {file = "multidict-6.7.0-cp314-cp314t-win32.whl", hash = "sha256:b2d7f80c4e1fd010b07cb26820aae86b7e73b681ee4889684fb8d2d4537aab13"}, + {file = "multidict-6.7.0-cp314-cp314t-win_amd64.whl", hash = "sha256:09929cab6fcb68122776d575e03c6cc64ee0b8fca48d17e135474b042ce515cd"}, + {file = "multidict-6.7.0-cp314-cp314t-win_arm64.whl", hash = "sha256:cc41db090ed742f32bd2d2c721861725e6109681eddf835d0a82bd3a5c382827"}, + {file = "multidict-6.7.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:363eb68a0a59bd2303216d2346e6c441ba10d36d1f9969fcb6f1ba700de7bb5c"}, + {file = "multidict-6.7.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d874eb056410ca05fed180b6642e680373688efafc7f077b2a2f61811e873a40"}, + {file = "multidict-6.7.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:8b55d5497b51afdfde55925e04a022f1de14d4f4f25cdfd4f5d9b0aa96166851"}, + {file = "multidict-6.7.0-cp39-cp39-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:f8e5c0031b90ca9ce555e2e8fd5c3b02a25f14989cbc310701823832c99eb687"}, + {file = "multidict-6.7.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9cf41880c991716f3c7cec48e2f19ae4045fc9db5fc9cff27347ada24d710bb5"}, + {file = "multidict-6.7.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8cfc12a8630a29d601f48d47787bd7eb730e475e83edb5d6c5084317463373eb"}, + {file = "multidict-6.7.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:3996b50c3237c4aec17459217c1e7bbdead9a22a0fcd3c365564fbd16439dde6"}, + {file = "multidict-6.7.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:7f5170993a0dd3ab871c74f45c0a21a4e2c37a2f2b01b5f722a2ad9c6650469e"}, + {file = "multidict-6.7.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ec81878ddf0e98817def1e77d4f50dae5ef5b0e4fe796fae3bd674304172416e"}, + {file = "multidict-6.7.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9281bf5b34f59afbc6b1e477a372e9526b66ca446f4bf62592839c195a718b32"}, + {file = "multidict-6.7.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:68af405971779d8b37198726f2b6fe3955db846fee42db7a4286fc542203934c"}, + {file = "multidict-6.7.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3ba3ef510467abb0667421a286dc906e30eb08569365f5cdb131d7aff7c2dd84"}, + {file = "multidict-6.7.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:b61189b29081a20c7e4e0b49b44d5d44bb0dc92be3c6d06a11cc043f81bf9329"}, + {file = "multidict-6.7.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:fb287618b9c7aa3bf8d825f02d9201b2f13078a5ed3b293c8f4d953917d84d5e"}, + {file = "multidict-6.7.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:521f33e377ff64b96c4c556b81c55d0cfffb96a11c194fd0c3f1e56f3d8dd5a4"}, + {file = "multidict-6.7.0-cp39-cp39-win32.whl", hash = "sha256:ce8fdc2dca699f8dbf055a61d73eaa10482569ad20ee3c36ef9641f69afa8c91"}, + {file = "multidict-6.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:7e73299c99939f089dd9b2120a04a516b95cdf8c1cd2b18c53ebf0de80b1f18f"}, + {file = "multidict-6.7.0-cp39-cp39-win_arm64.whl", hash = "sha256:6bdce131e14b04fd34a809b6380dbfd826065c3e2fe8a50dbae659fa0c390546"}, + {file = "multidict-6.7.0-py3-none-any.whl", hash = "sha256:394fc5c42a333c9ffc3e421a4c85e08580d990e08b99f6bf35b4132114c5dcb3"}, + {file = "multidict-6.7.0.tar.gz", hash = "sha256:c6e99d9a65ca282e578dfea819cfa9c0a62b2499d8677392e09feaf305e9e6f5"}, +] + [[package]] name = "packaging" version = "25.0" @@ -1133,6 +1696,138 @@ files = [ [package.dependencies] wcwidth = "*" +[[package]] +name = "propcache" +version = "0.4.1" +description = "Accelerated property cache" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "propcache-0.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7c2d1fa3201efaf55d730400d945b5b3ab6e672e100ba0f9a409d950ab25d7db"}, + {file = "propcache-0.4.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1eb2994229cc8ce7fe9b3db88f5465f5fd8651672840b2e426b88cdb1a30aac8"}, + {file = "propcache-0.4.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:66c1f011f45a3b33d7bcb22daed4b29c0c9e2224758b6be00686731e1b46f925"}, + {file = "propcache-0.4.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:9a52009f2adffe195d0b605c25ec929d26b36ef986ba85244891dee3b294df21"}, + {file = "propcache-0.4.1-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5d4e2366a9c7b837555cf02fb9be2e3167d333aff716332ef1b7c3a142ec40c5"}, + {file = "propcache-0.4.1-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9d2b6caef873b4f09e26ea7e33d65f42b944837563a47a94719cc3544319a0db"}, + {file = "propcache-0.4.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2b16ec437a8c8a965ecf95739448dd938b5c7f56e67ea009f4300d8df05f32b7"}, + {file = "propcache-0.4.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:296f4c8ed03ca7476813fe666c9ea97869a8d7aec972618671b33a38a5182ef4"}, + {file = "propcache-0.4.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:1f0978529a418ebd1f49dad413a2b68af33f85d5c5ca5c6ca2a3bed375a7ac60"}, + {file = "propcache-0.4.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fd138803047fb4c062b1c1dd95462f5209456bfab55c734458f15d11da288f8f"}, + {file = "propcache-0.4.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8c9b3cbe4584636d72ff556d9036e0c9317fa27b3ac1f0f558e7e84d1c9c5900"}, + {file = "propcache-0.4.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f93243fdc5657247533273ac4f86ae106cc6445a0efacb9a1bfe982fcfefd90c"}, + {file = "propcache-0.4.1-cp310-cp310-win32.whl", hash = "sha256:a0ee98db9c5f80785b266eb805016e36058ac72c51a064040f2bc43b61101cdb"}, + {file = "propcache-0.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:1cdb7988c4e5ac7f6d175a28a9aa0c94cb6f2ebe52756a3c0cda98d2809a9e37"}, + {file = "propcache-0.4.1-cp310-cp310-win_arm64.whl", hash = "sha256:d82ad62b19645419fe79dd63b3f9253e15b30e955c0170e5cebc350c1844e581"}, + {file = "propcache-0.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:60a8fda9644b7dfd5dece8c61d8a85e271cb958075bfc4e01083c148b61a7caf"}, + {file = "propcache-0.4.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c30b53e7e6bda1d547cabb47c825f3843a0a1a42b0496087bb58d8fedf9f41b5"}, + {file = "propcache-0.4.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6918ecbd897443087a3b7cd978d56546a812517dcaaca51b49526720571fa93e"}, + {file = "propcache-0.4.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3d902a36df4e5989763425a8ab9e98cd8ad5c52c823b34ee7ef307fd50582566"}, + {file = "propcache-0.4.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a9695397f85973bb40427dedddf70d8dc4a44b22f1650dd4af9eedf443d45165"}, + {file = "propcache-0.4.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2bb07ffd7eaad486576430c89f9b215f9e4be68c4866a96e97db9e97fead85dc"}, + {file = "propcache-0.4.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd6f30fdcf9ae2a70abd34da54f18da086160e4d7d9251f81f3da0ff84fc5a48"}, + {file = "propcache-0.4.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:fc38cba02d1acba4e2869eef1a57a43dfbd3d49a59bf90dda7444ec2be6a5570"}, + {file = "propcache-0.4.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:67fad6162281e80e882fb3ec355398cf72864a54069d060321f6cd0ade95fe85"}, + {file = "propcache-0.4.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f10207adf04d08bec185bae14d9606a1444715bc99180f9331c9c02093e1959e"}, + {file = "propcache-0.4.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e9b0d8d0845bbc4cfcdcbcdbf5086886bc8157aa963c31c777ceff7846c77757"}, + {file = "propcache-0.4.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:981333cb2f4c1896a12f4ab92a9cc8f09ea664e9b7dbdc4eff74627af3a11c0f"}, + {file = "propcache-0.4.1-cp311-cp311-win32.whl", hash = "sha256:f1d2f90aeec838a52f1c1a32fe9a619fefd5e411721a9117fbf82aea638fe8a1"}, + {file = "propcache-0.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:364426a62660f3f699949ac8c621aad6977be7126c5807ce48c0aeb8e7333ea6"}, + {file = "propcache-0.4.1-cp311-cp311-win_arm64.whl", hash = "sha256:e53f3a38d3510c11953f3e6a33f205c6d1b001129f972805ca9b42fc308bc239"}, + {file = "propcache-0.4.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e153e9cd40cc8945138822807139367f256f89c6810c2634a4f6902b52d3b4e2"}, + {file = "propcache-0.4.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:cd547953428f7abb73c5ad82cbb32109566204260d98e41e5dfdc682eb7f8403"}, + {file = "propcache-0.4.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f048da1b4f243fc44f205dfd320933a951b8d89e0afd4c7cacc762a8b9165207"}, + {file = "propcache-0.4.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ec17c65562a827bba85e3872ead335f95405ea1674860d96483a02f5c698fa72"}, + {file = "propcache-0.4.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:405aac25c6394ef275dee4c709be43745d36674b223ba4eb7144bf4d691b7367"}, + {file = "propcache-0.4.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:0013cb6f8dde4b2a2f66903b8ba740bdfe378c943c4377a200551ceb27f379e4"}, + {file = "propcache-0.4.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:15932ab57837c3368b024473a525e25d316d8353016e7cc0e5ba9eb343fbb1cf"}, + {file = "propcache-0.4.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:031dce78b9dc099f4c29785d9cf5577a3faf9ebf74ecbd3c856a7b92768c3df3"}, + {file = "propcache-0.4.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ab08df6c9a035bee56e31af99be621526bd237bea9f32def431c656b29e41778"}, + {file = "propcache-0.4.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:4d7af63f9f93fe593afbf104c21b3b15868efb2c21d07d8732c0c4287e66b6a6"}, + {file = "propcache-0.4.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cfc27c945f422e8b5071b6e93169679e4eb5bf73bbcbf1ba3ae3a83d2f78ebd9"}, + {file = "propcache-0.4.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:35c3277624a080cc6ec6f847cbbbb5b49affa3598c4535a0a4682a697aaa5c75"}, + {file = "propcache-0.4.1-cp312-cp312-win32.whl", hash = "sha256:671538c2262dadb5ba6395e26c1731e1d52534bfe9ae56d0b5573ce539266aa8"}, + {file = "propcache-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:cb2d222e72399fcf5890d1d5cc1060857b9b236adff2792ff48ca2dfd46c81db"}, + {file = "propcache-0.4.1-cp312-cp312-win_arm64.whl", hash = "sha256:204483131fb222bdaaeeea9f9e6c6ed0cac32731f75dfc1d4a567fc1926477c1"}, + {file = "propcache-0.4.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:43eedf29202c08550aac1d14e0ee619b0430aaef78f85864c1a892294fbc28cf"}, + {file = "propcache-0.4.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:d62cdfcfd89ccb8de04e0eda998535c406bf5e060ffd56be6c586cbcc05b3311"}, + {file = "propcache-0.4.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cae65ad55793da34db5f54e4029b89d3b9b9490d8abe1b4c7ab5d4b8ec7ebf74"}, + {file = "propcache-0.4.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:333ddb9031d2704a301ee3e506dc46b1fe5f294ec198ed6435ad5b6a085facfe"}, + {file = "propcache-0.4.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:fd0858c20f078a32cf55f7e81473d96dcf3b93fd2ccdb3d40fdf54b8573df3af"}, + {file = "propcache-0.4.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:678ae89ebc632c5c204c794f8dab2837c5f159aeb59e6ed0539500400577298c"}, + {file = "propcache-0.4.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d472aeb4fbf9865e0c6d622d7f4d54a4e101a89715d8904282bb5f9a2f476c3f"}, + {file = "propcache-0.4.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:4d3df5fa7e36b3225954fba85589da77a0fe6a53e3976de39caf04a0db4c36f1"}, + {file = "propcache-0.4.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:ee17f18d2498f2673e432faaa71698032b0127ebf23ae5974eeaf806c279df24"}, + {file = "propcache-0.4.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:580e97762b950f993ae618e167e7be9256b8353c2dcd8b99ec100eb50f5286aa"}, + {file = "propcache-0.4.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:501d20b891688eb8e7aa903021f0b72d5a55db40ffaab27edefd1027caaafa61"}, + {file = "propcache-0.4.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a0bd56e5b100aef69bd8562b74b46254e7c8812918d3baa700c8a8009b0af66"}, + {file = "propcache-0.4.1-cp313-cp313-win32.whl", hash = "sha256:bcc9aaa5d80322bc2fb24bb7accb4a30f81e90ab8d6ba187aec0744bc302ad81"}, + {file = "propcache-0.4.1-cp313-cp313-win_amd64.whl", hash = "sha256:381914df18634f5494334d201e98245c0596067504b9372d8cf93f4bb23e025e"}, + {file = "propcache-0.4.1-cp313-cp313-win_arm64.whl", hash = "sha256:8873eb4460fd55333ea49b7d189749ecf6e55bf85080f11b1c4530ed3034cba1"}, + {file = "propcache-0.4.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:92d1935ee1f8d7442da9c0c4fa7ac20d07e94064184811b685f5c4fada64553b"}, + {file = "propcache-0.4.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:473c61b39e1460d386479b9b2f337da492042447c9b685f28be4f74d3529e566"}, + {file = "propcache-0.4.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:c0ef0aaafc66fbd87842a3fe3902fd889825646bc21149eafe47be6072725835"}, + {file = "propcache-0.4.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f95393b4d66bfae908c3ca8d169d5f79cd65636ae15b5e7a4f6e67af675adb0e"}, + {file = "propcache-0.4.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c07fda85708bc48578467e85099645167a955ba093be0a2dcba962195676e859"}, + {file = "propcache-0.4.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:af223b406d6d000830c6f65f1e6431783fc3f713ba3e6cc8c024d5ee96170a4b"}, + {file = "propcache-0.4.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a78372c932c90ee474559c5ddfffd718238e8673c340dc21fe45c5b8b54559a0"}, + {file = "propcache-0.4.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:564d9f0d4d9509e1a870c920a89b2fec951b44bf5ba7d537a9e7c1ccec2c18af"}, + {file = "propcache-0.4.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:17612831fda0138059cc5546f4d12a2aacfb9e47068c06af35c400ba58ba7393"}, + {file = "propcache-0.4.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:41a89040cb10bd345b3c1a873b2bf36413d48da1def52f268a055f7398514874"}, + {file = "propcache-0.4.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:e35b88984e7fa64aacecea39236cee32dd9bd8c55f57ba8a75cf2399553f9bd7"}, + {file = "propcache-0.4.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6f8b465489f927b0df505cbe26ffbeed4d6d8a2bbc61ce90eb074ff129ef0ab1"}, + {file = "propcache-0.4.1-cp313-cp313t-win32.whl", hash = "sha256:2ad890caa1d928c7c2965b48f3a3815c853180831d0e5503d35cf00c472f4717"}, + {file = "propcache-0.4.1-cp313-cp313t-win_amd64.whl", hash = "sha256:f7ee0e597f495cf415bcbd3da3caa3bd7e816b74d0d52b8145954c5e6fd3ff37"}, + {file = "propcache-0.4.1-cp313-cp313t-win_arm64.whl", hash = "sha256:929d7cbe1f01bb7baffb33dc14eb5691c95831450a26354cd210a8155170c93a"}, + {file = "propcache-0.4.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3f7124c9d820ba5548d431afb4632301acf965db49e666aa21c305cbe8c6de12"}, + {file = "propcache-0.4.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:c0d4b719b7da33599dfe3b22d3db1ef789210a0597bc650b7cee9c77c2be8c5c"}, + {file = "propcache-0.4.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:9f302f4783709a78240ebc311b793f123328716a60911d667e0c036bc5dcbded"}, + {file = "propcache-0.4.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c80ee5802e3fb9ea37938e7eecc307fb984837091d5fd262bb37238b1ae97641"}, + {file = "propcache-0.4.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ed5a841e8bb29a55fb8159ed526b26adc5bdd7e8bd7bf793ce647cb08656cdf4"}, + {file = "propcache-0.4.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:55c72fd6ea2da4c318e74ffdf93c4fe4e926051133657459131a95c846d16d44"}, + {file = "propcache-0.4.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8326e144341460402713f91df60ade3c999d601e7eb5ff8f6f7862d54de0610d"}, + {file = "propcache-0.4.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:060b16ae65bc098da7f6d25bf359f1f31f688384858204fe5d652979e0015e5b"}, + {file = "propcache-0.4.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:89eb3fa9524f7bec9de6e83cf3faed9d79bffa560672c118a96a171a6f55831e"}, + {file = "propcache-0.4.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:dee69d7015dc235f526fe80a9c90d65eb0039103fe565776250881731f06349f"}, + {file = "propcache-0.4.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:5558992a00dfd54ccbc64a32726a3357ec93825a418a401f5cc67df0ac5d9e49"}, + {file = "propcache-0.4.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c9b822a577f560fbd9554812526831712c1436d2c046cedee4c3796d3543b144"}, + {file = "propcache-0.4.1-cp314-cp314-win32.whl", hash = "sha256:ab4c29b49d560fe48b696cdcb127dd36e0bc2472548f3bf56cc5cb3da2b2984f"}, + {file = "propcache-0.4.1-cp314-cp314-win_amd64.whl", hash = "sha256:5a103c3eb905fcea0ab98be99c3a9a5ab2de60228aa5aceedc614c0281cf6153"}, + {file = "propcache-0.4.1-cp314-cp314-win_arm64.whl", hash = "sha256:74c1fb26515153e482e00177a1ad654721bf9207da8a494a0c05e797ad27b992"}, + {file = "propcache-0.4.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:824e908bce90fb2743bd6b59db36eb4f45cd350a39637c9f73b1c1ea66f5b75f"}, + {file = "propcache-0.4.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:c2b5e7db5328427c57c8e8831abda175421b709672f6cfc3d630c3b7e2146393"}, + {file = "propcache-0.4.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6f6ff873ed40292cd4969ef5310179afd5db59fdf055897e282485043fc80ad0"}, + {file = "propcache-0.4.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:49a2dc67c154db2c1463013594c458881a069fcf98940e61a0569016a583020a"}, + {file = "propcache-0.4.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:005f08e6a0529984491e37d8dbc3dd86f84bd78a8ceb5fa9a021f4c48d4984be"}, + {file = "propcache-0.4.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5c3310452e0d31390da9035c348633b43d7e7feb2e37be252be6da45abd1abcc"}, + {file = "propcache-0.4.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c3c70630930447f9ef1caac7728c8ad1c56bc5015338b20fed0d08ea2480b3a"}, + {file = "propcache-0.4.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:8e57061305815dfc910a3634dcf584f08168a8836e6999983569f51a8544cd89"}, + {file = "propcache-0.4.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:521a463429ef54143092c11a77e04056dd00636f72e8c45b70aaa3140d639726"}, + {file = "propcache-0.4.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:120c964da3fdc75e3731aa392527136d4ad35868cc556fd09bb6d09172d9a367"}, + {file = "propcache-0.4.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:d8f353eb14ee3441ee844ade4277d560cdd68288838673273b978e3d6d2c8f36"}, + {file = "propcache-0.4.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ab2943be7c652f09638800905ee1bab2c544e537edb57d527997a24c13dc1455"}, + {file = "propcache-0.4.1-cp314-cp314t-win32.whl", hash = "sha256:05674a162469f31358c30bcaa8883cb7829fa3110bf9c0991fe27d7896c42d85"}, + {file = "propcache-0.4.1-cp314-cp314t-win_amd64.whl", hash = "sha256:990f6b3e2a27d683cb7602ed6c86f15ee6b43b1194736f9baaeb93d0016633b1"}, + {file = "propcache-0.4.1-cp314-cp314t-win_arm64.whl", hash = "sha256:ecef2343af4cc68e05131e45024ba34f6095821988a9d0a02aa7c73fcc448aa9"}, + {file = "propcache-0.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3d233076ccf9e450c8b3bc6720af226b898ef5d051a2d145f7d765e6e9f9bcff"}, + {file = "propcache-0.4.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:357f5bb5c377a82e105e44bd3d52ba22b616f7b9773714bff93573988ef0a5fb"}, + {file = "propcache-0.4.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cbc3b6dfc728105b2a57c06791eb07a94229202ea75c59db644d7d496b698cac"}, + {file = "propcache-0.4.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:182b51b421f0501952d938dc0b0eb45246a5b5153c50d42b495ad5fb7517c888"}, + {file = "propcache-0.4.1-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4b536b39c5199b96fc6245eb5fb796c497381d3942f169e44e8e392b29c9ebcc"}, + {file = "propcache-0.4.1-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:db65d2af507bbfbdcedb254a11149f894169d90488dd3e7190f7cdcb2d6cd57a"}, + {file = "propcache-0.4.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fd2dbc472da1f772a4dae4fa24be938a6c544671a912e30529984dd80400cd88"}, + {file = "propcache-0.4.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:daede9cd44e0f8bdd9e6cc9a607fc81feb80fae7a5fc6cecaff0e0bb32e42d00"}, + {file = "propcache-0.4.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:71b749281b816793678ae7f3d0d84bd36e694953822eaad408d682efc5ca18e0"}, + {file = "propcache-0.4.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:0002004213ee1f36cfb3f9a42b5066100c44276b9b72b4e1504cddd3d692e86e"}, + {file = "propcache-0.4.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:fe49d0a85038f36ba9e3ffafa1103e61170b28e95b16622e11be0a0ea07c6781"}, + {file = "propcache-0.4.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:99d43339c83aaf4d32bda60928231848eee470c6bda8d02599cc4cebe872d183"}, + {file = "propcache-0.4.1-cp39-cp39-win32.whl", hash = "sha256:a129e76735bc792794d5177069691c3217898b9f5cee2b2661471e52ffe13f19"}, + {file = "propcache-0.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:948dab269721ae9a87fd16c514a0a2c2a1bdb23a9a61b969b0f9d9ee2968546f"}, + {file = "propcache-0.4.1-cp39-cp39-win_arm64.whl", hash = "sha256:5fd37c406dd6dc85aa743e214cef35dc54bbdd1419baac4f6ae5e5b1a2976938"}, + {file = "propcache-0.4.1-py3-none-any.whl", hash = "sha256:af2a6052aeb6cf17d3e46ee169099044fd8224cbaf75c76a2ef596e8163e2237"}, + {file = "propcache-0.4.1.tar.gz", hash = "sha256:f48107a8c637e80362555f37ecf49abe20370e557cc4ab374f04ec4423c97c3d"}, +] + [[package]] name = "pyasn1" version = "0.6.1" @@ -1957,6 +2652,544 @@ rich = ">=10.11.0" shellingham = ">=1.3.0" typing-extensions = ">=3.7.4.3" +[[package]] +name = "types-aiobotocore" +version = "3.1.0" +description = "Type annotations for aiobotocore 3.1.0 generated with mypy-boto3-builder 8.12.0" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "types_aiobotocore-3.1.0-py3-none-any.whl", hash = "sha256:4ab223580f4249a84ebac17461ff3719b541a1dc94fe0840d392e3f5d2ba7ef0"}, + {file = "types_aiobotocore-3.1.0.tar.gz", hash = "sha256:9c36d9d29044b424657900fa99e8c058f73d5a755e93d21e4bbeb0eea8f19392"}, +] + +[package.dependencies] +botocore-stubs = "*" +types-aiobotocore-cloudformation = {version = ">=3.1.0,<3.2.0", optional = true, markers = "extra == \"essential\""} +types-aiobotocore-dynamodb = {version = ">=3.1.0,<3.2.0", optional = true, markers = "extra == \"essential\""} +types-aiobotocore-ec2 = {version = ">=3.1.0,<3.2.0", optional = true, markers = "extra == \"essential\""} +types-aiobotocore-lambda = {version = ">=3.1.0,<3.2.0", optional = true, markers = "extra == \"essential\""} +types-aiobotocore-rds = {version = ">=3.1.0,<3.2.0", optional = true, markers = "extra == \"essential\""} +types-aiobotocore-s3 = {version = ">=3.1.0,<3.2.0", optional = true, markers = "extra == \"essential\""} +types-aiobotocore-sqs = {version = ">=3.1.0,<3.2.0", optional = true, markers = "extra == \"essential\""} + +[package.extras] +accessanalyzer = ["types-aiobotocore-accessanalyzer (>=3.1.0,<3.2.0)"] +account = ["types-aiobotocore-account (>=3.1.0,<3.2.0)"] +acm = ["types-aiobotocore-acm (>=3.1.0,<3.2.0)"] +acm-pca = ["types-aiobotocore-acm-pca (>=3.1.0,<3.2.0)"] +aiobotocore = ["aiobotocore (==3.1.0)"] +aiops = ["types-aiobotocore-aiops (>=3.1.0,<3.2.0)"] +all = ["types-aiobotocore-accessanalyzer (>=3.1.0,<3.2.0)", "types-aiobotocore-account (>=3.1.0,<3.2.0)", "types-aiobotocore-acm (>=3.1.0,<3.2.0)", "types-aiobotocore-acm-pca (>=3.1.0,<3.2.0)", "types-aiobotocore-aiops (>=3.1.0,<3.2.0)", "types-aiobotocore-amp (>=3.1.0,<3.2.0)", "types-aiobotocore-amplify (>=3.1.0,<3.2.0)", "types-aiobotocore-amplifybackend (>=3.1.0,<3.2.0)", "types-aiobotocore-amplifyuibuilder (>=3.1.0,<3.2.0)", "types-aiobotocore-apigateway (>=3.1.0,<3.2.0)", "types-aiobotocore-apigatewaymanagementapi (>=3.1.0,<3.2.0)", "types-aiobotocore-apigatewayv2 (>=3.1.0,<3.2.0)", "types-aiobotocore-appconfig (>=3.1.0,<3.2.0)", "types-aiobotocore-appconfigdata (>=3.1.0,<3.2.0)", "types-aiobotocore-appfabric (>=3.1.0,<3.2.0)", "types-aiobotocore-appflow (>=3.1.0,<3.2.0)", "types-aiobotocore-appintegrations (>=3.1.0,<3.2.0)", "types-aiobotocore-application-autoscaling (>=3.1.0,<3.2.0)", "types-aiobotocore-application-insights (>=3.1.0,<3.2.0)", "types-aiobotocore-application-signals (>=3.1.0,<3.2.0)", "types-aiobotocore-applicationcostprofiler (>=3.1.0,<3.2.0)", "types-aiobotocore-appmesh (>=3.1.0,<3.2.0)", "types-aiobotocore-apprunner (>=3.1.0,<3.2.0)", "types-aiobotocore-appstream (>=3.1.0,<3.2.0)", "types-aiobotocore-appsync (>=3.1.0,<3.2.0)", "types-aiobotocore-arc-region-switch (>=3.1.0,<3.2.0)", "types-aiobotocore-arc-zonal-shift (>=3.1.0,<3.2.0)", "types-aiobotocore-artifact (>=3.1.0,<3.2.0)", "types-aiobotocore-athena (>=3.1.0,<3.2.0)", "types-aiobotocore-auditmanager (>=3.1.0,<3.2.0)", "types-aiobotocore-autoscaling (>=3.1.0,<3.2.0)", "types-aiobotocore-autoscaling-plans (>=3.1.0,<3.2.0)", "types-aiobotocore-b2bi (>=3.1.0,<3.2.0)", "types-aiobotocore-backup (>=3.1.0,<3.2.0)", "types-aiobotocore-backup-gateway (>=3.1.0,<3.2.0)", "types-aiobotocore-backupsearch (>=3.1.0,<3.2.0)", "types-aiobotocore-batch (>=3.1.0,<3.2.0)", "types-aiobotocore-bcm-dashboards (>=3.1.0,<3.2.0)", "types-aiobotocore-bcm-data-exports (>=3.1.0,<3.2.0)", "types-aiobotocore-bcm-pricing-calculator (>=3.1.0,<3.2.0)", "types-aiobotocore-bcm-recommended-actions (>=3.1.0,<3.2.0)", "types-aiobotocore-bedrock (>=3.1.0,<3.2.0)", "types-aiobotocore-bedrock-agent (>=3.1.0,<3.2.0)", "types-aiobotocore-bedrock-agent-runtime (>=3.1.0,<3.2.0)", "types-aiobotocore-bedrock-agentcore (>=3.1.0,<3.2.0)", "types-aiobotocore-bedrock-agentcore-control (>=3.1.0,<3.2.0)", "types-aiobotocore-bedrock-data-automation (>=3.1.0,<3.2.0)", "types-aiobotocore-bedrock-data-automation-runtime (>=3.1.0,<3.2.0)", "types-aiobotocore-bedrock-runtime (>=3.1.0,<3.2.0)", "types-aiobotocore-billing (>=3.1.0,<3.2.0)", "types-aiobotocore-billingconductor (>=3.1.0,<3.2.0)", "types-aiobotocore-braket (>=3.1.0,<3.2.0)", "types-aiobotocore-budgets (>=3.1.0,<3.2.0)", "types-aiobotocore-ce (>=3.1.0,<3.2.0)", "types-aiobotocore-chatbot (>=3.1.0,<3.2.0)", "types-aiobotocore-chime (>=3.1.0,<3.2.0)", "types-aiobotocore-chime-sdk-identity (>=3.1.0,<3.2.0)", "types-aiobotocore-chime-sdk-media-pipelines (>=3.1.0,<3.2.0)", "types-aiobotocore-chime-sdk-meetings (>=3.1.0,<3.2.0)", "types-aiobotocore-chime-sdk-messaging (>=3.1.0,<3.2.0)", "types-aiobotocore-chime-sdk-voice (>=3.1.0,<3.2.0)", "types-aiobotocore-cleanrooms (>=3.1.0,<3.2.0)", "types-aiobotocore-cleanroomsml (>=3.1.0,<3.2.0)", "types-aiobotocore-cloud9 (>=3.1.0,<3.2.0)", "types-aiobotocore-cloudcontrol (>=3.1.0,<3.2.0)", "types-aiobotocore-clouddirectory (>=3.1.0,<3.2.0)", "types-aiobotocore-cloudformation (>=3.1.0,<3.2.0)", "types-aiobotocore-cloudfront (>=3.1.0,<3.2.0)", "types-aiobotocore-cloudfront-keyvaluestore (>=3.1.0,<3.2.0)", "types-aiobotocore-cloudhsm (>=3.1.0,<3.2.0)", "types-aiobotocore-cloudhsmv2 (>=3.1.0,<3.2.0)", "types-aiobotocore-cloudsearch (>=3.1.0,<3.2.0)", "types-aiobotocore-cloudsearchdomain (>=3.1.0,<3.2.0)", "types-aiobotocore-cloudtrail (>=3.1.0,<3.2.0)", "types-aiobotocore-cloudtrail-data (>=3.1.0,<3.2.0)", "types-aiobotocore-cloudwatch (>=3.1.0,<3.2.0)", "types-aiobotocore-codeartifact (>=3.1.0,<3.2.0)", "types-aiobotocore-codebuild (>=3.1.0,<3.2.0)", "types-aiobotocore-codecatalyst (>=3.1.0,<3.2.0)", "types-aiobotocore-codecommit (>=3.1.0,<3.2.0)", "types-aiobotocore-codeconnections (>=3.1.0,<3.2.0)", "types-aiobotocore-codedeploy (>=3.1.0,<3.2.0)", "types-aiobotocore-codeguru-reviewer (>=3.1.0,<3.2.0)", "types-aiobotocore-codeguru-security (>=3.1.0,<3.2.0)", "types-aiobotocore-codeguruprofiler (>=3.1.0,<3.2.0)", "types-aiobotocore-codepipeline (>=3.1.0,<3.2.0)", "types-aiobotocore-codestar-connections (>=3.1.0,<3.2.0)", "types-aiobotocore-codestar-notifications (>=3.1.0,<3.2.0)", "types-aiobotocore-cognito-identity (>=3.1.0,<3.2.0)", "types-aiobotocore-cognito-idp (>=3.1.0,<3.2.0)", "types-aiobotocore-cognito-sync (>=3.1.0,<3.2.0)", "types-aiobotocore-comprehend (>=3.1.0,<3.2.0)", "types-aiobotocore-comprehendmedical (>=3.1.0,<3.2.0)", "types-aiobotocore-compute-optimizer (>=3.1.0,<3.2.0)", "types-aiobotocore-compute-optimizer-automation (>=3.1.0,<3.2.0)", "types-aiobotocore-config (>=3.1.0,<3.2.0)", "types-aiobotocore-connect (>=3.1.0,<3.2.0)", "types-aiobotocore-connect-contact-lens (>=3.1.0,<3.2.0)", "types-aiobotocore-connectcampaigns (>=3.1.0,<3.2.0)", "types-aiobotocore-connectcampaignsv2 (>=3.1.0,<3.2.0)", "types-aiobotocore-connectcases (>=3.1.0,<3.2.0)", "types-aiobotocore-connectparticipant (>=3.1.0,<3.2.0)", "types-aiobotocore-controlcatalog (>=3.1.0,<3.2.0)", "types-aiobotocore-controltower (>=3.1.0,<3.2.0)", "types-aiobotocore-cost-optimization-hub (>=3.1.0,<3.2.0)", "types-aiobotocore-cur (>=3.1.0,<3.2.0)", "types-aiobotocore-customer-profiles (>=3.1.0,<3.2.0)", "types-aiobotocore-databrew (>=3.1.0,<3.2.0)", "types-aiobotocore-dataexchange (>=3.1.0,<3.2.0)", "types-aiobotocore-datapipeline (>=3.1.0,<3.2.0)", "types-aiobotocore-datasync (>=3.1.0,<3.2.0)", "types-aiobotocore-datazone (>=3.1.0,<3.2.0)", "types-aiobotocore-dax (>=3.1.0,<3.2.0)", "types-aiobotocore-deadline (>=3.1.0,<3.2.0)", "types-aiobotocore-detective (>=3.1.0,<3.2.0)", "types-aiobotocore-devicefarm (>=3.1.0,<3.2.0)", "types-aiobotocore-devops-guru (>=3.1.0,<3.2.0)", "types-aiobotocore-directconnect (>=3.1.0,<3.2.0)", "types-aiobotocore-discovery (>=3.1.0,<3.2.0)", "types-aiobotocore-dlm (>=3.1.0,<3.2.0)", "types-aiobotocore-dms (>=3.1.0,<3.2.0)", "types-aiobotocore-docdb (>=3.1.0,<3.2.0)", "types-aiobotocore-docdb-elastic (>=3.1.0,<3.2.0)", "types-aiobotocore-drs (>=3.1.0,<3.2.0)", "types-aiobotocore-ds (>=3.1.0,<3.2.0)", "types-aiobotocore-ds-data (>=3.1.0,<3.2.0)", "types-aiobotocore-dsql (>=3.1.0,<3.2.0)", "types-aiobotocore-dynamodb (>=3.1.0,<3.2.0)", "types-aiobotocore-dynamodbstreams (>=3.1.0,<3.2.0)", "types-aiobotocore-ebs (>=3.1.0,<3.2.0)", "types-aiobotocore-ec2 (>=3.1.0,<3.2.0)", "types-aiobotocore-ec2-instance-connect (>=3.1.0,<3.2.0)", "types-aiobotocore-ecr (>=3.1.0,<3.2.0)", "types-aiobotocore-ecr-public (>=3.1.0,<3.2.0)", "types-aiobotocore-ecs (>=3.1.0,<3.2.0)", "types-aiobotocore-efs (>=3.1.0,<3.2.0)", "types-aiobotocore-eks (>=3.1.0,<3.2.0)", "types-aiobotocore-eks-auth (>=3.1.0,<3.2.0)", "types-aiobotocore-elasticache (>=3.1.0,<3.2.0)", "types-aiobotocore-elasticbeanstalk (>=3.1.0,<3.2.0)", "types-aiobotocore-elb (>=3.1.0,<3.2.0)", "types-aiobotocore-elbv2 (>=3.1.0,<3.2.0)", "types-aiobotocore-emr (>=3.1.0,<3.2.0)", "types-aiobotocore-emr-containers (>=3.1.0,<3.2.0)", "types-aiobotocore-emr-serverless (>=3.1.0,<3.2.0)", "types-aiobotocore-entityresolution (>=3.1.0,<3.2.0)", "types-aiobotocore-es (>=3.1.0,<3.2.0)", "types-aiobotocore-events (>=3.1.0,<3.2.0)", "types-aiobotocore-evidently (>=3.1.0,<3.2.0)", "types-aiobotocore-evs (>=3.1.0,<3.2.0)", "types-aiobotocore-finspace (>=3.1.0,<3.2.0)", "types-aiobotocore-finspace-data (>=3.1.0,<3.2.0)", "types-aiobotocore-firehose (>=3.1.0,<3.2.0)", "types-aiobotocore-fis (>=3.1.0,<3.2.0)", "types-aiobotocore-fms (>=3.1.0,<3.2.0)", "types-aiobotocore-forecast (>=3.1.0,<3.2.0)", "types-aiobotocore-forecastquery (>=3.1.0,<3.2.0)", "types-aiobotocore-frauddetector (>=3.1.0,<3.2.0)", "types-aiobotocore-freetier (>=3.1.0,<3.2.0)", "types-aiobotocore-fsx (>=3.1.0,<3.2.0)", "types-aiobotocore-gamelift (>=3.1.0,<3.2.0)", "types-aiobotocore-gameliftstreams (>=3.1.0,<3.2.0)", "types-aiobotocore-geo-maps (>=3.1.0,<3.2.0)", "types-aiobotocore-geo-places (>=3.1.0,<3.2.0)", "types-aiobotocore-geo-routes (>=3.1.0,<3.2.0)", "types-aiobotocore-glacier (>=3.1.0,<3.2.0)", "types-aiobotocore-globalaccelerator (>=3.1.0,<3.2.0)", "types-aiobotocore-glue (>=3.1.0,<3.2.0)", "types-aiobotocore-grafana (>=3.1.0,<3.2.0)", "types-aiobotocore-greengrass (>=3.1.0,<3.2.0)", "types-aiobotocore-greengrassv2 (>=3.1.0,<3.2.0)", "types-aiobotocore-groundstation (>=3.1.0,<3.2.0)", "types-aiobotocore-guardduty (>=3.1.0,<3.2.0)", "types-aiobotocore-health (>=3.1.0,<3.2.0)", "types-aiobotocore-healthlake (>=3.1.0,<3.2.0)", "types-aiobotocore-iam (>=3.1.0,<3.2.0)", "types-aiobotocore-identitystore (>=3.1.0,<3.2.0)", "types-aiobotocore-imagebuilder (>=3.1.0,<3.2.0)", "types-aiobotocore-importexport (>=3.1.0,<3.2.0)", "types-aiobotocore-inspector (>=3.1.0,<3.2.0)", "types-aiobotocore-inspector-scan (>=3.1.0,<3.2.0)", "types-aiobotocore-inspector2 (>=3.1.0,<3.2.0)", "types-aiobotocore-internetmonitor (>=3.1.0,<3.2.0)", "types-aiobotocore-invoicing (>=3.1.0,<3.2.0)", "types-aiobotocore-iot (>=3.1.0,<3.2.0)", "types-aiobotocore-iot-data (>=3.1.0,<3.2.0)", "types-aiobotocore-iot-jobs-data (>=3.1.0,<3.2.0)", "types-aiobotocore-iot-managed-integrations (>=3.1.0,<3.2.0)", "types-aiobotocore-iotanalytics (>=3.1.0,<3.2.0)", "types-aiobotocore-iotdeviceadvisor (>=3.1.0,<3.2.0)", "types-aiobotocore-iotevents (>=3.1.0,<3.2.0)", "types-aiobotocore-iotevents-data (>=3.1.0,<3.2.0)", "types-aiobotocore-iotfleetwise (>=3.1.0,<3.2.0)", "types-aiobotocore-iotsecuretunneling (>=3.1.0,<3.2.0)", "types-aiobotocore-iotsitewise (>=3.1.0,<3.2.0)", "types-aiobotocore-iotthingsgraph (>=3.1.0,<3.2.0)", "types-aiobotocore-iottwinmaker (>=3.1.0,<3.2.0)", "types-aiobotocore-iotwireless (>=3.1.0,<3.2.0)", "types-aiobotocore-ivs (>=3.1.0,<3.2.0)", "types-aiobotocore-ivs-realtime (>=3.1.0,<3.2.0)", "types-aiobotocore-ivschat (>=3.1.0,<3.2.0)", "types-aiobotocore-kafka (>=3.1.0,<3.2.0)", "types-aiobotocore-kafkaconnect (>=3.1.0,<3.2.0)", "types-aiobotocore-kendra (>=3.1.0,<3.2.0)", "types-aiobotocore-kendra-ranking (>=3.1.0,<3.2.0)", "types-aiobotocore-keyspaces (>=3.1.0,<3.2.0)", "types-aiobotocore-keyspacesstreams (>=3.1.0,<3.2.0)", "types-aiobotocore-kinesis (>=3.1.0,<3.2.0)", "types-aiobotocore-kinesis-video-archived-media (>=3.1.0,<3.2.0)", "types-aiobotocore-kinesis-video-media (>=3.1.0,<3.2.0)", "types-aiobotocore-kinesis-video-signaling (>=3.1.0,<3.2.0)", "types-aiobotocore-kinesis-video-webrtc-storage (>=3.1.0,<3.2.0)", "types-aiobotocore-kinesisanalytics (>=3.1.0,<3.2.0)", "types-aiobotocore-kinesisanalyticsv2 (>=3.1.0,<3.2.0)", "types-aiobotocore-kinesisvideo (>=3.1.0,<3.2.0)", "types-aiobotocore-kms (>=3.1.0,<3.2.0)", "types-aiobotocore-lakeformation (>=3.1.0,<3.2.0)", "types-aiobotocore-lambda (>=3.1.0,<3.2.0)", "types-aiobotocore-launch-wizard (>=3.1.0,<3.2.0)", "types-aiobotocore-lex-models (>=3.1.0,<3.2.0)", "types-aiobotocore-lex-runtime (>=3.1.0,<3.2.0)", "types-aiobotocore-lexv2-models (>=3.1.0,<3.2.0)", "types-aiobotocore-lexv2-runtime (>=3.1.0,<3.2.0)", "types-aiobotocore-license-manager (>=3.1.0,<3.2.0)", "types-aiobotocore-license-manager-linux-subscriptions (>=3.1.0,<3.2.0)", "types-aiobotocore-license-manager-user-subscriptions (>=3.1.0,<3.2.0)", "types-aiobotocore-lightsail (>=3.1.0,<3.2.0)", "types-aiobotocore-location (>=3.1.0,<3.2.0)", "types-aiobotocore-logs (>=3.1.0,<3.2.0)", "types-aiobotocore-lookoutequipment (>=3.1.0,<3.2.0)", "types-aiobotocore-m2 (>=3.1.0,<3.2.0)", "types-aiobotocore-machinelearning (>=3.1.0,<3.2.0)", "types-aiobotocore-macie2 (>=3.1.0,<3.2.0)", "types-aiobotocore-mailmanager (>=3.1.0,<3.2.0)", "types-aiobotocore-managedblockchain (>=3.1.0,<3.2.0)", "types-aiobotocore-managedblockchain-query (>=3.1.0,<3.2.0)", "types-aiobotocore-marketplace-agreement (>=3.1.0,<3.2.0)", "types-aiobotocore-marketplace-catalog (>=3.1.0,<3.2.0)", "types-aiobotocore-marketplace-deployment (>=3.1.0,<3.2.0)", "types-aiobotocore-marketplace-entitlement (>=3.1.0,<3.2.0)", "types-aiobotocore-marketplace-reporting (>=3.1.0,<3.2.0)", "types-aiobotocore-marketplacecommerceanalytics (>=3.1.0,<3.2.0)", "types-aiobotocore-mediaconnect (>=3.1.0,<3.2.0)", "types-aiobotocore-mediaconvert (>=3.1.0,<3.2.0)", "types-aiobotocore-medialive (>=3.1.0,<3.2.0)", "types-aiobotocore-mediapackage (>=3.1.0,<3.2.0)", "types-aiobotocore-mediapackage-vod (>=3.1.0,<3.2.0)", "types-aiobotocore-mediapackagev2 (>=3.1.0,<3.2.0)", "types-aiobotocore-mediastore (>=3.1.0,<3.2.0)", "types-aiobotocore-mediastore-data (>=3.1.0,<3.2.0)", "types-aiobotocore-mediatailor (>=3.1.0,<3.2.0)", "types-aiobotocore-medical-imaging (>=3.1.0,<3.2.0)", "types-aiobotocore-memorydb (>=3.1.0,<3.2.0)", "types-aiobotocore-meteringmarketplace (>=3.1.0,<3.2.0)", "types-aiobotocore-mgh (>=3.1.0,<3.2.0)", "types-aiobotocore-mgn (>=3.1.0,<3.2.0)", "types-aiobotocore-migration-hub-refactor-spaces (>=3.1.0,<3.2.0)", "types-aiobotocore-migrationhub-config (>=3.1.0,<3.2.0)", "types-aiobotocore-migrationhuborchestrator (>=3.1.0,<3.2.0)", "types-aiobotocore-migrationhubstrategy (>=3.1.0,<3.2.0)", "types-aiobotocore-mpa (>=3.1.0,<3.2.0)", "types-aiobotocore-mq (>=3.1.0,<3.2.0)", "types-aiobotocore-mturk (>=3.1.0,<3.2.0)", "types-aiobotocore-mwaa (>=3.1.0,<3.2.0)", "types-aiobotocore-mwaa-serverless (>=3.1.0,<3.2.0)", "types-aiobotocore-neptune (>=3.1.0,<3.2.0)", "types-aiobotocore-neptune-graph (>=3.1.0,<3.2.0)", "types-aiobotocore-neptunedata (>=3.1.0,<3.2.0)", "types-aiobotocore-network-firewall (>=3.1.0,<3.2.0)", "types-aiobotocore-networkflowmonitor (>=3.1.0,<3.2.0)", "types-aiobotocore-networkmanager (>=3.1.0,<3.2.0)", "types-aiobotocore-networkmonitor (>=3.1.0,<3.2.0)", "types-aiobotocore-notifications (>=3.1.0,<3.2.0)", "types-aiobotocore-notificationscontacts (>=3.1.0,<3.2.0)", "types-aiobotocore-nova-act (>=3.1.0,<3.2.0)", "types-aiobotocore-oam (>=3.1.0,<3.2.0)", "types-aiobotocore-observabilityadmin (>=3.1.0,<3.2.0)", "types-aiobotocore-odb (>=3.1.0,<3.2.0)", "types-aiobotocore-omics (>=3.1.0,<3.2.0)", "types-aiobotocore-opensearch (>=3.1.0,<3.2.0)", "types-aiobotocore-opensearchserverless (>=3.1.0,<3.2.0)", "types-aiobotocore-organizations (>=3.1.0,<3.2.0)", "types-aiobotocore-osis (>=3.1.0,<3.2.0)", "types-aiobotocore-outposts (>=3.1.0,<3.2.0)", "types-aiobotocore-panorama (>=3.1.0,<3.2.0)", "types-aiobotocore-partnercentral-account (>=3.1.0,<3.2.0)", "types-aiobotocore-partnercentral-benefits (>=3.1.0,<3.2.0)", "types-aiobotocore-partnercentral-channel (>=3.1.0,<3.2.0)", "types-aiobotocore-partnercentral-selling (>=3.1.0,<3.2.0)", "types-aiobotocore-payment-cryptography (>=3.1.0,<3.2.0)", "types-aiobotocore-payment-cryptography-data (>=3.1.0,<3.2.0)", "types-aiobotocore-pca-connector-ad (>=3.1.0,<3.2.0)", "types-aiobotocore-pca-connector-scep (>=3.1.0,<3.2.0)", "types-aiobotocore-pcs (>=3.1.0,<3.2.0)", "types-aiobotocore-personalize (>=3.1.0,<3.2.0)", "types-aiobotocore-personalize-events (>=3.1.0,<3.2.0)", "types-aiobotocore-personalize-runtime (>=3.1.0,<3.2.0)", "types-aiobotocore-pi (>=3.1.0,<3.2.0)", "types-aiobotocore-pinpoint (>=3.1.0,<3.2.0)", "types-aiobotocore-pinpoint-email (>=3.1.0,<3.2.0)", "types-aiobotocore-pinpoint-sms-voice (>=3.1.0,<3.2.0)", "types-aiobotocore-pinpoint-sms-voice-v2 (>=3.1.0,<3.2.0)", "types-aiobotocore-pipes (>=3.1.0,<3.2.0)", "types-aiobotocore-polly (>=3.1.0,<3.2.0)", "types-aiobotocore-pricing (>=3.1.0,<3.2.0)", "types-aiobotocore-proton (>=3.1.0,<3.2.0)", "types-aiobotocore-qapps (>=3.1.0,<3.2.0)", "types-aiobotocore-qbusiness (>=3.1.0,<3.2.0)", "types-aiobotocore-qconnect (>=3.1.0,<3.2.0)", "types-aiobotocore-quicksight (>=3.1.0,<3.2.0)", "types-aiobotocore-ram (>=3.1.0,<3.2.0)", "types-aiobotocore-rbin (>=3.1.0,<3.2.0)", "types-aiobotocore-rds (>=3.1.0,<3.2.0)", "types-aiobotocore-rds-data (>=3.1.0,<3.2.0)", "types-aiobotocore-redshift (>=3.1.0,<3.2.0)", "types-aiobotocore-redshift-data (>=3.1.0,<3.2.0)", "types-aiobotocore-redshift-serverless (>=3.1.0,<3.2.0)", "types-aiobotocore-rekognition (>=3.1.0,<3.2.0)", "types-aiobotocore-repostspace (>=3.1.0,<3.2.0)", "types-aiobotocore-resiliencehub (>=3.1.0,<3.2.0)", "types-aiobotocore-resource-explorer-2 (>=3.1.0,<3.2.0)", "types-aiobotocore-resource-groups (>=3.1.0,<3.2.0)", "types-aiobotocore-resourcegroupstaggingapi (>=3.1.0,<3.2.0)", "types-aiobotocore-rolesanywhere (>=3.1.0,<3.2.0)", "types-aiobotocore-route53 (>=3.1.0,<3.2.0)", "types-aiobotocore-route53-recovery-cluster (>=3.1.0,<3.2.0)", "types-aiobotocore-route53-recovery-control-config (>=3.1.0,<3.2.0)", "types-aiobotocore-route53-recovery-readiness (>=3.1.0,<3.2.0)", "types-aiobotocore-route53domains (>=3.1.0,<3.2.0)", "types-aiobotocore-route53globalresolver (>=3.1.0,<3.2.0)", "types-aiobotocore-route53profiles (>=3.1.0,<3.2.0)", "types-aiobotocore-route53resolver (>=3.1.0,<3.2.0)", "types-aiobotocore-rtbfabric (>=3.1.0,<3.2.0)", "types-aiobotocore-rum (>=3.1.0,<3.2.0)", "types-aiobotocore-s3 (>=3.1.0,<3.2.0)", "types-aiobotocore-s3control (>=3.1.0,<3.2.0)", "types-aiobotocore-s3outposts (>=3.1.0,<3.2.0)", "types-aiobotocore-s3tables (>=3.1.0,<3.2.0)", "types-aiobotocore-s3vectors (>=3.1.0,<3.2.0)", "types-aiobotocore-sagemaker (>=3.1.0,<3.2.0)", "types-aiobotocore-sagemaker-a2i-runtime (>=3.1.0,<3.2.0)", "types-aiobotocore-sagemaker-edge (>=3.1.0,<3.2.0)", "types-aiobotocore-sagemaker-featurestore-runtime (>=3.1.0,<3.2.0)", "types-aiobotocore-sagemaker-geospatial (>=3.1.0,<3.2.0)", "types-aiobotocore-sagemaker-metrics (>=3.1.0,<3.2.0)", "types-aiobotocore-sagemaker-runtime (>=3.1.0,<3.2.0)", "types-aiobotocore-savingsplans (>=3.1.0,<3.2.0)", "types-aiobotocore-scheduler (>=3.1.0,<3.2.0)", "types-aiobotocore-schemas (>=3.1.0,<3.2.0)", "types-aiobotocore-sdb (>=3.1.0,<3.2.0)", "types-aiobotocore-secretsmanager (>=3.1.0,<3.2.0)", "types-aiobotocore-security-ir (>=3.1.0,<3.2.0)", "types-aiobotocore-securityhub (>=3.1.0,<3.2.0)", "types-aiobotocore-securitylake (>=3.1.0,<3.2.0)", "types-aiobotocore-serverlessrepo (>=3.1.0,<3.2.0)", "types-aiobotocore-service-quotas (>=3.1.0,<3.2.0)", "types-aiobotocore-servicecatalog (>=3.1.0,<3.2.0)", "types-aiobotocore-servicecatalog-appregistry (>=3.1.0,<3.2.0)", "types-aiobotocore-servicediscovery (>=3.1.0,<3.2.0)", "types-aiobotocore-ses (>=3.1.0,<3.2.0)", "types-aiobotocore-sesv2 (>=3.1.0,<3.2.0)", "types-aiobotocore-shield (>=3.1.0,<3.2.0)", "types-aiobotocore-signer (>=3.1.0,<3.2.0)", "types-aiobotocore-signin (>=3.1.0,<3.2.0)", "types-aiobotocore-simspaceweaver (>=3.1.0,<3.2.0)", "types-aiobotocore-snow-device-management (>=3.1.0,<3.2.0)", "types-aiobotocore-snowball (>=3.1.0,<3.2.0)", "types-aiobotocore-sns (>=3.1.0,<3.2.0)", "types-aiobotocore-socialmessaging (>=3.1.0,<3.2.0)", "types-aiobotocore-sqs (>=3.1.0,<3.2.0)", "types-aiobotocore-ssm (>=3.1.0,<3.2.0)", "types-aiobotocore-ssm-contacts (>=3.1.0,<3.2.0)", "types-aiobotocore-ssm-guiconnect (>=3.1.0,<3.2.0)", "types-aiobotocore-ssm-incidents (>=3.1.0,<3.2.0)", "types-aiobotocore-ssm-quicksetup (>=3.1.0,<3.2.0)", "types-aiobotocore-ssm-sap (>=3.1.0,<3.2.0)", "types-aiobotocore-sso (>=3.1.0,<3.2.0)", "types-aiobotocore-sso-admin (>=3.1.0,<3.2.0)", "types-aiobotocore-sso-oidc (>=3.1.0,<3.2.0)", "types-aiobotocore-stepfunctions (>=3.1.0,<3.2.0)", "types-aiobotocore-storagegateway (>=3.1.0,<3.2.0)", "types-aiobotocore-sts (>=3.1.0,<3.2.0)", "types-aiobotocore-supplychain (>=3.1.0,<3.2.0)", "types-aiobotocore-support (>=3.1.0,<3.2.0)", "types-aiobotocore-support-app (>=3.1.0,<3.2.0)", "types-aiobotocore-swf (>=3.1.0,<3.2.0)", "types-aiobotocore-synthetics (>=3.1.0,<3.2.0)", "types-aiobotocore-taxsettings (>=3.1.0,<3.2.0)", "types-aiobotocore-textract (>=3.1.0,<3.2.0)", "types-aiobotocore-timestream-influxdb (>=3.1.0,<3.2.0)", "types-aiobotocore-timestream-query (>=3.1.0,<3.2.0)", "types-aiobotocore-timestream-write (>=3.1.0,<3.2.0)", "types-aiobotocore-tnb (>=3.1.0,<3.2.0)", "types-aiobotocore-transcribe (>=3.1.0,<3.2.0)", "types-aiobotocore-transfer (>=3.1.0,<3.2.0)", "types-aiobotocore-translate (>=3.1.0,<3.2.0)", "types-aiobotocore-trustedadvisor (>=3.1.0,<3.2.0)", "types-aiobotocore-verifiedpermissions (>=3.1.0,<3.2.0)", "types-aiobotocore-voice-id (>=3.1.0,<3.2.0)", "types-aiobotocore-vpc-lattice (>=3.1.0,<3.2.0)", "types-aiobotocore-waf (>=3.1.0,<3.2.0)", "types-aiobotocore-waf-regional (>=3.1.0,<3.2.0)", "types-aiobotocore-wafv2 (>=3.1.0,<3.2.0)", "types-aiobotocore-wellarchitected (>=3.1.0,<3.2.0)", "types-aiobotocore-wickr (>=3.1.0,<3.2.0)", "types-aiobotocore-wisdom (>=3.1.0,<3.2.0)", "types-aiobotocore-workdocs (>=3.1.0,<3.2.0)", "types-aiobotocore-workmail (>=3.1.0,<3.2.0)", "types-aiobotocore-workmailmessageflow (>=3.1.0,<3.2.0)", "types-aiobotocore-workspaces (>=3.1.0,<3.2.0)", "types-aiobotocore-workspaces-instances (>=3.1.0,<3.2.0)", "types-aiobotocore-workspaces-thin-client (>=3.1.0,<3.2.0)", "types-aiobotocore-workspaces-web (>=3.1.0,<3.2.0)", "types-aiobotocore-xray (>=3.1.0,<3.2.0)"] +amp = ["types-aiobotocore-amp (>=3.1.0,<3.2.0)"] +amplify = ["types-aiobotocore-amplify (>=3.1.0,<3.2.0)"] +amplifybackend = ["types-aiobotocore-amplifybackend (>=3.1.0,<3.2.0)"] +amplifyuibuilder = ["types-aiobotocore-amplifyuibuilder (>=3.1.0,<3.2.0)"] +apigateway = ["types-aiobotocore-apigateway (>=3.1.0,<3.2.0)"] +apigatewaymanagementapi = ["types-aiobotocore-apigatewaymanagementapi (>=3.1.0,<3.2.0)"] +apigatewayv2 = ["types-aiobotocore-apigatewayv2 (>=3.1.0,<3.2.0)"] +appconfig = ["types-aiobotocore-appconfig (>=3.1.0,<3.2.0)"] +appconfigdata = ["types-aiobotocore-appconfigdata (>=3.1.0,<3.2.0)"] +appfabric = ["types-aiobotocore-appfabric (>=3.1.0,<3.2.0)"] +appflow = ["types-aiobotocore-appflow (>=3.1.0,<3.2.0)"] +appintegrations = ["types-aiobotocore-appintegrations (>=3.1.0,<3.2.0)"] +application-autoscaling = ["types-aiobotocore-application-autoscaling (>=3.1.0,<3.2.0)"] +application-insights = ["types-aiobotocore-application-insights (>=3.1.0,<3.2.0)"] +application-signals = ["types-aiobotocore-application-signals (>=3.1.0,<3.2.0)"] +applicationcostprofiler = ["types-aiobotocore-applicationcostprofiler (>=3.1.0,<3.2.0)"] +appmesh = ["types-aiobotocore-appmesh (>=3.1.0,<3.2.0)"] +apprunner = ["types-aiobotocore-apprunner (>=3.1.0,<3.2.0)"] +appstream = ["types-aiobotocore-appstream (>=3.1.0,<3.2.0)"] +appsync = ["types-aiobotocore-appsync (>=3.1.0,<3.2.0)"] +arc-region-switch = ["types-aiobotocore-arc-region-switch (>=3.1.0,<3.2.0)"] +arc-zonal-shift = ["types-aiobotocore-arc-zonal-shift (>=3.1.0,<3.2.0)"] +artifact = ["types-aiobotocore-artifact (>=3.1.0,<3.2.0)"] +athena = ["types-aiobotocore-athena (>=3.1.0,<3.2.0)"] +auditmanager = ["types-aiobotocore-auditmanager (>=3.1.0,<3.2.0)"] +autoscaling = ["types-aiobotocore-autoscaling (>=3.1.0,<3.2.0)"] +autoscaling-plans = ["types-aiobotocore-autoscaling-plans (>=3.1.0,<3.2.0)"] +b2bi = ["types-aiobotocore-b2bi (>=3.1.0,<3.2.0)"] +backup = ["types-aiobotocore-backup (>=3.1.0,<3.2.0)"] +backup-gateway = ["types-aiobotocore-backup-gateway (>=3.1.0,<3.2.0)"] +backupsearch = ["types-aiobotocore-backupsearch (>=3.1.0,<3.2.0)"] +batch = ["types-aiobotocore-batch (>=3.1.0,<3.2.0)"] +bcm-dashboards = ["types-aiobotocore-bcm-dashboards (>=3.1.0,<3.2.0)"] +bcm-data-exports = ["types-aiobotocore-bcm-data-exports (>=3.1.0,<3.2.0)"] +bcm-pricing-calculator = ["types-aiobotocore-bcm-pricing-calculator (>=3.1.0,<3.2.0)"] +bcm-recommended-actions = ["types-aiobotocore-bcm-recommended-actions (>=3.1.0,<3.2.0)"] +bedrock = ["types-aiobotocore-bedrock (>=3.1.0,<3.2.0)"] +bedrock-agent = ["types-aiobotocore-bedrock-agent (>=3.1.0,<3.2.0)"] +bedrock-agent-runtime = ["types-aiobotocore-bedrock-agent-runtime (>=3.1.0,<3.2.0)"] +bedrock-agentcore = ["types-aiobotocore-bedrock-agentcore (>=3.1.0,<3.2.0)"] +bedrock-agentcore-control = ["types-aiobotocore-bedrock-agentcore-control (>=3.1.0,<3.2.0)"] +bedrock-data-automation = ["types-aiobotocore-bedrock-data-automation (>=3.1.0,<3.2.0)"] +bedrock-data-automation-runtime = ["types-aiobotocore-bedrock-data-automation-runtime (>=3.1.0,<3.2.0)"] +bedrock-runtime = ["types-aiobotocore-bedrock-runtime (>=3.1.0,<3.2.0)"] +billing = ["types-aiobotocore-billing (>=3.1.0,<3.2.0)"] +billingconductor = ["types-aiobotocore-billingconductor (>=3.1.0,<3.2.0)"] +braket = ["types-aiobotocore-braket (>=3.1.0,<3.2.0)"] +budgets = ["types-aiobotocore-budgets (>=3.1.0,<3.2.0)"] +ce = ["types-aiobotocore-ce (>=3.1.0,<3.2.0)"] +chatbot = ["types-aiobotocore-chatbot (>=3.1.0,<3.2.0)"] +chime = ["types-aiobotocore-chime (>=3.1.0,<3.2.0)"] +chime-sdk-identity = ["types-aiobotocore-chime-sdk-identity (>=3.1.0,<3.2.0)"] +chime-sdk-media-pipelines = ["types-aiobotocore-chime-sdk-media-pipelines (>=3.1.0,<3.2.0)"] +chime-sdk-meetings = ["types-aiobotocore-chime-sdk-meetings (>=3.1.0,<3.2.0)"] +chime-sdk-messaging = ["types-aiobotocore-chime-sdk-messaging (>=3.1.0,<3.2.0)"] +chime-sdk-voice = ["types-aiobotocore-chime-sdk-voice (>=3.1.0,<3.2.0)"] +cleanrooms = ["types-aiobotocore-cleanrooms (>=3.1.0,<3.2.0)"] +cleanroomsml = ["types-aiobotocore-cleanroomsml (>=3.1.0,<3.2.0)"] +cloud9 = ["types-aiobotocore-cloud9 (>=3.1.0,<3.2.0)"] +cloudcontrol = ["types-aiobotocore-cloudcontrol (>=3.1.0,<3.2.0)"] +clouddirectory = ["types-aiobotocore-clouddirectory (>=3.1.0,<3.2.0)"] +cloudformation = ["types-aiobotocore-cloudformation (>=3.1.0,<3.2.0)"] +cloudfront = ["types-aiobotocore-cloudfront (>=3.1.0,<3.2.0)"] +cloudfront-keyvaluestore = ["types-aiobotocore-cloudfront-keyvaluestore (>=3.1.0,<3.2.0)"] +cloudhsm = ["types-aiobotocore-cloudhsm (>=3.1.0,<3.2.0)"] +cloudhsmv2 = ["types-aiobotocore-cloudhsmv2 (>=3.1.0,<3.2.0)"] +cloudsearch = ["types-aiobotocore-cloudsearch (>=3.1.0,<3.2.0)"] +cloudsearchdomain = ["types-aiobotocore-cloudsearchdomain (>=3.1.0,<3.2.0)"] +cloudtrail = ["types-aiobotocore-cloudtrail (>=3.1.0,<3.2.0)"] +cloudtrail-data = ["types-aiobotocore-cloudtrail-data (>=3.1.0,<3.2.0)"] +cloudwatch = ["types-aiobotocore-cloudwatch (>=3.1.0,<3.2.0)"] +codeartifact = ["types-aiobotocore-codeartifact (>=3.1.0,<3.2.0)"] +codebuild = ["types-aiobotocore-codebuild (>=3.1.0,<3.2.0)"] +codecatalyst = ["types-aiobotocore-codecatalyst (>=3.1.0,<3.2.0)"] +codecommit = ["types-aiobotocore-codecommit (>=3.1.0,<3.2.0)"] +codeconnections = ["types-aiobotocore-codeconnections (>=3.1.0,<3.2.0)"] +codedeploy = ["types-aiobotocore-codedeploy (>=3.1.0,<3.2.0)"] +codeguru-reviewer = ["types-aiobotocore-codeguru-reviewer (>=3.1.0,<3.2.0)"] +codeguru-security = ["types-aiobotocore-codeguru-security (>=3.1.0,<3.2.0)"] +codeguruprofiler = ["types-aiobotocore-codeguruprofiler (>=3.1.0,<3.2.0)"] +codepipeline = ["types-aiobotocore-codepipeline (>=3.1.0,<3.2.0)"] +codestar-connections = ["types-aiobotocore-codestar-connections (>=3.1.0,<3.2.0)"] +codestar-notifications = ["types-aiobotocore-codestar-notifications (>=3.1.0,<3.2.0)"] +cognito-identity = ["types-aiobotocore-cognito-identity (>=3.1.0,<3.2.0)"] +cognito-idp = ["types-aiobotocore-cognito-idp (>=3.1.0,<3.2.0)"] +cognito-sync = ["types-aiobotocore-cognito-sync (>=3.1.0,<3.2.0)"] +comprehend = ["types-aiobotocore-comprehend (>=3.1.0,<3.2.0)"] +comprehendmedical = ["types-aiobotocore-comprehendmedical (>=3.1.0,<3.2.0)"] +compute-optimizer = ["types-aiobotocore-compute-optimizer (>=3.1.0,<3.2.0)"] +compute-optimizer-automation = ["types-aiobotocore-compute-optimizer-automation (>=3.1.0,<3.2.0)"] +config = ["types-aiobotocore-config (>=3.1.0,<3.2.0)"] +connect = ["types-aiobotocore-connect (>=3.1.0,<3.2.0)"] +connect-contact-lens = ["types-aiobotocore-connect-contact-lens (>=3.1.0,<3.2.0)"] +connectcampaigns = ["types-aiobotocore-connectcampaigns (>=3.1.0,<3.2.0)"] +connectcampaignsv2 = ["types-aiobotocore-connectcampaignsv2 (>=3.1.0,<3.2.0)"] +connectcases = ["types-aiobotocore-connectcases (>=3.1.0,<3.2.0)"] +connectparticipant = ["types-aiobotocore-connectparticipant (>=3.1.0,<3.2.0)"] +controlcatalog = ["types-aiobotocore-controlcatalog (>=3.1.0,<3.2.0)"] +controltower = ["types-aiobotocore-controltower (>=3.1.0,<3.2.0)"] +cost-optimization-hub = ["types-aiobotocore-cost-optimization-hub (>=3.1.0,<3.2.0)"] +cur = ["types-aiobotocore-cur (>=3.1.0,<3.2.0)"] +customer-profiles = ["types-aiobotocore-customer-profiles (>=3.1.0,<3.2.0)"] +databrew = ["types-aiobotocore-databrew (>=3.1.0,<3.2.0)"] +dataexchange = ["types-aiobotocore-dataexchange (>=3.1.0,<3.2.0)"] +datapipeline = ["types-aiobotocore-datapipeline (>=3.1.0,<3.2.0)"] +datasync = ["types-aiobotocore-datasync (>=3.1.0,<3.2.0)"] +datazone = ["types-aiobotocore-datazone (>=3.1.0,<3.2.0)"] +dax = ["types-aiobotocore-dax (>=3.1.0,<3.2.0)"] +deadline = ["types-aiobotocore-deadline (>=3.1.0,<3.2.0)"] +detective = ["types-aiobotocore-detective (>=3.1.0,<3.2.0)"] +devicefarm = ["types-aiobotocore-devicefarm (>=3.1.0,<3.2.0)"] +devops-guru = ["types-aiobotocore-devops-guru (>=3.1.0,<3.2.0)"] +directconnect = ["types-aiobotocore-directconnect (>=3.1.0,<3.2.0)"] +discovery = ["types-aiobotocore-discovery (>=3.1.0,<3.2.0)"] +dlm = ["types-aiobotocore-dlm (>=3.1.0,<3.2.0)"] +dms = ["types-aiobotocore-dms (>=3.1.0,<3.2.0)"] +docdb = ["types-aiobotocore-docdb (>=3.1.0,<3.2.0)"] +docdb-elastic = ["types-aiobotocore-docdb-elastic (>=3.1.0,<3.2.0)"] +drs = ["types-aiobotocore-drs (>=3.1.0,<3.2.0)"] +ds = ["types-aiobotocore-ds (>=3.1.0,<3.2.0)"] +ds-data = ["types-aiobotocore-ds-data (>=3.1.0,<3.2.0)"] +dsql = ["types-aiobotocore-dsql (>=3.1.0,<3.2.0)"] +dynamodb = ["types-aiobotocore-dynamodb (>=3.1.0,<3.2.0)"] +dynamodbstreams = ["types-aiobotocore-dynamodbstreams (>=3.1.0,<3.2.0)"] +ebs = ["types-aiobotocore-ebs (>=3.1.0,<3.2.0)"] +ec2 = ["types-aiobotocore-ec2 (>=3.1.0,<3.2.0)"] +ec2-instance-connect = ["types-aiobotocore-ec2-instance-connect (>=3.1.0,<3.2.0)"] +ecr = ["types-aiobotocore-ecr (>=3.1.0,<3.2.0)"] +ecr-public = ["types-aiobotocore-ecr-public (>=3.1.0,<3.2.0)"] +ecs = ["types-aiobotocore-ecs (>=3.1.0,<3.2.0)"] +efs = ["types-aiobotocore-efs (>=3.1.0,<3.2.0)"] +eks = ["types-aiobotocore-eks (>=3.1.0,<3.2.0)"] +eks-auth = ["types-aiobotocore-eks-auth (>=3.1.0,<3.2.0)"] +elasticache = ["types-aiobotocore-elasticache (>=3.1.0,<3.2.0)"] +elasticbeanstalk = ["types-aiobotocore-elasticbeanstalk (>=3.1.0,<3.2.0)"] +elb = ["types-aiobotocore-elb (>=3.1.0,<3.2.0)"] +elbv2 = ["types-aiobotocore-elbv2 (>=3.1.0,<3.2.0)"] +emr = ["types-aiobotocore-emr (>=3.1.0,<3.2.0)"] +emr-containers = ["types-aiobotocore-emr-containers (>=3.1.0,<3.2.0)"] +emr-serverless = ["types-aiobotocore-emr-serverless (>=3.1.0,<3.2.0)"] +entityresolution = ["types-aiobotocore-entityresolution (>=3.1.0,<3.2.0)"] +es = ["types-aiobotocore-es (>=3.1.0,<3.2.0)"] +essential = ["types-aiobotocore-cloudformation (>=3.1.0,<3.2.0)", "types-aiobotocore-dynamodb (>=3.1.0,<3.2.0)", "types-aiobotocore-ec2 (>=3.1.0,<3.2.0)", "types-aiobotocore-lambda (>=3.1.0,<3.2.0)", "types-aiobotocore-rds (>=3.1.0,<3.2.0)", "types-aiobotocore-s3 (>=3.1.0,<3.2.0)", "types-aiobotocore-sqs (>=3.1.0,<3.2.0)"] +events = ["types-aiobotocore-events (>=3.1.0,<3.2.0)"] +evidently = ["types-aiobotocore-evidently (>=3.1.0,<3.2.0)"] +evs = ["types-aiobotocore-evs (>=3.1.0,<3.2.0)"] +finspace = ["types-aiobotocore-finspace (>=3.1.0,<3.2.0)"] +finspace-data = ["types-aiobotocore-finspace-data (>=3.1.0,<3.2.0)"] +firehose = ["types-aiobotocore-firehose (>=3.1.0,<3.2.0)"] +fis = ["types-aiobotocore-fis (>=3.1.0,<3.2.0)"] +fms = ["types-aiobotocore-fms (>=3.1.0,<3.2.0)"] +forecast = ["types-aiobotocore-forecast (>=3.1.0,<3.2.0)"] +forecastquery = ["types-aiobotocore-forecastquery (>=3.1.0,<3.2.0)"] +frauddetector = ["types-aiobotocore-frauddetector (>=3.1.0,<3.2.0)"] +freetier = ["types-aiobotocore-freetier (>=3.1.0,<3.2.0)"] +fsx = ["types-aiobotocore-fsx (>=3.1.0,<3.2.0)"] +full = ["types-aiobotocore-full (>=3.1.0,<3.2.0)"] +gamelift = ["types-aiobotocore-gamelift (>=3.1.0,<3.2.0)"] +gameliftstreams = ["types-aiobotocore-gameliftstreams (>=3.1.0,<3.2.0)"] +geo-maps = ["types-aiobotocore-geo-maps (>=3.1.0,<3.2.0)"] +geo-places = ["types-aiobotocore-geo-places (>=3.1.0,<3.2.0)"] +geo-routes = ["types-aiobotocore-geo-routes (>=3.1.0,<3.2.0)"] +glacier = ["types-aiobotocore-glacier (>=3.1.0,<3.2.0)"] +globalaccelerator = ["types-aiobotocore-globalaccelerator (>=3.1.0,<3.2.0)"] +glue = ["types-aiobotocore-glue (>=3.1.0,<3.2.0)"] +grafana = ["types-aiobotocore-grafana (>=3.1.0,<3.2.0)"] +greengrass = ["types-aiobotocore-greengrass (>=3.1.0,<3.2.0)"] +greengrassv2 = ["types-aiobotocore-greengrassv2 (>=3.1.0,<3.2.0)"] +groundstation = ["types-aiobotocore-groundstation (>=3.1.0,<3.2.0)"] +guardduty = ["types-aiobotocore-guardduty (>=3.1.0,<3.2.0)"] +health = ["types-aiobotocore-health (>=3.1.0,<3.2.0)"] +healthlake = ["types-aiobotocore-healthlake (>=3.1.0,<3.2.0)"] +iam = ["types-aiobotocore-iam (>=3.1.0,<3.2.0)"] +identitystore = ["types-aiobotocore-identitystore (>=3.1.0,<3.2.0)"] +imagebuilder = ["types-aiobotocore-imagebuilder (>=3.1.0,<3.2.0)"] +importexport = ["types-aiobotocore-importexport (>=3.1.0,<3.2.0)"] +inspector = ["types-aiobotocore-inspector (>=3.1.0,<3.2.0)"] +inspector-scan = ["types-aiobotocore-inspector-scan (>=3.1.0,<3.2.0)"] +inspector2 = ["types-aiobotocore-inspector2 (>=3.1.0,<3.2.0)"] +internetmonitor = ["types-aiobotocore-internetmonitor (>=3.1.0,<3.2.0)"] +invoicing = ["types-aiobotocore-invoicing (>=3.1.0,<3.2.0)"] +iot = ["types-aiobotocore-iot (>=3.1.0,<3.2.0)"] +iot-data = ["types-aiobotocore-iot-data (>=3.1.0,<3.2.0)"] +iot-jobs-data = ["types-aiobotocore-iot-jobs-data (>=3.1.0,<3.2.0)"] +iot-managed-integrations = ["types-aiobotocore-iot-managed-integrations (>=3.1.0,<3.2.0)"] +iotanalytics = ["types-aiobotocore-iotanalytics (>=3.1.0,<3.2.0)"] +iotdeviceadvisor = ["types-aiobotocore-iotdeviceadvisor (>=3.1.0,<3.2.0)"] +iotevents = ["types-aiobotocore-iotevents (>=3.1.0,<3.2.0)"] +iotevents-data = ["types-aiobotocore-iotevents-data (>=3.1.0,<3.2.0)"] +iotfleetwise = ["types-aiobotocore-iotfleetwise (>=3.1.0,<3.2.0)"] +iotsecuretunneling = ["types-aiobotocore-iotsecuretunneling (>=3.1.0,<3.2.0)"] +iotsitewise = ["types-aiobotocore-iotsitewise (>=3.1.0,<3.2.0)"] +iotthingsgraph = ["types-aiobotocore-iotthingsgraph (>=3.1.0,<3.2.0)"] +iottwinmaker = ["types-aiobotocore-iottwinmaker (>=3.1.0,<3.2.0)"] +iotwireless = ["types-aiobotocore-iotwireless (>=3.1.0,<3.2.0)"] +ivs = ["types-aiobotocore-ivs (>=3.1.0,<3.2.0)"] +ivs-realtime = ["types-aiobotocore-ivs-realtime (>=3.1.0,<3.2.0)"] +ivschat = ["types-aiobotocore-ivschat (>=3.1.0,<3.2.0)"] +kafka = ["types-aiobotocore-kafka (>=3.1.0,<3.2.0)"] +kafkaconnect = ["types-aiobotocore-kafkaconnect (>=3.1.0,<3.2.0)"] +kendra = ["types-aiobotocore-kendra (>=3.1.0,<3.2.0)"] +kendra-ranking = ["types-aiobotocore-kendra-ranking (>=3.1.0,<3.2.0)"] +keyspaces = ["types-aiobotocore-keyspaces (>=3.1.0,<3.2.0)"] +keyspacesstreams = ["types-aiobotocore-keyspacesstreams (>=3.1.0,<3.2.0)"] +kinesis = ["types-aiobotocore-kinesis (>=3.1.0,<3.2.0)"] +kinesis-video-archived-media = ["types-aiobotocore-kinesis-video-archived-media (>=3.1.0,<3.2.0)"] +kinesis-video-media = ["types-aiobotocore-kinesis-video-media (>=3.1.0,<3.2.0)"] +kinesis-video-signaling = ["types-aiobotocore-kinesis-video-signaling (>=3.1.0,<3.2.0)"] +kinesis-video-webrtc-storage = ["types-aiobotocore-kinesis-video-webrtc-storage (>=3.1.0,<3.2.0)"] +kinesisanalytics = ["types-aiobotocore-kinesisanalytics (>=3.1.0,<3.2.0)"] +kinesisanalyticsv2 = ["types-aiobotocore-kinesisanalyticsv2 (>=3.1.0,<3.2.0)"] +kinesisvideo = ["types-aiobotocore-kinesisvideo (>=3.1.0,<3.2.0)"] +kms = ["types-aiobotocore-kms (>=3.1.0,<3.2.0)"] +lakeformation = ["types-aiobotocore-lakeformation (>=3.1.0,<3.2.0)"] +lambda = ["types-aiobotocore-lambda (>=3.1.0,<3.2.0)"] +launch-wizard = ["types-aiobotocore-launch-wizard (>=3.1.0,<3.2.0)"] +lex-models = ["types-aiobotocore-lex-models (>=3.1.0,<3.2.0)"] +lex-runtime = ["types-aiobotocore-lex-runtime (>=3.1.0,<3.2.0)"] +lexv2-models = ["types-aiobotocore-lexv2-models (>=3.1.0,<3.2.0)"] +lexv2-runtime = ["types-aiobotocore-lexv2-runtime (>=3.1.0,<3.2.0)"] +license-manager = ["types-aiobotocore-license-manager (>=3.1.0,<3.2.0)"] +license-manager-linux-subscriptions = ["types-aiobotocore-license-manager-linux-subscriptions (>=3.1.0,<3.2.0)"] +license-manager-user-subscriptions = ["types-aiobotocore-license-manager-user-subscriptions (>=3.1.0,<3.2.0)"] +lightsail = ["types-aiobotocore-lightsail (>=3.1.0,<3.2.0)"] +location = ["types-aiobotocore-location (>=3.1.0,<3.2.0)"] +logs = ["types-aiobotocore-logs (>=3.1.0,<3.2.0)"] +lookoutequipment = ["types-aiobotocore-lookoutequipment (>=3.1.0,<3.2.0)"] +m2 = ["types-aiobotocore-m2 (>=3.1.0,<3.2.0)"] +machinelearning = ["types-aiobotocore-machinelearning (>=3.1.0,<3.2.0)"] +macie2 = ["types-aiobotocore-macie2 (>=3.1.0,<3.2.0)"] +mailmanager = ["types-aiobotocore-mailmanager (>=3.1.0,<3.2.0)"] +managedblockchain = ["types-aiobotocore-managedblockchain (>=3.1.0,<3.2.0)"] +managedblockchain-query = ["types-aiobotocore-managedblockchain-query (>=3.1.0,<3.2.0)"] +marketplace-agreement = ["types-aiobotocore-marketplace-agreement (>=3.1.0,<3.2.0)"] +marketplace-catalog = ["types-aiobotocore-marketplace-catalog (>=3.1.0,<3.2.0)"] +marketplace-deployment = ["types-aiobotocore-marketplace-deployment (>=3.1.0,<3.2.0)"] +marketplace-entitlement = ["types-aiobotocore-marketplace-entitlement (>=3.1.0,<3.2.0)"] +marketplace-reporting = ["types-aiobotocore-marketplace-reporting (>=3.1.0,<3.2.0)"] +marketplacecommerceanalytics = ["types-aiobotocore-marketplacecommerceanalytics (>=3.1.0,<3.2.0)"] +mediaconnect = ["types-aiobotocore-mediaconnect (>=3.1.0,<3.2.0)"] +mediaconvert = ["types-aiobotocore-mediaconvert (>=3.1.0,<3.2.0)"] +medialive = ["types-aiobotocore-medialive (>=3.1.0,<3.2.0)"] +mediapackage = ["types-aiobotocore-mediapackage (>=3.1.0,<3.2.0)"] +mediapackage-vod = ["types-aiobotocore-mediapackage-vod (>=3.1.0,<3.2.0)"] +mediapackagev2 = ["types-aiobotocore-mediapackagev2 (>=3.1.0,<3.2.0)"] +mediastore = ["types-aiobotocore-mediastore (>=3.1.0,<3.2.0)"] +mediastore-data = ["types-aiobotocore-mediastore-data (>=3.1.0,<3.2.0)"] +mediatailor = ["types-aiobotocore-mediatailor (>=3.1.0,<3.2.0)"] +medical-imaging = ["types-aiobotocore-medical-imaging (>=3.1.0,<3.2.0)"] +memorydb = ["types-aiobotocore-memorydb (>=3.1.0,<3.2.0)"] +meteringmarketplace = ["types-aiobotocore-meteringmarketplace (>=3.1.0,<3.2.0)"] +mgh = ["types-aiobotocore-mgh (>=3.1.0,<3.2.0)"] +mgn = ["types-aiobotocore-mgn (>=3.1.0,<3.2.0)"] +migration-hub-refactor-spaces = ["types-aiobotocore-migration-hub-refactor-spaces (>=3.1.0,<3.2.0)"] +migrationhub-config = ["types-aiobotocore-migrationhub-config (>=3.1.0,<3.2.0)"] +migrationhuborchestrator = ["types-aiobotocore-migrationhuborchestrator (>=3.1.0,<3.2.0)"] +migrationhubstrategy = ["types-aiobotocore-migrationhubstrategy (>=3.1.0,<3.2.0)"] +mpa = ["types-aiobotocore-mpa (>=3.1.0,<3.2.0)"] +mq = ["types-aiobotocore-mq (>=3.1.0,<3.2.0)"] +mturk = ["types-aiobotocore-mturk (>=3.1.0,<3.2.0)"] +mwaa = ["types-aiobotocore-mwaa (>=3.1.0,<3.2.0)"] +mwaa-serverless = ["types-aiobotocore-mwaa-serverless (>=3.1.0,<3.2.0)"] +neptune = ["types-aiobotocore-neptune (>=3.1.0,<3.2.0)"] +neptune-graph = ["types-aiobotocore-neptune-graph (>=3.1.0,<3.2.0)"] +neptunedata = ["types-aiobotocore-neptunedata (>=3.1.0,<3.2.0)"] +network-firewall = ["types-aiobotocore-network-firewall (>=3.1.0,<3.2.0)"] +networkflowmonitor = ["types-aiobotocore-networkflowmonitor (>=3.1.0,<3.2.0)"] +networkmanager = ["types-aiobotocore-networkmanager (>=3.1.0,<3.2.0)"] +networkmonitor = ["types-aiobotocore-networkmonitor (>=3.1.0,<3.2.0)"] +notifications = ["types-aiobotocore-notifications (>=3.1.0,<3.2.0)"] +notificationscontacts = ["types-aiobotocore-notificationscontacts (>=3.1.0,<3.2.0)"] +nova-act = ["types-aiobotocore-nova-act (>=3.1.0,<3.2.0)"] +oam = ["types-aiobotocore-oam (>=3.1.0,<3.2.0)"] +observabilityadmin = ["types-aiobotocore-observabilityadmin (>=3.1.0,<3.2.0)"] +odb = ["types-aiobotocore-odb (>=3.1.0,<3.2.0)"] +omics = ["types-aiobotocore-omics (>=3.1.0,<3.2.0)"] +opensearch = ["types-aiobotocore-opensearch (>=3.1.0,<3.2.0)"] +opensearchserverless = ["types-aiobotocore-opensearchserverless (>=3.1.0,<3.2.0)"] +organizations = ["types-aiobotocore-organizations (>=3.1.0,<3.2.0)"] +osis = ["types-aiobotocore-osis (>=3.1.0,<3.2.0)"] +outposts = ["types-aiobotocore-outposts (>=3.1.0,<3.2.0)"] +panorama = ["types-aiobotocore-panorama (>=3.1.0,<3.2.0)"] +partnercentral-account = ["types-aiobotocore-partnercentral-account (>=3.1.0,<3.2.0)"] +partnercentral-benefits = ["types-aiobotocore-partnercentral-benefits (>=3.1.0,<3.2.0)"] +partnercentral-channel = ["types-aiobotocore-partnercentral-channel (>=3.1.0,<3.2.0)"] +partnercentral-selling = ["types-aiobotocore-partnercentral-selling (>=3.1.0,<3.2.0)"] +payment-cryptography = ["types-aiobotocore-payment-cryptography (>=3.1.0,<3.2.0)"] +payment-cryptography-data = ["types-aiobotocore-payment-cryptography-data (>=3.1.0,<3.2.0)"] +pca-connector-ad = ["types-aiobotocore-pca-connector-ad (>=3.1.0,<3.2.0)"] +pca-connector-scep = ["types-aiobotocore-pca-connector-scep (>=3.1.0,<3.2.0)"] +pcs = ["types-aiobotocore-pcs (>=3.1.0,<3.2.0)"] +personalize = ["types-aiobotocore-personalize (>=3.1.0,<3.2.0)"] +personalize-events = ["types-aiobotocore-personalize-events (>=3.1.0,<3.2.0)"] +personalize-runtime = ["types-aiobotocore-personalize-runtime (>=3.1.0,<3.2.0)"] +pi = ["types-aiobotocore-pi (>=3.1.0,<3.2.0)"] +pinpoint = ["types-aiobotocore-pinpoint (>=3.1.0,<3.2.0)"] +pinpoint-email = ["types-aiobotocore-pinpoint-email (>=3.1.0,<3.2.0)"] +pinpoint-sms-voice = ["types-aiobotocore-pinpoint-sms-voice (>=3.1.0,<3.2.0)"] +pinpoint-sms-voice-v2 = ["types-aiobotocore-pinpoint-sms-voice-v2 (>=3.1.0,<3.2.0)"] +pipes = ["types-aiobotocore-pipes (>=3.1.0,<3.2.0)"] +polly = ["types-aiobotocore-polly (>=3.1.0,<3.2.0)"] +pricing = ["types-aiobotocore-pricing (>=3.1.0,<3.2.0)"] +proton = ["types-aiobotocore-proton (>=3.1.0,<3.2.0)"] +qapps = ["types-aiobotocore-qapps (>=3.1.0,<3.2.0)"] +qbusiness = ["types-aiobotocore-qbusiness (>=3.1.0,<3.2.0)"] +qconnect = ["types-aiobotocore-qconnect (>=3.1.0,<3.2.0)"] +quicksight = ["types-aiobotocore-quicksight (>=3.1.0,<3.2.0)"] +ram = ["types-aiobotocore-ram (>=3.1.0,<3.2.0)"] +rbin = ["types-aiobotocore-rbin (>=3.1.0,<3.2.0)"] +rds = ["types-aiobotocore-rds (>=3.1.0,<3.2.0)"] +rds-data = ["types-aiobotocore-rds-data (>=3.1.0,<3.2.0)"] +redshift = ["types-aiobotocore-redshift (>=3.1.0,<3.2.0)"] +redshift-data = ["types-aiobotocore-redshift-data (>=3.1.0,<3.2.0)"] +redshift-serverless = ["types-aiobotocore-redshift-serverless (>=3.1.0,<3.2.0)"] +rekognition = ["types-aiobotocore-rekognition (>=3.1.0,<3.2.0)"] +repostspace = ["types-aiobotocore-repostspace (>=3.1.0,<3.2.0)"] +resiliencehub = ["types-aiobotocore-resiliencehub (>=3.1.0,<3.2.0)"] +resource-explorer-2 = ["types-aiobotocore-resource-explorer-2 (>=3.1.0,<3.2.0)"] +resource-groups = ["types-aiobotocore-resource-groups (>=3.1.0,<3.2.0)"] +resourcegroupstaggingapi = ["types-aiobotocore-resourcegroupstaggingapi (>=3.1.0,<3.2.0)"] +rolesanywhere = ["types-aiobotocore-rolesanywhere (>=3.1.0,<3.2.0)"] +route53 = ["types-aiobotocore-route53 (>=3.1.0,<3.2.0)"] +route53-recovery-cluster = ["types-aiobotocore-route53-recovery-cluster (>=3.1.0,<3.2.0)"] +route53-recovery-control-config = ["types-aiobotocore-route53-recovery-control-config (>=3.1.0,<3.2.0)"] +route53-recovery-readiness = ["types-aiobotocore-route53-recovery-readiness (>=3.1.0,<3.2.0)"] +route53domains = ["types-aiobotocore-route53domains (>=3.1.0,<3.2.0)"] +route53globalresolver = ["types-aiobotocore-route53globalresolver (>=3.1.0,<3.2.0)"] +route53profiles = ["types-aiobotocore-route53profiles (>=3.1.0,<3.2.0)"] +route53resolver = ["types-aiobotocore-route53resolver (>=3.1.0,<3.2.0)"] +rtbfabric = ["types-aiobotocore-rtbfabric (>=3.1.0,<3.2.0)"] +rum = ["types-aiobotocore-rum (>=3.1.0,<3.2.0)"] +s3 = ["types-aiobotocore-s3 (>=3.1.0,<3.2.0)"] +s3control = ["types-aiobotocore-s3control (>=3.1.0,<3.2.0)"] +s3outposts = ["types-aiobotocore-s3outposts (>=3.1.0,<3.2.0)"] +s3tables = ["types-aiobotocore-s3tables (>=3.1.0,<3.2.0)"] +s3vectors = ["types-aiobotocore-s3vectors (>=3.1.0,<3.2.0)"] +sagemaker = ["types-aiobotocore-sagemaker (>=3.1.0,<3.2.0)"] +sagemaker-a2i-runtime = ["types-aiobotocore-sagemaker-a2i-runtime (>=3.1.0,<3.2.0)"] +sagemaker-edge = ["types-aiobotocore-sagemaker-edge (>=3.1.0,<3.2.0)"] +sagemaker-featurestore-runtime = ["types-aiobotocore-sagemaker-featurestore-runtime (>=3.1.0,<3.2.0)"] +sagemaker-geospatial = ["types-aiobotocore-sagemaker-geospatial (>=3.1.0,<3.2.0)"] +sagemaker-metrics = ["types-aiobotocore-sagemaker-metrics (>=3.1.0,<3.2.0)"] +sagemaker-runtime = ["types-aiobotocore-sagemaker-runtime (>=3.1.0,<3.2.0)"] +savingsplans = ["types-aiobotocore-savingsplans (>=3.1.0,<3.2.0)"] +scheduler = ["types-aiobotocore-scheduler (>=3.1.0,<3.2.0)"] +schemas = ["types-aiobotocore-schemas (>=3.1.0,<3.2.0)"] +sdb = ["types-aiobotocore-sdb (>=3.1.0,<3.2.0)"] +secretsmanager = ["types-aiobotocore-secretsmanager (>=3.1.0,<3.2.0)"] +security-ir = ["types-aiobotocore-security-ir (>=3.1.0,<3.2.0)"] +securityhub = ["types-aiobotocore-securityhub (>=3.1.0,<3.2.0)"] +securitylake = ["types-aiobotocore-securitylake (>=3.1.0,<3.2.0)"] +serverlessrepo = ["types-aiobotocore-serverlessrepo (>=3.1.0,<3.2.0)"] +service-quotas = ["types-aiobotocore-service-quotas (>=3.1.0,<3.2.0)"] +servicecatalog = ["types-aiobotocore-servicecatalog (>=3.1.0,<3.2.0)"] +servicecatalog-appregistry = ["types-aiobotocore-servicecatalog-appregistry (>=3.1.0,<3.2.0)"] +servicediscovery = ["types-aiobotocore-servicediscovery (>=3.1.0,<3.2.0)"] +ses = ["types-aiobotocore-ses (>=3.1.0,<3.2.0)"] +sesv2 = ["types-aiobotocore-sesv2 (>=3.1.0,<3.2.0)"] +shield = ["types-aiobotocore-shield (>=3.1.0,<3.2.0)"] +signer = ["types-aiobotocore-signer (>=3.1.0,<3.2.0)"] +signin = ["types-aiobotocore-signin (>=3.1.0,<3.2.0)"] +simspaceweaver = ["types-aiobotocore-simspaceweaver (>=3.1.0,<3.2.0)"] +snow-device-management = ["types-aiobotocore-snow-device-management (>=3.1.0,<3.2.0)"] +snowball = ["types-aiobotocore-snowball (>=3.1.0,<3.2.0)"] +sns = ["types-aiobotocore-sns (>=3.1.0,<3.2.0)"] +socialmessaging = ["types-aiobotocore-socialmessaging (>=3.1.0,<3.2.0)"] +sqs = ["types-aiobotocore-sqs (>=3.1.0,<3.2.0)"] +ssm = ["types-aiobotocore-ssm (>=3.1.0,<3.2.0)"] +ssm-contacts = ["types-aiobotocore-ssm-contacts (>=3.1.0,<3.2.0)"] +ssm-guiconnect = ["types-aiobotocore-ssm-guiconnect (>=3.1.0,<3.2.0)"] +ssm-incidents = ["types-aiobotocore-ssm-incidents (>=3.1.0,<3.2.0)"] +ssm-quicksetup = ["types-aiobotocore-ssm-quicksetup (>=3.1.0,<3.2.0)"] +ssm-sap = ["types-aiobotocore-ssm-sap (>=3.1.0,<3.2.0)"] +sso = ["types-aiobotocore-sso (>=3.1.0,<3.2.0)"] +sso-admin = ["types-aiobotocore-sso-admin (>=3.1.0,<3.2.0)"] +sso-oidc = ["types-aiobotocore-sso-oidc (>=3.1.0,<3.2.0)"] +stepfunctions = ["types-aiobotocore-stepfunctions (>=3.1.0,<3.2.0)"] +storagegateway = ["types-aiobotocore-storagegateway (>=3.1.0,<3.2.0)"] +sts = ["types-aiobotocore-sts (>=3.1.0,<3.2.0)"] +supplychain = ["types-aiobotocore-supplychain (>=3.1.0,<3.2.0)"] +support = ["types-aiobotocore-support (>=3.1.0,<3.2.0)"] +support-app = ["types-aiobotocore-support-app (>=3.1.0,<3.2.0)"] +swf = ["types-aiobotocore-swf (>=3.1.0,<3.2.0)"] +synthetics = ["types-aiobotocore-synthetics (>=3.1.0,<3.2.0)"] +taxsettings = ["types-aiobotocore-taxsettings (>=3.1.0,<3.2.0)"] +textract = ["types-aiobotocore-textract (>=3.1.0,<3.2.0)"] +timestream-influxdb = ["types-aiobotocore-timestream-influxdb (>=3.1.0,<3.2.0)"] +timestream-query = ["types-aiobotocore-timestream-query (>=3.1.0,<3.2.0)"] +timestream-write = ["types-aiobotocore-timestream-write (>=3.1.0,<3.2.0)"] +tnb = ["types-aiobotocore-tnb (>=3.1.0,<3.2.0)"] +transcribe = ["types-aiobotocore-transcribe (>=3.1.0,<3.2.0)"] +transfer = ["types-aiobotocore-transfer (>=3.1.0,<3.2.0)"] +translate = ["types-aiobotocore-translate (>=3.1.0,<3.2.0)"] +trustedadvisor = ["types-aiobotocore-trustedadvisor (>=3.1.0,<3.2.0)"] +verifiedpermissions = ["types-aiobotocore-verifiedpermissions (>=3.1.0,<3.2.0)"] +voice-id = ["types-aiobotocore-voice-id (>=3.1.0,<3.2.0)"] +vpc-lattice = ["types-aiobotocore-vpc-lattice (>=3.1.0,<3.2.0)"] +waf = ["types-aiobotocore-waf (>=3.1.0,<3.2.0)"] +waf-regional = ["types-aiobotocore-waf-regional (>=3.1.0,<3.2.0)"] +wafv2 = ["types-aiobotocore-wafv2 (>=3.1.0,<3.2.0)"] +wellarchitected = ["types-aiobotocore-wellarchitected (>=3.1.0,<3.2.0)"] +wickr = ["types-aiobotocore-wickr (>=3.1.0,<3.2.0)"] +wisdom = ["types-aiobotocore-wisdom (>=3.1.0,<3.2.0)"] +workdocs = ["types-aiobotocore-workdocs (>=3.1.0,<3.2.0)"] +workmail = ["types-aiobotocore-workmail (>=3.1.0,<3.2.0)"] +workmailmessageflow = ["types-aiobotocore-workmailmessageflow (>=3.1.0,<3.2.0)"] +workspaces = ["types-aiobotocore-workspaces (>=3.1.0,<3.2.0)"] +workspaces-instances = ["types-aiobotocore-workspaces-instances (>=3.1.0,<3.2.0)"] +workspaces-thin-client = ["types-aiobotocore-workspaces-thin-client (>=3.1.0,<3.2.0)"] +workspaces-web = ["types-aiobotocore-workspaces-web (>=3.1.0,<3.2.0)"] +xray = ["types-aiobotocore-xray (>=3.1.0,<3.2.0)"] + +[[package]] +name = "types-aiobotocore-cloudformation" +version = "3.1.0" +description = "Type annotations for aiobotocore CloudFormation 3.1.0 service generated with mypy-boto3-builder 8.12.0" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "types_aiobotocore_cloudformation-3.1.0-py3-none-any.whl", hash = "sha256:e54f64773592953543d555e0b88244728bebd71bb39044e96a0f74ff903f3642"}, + {file = "types_aiobotocore_cloudformation-3.1.0.tar.gz", hash = "sha256:f61873c86e84a53a21aad95457621f99724b8c9568375d72b1f189fb92f9ad46"}, +] + +[[package]] +name = "types-aiobotocore-dynamodb" +version = "3.1.0" +description = "Type annotations for aiobotocore DynamoDB 3.1.0 service generated with mypy-boto3-builder 8.12.0" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "types_aiobotocore_dynamodb-3.1.0-py3-none-any.whl", hash = "sha256:3e47ed5e76ecf4fa7540a3b70c3dbc77b5f14ab13af389b90499d3cc6929cc8d"}, + {file = "types_aiobotocore_dynamodb-3.1.0.tar.gz", hash = "sha256:a8885489f2cdf7ee96677daafbbf2fc7806b94b002c0ec69ee6afcdd17257d0c"}, +] + +[[package]] +name = "types-aiobotocore-ec2" +version = "3.1.0" +description = "Type annotations for aiobotocore EC2 3.1.0 service generated with mypy-boto3-builder 8.12.0" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "types_aiobotocore_ec2-3.1.0-py3-none-any.whl", hash = "sha256:e42e954a38c4ed2e5337c175de99227f72e2ede1265313cc15c601cdb60217c8"}, + {file = "types_aiobotocore_ec2-3.1.0.tar.gz", hash = "sha256:63e3e06b614f542566b52e39009516f12a667fb9c59e990a5d12e75cfcb9f99e"}, +] + +[[package]] +name = "types-aiobotocore-lambda" +version = "3.1.0" +description = "Type annotations for aiobotocore Lambda 3.1.0 service generated with mypy-boto3-builder 8.12.0" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "types_aiobotocore_lambda-3.1.0-py3-none-any.whl", hash = "sha256:42cc8f482077ef2b6476b03394908673bdb7ea4df5eb1c7a79fa829426aab11b"}, + {file = "types_aiobotocore_lambda-3.1.0.tar.gz", hash = "sha256:f06e6f0fafd9257c947f08398f89423b22bb31f514499ef3cc6fe45711c57ac5"}, +] + +[[package]] +name = "types-aiobotocore-rds" +version = "3.1.0" +description = "Type annotations for aiobotocore RDS 3.1.0 service generated with mypy-boto3-builder 8.12.0" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "types_aiobotocore_rds-3.1.0-py3-none-any.whl", hash = "sha256:e208f8484924f7035ededf4bc3460977db290bcaf52661eadc58b3766c99e4db"}, + {file = "types_aiobotocore_rds-3.1.0.tar.gz", hash = "sha256:e4c1b5f4aebdb807b28e2e952e29a00829a78a44970cd7d6d2f6d3d00b9986ea"}, +] + +[[package]] +name = "types-aiobotocore-s3" +version = "3.1.0" +description = "Type annotations for aiobotocore S3 3.1.0 service generated with mypy-boto3-builder 8.12.0" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "types_aiobotocore_s3-3.1.0-py3-none-any.whl", hash = "sha256:b019d2db117a0f17df0f60c3eec547ae98a17ce4d03e73ba5a3cfe77d7f30291"}, + {file = "types_aiobotocore_s3-3.1.0.tar.gz", hash = "sha256:2f61d2f785fcbad9af2a01b3162b50436f95bea5440e0b9b848e6f60a23a3602"}, +] + +[[package]] +name = "types-aiobotocore-sqs" +version = "3.1.0" +description = "Type annotations for aiobotocore SQS 3.1.0 service generated with mypy-boto3-builder 8.12.0" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "types_aiobotocore_sqs-3.1.0-py3-none-any.whl", hash = "sha256:ecc07aa620031a6d673171b8e15b541c5e83f56eb2462c4a70f62c2dcba05b02"}, + {file = "types_aiobotocore_sqs-3.1.0.tar.gz", hash = "sha256:67b173590fd46cda30d4c46e5d76fce0b723c3eb047cf62700c3dea17e9a7144"}, +] + +[[package]] +name = "types-awscrt" +version = "0.30.0" +description = "Type annotations and code completion for awscrt" +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "types_awscrt-0.30.0-py3-none-any.whl", hash = "sha256:8204126e01a00eaa4a746e7a0076538ca0e4e3f52408adec0ab9b471bb0bb64b"}, + {file = "types_awscrt-0.30.0.tar.gz", hash = "sha256:362fd8f5eaebcfcd922cb9fd8274fb375df550319f78031ee3779eac0b9ecc79"}, +] + [[package]] name = "typing-extensions" version = "4.15.0" @@ -2348,7 +3581,272 @@ files = [ {file = "websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee"}, ] +[[package]] +name = "wrapt" +version = "2.0.1" +description = "Module for decorators, wrappers and monkey patching." +optional = false +python-versions = ">=3.8" +groups = ["main"] +files = [ + {file = "wrapt-2.0.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:64b103acdaa53b7caf409e8d45d39a8442fe6dcfec6ba3f3d141e0cc2b5b4dbd"}, + {file = "wrapt-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:91bcc576260a274b169c3098e9a3519fb01f2989f6d3d386ef9cbf8653de1374"}, + {file = "wrapt-2.0.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:ab594f346517010050126fcd822697b25a7031d815bb4fbc238ccbe568216489"}, + {file = "wrapt-2.0.1-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:36982b26f190f4d737f04a492a68accbfc6fa042c3f42326fdfbb6c5b7a20a31"}, + {file = "wrapt-2.0.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:23097ed8bc4c93b7bf36fa2113c6c733c976316ce0ee2c816f64ca06102034ef"}, + {file = "wrapt-2.0.1-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:8bacfe6e001749a3b64db47bcf0341da757c95959f592823a93931a422395013"}, + {file = "wrapt-2.0.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8ec3303e8a81932171f455f792f8df500fc1a09f20069e5c16bd7049ab4e8e38"}, + {file = "wrapt-2.0.1-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:3f373a4ab5dbc528a94334f9fe444395b23c2f5332adab9ff4ea82f5a9e33bc1"}, + {file = "wrapt-2.0.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:f49027b0b9503bf6c8cdc297ca55006b80c2f5dd36cecc72c6835ab6e10e8a25"}, + {file = "wrapt-2.0.1-cp310-cp310-win32.whl", hash = "sha256:8330b42d769965e96e01fa14034b28a2a7600fbf7e8f0cc90ebb36d492c993e4"}, + {file = "wrapt-2.0.1-cp310-cp310-win_amd64.whl", hash = "sha256:1218573502a8235bb8a7ecaed12736213b22dcde9feab115fa2989d42b5ded45"}, + {file = "wrapt-2.0.1-cp310-cp310-win_arm64.whl", hash = "sha256:eda8e4ecd662d48c28bb86be9e837c13e45c58b8300e43ba3c9b4fa9900302f7"}, + {file = "wrapt-2.0.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0e17283f533a0d24d6e5429a7d11f250a58d28b4ae5186f8f47853e3e70d2590"}, + {file = "wrapt-2.0.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:85df8d92158cb8f3965aecc27cf821461bb5f40b450b03facc5d9f0d4d6ddec6"}, + {file = "wrapt-2.0.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c1be685ac7700c966b8610ccc63c3187a72e33cab53526a27b2a285a662cd4f7"}, + {file = "wrapt-2.0.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:df0b6d3b95932809c5b3fecc18fda0f1e07452d05e2662a0b35548985f256e28"}, + {file = "wrapt-2.0.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4da7384b0e5d4cae05c97cd6f94faaf78cc8b0f791fc63af43436d98c4ab37bb"}, + {file = "wrapt-2.0.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ec65a78fbd9d6f083a15d7613b2800d5663dbb6bb96003899c834beaa68b242c"}, + {file = "wrapt-2.0.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:7de3cc939be0e1174969f943f3b44e0d79b6f9a82198133a5b7fc6cc92882f16"}, + {file = "wrapt-2.0.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:fb1a5b72cbd751813adc02ef01ada0b0d05d3dcbc32976ce189a1279d80ad4a2"}, + {file = "wrapt-2.0.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:3fa272ca34332581e00bf7773e993d4f632594eb2d1b0b162a9038df0fd971dd"}, + {file = "wrapt-2.0.1-cp311-cp311-win32.whl", hash = "sha256:fc007fdf480c77301ab1afdbb6ab22a5deee8885f3b1ed7afcb7e5e84a0e27be"}, + {file = "wrapt-2.0.1-cp311-cp311-win_amd64.whl", hash = "sha256:47434236c396d04875180171ee1f3815ca1eada05e24a1ee99546320d54d1d1b"}, + {file = "wrapt-2.0.1-cp311-cp311-win_arm64.whl", hash = "sha256:837e31620e06b16030b1d126ed78e9383815cbac914693f54926d816d35d8edf"}, + {file = "wrapt-2.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1fdbb34da15450f2b1d735a0e969c24bdb8d8924892380126e2a293d9902078c"}, + {file = "wrapt-2.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3d32794fe940b7000f0519904e247f902f0149edbe6316c710a8562fb6738841"}, + {file = "wrapt-2.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:386fb54d9cd903ee0012c09291336469eb7b244f7183d40dc3e86a16a4bace62"}, + {file = "wrapt-2.0.1-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7b219cb2182f230676308cdcacd428fa837987b89e4b7c5c9025088b8a6c9faf"}, + {file = "wrapt-2.0.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:641e94e789b5f6b4822bb8d8ebbdfc10f4e4eae7756d648b717d980f657a9eb9"}, + {file = "wrapt-2.0.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:fe21b118b9f58859b5ebaa4b130dee18669df4bd111daad082b7beb8799ad16b"}, + {file = "wrapt-2.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:17fb85fa4abc26a5184d93b3efd2dcc14deb4b09edcdb3535a536ad34f0b4dba"}, + {file = "wrapt-2.0.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:b89ef9223d665ab255ae42cc282d27d69704d94be0deffc8b9d919179a609684"}, + {file = "wrapt-2.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a453257f19c31b31ba593c30d997d6e5be39e3b5ad9148c2af5a7314061c63eb"}, + {file = "wrapt-2.0.1-cp312-cp312-win32.whl", hash = "sha256:3e271346f01e9c8b1130a6a3b0e11908049fe5be2d365a5f402778049147e7e9"}, + {file = "wrapt-2.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:2da620b31a90cdefa9cd0c2b661882329e2e19d1d7b9b920189956b76c564d75"}, + {file = "wrapt-2.0.1-cp312-cp312-win_arm64.whl", hash = "sha256:aea9c7224c302bc8bfc892b908537f56c430802560e827b75ecbde81b604598b"}, + {file = "wrapt-2.0.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:47b0f8bafe90f7736151f61482c583c86b0693d80f075a58701dd1549b0010a9"}, + {file = "wrapt-2.0.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:cbeb0971e13b4bd81d34169ed57a6dda017328d1a22b62fda45e1d21dd06148f"}, + {file = "wrapt-2.0.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:eb7cffe572ad0a141a7886a1d2efa5bef0bf7fe021deeea76b3ab334d2c38218"}, + {file = "wrapt-2.0.1-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:c8d60527d1ecfc131426b10d93ab5d53e08a09c5fa0175f6b21b3252080c70a9"}, + {file = "wrapt-2.0.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c654eafb01afac55246053d67a4b9a984a3567c3808bb7df2f8de1c1caba2e1c"}, + {file = "wrapt-2.0.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:98d873ed6c8b4ee2418f7afce666751854d6d03e3c0ec2a399bb039cd2ae89db"}, + {file = "wrapt-2.0.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:c9e850f5b7fc67af856ff054c71690d54fa940c3ef74209ad9f935b4f66a0233"}, + {file = "wrapt-2.0.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:e505629359cb5f751e16e30cf3f91a1d3ddb4552480c205947da415d597f7ac2"}, + {file = "wrapt-2.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:2879af909312d0baf35f08edeea918ee3af7ab57c37fe47cb6a373c9f2749c7b"}, + {file = "wrapt-2.0.1-cp313-cp313-win32.whl", hash = "sha256:d67956c676be5a24102c7407a71f4126d30de2a569a1c7871c9f3cabc94225d7"}, + {file = "wrapt-2.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:9ca66b38dd642bf90c59b6738af8070747b610115a39af2498535f62b5cdc1c3"}, + {file = "wrapt-2.0.1-cp313-cp313-win_arm64.whl", hash = "sha256:5a4939eae35db6b6cec8e7aa0e833dcca0acad8231672c26c2a9ab7a0f8ac9c8"}, + {file = "wrapt-2.0.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a52f93d95c8d38fed0669da2ebdb0b0376e895d84596a976c15a9eb45e3eccb3"}, + {file = "wrapt-2.0.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4e54bbf554ee29fcceee24fa41c4d091398b911da6e7f5d7bffda963c9aed2e1"}, + {file = "wrapt-2.0.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:908f8c6c71557f4deaa280f55d0728c3bca0960e8c3dd5ceeeafb3c19942719d"}, + {file = "wrapt-2.0.1-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e2f84e9af2060e3904a32cea9bb6db23ce3f91cfd90c6b426757cf7cc01c45c7"}, + {file = "wrapt-2.0.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e3612dc06b436968dfb9142c62e5dfa9eb5924f91120b3c8ff501ad878f90eb3"}, + {file = "wrapt-2.0.1-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6d2d947d266d99a1477cd005b23cbd09465276e302515e122df56bb9511aca1b"}, + {file = "wrapt-2.0.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:7d539241e87b650cbc4c3ac9f32c8d1ac8a54e510f6dca3f6ab60dcfd48c9b10"}, + {file = "wrapt-2.0.1-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:4811e15d88ee62dbf5c77f2c3ff3932b1e3ac92323ba3912f51fc4016ce81ecf"}, + {file = "wrapt-2.0.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:c1c91405fcf1d501fa5d55df21e58ea49e6b879ae829f1039faaf7e5e509b41e"}, + {file = "wrapt-2.0.1-cp313-cp313t-win32.whl", hash = "sha256:e76e3f91f864e89db8b8d2a8311d57df93f01ad6bb1e9b9976d1f2e83e18315c"}, + {file = "wrapt-2.0.1-cp313-cp313t-win_amd64.whl", hash = "sha256:83ce30937f0ba0d28818807b303a412440c4b63e39d3d8fc036a94764b728c92"}, + {file = "wrapt-2.0.1-cp313-cp313t-win_arm64.whl", hash = "sha256:4b55cacc57e1dc2d0991dbe74c6419ffd415fb66474a02335cb10efd1aa3f84f"}, + {file = "wrapt-2.0.1-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:5e53b428f65ece6d9dad23cb87e64506392b720a0b45076c05354d27a13351a1"}, + {file = "wrapt-2.0.1-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:ad3ee9d0f254851c71780966eb417ef8e72117155cff04821ab9b60549694a55"}, + {file = "wrapt-2.0.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:d7b822c61ed04ee6ad64bc90d13368ad6eb094db54883b5dde2182f67a7f22c0"}, + {file = "wrapt-2.0.1-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:7164a55f5e83a9a0b031d3ffab4d4e36bbec42e7025db560f225489fa929e509"}, + {file = "wrapt-2.0.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e60690ba71a57424c8d9ff28f8d006b7ad7772c22a4af432188572cd7fa004a1"}, + {file = "wrapt-2.0.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3cd1a4bd9a7a619922a8557e1318232e7269b5fb69d4ba97b04d20450a6bf970"}, + {file = "wrapt-2.0.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:b4c2e3d777e38e913b8ce3a6257af72fb608f86a1df471cb1d4339755d0a807c"}, + {file = "wrapt-2.0.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:3d366aa598d69416b5afedf1faa539fac40c1d80a42f6b236c88c73a3c8f2d41"}, + {file = "wrapt-2.0.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:c235095d6d090aa903f1db61f892fffb779c1eaeb2a50e566b52001f7a0f66ed"}, + {file = "wrapt-2.0.1-cp314-cp314-win32.whl", hash = "sha256:bfb5539005259f8127ea9c885bdc231978c06b7a980e63a8a61c8c4c979719d0"}, + {file = "wrapt-2.0.1-cp314-cp314-win_amd64.whl", hash = "sha256:4ae879acc449caa9ed43fc36ba08392b9412ee67941748d31d94e3cedb36628c"}, + {file = "wrapt-2.0.1-cp314-cp314-win_arm64.whl", hash = "sha256:8639b843c9efd84675f1e100ed9e99538ebea7297b62c4b45a7042edb84db03e"}, + {file = "wrapt-2.0.1-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:9219a1d946a9b32bb23ccae66bdb61e35c62773ce7ca6509ceea70f344656b7b"}, + {file = "wrapt-2.0.1-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:fa4184e74197af3adad3c889a1af95b53bb0466bced92ea99a0c014e48323eec"}, + {file = "wrapt-2.0.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c5ef2f2b8a53b7caee2f797ef166a390fef73979b15778a4a153e4b5fedce8fa"}, + {file = "wrapt-2.0.1-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:e042d653a4745be832d5aa190ff80ee4f02c34b21f4b785745eceacd0907b815"}, + {file = "wrapt-2.0.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2afa23318136709c4b23d87d543b425c399887b4057936cd20386d5b1422b6fa"}, + {file = "wrapt-2.0.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:6c72328f668cf4c503ffcf9434c2b71fdd624345ced7941bc6693e61bbe36bef"}, + {file = "wrapt-2.0.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:3793ac154afb0e5b45d1233cb94d354ef7a983708cc3bb12563853b1d8d53747"}, + {file = "wrapt-2.0.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:fec0d993ecba3991645b4857837277469c8cc4c554a7e24d064d1ca291cfb81f"}, + {file = "wrapt-2.0.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:949520bccc1fa227274da7d03bf238be15389cd94e32e4297b92337df9b7a349"}, + {file = "wrapt-2.0.1-cp314-cp314t-win32.whl", hash = "sha256:be9e84e91d6497ba62594158d3d31ec0486c60055c49179edc51ee43d095f79c"}, + {file = "wrapt-2.0.1-cp314-cp314t-win_amd64.whl", hash = "sha256:61c4956171c7434634401db448371277d07032a81cc21c599c22953374781395"}, + {file = "wrapt-2.0.1-cp314-cp314t-win_arm64.whl", hash = "sha256:35cdbd478607036fee40273be8ed54a451f5f23121bd9d4be515158f9498f7ad"}, + {file = "wrapt-2.0.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:90897ea1cf0679763b62e79657958cd54eae5659f6360fc7d2ccc6f906342183"}, + {file = "wrapt-2.0.1-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:50844efc8cdf63b2d90cd3d62d4947a28311e6266ce5235a219d21b195b4ec2c"}, + {file = "wrapt-2.0.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:49989061a9977a8cbd6d20f2efa813f24bf657c6990a42967019ce779a878dbf"}, + {file = "wrapt-2.0.1-cp38-cp38-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:09c7476ab884b74dce081ad9bfd07fe5822d8600abade571cb1f66d5fc915af6"}, + {file = "wrapt-2.0.1-cp38-cp38-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d1a8a09a004ef100e614beec82862d11fc17d601092c3599afd22b1f36e4137e"}, + {file = "wrapt-2.0.1-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:89a82053b193837bf93c0f8a57ded6e4b6d88033a499dadff5067e912c2a41e9"}, + {file = "wrapt-2.0.1-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f26f8e2ca19564e2e1fdbb6a0e47f36e0efbab1acc31e15471fad88f828c75f6"}, + {file = "wrapt-2.0.1-cp38-cp38-win32.whl", hash = "sha256:115cae4beed3542e37866469a8a1f2b9ec549b4463572b000611e9946b86e6f6"}, + {file = "wrapt-2.0.1-cp38-cp38-win_amd64.whl", hash = "sha256:c4012a2bd37059d04f8209916aa771dfb564cccb86079072bdcd48a308b6a5c5"}, + {file = "wrapt-2.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:68424221a2dc00d634b54f92441914929c5ffb1c30b3b837343978343a3512a3"}, + {file = "wrapt-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6bd1a18f5a797fe740cb3d7a0e853a8ce6461cc62023b630caec80171a6b8097"}, + {file = "wrapt-2.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:fb3a86e703868561c5cad155a15c36c716e1ab513b7065bd2ac8ed353c503333"}, + {file = "wrapt-2.0.1-cp39-cp39-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5dc1b852337c6792aa111ca8becff5bacf576bf4a0255b0f05eb749da6a1643e"}, + {file = "wrapt-2.0.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c046781d422f0830de6329fa4b16796096f28a92c8aef3850674442cdcb87b7f"}, + {file = "wrapt-2.0.1-cp39-cp39-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f73f9f7a0ebd0db139253d27e5fc8d2866ceaeef19c30ab5d69dcbe35e1a6981"}, + {file = "wrapt-2.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b667189cf8efe008f55bbda321890bef628a67ab4147ebf90d182f2dadc78790"}, + {file = "wrapt-2.0.1-cp39-cp39-musllinux_1_2_riscv64.whl", hash = "sha256:a9a83618c4f0757557c077ef71d708ddd9847ed66b7cc63416632af70d3e2308"}, + {file = "wrapt-2.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e9b121e9aeb15df416c2c960b8255a49d44b4038016ee17af03975992d03931"}, + {file = "wrapt-2.0.1-cp39-cp39-win32.whl", hash = "sha256:1f186e26ea0a55f809f232e92cc8556a0977e00183c3ebda039a807a42be1494"}, + {file = "wrapt-2.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:bf4cb76f36be5de950ce13e22e7fdf462b35b04665a12b64f3ac5c1bbbcf3728"}, + {file = "wrapt-2.0.1-cp39-cp39-win_arm64.whl", hash = "sha256:d6cc985b9c8b235bd933990cdbf0f891f8e010b65a3911f7a55179cd7b0fc57b"}, + {file = "wrapt-2.0.1-py3-none-any.whl", hash = "sha256:4d2ce1bf1a48c5277d7969259232b57645aae5686dba1eaeade39442277afbca"}, + {file = "wrapt-2.0.1.tar.gz", hash = "sha256:9c9c635e78497cacb81e84f8b11b23e0aacac7a136e73b8e5b2109a1d9fc468f"}, +] + +[package.extras] +dev = ["pytest", "setuptools"] + +[[package]] +name = "yarl" +version = "1.22.0" +description = "Yet another URL library" +optional = false +python-versions = ">=3.9" +groups = ["main"] +files = [ + {file = "yarl-1.22.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:c7bd6683587567e5a49ee6e336e0612bec8329be1b7d4c8af5687dcdeb67ee1e"}, + {file = "yarl-1.22.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:5cdac20da754f3a723cceea5b3448e1a2074866406adeb4ef35b469d089adb8f"}, + {file = "yarl-1.22.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:07a524d84df0c10f41e3ee918846e1974aba4ec017f990dc735aad487a0bdfdf"}, + {file = "yarl-1.22.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1b329cb8146d7b736677a2440e422eadd775d1806a81db2d4cded80a48efc1a"}, + {file = "yarl-1.22.0-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:75976c6945d85dbb9ee6308cd7ff7b1fb9409380c82d6119bd778d8fcfe2931c"}, + {file = "yarl-1.22.0-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:80ddf7a5f8c86cb3eb4bc9028b07bbbf1f08a96c5c0bc1244be5e8fefcb94147"}, + {file = "yarl-1.22.0-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d332fc2e3c94dad927f2112395772a4e4fedbcf8f80efc21ed7cdfae4d574fdb"}, + {file = "yarl-1.22.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0cf71bf877efeac18b38d3930594c0948c82b64547c1cf420ba48722fe5509f6"}, + {file = "yarl-1.22.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:663e1cadaddae26be034a6ab6072449a8426ddb03d500f43daf952b74553bba0"}, + {file = "yarl-1.22.0-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:6dcbb0829c671f305be48a7227918cfcd11276c2d637a8033a99a02b67bf9eda"}, + {file = "yarl-1.22.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f0d97c18dfd9a9af4490631905a3f131a8e4c9e80a39353919e2cfed8f00aedc"}, + {file = "yarl-1.22.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:437840083abe022c978470b942ff832c3940b2ad3734d424b7eaffcd07f76737"}, + {file = "yarl-1.22.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:a899cbd98dce6f5d8de1aad31cb712ec0a530abc0a86bd6edaa47c1090138467"}, + {file = "yarl-1.22.0-cp310-cp310-win32.whl", hash = "sha256:595697f68bd1f0c1c159fcb97b661fc9c3f5db46498043555d04805430e79bea"}, + {file = "yarl-1.22.0-cp310-cp310-win_amd64.whl", hash = "sha256:cb95a9b1adaa48e41815a55ae740cfda005758104049a640a398120bf02515ca"}, + {file = "yarl-1.22.0-cp310-cp310-win_arm64.whl", hash = "sha256:b85b982afde6df99ecc996990d4ad7ccbdbb70e2a4ba4de0aecde5922ba98a0b"}, + {file = "yarl-1.22.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ab72135b1f2db3fed3997d7e7dc1b80573c67138023852b6efb336a5eae6511"}, + {file = "yarl-1.22.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:669930400e375570189492dc8d8341301578e8493aec04aebc20d4717f899dd6"}, + {file = "yarl-1.22.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:792a2af6d58177ef7c19cbf0097aba92ca1b9cb3ffdd9c7470e156c8f9b5e028"}, + {file = "yarl-1.22.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3ea66b1c11c9150f1372f69afb6b8116f2dd7286f38e14ea71a44eee9ec51b9d"}, + {file = "yarl-1.22.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3e2daa88dc91870215961e96a039ec73e4937da13cf77ce17f9cad0c18df3503"}, + {file = "yarl-1.22.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ba440ae430c00eee41509353628600212112cd5018d5def7e9b05ea7ac34eb65"}, + {file = "yarl-1.22.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:e6438cc8f23a9c1478633d216b16104a586b9761db62bfacb6425bac0a36679e"}, + {file = "yarl-1.22.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4c52a6e78aef5cf47a98ef8e934755abf53953379b7d53e68b15ff4420e6683d"}, + {file = "yarl-1.22.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:3b06bcadaac49c70f4c88af4ffcfbe3dc155aab3163e75777818092478bcbbe7"}, + {file = "yarl-1.22.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:6944b2dc72c4d7f7052683487e3677456050ff77fcf5e6204e98caf785ad1967"}, + {file = "yarl-1.22.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:d5372ca1df0f91a86b047d1277c2aaf1edb32d78bbcefffc81b40ffd18f027ed"}, + {file = "yarl-1.22.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:51af598701f5299012b8416486b40fceef8c26fc87dc6d7d1f6fc30609ea0aa6"}, + {file = "yarl-1.22.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b266bd01fedeffeeac01a79ae181719ff848a5a13ce10075adbefc8f1daee70e"}, + {file = "yarl-1.22.0-cp311-cp311-win32.whl", hash = "sha256:a9b1ba5610a4e20f655258d5a1fdc7ebe3d837bb0e45b581398b99eb98b1f5ca"}, + {file = "yarl-1.22.0-cp311-cp311-win_amd64.whl", hash = "sha256:078278b9b0b11568937d9509b589ee83ef98ed6d561dfe2020e24a9fd08eaa2b"}, + {file = "yarl-1.22.0-cp311-cp311-win_arm64.whl", hash = "sha256:b6a6f620cfe13ccec221fa312139135166e47ae169f8253f72a0abc0dae94376"}, + {file = "yarl-1.22.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e340382d1afa5d32b892b3ff062436d592ec3d692aeea3bef3a5cfe11bbf8c6f"}, + {file = "yarl-1.22.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f1e09112a2c31ffe8d80be1b0988fa6a18c5d5cad92a9ffbb1c04c91bfe52ad2"}, + {file = "yarl-1.22.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:939fe60db294c786f6b7c2d2e121576628468f65453d86b0fe36cb52f987bd74"}, + {file = "yarl-1.22.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e1651bf8e0398574646744c1885a41198eba53dc8a9312b954073f845c90a8df"}, + {file = "yarl-1.22.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b8a0588521a26bf92a57a1705b77b8b59044cdceccac7151bd8d229e66b8dedb"}, + {file = "yarl-1.22.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:42188e6a615c1a75bcaa6e150c3fe8f3e8680471a6b10150c5f7e83f47cc34d2"}, + {file = "yarl-1.22.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f6d2cb59377d99718913ad9a151030d6f83ef420a2b8f521d94609ecc106ee82"}, + {file = "yarl-1.22.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:50678a3b71c751d58d7908edc96d332af328839eea883bb554a43f539101277a"}, + {file = "yarl-1.22.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e8fbaa7cec507aa24ea27a01456e8dd4b6fab829059b69844bd348f2d467124"}, + {file = "yarl-1.22.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:433885ab5431bc3d3d4f2f9bd15bfa1614c522b0f1405d62c4f926ccd69d04fa"}, + {file = "yarl-1.22.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:b790b39c7e9a4192dc2e201a282109ed2985a1ddbd5ac08dc56d0e121400a8f7"}, + {file = "yarl-1.22.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:31f0b53913220599446872d757257be5898019c85e7971599065bc55065dc99d"}, + {file = "yarl-1.22.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a49370e8f711daec68d09b821a34e1167792ee2d24d405cbc2387be4f158b520"}, + {file = "yarl-1.22.0-cp312-cp312-win32.whl", hash = "sha256:70dfd4f241c04bd9239d53b17f11e6ab672b9f1420364af63e8531198e3f5fe8"}, + {file = "yarl-1.22.0-cp312-cp312-win_amd64.whl", hash = "sha256:8884d8b332a5e9b88e23f60bb166890009429391864c685e17bd73a9eda9105c"}, + {file = "yarl-1.22.0-cp312-cp312-win_arm64.whl", hash = "sha256:ea70f61a47f3cc93bdf8b2f368ed359ef02a01ca6393916bc8ff877427181e74"}, + {file = "yarl-1.22.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8dee9c25c74997f6a750cd317b8ca63545169c098faee42c84aa5e506c819b53"}, + {file = "yarl-1.22.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:01e73b85a5434f89fc4fe27dcda2aff08ddf35e4d47bbbea3bdcd25321af538a"}, + {file = "yarl-1.22.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:22965c2af250d20c873cdbee8ff958fb809940aeb2e74ba5f20aaf6b7ac8c70c"}, + {file = "yarl-1.22.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b4f15793aa49793ec8d1c708ab7f9eded1aa72edc5174cae703651555ed1b601"}, + {file = "yarl-1.22.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e5542339dcf2747135c5c85f68680353d5cb9ffd741c0f2e8d832d054d41f35a"}, + {file = "yarl-1.22.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5c401e05ad47a75869c3ab3e35137f8468b846770587e70d71e11de797d113df"}, + {file = "yarl-1.22.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:243dda95d901c733f5b59214d28b0120893d91777cb8aa043e6ef059d3cddfe2"}, + {file = "yarl-1.22.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bec03d0d388060058f5d291a813f21c011041938a441c593374da6077fe21b1b"}, + {file = "yarl-1.22.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:b0748275abb8c1e1e09301ee3cf90c8a99678a4e92e4373705f2a2570d581273"}, + {file = "yarl-1.22.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:47fdb18187e2a4e18fda2c25c05d8251a9e4a521edaed757fef033e7d8498d9a"}, + {file = "yarl-1.22.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:c7044802eec4524fde550afc28edda0dd5784c4c45f0be151a2d3ba017daca7d"}, + {file = "yarl-1.22.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:139718f35149ff544caba20fce6e8a2f71f1e39b92c700d8438a0b1d2a631a02"}, + {file = "yarl-1.22.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e1b51bebd221006d3d2f95fbe124b22b247136647ae5dcc8c7acafba66e5ee67"}, + {file = "yarl-1.22.0-cp313-cp313-win32.whl", hash = "sha256:d3e32536234a95f513bd374e93d717cf6b2231a791758de6c509e3653f234c95"}, + {file = "yarl-1.22.0-cp313-cp313-win_amd64.whl", hash = "sha256:47743b82b76d89a1d20b83e60d5c20314cbd5ba2befc9cda8f28300c4a08ed4d"}, + {file = "yarl-1.22.0-cp313-cp313-win_arm64.whl", hash = "sha256:5d0fcda9608875f7d052eff120c7a5da474a6796fe4d83e152e0e4d42f6d1a9b"}, + {file = "yarl-1.22.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:719ae08b6972befcba4310e49edb1161a88cdd331e3a694b84466bd938a6ab10"}, + {file = "yarl-1.22.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:47d8a5c446df1c4db9d21b49619ffdba90e77c89ec6e283f453856c74b50b9e3"}, + {file = "yarl-1.22.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:cfebc0ac8333520d2d0423cbbe43ae43c8838862ddb898f5ca68565e395516e9"}, + {file = "yarl-1.22.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4398557cbf484207df000309235979c79c4356518fd5c99158c7d38203c4da4f"}, + {file = "yarl-1.22.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2ca6fd72a8cd803be290d42f2dec5cdcd5299eeb93c2d929bf060ad9efaf5de0"}, + {file = "yarl-1.22.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:ca1f59c4e1ab6e72f0a23c13fca5430f889634166be85dbf1013683e49e3278e"}, + {file = "yarl-1.22.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:6c5010a52015e7c70f86eb967db0f37f3c8bd503a695a49f8d45700144667708"}, + {file = "yarl-1.22.0-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d7672ecf7557476642c88497c2f8d8542f8e36596e928e9bcba0e42e1e7d71f"}, + {file = "yarl-1.22.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:3b7c88eeef021579d600e50363e0b6ee4f7f6f728cd3486b9d0f3ee7b946398d"}, + {file = "yarl-1.22.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f4afb5c34f2c6fecdcc182dfcfc6af6cccf1aa923eed4d6a12e9d96904e1a0d8"}, + {file = "yarl-1.22.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:59c189e3e99a59cf8d83cbb31d4db02d66cda5a1a4374e8a012b51255341abf5"}, + {file = "yarl-1.22.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:5a3bf7f62a289fa90f1990422dc8dff5a458469ea71d1624585ec3a4c8d6960f"}, + {file = "yarl-1.22.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:de6b9a04c606978fdfe72666fa216ffcf2d1a9f6a381058d4378f8d7b1e5de62"}, + {file = "yarl-1.22.0-cp313-cp313t-win32.whl", hash = "sha256:1834bb90991cc2999f10f97f5f01317f99b143284766d197e43cd5b45eb18d03"}, + {file = "yarl-1.22.0-cp313-cp313t-win_amd64.whl", hash = "sha256:ff86011bd159a9d2dfc89c34cfd8aff12875980e3bd6a39ff097887520e60249"}, + {file = "yarl-1.22.0-cp313-cp313t-win_arm64.whl", hash = "sha256:7861058d0582b847bc4e3a4a4c46828a410bca738673f35a29ba3ca5db0b473b"}, + {file = "yarl-1.22.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:34b36c2c57124530884d89d50ed2c1478697ad7473efd59cfd479945c95650e4"}, + {file = "yarl-1.22.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:0dd9a702591ca2e543631c2a017e4a547e38a5c0f29eece37d9097e04a7ac683"}, + {file = "yarl-1.22.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:594fcab1032e2d2cc3321bb2e51271e7cd2b516c7d9aee780ece81b07ff8244b"}, + {file = "yarl-1.22.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f3d7a87a78d46a2e3d5b72587ac14b4c16952dd0887dbb051451eceac774411e"}, + {file = "yarl-1.22.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:852863707010316c973162e703bddabec35e8757e67fcb8ad58829de1ebc8590"}, + {file = "yarl-1.22.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:131a085a53bfe839a477c0845acf21efc77457ba2bcf5899618136d64f3303a2"}, + {file = "yarl-1.22.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:078a8aefd263f4d4f923a9677b942b445a2be970ca24548a8102689a3a8ab8da"}, + {file = "yarl-1.22.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bca03b91c323036913993ff5c738d0842fc9c60c4648e5c8d98331526df89784"}, + {file = "yarl-1.22.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:68986a61557d37bb90d3051a45b91fa3d5c516d177dfc6dd6f2f436a07ff2b6b"}, + {file = "yarl-1.22.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:4792b262d585ff0dff6bcb787f8492e40698443ec982a3568c2096433660c694"}, + {file = "yarl-1.22.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:ebd4549b108d732dba1d4ace67614b9545b21ece30937a63a65dd34efa19732d"}, + {file = "yarl-1.22.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:f87ac53513d22240c7d59203f25cc3beac1e574c6cd681bbfd321987b69f95fd"}, + {file = "yarl-1.22.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:22b029f2881599e2f1b06f8f1db2ee63bd309e2293ba2d566e008ba12778b8da"}, + {file = "yarl-1.22.0-cp314-cp314-win32.whl", hash = "sha256:6a635ea45ba4ea8238463b4f7d0e721bad669f80878b7bfd1f89266e2ae63da2"}, + {file = "yarl-1.22.0-cp314-cp314-win_amd64.whl", hash = "sha256:0d6e6885777af0f110b0e5d7e5dda8b704efed3894da26220b7f3d887b839a79"}, + {file = "yarl-1.22.0-cp314-cp314-win_arm64.whl", hash = "sha256:8218f4e98d3c10d683584cb40f0424f4b9fd6e95610232dd75e13743b070ee33"}, + {file = "yarl-1.22.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:45c2842ff0e0d1b35a6bf1cd6c690939dacb617a70827f715232b2e0494d55d1"}, + {file = "yarl-1.22.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:d947071e6ebcf2e2bee8fce76e10faca8f7a14808ca36a910263acaacef08eca"}, + {file = "yarl-1.22.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:334b8721303e61b00019474cc103bdac3d7b1f65e91f0bfedeec2d56dfe74b53"}, + {file = "yarl-1.22.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e7ce67c34138a058fd092f67d07a72b8e31ff0c9236e751957465a24b28910c"}, + {file = "yarl-1.22.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:d77e1b2c6d04711478cb1c4ab90db07f1609ccf06a287d5607fcd90dc9863acf"}, + {file = "yarl-1.22.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4647674b6150d2cae088fc07de2738a84b8bcedebef29802cf0b0a82ab6face"}, + {file = "yarl-1.22.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:efb07073be061c8f79d03d04139a80ba33cbd390ca8f0297aae9cce6411e4c6b"}, + {file = "yarl-1.22.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e51ac5435758ba97ad69617e13233da53908beccc6cfcd6c34bbed8dcbede486"}, + {file = "yarl-1.22.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:33e32a0dd0c8205efa8e83d04fc9f19313772b78522d1bdc7d9aed706bfd6138"}, + {file = "yarl-1.22.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:bf4a21e58b9cde0e401e683ebd00f6ed30a06d14e93f7c8fd059f8b6e8f87b6a"}, + {file = "yarl-1.22.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:e4b582bab49ac33c8deb97e058cd67c2c50dac0dd134874106d9c774fd272529"}, + {file = "yarl-1.22.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:0b5bcc1a9c4839e7e30b7b30dd47fe5e7e44fb7054ec29b5bb8d526aa1041093"}, + {file = "yarl-1.22.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:c0232bce2170103ec23c454e54a57008a9a72b5d1c3105dc2496750da8cfa47c"}, + {file = "yarl-1.22.0-cp314-cp314t-win32.whl", hash = "sha256:8009b3173bcd637be650922ac455946197d858b3630b6d8787aa9e5c4564533e"}, + {file = "yarl-1.22.0-cp314-cp314t-win_amd64.whl", hash = "sha256:9fb17ea16e972c63d25d4a97f016d235c78dd2344820eb35bc034bc32012ee27"}, + {file = "yarl-1.22.0-cp314-cp314t-win_arm64.whl", hash = "sha256:9f6d73c1436b934e3f01df1e1b21ff765cd1d28c77dfb9ace207f746d4610ee1"}, + {file = "yarl-1.22.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:3aa27acb6de7a23785d81557577491f6c38a5209a254d1191519d07d8fe51748"}, + {file = "yarl-1.22.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:af74f05666a5e531289cb1cc9c883d1de2088b8e5b4de48004e5ca8a830ac859"}, + {file = "yarl-1.22.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:62441e55958977b8167b2709c164c91a6363e25da322d87ae6dd9c6019ceecf9"}, + {file = "yarl-1.22.0-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b580e71cac3f8113d3135888770903eaf2f507e9421e5697d6ee6d8cd1c7f054"}, + {file = "yarl-1.22.0-cp39-cp39-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:e81fda2fb4a07eda1a2252b216aa0df23ebcd4d584894e9612e80999a78fd95b"}, + {file = "yarl-1.22.0-cp39-cp39-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:99b6fc1d55782461b78221e95fc357b47ad98b041e8e20f47c1411d0aacddc60"}, + {file = "yarl-1.22.0-cp39-cp39-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:088e4e08f033db4be2ccd1f34cf29fe994772fb54cfe004bbf54db320af56890"}, + {file = "yarl-1.22.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:2e4e1f6f0b4da23e61188676e3ed027ef0baa833a2e633c29ff8530800edccba"}, + {file = "yarl-1.22.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:84fc3ec96fce86ce5aa305eb4aa9358279d1aa644b71fab7b8ed33fe3ba1a7ca"}, + {file = "yarl-1.22.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:5dbeefd6ca588b33576a01b0ad58aa934bc1b41ef89dee505bf2932b22ddffba"}, + {file = "yarl-1.22.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:14291620375b1060613f4aab9ebf21850058b6b1b438f386cc814813d901c60b"}, + {file = "yarl-1.22.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:a4fcfc8eb2c34148c118dfa02e6427ca278bfd0f3df7c5f99e33d2c0e81eae3e"}, + {file = "yarl-1.22.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:029866bde8d7b0878b9c160e72305bbf0a7342bcd20b9999381704ae03308dc8"}, + {file = "yarl-1.22.0-cp39-cp39-win32.whl", hash = "sha256:4dcc74149ccc8bba31ce1944acee24813e93cfdee2acda3c172df844948ddf7b"}, + {file = "yarl-1.22.0-cp39-cp39-win_amd64.whl", hash = "sha256:10619d9fdee46d20edc49d3479e2f8269d0779f1b031e6f7c2aa1c76be04b7ed"}, + {file = "yarl-1.22.0-cp39-cp39-win_arm64.whl", hash = "sha256:dd7afd3f8b0bfb4e0d9fc3c31bfe8a4ec7debe124cfd90619305def3c8ca8cd2"}, + {file = "yarl-1.22.0-py3-none-any.whl", hash = "sha256:1380560bdba02b6b6c90de54133c81c9f2a453dee9912fe58c1dcced1edb7cff"}, + {file = "yarl-1.22.0.tar.gz", hash = "sha256:bebf8557577d4401ba8bd9ff33906f1376c877aa78d1fe216ad01b4d6745af71"}, +] + +[package.dependencies] +idna = ">=2.0" +multidict = ">=4.0" +propcache = ">=0.2.1" + [metadata] lock-version = "2.1" python-versions = ">=3.13" -content-hash = "d0a6bbe1a8d084b86ceef06004ff423ec7a13273f942cec7c584290224c32520" +content-hash = "0251ef60f483d739512c9ae09a00d85e239cc079667acae2be68da9a632a0ed5" diff --git a/backend/pyproject.toml b/backend/pyproject.toml index dfcd6c6..6562c2d 100755 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -19,7 +19,9 @@ dependencies = [ "python-jose (>=3.5.0,<4.0.0)", "celery (>=5.6.1,<6.0.0)", "bcrypt (<4.1)", - "pytest (>=9.0.2,<10.0.0)" + "pytest (>=9.0.2,<10.0.0)", + "aiobotocore (>=3.1.0,<4.0.0)", + "types-aiobotocore[essential] (>=3.1.0,<4.0.0)" ] diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index a8f1096..dec003a 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -6,6 +6,7 @@ import AuthPage from './pages/AuthPage'; import VerifyEmailPage from './pages/VerifyEmailPage'; import ResetPasswordPage from './pages/ResetPasswordPage'; import ChatPage from './pages/ChatPage'; +import ProfilePage from './pages/ProfilePage'; function PrivateRoute({ children }: { children: React.ReactNode }) { const isAuthenticated = useAuthStore((state) => state.isAuthenticated); @@ -55,6 +56,14 @@ function App() { } /> + + + + } + /> } /> diff --git a/frontend/src/pages/ChatPage.tsx b/frontend/src/pages/ChatPage.tsx index 66383a7..b9349c5 100644 --- a/frontend/src/pages/ChatPage.tsx +++ b/frontend/src/pages/ChatPage.tsx @@ -1,8 +1,10 @@ import { useAuthStore } from '../store/authStore'; +import { useNavigate } from 'react-router-dom'; export default function ChatPage() { const user = useAuthStore((state) => state.user); const logout = useAuthStore((state) => state.logout); + const navigate = useNavigate(); const handleLogout = async () => { // TODO: Call logout API @@ -21,6 +23,12 @@ export default function ChatPage() {

Привет, {user?.username}!

+ + +
+ + {/* Profile Card */} + + {/* Avatar Section */} +
+
+
+ {!user.avatar_url && user.username[0].toUpperCase()} +
+ + + + {user.avatar_url && ( + + )} +
+ +

+ {user.username} +

+

+ {user.email} +

+
+ + {/* Profile Form */} +
+
+
+ + setFormData({ ...formData, display_name: e.target.value })} + disabled={!isEditing} + className="w-full px-4 py-3 rounded-xl font-inter transition-all" + style={{ + backgroundColor: isEditing ? '#F9F9F7' : '#EFEFEF', + color: '#2C2C2C', + border: '2px solid transparent', + }} + /> +
+ +
+ + setFormData({ ...formData, username: e.target.value })} + disabled={!isEditing} + className="w-full px-4 py-3 rounded-xl font-inter transition-all" + style={{ + backgroundColor: isEditing ? '#F9F9F7' : '#EFEFEF', + color: '#2C2C2C', + border: '2px solid transparent', + }} + /> +
+ +
+ + setFormData({ ...formData, birth_day: e.target.value })} + disabled={!isEditing} + className="w-full px-4 py-3 rounded-xl font-inter transition-all" + style={{ + backgroundColor: isEditing ? '#F9F9F7' : '#EFEFEF', + color: '#2C2C2C', + border: '2px solid transparent', + }} + /> +
+
+ +
+ +