From 0a1956b19043eebaa2381e7c4b9412a58f821350 Mon Sep 17 00:00:00 2001 From: Milton Pividori Date: Wed, 28 Jan 2026 09:55:42 -0700 Subject: [PATCH 01/13] Rename project from Manugen AI to Manufold --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 2b26fd9..ea86ec2 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ -# Manugen AI +# Manufold (formerly, Manugen AI) Project Logo Writing academic manuscripts can be tedious. Imagine that you could bring together your results, prior research, source code, and some brief bullet points per section to generate a manuscript automatically. -That is **Manugen-AI**. +That is **Manufold** (formerly, Manugen AI). -This repo holds our submission for the 2025 [Agent Development Kit (ADK) Hackathon with Google Cloud](https://googlecloudmultiagents.devpost.com/) - Manugen AI. -**Manugen AI** is a multi-agent tool for drafting academic manuscripts from assets and guidance: a collection of figures, text/instructions, source code, and other content files. +This repo holds our submission for the 2025 [Agent Development Kit (ADK) Hackathon with Google Cloud](https://googlecloudmultiagents.devpost.com/) - Manugen AI (now Manufold). +**Manufold** is a multi-agent tool for drafting academic manuscripts from assets and guidance: a collection of figures, text/instructions, source code, and other content files. It uses agents based on large language models (LLMs) and the [Google ADK](https://google.github.io/adk-docs/). See the [Manugen AI package README](packages/manugen-ai/README.md) for more details on the package itself. From 2f8f03770f3096021e9f473cc493941ae00f17f5 Mon Sep 17 00:00:00 2001 From: Faisal Alquaddoomi Date: Thu, 5 Mar 2026 11:02:20 -0700 Subject: [PATCH 02/13] Renames manugen_ai package to manufold, updates backend accordingly. --- .pre-commit-config.yaml | 10 +- backend/Dockerfile | 6 +- backend/README.md | 6 +- backend/pyproject.toml | 17 +- backend/src/__init__.py | 2 +- backend/src/adk_api.py | 4 +- backend/src/main.py | 14 +- backend/start_adk_web.sh | 2 +- backend/start_api_server.sh | 8 +- backend/uv.lock | 1771 +++++++++-------- packages/Dockerfile | 6 +- packages/{manugen-ai => manufold}/README.md | 6 +- .../docs/devpost/additional_info.md | 4 +- .../docs/devpost/project_story.md | 0 .../media/ai_and_scientist_bright_future.png | Bin .../docs/media/ai_assisted_writing.png | Bin .../docs/media/ai_enhanced_documents.png | Bin .../docs/media/citation_agent.png | Bin .../docs/media/coordinator_agent_all_lr.png | Bin .../docs/media/coordinator_agent_all_tb.png | Bin .../docs/media/coordinator_agent_core_lr.png | Bin .../docs/media/coordinator_agent_core_tb.png | Bin .../media/coordinator_agent_extensions_lr.png | Bin .../media/coordinator_agent_extensions_tb.png | Bin .../docs/media/figure_agent.png | Bin .../docs/media/generate_diagrams.py | 16 +- .../docs/media/hackathon.png | Bin .../docs/media/manugen-ai-frontend.png | Bin .../docs/media/manugen-ai-logo.png | Bin .../docs/media/manuscript_deadlines.png | Bin .../docs/media/manuscript_drafter_agent.png | Bin .../docs/media/repo_agent.png | Bin .../docs/media/retraction_avoidance_agent.png | Bin .../docs/media/reviewer_agent.png | Bin .../docs/media/robot_good_research.png | Bin .../media/writing_assistance_workflow.png | Bin .../{manugen-ai => manufold}/docs/overview.md | 0 .../docs/video_script.md | 0 .../{manugen-ai => manufold}/pyproject.toml | 25 +- .../src/manufold}/__init__.py | 0 .../src/manufold}/adk.py | 0 .../src/manufold}/agents/__init__.py | 0 .../agents/ai_science_writer/.adk/session.db | Bin 0 -> 270336 bytes .../agents/ai_science_writer/__init__.py | 0 .../agents/ai_science_writer/agent.py | 0 .../sub_agents/abstract/__init__.py | 0 .../sub_agents/abstract/agent.py | 4 +- .../sub_agents/abstract/prompt.py | 0 .../sub_agents/assembler/__init__.py | 0 .../sub_agents/assembler/agent.py | 2 +- .../sub_agents/citations/__init__.py | 0 .../sub_agents/citations/agent.py | 6 +- .../sub_agents/coordinator/__init__.py | 0 .../sub_agents/coordinator/agent.py | 2 +- .../sub_agents/coordinator/custom_agent.py | 31 +- .../sub_agents/coordinator/prompt.py | 0 .../sub_agents/discussion/__init__.py | 0 .../sub_agents/discussion/agent.py | 4 +- .../sub_agents/discussion/prompt.py | 0 .../sub_agents/figure/__init__.py | 0 .../sub_agents/figure/agent.py | 4 +- .../sub_agents/figure/prompt.py | 2 +- .../sub_agents/interpreter/__init__.py | 0 .../sub_agents/interpreter/agent.py | 4 +- .../sub_agents/interpreter/prompt.py | 2 +- .../sub_agents/introduction/__init__.py | 0 .../sub_agents/introduction/agent.py | 4 +- .../sub_agents/introduction/prompt.py | 0 .../sub_agents/manuscript_drafter/__init__.py | 0 .../sub_agents/manuscript_drafter/agent.py | 2 +- .../sub_agents/methods/__init__.py | 0 .../sub_agents/methods/agent.py | 6 +- .../sub_agents/methods/prompt.py | 0 .../sub_agents/repo_to_paper/__init__.py | 0 .../sub_agents/repo_to_paper/agent.py | 4 +- .../sub_agents/results/__init__.py | 0 .../sub_agents/results/agent.py | 4 +- .../sub_agents/results/prompt.py | 0 .../retraction_avoidance/__init__.py | 0 .../sub_agents/retraction_avoidance/agent.py | 8 +- .../sub_agents/reviewer/__init__.py | 0 .../sub_agents/reviewer/agent.py | 6 +- .../sub_agents/section_drafter/__init__.py | 0 .../sub_agents/section_drafter/agent.py | 4 +- .../sub_agents/title/__init__.py | 0 .../sub_agents/title/agent.py | 4 +- .../sub_agents/title/prompt.py | 0 .../src/manufold}/agents/capitalizer/agent.py | 0 .../agents/markdown_outline_to_paper/agent.py | 6 +- .../src/manufold}/agents/meta_agent.py | 0 .../src/manufold}/agents/weather/__init__.py | 0 .../src/manufold}/agents/weather/agent.py | 0 .../src/manufold}/cli.py | 0 .../src/manufold}/data.py | 4 +- .../src/manufold}/schema.py | 0 .../src/manufold}/tools/tools.py | 4 +- .../src/manufold}/utils.py | 2 +- .../tests/__init__.py | 0 .../tests/conftest.py | 0 .../enhance_to_avoid_retraction_reasons.ipynb | 4 +- .../reports/enhance_with_related_work.ipynb | 4 +- .../reports/markdown_outline_to_paper.ipynb | 4 +- .../reports/mermaid_diagrams_for_agents.ipynb | 2 +- .../tests/test_agents.py | 4 +- .../tests/test_meta_agent.py | 4 +- .../tests/test_tools.py | 2 +- .../{manugen-ai => manufold}/tests/utils.py | 0 packages/{manugen-ai => manufold}/uv.lock | 2 +- 108 files changed, 1025 insertions(+), 1017 deletions(-) rename packages/{manugen-ai => manufold}/README.md (91%) rename packages/{manugen-ai => manufold}/docs/devpost/additional_info.md (95%) rename packages/{manugen-ai => manufold}/docs/devpost/project_story.md (100%) rename packages/{manugen-ai => manufold}/docs/media/ai_and_scientist_bright_future.png (100%) rename packages/{manugen-ai => manufold}/docs/media/ai_assisted_writing.png (100%) rename packages/{manugen-ai => manufold}/docs/media/ai_enhanced_documents.png (100%) rename packages/{manugen-ai => manufold}/docs/media/citation_agent.png (100%) rename packages/{manugen-ai => manufold}/docs/media/coordinator_agent_all_lr.png (100%) rename packages/{manugen-ai => manufold}/docs/media/coordinator_agent_all_tb.png (100%) rename packages/{manugen-ai => manufold}/docs/media/coordinator_agent_core_lr.png (100%) rename packages/{manugen-ai => manufold}/docs/media/coordinator_agent_core_tb.png (100%) rename packages/{manugen-ai => manufold}/docs/media/coordinator_agent_extensions_lr.png (100%) rename packages/{manugen-ai => manufold}/docs/media/coordinator_agent_extensions_tb.png (100%) rename packages/{manugen-ai => manufold}/docs/media/figure_agent.png (100%) rename packages/{manugen-ai => manufold}/docs/media/generate_diagrams.py (85%) rename packages/{manugen-ai => manufold}/docs/media/hackathon.png (100%) rename packages/{manugen-ai => manufold}/docs/media/manugen-ai-frontend.png (100%) rename packages/{manugen-ai => manufold}/docs/media/manugen-ai-logo.png (100%) rename packages/{manugen-ai => manufold}/docs/media/manuscript_deadlines.png (100%) rename packages/{manugen-ai => manufold}/docs/media/manuscript_drafter_agent.png (100%) rename packages/{manugen-ai => manufold}/docs/media/repo_agent.png (100%) rename packages/{manugen-ai => manufold}/docs/media/retraction_avoidance_agent.png (100%) rename packages/{manugen-ai => manufold}/docs/media/reviewer_agent.png (100%) rename packages/{manugen-ai => manufold}/docs/media/robot_good_research.png (100%) rename packages/{manugen-ai => manufold}/docs/media/writing_assistance_workflow.png (100%) rename packages/{manugen-ai => manufold}/docs/overview.md (100%) rename packages/{manugen-ai => manufold}/docs/video_script.md (100%) rename packages/{manugen-ai => manufold}/pyproject.toml (77%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/adk.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/__init__.py (100%) create mode 100644 packages/manufold/src/manufold/agents/ai_science_writer/.adk/session.db rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/agent.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/abstract/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/abstract/agent.py (81%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/abstract/prompt.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/assembler/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/assembler/agent.py (95%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/citations/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/citations/agent.py (93%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/coordinator/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/coordinator/agent.py (95%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/coordinator/custom_agent.py (80%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/coordinator/prompt.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/discussion/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/discussion/agent.py (82%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/discussion/prompt.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/figure/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/figure/agent.py (97%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/figure/prompt.py (93%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/interpreter/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/interpreter/agent.py (86%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/interpreter/prompt.py (96%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/introduction/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/introduction/agent.py (82%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/introduction/prompt.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/manuscript_drafter/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/manuscript_drafter/agent.py (97%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/methods/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/methods/agent.py (77%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/methods/prompt.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/repo_to_paper/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/repo_to_paper/agent.py (97%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/results/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/results/agent.py (88%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/results/prompt.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/retraction_avoidance/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/retraction_avoidance/agent.py (94%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/reviewer/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/reviewer/agent.py (92%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/section_drafter/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/section_drafter/agent.py (98%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/title/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/title/agent.py (89%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/ai_science_writer/sub_agents/title/prompt.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/capitalizer/agent.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/markdown_outline_to_paper/agent.py (97%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/meta_agent.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/weather/__init__.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/agents/weather/agent.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/cli.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/data.py (98%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/schema.py (100%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/tools/tools.py (98%) rename packages/{manugen-ai/src/manugen_ai => manufold/src/manufold}/utils.py (99%) rename packages/{manugen-ai => manufold}/tests/__init__.py (100%) rename packages/{manugen-ai => manufold}/tests/conftest.py (100%) rename packages/{manugen-ai => manufold}/tests/reports/enhance_to_avoid_retraction_reasons.ipynb (99%) rename packages/{manugen-ai => manufold}/tests/reports/enhance_with_related_work.ipynb (99%) rename packages/{manugen-ai => manufold}/tests/reports/markdown_outline_to_paper.ipynb (99%) rename packages/{manugen-ai => manufold}/tests/reports/mermaid_diagrams_for_agents.ipynb (99%) rename packages/{manugen-ai => manufold}/tests/test_agents.py (89%) rename packages/{manugen-ai => manufold}/tests/test_meta_agent.py (96%) rename packages/{manugen-ai => manufold}/tests/test_tools.py (99%) rename packages/{manugen-ai => manufold}/tests/utils.py (100%) rename packages/{manugen-ai => manufold}/uv.lock (99%) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8ac8aa5..e4d3beb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -9,7 +9,7 @@ repos: - id: check-yaml - id: detect-private-key - repo: https://github.com/tox-dev/pyproject-fmt - rev: "v2.11.1" + rev: "v2.16.2" hooks: - id: pyproject-fmt - repo: https://github.com/citation-file-format/cffconvert @@ -17,7 +17,7 @@ repos: hooks: - id: validate-cff - repo: https://github.com/codespell-project/codespell - rev: v2.4.1 + rev: v2.4.2 hooks: - id: codespell exclude: | @@ -34,17 +34,17 @@ repos: additional_dependencies: - mdformat-gfm - repo: https://github.com/adrienverge/yamllint - rev: v1.37.1 + rev: v1.38.0 hooks: - id: yamllint exclude: pre-commit-config.yaml - repo: https://github.com/astral-sh/ruff-pre-commit - rev: "v0.14.7" + rev: "v0.15.4" hooks: - id: ruff-format - id: ruff-check - repo: https://github.com/rhysd/actionlint - rev: v1.7.9 + rev: v1.7.11 hooks: - id: actionlint - repo: https://gitlab.com/vojko.pribudic.foss/pre-commit-update diff --git a/backend/Dockerfile b/backend/Dockerfile index e8d2d43..7397358 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -3,7 +3,7 @@ # copied from https://docs.astral.sh/uv/guides/integration/docker/#intermediate-layers # note that this Dockerfile's context should be set to the project root, due to -# the fact that it relies on a package under /packages/manugen-ai +# the fact that it relies on a package under /packages/manufold # all backend-specific path refs should be prefixed with `backend/` # Install uv @@ -18,8 +18,8 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ # Change the working directory to the `app` directory WORKDIR /app -# copy packages/manugen-ai into /opt/manugen-ai -COPY --exclude=.venv ./packages/manugen-ai/ /packages/manugen-ai/ +# copy packages/manufold into /opt/manufold +COPY --exclude=.venv ./packages/manufold/ /packages/manufold/ # Install dependencies ENV VIRTUAL_ENV=/app/.venv diff --git a/backend/README.md b/backend/README.md index 1482782..770e312 100644 --- a/backend/README.md +++ b/backend/README.md @@ -1,6 +1,6 @@ -# Manugen-AI Backend +# Manufold Backend -This folder implements a simple API for the frontend to invoke agents from the `manugen-ai` package, located at [packages/manugen-ai/](../packages/manugen-ai). +This folder implements a simple API for the frontend to invoke agents from the `manufold` package, located at [packages/manufold/](../packages/manufold). While the API is intended to be run as part of the stack (see the [root README](../README.md) for details), you can run it independently on the host. @@ -12,7 +12,7 @@ First, install the dependencies: uv sync ``` -This will install `manugen-ai` as well as other dependencies for running the FastAPI server. +This will install `manufold` as well as other dependencies for running the FastAPI server. Then, run the API: diff --git a/backend/pyproject.toml b/backend/pyproject.toml index 270e233..44787ea 100644 --- a/backend/pyproject.toml +++ b/backend/pyproject.toml @@ -1,16 +1,19 @@ [project] -name = "manugen-ai-backend" +name = "manufold-backend" version = "0.1.0" -description = "A backend for the Manugen AI project, providing APIs for AI-driven manuscript generation." +description = "A backend for the Manufold project, providing APIs for AI-driven manuscript generation." readme = "README.md" requires-python = ">=3.12,<3.13" -classifiers = [ "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.12" ] +classifiers = [ + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.12", +] dependencies = [ "fastapi>=0.104", - "manugen-ai", + "manufold", "uvicorn[standard]>=0.24", ] -[tool.uv.sources] -# manugen-ai = { path = "/opt/manugen-ai" } -manugen-ai = { path = "../packages/manugen-ai" } +[tool.uv] +# manufold = { path = "/opt/manufold" } +sources.manufold = { path = "../packages/manufold" } diff --git a/backend/src/__init__.py b/backend/src/__init__.py index e0baf3f..0cfb5c8 100644 --- a/backend/src/__init__.py +++ b/backend/src/__init__.py @@ -1,5 +1,5 @@ """ -Manugen AI Backend Package +Manufold Backend Package """ __version__ = "0.1.0" diff --git a/backend/src/adk_api.py b/backend/src/adk_api.py index 22a6a85..a961794 100644 --- a/backend/src/adk_api.py +++ b/backend/src/adk_api.py @@ -9,7 +9,7 @@ - (GET) /adk_api/apps//users//sessions query for all sessions for a user under (where is a - folder under ../packages/manugen-ai/src/manugen_ai/agents/) + folder under ../packages/manufold/src/manufold/agents/) - (POST) /adk_api/apps//users//sessions/ create a new session for a user under with the given session_id for running agents, these two endpoints are available: @@ -44,7 +44,7 @@ adk_app = get_fast_api_app( agents_dir=os.environ.get( - "MANUGEN_AGENTS_DIR", "/packages/manugen-ai/src/manugen_ai/agents/" + "MANUGEN_AGENTS_DIR", "/packages/manufold/src/manufold/agents/" ), session_service_uri=os.environ.get("SESSION_DB_CONN_STRING"), # artifact_service_uri= , diff --git a/backend/src/main.py b/backend/src/main.py index ff57408..e97d230 100644 --- a/backend/src/main.py +++ b/backend/src/main.py @@ -1,10 +1,10 @@ """ -FastAPI backend for Manugen AI project. +FastAPI backend for Manufold project. """ import os -# read version number from manugen_ai package +# read version number from manufold package from importlib.metadata import version import uvicorn @@ -13,12 +13,12 @@ from .adk_api import adk_app # Import the ADK FastAPI app -MANUGEN_VERSION = version("manugen_ai") +MANUGEN_VERSION = version("manufold") # Create FastAPI app app = FastAPI( - title="Manugen AI Backend", - description="A backend for the Manugen AI project, providing APIs for AI-driven manuscript generation.", + title="Manufold Backend", + description="A backend for the Manufold project, providing APIs for AI-driven manuscript generation.", version=MANUGEN_VERSION, docs_url="/docs", redoc_url="/redoc", @@ -40,7 +40,7 @@ async def root(): """Root endpoint returning basic API information.""" root_path = os.environ.get("API_ROOT_PREFIX", "") return { - "message": "Welcome to Manugen AI Backend", + "message": "Welcome to Manufold Backend", "version": MANUGEN_VERSION, "docs": f"{root_path}/docs", "adk_api_docs": f"{root_path}/adk_api/docs", @@ -50,7 +50,7 @@ async def root(): @app.get("/health") async def health_check(): """Health check endpoint.""" - return {"status": "healthy", "service": "manugen-ai-backend"} + return {"status": "healthy", "service": "manufold-backend"} @app.get("/api/v1/status") diff --git a/backend/start_adk_web.sh b/backend/start_adk_web.sh index beb992d..9578b9b 100755 --- a/backend/start_adk_web.sh +++ b/backend/start_adk_web.sh @@ -1,6 +1,6 @@ #!/bin/bash -cd /packages/manugen-ai/src/manugen_ai/agents/ +cd /packages/manufold/src/manufold/agents/ if [ -z "${SESSION_DB_CONN_STRING}" ]; then SESSION_DB_ARG="" diff --git a/backend/start_api_server.sh b/backend/start_api_server.sh index 247db23..d33999d 100755 --- a/backend/start_api_server.sh +++ b/backend/start_api_server.sh @@ -1,10 +1,10 @@ #!/bin/bash -# Start a FastAPI server implementing the Manugen AI Backend +# Start a FastAPI server implementing the Manufold Backend MANUGEN_API_PORT=${MANUGEN_API_PORT:-8000} -echo "Starting Manugen AI Backend on http://0.0.0.0:${MANUGEN_API_PORT}" +echo "Starting Manufold Backend on http://0.0.0.0:${MANUGEN_API_PORT}" echo "- API Documentation will be available at http://localhost:${MANUGEN_API_PORT}/docs" echo "- Press Ctrl+C to stop the server" echo "" @@ -17,7 +17,7 @@ cd "$(dirname "$0")" # ensure the text embedding model is downloaded if [ "${USE_GEMINI_EMBEDDINGS:-0}" != "1" ]; then echo "* Downloading FlagEmbedding text embedding model (${FLAGEMBEDDING_MODEL_OR_PATH:-BAAI/bge-m3})..." - uv run python -c "from manugen_ai.data import get_flag_embedding_model ; get_flag_embedding_model()" + uv run python -c "from manufold.data import get_flag_embedding_model ; get_flag_embedding_model()" else echo "* Using Gemini text embeddings via the Google GenAI API, skipping download." fi @@ -29,7 +29,7 @@ if [ "${HOT_RELOAD_BACKEND}" = "1" ]; then --host 0.0.0.0 \ --port ${MANUGEN_API_PORT} \ --reload \ - --log-level info + --log-level ${DEBUG_LOG_LEVEL:-info} else # run in production mode exec uv run uvicorn src.main:app \ diff --git a/backend/uv.lock b/backend/uv.lock index b2143b7..39442fe 100644 --- a/backend/uv.lock +++ b/backend/uv.lock @@ -15,18 +15,18 @@ dependencies = [ { name = "safetensors" }, { name = "torch" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bd/c2/b9e33ad13232606dded4c546e654fb06a15f1dbcbd95d81c9f9dd3ccc771/accelerate-1.8.1.tar.gz", hash = "sha256:f60df931671bc4e75077b852990469d4991ce8bd3a58e72375c3c95132034db9", size = 380872, upload_time = "2025-06-20T15:36:14.618Z" } +sdist = { url = "https://files.pythonhosted.org/packages/bd/c2/b9e33ad13232606dded4c546e654fb06a15f1dbcbd95d81c9f9dd3ccc771/accelerate-1.8.1.tar.gz", hash = "sha256:f60df931671bc4e75077b852990469d4991ce8bd3a58e72375c3c95132034db9", size = 380872, upload-time = "2025-06-20T15:36:14.618Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/91/d9/e044c9d42d8ad9afa96533b46ecc9b7aea893d362b3c52bd78fb9fe4d7b3/accelerate-1.8.1-py3-none-any.whl", hash = "sha256:c47b8994498875a2b1286e945bd4d20e476956056c7941d512334f4eb44ff991", size = 365338, upload_time = "2025-06-20T15:36:12.71Z" }, + { url = "https://files.pythonhosted.org/packages/91/d9/e044c9d42d8ad9afa96533b46ecc9b7aea893d362b3c52bd78fb9fe4d7b3/accelerate-1.8.1-py3-none-any.whl", hash = "sha256:c47b8994498875a2b1286e945bd4d20e476956056c7941d512334f4eb44ff991", size = 365338, upload-time = "2025-06-20T15:36:12.71Z" }, ] [[package]] name = "aiohappyeyeballs" version = "2.6.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760, upload_time = "2025-03-12T01:42:48.764Z" } +sdist = { url = "https://files.pythonhosted.org/packages/26/30/f84a107a9c4331c14b2b586036f40965c128aa4fee4dda5d3d51cb14ad54/aiohappyeyeballs-2.6.1.tar.gz", hash = "sha256:c3f9d0113123803ccadfdf3f0faa505bc78e6a72d1cc4806cbd719826e943558", size = 22760, upload-time = "2025-03-12T01:42:48.764Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265, upload_time = "2025-03-12T01:42:47.083Z" }, + { url = "https://files.pythonhosted.org/packages/0f/15/5bf3b99495fb160b63f95972b81750f18f7f4e02ad051373b669d17d44f2/aiohappyeyeballs-2.6.1-py3-none-any.whl", hash = "sha256:f349ba8f4b75cb25c99c5c2d84e997e485204d2902a9597802b0371f09331fb8", size = 15265, upload-time = "2025-03-12T01:42:47.083Z" }, ] [[package]] @@ -42,25 +42,25 @@ dependencies = [ { name = "propcache" }, { name = "yarl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f2/84/ea27e6ad14747d8c51afe201fb88a5c8282b6278256d30a6f71f730add88/aiohttp-3.12.12.tar.gz", hash = "sha256:05875595d2483d96cb61fa9f64e75262d7ac6251a7e3c811d8e26f7d721760bd", size = 7818643, upload_time = "2025-06-10T05:22:00.247Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/84/ea27e6ad14747d8c51afe201fb88a5c8282b6278256d30a6f71f730add88/aiohttp-3.12.12.tar.gz", hash = "sha256:05875595d2483d96cb61fa9f64e75262d7ac6251a7e3c811d8e26f7d721760bd", size = 7818643, upload-time = "2025-06-10T05:22:00.247Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/df/e6/df14ec151942818ecc5e685fa8a4b07d3d3d8a9e4a7d2701047c89290551/aiohttp-3.12.12-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:98451ce9ce229d092f278a74a7c2a06b3aa72984673c87796126d7ccade893e9", size = 700494, upload_time = "2025-06-10T05:19:46.18Z" }, - { url = "https://files.pythonhosted.org/packages/4f/dc/7bc6e17adcd7a82b0d0317ad3e792ac22c93fb672077f0eade93e8d70182/aiohttp-3.12.12-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:adbac7286d89245e1aff42e948503fdc6edf6d5d65c8e305a67c40f6a8fb95f4", size = 475095, upload_time = "2025-06-10T05:19:48.246Z" }, - { url = "https://files.pythonhosted.org/packages/80/fd/c4e8846ad9d9ecdb7d5ba96de65b7bf2c1582f0b2732f2023080c1c05255/aiohttp-3.12.12-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0728882115bfa85cbd8d0f664c8ccc0cfd5bd3789dd837596785450ae52fac31", size = 467929, upload_time = "2025-06-10T05:19:50.79Z" }, - { url = "https://files.pythonhosted.org/packages/70/40/abebcf5c81f5e65b4379c05929773be2731ce12414264d3e0fe09ee241eb/aiohttp-3.12.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf3b9d9e767f9d0e09fb1a31516410fc741a62cc08754578c40abc497d09540", size = 1714729, upload_time = "2025-06-10T05:19:52.989Z" }, - { url = "https://files.pythonhosted.org/packages/8e/67/4c4f96ef6f16405e7c5205ab3c28852c7e904493b6ddc1c744dda1c97a81/aiohttp-3.12.12-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c944860e86b9f77a462321a440ccf6fa10f5719bb9d026f6b0b11307b1c96c7b", size = 1697380, upload_time = "2025-06-10T05:19:55.832Z" }, - { url = "https://files.pythonhosted.org/packages/e9/a2/dae9ebea4caa8030170c0237e55fa0960df44b3596a849ab9ea621964054/aiohttp-3.12.12-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b1979e1f0c98c06fd0cd940988833b102fa3aa56751f6c40ffe85cabc51f6fd", size = 1752474, upload_time = "2025-06-10T05:19:58.007Z" }, - { url = "https://files.pythonhosted.org/packages/31/ef/f3d9073565ac7ad5257aaa1490ebfc2f182dfc817d3ccfd38c8ab35b2247/aiohttp-3.12.12-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:120b7dd084e96cfdad85acea2ce1e7708c70a26db913eabb8d7b417c728f5d84", size = 1798631, upload_time = "2025-06-10T05:20:00.393Z" }, - { url = "https://files.pythonhosted.org/packages/8b/0b/8b1978662274c80c8e4a739d9be1ae9ef25e5ce42b55838d6a9d1a4e3497/aiohttp-3.12.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e58f5ae79649ffa247081c2e8c85e31d29623cf2a3137dda985ae05c9478aae", size = 1718071, upload_time = "2025-06-10T05:20:02.812Z" }, - { url = "https://files.pythonhosted.org/packages/56/aa/35786137db867901b41cb3d2c19c0f4c56dfe581694dba99dec2683d8f8d/aiohttp-3.12.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9aa5f049e3e2745b0141f13e5a64e7c48b1a1427ed18bbb7957b348f282fee56", size = 1633871, upload_time = "2025-06-10T05:20:05.127Z" }, - { url = "https://files.pythonhosted.org/packages/63/1d/34d45497dd04d08d662ecda875c44e91d271bbc5d21f4c9e4cbd3ddf7ae2/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7163cc9cf3722d90f1822f8a38b211e3ae2fc651c63bb55449f03dc1b3ff1d44", size = 1694933, upload_time = "2025-06-10T05:20:07.431Z" }, - { url = "https://files.pythonhosted.org/packages/29/c7/41e09a4517449eabbb0a7fe6d60f584fe5b21d4bff761197eb0b81e70034/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ef97c4d035b721de6607f3980fa3e4ef0ec3aca76474b5789b7fac286a8c4e23", size = 1716386, upload_time = "2025-06-10T05:20:09.787Z" }, - { url = "https://files.pythonhosted.org/packages/3a/32/907bd2010b51b70de5314ad707dfc4e898ea0011ff3d678cdf43d6f8980a/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:1c14448d6a86acadc3f7b2f4cc385d1fb390acb6f37dce27f86fe629410d92e3", size = 1657039, upload_time = "2025-06-10T05:20:12.198Z" }, - { url = "https://files.pythonhosted.org/packages/60/27/8d87344a33346dcd39273adc33060aeb135e0ef70d1d6e71a3b03894a8e9/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a1b6df6255cfc493454c79221183d64007dd5080bcda100db29b7ff181b8832c", size = 1736599, upload_time = "2025-06-10T05:20:14.519Z" }, - { url = "https://files.pythonhosted.org/packages/ca/45/57c7ef1af694a6d0906abab6edde03787c8c6b0cf5d8359b69d1eb0679df/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:60fc7338dfb0626c2927bfbac4785de3ea2e2bbe3d328ba5f3ece123edda4977", size = 1764575, upload_time = "2025-06-10T05:20:16.993Z" }, - { url = "https://files.pythonhosted.org/packages/2a/cc/b1f918cd702efa9ead9d41f89214e9225cda4e5d013d6eed7f1915c17d0a/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d2afc72207ef4c9d4ca9fcd00689a6a37ef2d625600c3d757b5c2b80c9d0cf9a", size = 1724184, upload_time = "2025-06-10T05:20:19.296Z" }, - { url = "https://files.pythonhosted.org/packages/47/55/089762ee32c2a2e0f523d9ab38c9da2a344cac0e0cc8d16ecf206517ef7e/aiohttp-3.12.12-cp312-cp312-win32.whl", hash = "sha256:8098a48f93b2cbcdb5778e7c9a0e0375363e40ad692348e6e65c3b70d593b27c", size = 421762, upload_time = "2025-06-10T05:20:22.063Z" }, - { url = "https://files.pythonhosted.org/packages/ab/47/151f657e429972916f61399bd52b410e9072d5a2cae1b794f890930e5797/aiohttp-3.12.12-cp312-cp312-win_amd64.whl", hash = "sha256:d1c1879b2e0fc337d7a1b63fe950553c2b9e93c071cf95928aeea1902d441403", size = 447863, upload_time = "2025-06-10T05:20:24.326Z" }, + { url = "https://files.pythonhosted.org/packages/df/e6/df14ec151942818ecc5e685fa8a4b07d3d3d8a9e4a7d2701047c89290551/aiohttp-3.12.12-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:98451ce9ce229d092f278a74a7c2a06b3aa72984673c87796126d7ccade893e9", size = 700494, upload-time = "2025-06-10T05:19:46.18Z" }, + { url = "https://files.pythonhosted.org/packages/4f/dc/7bc6e17adcd7a82b0d0317ad3e792ac22c93fb672077f0eade93e8d70182/aiohttp-3.12.12-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:adbac7286d89245e1aff42e948503fdc6edf6d5d65c8e305a67c40f6a8fb95f4", size = 475095, upload-time = "2025-06-10T05:19:48.246Z" }, + { url = "https://files.pythonhosted.org/packages/80/fd/c4e8846ad9d9ecdb7d5ba96de65b7bf2c1582f0b2732f2023080c1c05255/aiohttp-3.12.12-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0728882115bfa85cbd8d0f664c8ccc0cfd5bd3789dd837596785450ae52fac31", size = 467929, upload-time = "2025-06-10T05:19:50.79Z" }, + { url = "https://files.pythonhosted.org/packages/70/40/abebcf5c81f5e65b4379c05929773be2731ce12414264d3e0fe09ee241eb/aiohttp-3.12.12-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6bf3b9d9e767f9d0e09fb1a31516410fc741a62cc08754578c40abc497d09540", size = 1714729, upload-time = "2025-06-10T05:19:52.989Z" }, + { url = "https://files.pythonhosted.org/packages/8e/67/4c4f96ef6f16405e7c5205ab3c28852c7e904493b6ddc1c744dda1c97a81/aiohttp-3.12.12-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c944860e86b9f77a462321a440ccf6fa10f5719bb9d026f6b0b11307b1c96c7b", size = 1697380, upload-time = "2025-06-10T05:19:55.832Z" }, + { url = "https://files.pythonhosted.org/packages/e9/a2/dae9ebea4caa8030170c0237e55fa0960df44b3596a849ab9ea621964054/aiohttp-3.12.12-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3b1979e1f0c98c06fd0cd940988833b102fa3aa56751f6c40ffe85cabc51f6fd", size = 1752474, upload-time = "2025-06-10T05:19:58.007Z" }, + { url = "https://files.pythonhosted.org/packages/31/ef/f3d9073565ac7ad5257aaa1490ebfc2f182dfc817d3ccfd38c8ab35b2247/aiohttp-3.12.12-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:120b7dd084e96cfdad85acea2ce1e7708c70a26db913eabb8d7b417c728f5d84", size = 1798631, upload-time = "2025-06-10T05:20:00.393Z" }, + { url = "https://files.pythonhosted.org/packages/8b/0b/8b1978662274c80c8e4a739d9be1ae9ef25e5ce42b55838d6a9d1a4e3497/aiohttp-3.12.12-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0e58f5ae79649ffa247081c2e8c85e31d29623cf2a3137dda985ae05c9478aae", size = 1718071, upload-time = "2025-06-10T05:20:02.812Z" }, + { url = "https://files.pythonhosted.org/packages/56/aa/35786137db867901b41cb3d2c19c0f4c56dfe581694dba99dec2683d8f8d/aiohttp-3.12.12-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9aa5f049e3e2745b0141f13e5a64e7c48b1a1427ed18bbb7957b348f282fee56", size = 1633871, upload-time = "2025-06-10T05:20:05.127Z" }, + { url = "https://files.pythonhosted.org/packages/63/1d/34d45497dd04d08d662ecda875c44e91d271bbc5d21f4c9e4cbd3ddf7ae2/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7163cc9cf3722d90f1822f8a38b211e3ae2fc651c63bb55449f03dc1b3ff1d44", size = 1694933, upload-time = "2025-06-10T05:20:07.431Z" }, + { url = "https://files.pythonhosted.org/packages/29/c7/41e09a4517449eabbb0a7fe6d60f584fe5b21d4bff761197eb0b81e70034/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ef97c4d035b721de6607f3980fa3e4ef0ec3aca76474b5789b7fac286a8c4e23", size = 1716386, upload-time = "2025-06-10T05:20:09.787Z" }, + { url = "https://files.pythonhosted.org/packages/3a/32/907bd2010b51b70de5314ad707dfc4e898ea0011ff3d678cdf43d6f8980a/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:1c14448d6a86acadc3f7b2f4cc385d1fb390acb6f37dce27f86fe629410d92e3", size = 1657039, upload-time = "2025-06-10T05:20:12.198Z" }, + { url = "https://files.pythonhosted.org/packages/60/27/8d87344a33346dcd39273adc33060aeb135e0ef70d1d6e71a3b03894a8e9/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a1b6df6255cfc493454c79221183d64007dd5080bcda100db29b7ff181b8832c", size = 1736599, upload-time = "2025-06-10T05:20:14.519Z" }, + { url = "https://files.pythonhosted.org/packages/ca/45/57c7ef1af694a6d0906abab6edde03787c8c6b0cf5d8359b69d1eb0679df/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:60fc7338dfb0626c2927bfbac4785de3ea2e2bbe3d328ba5f3ece123edda4977", size = 1764575, upload-time = "2025-06-10T05:20:16.993Z" }, + { url = "https://files.pythonhosted.org/packages/2a/cc/b1f918cd702efa9ead9d41f89214e9225cda4e5d013d6eed7f1915c17d0a/aiohttp-3.12.12-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:d2afc72207ef4c9d4ca9fcd00689a6a37ef2d625600c3d757b5c2b80c9d0cf9a", size = 1724184, upload-time = "2025-06-10T05:20:19.296Z" }, + { url = "https://files.pythonhosted.org/packages/47/55/089762ee32c2a2e0f523d9ab38c9da2a344cac0e0cc8d16ecf206517ef7e/aiohttp-3.12.12-cp312-cp312-win32.whl", hash = "sha256:8098a48f93b2cbcdb5778e7c9a0e0375363e40ad692348e6e65c3b70d593b27c", size = 421762, upload-time = "2025-06-10T05:20:22.063Z" }, + { url = "https://files.pythonhosted.org/packages/ab/47/151f657e429972916f61399bd52b410e9072d5a2cae1b794f890930e5797/aiohttp-3.12.12-cp312-cp312-win_amd64.whl", hash = "sha256:d1c1879b2e0fc337d7a1b63fe950553c2b9e93c071cf95928aeea1902d441403", size = 447863, upload-time = "2025-06-10T05:20:24.326Z" }, ] [[package]] @@ -70,18 +70,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "frozenlist" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ba/b5/6d55e80f6d8a08ce22b982eafa278d823b541c925f11ee774b0b9c43473d/aiosignal-1.3.2.tar.gz", hash = "sha256:a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54", size = 19424, upload_time = "2024-12-13T17:10:40.86Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/b5/6d55e80f6d8a08ce22b982eafa278d823b541c925f11ee774b0b9c43473d/aiosignal-1.3.2.tar.gz", hash = "sha256:a8c255c66fafb1e499c9351d0bf32ff2d8a0321595ebac3b93713656d2436f54", size = 19424, upload-time = "2024-12-13T17:10:40.86Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ec/6a/bc7e17a3e87a2985d3e8f4da4cd0f481060eb78fb08596c42be62c90a4d9/aiosignal-1.3.2-py2.py3-none-any.whl", hash = "sha256:45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5", size = 7597, upload_time = "2024-12-13T17:10:38.469Z" }, + { url = "https://files.pythonhosted.org/packages/ec/6a/bc7e17a3e87a2985d3e8f4da4cd0f481060eb78fb08596c42be62c90a4d9/aiosignal-1.3.2-py2.py3-none-any.whl", hash = "sha256:45cde58e409a301715980c2b01d0c28bdde3770d8290b5eb2173759d9acb31a5", size = 7597, upload-time = "2024-12-13T17:10:38.469Z" }, ] [[package]] name = "annotated-types" version = "0.7.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload_time = "2024-05-20T21:33:25.928Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/67/531ea369ba64dcff5ec9c3402f9f51bf748cec26dde048a2f973a4eea7f5/annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89", size = 16081, upload-time = "2024-05-20T21:33:25.928Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload_time = "2024-05-20T21:33:24.1Z" }, + { url = "https://files.pythonhosted.org/packages/78/b6/6307fbef88d9b5ee7421e68d78a9f162e0da4900bc5f5793f6d3d0e34fb8/annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53", size = 13643, upload-time = "2024-05-20T21:33:24.1Z" }, ] [[package]] @@ -93,27 +93,27 @@ dependencies = [ { name = "sniffio" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949, upload_time = "2025-03-17T00:02:54.77Z" } +sdist = { url = "https://files.pythonhosted.org/packages/95/7d/4c1bd541d4dffa1b52bd83fb8527089e097a106fc90b467a7313b105f840/anyio-4.9.0.tar.gz", hash = "sha256:673c0c244e15788651a4ff38710fea9675823028a6f08a5eda409e0c9840a028", size = 190949, upload-time = "2025-03-17T00:02:54.77Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916, upload_time = "2025-03-17T00:02:52.713Z" }, + { url = "https://files.pythonhosted.org/packages/a1/ee/48ca1a7c89ffec8b6a0c5d02b89c305671d5ffd8d3c94acf8b8c408575bb/anyio-4.9.0-py3-none-any.whl", hash = "sha256:9f76d541cad6e36af7beb62e978876f3b41e3e04f2c1fbf0884604c0a9c4d93c", size = 100916, upload-time = "2025-03-17T00:02:52.713Z" }, ] [[package]] name = "asttokens" version = "3.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978, upload_time = "2024-11-30T04:30:14.439Z" } +sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978, upload-time = "2024-11-30T04:30:14.439Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload_time = "2024-11-30T04:30:10.946Z" }, + { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload-time = "2024-11-30T04:30:10.946Z" }, ] [[package]] name = "attrs" version = "25.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload_time = "2025-03-13T11:10:22.779Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5a/b0/1367933a8532ee6ff8d63537de4f1177af4bff9f3e829baf7331f595bb24/attrs-25.3.0.tar.gz", hash = "sha256:75d7cefc7fb576747b2c81b4442d4d4a1ce0900973527c011d1030fd3bf4af1b", size = 812032, upload-time = "2025-03-13T11:10:22.779Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload_time = "2025-03-13T11:10:21.14Z" }, + { url = "https://files.pythonhosted.org/packages/77/06/bb80f5f86020c4551da315d78b3ab75e8228f89f0162f2c3a819e407941a/attrs-25.3.0-py3-none-any.whl", hash = "sha256:427318ce031701fea540783410126f03899a97ffc6f61596ad581ac2e40e3bc3", size = 63815, upload-time = "2025-03-13T11:10:21.14Z" }, ] [[package]] @@ -123,9 +123,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cryptography" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a2/9d/b1e08d36899c12c8b894a44a5583ee157789f26fc4b176f8e4b6217b56e1/authlib-1.6.0.tar.gz", hash = "sha256:4367d32031b7af175ad3a323d571dc7257b7099d55978087ceae4a0d88cd3210", size = 158371, upload_time = "2025-05-23T00:21:45.011Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/9d/b1e08d36899c12c8b894a44a5583ee157789f26fc4b176f8e4b6217b56e1/authlib-1.6.0.tar.gz", hash = "sha256:4367d32031b7af175ad3a323d571dc7257b7099d55978087ceae4a0d88cd3210", size = 158371, upload-time = "2025-05-23T00:21:45.011Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/84/29/587c189bbab1ccc8c86a03a5d0e13873df916380ef1be461ebe6acebf48d/authlib-1.6.0-py2.py3-none-any.whl", hash = "sha256:91685589498f79e8655e8a8947431ad6288831d643f11c55c2143ffcc738048d", size = 239981, upload_time = "2025-05-23T00:21:43.075Z" }, + { url = "https://files.pythonhosted.org/packages/84/29/587c189bbab1ccc8c86a03a5d0e13873df916380ef1be461ebe6acebf48d/authlib-1.6.0-py2.py3-none-any.whl", hash = "sha256:91685589498f79e8655e8a8947431ad6288831d643f11c55c2143ffcc738048d", size = 239981, upload-time = "2025-05-23T00:21:43.075Z" }, ] [[package]] @@ -136,9 +136,9 @@ dependencies = [ { name = "soupsieve" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d8/e4/0c4c39e18fd76d6a628d4dd8da40543d136ce2d1752bd6eeeab0791f4d6b/beautifulsoup4-4.13.4.tar.gz", hash = "sha256:dbb3c4e1ceae6aefebdaf2423247260cd062430a410e38c66f2baa50a8437195", size = 621067, upload_time = "2025-04-15T17:05:13.836Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/e4/0c4c39e18fd76d6a628d4dd8da40543d136ce2d1752bd6eeeab0791f4d6b/beautifulsoup4-4.13.4.tar.gz", hash = "sha256:dbb3c4e1ceae6aefebdaf2423247260cd062430a410e38c66f2baa50a8437195", size = 621067, upload-time = "2025-04-15T17:05:13.836Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/50/cd/30110dc0ffcf3b131156077b90e9f60ed75711223f306da4db08eff8403b/beautifulsoup4-4.13.4-py3-none-any.whl", hash = "sha256:9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b", size = 187285, upload_time = "2025-04-15T17:05:12.221Z" }, + { url = "https://files.pythonhosted.org/packages/50/cd/30110dc0ffcf3b131156077b90e9f60ed75711223f306da4db08eff8403b/beautifulsoup4-4.13.4-py3-none-any.whl", hash = "sha256:9bbbb14bfde9d79f38b8cd5f8c7c85f4b8f2523190ebed90e950a8dea4cb1c4b", size = 187285, upload-time = "2025-04-15T17:05:12.221Z" }, ] [[package]] @@ -148,9 +148,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "webencodings" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083, upload_time = "2024-10-29T18:30:40.477Z" } +sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083, upload-time = "2024-10-29T18:30:40.477Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fc/55/96142937f66150805c25c4d0f31ee4132fd33497753400734f9dfdcbdc66/bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e", size = 163406, upload_time = "2024-10-29T18:30:38.186Z" }, + { url = "https://files.pythonhosted.org/packages/fc/55/96142937f66150805c25c4d0f31ee4132fd33497753400734f9dfdcbdc66/bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e", size = 163406, upload-time = "2024-10-29T18:30:38.186Z" }, ] [package.optional-dependencies] @@ -162,24 +162,24 @@ css = [ name = "cachetools" version = "5.5.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6c/81/3747dad6b14fa2cf53fcf10548cf5aea6913e96fab41a3c198676f8948a5/cachetools-5.5.2.tar.gz", hash = "sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4", size = 28380, upload_time = "2025-02-20T21:01:19.524Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/81/3747dad6b14fa2cf53fcf10548cf5aea6913e96fab41a3c198676f8948a5/cachetools-5.5.2.tar.gz", hash = "sha256:1a661caa9175d26759571b2e19580f9d6393969e5dfca11fdb1f947a23e640d4", size = 28380, upload-time = "2025-02-20T21:01:19.524Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/72/76/20fa66124dbe6be5cafeb312ece67de6b61dd91a0247d1ea13db4ebb33c2/cachetools-5.5.2-py3-none-any.whl", hash = "sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a", size = 10080, upload_time = "2025-02-20T21:01:16.647Z" }, + { url = "https://files.pythonhosted.org/packages/72/76/20fa66124dbe6be5cafeb312ece67de6b61dd91a0247d1ea13db4ebb33c2/cachetools-5.5.2-py3-none-any.whl", hash = "sha256:d26a22bcc62eb95c3beabd9f1ee5e820d3d2704fe2967cbe350e20c8ffcd3f0a", size = 10080, upload-time = "2025-02-20T21:01:16.647Z" }, ] [[package]] name = "cbor" version = "1.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9b/99/01c6a987c920500189eb74a291bd3a388e6c7cf85736bb6b066d9833315e/cbor-1.0.0.tar.gz", hash = "sha256:13225a262ddf5615cbd9fd55a76a0d53069d18b07d2e9f19c39e6acb8609bbb6", size = 20096, upload_time = "2016-02-09T23:11:12.726Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9b/99/01c6a987c920500189eb74a291bd3a388e6c7cf85736bb6b066d9833315e/cbor-1.0.0.tar.gz", hash = "sha256:13225a262ddf5615cbd9fd55a76a0d53069d18b07d2e9f19c39e6acb8609bbb6", size = 20096, upload-time = "2016-02-09T23:11:12.726Z" } [[package]] name = "certifi" version = "2025.4.26" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e8/9e/c05b3920a3b7d20d3d3310465f50348e5b3694f4f88c6daf736eef3024c4/certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", size = 160705, upload_time = "2025-04-26T02:12:29.51Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e8/9e/c05b3920a3b7d20d3d3310465f50348e5b3694f4f88c6daf736eef3024c4/certifi-2025.4.26.tar.gz", hash = "sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6", size = 160705, upload-time = "2025-04-26T02:12:29.51Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618, upload_time = "2025-04-26T02:12:27.662Z" }, + { url = "https://files.pythonhosted.org/packages/4a/7e/3db2bd1b1f9e95f7cddca6d6e75e2f2bd9f51b1246e546d88addca0106bd/certifi-2025.4.26-py3-none-any.whl", hash = "sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3", size = 159618, upload-time = "2025-04-26T02:12:27.662Z" }, ] [[package]] @@ -189,41 +189,41 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pycparser" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload_time = "2024-09-04T20:45:21.852Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fc/97/c783634659c2920c3fc70419e3af40972dbaf758daa229a7d6ea6135c90d/cffi-1.17.1.tar.gz", hash = "sha256:1c39c6016c32bc48dd54561950ebd6836e1670f2ae46128f67cf49e789c52824", size = 516621, upload-time = "2024-09-04T20:45:21.852Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload_time = "2024-09-04T20:44:12.232Z" }, - { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload_time = "2024-09-04T20:44:13.739Z" }, - { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload_time = "2024-09-04T20:44:15.231Z" }, - { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload_time = "2024-09-04T20:44:17.188Z" }, - { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload_time = "2024-09-04T20:44:18.688Z" }, - { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload_time = "2024-09-04T20:44:20.248Z" }, - { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload_time = "2024-09-04T20:44:21.673Z" }, - { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload_time = "2024-09-04T20:44:23.245Z" }, - { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload_time = "2024-09-04T20:44:24.757Z" }, - { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload_time = "2024-09-04T20:44:26.208Z" }, - { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload_time = "2024-09-04T20:44:27.578Z" }, + { url = "https://files.pythonhosted.org/packages/5a/84/e94227139ee5fb4d600a7a4927f322e1d4aea6fdc50bd3fca8493caba23f/cffi-1.17.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:805b4371bf7197c329fcb3ead37e710d1bca9da5d583f5073b799d5c5bd1eee4", size = 183178, upload-time = "2024-09-04T20:44:12.232Z" }, + { url = "https://files.pythonhosted.org/packages/da/ee/fb72c2b48656111c4ef27f0f91da355e130a923473bf5ee75c5643d00cca/cffi-1.17.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:733e99bc2df47476e3848417c5a4540522f234dfd4ef3ab7fafdf555b082ec0c", size = 178840, upload-time = "2024-09-04T20:44:13.739Z" }, + { url = "https://files.pythonhosted.org/packages/cc/b6/db007700f67d151abadf508cbfd6a1884f57eab90b1bb985c4c8c02b0f28/cffi-1.17.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1257bdabf294dceb59f5e70c64a3e2f462c30c7ad68092d01bbbfb1c16b1ba36", size = 454803, upload-time = "2024-09-04T20:44:15.231Z" }, + { url = "https://files.pythonhosted.org/packages/1a/df/f8d151540d8c200eb1c6fba8cd0dfd40904f1b0682ea705c36e6c2e97ab3/cffi-1.17.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da95af8214998d77a98cc14e3a3bd00aa191526343078b530ceb0bd710fb48a5", size = 478850, upload-time = "2024-09-04T20:44:17.188Z" }, + { url = "https://files.pythonhosted.org/packages/28/c0/b31116332a547fd2677ae5b78a2ef662dfc8023d67f41b2a83f7c2aa78b1/cffi-1.17.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d63afe322132c194cf832bfec0dc69a99fb9bb6bbd550f161a49e9e855cc78ff", size = 485729, upload-time = "2024-09-04T20:44:18.688Z" }, + { url = "https://files.pythonhosted.org/packages/91/2b/9a1ddfa5c7f13cab007a2c9cc295b70fbbda7cb10a286aa6810338e60ea1/cffi-1.17.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f79fc4fc25f1c8698ff97788206bb3c2598949bfe0fef03d299eb1b5356ada99", size = 471256, upload-time = "2024-09-04T20:44:20.248Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d5/da47df7004cb17e4955df6a43d14b3b4ae77737dff8bf7f8f333196717bf/cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b62ce867176a75d03a665bad002af8e6d54644fad99a3c70905c543130e39d93", size = 479424, upload-time = "2024-09-04T20:44:21.673Z" }, + { url = "https://files.pythonhosted.org/packages/0b/ac/2a28bcf513e93a219c8a4e8e125534f4f6db03e3179ba1c45e949b76212c/cffi-1.17.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:386c8bf53c502fff58903061338ce4f4950cbdcb23e2902d86c0f722b786bbe3", size = 484568, upload-time = "2024-09-04T20:44:23.245Z" }, + { url = "https://files.pythonhosted.org/packages/d4/38/ca8a4f639065f14ae0f1d9751e70447a261f1a30fa7547a828ae08142465/cffi-1.17.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ceb10419a9adf4460ea14cfd6bc43d08701f0835e979bf821052f1805850fe8", size = 488736, upload-time = "2024-09-04T20:44:24.757Z" }, + { url = "https://files.pythonhosted.org/packages/86/c5/28b2d6f799ec0bdecf44dced2ec5ed43e0eb63097b0f58c293583b406582/cffi-1.17.1-cp312-cp312-win32.whl", hash = "sha256:a08d7e755f8ed21095a310a693525137cfe756ce62d066e53f502a83dc550f65", size = 172448, upload-time = "2024-09-04T20:44:26.208Z" }, + { url = "https://files.pythonhosted.org/packages/50/b9/db34c4755a7bd1cb2d1603ac3863f22bcecbd1ba29e5ee841a4bc510b294/cffi-1.17.1-cp312-cp312-win_amd64.whl", hash = "sha256:51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903", size = 181976, upload-time = "2024-09-04T20:44:27.578Z" }, ] [[package]] name = "charset-normalizer" version = "3.4.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload_time = "2025-05-02T08:34:42.01Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e4/33/89c2ced2b67d1c2a61c19c6751aa8902d46ce3dacb23600a283619f5a12d/charset_normalizer-3.4.2.tar.gz", hash = "sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63", size = 126367, upload-time = "2025-05-02T08:34:42.01Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936, upload_time = "2025-05-02T08:32:33.712Z" }, - { url = "https://files.pythonhosted.org/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790, upload_time = "2025-05-02T08:32:35.768Z" }, - { url = "https://files.pythonhosted.org/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924, upload_time = "2025-05-02T08:32:37.284Z" }, - { url = "https://files.pythonhosted.org/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626, upload_time = "2025-05-02T08:32:38.803Z" }, - { url = "https://files.pythonhosted.org/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567, upload_time = "2025-05-02T08:32:40.251Z" }, - { url = "https://files.pythonhosted.org/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957, upload_time = "2025-05-02T08:32:41.705Z" }, - { url = "https://files.pythonhosted.org/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408, upload_time = "2025-05-02T08:32:43.709Z" }, - { url = "https://files.pythonhosted.org/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399, upload_time = "2025-05-02T08:32:46.197Z" }, - { url = "https://files.pythonhosted.org/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815, upload_time = "2025-05-02T08:32:48.105Z" }, - { url = "https://files.pythonhosted.org/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537, upload_time = "2025-05-02T08:32:49.719Z" }, - { url = "https://files.pythonhosted.org/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565, upload_time = "2025-05-02T08:32:51.404Z" }, - { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357, upload_time = "2025-05-02T08:32:53.079Z" }, - { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776, upload_time = "2025-05-02T08:32:54.573Z" }, - { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload_time = "2025-05-02T08:34:40.053Z" }, + { url = "https://files.pythonhosted.org/packages/d7/a4/37f4d6035c89cac7930395a35cc0f1b872e652eaafb76a6075943754f095/charset_normalizer-3.4.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7", size = 199936, upload-time = "2025-05-02T08:32:33.712Z" }, + { url = "https://files.pythonhosted.org/packages/ee/8a/1a5e33b73e0d9287274f899d967907cd0bf9c343e651755d9307e0dbf2b3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3", size = 143790, upload-time = "2025-05-02T08:32:35.768Z" }, + { url = "https://files.pythonhosted.org/packages/66/52/59521f1d8e6ab1482164fa21409c5ef44da3e9f653c13ba71becdd98dec3/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a", size = 153924, upload-time = "2025-05-02T08:32:37.284Z" }, + { url = "https://files.pythonhosted.org/packages/86/2d/fb55fdf41964ec782febbf33cb64be480a6b8f16ded2dbe8db27a405c09f/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214", size = 146626, upload-time = "2025-05-02T08:32:38.803Z" }, + { url = "https://files.pythonhosted.org/packages/8c/73/6ede2ec59bce19b3edf4209d70004253ec5f4e319f9a2e3f2f15601ed5f7/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a", size = 148567, upload-time = "2025-05-02T08:32:40.251Z" }, + { url = "https://files.pythonhosted.org/packages/09/14/957d03c6dc343c04904530b6bef4e5efae5ec7d7990a7cbb868e4595ee30/charset_normalizer-3.4.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd", size = 150957, upload-time = "2025-05-02T08:32:41.705Z" }, + { url = "https://files.pythonhosted.org/packages/0d/c8/8174d0e5c10ccebdcb1b53cc959591c4c722a3ad92461a273e86b9f5a302/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981", size = 145408, upload-time = "2025-05-02T08:32:43.709Z" }, + { url = "https://files.pythonhosted.org/packages/58/aa/8904b84bc8084ac19dc52feb4f5952c6df03ffb460a887b42615ee1382e8/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c", size = 153399, upload-time = "2025-05-02T08:32:46.197Z" }, + { url = "https://files.pythonhosted.org/packages/c2/26/89ee1f0e264d201cb65cf054aca6038c03b1a0c6b4ae998070392a3ce605/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b", size = 156815, upload-time = "2025-05-02T08:32:48.105Z" }, + { url = "https://files.pythonhosted.org/packages/fd/07/68e95b4b345bad3dbbd3a8681737b4338ff2c9df29856a6d6d23ac4c73cb/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d", size = 154537, upload-time = "2025-05-02T08:32:49.719Z" }, + { url = "https://files.pythonhosted.org/packages/77/1a/5eefc0ce04affb98af07bc05f3bac9094513c0e23b0562d64af46a06aae4/charset_normalizer-3.4.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f", size = 149565, upload-time = "2025-05-02T08:32:51.404Z" }, + { url = "https://files.pythonhosted.org/packages/37/a0/2410e5e6032a174c95e0806b1a6585eb21e12f445ebe239fac441995226a/charset_normalizer-3.4.2-cp312-cp312-win32.whl", hash = "sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c", size = 98357, upload-time = "2025-05-02T08:32:53.079Z" }, + { url = "https://files.pythonhosted.org/packages/6c/4f/c02d5c493967af3eda9c771ad4d2bbc8df6f99ddbeb37ceea6e8716a32bc/charset_normalizer-3.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e", size = 105776, upload-time = "2025-05-02T08:32:54.573Z" }, + { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626, upload-time = "2025-05-02T08:34:40.053Z" }, ] [[package]] @@ -233,27 +233,27 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload_time = "2025-05-20T23:19:49.832Z" } +sdist = { url = "https://files.pythonhosted.org/packages/60/6c/8ca2efa64cf75a977a0d7fac081354553ebe483345c734fb6b6515d96bbc/click-8.2.1.tar.gz", hash = "sha256:27c491cc05d968d271d5a1db13e3b5a184636d9d930f148c50b038f0d0646202", size = 286342, upload-time = "2025-05-20T23:19:49.832Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload_time = "2025-05-20T23:19:47.796Z" }, + { url = "https://files.pythonhosted.org/packages/85/32/10bb5764d90a8eee674e9dc6f4db6a0ab47c8c4d0d83c27f7c39ac415a4d/click-8.2.1-py3-none-any.whl", hash = "sha256:61a3265b914e850b85317d0b3109c7f8cd35a670f963866005d6ef1d5175a12b", size = 102215, upload-time = "2025-05-20T23:19:47.796Z" }, ] [[package]] name = "cloudpickle" version = "3.1.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/52/39/069100b84d7418bc358d81669d5748efb14b9cceacd2f9c75f550424132f/cloudpickle-3.1.1.tar.gz", hash = "sha256:b216fa8ae4019d5482a8ac3c95d8f6346115d8835911fd4aefd1a445e4242c64", size = 22113, upload_time = "2025-01-14T17:02:05.085Z" } +sdist = { url = "https://files.pythonhosted.org/packages/52/39/069100b84d7418bc358d81669d5748efb14b9cceacd2f9c75f550424132f/cloudpickle-3.1.1.tar.gz", hash = "sha256:b216fa8ae4019d5482a8ac3c95d8f6346115d8835911fd4aefd1a445e4242c64", size = 22113, upload-time = "2025-01-14T17:02:05.085Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/e8/64c37fadfc2816a7701fa8a6ed8d87327c7d54eacfbfb6edab14a2f2be75/cloudpickle-3.1.1-py3-none-any.whl", hash = "sha256:c8c5a44295039331ee9dad40ba100a9c7297b6f988e50e87ccdf3765a668350e", size = 20992, upload_time = "2025-01-14T17:02:02.417Z" }, + { url = "https://files.pythonhosted.org/packages/7e/e8/64c37fadfc2816a7701fa8a6ed8d87327c7d54eacfbfb6edab14a2f2be75/cloudpickle-3.1.1-py3-none-any.whl", hash = "sha256:c8c5a44295039331ee9dad40ba100a9c7297b6f988e50e87ccdf3765a668350e", size = 20992, upload-time = "2025-01-14T17:02:02.417Z" }, ] [[package]] name = "colorama" version = "0.4.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload_time = "2022-10-25T02:36:22.414Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload_time = "2022-10-25T02:36:20.889Z" }, + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, ] [[package]] @@ -263,32 +263,32 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi", marker = "platform_python_implementation != 'PyPy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/fe/c8/a2a376a8711c1e11708b9c9972e0c3223f5fc682552c82d8db844393d6ce/cryptography-45.0.4.tar.gz", hash = "sha256:7405ade85c83c37682c8fe65554759800a4a8c54b2d96e0f8ad114d31b808d57", size = 744890, upload_time = "2025-06-10T00:03:51.297Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/1c/92637793de053832523b410dbe016d3f5c11b41d0cf6eef8787aabb51d41/cryptography-45.0.4-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:425a9a6ac2823ee6e46a76a21a4e8342d8fa5c01e08b823c1f19a8b74f096069", size = 7055712, upload_time = "2025-06-10T00:02:38.826Z" }, - { url = "https://files.pythonhosted.org/packages/ba/14/93b69f2af9ba832ad6618a03f8a034a5851dc9a3314336a3d71c252467e1/cryptography-45.0.4-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:680806cf63baa0039b920f4976f5f31b10e772de42f16310a6839d9f21a26b0d", size = 4205335, upload_time = "2025-06-10T00:02:41.64Z" }, - { url = "https://files.pythonhosted.org/packages/67/30/fae1000228634bf0b647fca80403db5ca9e3933b91dd060570689f0bd0f7/cryptography-45.0.4-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4ca0f52170e821bc8da6fc0cc565b7bb8ff8d90d36b5e9fdd68e8a86bdf72036", size = 4431487, upload_time = "2025-06-10T00:02:43.696Z" }, - { url = "https://files.pythonhosted.org/packages/6d/5a/7dffcf8cdf0cb3c2430de7404b327e3db64735747d641fc492539978caeb/cryptography-45.0.4-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f3fe7a5ae34d5a414957cc7f457e2b92076e72938423ac64d215722f6cf49a9e", size = 4208922, upload_time = "2025-06-10T00:02:45.334Z" }, - { url = "https://files.pythonhosted.org/packages/c6/f3/528729726eb6c3060fa3637253430547fbaaea95ab0535ea41baa4a6fbd8/cryptography-45.0.4-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:25eb4d4d3e54595dc8adebc6bbd5623588991d86591a78c2548ffb64797341e2", size = 3900433, upload_time = "2025-06-10T00:02:47.359Z" }, - { url = "https://files.pythonhosted.org/packages/d9/4a/67ba2e40f619e04d83c32f7e1d484c1538c0800a17c56a22ff07d092ccc1/cryptography-45.0.4-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ce1678a2ccbe696cf3af15a75bb72ee008d7ff183c9228592ede9db467e64f1b", size = 4464163, upload_time = "2025-06-10T00:02:49.412Z" }, - { url = "https://files.pythonhosted.org/packages/7e/9a/b4d5aa83661483ac372464809c4b49b5022dbfe36b12fe9e323ca8512420/cryptography-45.0.4-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:49fe9155ab32721b9122975e168a6760d8ce4cffe423bcd7ca269ba41b5dfac1", size = 4208687, upload_time = "2025-06-10T00:02:50.976Z" }, - { url = "https://files.pythonhosted.org/packages/db/b7/a84bdcd19d9c02ec5807f2ec2d1456fd8451592c5ee353816c09250e3561/cryptography-45.0.4-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:2882338b2a6e0bd337052e8b9007ced85c637da19ef9ecaf437744495c8c2999", size = 4463623, upload_time = "2025-06-10T00:02:52.542Z" }, - { url = "https://files.pythonhosted.org/packages/d8/84/69707d502d4d905021cac3fb59a316344e9f078b1da7fb43ecde5e10840a/cryptography-45.0.4-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:23b9c3ea30c3ed4db59e7b9619272e94891f8a3a5591d0b656a7582631ccf750", size = 4332447, upload_time = "2025-06-10T00:02:54.63Z" }, - { url = "https://files.pythonhosted.org/packages/f3/ee/d4f2ab688e057e90ded24384e34838086a9b09963389a5ba6854b5876598/cryptography-45.0.4-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b0a97c927497e3bc36b33987abb99bf17a9a175a19af38a892dc4bbb844d7ee2", size = 4572830, upload_time = "2025-06-10T00:02:56.689Z" }, - { url = "https://files.pythonhosted.org/packages/70/d4/994773a261d7ff98034f72c0e8251fe2755eac45e2265db4c866c1c6829c/cryptography-45.0.4-cp311-abi3-win32.whl", hash = "sha256:e00a6c10a5c53979d6242f123c0a97cff9f3abed7f064fc412c36dc521b5f257", size = 2932769, upload_time = "2025-06-10T00:02:58.467Z" }, - { url = "https://files.pythonhosted.org/packages/5a/42/c80bd0b67e9b769b364963b5252b17778a397cefdd36fa9aa4a5f34c599a/cryptography-45.0.4-cp311-abi3-win_amd64.whl", hash = "sha256:817ee05c6c9f7a69a16200f0c90ab26d23a87701e2a284bd15156783e46dbcc8", size = 3410441, upload_time = "2025-06-10T00:03:00.14Z" }, - { url = "https://files.pythonhosted.org/packages/ce/0b/2488c89f3a30bc821c9d96eeacfcab6ff3accc08a9601ba03339c0fd05e5/cryptography-45.0.4-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:964bcc28d867e0f5491a564b7debb3ffdd8717928d315d12e0d7defa9e43b723", size = 7031836, upload_time = "2025-06-10T00:03:01.726Z" }, - { url = "https://files.pythonhosted.org/packages/fe/51/8c584ed426093aac257462ae62d26ad61ef1cbf5b58d8b67e6e13c39960e/cryptography-45.0.4-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6a5bf57554e80f75a7db3d4b1dacaa2764611ae166ab42ea9a72bcdb5d577637", size = 4195746, upload_time = "2025-06-10T00:03:03.94Z" }, - { url = "https://files.pythonhosted.org/packages/5c/7d/4b0ca4d7af95a704eef2f8f80a8199ed236aaf185d55385ae1d1610c03c2/cryptography-45.0.4-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:46cf7088bf91bdc9b26f9c55636492c1cce3e7aaf8041bbf0243f5e5325cfb2d", size = 4424456, upload_time = "2025-06-10T00:03:05.589Z" }, - { url = "https://files.pythonhosted.org/packages/1d/45/5fabacbc6e76ff056f84d9f60eeac18819badf0cefc1b6612ee03d4ab678/cryptography-45.0.4-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7bedbe4cc930fa4b100fc845ea1ea5788fcd7ae9562e669989c11618ae8d76ee", size = 4198495, upload_time = "2025-06-10T00:03:09.172Z" }, - { url = "https://files.pythonhosted.org/packages/55/b7/ffc9945b290eb0a5d4dab9b7636706e3b5b92f14ee5d9d4449409d010d54/cryptography-45.0.4-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:eaa3e28ea2235b33220b949c5a0d6cf79baa80eab2eb5607ca8ab7525331b9ff", size = 3885540, upload_time = "2025-06-10T00:03:10.835Z" }, - { url = "https://files.pythonhosted.org/packages/7f/e3/57b010282346980475e77d414080acdcb3dab9a0be63071efc2041a2c6bd/cryptography-45.0.4-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:7ef2dde4fa9408475038fc9aadfc1fb2676b174e68356359632e980c661ec8f6", size = 4452052, upload_time = "2025-06-10T00:03:12.448Z" }, - { url = "https://files.pythonhosted.org/packages/37/e6/ddc4ac2558bf2ef517a358df26f45bc774a99bf4653e7ee34b5e749c03e3/cryptography-45.0.4-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:6a3511ae33f09094185d111160fd192c67aa0a2a8d19b54d36e4c78f651dc5ad", size = 4198024, upload_time = "2025-06-10T00:03:13.976Z" }, - { url = "https://files.pythonhosted.org/packages/3a/c0/85fa358ddb063ec588aed4a6ea1df57dc3e3bc1712d87c8fa162d02a65fc/cryptography-45.0.4-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:06509dc70dd71fa56eaa138336244e2fbaf2ac164fc9b5e66828fccfd2b680d6", size = 4451442, upload_time = "2025-06-10T00:03:16.248Z" }, - { url = "https://files.pythonhosted.org/packages/33/67/362d6ec1492596e73da24e669a7fbbaeb1c428d6bf49a29f7a12acffd5dc/cryptography-45.0.4-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:5f31e6b0a5a253f6aa49be67279be4a7e5a4ef259a9f33c69f7d1b1191939872", size = 4325038, upload_time = "2025-06-10T00:03:18.4Z" }, - { url = "https://files.pythonhosted.org/packages/53/75/82a14bf047a96a1b13ebb47fb9811c4f73096cfa2e2b17c86879687f9027/cryptography-45.0.4-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:944e9ccf67a9594137f942d5b52c8d238b1b4e46c7a0c2891b7ae6e01e7c80a4", size = 4560964, upload_time = "2025-06-10T00:03:20.06Z" }, - { url = "https://files.pythonhosted.org/packages/cd/37/1a3cba4c5a468ebf9b95523a5ef5651244693dc712001e276682c278fc00/cryptography-45.0.4-cp37-abi3-win32.whl", hash = "sha256:c22fe01e53dc65edd1945a2e6f0015e887f84ced233acecb64b4daadb32f5c97", size = 2924557, upload_time = "2025-06-10T00:03:22.563Z" }, - { url = "https://files.pythonhosted.org/packages/2a/4b/3256759723b7e66380397d958ca07c59cfc3fb5c794fb5516758afd05d41/cryptography-45.0.4-cp37-abi3-win_amd64.whl", hash = "sha256:627ba1bc94f6adf0b0a2e35d87020285ead22d9f648c7e75bb64f367375f3b22", size = 3395508, upload_time = "2025-06-10T00:03:24.586Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/fe/c8/a2a376a8711c1e11708b9c9972e0c3223f5fc682552c82d8db844393d6ce/cryptography-45.0.4.tar.gz", hash = "sha256:7405ade85c83c37682c8fe65554759800a4a8c54b2d96e0f8ad114d31b808d57", size = 744890, upload-time = "2025-06-10T00:03:51.297Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/1c/92637793de053832523b410dbe016d3f5c11b41d0cf6eef8787aabb51d41/cryptography-45.0.4-cp311-abi3-macosx_10_9_universal2.whl", hash = "sha256:425a9a6ac2823ee6e46a76a21a4e8342d8fa5c01e08b823c1f19a8b74f096069", size = 7055712, upload-time = "2025-06-10T00:02:38.826Z" }, + { url = "https://files.pythonhosted.org/packages/ba/14/93b69f2af9ba832ad6618a03f8a034a5851dc9a3314336a3d71c252467e1/cryptography-45.0.4-cp311-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:680806cf63baa0039b920f4976f5f31b10e772de42f16310a6839d9f21a26b0d", size = 4205335, upload-time = "2025-06-10T00:02:41.64Z" }, + { url = "https://files.pythonhosted.org/packages/67/30/fae1000228634bf0b647fca80403db5ca9e3933b91dd060570689f0bd0f7/cryptography-45.0.4-cp311-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:4ca0f52170e821bc8da6fc0cc565b7bb8ff8d90d36b5e9fdd68e8a86bdf72036", size = 4431487, upload-time = "2025-06-10T00:02:43.696Z" }, + { url = "https://files.pythonhosted.org/packages/6d/5a/7dffcf8cdf0cb3c2430de7404b327e3db64735747d641fc492539978caeb/cryptography-45.0.4-cp311-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:f3fe7a5ae34d5a414957cc7f457e2b92076e72938423ac64d215722f6cf49a9e", size = 4208922, upload-time = "2025-06-10T00:02:45.334Z" }, + { url = "https://files.pythonhosted.org/packages/c6/f3/528729726eb6c3060fa3637253430547fbaaea95ab0535ea41baa4a6fbd8/cryptography-45.0.4-cp311-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:25eb4d4d3e54595dc8adebc6bbd5623588991d86591a78c2548ffb64797341e2", size = 3900433, upload-time = "2025-06-10T00:02:47.359Z" }, + { url = "https://files.pythonhosted.org/packages/d9/4a/67ba2e40f619e04d83c32f7e1d484c1538c0800a17c56a22ff07d092ccc1/cryptography-45.0.4-cp311-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:ce1678a2ccbe696cf3af15a75bb72ee008d7ff183c9228592ede9db467e64f1b", size = 4464163, upload-time = "2025-06-10T00:02:49.412Z" }, + { url = "https://files.pythonhosted.org/packages/7e/9a/b4d5aa83661483ac372464809c4b49b5022dbfe36b12fe9e323ca8512420/cryptography-45.0.4-cp311-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:49fe9155ab32721b9122975e168a6760d8ce4cffe423bcd7ca269ba41b5dfac1", size = 4208687, upload-time = "2025-06-10T00:02:50.976Z" }, + { url = "https://files.pythonhosted.org/packages/db/b7/a84bdcd19d9c02ec5807f2ec2d1456fd8451592c5ee353816c09250e3561/cryptography-45.0.4-cp311-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:2882338b2a6e0bd337052e8b9007ced85c637da19ef9ecaf437744495c8c2999", size = 4463623, upload-time = "2025-06-10T00:02:52.542Z" }, + { url = "https://files.pythonhosted.org/packages/d8/84/69707d502d4d905021cac3fb59a316344e9f078b1da7fb43ecde5e10840a/cryptography-45.0.4-cp311-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:23b9c3ea30c3ed4db59e7b9619272e94891f8a3a5591d0b656a7582631ccf750", size = 4332447, upload-time = "2025-06-10T00:02:54.63Z" }, + { url = "https://files.pythonhosted.org/packages/f3/ee/d4f2ab688e057e90ded24384e34838086a9b09963389a5ba6854b5876598/cryptography-45.0.4-cp311-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b0a97c927497e3bc36b33987abb99bf17a9a175a19af38a892dc4bbb844d7ee2", size = 4572830, upload-time = "2025-06-10T00:02:56.689Z" }, + { url = "https://files.pythonhosted.org/packages/70/d4/994773a261d7ff98034f72c0e8251fe2755eac45e2265db4c866c1c6829c/cryptography-45.0.4-cp311-abi3-win32.whl", hash = "sha256:e00a6c10a5c53979d6242f123c0a97cff9f3abed7f064fc412c36dc521b5f257", size = 2932769, upload-time = "2025-06-10T00:02:58.467Z" }, + { url = "https://files.pythonhosted.org/packages/5a/42/c80bd0b67e9b769b364963b5252b17778a397cefdd36fa9aa4a5f34c599a/cryptography-45.0.4-cp311-abi3-win_amd64.whl", hash = "sha256:817ee05c6c9f7a69a16200f0c90ab26d23a87701e2a284bd15156783e46dbcc8", size = 3410441, upload-time = "2025-06-10T00:03:00.14Z" }, + { url = "https://files.pythonhosted.org/packages/ce/0b/2488c89f3a30bc821c9d96eeacfcab6ff3accc08a9601ba03339c0fd05e5/cryptography-45.0.4-cp37-abi3-macosx_10_9_universal2.whl", hash = "sha256:964bcc28d867e0f5491a564b7debb3ffdd8717928d315d12e0d7defa9e43b723", size = 7031836, upload-time = "2025-06-10T00:03:01.726Z" }, + { url = "https://files.pythonhosted.org/packages/fe/51/8c584ed426093aac257462ae62d26ad61ef1cbf5b58d8b67e6e13c39960e/cryptography-45.0.4-cp37-abi3-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:6a5bf57554e80f75a7db3d4b1dacaa2764611ae166ab42ea9a72bcdb5d577637", size = 4195746, upload-time = "2025-06-10T00:03:03.94Z" }, + { url = "https://files.pythonhosted.org/packages/5c/7d/4b0ca4d7af95a704eef2f8f80a8199ed236aaf185d55385ae1d1610c03c2/cryptography-45.0.4-cp37-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:46cf7088bf91bdc9b26f9c55636492c1cce3e7aaf8041bbf0243f5e5325cfb2d", size = 4424456, upload-time = "2025-06-10T00:03:05.589Z" }, + { url = "https://files.pythonhosted.org/packages/1d/45/5fabacbc6e76ff056f84d9f60eeac18819badf0cefc1b6612ee03d4ab678/cryptography-45.0.4-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:7bedbe4cc930fa4b100fc845ea1ea5788fcd7ae9562e669989c11618ae8d76ee", size = 4198495, upload-time = "2025-06-10T00:03:09.172Z" }, + { url = "https://files.pythonhosted.org/packages/55/b7/ffc9945b290eb0a5d4dab9b7636706e3b5b92f14ee5d9d4449409d010d54/cryptography-45.0.4-cp37-abi3-manylinux_2_28_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:eaa3e28ea2235b33220b949c5a0d6cf79baa80eab2eb5607ca8ab7525331b9ff", size = 3885540, upload-time = "2025-06-10T00:03:10.835Z" }, + { url = "https://files.pythonhosted.org/packages/7f/e3/57b010282346980475e77d414080acdcb3dab9a0be63071efc2041a2c6bd/cryptography-45.0.4-cp37-abi3-manylinux_2_28_x86_64.whl", hash = "sha256:7ef2dde4fa9408475038fc9aadfc1fb2676b174e68356359632e980c661ec8f6", size = 4452052, upload-time = "2025-06-10T00:03:12.448Z" }, + { url = "https://files.pythonhosted.org/packages/37/e6/ddc4ac2558bf2ef517a358df26f45bc774a99bf4653e7ee34b5e749c03e3/cryptography-45.0.4-cp37-abi3-manylinux_2_34_aarch64.whl", hash = "sha256:6a3511ae33f09094185d111160fd192c67aa0a2a8d19b54d36e4c78f651dc5ad", size = 4198024, upload-time = "2025-06-10T00:03:13.976Z" }, + { url = "https://files.pythonhosted.org/packages/3a/c0/85fa358ddb063ec588aed4a6ea1df57dc3e3bc1712d87c8fa162d02a65fc/cryptography-45.0.4-cp37-abi3-manylinux_2_34_x86_64.whl", hash = "sha256:06509dc70dd71fa56eaa138336244e2fbaf2ac164fc9b5e66828fccfd2b680d6", size = 4451442, upload-time = "2025-06-10T00:03:16.248Z" }, + { url = "https://files.pythonhosted.org/packages/33/67/362d6ec1492596e73da24e669a7fbbaeb1c428d6bf49a29f7a12acffd5dc/cryptography-45.0.4-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:5f31e6b0a5a253f6aa49be67279be4a7e5a4ef259a9f33c69f7d1b1191939872", size = 4325038, upload-time = "2025-06-10T00:03:18.4Z" }, + { url = "https://files.pythonhosted.org/packages/53/75/82a14bf047a96a1b13ebb47fb9811c4f73096cfa2e2b17c86879687f9027/cryptography-45.0.4-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:944e9ccf67a9594137f942d5b52c8d238b1b4e46c7a0c2891b7ae6e01e7c80a4", size = 4560964, upload-time = "2025-06-10T00:03:20.06Z" }, + { url = "https://files.pythonhosted.org/packages/cd/37/1a3cba4c5a468ebf9b95523a5ef5651244693dc712001e276682c278fc00/cryptography-45.0.4-cp37-abi3-win32.whl", hash = "sha256:c22fe01e53dc65edd1945a2e6f0015e887f84ced233acecb64b4daadb32f5c97", size = 2924557, upload-time = "2025-06-10T00:03:22.563Z" }, + { url = "https://files.pythonhosted.org/packages/2a/4b/3256759723b7e66380397d958ca07c59cfc3fb5c794fb5516758afd05d41/cryptography-45.0.4-cp37-abi3-win_amd64.whl", hash = "sha256:627ba1bc94f6adf0b0a2e35d87020285ead22d9f648c7e75bb64f367375f3b22", size = 3395508, upload-time = "2025-06-10T00:03:24.586Z" }, ] [[package]] @@ -301,9 +301,9 @@ dependencies = [ { name = "rich" }, { name = "rich-rst" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/dc/52/21e319ca0fcd95096e1d34039f4b385ef271c2bc2276cabc5cf41dc32809/cyclopts-3.19.0.tar.gz", hash = "sha256:0825c5dbca16c85ebbcaca8ab0952e9a2b62bacf25c704ab8cdb2ce229d46163", size = 73150, upload_time = "2025-06-12T00:18:59.526Z" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/52/21e319ca0fcd95096e1d34039f4b385ef271c2bc2276cabc5cf41dc32809/cyclopts-3.19.0.tar.gz", hash = "sha256:0825c5dbca16c85ebbcaca8ab0952e9a2b62bacf25c704ab8cdb2ce229d46163", size = 73150, upload-time = "2025-06-12T00:18:59.526Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/82/1d/da668d2c98ac97b811042de24906a32a806606d03bb1eaaf6be51bd6def4/cyclopts-3.19.0-py3-none-any.whl", hash = "sha256:776a5747945bbafd23e007d3813b2bc4e6483adfe9f12f5684e941a726851ee4", size = 83086, upload_time = "2025-06-12T00:18:58.287Z" }, + { url = "https://files.pythonhosted.org/packages/82/1d/da668d2c98ac97b811042de24906a32a806606d03bb1eaaf6be51bd6def4/cyclopts-3.19.0-py3-none-any.whl", hash = "sha256:776a5747945bbafd23e007d3813b2bc4e6483adfe9f12f5684e941a726851ee4", size = 83086, upload-time = "2025-06-12T00:18:58.287Z" }, ] [[package]] @@ -325,87 +325,87 @@ dependencies = [ { name = "tqdm" }, { name = "xxhash" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/1a/89/d3d6fef58a488f8569c82fd293ab7cbd4250244d67f425dcae64c63800ea/datasets-3.6.0.tar.gz", hash = "sha256:1b2bf43b19776e2787e181cfd329cb0ca1a358ea014780c3581e0f276375e041", size = 569336, upload_time = "2025-05-07T15:15:02.659Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1a/89/d3d6fef58a488f8569c82fd293ab7cbd4250244d67f425dcae64c63800ea/datasets-3.6.0.tar.gz", hash = "sha256:1b2bf43b19776e2787e181cfd329cb0ca1a358ea014780c3581e0f276375e041", size = 569336, upload-time = "2025-05-07T15:15:02.659Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/20/34/a08b0ee99715eaba118cbe19a71f7b5e2425c2718ef96007c325944a1152/datasets-3.6.0-py3-none-any.whl", hash = "sha256:25000c4a2c0873a710df127d08a202a06eab7bf42441a6bc278b499c2f72cd1b", size = 491546, upload_time = "2025-05-07T15:14:59.742Z" }, + { url = "https://files.pythonhosted.org/packages/20/34/a08b0ee99715eaba118cbe19a71f7b5e2425c2718ef96007c325944a1152/datasets-3.6.0-py3-none-any.whl", hash = "sha256:25000c4a2c0873a710df127d08a202a06eab7bf42441a6bc278b499c2f72cd1b", size = 491546, upload-time = "2025-05-07T15:14:59.742Z" }, ] [[package]] name = "decorator" version = "5.2.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload_time = "2025-02-24T04:41:34.073Z" } +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload_time = "2025-02-24T04:41:32.565Z" }, + { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" }, ] [[package]] name = "defusedxml" version = "0.7.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520, upload_time = "2021-03-08T10:59:26.269Z" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520, upload-time = "2021-03-08T10:59:26.269Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload_time = "2021-03-08T10:59:24.45Z" }, + { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload-time = "2021-03-08T10:59:24.45Z" }, ] [[package]] name = "dill" version = "0.3.8" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/17/4d/ac7ffa80c69ea1df30a8aa11b3578692a5118e7cd1aa157e3ef73b092d15/dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca", size = 184847, upload_time = "2024-01-27T23:42:16.145Z" } +sdist = { url = "https://files.pythonhosted.org/packages/17/4d/ac7ffa80c69ea1df30a8aa11b3578692a5118e7cd1aa157e3ef73b092d15/dill-0.3.8.tar.gz", hash = "sha256:3ebe3c479ad625c4553aca177444d89b486b1d84982eeacded644afc0cf797ca", size = 184847, upload-time = "2024-01-27T23:42:16.145Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c9/7a/cef76fd8438a42f96db64ddaa85280485a9c395e7df3db8158cfec1eee34/dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7", size = 116252, upload_time = "2024-01-27T23:42:14.239Z" }, + { url = "https://files.pythonhosted.org/packages/c9/7a/cef76fd8438a42f96db64ddaa85280485a9c395e7df3db8158cfec1eee34/dill-0.3.8-py3-none-any.whl", hash = "sha256:c36ca9ffb54365bdd2f8eb3eff7d2a21237f8452b57ace88b1ac615b7e815bd7", size = 116252, upload-time = "2024-01-27T23:42:14.239Z" }, ] [[package]] name = "distro" version = "1.9.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed", size = 60722, upload_time = "2023-12-24T09:54:32.31Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fc/f8/98eea607f65de6527f8a2e8885fc8015d3e6f5775df186e443e0964a11c3/distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed", size = 60722, upload-time = "2023-12-24T09:54:32.31Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277, upload_time = "2023-12-24T09:54:30.421Z" }, + { url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277, upload-time = "2023-12-24T09:54:30.421Z" }, ] [[package]] name = "docstring-parser" version = "0.16" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/08/12/9c22a58c0b1e29271051222d8906257616da84135af9ed167c9e28f85cb3/docstring_parser-0.16.tar.gz", hash = "sha256:538beabd0af1e2db0146b6bd3caa526c35a34d61af9fd2887f3a8a27a739aa6e", size = 26565, upload_time = "2024-03-15T10:39:44.419Z" } +sdist = { url = "https://files.pythonhosted.org/packages/08/12/9c22a58c0b1e29271051222d8906257616da84135af9ed167c9e28f85cb3/docstring_parser-0.16.tar.gz", hash = "sha256:538beabd0af1e2db0146b6bd3caa526c35a34d61af9fd2887f3a8a27a739aa6e", size = 26565, upload-time = "2024-03-15T10:39:44.419Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d5/7c/e9fcff7623954d86bdc17782036cbf715ecab1bec4847c008557affe1ca8/docstring_parser-0.16-py3-none-any.whl", hash = "sha256:bf0a1387354d3691d102edef7ec124f219ef639982d096e26e3b60aeffa90637", size = 36533, upload_time = "2024-03-15T10:39:41.527Z" }, + { url = "https://files.pythonhosted.org/packages/d5/7c/e9fcff7623954d86bdc17782036cbf715ecab1bec4847c008557affe1ca8/docstring_parser-0.16-py3-none-any.whl", hash = "sha256:bf0a1387354d3691d102edef7ec124f219ef639982d096e26e3b60aeffa90637", size = 36533, upload-time = "2024-03-15T10:39:41.527Z" }, ] [[package]] name = "docutils" version = "0.21.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ae/ed/aefcc8cd0ba62a0560c3c18c33925362d46c6075480bfa4df87b28e169a9/docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", size = 2204444, upload_time = "2024-04-23T18:57:18.24Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ae/ed/aefcc8cd0ba62a0560c3c18c33925362d46c6075480bfa4df87b28e169a9/docutils-0.21.2.tar.gz", hash = "sha256:3a6b18732edf182daa3cd12775bbb338cf5691468f91eeeb109deff6ebfa986f", size = 2204444, upload-time = "2024-04-23T18:57:18.24Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408, upload_time = "2024-04-23T18:57:14.835Z" }, + { url = "https://files.pythonhosted.org/packages/8f/d7/9322c609343d929e75e7e5e6255e614fcc67572cfd083959cdef3b7aad79/docutils-0.21.2-py3-none-any.whl", hash = "sha256:dafca5b9e384f0e419294eb4d2ff9fa826435bf15f15b7bd45723e8ad76811b2", size = 587408, upload-time = "2024-04-23T18:57:14.835Z" }, ] [[package]] name = "duckdb" version = "1.3.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/35/ab/d89a4dd14311d5a0081711bc66db3fad73f7645fa7eb3844c423d2fa0a17/duckdb-1.3.1.tar.gz", hash = "sha256:8e101990a879533b1d33f003df2eb2a3c4bc7bdf976bd7ef7c32342047935327", size = 11628075, upload_time = "2025-06-16T13:57:04.119Z" } +sdist = { url = "https://files.pythonhosted.org/packages/35/ab/d89a4dd14311d5a0081711bc66db3fad73f7645fa7eb3844c423d2fa0a17/duckdb-1.3.1.tar.gz", hash = "sha256:8e101990a879533b1d33f003df2eb2a3c4bc7bdf976bd7ef7c32342047935327", size = 11628075, upload-time = "2025-06-16T13:57:04.119Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2b/cf/c9a76a15195ec1566b04a23c182ce16b60d1f06c7cdfec1aa538c8e8e0ae/duckdb-1.3.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:73f389f9c713325a6994dd9e04a7fa23bd73e8387883f8086946a9d3a1dd70e1", size = 15529437, upload_time = "2025-06-16T13:56:16.932Z" }, - { url = "https://files.pythonhosted.org/packages/d7/15/6cb79d988bedb19be6cfb654cd98b339cf4d06b7fc337f52c4051416b690/duckdb-1.3.1-cp312-cp312-macosx_12_0_universal2.whl", hash = "sha256:87c99569274b453d8f9963e43fea74bc86901773fac945c1fe612c133a91e506", size = 32525563, upload_time = "2025-06-16T13:56:19.235Z" }, - { url = "https://files.pythonhosted.org/packages/14/7a/0acc37ec937a69a2fc325ab680cf68e7f1ed5d83b056dfade617502e40c2/duckdb-1.3.1-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:21da268355dfdf859b3d4db22180f7d5dd85a60517e077cb4158768cd5f0ee44", size = 17106064, upload_time = "2025-06-16T13:56:21.534Z" }, - { url = "https://files.pythonhosted.org/packages/b5/a0/aef95020f5ada03e44eea0b23951b96cec45a85a0c42210639d5d5688603/duckdb-1.3.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:77902954d15ba4aff92e82df700643b995c057f2d7d39af7ed226d8cceb9c2af", size = 19172380, upload_time = "2025-06-16T13:56:23.875Z" }, - { url = "https://files.pythonhosted.org/packages/9c/2a/3eae3acda60e178785835d6df85f3bf9ddab4362e9fd45d0fe4879973561/duckdb-1.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:67b1a3c9e2c3474991da97edfec0a89f382fef698d7f64b2d8d09006eaeeea24", size = 21123030, upload_time = "2025-06-16T13:56:26.366Z" }, - { url = "https://files.pythonhosted.org/packages/f4/79/885c0ad2434fa7b353532580435d59bb007efb629740ba4eb273fc4c882c/duckdb-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f1d076b12f0d2a7f9090ad9e4057ac41af3e4785969e5997afd44922c7b141e0", size = 22774472, upload_time = "2025-06-16T13:56:29.884Z" }, - { url = "https://files.pythonhosted.org/packages/24/02/d294613e4fccfc86f4718b2cede365a9a6313c938bf0547c78ec196a0b9c/duckdb-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:bf7d6884bfb67aef67aebb0bd2460ea1137c55b3fd8794a3530c653dbe0d4019", size = 11302743, upload_time = "2025-06-16T13:56:31.868Z" }, + { url = "https://files.pythonhosted.org/packages/2b/cf/c9a76a15195ec1566b04a23c182ce16b60d1f06c7cdfec1aa538c8e8e0ae/duckdb-1.3.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:73f389f9c713325a6994dd9e04a7fa23bd73e8387883f8086946a9d3a1dd70e1", size = 15529437, upload-time = "2025-06-16T13:56:16.932Z" }, + { url = "https://files.pythonhosted.org/packages/d7/15/6cb79d988bedb19be6cfb654cd98b339cf4d06b7fc337f52c4051416b690/duckdb-1.3.1-cp312-cp312-macosx_12_0_universal2.whl", hash = "sha256:87c99569274b453d8f9963e43fea74bc86901773fac945c1fe612c133a91e506", size = 32525563, upload-time = "2025-06-16T13:56:19.235Z" }, + { url = "https://files.pythonhosted.org/packages/14/7a/0acc37ec937a69a2fc325ab680cf68e7f1ed5d83b056dfade617502e40c2/duckdb-1.3.1-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:21da268355dfdf859b3d4db22180f7d5dd85a60517e077cb4158768cd5f0ee44", size = 17106064, upload-time = "2025-06-16T13:56:21.534Z" }, + { url = "https://files.pythonhosted.org/packages/b5/a0/aef95020f5ada03e44eea0b23951b96cec45a85a0c42210639d5d5688603/duckdb-1.3.1-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:77902954d15ba4aff92e82df700643b995c057f2d7d39af7ed226d8cceb9c2af", size = 19172380, upload-time = "2025-06-16T13:56:23.875Z" }, + { url = "https://files.pythonhosted.org/packages/9c/2a/3eae3acda60e178785835d6df85f3bf9ddab4362e9fd45d0fe4879973561/duckdb-1.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:67b1a3c9e2c3474991da97edfec0a89f382fef698d7f64b2d8d09006eaeeea24", size = 21123030, upload-time = "2025-06-16T13:56:26.366Z" }, + { url = "https://files.pythonhosted.org/packages/f4/79/885c0ad2434fa7b353532580435d59bb007efb629740ba4eb273fc4c882c/duckdb-1.3.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f1d076b12f0d2a7f9090ad9e4057ac41af3e4785969e5997afd44922c7b141e0", size = 22774472, upload-time = "2025-06-16T13:56:29.884Z" }, + { url = "https://files.pythonhosted.org/packages/24/02/d294613e4fccfc86f4718b2cede365a9a6313c938bf0547c78ec196a0b9c/duckdb-1.3.1-cp312-cp312-win_amd64.whl", hash = "sha256:bf7d6884bfb67aef67aebb0bd2460ea1137c55b3fd8794a3530c653dbe0d4019", size = 11302743, upload-time = "2025-06-16T13:56:31.868Z" }, ] [[package]] name = "executing" version = "2.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/91/50/a9d80c47ff289c611ff12e63f7c5d13942c65d68125160cefd768c73e6e4/executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755", size = 978693, upload_time = "2025-01-22T15:41:29.403Z" } +sdist = { url = "https://files.pythonhosted.org/packages/91/50/a9d80c47ff289c611ff12e63f7c5d13942c65d68125160cefd768c73e6e4/executing-2.2.0.tar.gz", hash = "sha256:5d108c028108fe2551d1a7b2e8b713341e2cb4fc0aa7dcf966fa4327a5226755", size = 978693, upload-time = "2025-01-22T15:41:29.403Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa", size = 26702, upload_time = "2025-01-22T15:41:25.929Z" }, + { url = "https://files.pythonhosted.org/packages/7b/8f/c4d9bafc34ad7ad5d8dc16dd1347ee0e507a52c3adb6bfa8887e1c6a26ba/executing-2.2.0-py2.py3-none-any.whl", hash = "sha256:11387150cad388d62750327a53d3339fad4888b39a6fe233c3afbb54ecffd3aa", size = 26702, upload-time = "2025-01-22T15:41:25.929Z" }, ] [[package]] @@ -417,27 +417,27 @@ dependencies = [ { name = "starlette" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f4/55/ae499352d82338331ca1e28c7f4a63bfd09479b16395dce38cf50a39e2c2/fastapi-0.115.12.tar.gz", hash = "sha256:1e2c2a2646905f9e83d32f04a3f86aff4a286669c6c950ca95b5fd68c2602681", size = 295236, upload_time = "2025-03-23T22:55:43.822Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f4/55/ae499352d82338331ca1e28c7f4a63bfd09479b16395dce38cf50a39e2c2/fastapi-0.115.12.tar.gz", hash = "sha256:1e2c2a2646905f9e83d32f04a3f86aff4a286669c6c950ca95b5fd68c2602681", size = 295236, upload-time = "2025-03-23T22:55:43.822Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/50/b3/b51f09c2ba432a576fe63758bddc81f78f0c6309d9e5c10d194313bf021e/fastapi-0.115.12-py3-none-any.whl", hash = "sha256:e94613d6c05e27be7ffebdd6ea5f388112e5e430c8f7d6494a9d1d88d43e814d", size = 95164, upload_time = "2025-03-23T22:55:42.101Z" }, + { url = "https://files.pythonhosted.org/packages/50/b3/b51f09c2ba432a576fe63758bddc81f78f0c6309d9e5c10d194313bf021e/fastapi-0.115.12-py3-none-any.whl", hash = "sha256:e94613d6c05e27be7ffebdd6ea5f388112e5e430c8f7d6494a9d1d88d43e814d", size = 95164, upload-time = "2025-03-23T22:55:42.101Z" }, ] [[package]] name = "fastjsonschema" version = "2.21.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8b/50/4b769ce1ac4071a1ef6d86b1a3fb56cdc3a37615e8c5519e1af96cdac366/fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4", size = 373939, upload_time = "2024-12-02T10:55:15.133Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8b/50/4b769ce1ac4071a1ef6d86b1a3fb56cdc3a37615e8c5519e1af96cdac366/fastjsonschema-2.21.1.tar.gz", hash = "sha256:794d4f0a58f848961ba16af7b9c85a3e88cd360df008c59aac6fc5ae9323b5d4", size = 373939, upload-time = "2024-12-02T10:55:15.133Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924, upload_time = "2024-12-02T10:55:07.599Z" }, + { url = "https://files.pythonhosted.org/packages/90/2b/0817a2b257fe88725c25589d89aec060581aabf668707a8d03b2e9e0cb2a/fastjsonschema-2.21.1-py3-none-any.whl", hash = "sha256:c9e5b7e908310918cf494a434eeb31384dd84a98b57a30bcb1f535015b554667", size = 23924, upload-time = "2024-12-02T10:55:07.599Z" }, ] [[package]] name = "filelock" version = "3.18.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", size = 18075, upload_time = "2025-03-14T07:11:40.47Z" } +sdist = { url = "https://files.pythonhosted.org/packages/0a/10/c23352565a6544bdc5353e0b15fc1c563352101f30e24bf500207a54df9a/filelock-3.18.0.tar.gz", hash = "sha256:adbc88eabb99d2fec8c9c1b229b171f18afa655400173ddc653d5d01501fb9f2", size = 18075, upload-time = "2025-03-14T07:11:40.47Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215, upload_time = "2025-03-14T07:11:39.145Z" }, + { url = "https://files.pythonhosted.org/packages/4d/36/2a115987e2d8c300a974597416d9de88f2444426de9571f4b59b2cca3acc/filelock-3.18.0-py3-none-any.whl", hash = "sha256:c401f4f8377c4464e6db25fff06205fd89bdd83b65eb0488ed1b160f780e21de", size = 16215, upload-time = "2025-03-14T07:11:39.145Z" }, ] [[package]] @@ -455,41 +455,41 @@ dependencies = [ { name = "torch" }, { name = "transformers" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/36/5f/a5e20bb601f83f4abd491e0aec2b991d23f54fefa135b64e4203b3cb59d6/FlagEmbedding-1.3.5.tar.gz", hash = "sha256:a0714cb8dd03f38e74b84530684c47ad8e0442ab1f4cbb7b0bcd4017dafb9f9c", size = 163889, upload_time = "2025-05-28T07:03:56.693Z" } +sdist = { url = "https://files.pythonhosted.org/packages/36/5f/a5e20bb601f83f4abd491e0aec2b991d23f54fefa135b64e4203b3cb59d6/FlagEmbedding-1.3.5.tar.gz", hash = "sha256:a0714cb8dd03f38e74b84530684c47ad8e0442ab1f4cbb7b0bcd4017dafb9f9c", size = 163889, upload-time = "2025-05-28T07:03:56.693Z" } [[package]] name = "frozenlist" version = "1.7.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz", hash = "sha256:2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f", size = 45078, upload_time = "2025-06-09T23:02:35.538Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ef/a2/c8131383f1e66adad5f6ecfcce383d584ca94055a34d683bbb24ac5f2f1c/frozenlist-1.7.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3dbf9952c4bb0e90e98aec1bd992b3318685005702656bc6f67c1a32b76787f2", size = 81424, upload_time = "2025-06-09T23:00:42.24Z" }, - { url = "https://files.pythonhosted.org/packages/4c/9d/02754159955088cb52567337d1113f945b9e444c4960771ea90eb73de8db/frozenlist-1.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1f5906d3359300b8a9bb194239491122e6cf1444c2efb88865426f170c262cdb", size = 47952, upload_time = "2025-06-09T23:00:43.481Z" }, - { url = "https://files.pythonhosted.org/packages/01/7a/0046ef1bd6699b40acd2067ed6d6670b4db2f425c56980fa21c982c2a9db/frozenlist-1.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3dabd5a8f84573c8d10d8859a50ea2dec01eea372031929871368c09fa103478", size = 46688, upload_time = "2025-06-09T23:00:44.793Z" }, - { url = "https://files.pythonhosted.org/packages/d6/a2/a910bafe29c86997363fb4c02069df4ff0b5bc39d33c5198b4e9dd42d8f8/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa57daa5917f1738064f302bf2626281a1cb01920c32f711fbc7bc36111058a8", size = 243084, upload_time = "2025-06-09T23:00:46.125Z" }, - { url = "https://files.pythonhosted.org/packages/64/3e/5036af9d5031374c64c387469bfcc3af537fc0f5b1187d83a1cf6fab1639/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c193dda2b6d49f4c4398962810fa7d7c78f032bf45572b3e04dd5249dff27e08", size = 233524, upload_time = "2025-06-09T23:00:47.73Z" }, - { url = "https://files.pythonhosted.org/packages/06/39/6a17b7c107a2887e781a48ecf20ad20f1c39d94b2a548c83615b5b879f28/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfe2b675cf0aaa6d61bf8fbffd3c274b3c9b7b1623beb3809df8a81399a4a9c4", size = 248493, upload_time = "2025-06-09T23:00:49.742Z" }, - { url = "https://files.pythonhosted.org/packages/be/00/711d1337c7327d88c44d91dd0f556a1c47fb99afc060ae0ef66b4d24793d/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8fc5d5cda37f62b262405cf9652cf0856839c4be8ee41be0afe8858f17f4c94b", size = 244116, upload_time = "2025-06-09T23:00:51.352Z" }, - { url = "https://files.pythonhosted.org/packages/24/fe/74e6ec0639c115df13d5850e75722750adabdc7de24e37e05a40527ca539/frozenlist-1.7.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0d5ce521d1dd7d620198829b87ea002956e4319002ef0bc8d3e6d045cb4646e", size = 224557, upload_time = "2025-06-09T23:00:52.855Z" }, - { url = "https://files.pythonhosted.org/packages/8d/db/48421f62a6f77c553575201e89048e97198046b793f4a089c79a6e3268bd/frozenlist-1.7.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:488d0a7d6a0008ca0db273c542098a0fa9e7dfaa7e57f70acef43f32b3f69dca", size = 241820, upload_time = "2025-06-09T23:00:54.43Z" }, - { url = "https://files.pythonhosted.org/packages/1d/fa/cb4a76bea23047c8462976ea7b7a2bf53997a0ca171302deae9d6dd12096/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:15a7eaba63983d22c54d255b854e8108e7e5f3e89f647fc854bd77a237e767df", size = 236542, upload_time = "2025-06-09T23:00:56.409Z" }, - { url = "https://files.pythonhosted.org/packages/5d/32/476a4b5cfaa0ec94d3f808f193301debff2ea42288a099afe60757ef6282/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1eaa7e9c6d15df825bf255649e05bd8a74b04a4d2baa1ae46d9c2d00b2ca2cb5", size = 249350, upload_time = "2025-06-09T23:00:58.468Z" }, - { url = "https://files.pythonhosted.org/packages/8d/ba/9a28042f84a6bf8ea5dbc81cfff8eaef18d78b2a1ad9d51c7bc5b029ad16/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e4389e06714cfa9d47ab87f784a7c5be91d3934cd6e9a7b85beef808297cc025", size = 225093, upload_time = "2025-06-09T23:01:00.015Z" }, - { url = "https://files.pythonhosted.org/packages/bc/29/3a32959e68f9cf000b04e79ba574527c17e8842e38c91d68214a37455786/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:73bd45e1488c40b63fe5a7df892baf9e2a4d4bb6409a2b3b78ac1c6236178e01", size = 245482, upload_time = "2025-06-09T23:01:01.474Z" }, - { url = "https://files.pythonhosted.org/packages/80/e8/edf2f9e00da553f07f5fa165325cfc302dead715cab6ac8336a5f3d0adc2/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:99886d98e1643269760e5fe0df31e5ae7050788dd288947f7f007209b8c33f08", size = 249590, upload_time = "2025-06-09T23:01:02.961Z" }, - { url = "https://files.pythonhosted.org/packages/1c/80/9a0eb48b944050f94cc51ee1c413eb14a39543cc4f760ed12657a5a3c45a/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:290a172aae5a4c278c6da8a96222e6337744cd9c77313efe33d5670b9f65fc43", size = 237785, upload_time = "2025-06-09T23:01:05.095Z" }, - { url = "https://files.pythonhosted.org/packages/f3/74/87601e0fb0369b7a2baf404ea921769c53b7ae00dee7dcfe5162c8c6dbf0/frozenlist-1.7.0-cp312-cp312-win32.whl", hash = "sha256:426c7bc70e07cfebc178bc4c2bf2d861d720c4fff172181eeb4a4c41d4ca2ad3", size = 39487, upload_time = "2025-06-09T23:01:06.54Z" }, - { url = "https://files.pythonhosted.org/packages/0b/15/c026e9a9fc17585a9d461f65d8593d281fedf55fbf7eb53f16c6df2392f9/frozenlist-1.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:563b72efe5da92e02eb68c59cb37205457c977aa7a449ed1b37e6939e5c47c6a", size = 43874, upload_time = "2025-06-09T23:01:07.752Z" }, - { url = "https://files.pythonhosted.org/packages/ee/45/b82e3c16be2182bff01179db177fe144d58b5dc787a7d4492c6ed8b9317f/frozenlist-1.7.0-py3-none-any.whl", hash = "sha256:9a5af342e34f7e97caf8c995864c7a396418ae2859cc6fdf1b1073020d516a7e", size = 13106, upload_time = "2025-06-09T23:02:34.204Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/79/b1/b64018016eeb087db503b038296fd782586432b9c077fc5c7839e9cb6ef6/frozenlist-1.7.0.tar.gz", hash = "sha256:2e310d81923c2437ea8670467121cc3e9b0f76d3043cc1d2331d56c7fb7a3a8f", size = 45078, upload-time = "2025-06-09T23:02:35.538Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/a2/c8131383f1e66adad5f6ecfcce383d584ca94055a34d683bbb24ac5f2f1c/frozenlist-1.7.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3dbf9952c4bb0e90e98aec1bd992b3318685005702656bc6f67c1a32b76787f2", size = 81424, upload-time = "2025-06-09T23:00:42.24Z" }, + { url = "https://files.pythonhosted.org/packages/4c/9d/02754159955088cb52567337d1113f945b9e444c4960771ea90eb73de8db/frozenlist-1.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:1f5906d3359300b8a9bb194239491122e6cf1444c2efb88865426f170c262cdb", size = 47952, upload-time = "2025-06-09T23:00:43.481Z" }, + { url = "https://files.pythonhosted.org/packages/01/7a/0046ef1bd6699b40acd2067ed6d6670b4db2f425c56980fa21c982c2a9db/frozenlist-1.7.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3dabd5a8f84573c8d10d8859a50ea2dec01eea372031929871368c09fa103478", size = 46688, upload-time = "2025-06-09T23:00:44.793Z" }, + { url = "https://files.pythonhosted.org/packages/d6/a2/a910bafe29c86997363fb4c02069df4ff0b5bc39d33c5198b4e9dd42d8f8/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aa57daa5917f1738064f302bf2626281a1cb01920c32f711fbc7bc36111058a8", size = 243084, upload-time = "2025-06-09T23:00:46.125Z" }, + { url = "https://files.pythonhosted.org/packages/64/3e/5036af9d5031374c64c387469bfcc3af537fc0f5b1187d83a1cf6fab1639/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c193dda2b6d49f4c4398962810fa7d7c78f032bf45572b3e04dd5249dff27e08", size = 233524, upload-time = "2025-06-09T23:00:47.73Z" }, + { url = "https://files.pythonhosted.org/packages/06/39/6a17b7c107a2887e781a48ecf20ad20f1c39d94b2a548c83615b5b879f28/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bfe2b675cf0aaa6d61bf8fbffd3c274b3c9b7b1623beb3809df8a81399a4a9c4", size = 248493, upload-time = "2025-06-09T23:00:49.742Z" }, + { url = "https://files.pythonhosted.org/packages/be/00/711d1337c7327d88c44d91dd0f556a1c47fb99afc060ae0ef66b4d24793d/frozenlist-1.7.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8fc5d5cda37f62b262405cf9652cf0856839c4be8ee41be0afe8858f17f4c94b", size = 244116, upload-time = "2025-06-09T23:00:51.352Z" }, + { url = "https://files.pythonhosted.org/packages/24/fe/74e6ec0639c115df13d5850e75722750adabdc7de24e37e05a40527ca539/frozenlist-1.7.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0d5ce521d1dd7d620198829b87ea002956e4319002ef0bc8d3e6d045cb4646e", size = 224557, upload-time = "2025-06-09T23:00:52.855Z" }, + { url = "https://files.pythonhosted.org/packages/8d/db/48421f62a6f77c553575201e89048e97198046b793f4a089c79a6e3268bd/frozenlist-1.7.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:488d0a7d6a0008ca0db273c542098a0fa9e7dfaa7e57f70acef43f32b3f69dca", size = 241820, upload-time = "2025-06-09T23:00:54.43Z" }, + { url = "https://files.pythonhosted.org/packages/1d/fa/cb4a76bea23047c8462976ea7b7a2bf53997a0ca171302deae9d6dd12096/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:15a7eaba63983d22c54d255b854e8108e7e5f3e89f647fc854bd77a237e767df", size = 236542, upload-time = "2025-06-09T23:00:56.409Z" }, + { url = "https://files.pythonhosted.org/packages/5d/32/476a4b5cfaa0ec94d3f808f193301debff2ea42288a099afe60757ef6282/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1eaa7e9c6d15df825bf255649e05bd8a74b04a4d2baa1ae46d9c2d00b2ca2cb5", size = 249350, upload-time = "2025-06-09T23:00:58.468Z" }, + { url = "https://files.pythonhosted.org/packages/8d/ba/9a28042f84a6bf8ea5dbc81cfff8eaef18d78b2a1ad9d51c7bc5b029ad16/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e4389e06714cfa9d47ab87f784a7c5be91d3934cd6e9a7b85beef808297cc025", size = 225093, upload-time = "2025-06-09T23:01:00.015Z" }, + { url = "https://files.pythonhosted.org/packages/bc/29/3a32959e68f9cf000b04e79ba574527c17e8842e38c91d68214a37455786/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:73bd45e1488c40b63fe5a7df892baf9e2a4d4bb6409a2b3b78ac1c6236178e01", size = 245482, upload-time = "2025-06-09T23:01:01.474Z" }, + { url = "https://files.pythonhosted.org/packages/80/e8/edf2f9e00da553f07f5fa165325cfc302dead715cab6ac8336a5f3d0adc2/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:99886d98e1643269760e5fe0df31e5ae7050788dd288947f7f007209b8c33f08", size = 249590, upload-time = "2025-06-09T23:01:02.961Z" }, + { url = "https://files.pythonhosted.org/packages/1c/80/9a0eb48b944050f94cc51ee1c413eb14a39543cc4f760ed12657a5a3c45a/frozenlist-1.7.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:290a172aae5a4c278c6da8a96222e6337744cd9c77313efe33d5670b9f65fc43", size = 237785, upload-time = "2025-06-09T23:01:05.095Z" }, + { url = "https://files.pythonhosted.org/packages/f3/74/87601e0fb0369b7a2baf404ea921769c53b7ae00dee7dcfe5162c8c6dbf0/frozenlist-1.7.0-cp312-cp312-win32.whl", hash = "sha256:426c7bc70e07cfebc178bc4c2bf2d861d720c4fff172181eeb4a4c41d4ca2ad3", size = 39487, upload-time = "2025-06-09T23:01:06.54Z" }, + { url = "https://files.pythonhosted.org/packages/0b/15/c026e9a9fc17585a9d461f65d8593d281fedf55fbf7eb53f16c6df2392f9/frozenlist-1.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:563b72efe5da92e02eb68c59cb37205457c977aa7a449ed1b37e6939e5c47c6a", size = 43874, upload-time = "2025-06-09T23:01:07.752Z" }, + { url = "https://files.pythonhosted.org/packages/ee/45/b82e3c16be2182bff01179db177fe144d58b5dc787a7d4492c6ed8b9317f/frozenlist-1.7.0-py3-none-any.whl", hash = "sha256:9a5af342e34f7e97caf8c995864c7a396418ae2859cc6fdf1b1073020d516a7e", size = 13106, upload-time = "2025-06-09T23:02:34.204Z" }, ] [[package]] name = "fsspec" version = "2025.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/34/f4/5721faf47b8c499e776bc34c6a8fc17efdf7fdef0b00f398128bc5dcb4ac/fsspec-2025.3.0.tar.gz", hash = "sha256:a935fd1ea872591f2b5148907d103488fc523295e6c64b835cfad8c3eca44972", size = 298491, upload_time = "2025-03-07T21:47:56.461Z" } +sdist = { url = "https://files.pythonhosted.org/packages/34/f4/5721faf47b8c499e776bc34c6a8fc17efdf7fdef0b00f398128bc5dcb4ac/fsspec-2025.3.0.tar.gz", hash = "sha256:a935fd1ea872591f2b5148907d103488fc523295e6c64b835cfad8c3eca44972", size = 298491, upload-time = "2025-03-07T21:47:56.461Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/56/53/eb690efa8513166adef3e0669afd31e95ffde69fb3c52ec2ac7223ed6018/fsspec-2025.3.0-py3-none-any.whl", hash = "sha256:efb87af3efa9103f94ca91a7f8cb7a4df91af9f74fc106c9c7ea0efd7277c1b3", size = 193615, upload_time = "2025-03-07T21:47:54.809Z" }, + { url = "https://files.pythonhosted.org/packages/56/53/eb690efa8513166adef3e0669afd31e95ffde69fb3c52ec2ac7223ed6018/fsspec-2025.3.0-py3-none-any.whl", hash = "sha256:efb87af3efa9103f94ca91a7f8cb7a4df91af9f74fc106c9c7ea0efd7277c1b3", size = 193615, upload-time = "2025-03-07T21:47:54.809Z" }, ] [package.optional-dependencies] @@ -524,9 +524,9 @@ dependencies = [ { name = "tzlocal" }, { name = "uvicorn" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6a/7e/223f9244fcfb34042d9519ba13f8f017bdc077a628c204d3a6944682d4a6/google_adk-1.3.0.tar.gz", hash = "sha256:3be048cd40fb3a2c2f51ecb61233d78434cab2aba5a58507156c7daf2b9772fa", size = 1142535, upload_time = "2025-06-12T17:59:09.32Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6a/7e/223f9244fcfb34042d9519ba13f8f017bdc077a628c204d3a6944682d4a6/google_adk-1.3.0.tar.gz", hash = "sha256:3be048cd40fb3a2c2f51ecb61233d78434cab2aba5a58507156c7daf2b9772fa", size = 1142535, upload-time = "2025-06-12T17:59:09.32Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/51/94/1b86404b81ea0f282694257e31fd4fb954c8cdcadebf1fde02a056979609/google_adk-1.3.0-py3-none-any.whl", hash = "sha256:a57f05633bd2d9937b9a73ca4fc4a5c7d9d1e2d28390c8df2be134d7d4b1f79c", size = 1306110, upload_time = "2025-06-12T17:59:06.649Z" }, + { url = "https://files.pythonhosted.org/packages/51/94/1b86404b81ea0f282694257e31fd4fb954c8cdcadebf1fde02a056979609/google_adk-1.3.0-py3-none-any.whl", hash = "sha256:a57f05633bd2d9937b9a73ca4fc4a5c7d9d1e2d28390c8df2be134d7d4b1f79c", size = 1306110, upload-time = "2025-06-12T17:59:06.649Z" }, ] [[package]] @@ -540,9 +540,9 @@ dependencies = [ { name = "protobuf" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/dc/21/e9d043e88222317afdbdb567165fdbc3b0aad90064c7e0c9eb0ad9955ad8/google_api_core-2.25.1.tar.gz", hash = "sha256:d2aaa0b13c78c61cb3f4282c464c046e45fbd75755683c9c525e6e8f7ed0a5e8", size = 165443, upload_time = "2025-06-12T20:52:20.439Z" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/21/e9d043e88222317afdbdb567165fdbc3b0aad90064c7e0c9eb0ad9955ad8/google_api_core-2.25.1.tar.gz", hash = "sha256:d2aaa0b13c78c61cb3f4282c464c046e45fbd75755683c9c525e6e8f7ed0a5e8", size = 165443, upload-time = "2025-06-12T20:52:20.439Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/14/4b/ead00905132820b623732b175d66354e9d3e69fcf2a5dcdab780664e7896/google_api_core-2.25.1-py3-none-any.whl", hash = "sha256:8a2a56c1fef82987a524371f99f3bd0143702fecc670c72e600c1cda6bf8dbb7", size = 160807, upload_time = "2025-06-12T20:52:19.334Z" }, + { url = "https://files.pythonhosted.org/packages/14/4b/ead00905132820b623732b175d66354e9d3e69fcf2a5dcdab780664e7896/google_api_core-2.25.1-py3-none-any.whl", hash = "sha256:8a2a56c1fef82987a524371f99f3bd0143702fecc670c72e600c1cda6bf8dbb7", size = 160807, upload-time = "2025-06-12T20:52:19.334Z" }, ] [package.optional-dependencies] @@ -562,9 +562,9 @@ dependencies = [ { name = "httplib2" }, { name = "uritemplate" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/02/69/c0cec6be5878d4de161f64096edb3d4a2d1a838f036b8425ea8358d0dfb3/google_api_python_client-2.172.0.tar.gz", hash = "sha256:dcb3b7e067154b2aa41f1776cf86584a5739c0ac74e6ff46fc665790dca0e6a6", size = 13074841, upload_time = "2025-06-10T16:58:41.181Z" } +sdist = { url = "https://files.pythonhosted.org/packages/02/69/c0cec6be5878d4de161f64096edb3d4a2d1a838f036b8425ea8358d0dfb3/google_api_python_client-2.172.0.tar.gz", hash = "sha256:dcb3b7e067154b2aa41f1776cf86584a5739c0ac74e6ff46fc665790dca0e6a6", size = 13074841, upload-time = "2025-06-10T16:58:41.181Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/15/fc/8850ccf21c5df43faeaf8bba8c4149ee880b41b8dc7066e3259bcfd921ca/google_api_python_client-2.172.0-py3-none-any.whl", hash = "sha256:9f1b9a268d5dc1228207d246c673d3a09ee211b41a11521d38d9212aeaa43af7", size = 13595800, upload_time = "2025-06-10T16:58:38.143Z" }, + { url = "https://files.pythonhosted.org/packages/15/fc/8850ccf21c5df43faeaf8bba8c4149ee880b41b8dc7066e3259bcfd921ca/google_api_python_client-2.172.0-py3-none-any.whl", hash = "sha256:9f1b9a268d5dc1228207d246c673d3a09ee211b41a11521d38d9212aeaa43af7", size = 13595800, upload-time = "2025-06-10T16:58:38.143Z" }, ] [[package]] @@ -576,9 +576,9 @@ dependencies = [ { name = "pyasn1-modules" }, { name = "rsa" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9e/9b/e92ef23b84fa10a64ce4831390b7a4c2e53c0132568d99d4ae61d04c8855/google_auth-2.40.3.tar.gz", hash = "sha256:500c3a29adedeb36ea9cf24b8d10858e152f2412e3ca37829b3fa18e33d63b77", size = 281029, upload_time = "2025-06-04T18:04:57.577Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9e/9b/e92ef23b84fa10a64ce4831390b7a4c2e53c0132568d99d4ae61d04c8855/google_auth-2.40.3.tar.gz", hash = "sha256:500c3a29adedeb36ea9cf24b8d10858e152f2412e3ca37829b3fa18e33d63b77", size = 281029, upload-time = "2025-06-04T18:04:57.577Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/17/63/b19553b658a1692443c62bd07e5868adaa0ad746a0751ba62c59568cd45b/google_auth-2.40.3-py2.py3-none-any.whl", hash = "sha256:1370d4593e86213563547f97a92752fc658456fe4514c809544f330fed45a7ca", size = 216137, upload_time = "2025-06-04T18:04:55.573Z" }, + { url = "https://files.pythonhosted.org/packages/17/63/b19553b658a1692443c62bd07e5868adaa0ad746a0751ba62c59568cd45b/google_auth-2.40.3-py2.py3-none-any.whl", hash = "sha256:1370d4593e86213563547f97a92752fc658456fe4514c809544f330fed45a7ca", size = 216137, upload-time = "2025-06-04T18:04:55.573Z" }, ] [[package]] @@ -589,9 +589,9 @@ dependencies = [ { name = "google-auth" }, { name = "httplib2" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/56/be/217a598a818567b28e859ff087f347475c807a5649296fb5a817c58dacef/google-auth-httplib2-0.2.0.tar.gz", hash = "sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05", size = 10842, upload_time = "2023-12-12T17:40:30.722Z" } +sdist = { url = "https://files.pythonhosted.org/packages/56/be/217a598a818567b28e859ff087f347475c807a5649296fb5a817c58dacef/google-auth-httplib2-0.2.0.tar.gz", hash = "sha256:38aa7badf48f974f1eb9861794e9c0cb2a0511a4ec0679b1f886d108f5640e05", size = 10842, upload-time = "2023-12-12T17:40:30.722Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/be/8a/fe34d2f3f9470a27b01c9e76226965863f153d5fbe276f83608562e49c04/google_auth_httplib2-0.2.0-py2.py3-none-any.whl", hash = "sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d", size = 9253, upload_time = "2023-12-12T17:40:13.055Z" }, + { url = "https://files.pythonhosted.org/packages/be/8a/fe34d2f3f9470a27b01c9e76226965863f153d5fbe276f83608562e49c04/google_auth_httplib2-0.2.0-py2.py3-none-any.whl", hash = "sha256:b65a0a2123300dd71281a7bf6e64d65a0759287df52729bdd1ae2e47dc311a3d", size = 9253, upload-time = "2023-12-12T17:40:13.055Z" }, ] [[package]] @@ -613,9 +613,9 @@ dependencies = [ { name = "shapely" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9b/ea/38224d2972e16c82ee16c13407e647586e25671bd2f75d4455491c678c92/google_cloud_aiplatform-1.97.0.tar.gz", hash = "sha256:01277ac5648abe7d2af688b123d7d050c1a34922e9f4297e51e44d165cb79b45", size = 9229557, upload_time = "2025-06-11T06:40:19.907Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9b/ea/38224d2972e16c82ee16c13407e647586e25671bd2f75d4455491c678c92/google_cloud_aiplatform-1.97.0.tar.gz", hash = "sha256:01277ac5648abe7d2af688b123d7d050c1a34922e9f4297e51e44d165cb79b45", size = 9229557, upload-time = "2025-06-11T06:40:19.907Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9a/b8/f9ca10a648bc2596e904c30270c49e72528e2b3b583d886eeeec5080b27d/google_cloud_aiplatform-1.97.0-py2.py3-none-any.whl", hash = "sha256:4db9455308110b1e8c1b587bd3ff34449fa459fda45c4466b9b2d9ae259a7af6", size = 7687924, upload_time = "2025-06-11T06:40:16.947Z" }, + { url = "https://files.pythonhosted.org/packages/9a/b8/f9ca10a648bc2596e904c30270c49e72528e2b3b583d886eeeec5080b27d/google_cloud_aiplatform-1.97.0-py2.py3-none-any.whl", hash = "sha256:4db9455308110b1e8c1b587bd3ff34449fa459fda45c4466b9b2d9ae259a7af6", size = 7687924, upload-time = "2025-06-11T06:40:16.947Z" }, ] [package.optional-dependencies] @@ -640,9 +640,9 @@ dependencies = [ { name = "proto-plus" }, { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e7/ea/85da73d4f162b29d24ad591c4ce02688b44094ee5f3d6c0cc533c2b23b23/google_cloud_appengine_logging-1.6.2.tar.gz", hash = "sha256:4890928464c98da9eecc7bf4e0542eba2551512c0265462c10f3a3d2a6424b90", size = 16587, upload_time = "2025-06-11T22:38:53.525Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/ea/85da73d4f162b29d24ad591c4ce02688b44094ee5f3d6c0cc533c2b23b23/google_cloud_appengine_logging-1.6.2.tar.gz", hash = "sha256:4890928464c98da9eecc7bf4e0542eba2551512c0265462c10f3a3d2a6424b90", size = 16587, upload-time = "2025-06-11T22:38:53.525Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e4/9e/dc1fd7f838dcaf608c465171b1a25d8ce63f9987e2d5c73bda98792097a9/google_cloud_appengine_logging-1.6.2-py3-none-any.whl", hash = "sha256:2b28ed715e92b67e334c6fcfe1deb523f001919560257b25fc8fcda95fd63938", size = 16889, upload_time = "2025-06-11T22:38:52.26Z" }, + { url = "https://files.pythonhosted.org/packages/e4/9e/dc1fd7f838dcaf608c465171b1a25d8ce63f9987e2d5c73bda98792097a9/google_cloud_appengine_logging-1.6.2-py3-none-any.whl", hash = "sha256:2b28ed715e92b67e334c6fcfe1deb523f001919560257b25fc8fcda95fd63938", size = 16889, upload-time = "2025-06-11T22:38:52.26Z" }, ] [[package]] @@ -653,9 +653,9 @@ dependencies = [ { name = "googleapis-common-protos" }, { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/85/af/53b4ef636e492d136b3c217e52a07bee569430dda07b8e515d5f2b701b1e/google_cloud_audit_log-0.3.2.tar.gz", hash = "sha256:2598f1533a7d7cdd6c7bf448c12e5519c1d53162d78784e10bcdd1df67791bc3", size = 33377, upload_time = "2025-03-17T11:27:59.808Z" } +sdist = { url = "https://files.pythonhosted.org/packages/85/af/53b4ef636e492d136b3c217e52a07bee569430dda07b8e515d5f2b701b1e/google_cloud_audit_log-0.3.2.tar.gz", hash = "sha256:2598f1533a7d7cdd6c7bf448c12e5519c1d53162d78784e10bcdd1df67791bc3", size = 33377, upload-time = "2025-03-17T11:27:59.808Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/74/38a70339e706b174b3c1117ad931aaa0ff0565b599869317a220d1967e1b/google_cloud_audit_log-0.3.2-py3-none-any.whl", hash = "sha256:daaedfb947a0d77f524e1bd2b560242ab4836fe1afd6b06b92f152b9658554ed", size = 32472, upload_time = "2025-03-17T11:27:58.51Z" }, + { url = "https://files.pythonhosted.org/packages/b1/74/38a70339e706b174b3c1117ad931aaa0ff0565b599869317a220d1967e1b/google_cloud_audit_log-0.3.2-py3-none-any.whl", hash = "sha256:daaedfb947a0d77f524e1bd2b560242ab4836fe1afd6b06b92f152b9658554ed", size = 32472, upload-time = "2025-03-17T11:27:58.51Z" }, ] [[package]] @@ -671,9 +671,9 @@ dependencies = [ { name = "python-dateutil" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/24/f9/e9da2d56d7028f05c0e2f5edf6ce43c773220c3172666c3dd925791d763d/google_cloud_bigquery-3.34.0.tar.gz", hash = "sha256:5ee1a78ba5c2ccb9f9a8b2bf3ed76b378ea68f49b6cac0544dc55cc97ff7c1ce", size = 489091, upload_time = "2025-05-29T17:18:06.03Z" } +sdist = { url = "https://files.pythonhosted.org/packages/24/f9/e9da2d56d7028f05c0e2f5edf6ce43c773220c3172666c3dd925791d763d/google_cloud_bigquery-3.34.0.tar.gz", hash = "sha256:5ee1a78ba5c2ccb9f9a8b2bf3ed76b378ea68f49b6cac0544dc55cc97ff7c1ce", size = 489091, upload-time = "2025-05-29T17:18:06.03Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/7e/7115c4f67ca0bc678f25bff1eab56cc37d06eb9a3978940b2ebd0705aa0a/google_cloud_bigquery-3.34.0-py3-none-any.whl", hash = "sha256:de20ded0680f8136d92ff5256270b5920dfe4fae479f5d0f73e90e5df30b1cf7", size = 253555, upload_time = "2025-05-29T17:18:02.904Z" }, + { url = "https://files.pythonhosted.org/packages/b1/7e/7115c4f67ca0bc678f25bff1eab56cc37d06eb9a3978940b2ebd0705aa0a/google_cloud_bigquery-3.34.0-py3-none-any.whl", hash = "sha256:de20ded0680f8136d92ff5256270b5920dfe4fae479f5d0f73e90e5df30b1cf7", size = 253555, upload-time = "2025-05-29T17:18:02.904Z" }, ] [[package]] @@ -684,9 +684,9 @@ dependencies = [ { name = "google-api-core" }, { name = "google-auth" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d6/b8/2b53838d2acd6ec6168fd284a990c76695e84c65deee79c9f3a4276f6b4f/google_cloud_core-2.4.3.tar.gz", hash = "sha256:1fab62d7102844b278fe6dead3af32408b1df3eb06f5c7e8634cbd40edc4da53", size = 35861, upload_time = "2025-03-10T21:05:38.948Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/b8/2b53838d2acd6ec6168fd284a990c76695e84c65deee79c9f3a4276f6b4f/google_cloud_core-2.4.3.tar.gz", hash = "sha256:1fab62d7102844b278fe6dead3af32408b1df3eb06f5c7e8634cbd40edc4da53", size = 35861, upload-time = "2025-03-10T21:05:38.948Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/40/86/bda7241a8da2d28a754aad2ba0f6776e35b67e37c36ae0c45d49370f1014/google_cloud_core-2.4.3-py2.py3-none-any.whl", hash = "sha256:5130f9f4c14b4fafdff75c79448f9495cfade0d8775facf1b09c3bf67e027f6e", size = 29348, upload_time = "2025-03-10T21:05:37.785Z" }, + { url = "https://files.pythonhosted.org/packages/40/86/bda7241a8da2d28a754aad2ba0f6776e35b67e37c36ae0c45d49370f1014/google_cloud_core-2.4.3-py2.py3-none-any.whl", hash = "sha256:5130f9f4c14b4fafdff75c79448f9495cfade0d8775facf1b09c3bf67e027f6e", size = 29348, upload-time = "2025-03-10T21:05:37.785Z" }, ] [[package]] @@ -704,9 +704,9 @@ dependencies = [ { name = "proto-plus" }, { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/14/9c/d42ecc94f795a6545930e5f846a7ae59ff685ded8bc086648dd2bee31a1a/google_cloud_logging-3.12.1.tar.gz", hash = "sha256:36efc823985055b203904e83e1c8f9f999b3c64270bcda39d57386ca4effd678", size = 289569, upload_time = "2025-04-22T20:50:24.71Z" } +sdist = { url = "https://files.pythonhosted.org/packages/14/9c/d42ecc94f795a6545930e5f846a7ae59ff685ded8bc086648dd2bee31a1a/google_cloud_logging-3.12.1.tar.gz", hash = "sha256:36efc823985055b203904e83e1c8f9f999b3c64270bcda39d57386ca4effd678", size = 289569, upload-time = "2025-04-22T20:50:24.71Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/41/f8a3197d39b773a91f335dee36c92ef26a8ec96efe78d64baad89d367df4/google_cloud_logging-3.12.1-py2.py3-none-any.whl", hash = "sha256:6817878af76ec4e7568976772839ab2c43ddfd18fbbf2ce32b13ef549cd5a862", size = 229466, upload_time = "2025-04-22T20:50:23.294Z" }, + { url = "https://files.pythonhosted.org/packages/b1/41/f8a3197d39b773a91f335dee36c92ef26a8ec96efe78d64baad89d367df4/google_cloud_logging-3.12.1-py2.py3-none-any.whl", hash = "sha256:6817878af76ec4e7568976772839ab2c43ddfd18fbbf2ce32b13ef549cd5a862", size = 229466, upload-time = "2025-04-22T20:50:23.294Z" }, ] [[package]] @@ -720,9 +720,9 @@ dependencies = [ { name = "proto-plus" }, { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6e/ca/a4648f5038cb94af4b3942815942a03aa9398f9fb0bef55b3f1585b9940d/google_cloud_resource_manager-1.14.2.tar.gz", hash = "sha256:962e2d904c550d7bac48372607904ff7bb3277e3bb4a36d80cc9a37e28e6eb74", size = 446370, upload_time = "2025-03-17T11:35:56.343Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6e/ca/a4648f5038cb94af4b3942815942a03aa9398f9fb0bef55b3f1585b9940d/google_cloud_resource_manager-1.14.2.tar.gz", hash = "sha256:962e2d904c550d7bac48372607904ff7bb3277e3bb4a36d80cc9a37e28e6eb74", size = 446370, upload-time = "2025-03-17T11:35:56.343Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/ea/a92631c358da377af34d3a9682c97af83185c2d66363d5939ab4a1169a7f/google_cloud_resource_manager-1.14.2-py3-none-any.whl", hash = "sha256:d0fa954dedd1d2b8e13feae9099c01b8aac515b648e612834f9942d2795a9900", size = 394344, upload_time = "2025-03-17T11:35:54.722Z" }, + { url = "https://files.pythonhosted.org/packages/b1/ea/a92631c358da377af34d3a9682c97af83185c2d66363d5939ab4a1169a7f/google_cloud_resource_manager-1.14.2-py3-none-any.whl", hash = "sha256:d0fa954dedd1d2b8e13feae9099c01b8aac515b648e612834f9942d2795a9900", size = 394344, upload-time = "2025-03-17T11:35:54.722Z" }, ] [[package]] @@ -736,9 +736,9 @@ dependencies = [ { name = "proto-plus" }, { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/58/7a/2fa6735ec693d822fe08a76709c4d95d9b5b4c02e83e720497355039d2ee/google_cloud_secret_manager-2.24.0.tar.gz", hash = "sha256:ce573d40ffc2fb7d01719243a94ee17aa243ea642a6ae6c337501e58fbf642b5", size = 269516, upload_time = "2025-06-05T22:22:22.965Z" } +sdist = { url = "https://files.pythonhosted.org/packages/58/7a/2fa6735ec693d822fe08a76709c4d95d9b5b4c02e83e720497355039d2ee/google_cloud_secret_manager-2.24.0.tar.gz", hash = "sha256:ce573d40ffc2fb7d01719243a94ee17aa243ea642a6ae6c337501e58fbf642b5", size = 269516, upload-time = "2025-06-05T22:22:22.965Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/be/af/db1217cae1809e69a4527ee6293b82a9af2a1fb2313ad110c775e8f3c820/google_cloud_secret_manager-2.24.0-py3-none-any.whl", hash = "sha256:9bea1254827ecc14874bc86c63b899489f8f50bfe1442bfb2517530b30b3a89b", size = 218050, upload_time = "2025-06-10T02:02:19.88Z" }, + { url = "https://files.pythonhosted.org/packages/be/af/db1217cae1809e69a4527ee6293b82a9af2a1fb2313ad110c775e8f3c820/google_cloud_secret_manager-2.24.0-py3-none-any.whl", hash = "sha256:9bea1254827ecc14874bc86c63b899489f8f50bfe1442bfb2517530b30b3a89b", size = 218050, upload-time = "2025-06-10T02:02:19.88Z" }, ] [[package]] @@ -751,9 +751,9 @@ dependencies = [ { name = "proto-plus" }, { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/9a/74/9c5a556f8af19cab461058aa15e1409e7afa453ca2383473a24a12801ef7/google_cloud_speech-2.33.0.tar.gz", hash = "sha256:fd08511b5124fdaa768d71a4054e84a5d8eb02531cb6f84f311c0387ea1314ed", size = 389072, upload_time = "2025-06-11T23:56:37.231Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9a/74/9c5a556f8af19cab461058aa15e1409e7afa453ca2383473a24a12801ef7/google_cloud_speech-2.33.0.tar.gz", hash = "sha256:fd08511b5124fdaa768d71a4054e84a5d8eb02531cb6f84f311c0387ea1314ed", size = 389072, upload-time = "2025-06-11T23:56:37.231Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/12/1d/880342b2541b4bad888ad8ab2ac77d4b5dad25b32a2a1c5f21140c14c8e3/google_cloud_speech-2.33.0-py3-none-any.whl", hash = "sha256:4ba16c8517c24a6abcde877289b0f40b719090504bf06b1adea248198ccd50a5", size = 335681, upload_time = "2025-06-11T23:56:36.026Z" }, + { url = "https://files.pythonhosted.org/packages/12/1d/880342b2541b4bad888ad8ab2ac77d4b5dad25b32a2a1c5f21140c14c8e3/google_cloud_speech-2.33.0-py3-none-any.whl", hash = "sha256:4ba16c8517c24a6abcde877289b0f40b719090504bf06b1adea248198ccd50a5", size = 335681, upload-time = "2025-06-11T23:56:36.026Z" }, ] [[package]] @@ -768,9 +768,9 @@ dependencies = [ { name = "google-resumable-media" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/36/76/4d965702e96bb67976e755bed9828fa50306dca003dbee08b67f41dd265e/google_cloud_storage-2.19.0.tar.gz", hash = "sha256:cd05e9e7191ba6cb68934d8eb76054d9be4562aa89dbc4236feee4d7d51342b2", size = 5535488, upload_time = "2024-12-05T01:35:06.49Z" } +sdist = { url = "https://files.pythonhosted.org/packages/36/76/4d965702e96bb67976e755bed9828fa50306dca003dbee08b67f41dd265e/google_cloud_storage-2.19.0.tar.gz", hash = "sha256:cd05e9e7191ba6cb68934d8eb76054d9be4562aa89dbc4236feee4d7d51342b2", size = 5535488, upload-time = "2024-12-05T01:35:06.49Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d5/94/6db383d8ee1adf45dc6c73477152b82731fa4c4a46d9c1932cc8757e0fd4/google_cloud_storage-2.19.0-py2.py3-none-any.whl", hash = "sha256:aeb971b5c29cf8ab98445082cbfe7b161a1f48ed275822f59ed3f1524ea54fba", size = 131787, upload_time = "2024-12-05T01:35:04.736Z" }, + { url = "https://files.pythonhosted.org/packages/d5/94/6db383d8ee1adf45dc6c73477152b82731fa4c4a46d9c1932cc8757e0fd4/google_cloud_storage-2.19.0-py2.py3-none-any.whl", hash = "sha256:aeb971b5c29cf8ab98445082cbfe7b161a1f48ed275822f59ed3f1524ea54fba", size = 131787, upload-time = "2024-12-05T01:35:04.736Z" }, ] [[package]] @@ -783,22 +783,22 @@ dependencies = [ { name = "proto-plus" }, { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c5/ea/0e42e2196fb2bc8c7b25f081a0b46b5053d160b34d5322e7eac2d5f7a742/google_cloud_trace-1.16.2.tar.gz", hash = "sha256:89bef223a512465951eb49335be6d60bee0396d576602dbf56368439d303cab4", size = 97826, upload_time = "2025-06-12T00:53:02.12Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c5/ea/0e42e2196fb2bc8c7b25f081a0b46b5053d160b34d5322e7eac2d5f7a742/google_cloud_trace-1.16.2.tar.gz", hash = "sha256:89bef223a512465951eb49335be6d60bee0396d576602dbf56368439d303cab4", size = 97826, upload-time = "2025-06-12T00:53:02.12Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/08/96/7a8d271e91effa9ccc2fd7cfd5cf287a2d7900080a475477c2ac0c7a331d/google_cloud_trace-1.16.2-py3-none-any.whl", hash = "sha256:40fb74607752e4ee0f3d7e5fc6b8f6eb1803982254a1507ba918172484131456", size = 103755, upload_time = "2025-06-12T00:53:00.672Z" }, + { url = "https://files.pythonhosted.org/packages/08/96/7a8d271e91effa9ccc2fd7cfd5cf287a2d7900080a475477c2ac0c7a331d/google_cloud_trace-1.16.2-py3-none-any.whl", hash = "sha256:40fb74607752e4ee0f3d7e5fc6b8f6eb1803982254a1507ba918172484131456", size = 103755, upload-time = "2025-06-12T00:53:00.672Z" }, ] [[package]] name = "google-crc32c" version = "1.7.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/19/ae/87802e6d9f9d69adfaedfcfd599266bf386a54d0be058b532d04c794f76d/google_crc32c-1.7.1.tar.gz", hash = "sha256:2bff2305f98846f3e825dbeec9ee406f89da7962accdb29356e4eadc251bd472", size = 14495, upload_time = "2025-03-26T14:29:13.32Z" } +sdist = { url = "https://files.pythonhosted.org/packages/19/ae/87802e6d9f9d69adfaedfcfd599266bf386a54d0be058b532d04c794f76d/google_crc32c-1.7.1.tar.gz", hash = "sha256:2bff2305f98846f3e825dbeec9ee406f89da7962accdb29356e4eadc251bd472", size = 14495, upload-time = "2025-03-26T14:29:13.32Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/dd/b7/787e2453cf8639c94b3d06c9d61f512234a82e1d12d13d18584bd3049904/google_crc32c-1.7.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:2d73a68a653c57281401871dd4aeebbb6af3191dcac751a76ce430df4d403194", size = 30470, upload_time = "2025-03-26T14:34:31.655Z" }, - { url = "https://files.pythonhosted.org/packages/ed/b4/6042c2b0cbac3ec3a69bb4c49b28d2f517b7a0f4a0232603c42c58e22b44/google_crc32c-1.7.1-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:22beacf83baaf59f9d3ab2bbb4db0fb018da8e5aebdce07ef9f09fce8220285e", size = 30315, upload_time = "2025-03-26T15:01:54.634Z" }, - { url = "https://files.pythonhosted.org/packages/29/ad/01e7a61a5d059bc57b702d9ff6a18b2585ad97f720bd0a0dbe215df1ab0e/google_crc32c-1.7.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19eafa0e4af11b0a4eb3974483d55d2d77ad1911e6cf6f832e1574f6781fd337", size = 33180, upload_time = "2025-03-26T14:41:32.168Z" }, - { url = "https://files.pythonhosted.org/packages/3b/a5/7279055cf004561894ed3a7bfdf5bf90a53f28fadd01af7cd166e88ddf16/google_crc32c-1.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6d86616faaea68101195c6bdc40c494e4d76f41e07a37ffdef270879c15fb65", size = 32794, upload_time = "2025-03-26T14:41:33.264Z" }, - { url = "https://files.pythonhosted.org/packages/0f/d6/77060dbd140c624e42ae3ece3df53b9d811000729a5c821b9fd671ceaac6/google_crc32c-1.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:b7491bdc0c7564fcf48c0179d2048ab2f7c7ba36b84ccd3a3e1c3f7a72d3bba6", size = 33477, upload_time = "2025-03-26T14:29:10.94Z" }, + { url = "https://files.pythonhosted.org/packages/dd/b7/787e2453cf8639c94b3d06c9d61f512234a82e1d12d13d18584bd3049904/google_crc32c-1.7.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:2d73a68a653c57281401871dd4aeebbb6af3191dcac751a76ce430df4d403194", size = 30470, upload-time = "2025-03-26T14:34:31.655Z" }, + { url = "https://files.pythonhosted.org/packages/ed/b4/6042c2b0cbac3ec3a69bb4c49b28d2f517b7a0f4a0232603c42c58e22b44/google_crc32c-1.7.1-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:22beacf83baaf59f9d3ab2bbb4db0fb018da8e5aebdce07ef9f09fce8220285e", size = 30315, upload-time = "2025-03-26T15:01:54.634Z" }, + { url = "https://files.pythonhosted.org/packages/29/ad/01e7a61a5d059bc57b702d9ff6a18b2585ad97f720bd0a0dbe215df1ab0e/google_crc32c-1.7.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:19eafa0e4af11b0a4eb3974483d55d2d77ad1911e6cf6f832e1574f6781fd337", size = 33180, upload-time = "2025-03-26T14:41:32.168Z" }, + { url = "https://files.pythonhosted.org/packages/3b/a5/7279055cf004561894ed3a7bfdf5bf90a53f28fadd01af7cd166e88ddf16/google_crc32c-1.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6d86616faaea68101195c6bdc40c494e4d76f41e07a37ffdef270879c15fb65", size = 32794, upload-time = "2025-03-26T14:41:33.264Z" }, + { url = "https://files.pythonhosted.org/packages/0f/d6/77060dbd140c624e42ae3ece3df53b9d811000729a5c821b9fd671ceaac6/google_crc32c-1.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:b7491bdc0c7564fcf48c0179d2048ab2f7c7ba36b84ccd3a3e1c3f7a72d3bba6", size = 33477, upload-time = "2025-03-26T14:29:10.94Z" }, ] [[package]] @@ -814,9 +814,9 @@ dependencies = [ { name = "typing-extensions" }, { name = "websockets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/19/12/ad9f08be2ca85122ca50ac69ae70454f18a3c7d840bcc4ed43f517ab47be/google_genai-1.20.0.tar.gz", hash = "sha256:dccca78f765233844b1bd4f1f7a2237d9a76fe6038cf9aa72c0cd991e3c107b5", size = 201550, upload_time = "2025-06-11T23:57:16.411Z" } +sdist = { url = "https://files.pythonhosted.org/packages/19/12/ad9f08be2ca85122ca50ac69ae70454f18a3c7d840bcc4ed43f517ab47be/google_genai-1.20.0.tar.gz", hash = "sha256:dccca78f765233844b1bd4f1f7a2237d9a76fe6038cf9aa72c0cd991e3c107b5", size = 201550, upload-time = "2025-06-11T23:57:16.411Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b9/b4/08f3ea414060a7e7d4436c08bb22d03dabef74cc05ef13ef8cd846156d5b/google_genai-1.20.0-py3-none-any.whl", hash = "sha256:ccd61d6ebcb14f5c778b817b8010e3955ae4f6ddfeaabf65f42f6d5e3e5a8125", size = 203039, upload_time = "2025-06-11T23:57:14.631Z" }, + { url = "https://files.pythonhosted.org/packages/b9/b4/08f3ea414060a7e7d4436c08bb22d03dabef74cc05ef13ef8cd846156d5b/google_genai-1.20.0-py3-none-any.whl", hash = "sha256:ccd61d6ebcb14f5c778b817b8010e3955ae4f6ddfeaabf65f42f6d5e3e5a8125", size = 203039, upload-time = "2025-06-11T23:57:14.631Z" }, ] [[package]] @@ -826,9 +826,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "google-crc32c" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/58/5a/0efdc02665dca14e0837b62c8a1a93132c264bd02054a15abb2218afe0ae/google_resumable_media-2.7.2.tar.gz", hash = "sha256:5280aed4629f2b60b847b0d42f9857fd4935c11af266744df33d8074cae92fe0", size = 2163099, upload_time = "2024-08-07T22:20:38.555Z" } +sdist = { url = "https://files.pythonhosted.org/packages/58/5a/0efdc02665dca14e0837b62c8a1a93132c264bd02054a15abb2218afe0ae/google_resumable_media-2.7.2.tar.gz", hash = "sha256:5280aed4629f2b60b847b0d42f9857fd4935c11af266744df33d8074cae92fe0", size = 2163099, upload-time = "2024-08-07T22:20:38.555Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/82/35/b8d3baf8c46695858cb9d8835a53baa1eeb9906ddaf2f728a5f5b640fd1e/google_resumable_media-2.7.2-py2.py3-none-any.whl", hash = "sha256:3ce7551e9fe6d99e9a126101d2536612bb73486721951e9562fee0f90c6ababa", size = 81251, upload_time = "2024-08-07T22:20:36.409Z" }, + { url = "https://files.pythonhosted.org/packages/82/35/b8d3baf8c46695858cb9d8835a53baa1eeb9906ddaf2f728a5f5b640fd1e/google_resumable_media-2.7.2-py2.py3-none-any.whl", hash = "sha256:3ce7551e9fe6d99e9a126101d2536612bb73486721951e9562fee0f90c6ababa", size = 81251, upload-time = "2024-08-07T22:20:36.409Z" }, ] [[package]] @@ -838,9 +838,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/39/24/33db22342cf4a2ea27c9955e6713140fedd51e8b141b5ce5260897020f1a/googleapis_common_protos-1.70.0.tar.gz", hash = "sha256:0e1b44e0ea153e6594f9f394fef15193a68aaaea2d843f83e2742717ca753257", size = 145903, upload_time = "2025-04-14T10:17:02.924Z" } +sdist = { url = "https://files.pythonhosted.org/packages/39/24/33db22342cf4a2ea27c9955e6713140fedd51e8b141b5ce5260897020f1a/googleapis_common_protos-1.70.0.tar.gz", hash = "sha256:0e1b44e0ea153e6594f9f394fef15193a68aaaea2d843f83e2742717ca753257", size = 145903, upload-time = "2025-04-14T10:17:02.924Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/86/f1/62a193f0227cf15a920390abe675f386dec35f7ae3ffe6da582d3ade42c7/googleapis_common_protos-1.70.0-py3-none-any.whl", hash = "sha256:b8bfcca8c25a2bb253e0e0b0adaf8c00773e5e6af6fd92397576680b807e0fd8", size = 294530, upload_time = "2025-04-14T10:17:01.271Z" }, + { url = "https://files.pythonhosted.org/packages/86/f1/62a193f0227cf15a920390abe675f386dec35f7ae3ffe6da582d3ade42c7/googleapis_common_protos-1.70.0-py3-none-any.whl", hash = "sha256:b8bfcca8c25a2bb253e0e0b0adaf8c00773e5e6af6fd92397576680b807e0fd8", size = 294530, upload-time = "2025-04-14T10:17:01.271Z" }, ] [package.optional-dependencies] @@ -852,26 +852,26 @@ grpc = [ name = "graphviz" version = "0.20.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fa/83/5a40d19b8347f017e417710907f824915fba411a9befd092e52746b63e9f/graphviz-0.20.3.zip", hash = "sha256:09d6bc81e6a9fa392e7ba52135a9d49f1ed62526f96499325930e87ca1b5925d", size = 256455, upload_time = "2024-03-21T07:50:45.772Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fa/83/5a40d19b8347f017e417710907f824915fba411a9befd092e52746b63e9f/graphviz-0.20.3.zip", hash = "sha256:09d6bc81e6a9fa392e7ba52135a9d49f1ed62526f96499325930e87ca1b5925d", size = 256455, upload-time = "2024-03-21T07:50:45.772Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/00/be/d59db2d1d52697c6adc9eacaf50e8965b6345cc143f671e1ed068818d5cf/graphviz-0.20.3-py3-none-any.whl", hash = "sha256:81f848f2904515d8cd359cc611faba817598d2feaac4027b266aa3eda7b3dde5", size = 47126, upload_time = "2024-03-21T07:50:43.091Z" }, + { url = "https://files.pythonhosted.org/packages/00/be/d59db2d1d52697c6adc9eacaf50e8965b6345cc143f671e1ed068818d5cf/graphviz-0.20.3-py3-none-any.whl", hash = "sha256:81f848f2904515d8cd359cc611faba817598d2feaac4027b266aa3eda7b3dde5", size = 47126, upload-time = "2024-03-21T07:50:43.091Z" }, ] [[package]] name = "greenlet" version = "3.2.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c9/92/bb85bd6e80148a4d2e0c59f7c0c2891029f8fd510183afc7d8d2feeed9b6/greenlet-3.2.3.tar.gz", hash = "sha256:8b0dd8ae4c0d6f5e54ee55ba935eeb3d735a9b58a8a1e5b5cbab64e01a39f365", size = 185752, upload_time = "2025-06-05T16:16:09.955Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c9/92/bb85bd6e80148a4d2e0c59f7c0c2891029f8fd510183afc7d8d2feeed9b6/greenlet-3.2.3.tar.gz", hash = "sha256:8b0dd8ae4c0d6f5e54ee55ba935eeb3d735a9b58a8a1e5b5cbab64e01a39f365", size = 185752, upload-time = "2025-06-05T16:16:09.955Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f3/94/ad0d435f7c48debe960c53b8f60fb41c2026b1d0fa4a99a1cb17c3461e09/greenlet-3.2.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:25ad29caed5783d4bd7a85c9251c651696164622494c00802a139c00d639242d", size = 271992, upload_time = "2025-06-05T16:11:23.467Z" }, - { url = "https://files.pythonhosted.org/packages/93/5d/7c27cf4d003d6e77749d299c7c8f5fd50b4f251647b5c2e97e1f20da0ab5/greenlet-3.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:88cd97bf37fe24a6710ec6a3a7799f3f81d9cd33317dcf565ff9950c83f55e0b", size = 638820, upload_time = "2025-06-05T16:38:52.882Z" }, - { url = "https://files.pythonhosted.org/packages/c6/7e/807e1e9be07a125bb4c169144937910bf59b9d2f6d931578e57f0bce0ae2/greenlet-3.2.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:baeedccca94880d2f5666b4fa16fc20ef50ba1ee353ee2d7092b383a243b0b0d", size = 653046, upload_time = "2025-06-05T16:41:36.343Z" }, - { url = "https://files.pythonhosted.org/packages/9d/ab/158c1a4ea1068bdbc78dba5a3de57e4c7aeb4e7fa034320ea94c688bfb61/greenlet-3.2.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:be52af4b6292baecfa0f397f3edb3c6092ce071b499dd6fe292c9ac9f2c8f264", size = 647701, upload_time = "2025-06-05T16:48:19.604Z" }, - { url = "https://files.pythonhosted.org/packages/cc/0d/93729068259b550d6a0288da4ff72b86ed05626eaf1eb7c0d3466a2571de/greenlet-3.2.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0cc73378150b8b78b0c9fe2ce56e166695e67478550769536a6742dca3651688", size = 649747, upload_time = "2025-06-05T16:13:04.628Z" }, - { url = "https://files.pythonhosted.org/packages/f6/f6/c82ac1851c60851302d8581680573245c8fc300253fc1ff741ae74a6c24d/greenlet-3.2.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:706d016a03e78df129f68c4c9b4c4f963f7d73534e48a24f5f5a7101ed13dbbb", size = 605461, upload_time = "2025-06-05T16:12:50.792Z" }, - { url = "https://files.pythonhosted.org/packages/98/82/d022cf25ca39cf1200650fc58c52af32c90f80479c25d1cbf57980ec3065/greenlet-3.2.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:419e60f80709510c343c57b4bb5a339d8767bf9aef9b8ce43f4f143240f88b7c", size = 1121190, upload_time = "2025-06-05T16:36:48.59Z" }, - { url = "https://files.pythonhosted.org/packages/f5/e1/25297f70717abe8104c20ecf7af0a5b82d2f5a980eb1ac79f65654799f9f/greenlet-3.2.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:93d48533fade144203816783373f27a97e4193177ebaaf0fc396db19e5d61163", size = 1149055, upload_time = "2025-06-05T16:12:40.457Z" }, - { url = "https://files.pythonhosted.org/packages/1f/8f/8f9e56c5e82eb2c26e8cde787962e66494312dc8cb261c460e1f3a9c88bc/greenlet-3.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:7454d37c740bb27bdeddfc3f358f26956a07d5220818ceb467a483197d84f849", size = 297817, upload_time = "2025-06-05T16:29:49.244Z" }, + { url = "https://files.pythonhosted.org/packages/f3/94/ad0d435f7c48debe960c53b8f60fb41c2026b1d0fa4a99a1cb17c3461e09/greenlet-3.2.3-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:25ad29caed5783d4bd7a85c9251c651696164622494c00802a139c00d639242d", size = 271992, upload-time = "2025-06-05T16:11:23.467Z" }, + { url = "https://files.pythonhosted.org/packages/93/5d/7c27cf4d003d6e77749d299c7c8f5fd50b4f251647b5c2e97e1f20da0ab5/greenlet-3.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:88cd97bf37fe24a6710ec6a3a7799f3f81d9cd33317dcf565ff9950c83f55e0b", size = 638820, upload-time = "2025-06-05T16:38:52.882Z" }, + { url = "https://files.pythonhosted.org/packages/c6/7e/807e1e9be07a125bb4c169144937910bf59b9d2f6d931578e57f0bce0ae2/greenlet-3.2.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:baeedccca94880d2f5666b4fa16fc20ef50ba1ee353ee2d7092b383a243b0b0d", size = 653046, upload-time = "2025-06-05T16:41:36.343Z" }, + { url = "https://files.pythonhosted.org/packages/9d/ab/158c1a4ea1068bdbc78dba5a3de57e4c7aeb4e7fa034320ea94c688bfb61/greenlet-3.2.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:be52af4b6292baecfa0f397f3edb3c6092ce071b499dd6fe292c9ac9f2c8f264", size = 647701, upload-time = "2025-06-05T16:48:19.604Z" }, + { url = "https://files.pythonhosted.org/packages/cc/0d/93729068259b550d6a0288da4ff72b86ed05626eaf1eb7c0d3466a2571de/greenlet-3.2.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0cc73378150b8b78b0c9fe2ce56e166695e67478550769536a6742dca3651688", size = 649747, upload-time = "2025-06-05T16:13:04.628Z" }, + { url = "https://files.pythonhosted.org/packages/f6/f6/c82ac1851c60851302d8581680573245c8fc300253fc1ff741ae74a6c24d/greenlet-3.2.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:706d016a03e78df129f68c4c9b4c4f963f7d73534e48a24f5f5a7101ed13dbbb", size = 605461, upload-time = "2025-06-05T16:12:50.792Z" }, + { url = "https://files.pythonhosted.org/packages/98/82/d022cf25ca39cf1200650fc58c52af32c90f80479c25d1cbf57980ec3065/greenlet-3.2.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:419e60f80709510c343c57b4bb5a339d8767bf9aef9b8ce43f4f143240f88b7c", size = 1121190, upload-time = "2025-06-05T16:36:48.59Z" }, + { url = "https://files.pythonhosted.org/packages/f5/e1/25297f70717abe8104c20ecf7af0a5b82d2f5a980eb1ac79f65654799f9f/greenlet-3.2.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:93d48533fade144203816783373f27a97e4193177ebaaf0fc396db19e5d61163", size = 1149055, upload-time = "2025-06-05T16:12:40.457Z" }, + { url = "https://files.pythonhosted.org/packages/1f/8f/8f9e56c5e82eb2c26e8cde787962e66494312dc8cb261c460e1f3a9c88bc/greenlet-3.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:7454d37c740bb27bdeddfc3f358f26956a07d5220818ceb467a483197d84f849", size = 297817, upload-time = "2025-06-05T16:29:49.244Z" }, ] [[package]] @@ -883,27 +883,27 @@ dependencies = [ { name = "grpcio" }, { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b9/4e/8d0ca3b035e41fe0b3f31ebbb638356af720335e5a11154c330169b40777/grpc_google_iam_v1-0.14.2.tar.gz", hash = "sha256:b3e1fc387a1a329e41672197d0ace9de22c78dd7d215048c4c78712073f7bd20", size = 16259, upload_time = "2025-03-17T11:40:23.586Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b9/4e/8d0ca3b035e41fe0b3f31ebbb638356af720335e5a11154c330169b40777/grpc_google_iam_v1-0.14.2.tar.gz", hash = "sha256:b3e1fc387a1a329e41672197d0ace9de22c78dd7d215048c4c78712073f7bd20", size = 16259, upload-time = "2025-03-17T11:40:23.586Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/66/6f/dd9b178aee7835b96c2e63715aba6516a9d50f6bebbd1cc1d32c82a2a6c3/grpc_google_iam_v1-0.14.2-py3-none-any.whl", hash = "sha256:a3171468459770907926d56a440b2bb643eec1d7ba215f48f3ecece42b4d8351", size = 19242, upload_time = "2025-03-17T11:40:22.648Z" }, + { url = "https://files.pythonhosted.org/packages/66/6f/dd9b178aee7835b96c2e63715aba6516a9d50f6bebbd1cc1d32c82a2a6c3/grpc_google_iam_v1-0.14.2-py3-none-any.whl", hash = "sha256:a3171468459770907926d56a440b2bb643eec1d7ba215f48f3ecece42b4d8351", size = 19242, upload-time = "2025-03-17T11:40:22.648Z" }, ] [[package]] name = "grpcio" version = "1.73.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8e/7b/ca3f561aeecf0c846d15e1b38921a60dffffd5d4113931198fbf455334ee/grpcio-1.73.0.tar.gz", hash = "sha256:3af4c30918a7f0d39de500d11255f8d9da4f30e94a2033e70fe2a720e184bd8e", size = 12786424, upload_time = "2025-06-09T10:08:23.365Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8e/7b/ca3f561aeecf0c846d15e1b38921a60dffffd5d4113931198fbf455334ee/grpcio-1.73.0.tar.gz", hash = "sha256:3af4c30918a7f0d39de500d11255f8d9da4f30e94a2033e70fe2a720e184bd8e", size = 12786424, upload-time = "2025-06-09T10:08:23.365Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9d/4d/e938f3a0e51a47f2ce7e55f12f19f316e7074770d56a7c2765e782ec76bc/grpcio-1.73.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:fb9d7c27089d9ba3746f18d2109eb530ef2a37452d2ff50f5a6696cd39167d3b", size = 5334911, upload_time = "2025-06-09T10:03:33.494Z" }, - { url = "https://files.pythonhosted.org/packages/13/56/f09c72c43aa8d6f15a71f2c63ebdfac9cf9314363dea2598dc501d8370db/grpcio-1.73.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:128ba2ebdac41e41554d492b82c34586a90ebd0766f8ebd72160c0e3a57b9155", size = 10601460, upload_time = "2025-06-09T10:03:36.613Z" }, - { url = "https://files.pythonhosted.org/packages/20/e3/85496edc81e41b3c44ebefffc7bce133bb531120066877df0f910eabfa19/grpcio-1.73.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:068ecc415f79408d57a7f146f54cdf9f0acb4b301a52a9e563973dc981e82f3d", size = 5759191, upload_time = "2025-06-09T10:03:39.838Z" }, - { url = "https://files.pythonhosted.org/packages/88/cc/fef74270a6d29f35ad744bfd8e6c05183f35074ff34c655a2c80f3b422b2/grpcio-1.73.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ddc1cfb2240f84d35d559ade18f69dcd4257dbaa5ba0de1a565d903aaab2968", size = 6409961, upload_time = "2025-06-09T10:03:42.706Z" }, - { url = "https://files.pythonhosted.org/packages/b0/e6/13cfea15e3b8f79c4ae7b676cb21fab70978b0fde1e1d28bb0e073291290/grpcio-1.73.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e53007f70d9783f53b41b4cf38ed39a8e348011437e4c287eee7dd1d39d54b2f", size = 6003948, upload_time = "2025-06-09T10:03:44.96Z" }, - { url = "https://files.pythonhosted.org/packages/c2/ed/b1a36dad4cc0dbf1f83f6d7b58825fefd5cc9ff3a5036e46091335649473/grpcio-1.73.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4dd8d8d092efede7d6f48d695ba2592046acd04ccf421436dd7ed52677a9ad29", size = 6103788, upload_time = "2025-06-09T10:03:48.053Z" }, - { url = "https://files.pythonhosted.org/packages/e7/c8/d381433d3d46d10f6858126d2d2245ef329e30f3752ce4514c93b95ca6fc/grpcio-1.73.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:70176093d0a95b44d24baa9c034bb67bfe2b6b5f7ebc2836f4093c97010e17fd", size = 6749508, upload_time = "2025-06-09T10:03:51.185Z" }, - { url = "https://files.pythonhosted.org/packages/87/0a/ff0c31dbd15e63b34320efafac647270aa88c31aa19ff01154a73dc7ce86/grpcio-1.73.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:085ebe876373ca095e24ced95c8f440495ed0b574c491f7f4f714ff794bbcd10", size = 6284342, upload_time = "2025-06-09T10:03:54.467Z" }, - { url = "https://files.pythonhosted.org/packages/fd/73/f762430c0ba867403b9d6e463afe026bf019bd9206eee753785239719273/grpcio-1.73.0-cp312-cp312-win32.whl", hash = "sha256:cfc556c1d6aef02c727ec7d0016827a73bfe67193e47c546f7cadd3ee6bf1a60", size = 3669319, upload_time = "2025-06-09T10:03:56.751Z" }, - { url = "https://files.pythonhosted.org/packages/10/8b/3411609376b2830449cf416f457ad9d2aacb7f562e1b90fdd8bdedf26d63/grpcio-1.73.0-cp312-cp312-win_amd64.whl", hash = "sha256:bbf45d59d090bf69f1e4e1594832aaf40aa84b31659af3c5e2c3f6a35202791a", size = 4335596, upload_time = "2025-06-09T10:03:59.866Z" }, + { url = "https://files.pythonhosted.org/packages/9d/4d/e938f3a0e51a47f2ce7e55f12f19f316e7074770d56a7c2765e782ec76bc/grpcio-1.73.0-cp312-cp312-linux_armv7l.whl", hash = "sha256:fb9d7c27089d9ba3746f18d2109eb530ef2a37452d2ff50f5a6696cd39167d3b", size = 5334911, upload-time = "2025-06-09T10:03:33.494Z" }, + { url = "https://files.pythonhosted.org/packages/13/56/f09c72c43aa8d6f15a71f2c63ebdfac9cf9314363dea2598dc501d8370db/grpcio-1.73.0-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:128ba2ebdac41e41554d492b82c34586a90ebd0766f8ebd72160c0e3a57b9155", size = 10601460, upload-time = "2025-06-09T10:03:36.613Z" }, + { url = "https://files.pythonhosted.org/packages/20/e3/85496edc81e41b3c44ebefffc7bce133bb531120066877df0f910eabfa19/grpcio-1.73.0-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:068ecc415f79408d57a7f146f54cdf9f0acb4b301a52a9e563973dc981e82f3d", size = 5759191, upload-time = "2025-06-09T10:03:39.838Z" }, + { url = "https://files.pythonhosted.org/packages/88/cc/fef74270a6d29f35ad744bfd8e6c05183f35074ff34c655a2c80f3b422b2/grpcio-1.73.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ddc1cfb2240f84d35d559ade18f69dcd4257dbaa5ba0de1a565d903aaab2968", size = 6409961, upload-time = "2025-06-09T10:03:42.706Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e6/13cfea15e3b8f79c4ae7b676cb21fab70978b0fde1e1d28bb0e073291290/grpcio-1.73.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e53007f70d9783f53b41b4cf38ed39a8e348011437e4c287eee7dd1d39d54b2f", size = 6003948, upload-time = "2025-06-09T10:03:44.96Z" }, + { url = "https://files.pythonhosted.org/packages/c2/ed/b1a36dad4cc0dbf1f83f6d7b58825fefd5cc9ff3a5036e46091335649473/grpcio-1.73.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:4dd8d8d092efede7d6f48d695ba2592046acd04ccf421436dd7ed52677a9ad29", size = 6103788, upload-time = "2025-06-09T10:03:48.053Z" }, + { url = "https://files.pythonhosted.org/packages/e7/c8/d381433d3d46d10f6858126d2d2245ef329e30f3752ce4514c93b95ca6fc/grpcio-1.73.0-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:70176093d0a95b44d24baa9c034bb67bfe2b6b5f7ebc2836f4093c97010e17fd", size = 6749508, upload-time = "2025-06-09T10:03:51.185Z" }, + { url = "https://files.pythonhosted.org/packages/87/0a/ff0c31dbd15e63b34320efafac647270aa88c31aa19ff01154a73dc7ce86/grpcio-1.73.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:085ebe876373ca095e24ced95c8f440495ed0b574c491f7f4f714ff794bbcd10", size = 6284342, upload-time = "2025-06-09T10:03:54.467Z" }, + { url = "https://files.pythonhosted.org/packages/fd/73/f762430c0ba867403b9d6e463afe026bf019bd9206eee753785239719273/grpcio-1.73.0-cp312-cp312-win32.whl", hash = "sha256:cfc556c1d6aef02c727ec7d0016827a73bfe67193e47c546f7cadd3ee6bf1a60", size = 3669319, upload-time = "2025-06-09T10:03:56.751Z" }, + { url = "https://files.pythonhosted.org/packages/10/8b/3411609376b2830449cf416f457ad9d2aacb7f562e1b90fdd8bdedf26d63/grpcio-1.73.0-cp312-cp312-win_amd64.whl", hash = "sha256:bbf45d59d090bf69f1e4e1594832aaf40aa84b31659af3c5e2c3f6a35202791a", size = 4335596, upload-time = "2025-06-09T10:03:59.866Z" }, ] [[package]] @@ -915,33 +915,33 @@ dependencies = [ { name = "grpcio" }, { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6d/07/1c7b5ec7c72b8e2efc32cf82e2fe72497c579c8fa94edb8c3e430874cd42/grpcio_status-1.73.0.tar.gz", hash = "sha256:a2b7f430568217f884fe52a5a0133b6f4c9338beae33fb5370134a8eaf58f974", size = 13670, upload_time = "2025-06-09T10:08:35.964Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6d/07/1c7b5ec7c72b8e2efc32cf82e2fe72497c579c8fa94edb8c3e430874cd42/grpcio_status-1.73.0.tar.gz", hash = "sha256:a2b7f430568217f884fe52a5a0133b6f4c9338beae33fb5370134a8eaf58f974", size = 13670, upload-time = "2025-06-09T10:08:35.964Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e2/95/e4b963a8730e04fae0e98cdd12212a9ffb318daf8687ea3220b78b34f8fa/grpcio_status-1.73.0-py3-none-any.whl", hash = "sha256:a3f3a9994b44c364f014e806114ba44cc52e50c426779f958c8b22f14ff0d892", size = 14423, upload_time = "2025-06-09T10:06:14.624Z" }, + { url = "https://files.pythonhosted.org/packages/e2/95/e4b963a8730e04fae0e98cdd12212a9ffb318daf8687ea3220b78b34f8fa/grpcio_status-1.73.0-py3-none-any.whl", hash = "sha256:a3f3a9994b44c364f014e806114ba44cc52e50c426779f958c8b22f14ff0d892", size = 14423, upload-time = "2025-06-09T10:06:14.624Z" }, ] [[package]] name = "h11" version = "0.16.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload_time = "2025-04-24T03:35:25.427Z" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload_time = "2025-04-24T03:35:24.344Z" }, + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, ] [[package]] name = "hf-xet" version = "1.1.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/75/dc/dc091aeeb671e71cbec30e84963f9c0202c17337b24b0a800e7d205543e8/hf_xet-1.1.3.tar.gz", hash = "sha256:a5f09b1dd24e6ff6bcedb4b0ddab2d81824098bb002cf8b4ffa780545fa348c3", size = 488127, upload_time = "2025-06-04T00:47:27.456Z" } +sdist = { url = "https://files.pythonhosted.org/packages/75/dc/dc091aeeb671e71cbec30e84963f9c0202c17337b24b0a800e7d205543e8/hf_xet-1.1.3.tar.gz", hash = "sha256:a5f09b1dd24e6ff6bcedb4b0ddab2d81824098bb002cf8b4ffa780545fa348c3", size = 488127, upload-time = "2025-06-04T00:47:27.456Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9b/1f/bc01a4c0894973adebbcd4aa338a06815c76333ebb3921d94dcbd40dae6a/hf_xet-1.1.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:c3b508b5f583a75641aebf732853deb058953370ce8184f5dabc49f803b0819b", size = 2256929, upload_time = "2025-06-04T00:47:21.206Z" }, - { url = "https://files.pythonhosted.org/packages/78/07/6ef50851b5c6b45b77a6e018fa299c69a2db3b8bbd0d5af594c0238b1ceb/hf_xet-1.1.3-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:b788a61977fbe6b5186e66239e2a329a3f0b7e7ff50dad38984c0c74f44aeca1", size = 2153719, upload_time = "2025-06-04T00:47:19.302Z" }, - { url = "https://files.pythonhosted.org/packages/52/48/e929e6e3db6e4758c2adf0f2ca2c59287f1b76229d8bdc1a4c9cfc05212e/hf_xet-1.1.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd2da210856444a34aad8ada2fc12f70dabed7cc20f37e90754d1d9b43bc0534", size = 4820519, upload_time = "2025-06-04T00:47:17.244Z" }, - { url = "https://files.pythonhosted.org/packages/28/2e/03f89c5014a5aafaa9b150655f811798a317036646623bdaace25f485ae8/hf_xet-1.1.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:8203f52827e3df65981984936654a5b390566336956f65765a8aa58c362bb841", size = 4964121, upload_time = "2025-06-04T00:47:15.17Z" }, - { url = "https://files.pythonhosted.org/packages/47/8b/5cd399a92b47d98086f55fc72d69bc9ea5e5c6f27a9ed3e0cdd6be4e58a3/hf_xet-1.1.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:30c575a5306f8e6fda37edb866762140a435037365eba7a17ce7bd0bc0216a8b", size = 5283017, upload_time = "2025-06-04T00:47:23.239Z" }, - { url = "https://files.pythonhosted.org/packages/53/e3/2fcec58d2fcfd25ff07feb876f466cfa11f8dcf9d3b742c07fe9dd51ee0a/hf_xet-1.1.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:7c1a6aa6abed1f696f8099aa9796ca04c9ee778a58728a115607de9cc4638ff1", size = 4970349, upload_time = "2025-06-04T00:47:25.383Z" }, - { url = "https://files.pythonhosted.org/packages/53/bf/10ca917e335861101017ff46044c90e517b574fbb37219347b83be1952f6/hf_xet-1.1.3-cp37-abi3-win_amd64.whl", hash = "sha256:b578ae5ac9c056296bb0df9d018e597c8dc6390c5266f35b5c44696003cde9f3", size = 2310934, upload_time = "2025-06-04T00:47:29.632Z" }, + { url = "https://files.pythonhosted.org/packages/9b/1f/bc01a4c0894973adebbcd4aa338a06815c76333ebb3921d94dcbd40dae6a/hf_xet-1.1.3-cp37-abi3-macosx_10_12_x86_64.whl", hash = "sha256:c3b508b5f583a75641aebf732853deb058953370ce8184f5dabc49f803b0819b", size = 2256929, upload-time = "2025-06-04T00:47:21.206Z" }, + { url = "https://files.pythonhosted.org/packages/78/07/6ef50851b5c6b45b77a6e018fa299c69a2db3b8bbd0d5af594c0238b1ceb/hf_xet-1.1.3-cp37-abi3-macosx_11_0_arm64.whl", hash = "sha256:b788a61977fbe6b5186e66239e2a329a3f0b7e7ff50dad38984c0c74f44aeca1", size = 2153719, upload-time = "2025-06-04T00:47:19.302Z" }, + { url = "https://files.pythonhosted.org/packages/52/48/e929e6e3db6e4758c2adf0f2ca2c59287f1b76229d8bdc1a4c9cfc05212e/hf_xet-1.1.3-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd2da210856444a34aad8ada2fc12f70dabed7cc20f37e90754d1d9b43bc0534", size = 4820519, upload-time = "2025-06-04T00:47:17.244Z" }, + { url = "https://files.pythonhosted.org/packages/28/2e/03f89c5014a5aafaa9b150655f811798a317036646623bdaace25f485ae8/hf_xet-1.1.3-cp37-abi3-manylinux_2_28_aarch64.whl", hash = "sha256:8203f52827e3df65981984936654a5b390566336956f65765a8aa58c362bb841", size = 4964121, upload-time = "2025-06-04T00:47:15.17Z" }, + { url = "https://files.pythonhosted.org/packages/47/8b/5cd399a92b47d98086f55fc72d69bc9ea5e5c6f27a9ed3e0cdd6be4e58a3/hf_xet-1.1.3-cp37-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:30c575a5306f8e6fda37edb866762140a435037365eba7a17ce7bd0bc0216a8b", size = 5283017, upload-time = "2025-06-04T00:47:23.239Z" }, + { url = "https://files.pythonhosted.org/packages/53/e3/2fcec58d2fcfd25ff07feb876f466cfa11f8dcf9d3b742c07fe9dd51ee0a/hf_xet-1.1.3-cp37-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:7c1a6aa6abed1f696f8099aa9796ca04c9ee778a58728a115607de9cc4638ff1", size = 4970349, upload-time = "2025-06-04T00:47:25.383Z" }, + { url = "https://files.pythonhosted.org/packages/53/bf/10ca917e335861101017ff46044c90e517b574fbb37219347b83be1952f6/hf_xet-1.1.3-cp37-abi3-win_amd64.whl", hash = "sha256:b578ae5ac9c056296bb0df9d018e597c8dc6390c5266f35b5c44696003cde9f3", size = 2310934, upload-time = "2025-06-04T00:47:29.632Z" }, ] [[package]] @@ -952,9 +952,9 @@ dependencies = [ { name = "certifi" }, { name = "h11" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload_time = "2025-04-24T22:06:22.219Z" } +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload_time = "2025-04-24T22:06:20.566Z" }, + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, ] [[package]] @@ -964,24 +964,24 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pyparsing" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/3d/ad/2371116b22d616c194aa25ec410c9c6c37f23599dcd590502b74db197584/httplib2-0.22.0.tar.gz", hash = "sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81", size = 351116, upload_time = "2023-03-21T22:29:37.214Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3d/ad/2371116b22d616c194aa25ec410c9c6c37f23599dcd590502b74db197584/httplib2-0.22.0.tar.gz", hash = "sha256:d7a10bc5ef5ab08322488bde8c726eeee5c8618723fdb399597ec58f3d82df81", size = 351116, upload-time = "2023-03-21T22:29:37.214Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a8/6c/d2fbdaaa5959339d53ba38e94c123e4e84b8fbc4b84beb0e70d7c1608486/httplib2-0.22.0-py3-none-any.whl", hash = "sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc", size = 96854, upload_time = "2023-03-21T22:29:35.683Z" }, + { url = "https://files.pythonhosted.org/packages/a8/6c/d2fbdaaa5959339d53ba38e94c123e4e84b8fbc4b84beb0e70d7c1608486/httplib2-0.22.0-py3-none-any.whl", hash = "sha256:14ae0a53c1ba8f3d37e9e27cf37eabb0fb9980f435ba405d546948b009dd64dc", size = 96854, upload-time = "2023-03-21T22:29:35.683Z" }, ] [[package]] name = "httptools" version = "0.6.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a7/9a/ce5e1f7e131522e6d3426e8e7a490b3a01f39a6696602e1c4f33f9e94277/httptools-0.6.4.tar.gz", hash = "sha256:4e93eee4add6493b59a5c514da98c939b244fce4a0d8879cd3f466562f4b7d5c", size = 240639, upload_time = "2024-10-16T19:45:08.902Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a7/9a/ce5e1f7e131522e6d3426e8e7a490b3a01f39a6696602e1c4f33f9e94277/httptools-0.6.4.tar.gz", hash = "sha256:4e93eee4add6493b59a5c514da98c939b244fce4a0d8879cd3f466562f4b7d5c", size = 240639, upload-time = "2024-10-16T19:45:08.902Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bb/0e/d0b71465c66b9185f90a091ab36389a7352985fe857e352801c39d6127c8/httptools-0.6.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:df017d6c780287d5c80601dafa31f17bddb170232d85c066604d8558683711a2", size = 200683, upload_time = "2024-10-16T19:44:30.175Z" }, - { url = "https://files.pythonhosted.org/packages/e2/b8/412a9bb28d0a8988de3296e01efa0bd62068b33856cdda47fe1b5e890954/httptools-0.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:85071a1e8c2d051b507161f6c3e26155b5c790e4e28d7f236422dbacc2a9cc44", size = 104337, upload_time = "2024-10-16T19:44:31.786Z" }, - { url = "https://files.pythonhosted.org/packages/9b/01/6fb20be3196ffdc8eeec4e653bc2a275eca7f36634c86302242c4fbb2760/httptools-0.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69422b7f458c5af875922cdb5bd586cc1f1033295aa9ff63ee196a87519ac8e1", size = 508796, upload_time = "2024-10-16T19:44:32.825Z" }, - { url = "https://files.pythonhosted.org/packages/f7/d8/b644c44acc1368938317d76ac991c9bba1166311880bcc0ac297cb9d6bd7/httptools-0.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16e603a3bff50db08cd578d54f07032ca1631450ceb972c2f834c2b860c28ea2", size = 510837, upload_time = "2024-10-16T19:44:33.974Z" }, - { url = "https://files.pythonhosted.org/packages/52/d8/254d16a31d543073a0e57f1c329ca7378d8924e7e292eda72d0064987486/httptools-0.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec4f178901fa1834d4a060320d2f3abc5c9e39766953d038f1458cb885f47e81", size = 485289, upload_time = "2024-10-16T19:44:35.111Z" }, - { url = "https://files.pythonhosted.org/packages/5f/3c/4aee161b4b7a971660b8be71a92c24d6c64372c1ab3ae7f366b3680df20f/httptools-0.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f9eb89ecf8b290f2e293325c646a211ff1c2493222798bb80a530c5e7502494f", size = 489779, upload_time = "2024-10-16T19:44:36.253Z" }, - { url = "https://files.pythonhosted.org/packages/12/b7/5cae71a8868e555f3f67a50ee7f673ce36eac970f029c0c5e9d584352961/httptools-0.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:db78cb9ca56b59b016e64b6031eda5653be0589dba2b1b43453f6e8b405a0970", size = 88634, upload_time = "2024-10-16T19:44:37.357Z" }, + { url = "https://files.pythonhosted.org/packages/bb/0e/d0b71465c66b9185f90a091ab36389a7352985fe857e352801c39d6127c8/httptools-0.6.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:df017d6c780287d5c80601dafa31f17bddb170232d85c066604d8558683711a2", size = 200683, upload-time = "2024-10-16T19:44:30.175Z" }, + { url = "https://files.pythonhosted.org/packages/e2/b8/412a9bb28d0a8988de3296e01efa0bd62068b33856cdda47fe1b5e890954/httptools-0.6.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:85071a1e8c2d051b507161f6c3e26155b5c790e4e28d7f236422dbacc2a9cc44", size = 104337, upload-time = "2024-10-16T19:44:31.786Z" }, + { url = "https://files.pythonhosted.org/packages/9b/01/6fb20be3196ffdc8eeec4e653bc2a275eca7f36634c86302242c4fbb2760/httptools-0.6.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:69422b7f458c5af875922cdb5bd586cc1f1033295aa9ff63ee196a87519ac8e1", size = 508796, upload-time = "2024-10-16T19:44:32.825Z" }, + { url = "https://files.pythonhosted.org/packages/f7/d8/b644c44acc1368938317d76ac991c9bba1166311880bcc0ac297cb9d6bd7/httptools-0.6.4-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:16e603a3bff50db08cd578d54f07032ca1631450ceb972c2f834c2b860c28ea2", size = 510837, upload-time = "2024-10-16T19:44:33.974Z" }, + { url = "https://files.pythonhosted.org/packages/52/d8/254d16a31d543073a0e57f1c329ca7378d8924e7e292eda72d0064987486/httptools-0.6.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec4f178901fa1834d4a060320d2f3abc5c9e39766953d038f1458cb885f47e81", size = 485289, upload-time = "2024-10-16T19:44:35.111Z" }, + { url = "https://files.pythonhosted.org/packages/5f/3c/4aee161b4b7a971660b8be71a92c24d6c64372c1ab3ae7f366b3680df20f/httptools-0.6.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:f9eb89ecf8b290f2e293325c646a211ff1c2493222798bb80a530c5e7502494f", size = 489779, upload-time = "2024-10-16T19:44:36.253Z" }, + { url = "https://files.pythonhosted.org/packages/12/b7/5cae71a8868e555f3f67a50ee7f673ce36eac970f029c0c5e9d584352961/httptools-0.6.4-cp312-cp312-win_amd64.whl", hash = "sha256:db78cb9ca56b59b016e64b6031eda5653be0589dba2b1b43453f6e8b405a0970", size = 88634, upload-time = "2024-10-16T19:44:37.357Z" }, ] [[package]] @@ -994,18 +994,18 @@ dependencies = [ { name = "httpcore" }, { name = "idna" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload_time = "2024-12-06T15:37:23.222Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload_time = "2024-12-06T15:37:21.509Z" }, + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, ] [[package]] name = "httpx-sse" version = "0.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/4c/60/8f4281fa9bbf3c8034fd54c0e7412e66edbab6bc74c4996bd616f8d0406e/httpx-sse-0.4.0.tar.gz", hash = "sha256:1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721", size = 12624, upload_time = "2023-12-22T08:01:21.083Z" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/60/8f4281fa9bbf3c8034fd54c0e7412e66edbab6bc74c4996bd616f8d0406e/httpx-sse-0.4.0.tar.gz", hash = "sha256:1e81a3a3070ce322add1d3529ed42eb5f70817f45ed6ec915ab753f961139721", size = 12624, upload-time = "2023-12-22T08:01:21.083Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/9b/a181f281f65d776426002f330c31849b86b31fc9d848db62e16f03ff739f/httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f", size = 7819, upload_time = "2023-12-22T08:01:19.89Z" }, + { url = "https://files.pythonhosted.org/packages/e1/9b/a181f281f65d776426002f330c31849b86b31fc9d848db62e16f03ff739f/httpx_sse-0.4.0-py3-none-any.whl", hash = "sha256:f329af6eae57eaa2bdfd962b42524764af68075ea87370a2de920af5341e318f", size = 7819, upload-time = "2023-12-22T08:01:19.89Z" }, ] [[package]] @@ -1022,37 +1022,37 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/91/8a/1362d565fefabaa4185cf3ae842a98dbc5b35146f5694f7080f043a6952f/huggingface_hub-0.33.0.tar.gz", hash = "sha256:aa31f70d29439d00ff7a33837c03f1f9dd83971ce4e29ad664d63ffb17d3bb97", size = 426179, upload_time = "2025-06-11T17:08:07.913Z" } +sdist = { url = "https://files.pythonhosted.org/packages/91/8a/1362d565fefabaa4185cf3ae842a98dbc5b35146f5694f7080f043a6952f/huggingface_hub-0.33.0.tar.gz", hash = "sha256:aa31f70d29439d00ff7a33837c03f1f9dd83971ce4e29ad664d63ffb17d3bb97", size = 426179, upload-time = "2025-06-11T17:08:07.913Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/33/fb/53587a89fbc00799e4179796f51b3ad713c5de6bb680b2becb6d37c94649/huggingface_hub-0.33.0-py3-none-any.whl", hash = "sha256:e8668875b40c68f9929150d99727d39e5ebb8a05a98e4191b908dc7ded9074b3", size = 514799, upload_time = "2025-06-11T17:08:05.757Z" }, + { url = "https://files.pythonhosted.org/packages/33/fb/53587a89fbc00799e4179796f51b3ad713c5de6bb680b2becb6d37c94649/huggingface_hub-0.33.0-py3-none-any.whl", hash = "sha256:e8668875b40c68f9929150d99727d39e5ebb8a05a98e4191b908dc7ded9074b3", size = 514799, upload-time = "2025-06-11T17:08:05.757Z" }, ] [[package]] name = "idna" version = "3.10" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload_time = "2024-09-15T18:07:39.745Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/70/7703c29685631f5a7590aa73f1f1d3fa9a380e654b86af429e0934a32f7d/idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9", size = 190490, upload-time = "2024-09-15T18:07:39.745Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload_time = "2024-09-15T18:07:37.964Z" }, + { url = "https://files.pythonhosted.org/packages/76/c6/c88e154df9c4e1a2a66ccf0005a88dfb2650c1dffb6f5ce603dfbd452ce3/idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3", size = 70442, upload-time = "2024-09-15T18:07:37.964Z" }, ] [[package]] name = "ijson" version = "3.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a3/4f/1cfeada63f5fce87536651268ddf5cca79b8b4bbb457aee4e45777964a0a/ijson-3.4.0.tar.gz", hash = "sha256:5f74dcbad9d592c428d3ca3957f7115a42689ee7ee941458860900236ae9bb13", size = 65782, upload_time = "2025-05-08T02:37:20.135Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a3/4f/1cfeada63f5fce87536651268ddf5cca79b8b4bbb457aee4e45777964a0a/ijson-3.4.0.tar.gz", hash = "sha256:5f74dcbad9d592c428d3ca3957f7115a42689ee7ee941458860900236ae9bb13", size = 65782, upload-time = "2025-05-08T02:37:20.135Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f8/ec/317ee5b2d13e50448833ead3aa906659a32b376191f6abc2a7c6112d2b27/ijson-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:956b148f88259a80a9027ffbe2d91705fae0c004fbfba3e5a24028fbe72311a9", size = 87212, upload_time = "2025-05-08T02:35:51.835Z" }, - { url = "https://files.pythonhosted.org/packages/f8/43/b06c96ced30cacecc5d518f89b0fd1c98c294a30ff88848b70ed7b7f72a1/ijson-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:06b89960f5c721106394c7fba5760b3f67c515b8eb7d80f612388f5eca2f4621", size = 59175, upload_time = "2025-05-08T02:35:52.988Z" }, - { url = "https://files.pythonhosted.org/packages/e9/df/b4aeafb7ecde463130840ee9be36130823ec94a00525049bf700883378b8/ijson-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9a0bb591cf250dd7e9dfab69d634745a7f3272d31cfe879f9156e0a081fd97ee", size = 59011, upload_time = "2025-05-08T02:35:54.394Z" }, - { url = "https://files.pythonhosted.org/packages/e3/7c/a80b8e361641609507f62022089626d4b8067f0826f51e1c09e4ba86eba8/ijson-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72e92de999977f4c6b660ffcf2b8d59604ccd531edcbfde05b642baf283e0de8", size = 146094, upload_time = "2025-05-08T02:35:55.601Z" }, - { url = "https://files.pythonhosted.org/packages/01/44/fa416347b9a802e3646c6ff377fc3278bd7d6106e17beb339514b6a3184e/ijson-3.4.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e9602157a5b869d44b6896e64f502c712a312fcde044c2e586fccb85d3e316e", size = 137903, upload_time = "2025-05-08T02:35:56.814Z" }, - { url = "https://files.pythonhosted.org/packages/24/c6/41a9ad4d42df50ff6e70fdce79b034f09b914802737ebbdc141153d8d791/ijson-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e83660edb931a425b7ff662eb49db1f10d30ca6d4d350e5630edbed098bc01", size = 148339, upload_time = "2025-05-08T02:35:58.595Z" }, - { url = "https://files.pythonhosted.org/packages/5f/6f/7d01efda415b8502dce67e067ed9e8a124f53e763002c02207e542e1a2f1/ijson-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:49bf8eac1c7b7913073865a859c215488461f7591b4fa6a33c14b51cb73659d0", size = 149383, upload_time = "2025-05-08T02:36:00.197Z" }, - { url = "https://files.pythonhosted.org/packages/95/6c/0d67024b9ecb57916c5e5ab0350251c9fe2f86dc9c8ca2b605c194bdad6a/ijson-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:160b09273cb42019f1811469508b0a057d19f26434d44752bde6f281da6d3f32", size = 141580, upload_time = "2025-05-08T02:36:01.998Z" }, - { url = "https://files.pythonhosted.org/packages/06/43/e10edcc1c6a3b619294de835e7678bfb3a1b8a75955f3689fd66a1e9e7b4/ijson-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2019ff4e6f354aa00c76c8591bd450899111c61f2354ad55cc127e2ce2492c44", size = 150280, upload_time = "2025-05-08T02:36:03.926Z" }, - { url = "https://files.pythonhosted.org/packages/07/84/1cbeee8e8190a1ebe6926569a92cf1fa80ddb380c129beb6f86559e1bb24/ijson-3.4.0-cp312-cp312-win32.whl", hash = "sha256:931c007bf6bb8330705429989b2deed6838c22b63358a330bf362b6e458ba0bf", size = 51512, upload_time = "2025-05-08T02:36:05.595Z" }, - { url = "https://files.pythonhosted.org/packages/66/13/530802bc391c95be6fe9f96e9aa427d94067e7c0b7da7a9092344dc44c4b/ijson-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:71523f2b64cb856a820223e94d23e88369f193017ecc789bb4de198cc9d349eb", size = 54081, upload_time = "2025-05-08T02:36:07.099Z" }, + { url = "https://files.pythonhosted.org/packages/f8/ec/317ee5b2d13e50448833ead3aa906659a32b376191f6abc2a7c6112d2b27/ijson-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:956b148f88259a80a9027ffbe2d91705fae0c004fbfba3e5a24028fbe72311a9", size = 87212, upload-time = "2025-05-08T02:35:51.835Z" }, + { url = "https://files.pythonhosted.org/packages/f8/43/b06c96ced30cacecc5d518f89b0fd1c98c294a30ff88848b70ed7b7f72a1/ijson-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:06b89960f5c721106394c7fba5760b3f67c515b8eb7d80f612388f5eca2f4621", size = 59175, upload-time = "2025-05-08T02:35:52.988Z" }, + { url = "https://files.pythonhosted.org/packages/e9/df/b4aeafb7ecde463130840ee9be36130823ec94a00525049bf700883378b8/ijson-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9a0bb591cf250dd7e9dfab69d634745a7f3272d31cfe879f9156e0a081fd97ee", size = 59011, upload-time = "2025-05-08T02:35:54.394Z" }, + { url = "https://files.pythonhosted.org/packages/e3/7c/a80b8e361641609507f62022089626d4b8067f0826f51e1c09e4ba86eba8/ijson-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72e92de999977f4c6b660ffcf2b8d59604ccd531edcbfde05b642baf283e0de8", size = 146094, upload-time = "2025-05-08T02:35:55.601Z" }, + { url = "https://files.pythonhosted.org/packages/01/44/fa416347b9a802e3646c6ff377fc3278bd7d6106e17beb339514b6a3184e/ijson-3.4.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9e9602157a5b869d44b6896e64f502c712a312fcde044c2e586fccb85d3e316e", size = 137903, upload-time = "2025-05-08T02:35:56.814Z" }, + { url = "https://files.pythonhosted.org/packages/24/c6/41a9ad4d42df50ff6e70fdce79b034f09b914802737ebbdc141153d8d791/ijson-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e83660edb931a425b7ff662eb49db1f10d30ca6d4d350e5630edbed098bc01", size = 148339, upload-time = "2025-05-08T02:35:58.595Z" }, + { url = "https://files.pythonhosted.org/packages/5f/6f/7d01efda415b8502dce67e067ed9e8a124f53e763002c02207e542e1a2f1/ijson-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:49bf8eac1c7b7913073865a859c215488461f7591b4fa6a33c14b51cb73659d0", size = 149383, upload-time = "2025-05-08T02:36:00.197Z" }, + { url = "https://files.pythonhosted.org/packages/95/6c/0d67024b9ecb57916c5e5ab0350251c9fe2f86dc9c8ca2b605c194bdad6a/ijson-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:160b09273cb42019f1811469508b0a057d19f26434d44752bde6f281da6d3f32", size = 141580, upload-time = "2025-05-08T02:36:01.998Z" }, + { url = "https://files.pythonhosted.org/packages/06/43/e10edcc1c6a3b619294de835e7678bfb3a1b8a75955f3689fd66a1e9e7b4/ijson-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:2019ff4e6f354aa00c76c8591bd450899111c61f2354ad55cc127e2ce2492c44", size = 150280, upload-time = "2025-05-08T02:36:03.926Z" }, + { url = "https://files.pythonhosted.org/packages/07/84/1cbeee8e8190a1ebe6926569a92cf1fa80ddb380c129beb6f86559e1bb24/ijson-3.4.0-cp312-cp312-win32.whl", hash = "sha256:931c007bf6bb8330705429989b2deed6838c22b63358a330bf362b6e458ba0bf", size = 51512, upload-time = "2025-05-08T02:36:05.595Z" }, + { url = "https://files.pythonhosted.org/packages/66/13/530802bc391c95be6fe9f96e9aa427d94067e7c0b7da7a9092344dc44c4b/ijson-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:71523f2b64cb856a820223e94d23e88369f193017ecc789bb4de198cc9d349eb", size = 54081, upload-time = "2025-05-08T02:36:07.099Z" }, ] [[package]] @@ -1062,9 +1062,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "zipp" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641, upload_time = "2025-04-27T15:29:01.736Z" } +sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641, upload-time = "2025-04-27T15:29:01.736Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size = 27656, upload_time = "2025-04-27T15:29:00.214Z" }, + { url = "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size = 27656, upload-time = "2025-04-27T15:29:00.214Z" }, ] [[package]] @@ -1075,9 +1075,9 @@ dependencies = [ { name = "lxml" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/23/f0/77b6eeaa0cde44b8ef0d5d0c2c0ee7ddeb6e6e4aebec33e15b8d0abbf3ed/inscriptis-2.6.0.tar.gz", hash = "sha256:6f164bf45ea6972d61fd048a8e074d5125d215eaa837f8e70c158c97c31c3181", size = 41620, upload_time = "2025-03-22T18:23:26.246Z" } +sdist = { url = "https://files.pythonhosted.org/packages/23/f0/77b6eeaa0cde44b8ef0d5d0c2c0ee7ddeb6e6e4aebec33e15b8d0abbf3ed/inscriptis-2.6.0.tar.gz", hash = "sha256:6f164bf45ea6972d61fd048a8e074d5125d215eaa837f8e70c158c97c31c3181", size = 41620, upload-time = "2025-03-22T18:23:26.246Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5e/c4/e1a68d42fa4609231da5f14e159c3d6256fb9e2951928592cebf7c899379/inscriptis-2.6.0-py3-none-any.whl", hash = "sha256:654dbcd0551c2f6004f8069a05cafff3eed2d327d5057adc6e657ba2610f52af", size = 45120, upload_time = "2025-03-22T18:23:24.404Z" }, + { url = "https://files.pythonhosted.org/packages/5e/c4/e1a68d42fa4609231da5f14e159c3d6256fb9e2951928592cebf7c899379/inscriptis-2.6.0-py3-none-any.whl", hash = "sha256:654dbcd0551c2f6004f8069a05cafff3eed2d327d5057adc6e657ba2610f52af", size = 45120, upload-time = "2025-03-22T18:23:24.404Z" }, ] [[package]] @@ -1096,9 +1096,9 @@ dependencies = [ { name = "stack-data" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/dc/09/4c7e06b96fbd203e06567b60fb41b06db606b6a82db6db7b2c85bb72a15c/ipython-9.3.0.tar.gz", hash = "sha256:79eb896f9f23f50ad16c3bc205f686f6e030ad246cc309c6279a242b14afe9d8", size = 4426460, upload_time = "2025-05-31T16:34:55.678Z" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/09/4c7e06b96fbd203e06567b60fb41b06db606b6a82db6db7b2c85bb72a15c/ipython-9.3.0.tar.gz", hash = "sha256:79eb896f9f23f50ad16c3bc205f686f6e030ad246cc309c6279a242b14afe9d8", size = 4426460, upload-time = "2025-05-31T16:34:55.678Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3c/99/9ed3d52d00f1846679e3aa12e2326ac7044b5e7f90dc822b60115fa533ca/ipython-9.3.0-py3-none-any.whl", hash = "sha256:1a0b6dd9221a1f5dddf725b57ac0cb6fddc7b5f470576231ae9162b9b3455a04", size = 605320, upload_time = "2025-05-31T16:34:52.154Z" }, + { url = "https://files.pythonhosted.org/packages/3c/99/9ed3d52d00f1846679e3aa12e2326ac7044b5e7f90dc822b60115fa533ca/ipython-9.3.0-py3-none-any.whl", hash = "sha256:1a0b6dd9221a1f5dddf725b57ac0cb6fddc7b5f470576231ae9162b9b3455a04", size = 605320, upload-time = "2025-05-31T16:34:52.154Z" }, ] [[package]] @@ -1108,9 +1108,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pygments" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload_time = "2025-01-17T11:24:34.505Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload_time = "2025-01-17T11:24:33.271Z" }, + { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload-time = "2025-01-17T11:24:33.271Z" }, ] [[package]] @@ -1134,9 +1134,9 @@ dependencies = [ { name = "warc3-wet-clueweb09" }, { name = "zlib-state" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b9/08/90386cd976de3ec62e279d861f2c61973621d36194566653af6750bde7af/ir_datasets-0.5.10.tar.gz", hash = "sha256:fefabe352ab4bf14f9b5f224df17c4e61053be6f53840b35b0f7f51452b3da5b", size = 754368, upload_time = "2025-03-09T16:29:58.188Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b9/08/90386cd976de3ec62e279d861f2c61973621d36194566653af6750bde7af/ir_datasets-0.5.10.tar.gz", hash = "sha256:fefabe352ab4bf14f9b5f224df17c4e61053be6f53840b35b0f7f51452b3da5b", size = 754368, upload-time = "2025-03-09T16:29:58.188Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f7/10/d922a20a8310105762352b93670b77626ed7104058dfd86cf6daf77e3af2/ir_datasets-0.5.10-py3-none-any.whl", hash = "sha256:019fc0e7d0b3768c9366bcc984c37ad843a89a14cc2067e78d8acd81813b5dd0", size = 859046, upload_time = "2025-03-09T16:29:56.453Z" }, + { url = "https://files.pythonhosted.org/packages/f7/10/d922a20a8310105762352b93670b77626ed7104058dfd86cf6daf77e3af2/ir_datasets-0.5.10-py3-none-any.whl", hash = "sha256:019fc0e7d0b3768c9366bcc984c37ad843a89a14cc2067e78d8acd81813b5dd0", size = 859046, upload-time = "2025-03-09T16:29:56.453Z" }, ] [[package]] @@ -1146,9 +1146,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "parso" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload_time = "2024-11-11T01:41:42.873Z" } +sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload-time = "2024-11-11T01:41:42.873Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278, upload_time = "2024-11-11T01:41:40.175Z" }, + { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278, upload-time = "2024-11-11T01:41:40.175Z" }, ] [[package]] @@ -1158,38 +1158,38 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "markupsafe" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload_time = "2025-03-05T20:05:02.478Z" } +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload_time = "2025-03-05T20:05:00.369Z" }, + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, ] [[package]] name = "jiter" version = "0.10.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ee/9d/ae7ddb4b8ab3fb1b51faf4deb36cb48a4fbbd7cb36bad6a5fca4741306f7/jiter-0.10.0.tar.gz", hash = "sha256:07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500", size = 162759, upload_time = "2025-05-18T19:04:59.73Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ee/9d/ae7ddb4b8ab3fb1b51faf4deb36cb48a4fbbd7cb36bad6a5fca4741306f7/jiter-0.10.0.tar.gz", hash = "sha256:07a7142c38aacc85194391108dc91b5b57093c978a9932bd86a36862759d9500", size = 162759, upload-time = "2025-05-18T19:04:59.73Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6d/b5/348b3313c58f5fbfb2194eb4d07e46a35748ba6e5b3b3046143f3040bafa/jiter-0.10.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1e274728e4a5345a6dde2d343c8da018b9d4bd4350f5a472fa91f66fda44911b", size = 312262, upload_time = "2025-05-18T19:03:44.637Z" }, - { url = "https://files.pythonhosted.org/packages/9c/4a/6a2397096162b21645162825f058d1709a02965606e537e3304b02742e9b/jiter-0.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7202ae396446c988cb2a5feb33a543ab2165b786ac97f53b59aafb803fef0744", size = 320124, upload_time = "2025-05-18T19:03:46.341Z" }, - { url = "https://files.pythonhosted.org/packages/2a/85/1ce02cade7516b726dd88f59a4ee46914bf79d1676d1228ef2002ed2f1c9/jiter-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23ba7722d6748b6920ed02a8f1726fb4b33e0fd2f3f621816a8b486c66410ab2", size = 345330, upload_time = "2025-05-18T19:03:47.596Z" }, - { url = "https://files.pythonhosted.org/packages/75/d0/bb6b4f209a77190ce10ea8d7e50bf3725fc16d3372d0a9f11985a2b23eff/jiter-0.10.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:371eab43c0a288537d30e1f0b193bc4eca90439fc08a022dd83e5e07500ed026", size = 369670, upload_time = "2025-05-18T19:03:49.334Z" }, - { url = "https://files.pythonhosted.org/packages/a0/f5/a61787da9b8847a601e6827fbc42ecb12be2c925ced3252c8ffcb56afcaf/jiter-0.10.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c675736059020365cebc845a820214765162728b51ab1e03a1b7b3abb70f74c", size = 489057, upload_time = "2025-05-18T19:03:50.66Z" }, - { url = "https://files.pythonhosted.org/packages/12/e4/6f906272810a7b21406c760a53aadbe52e99ee070fc5c0cb191e316de30b/jiter-0.10.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c5867d40ab716e4684858e4887489685968a47e3ba222e44cde6e4a2154f959", size = 389372, upload_time = "2025-05-18T19:03:51.98Z" }, - { url = "https://files.pythonhosted.org/packages/e2/ba/77013b0b8ba904bf3762f11e0129b8928bff7f978a81838dfcc958ad5728/jiter-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395bb9a26111b60141757d874d27fdea01b17e8fac958b91c20128ba8f4acc8a", size = 352038, upload_time = "2025-05-18T19:03:53.703Z" }, - { url = "https://files.pythonhosted.org/packages/67/27/c62568e3ccb03368dbcc44a1ef3a423cb86778a4389e995125d3d1aaa0a4/jiter-0.10.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6842184aed5cdb07e0c7e20e5bdcfafe33515ee1741a6835353bb45fe5d1bd95", size = 391538, upload_time = "2025-05-18T19:03:55.046Z" }, - { url = "https://files.pythonhosted.org/packages/c0/72/0d6b7e31fc17a8fdce76164884edef0698ba556b8eb0af9546ae1a06b91d/jiter-0.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:62755d1bcea9876770d4df713d82606c8c1a3dca88ff39046b85a048566d56ea", size = 523557, upload_time = "2025-05-18T19:03:56.386Z" }, - { url = "https://files.pythonhosted.org/packages/2f/09/bc1661fbbcbeb6244bd2904ff3a06f340aa77a2b94e5a7373fd165960ea3/jiter-0.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:533efbce2cacec78d5ba73a41756beff8431dfa1694b6346ce7af3a12c42202b", size = 514202, upload_time = "2025-05-18T19:03:57.675Z" }, - { url = "https://files.pythonhosted.org/packages/1b/84/5a5d5400e9d4d54b8004c9673bbe4403928a00d28529ff35b19e9d176b19/jiter-0.10.0-cp312-cp312-win32.whl", hash = "sha256:8be921f0cadd245e981b964dfbcd6fd4bc4e254cdc069490416dd7a2632ecc01", size = 211781, upload_time = "2025-05-18T19:03:59.025Z" }, - { url = "https://files.pythonhosted.org/packages/9b/52/7ec47455e26f2d6e5f2ea4951a0652c06e5b995c291f723973ae9e724a65/jiter-0.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:a7c7d785ae9dda68c2678532a5a1581347e9c15362ae9f6e68f3fdbfb64f2e49", size = 206176, upload_time = "2025-05-18T19:04:00.305Z" }, + { url = "https://files.pythonhosted.org/packages/6d/b5/348b3313c58f5fbfb2194eb4d07e46a35748ba6e5b3b3046143f3040bafa/jiter-0.10.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:1e274728e4a5345a6dde2d343c8da018b9d4bd4350f5a472fa91f66fda44911b", size = 312262, upload-time = "2025-05-18T19:03:44.637Z" }, + { url = "https://files.pythonhosted.org/packages/9c/4a/6a2397096162b21645162825f058d1709a02965606e537e3304b02742e9b/jiter-0.10.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7202ae396446c988cb2a5feb33a543ab2165b786ac97f53b59aafb803fef0744", size = 320124, upload-time = "2025-05-18T19:03:46.341Z" }, + { url = "https://files.pythonhosted.org/packages/2a/85/1ce02cade7516b726dd88f59a4ee46914bf79d1676d1228ef2002ed2f1c9/jiter-0.10.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:23ba7722d6748b6920ed02a8f1726fb4b33e0fd2f3f621816a8b486c66410ab2", size = 345330, upload-time = "2025-05-18T19:03:47.596Z" }, + { url = "https://files.pythonhosted.org/packages/75/d0/bb6b4f209a77190ce10ea8d7e50bf3725fc16d3372d0a9f11985a2b23eff/jiter-0.10.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:371eab43c0a288537d30e1f0b193bc4eca90439fc08a022dd83e5e07500ed026", size = 369670, upload-time = "2025-05-18T19:03:49.334Z" }, + { url = "https://files.pythonhosted.org/packages/a0/f5/a61787da9b8847a601e6827fbc42ecb12be2c925ced3252c8ffcb56afcaf/jiter-0.10.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c675736059020365cebc845a820214765162728b51ab1e03a1b7b3abb70f74c", size = 489057, upload-time = "2025-05-18T19:03:50.66Z" }, + { url = "https://files.pythonhosted.org/packages/12/e4/6f906272810a7b21406c760a53aadbe52e99ee070fc5c0cb191e316de30b/jiter-0.10.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0c5867d40ab716e4684858e4887489685968a47e3ba222e44cde6e4a2154f959", size = 389372, upload-time = "2025-05-18T19:03:51.98Z" }, + { url = "https://files.pythonhosted.org/packages/e2/ba/77013b0b8ba904bf3762f11e0129b8928bff7f978a81838dfcc958ad5728/jiter-0.10.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:395bb9a26111b60141757d874d27fdea01b17e8fac958b91c20128ba8f4acc8a", size = 352038, upload-time = "2025-05-18T19:03:53.703Z" }, + { url = "https://files.pythonhosted.org/packages/67/27/c62568e3ccb03368dbcc44a1ef3a423cb86778a4389e995125d3d1aaa0a4/jiter-0.10.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6842184aed5cdb07e0c7e20e5bdcfafe33515ee1741a6835353bb45fe5d1bd95", size = 391538, upload-time = "2025-05-18T19:03:55.046Z" }, + { url = "https://files.pythonhosted.org/packages/c0/72/0d6b7e31fc17a8fdce76164884edef0698ba556b8eb0af9546ae1a06b91d/jiter-0.10.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:62755d1bcea9876770d4df713d82606c8c1a3dca88ff39046b85a048566d56ea", size = 523557, upload-time = "2025-05-18T19:03:56.386Z" }, + { url = "https://files.pythonhosted.org/packages/2f/09/bc1661fbbcbeb6244bd2904ff3a06f340aa77a2b94e5a7373fd165960ea3/jiter-0.10.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:533efbce2cacec78d5ba73a41756beff8431dfa1694b6346ce7af3a12c42202b", size = 514202, upload-time = "2025-05-18T19:03:57.675Z" }, + { url = "https://files.pythonhosted.org/packages/1b/84/5a5d5400e9d4d54b8004c9673bbe4403928a00d28529ff35b19e9d176b19/jiter-0.10.0-cp312-cp312-win32.whl", hash = "sha256:8be921f0cadd245e981b964dfbcd6fd4bc4e254cdc069490416dd7a2632ecc01", size = 211781, upload-time = "2025-05-18T19:03:59.025Z" }, + { url = "https://files.pythonhosted.org/packages/9b/52/7ec47455e26f2d6e5f2ea4951a0652c06e5b995c291f723973ae9e724a65/jiter-0.10.0-cp312-cp312-win_amd64.whl", hash = "sha256:a7c7d785ae9dda68c2678532a5a1581347e9c15362ae9f6e68f3fdbfb64f2e49", size = 206176, upload-time = "2025-05-18T19:04:00.305Z" }, ] [[package]] name = "joblib" version = "1.5.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/dc/fe/0f5a938c54105553436dbff7a61dc4fed4b1b2c98852f8833beaf4d5968f/joblib-1.5.1.tar.gz", hash = "sha256:f4f86e351f39fe3d0d32a9f2c3d8af1ee4cec285aafcb27003dda5205576b444", size = 330475, upload_time = "2025-05-23T12:04:37.097Z" } +sdist = { url = "https://files.pythonhosted.org/packages/dc/fe/0f5a938c54105553436dbff7a61dc4fed4b1b2c98852f8833beaf4d5968f/joblib-1.5.1.tar.gz", hash = "sha256:f4f86e351f39fe3d0d32a9f2c3d8af1ee4cec285aafcb27003dda5205576b444", size = 330475, upload-time = "2025-05-23T12:04:37.097Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7d/4f/1195bbac8e0c2acc5f740661631d8d750dc38d4a32b23ee5df3cde6f4e0d/joblib-1.5.1-py3-none-any.whl", hash = "sha256:4719a31f054c7d766948dcd83e9613686b27114f190f717cec7eaa2084f8a74a", size = 307746, upload_time = "2025-05-23T12:04:35.124Z" }, + { url = "https://files.pythonhosted.org/packages/7d/4f/1195bbac8e0c2acc5f740661631d8d750dc38d4a32b23ee5df3cde6f4e0d/joblib-1.5.1-py3-none-any.whl", hash = "sha256:4719a31f054c7d766948dcd83e9613686b27114f190f717cec7eaa2084f8a74a", size = 307746, upload-time = "2025-05-23T12:04:35.124Z" }, ] [[package]] @@ -1202,9 +1202,9 @@ dependencies = [ { name = "referencing" }, { name = "rpds-py" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bf/d3/1cf5326b923a53515d8f3a2cd442e6d7e94fcc444716e879ea70a0ce3177/jsonschema-4.24.0.tar.gz", hash = "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196", size = 353480, upload_time = "2025-05-26T18:48:10.459Z" } +sdist = { url = "https://files.pythonhosted.org/packages/bf/d3/1cf5326b923a53515d8f3a2cd442e6d7e94fcc444716e879ea70a0ce3177/jsonschema-4.24.0.tar.gz", hash = "sha256:0b4e8069eb12aedfa881333004bccaec24ecef5a8a6a4b6df142b2cc9599d196", size = 353480, upload-time = "2025-05-26T18:48:10.459Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a2/3d/023389198f69c722d039351050738d6755376c8fd343e91dc493ea485905/jsonschema-4.24.0-py3-none-any.whl", hash = "sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d", size = 88709, upload_time = "2025-05-26T18:48:08.417Z" }, + { url = "https://files.pythonhosted.org/packages/a2/3d/023389198f69c722d039351050738d6755376c8fd343e91dc493ea485905/jsonschema-4.24.0-py3-none-any.whl", hash = "sha256:a462455f19f5faf404a7902952b6f0e3ce868f3ee09a359b05eca6673bd8412d", size = 88709, upload-time = "2025-05-26T18:48:08.417Z" }, ] [[package]] @@ -1214,9 +1214,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "referencing" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz", hash = "sha256:630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608", size = 15513, upload_time = "2025-04-23T12:34:07.418Z" } +sdist = { url = "https://files.pythonhosted.org/packages/bf/ce/46fbd9c8119cfc3581ee5643ea49464d168028cfb5caff5fc0596d0cf914/jsonschema_specifications-2025.4.1.tar.gz", hash = "sha256:630159c9f4dbea161a6a2205c3011cc4f18ff381b189fff48bb39b9bf26ae608", size = 15513, upload-time = "2025-04-23T12:34:07.418Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/01/0e/b27cdbaccf30b890c40ed1da9fd4a3593a5cf94dae54fb34f8a4b74fcd3f/jsonschema_specifications-2025.4.1-py3-none-any.whl", hash = "sha256:4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af", size = 18437, upload_time = "2025-04-23T12:34:05.422Z" }, + { url = "https://files.pythonhosted.org/packages/01/0e/b27cdbaccf30b890c40ed1da9fd4a3593a5cf94dae54fb34f8a4b74fcd3f/jsonschema_specifications-2025.4.1-py3-none-any.whl", hash = "sha256:4653bffbd6584f7de83a67e0d620ef16900b390ddc7939d56684d6c81e33f1af", size = 18437, upload-time = "2025-04-23T12:34:05.422Z" }, ] [[package]] @@ -1230,9 +1230,9 @@ dependencies = [ { name = "tornado" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019, upload_time = "2024-09-17T10:44:17.613Z" } +sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019, upload-time = "2024-09-17T10:44:17.613Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105, upload_time = "2024-09-17T10:44:15.218Z" }, + { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105, upload-time = "2024-09-17T10:44:15.218Z" }, ] [[package]] @@ -1244,18 +1244,18 @@ dependencies = [ { name = "pywin32", marker = "platform_python_implementation != 'PyPy' and sys_platform == 'win32'" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/99/1b/72906d554acfeb588332eaaa6f61577705e9ec752ddb486f302dafa292d9/jupyter_core-5.8.1.tar.gz", hash = "sha256:0a5f9706f70e64786b75acba995988915ebd4601c8a52e534a40b51c95f59941", size = 88923, upload_time = "2025-05-27T07:38:16.655Z" } +sdist = { url = "https://files.pythonhosted.org/packages/99/1b/72906d554acfeb588332eaaa6f61577705e9ec752ddb486f302dafa292d9/jupyter_core-5.8.1.tar.gz", hash = "sha256:0a5f9706f70e64786b75acba995988915ebd4601c8a52e534a40b51c95f59941", size = 88923, upload-time = "2025-05-27T07:38:16.655Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2f/57/6bffd4b20b88da3800c5d691e0337761576ee688eb01299eae865689d2df/jupyter_core-5.8.1-py3-none-any.whl", hash = "sha256:c28d268fc90fb53f1338ded2eb410704c5449a358406e8a948b75706e24863d0", size = 28880, upload_time = "2025-05-27T07:38:15.137Z" }, + { url = "https://files.pythonhosted.org/packages/2f/57/6bffd4b20b88da3800c5d691e0337761576ee688eb01299eae865689d2df/jupyter_core-5.8.1-py3-none-any.whl", hash = "sha256:c28d268fc90fb53f1338ded2eb410704c5449a358406e8a948b75706e24863d0", size = 28880, upload-time = "2025-05-27T07:38:15.137Z" }, ] [[package]] name = "jupyterlab-pygments" version = "0.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900, upload_time = "2023-11-23T09:26:37.44Z" } +sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900, upload-time = "2023-11-23T09:26:37.44Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884, upload_time = "2023-11-23T09:26:34.325Z" }, + { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884, upload-time = "2023-11-23T09:26:34.325Z" }, ] [[package]] @@ -1275,61 +1275,62 @@ dependencies = [ { name = "tiktoken" }, { name = "tokenizers" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/83/80/d73c821a2f65ee5b97b41e61d9b18324ebb9d616e1e21844f4253ac38957/litellm-1.72.4.tar.gz", hash = "sha256:8855de30f78bcb1f37af244519b37a37faaaf579401b1414400b5b5e5b616d57", size = 8132997, upload_time = "2025-06-11T05:46:38.041Z" } +sdist = { url = "https://files.pythonhosted.org/packages/83/80/d73c821a2f65ee5b97b41e61d9b18324ebb9d616e1e21844f4253ac38957/litellm-1.72.4.tar.gz", hash = "sha256:8855de30f78bcb1f37af244519b37a37faaaf579401b1414400b5b5e5b616d57", size = 8132997, upload-time = "2025-06-11T05:46:38.041Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6f/0d/0f86db9724b9bd63d057b912aa6aa532a76e6e707f9bb75abbd3b0a0401a/litellm-1.72.4-py3-none-any.whl", hash = "sha256:f98ca994420ed649c466d423655a6e0f2aeecab4564ed372b3378a949e491dc2", size = 8036589, upload_time = "2025-06-11T05:46:34.727Z" }, + { url = "https://files.pythonhosted.org/packages/6f/0d/0f86db9724b9bd63d057b912aa6aa532a76e6e707f9bb75abbd3b0a0401a/litellm-1.72.4-py3-none-any.whl", hash = "sha256:f98ca994420ed649c466d423655a6e0f2aeecab4564ed372b3378a949e491dc2", size = 8036589, upload-time = "2025-06-11T05:46:34.727Z" }, ] [[package]] name = "lxml" version = "5.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/76/3d/14e82fc7c8fb1b7761f7e748fd47e2ec8276d137b6acfe5a4bb73853e08f/lxml-5.4.0.tar.gz", hash = "sha256:d12832e1dbea4be280b22fd0ea7c9b87f0d8fc51ba06e92dc62d52f804f78ebd", size = 3679479, upload_time = "2025-04-23T01:50:29.322Z" } +sdist = { url = "https://files.pythonhosted.org/packages/76/3d/14e82fc7c8fb1b7761f7e748fd47e2ec8276d137b6acfe5a4bb73853e08f/lxml-5.4.0.tar.gz", hash = "sha256:d12832e1dbea4be280b22fd0ea7c9b87f0d8fc51ba06e92dc62d52f804f78ebd", size = 3679479, upload-time = "2025-04-23T01:50:29.322Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f8/4c/d101ace719ca6a4ec043eb516fcfcb1b396a9fccc4fcd9ef593df34ba0d5/lxml-5.4.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b5aff6f3e818e6bdbbb38e5967520f174b18f539c2b9de867b1e7fde6f8d95a4", size = 8127392, upload_time = "2025-04-23T01:46:04.09Z" }, - { url = "https://files.pythonhosted.org/packages/11/84/beddae0cec4dd9ddf46abf156f0af451c13019a0fa25d7445b655ba5ccb7/lxml-5.4.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942a5d73f739ad7c452bf739a62a0f83e2578afd6b8e5406308731f4ce78b16d", size = 4415103, upload_time = "2025-04-23T01:46:07.227Z" }, - { url = "https://files.pythonhosted.org/packages/d0/25/d0d93a4e763f0462cccd2b8a665bf1e4343dd788c76dcfefa289d46a38a9/lxml-5.4.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:460508a4b07364d6abf53acaa0a90b6d370fafde5693ef37602566613a9b0779", size = 5024224, upload_time = "2025-04-23T01:46:10.237Z" }, - { url = "https://files.pythonhosted.org/packages/31/ce/1df18fb8f7946e7f3388af378b1f34fcf253b94b9feedb2cec5969da8012/lxml-5.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:529024ab3a505fed78fe3cc5ddc079464e709f6c892733e3f5842007cec8ac6e", size = 4769913, upload_time = "2025-04-23T01:46:12.757Z" }, - { url = "https://files.pythonhosted.org/packages/4e/62/f4a6c60ae7c40d43657f552f3045df05118636be1165b906d3423790447f/lxml-5.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ca56ebc2c474e8f3d5761debfd9283b8b18c76c4fc0967b74aeafba1f5647f9", size = 5290441, upload_time = "2025-04-23T01:46:16.037Z" }, - { url = "https://files.pythonhosted.org/packages/9e/aa/04f00009e1e3a77838c7fc948f161b5d2d5de1136b2b81c712a263829ea4/lxml-5.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a81e1196f0a5b4167a8dafe3a66aa67c4addac1b22dc47947abd5d5c7a3f24b5", size = 4820165, upload_time = "2025-04-23T01:46:19.137Z" }, - { url = "https://files.pythonhosted.org/packages/c9/1f/e0b2f61fa2404bf0f1fdf1898377e5bd1b74cc9b2cf2c6ba8509b8f27990/lxml-5.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00b8686694423ddae324cf614e1b9659c2edb754de617703c3d29ff568448df5", size = 4932580, upload_time = "2025-04-23T01:46:21.963Z" }, - { url = "https://files.pythonhosted.org/packages/24/a2/8263f351b4ffe0ed3e32ea7b7830f845c795349034f912f490180d88a877/lxml-5.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:c5681160758d3f6ac5b4fea370495c48aac0989d6a0f01bb9a72ad8ef5ab75c4", size = 4759493, upload_time = "2025-04-23T01:46:24.316Z" }, - { url = "https://files.pythonhosted.org/packages/05/00/41db052f279995c0e35c79d0f0fc9f8122d5b5e9630139c592a0b58c71b4/lxml-5.4.0-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:2dc191e60425ad70e75a68c9fd90ab284df64d9cd410ba8d2b641c0c45bc006e", size = 5324679, upload_time = "2025-04-23T01:46:27.097Z" }, - { url = "https://files.pythonhosted.org/packages/1d/be/ee99e6314cdef4587617d3b3b745f9356d9b7dd12a9663c5f3b5734b64ba/lxml-5.4.0-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:67f779374c6b9753ae0a0195a892a1c234ce8416e4448fe1e9f34746482070a7", size = 4890691, upload_time = "2025-04-23T01:46:30.009Z" }, - { url = "https://files.pythonhosted.org/packages/ad/36/239820114bf1d71f38f12208b9c58dec033cbcf80101cde006b9bde5cffd/lxml-5.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:79d5bfa9c1b455336f52343130b2067164040604e41f6dc4d8313867ed540079", size = 4955075, upload_time = "2025-04-23T01:46:32.33Z" }, - { url = "https://files.pythonhosted.org/packages/d4/e1/1b795cc0b174efc9e13dbd078a9ff79a58728a033142bc6d70a1ee8fc34d/lxml-5.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3d3c30ba1c9b48c68489dc1829a6eede9873f52edca1dda900066542528d6b20", size = 4838680, upload_time = "2025-04-23T01:46:34.852Z" }, - { url = "https://files.pythonhosted.org/packages/72/48/3c198455ca108cec5ae3662ae8acd7fd99476812fd712bb17f1b39a0b589/lxml-5.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1af80c6316ae68aded77e91cd9d80648f7dd40406cef73df841aa3c36f6907c8", size = 5391253, upload_time = "2025-04-23T01:46:37.608Z" }, - { url = "https://files.pythonhosted.org/packages/d6/10/5bf51858971c51ec96cfc13e800a9951f3fd501686f4c18d7d84fe2d6352/lxml-5.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4d885698f5019abe0de3d352caf9466d5de2baded00a06ef3f1216c1a58ae78f", size = 5261651, upload_time = "2025-04-23T01:46:40.183Z" }, - { url = "https://files.pythonhosted.org/packages/2b/11/06710dd809205377da380546f91d2ac94bad9ff735a72b64ec029f706c85/lxml-5.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea53d51859b6c64e7c51d522c03cc2c48b9b5d6172126854cc7f01aa11f52bc", size = 5024315, upload_time = "2025-04-23T01:46:43.333Z" }, - { url = "https://files.pythonhosted.org/packages/f5/b0/15b6217834b5e3a59ebf7f53125e08e318030e8cc0d7310355e6edac98ef/lxml-5.4.0-cp312-cp312-win32.whl", hash = "sha256:d90b729fd2732df28130c064aac9bb8aff14ba20baa4aee7bd0795ff1187545f", size = 3486149, upload_time = "2025-04-23T01:46:45.684Z" }, - { url = "https://files.pythonhosted.org/packages/91/1e/05ddcb57ad2f3069101611bd5f5084157d90861a2ef460bf42f45cced944/lxml-5.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1dc4ca99e89c335a7ed47d38964abcb36c5910790f9bd106f2a8fa2ee0b909d2", size = 3817095, upload_time = "2025-04-23T01:46:48.521Z" }, + { url = "https://files.pythonhosted.org/packages/f8/4c/d101ace719ca6a4ec043eb516fcfcb1b396a9fccc4fcd9ef593df34ba0d5/lxml-5.4.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b5aff6f3e818e6bdbbb38e5967520f174b18f539c2b9de867b1e7fde6f8d95a4", size = 8127392, upload-time = "2025-04-23T01:46:04.09Z" }, + { url = "https://files.pythonhosted.org/packages/11/84/beddae0cec4dd9ddf46abf156f0af451c13019a0fa25d7445b655ba5ccb7/lxml-5.4.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:942a5d73f739ad7c452bf739a62a0f83e2578afd6b8e5406308731f4ce78b16d", size = 4415103, upload-time = "2025-04-23T01:46:07.227Z" }, + { url = "https://files.pythonhosted.org/packages/d0/25/d0d93a4e763f0462cccd2b8a665bf1e4343dd788c76dcfefa289d46a38a9/lxml-5.4.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:460508a4b07364d6abf53acaa0a90b6d370fafde5693ef37602566613a9b0779", size = 5024224, upload-time = "2025-04-23T01:46:10.237Z" }, + { url = "https://files.pythonhosted.org/packages/31/ce/1df18fb8f7946e7f3388af378b1f34fcf253b94b9feedb2cec5969da8012/lxml-5.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:529024ab3a505fed78fe3cc5ddc079464e709f6c892733e3f5842007cec8ac6e", size = 4769913, upload-time = "2025-04-23T01:46:12.757Z" }, + { url = "https://files.pythonhosted.org/packages/4e/62/f4a6c60ae7c40d43657f552f3045df05118636be1165b906d3423790447f/lxml-5.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ca56ebc2c474e8f3d5761debfd9283b8b18c76c4fc0967b74aeafba1f5647f9", size = 5290441, upload-time = "2025-04-23T01:46:16.037Z" }, + { url = "https://files.pythonhosted.org/packages/9e/aa/04f00009e1e3a77838c7fc948f161b5d2d5de1136b2b81c712a263829ea4/lxml-5.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a81e1196f0a5b4167a8dafe3a66aa67c4addac1b22dc47947abd5d5c7a3f24b5", size = 4820165, upload-time = "2025-04-23T01:46:19.137Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/e0b2f61fa2404bf0f1fdf1898377e5bd1b74cc9b2cf2c6ba8509b8f27990/lxml-5.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00b8686694423ddae324cf614e1b9659c2edb754de617703c3d29ff568448df5", size = 4932580, upload-time = "2025-04-23T01:46:21.963Z" }, + { url = "https://files.pythonhosted.org/packages/24/a2/8263f351b4ffe0ed3e32ea7b7830f845c795349034f912f490180d88a877/lxml-5.4.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:c5681160758d3f6ac5b4fea370495c48aac0989d6a0f01bb9a72ad8ef5ab75c4", size = 4759493, upload-time = "2025-04-23T01:46:24.316Z" }, + { url = "https://files.pythonhosted.org/packages/05/00/41db052f279995c0e35c79d0f0fc9f8122d5b5e9630139c592a0b58c71b4/lxml-5.4.0-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:2dc191e60425ad70e75a68c9fd90ab284df64d9cd410ba8d2b641c0c45bc006e", size = 5324679, upload-time = "2025-04-23T01:46:27.097Z" }, + { url = "https://files.pythonhosted.org/packages/1d/be/ee99e6314cdef4587617d3b3b745f9356d9b7dd12a9663c5f3b5734b64ba/lxml-5.4.0-cp312-cp312-manylinux_2_28_s390x.whl", hash = "sha256:67f779374c6b9753ae0a0195a892a1c234ce8416e4448fe1e9f34746482070a7", size = 4890691, upload-time = "2025-04-23T01:46:30.009Z" }, + { url = "https://files.pythonhosted.org/packages/ad/36/239820114bf1d71f38f12208b9c58dec033cbcf80101cde006b9bde5cffd/lxml-5.4.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:79d5bfa9c1b455336f52343130b2067164040604e41f6dc4d8313867ed540079", size = 4955075, upload-time = "2025-04-23T01:46:32.33Z" }, + { url = "https://files.pythonhosted.org/packages/d4/e1/1b795cc0b174efc9e13dbd078a9ff79a58728a033142bc6d70a1ee8fc34d/lxml-5.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3d3c30ba1c9b48c68489dc1829a6eede9873f52edca1dda900066542528d6b20", size = 4838680, upload-time = "2025-04-23T01:46:34.852Z" }, + { url = "https://files.pythonhosted.org/packages/72/48/3c198455ca108cec5ae3662ae8acd7fd99476812fd712bb17f1b39a0b589/lxml-5.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1af80c6316ae68aded77e91cd9d80648f7dd40406cef73df841aa3c36f6907c8", size = 5391253, upload-time = "2025-04-23T01:46:37.608Z" }, + { url = "https://files.pythonhosted.org/packages/d6/10/5bf51858971c51ec96cfc13e800a9951f3fd501686f4c18d7d84fe2d6352/lxml-5.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4d885698f5019abe0de3d352caf9466d5de2baded00a06ef3f1216c1a58ae78f", size = 5261651, upload-time = "2025-04-23T01:46:40.183Z" }, + { url = "https://files.pythonhosted.org/packages/2b/11/06710dd809205377da380546f91d2ac94bad9ff735a72b64ec029f706c85/lxml-5.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aea53d51859b6c64e7c51d522c03cc2c48b9b5d6172126854cc7f01aa11f52bc", size = 5024315, upload-time = "2025-04-23T01:46:43.333Z" }, + { url = "https://files.pythonhosted.org/packages/f5/b0/15b6217834b5e3a59ebf7f53125e08e318030e8cc0d7310355e6edac98ef/lxml-5.4.0-cp312-cp312-win32.whl", hash = "sha256:d90b729fd2732df28130c064aac9bb8aff14ba20baa4aee7bd0795ff1187545f", size = 3486149, upload-time = "2025-04-23T01:46:45.684Z" }, + { url = "https://files.pythonhosted.org/packages/91/1e/05ddcb57ad2f3069101611bd5f5084157d90861a2ef460bf42f45cced944/lxml-5.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:1dc4ca99e89c335a7ed47d38964abcb36c5910790f9bd106f2a8fa2ee0b909d2", size = 3817095, upload-time = "2025-04-23T01:46:48.521Z" }, ] [[package]] name = "lz4" version = "4.4.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c6/5a/945f5086326d569f14c84ac6f7fcc3229f0b9b1e8cc536b951fd53dfb9e1/lz4-4.4.4.tar.gz", hash = "sha256:070fd0627ec4393011251a094e08ed9fdcc78cb4e7ab28f507638eee4e39abda", size = 171884, upload_time = "2025-04-01T22:55:58.62Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c6/5a/945f5086326d569f14c84ac6f7fcc3229f0b9b1e8cc536b951fd53dfb9e1/lz4-4.4.4.tar.gz", hash = "sha256:070fd0627ec4393011251a094e08ed9fdcc78cb4e7ab28f507638eee4e39abda", size = 171884, upload-time = "2025-04-01T22:55:58.62Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f7/2d/5523b4fabe11cd98f040f715728d1932eb7e696bfe94391872a823332b94/lz4-4.4.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:23ae267494fdd80f0d2a131beff890cf857f1b812ee72dbb96c3204aab725553", size = 220669, upload_time = "2025-04-01T22:55:32.032Z" }, - { url = "https://files.pythonhosted.org/packages/91/06/1a5bbcacbfb48d8ee5b6eb3fca6aa84143a81d92946bdb5cd6b005f1863e/lz4-4.4.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fff9f3a1ed63d45cb6514bfb8293005dc4141341ce3500abdfeb76124c0b9b2e", size = 189661, upload_time = "2025-04-01T22:55:33.413Z" }, - { url = "https://files.pythonhosted.org/packages/fa/08/39eb7ac907f73e11a69a11576a75a9e36406b3241c0ba41453a7eb842abb/lz4-4.4.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ea7f07329f85a8eda4d8cf937b87f27f0ac392c6400f18bea2c667c8b7f8ecc", size = 1238775, upload_time = "2025-04-01T22:55:34.835Z" }, - { url = "https://files.pythonhosted.org/packages/e9/26/05840fbd4233e8d23e88411a066ab19f1e9de332edddb8df2b6a95c7fddc/lz4-4.4.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ccab8f7f7b82f9fa9fc3b0ba584d353bd5aa818d5821d77d5b9447faad2aaad", size = 1265143, upload_time = "2025-04-01T22:55:35.933Z" }, - { url = "https://files.pythonhosted.org/packages/b7/5d/5f2db18c298a419932f3ab2023deb689863cf8fd7ed875b1c43492479af2/lz4-4.4.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e43e9d48b2daf80e486213128b0763deed35bbb7a59b66d1681e205e1702d735", size = 1185032, upload_time = "2025-04-01T22:55:37.454Z" }, - { url = "https://files.pythonhosted.org/packages/c4/e6/736ab5f128694b0f6aac58343bcf37163437ac95997276cd0be3ea4c3342/lz4-4.4.4-cp312-cp312-win32.whl", hash = "sha256:33e01e18e4561b0381b2c33d58e77ceee850a5067f0ece945064cbaac2176962", size = 88284, upload_time = "2025-04-01T22:55:38.536Z" }, - { url = "https://files.pythonhosted.org/packages/40/b8/243430cb62319175070e06e3a94c4c7bd186a812e474e22148ae1290d47d/lz4-4.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:d21d1a2892a2dcc193163dd13eaadabb2c1b803807a5117d8f8588b22eaf9f12", size = 99918, upload_time = "2025-04-01T22:55:39.628Z" }, - { url = "https://files.pythonhosted.org/packages/6c/e1/0686c91738f3e6c2e1a243e0fdd4371667c4d2e5009b0a3605806c2aa020/lz4-4.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:2f4f2965c98ab254feddf6b5072854a6935adab7bc81412ec4fe238f07b85f62", size = 89736, upload_time = "2025-04-01T22:55:40.5Z" }, + { url = "https://files.pythonhosted.org/packages/f7/2d/5523b4fabe11cd98f040f715728d1932eb7e696bfe94391872a823332b94/lz4-4.4.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:23ae267494fdd80f0d2a131beff890cf857f1b812ee72dbb96c3204aab725553", size = 220669, upload-time = "2025-04-01T22:55:32.032Z" }, + { url = "https://files.pythonhosted.org/packages/91/06/1a5bbcacbfb48d8ee5b6eb3fca6aa84143a81d92946bdb5cd6b005f1863e/lz4-4.4.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:fff9f3a1ed63d45cb6514bfb8293005dc4141341ce3500abdfeb76124c0b9b2e", size = 189661, upload-time = "2025-04-01T22:55:33.413Z" }, + { url = "https://files.pythonhosted.org/packages/fa/08/39eb7ac907f73e11a69a11576a75a9e36406b3241c0ba41453a7eb842abb/lz4-4.4.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1ea7f07329f85a8eda4d8cf937b87f27f0ac392c6400f18bea2c667c8b7f8ecc", size = 1238775, upload-time = "2025-04-01T22:55:34.835Z" }, + { url = "https://files.pythonhosted.org/packages/e9/26/05840fbd4233e8d23e88411a066ab19f1e9de332edddb8df2b6a95c7fddc/lz4-4.4.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8ccab8f7f7b82f9fa9fc3b0ba584d353bd5aa818d5821d77d5b9447faad2aaad", size = 1265143, upload-time = "2025-04-01T22:55:35.933Z" }, + { url = "https://files.pythonhosted.org/packages/b7/5d/5f2db18c298a419932f3ab2023deb689863cf8fd7ed875b1c43492479af2/lz4-4.4.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e43e9d48b2daf80e486213128b0763deed35bbb7a59b66d1681e205e1702d735", size = 1185032, upload-time = "2025-04-01T22:55:37.454Z" }, + { url = "https://files.pythonhosted.org/packages/c4/e6/736ab5f128694b0f6aac58343bcf37163437ac95997276cd0be3ea4c3342/lz4-4.4.4-cp312-cp312-win32.whl", hash = "sha256:33e01e18e4561b0381b2c33d58e77ceee850a5067f0ece945064cbaac2176962", size = 88284, upload-time = "2025-04-01T22:55:38.536Z" }, + { url = "https://files.pythonhosted.org/packages/40/b8/243430cb62319175070e06e3a94c4c7bd186a812e474e22148ae1290d47d/lz4-4.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:d21d1a2892a2dcc193163dd13eaadabb2c1b803807a5117d8f8588b22eaf9f12", size = 99918, upload-time = "2025-04-01T22:55:39.628Z" }, + { url = "https://files.pythonhosted.org/packages/6c/e1/0686c91738f3e6c2e1a243e0fdd4371667c4d2e5009b0a3605806c2aa020/lz4-4.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:2f4f2965c98ab254feddf6b5072854a6935adab7bc81412ec4fe238f07b85f62", size = 89736, upload-time = "2025-04-01T22:55:40.5Z" }, ] [[package]] -name = "manugen-ai" +name = "manufold" version = "0.1.0" -source = { directory = "../packages/manugen-ai" } +source = { directory = "../packages/manufold" } dependencies = [ { name = "cyclopts" }, { name = "duckdb" }, { name = "flagembedding" }, { name = "google-adk" }, + { name = "google-genai" }, { name = "ipython" }, { name = "jsonschema" }, { name = "litellm" }, @@ -1350,6 +1351,7 @@ requires-dist = [ { name = "duckdb", specifier = ">=1.3.1" }, { name = "flagembedding", specifier = ">=1.3.5" }, { name = "google-adk", specifier = ">=1.2.1,<2" }, + { name = "google-genai", specifier = ">=1.19" }, { name = "ipython", specifier = ">=9.2" }, { name = "jsonschema", specifier = ">=4.24" }, { name = "litellm", specifier = ">=1.72.1" }, @@ -1371,24 +1373,25 @@ dev = [ { name = "jupyterlab", specifier = ">=4.4.3" }, { name = "nbclient", specifier = ">=0.10.2" }, { name = "nbformat", specifier = ">=5.10.4" }, + { name = "pre-commit", specifier = ">=4.2" }, { name = "pytest", specifier = ">=8.4,<9" }, { name = "pytest-asyncio", specifier = ">=1" }, ] [[package]] -name = "manugen-ai-backend" +name = "manufold-backend" version = "0.1.0" source = { virtual = "." } dependencies = [ { name = "fastapi" }, - { name = "manugen-ai" }, + { name = "manufold" }, { name = "uvicorn", extra = ["standard"] }, ] [package.metadata] requires-dist = [ { name = "fastapi", specifier = ">=0.104" }, - { name = "manugen-ai", directory = "../packages/manugen-ai" }, + { name = "manufold", directory = "../packages/manufold" }, { name = "uvicorn", extras = ["standard"], specifier = ">=0.24" }, ] @@ -1399,27 +1402,27 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "mdurl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596, upload_time = "2023-06-03T06:41:14.443Z" } +sdist = { url = "https://files.pythonhosted.org/packages/38/71/3b932df36c1a044d397a1f92d1cf91ee0a503d91e470cbd670aa66b07ed0/markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb", size = 74596, upload-time = "2023-06-03T06:41:14.443Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528, upload_time = "2023-06-03T06:41:11.019Z" }, + { url = "https://files.pythonhosted.org/packages/42/d7/1ec15b46af6af88f19b8e5ffea08fa375d433c998b8a7639e76935c14f1f/markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1", size = 87528, upload-time = "2023-06-03T06:41:11.019Z" }, ] [[package]] name = "markupsafe" version = "3.0.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload_time = "2024-10-18T15:21:54.129Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/97/5d42485e71dfc078108a86d6de8fa46db44a1a9295e89c5d6d4a06e23a62/markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0", size = 20537, upload-time = "2024-10-18T15:21:54.129Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload_time = "2024-10-18T15:21:13.777Z" }, - { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload_time = "2024-10-18T15:21:14.822Z" }, - { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload_time = "2024-10-18T15:21:15.642Z" }, - { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload_time = "2024-10-18T15:21:17.133Z" }, - { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload_time = "2024-10-18T15:21:18.064Z" }, - { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload_time = "2024-10-18T15:21:18.859Z" }, - { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload_time = "2024-10-18T15:21:19.671Z" }, - { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload_time = "2024-10-18T15:21:20.971Z" }, - { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload_time = "2024-10-18T15:21:22.646Z" }, - { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload_time = "2024-10-18T15:21:23.499Z" }, + { url = "https://files.pythonhosted.org/packages/22/09/d1f21434c97fc42f09d290cbb6350d44eb12f09cc62c9476effdb33a18aa/MarkupSafe-3.0.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:9778bd8ab0a994ebf6f84c2b949e65736d5575320a17ae8984a77fab08db94cf", size = 14274, upload-time = "2024-10-18T15:21:13.777Z" }, + { url = "https://files.pythonhosted.org/packages/6b/b0/18f76bba336fa5aecf79d45dcd6c806c280ec44538b3c13671d49099fdd0/MarkupSafe-3.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:846ade7b71e3536c4e56b386c2a47adf5741d2d8b94ec9dc3e92e5e1ee1e2225", size = 12348, upload-time = "2024-10-18T15:21:14.822Z" }, + { url = "https://files.pythonhosted.org/packages/e0/25/dd5c0f6ac1311e9b40f4af06c78efde0f3b5cbf02502f8ef9501294c425b/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c99d261bd2d5f6b59325c92c73df481e05e57f19837bdca8413b9eac4bd8028", size = 24149, upload-time = "2024-10-18T15:21:15.642Z" }, + { url = "https://files.pythonhosted.org/packages/f3/f0/89e7aadfb3749d0f52234a0c8c7867877876e0a20b60e2188e9850794c17/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e17c96c14e19278594aa4841ec148115f9c7615a47382ecb6b82bd8fea3ab0c8", size = 23118, upload-time = "2024-10-18T15:21:17.133Z" }, + { url = "https://files.pythonhosted.org/packages/d5/da/f2eeb64c723f5e3777bc081da884b414671982008c47dcc1873d81f625b6/MarkupSafe-3.0.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:88416bd1e65dcea10bc7569faacb2c20ce071dd1f87539ca2ab364bf6231393c", size = 22993, upload-time = "2024-10-18T15:21:18.064Z" }, + { url = "https://files.pythonhosted.org/packages/da/0e/1f32af846df486dce7c227fe0f2398dc7e2e51d4a370508281f3c1c5cddc/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2181e67807fc2fa785d0592dc2d6206c019b9502410671cc905d132a92866557", size = 24178, upload-time = "2024-10-18T15:21:18.859Z" }, + { url = "https://files.pythonhosted.org/packages/c4/f6/bb3ca0532de8086cbff5f06d137064c8410d10779c4c127e0e47d17c0b71/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:52305740fe773d09cffb16f8ed0427942901f00adedac82ec8b67752f58a1b22", size = 23319, upload-time = "2024-10-18T15:21:19.671Z" }, + { url = "https://files.pythonhosted.org/packages/a2/82/8be4c96ffee03c5b4a034e60a31294daf481e12c7c43ab8e34a1453ee48b/MarkupSafe-3.0.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ad10d3ded218f1039f11a75f8091880239651b52e9bb592ca27de44eed242a48", size = 23352, upload-time = "2024-10-18T15:21:20.971Z" }, + { url = "https://files.pythonhosted.org/packages/51/ae/97827349d3fcffee7e184bdf7f41cd6b88d9919c80f0263ba7acd1bbcb18/MarkupSafe-3.0.2-cp312-cp312-win32.whl", hash = "sha256:0f4ca02bea9a23221c0182836703cbf8930c5e9454bacce27e767509fa286a30", size = 15097, upload-time = "2024-10-18T15:21:22.646Z" }, + { url = "https://files.pythonhosted.org/packages/c1/80/a61f99dc3a936413c3ee4e1eecac96c0da5ed07ad56fd975f1a9da5bc630/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87", size = 15601, upload-time = "2024-10-18T15:21:23.499Z" }, ] [[package]] @@ -1429,9 +1432,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159, upload_time = "2024-04-15T13:44:44.803Z" } +sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159, upload-time = "2024-04-15T13:44:44.803Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899, upload_time = "2024-04-15T13:44:43.265Z" }, + { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899, upload-time = "2024-04-15T13:44:43.265Z" }, ] [[package]] @@ -1449,62 +1452,62 @@ dependencies = [ { name = "starlette" }, { name = "uvicorn", marker = "sys_platform != 'emscripten'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/06/f2/dc2450e566eeccf92d89a00c3e813234ad58e2ba1e31d11467a09ac4f3b9/mcp-1.9.4.tar.gz", hash = "sha256:cfb0bcd1a9535b42edaef89947b9e18a8feb49362e1cc059d6e7fc636f2cb09f", size = 333294, upload_time = "2025-06-12T08:20:30.158Z" } +sdist = { url = "https://files.pythonhosted.org/packages/06/f2/dc2450e566eeccf92d89a00c3e813234ad58e2ba1e31d11467a09ac4f3b9/mcp-1.9.4.tar.gz", hash = "sha256:cfb0bcd1a9535b42edaef89947b9e18a8feb49362e1cc059d6e7fc636f2cb09f", size = 333294, upload-time = "2025-06-12T08:20:30.158Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/97/fc/80e655c955137393c443842ffcc4feccab5b12fa7cb8de9ced90f90e6998/mcp-1.9.4-py3-none-any.whl", hash = "sha256:7fcf36b62936adb8e63f89346bccca1268eeca9bf6dfb562ee10b1dfbda9dac0", size = 130232, upload_time = "2025-06-12T08:20:28.551Z" }, + { url = "https://files.pythonhosted.org/packages/97/fc/80e655c955137393c443842ffcc4feccab5b12fa7cb8de9ced90f90e6998/mcp-1.9.4-py3-none-any.whl", hash = "sha256:7fcf36b62936adb8e63f89346bccca1268eeca9bf6dfb562ee10b1dfbda9dac0", size = 130232, upload-time = "2025-06-12T08:20:28.551Z" }, ] [[package]] name = "mdurl" version = "0.1.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload_time = "2022-08-14T12:40:10.846Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/54/cfe61301667036ec958cb99bd3efefba235e65cdeb9c84d24a8293ba1d90/mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba", size = 8729, upload-time = "2022-08-14T12:40:10.846Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload_time = "2022-08-14T12:40:09.779Z" }, + { url = "https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8", size = 9979, upload-time = "2022-08-14T12:40:09.779Z" }, ] [[package]] name = "mistune" version = "3.1.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c4/79/bda47f7dd7c3c55770478d6d02c9960c430b0cf1773b72366ff89126ea31/mistune-3.1.3.tar.gz", hash = "sha256:a7035c21782b2becb6be62f8f25d3df81ccb4d6fa477a6525b15af06539f02a0", size = 94347, upload_time = "2025-03-19T14:27:24.955Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c4/79/bda47f7dd7c3c55770478d6d02c9960c430b0cf1773b72366ff89126ea31/mistune-3.1.3.tar.gz", hash = "sha256:a7035c21782b2becb6be62f8f25d3df81ccb4d6fa477a6525b15af06539f02a0", size = 94347, upload-time = "2025-03-19T14:27:24.955Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/01/4d/23c4e4f09da849e127e9f123241946c23c1e30f45a88366879e064211815/mistune-3.1.3-py3-none-any.whl", hash = "sha256:1a32314113cff28aa6432e99e522677c8587fd83e3d51c29b82a52409c842bd9", size = 53410, upload_time = "2025-03-19T14:27:23.451Z" }, + { url = "https://files.pythonhosted.org/packages/01/4d/23c4e4f09da849e127e9f123241946c23c1e30f45a88366879e064211815/mistune-3.1.3-py3-none-any.whl", hash = "sha256:1a32314113cff28aa6432e99e522677c8587fd83e3d51c29b82a52409c842bd9", size = 53410, upload-time = "2025-03-19T14:27:23.451Z" }, ] [[package]] name = "mpmath" version = "1.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", size = 508106, upload_time = "2023-03-07T16:47:11.061Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e0/47/dd32fa426cc72114383ac549964eecb20ecfd886d1e5ccf5340b55b02f57/mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f", size = 508106, upload-time = "2023-03-07T16:47:11.061Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198, upload_time = "2023-03-07T16:47:09.197Z" }, + { url = "https://files.pythonhosted.org/packages/43/e3/7d92a15f894aa0c9c4b49b8ee9ac9850d6e63b03c9c32c0367a13ae62209/mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c", size = 536198, upload-time = "2023-03-07T16:47:09.197Z" }, ] [[package]] name = "multidict" version = "6.4.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/91/2f/a3470242707058fe856fe59241eee5635d79087100b7042a867368863a27/multidict-6.4.4.tar.gz", hash = "sha256:69ee9e6ba214b5245031b76233dd95408a0fd57fdb019ddcc1ead4790932a8e8", size = 90183, upload_time = "2025-05-19T14:16:37.381Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/d2/b5/5675377da23d60875fe7dae6be841787755878e315e2f517235f22f59e18/multidict-6.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:dc388f75a1c00000824bf28b7633e40854f4127ede80512b44c3cfeeea1839a2", size = 64293, upload_time = "2025-05-19T14:14:44.724Z" }, - { url = "https://files.pythonhosted.org/packages/34/a7/be384a482754bb8c95d2bbe91717bf7ccce6dc38c18569997a11f95aa554/multidict-6.4.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:98af87593a666f739d9dba5d0ae86e01b0e1a9cfcd2e30d2d361fbbbd1a9162d", size = 38096, upload_time = "2025-05-19T14:14:45.95Z" }, - { url = "https://files.pythonhosted.org/packages/66/6d/d59854bb4352306145bdfd1704d210731c1bb2c890bfee31fb7bbc1c4c7f/multidict-6.4.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aff4cafea2d120327d55eadd6b7f1136a8e5a0ecf6fb3b6863e8aca32cd8e50a", size = 37214, upload_time = "2025-05-19T14:14:47.158Z" }, - { url = "https://files.pythonhosted.org/packages/99/e0/c29d9d462d7cfc5fc8f9bf24f9c6843b40e953c0b55e04eba2ad2cf54fba/multidict-6.4.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:169c4ba7858176b797fe551d6e99040c531c775d2d57b31bcf4de6d7a669847f", size = 224686, upload_time = "2025-05-19T14:14:48.366Z" }, - { url = "https://files.pythonhosted.org/packages/dc/4a/da99398d7fd8210d9de068f9a1b5f96dfaf67d51e3f2521f17cba4ee1012/multidict-6.4.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b9eb4c59c54421a32b3273d4239865cb14ead53a606db066d7130ac80cc8ec93", size = 231061, upload_time = "2025-05-19T14:14:49.952Z" }, - { url = "https://files.pythonhosted.org/packages/21/f5/ac11add39a0f447ac89353e6ca46666847051103649831c08a2800a14455/multidict-6.4.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7cf3bd54c56aa16fdb40028d545eaa8d051402b61533c21e84046e05513d5780", size = 232412, upload_time = "2025-05-19T14:14:51.812Z" }, - { url = "https://files.pythonhosted.org/packages/d9/11/4b551e2110cded705a3c13a1d4b6a11f73891eb5a1c449f1b2b6259e58a6/multidict-6.4.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f682c42003c7264134bfe886376299db4cc0c6cd06a3295b41b347044bcb5482", size = 231563, upload_time = "2025-05-19T14:14:53.262Z" }, - { url = "https://files.pythonhosted.org/packages/4c/02/751530c19e78fe73b24c3da66618eda0aa0d7f6e7aa512e46483de6be210/multidict-6.4.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a920f9cf2abdf6e493c519492d892c362007f113c94da4c239ae88429835bad1", size = 223811, upload_time = "2025-05-19T14:14:55.232Z" }, - { url = "https://files.pythonhosted.org/packages/c7/cb/2be8a214643056289e51ca356026c7b2ce7225373e7a1f8c8715efee8988/multidict-6.4.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:530d86827a2df6504526106b4c104ba19044594f8722d3e87714e847c74a0275", size = 216524, upload_time = "2025-05-19T14:14:57.226Z" }, - { url = "https://files.pythonhosted.org/packages/19/f3/6d5011ec375c09081f5250af58de85f172bfcaafebff286d8089243c4bd4/multidict-6.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ecde56ea2439b96ed8a8d826b50c57364612ddac0438c39e473fafad7ae1c23b", size = 229012, upload_time = "2025-05-19T14:14:58.597Z" }, - { url = "https://files.pythonhosted.org/packages/67/9c/ca510785df5cf0eaf5b2a8132d7d04c1ce058dcf2c16233e596ce37a7f8e/multidict-6.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:dc8c9736d8574b560634775ac0def6bdc1661fc63fa27ffdfc7264c565bcb4f2", size = 226765, upload_time = "2025-05-19T14:15:00.048Z" }, - { url = "https://files.pythonhosted.org/packages/36/c8/ca86019994e92a0f11e642bda31265854e6ea7b235642f0477e8c2e25c1f/multidict-6.4.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7f3d3b3c34867579ea47cbd6c1f2ce23fbfd20a273b6f9e3177e256584f1eacc", size = 222888, upload_time = "2025-05-19T14:15:01.568Z" }, - { url = "https://files.pythonhosted.org/packages/c6/67/bc25a8e8bd522935379066950ec4e2277f9b236162a73548a2576d4b9587/multidict-6.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:87a728af265e08f96b6318ebe3c0f68b9335131f461efab2fc64cc84a44aa6ed", size = 234041, upload_time = "2025-05-19T14:15:03.759Z" }, - { url = "https://files.pythonhosted.org/packages/f1/a0/70c4c2d12857fccbe607b334b7ee28b6b5326c322ca8f73ee54e70d76484/multidict-6.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9f193eeda1857f8e8d3079a4abd258f42ef4a4bc87388452ed1e1c4d2b0c8740", size = 231046, upload_time = "2025-05-19T14:15:05.698Z" }, - { url = "https://files.pythonhosted.org/packages/c1/0f/52954601d02d39742aab01d6b92f53c1dd38b2392248154c50797b4df7f1/multidict-6.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:be06e73c06415199200e9a2324a11252a3d62030319919cde5e6950ffeccf72e", size = 227106, upload_time = "2025-05-19T14:15:07.124Z" }, - { url = "https://files.pythonhosted.org/packages/af/24/679d83ec4379402d28721790dce818e5d6b9f94ce1323a556fb17fa9996c/multidict-6.4.4-cp312-cp312-win32.whl", hash = "sha256:622f26ea6a7e19b7c48dd9228071f571b2fbbd57a8cd71c061e848f281550e6b", size = 35351, upload_time = "2025-05-19T14:15:08.556Z" }, - { url = "https://files.pythonhosted.org/packages/52/ef/40d98bc5f986f61565f9b345f102409534e29da86a6454eb6b7c00225a13/multidict-6.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:5e2bcda30d5009996ff439e02a9f2b5c3d64a20151d34898c000a6281faa3781", size = 38791, upload_time = "2025-05-19T14:15:09.825Z" }, - { url = "https://files.pythonhosted.org/packages/84/5d/e17845bb0fa76334477d5de38654d27946d5b5d3695443987a094a71b440/multidict-6.4.4-py3-none-any.whl", hash = "sha256:bd4557071b561a8b3b6075c3ce93cf9bfb6182cb241805c3d66ced3b75eff4ac", size = 10481, upload_time = "2025-05-19T14:16:36.024Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/91/2f/a3470242707058fe856fe59241eee5635d79087100b7042a867368863a27/multidict-6.4.4.tar.gz", hash = "sha256:69ee9e6ba214b5245031b76233dd95408a0fd57fdb019ddcc1ead4790932a8e8", size = 90183, upload-time = "2025-05-19T14:16:37.381Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/b5/5675377da23d60875fe7dae6be841787755878e315e2f517235f22f59e18/multidict-6.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:dc388f75a1c00000824bf28b7633e40854f4127ede80512b44c3cfeeea1839a2", size = 64293, upload-time = "2025-05-19T14:14:44.724Z" }, + { url = "https://files.pythonhosted.org/packages/34/a7/be384a482754bb8c95d2bbe91717bf7ccce6dc38c18569997a11f95aa554/multidict-6.4.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:98af87593a666f739d9dba5d0ae86e01b0e1a9cfcd2e30d2d361fbbbd1a9162d", size = 38096, upload-time = "2025-05-19T14:14:45.95Z" }, + { url = "https://files.pythonhosted.org/packages/66/6d/d59854bb4352306145bdfd1704d210731c1bb2c890bfee31fb7bbc1c4c7f/multidict-6.4.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:aff4cafea2d120327d55eadd6b7f1136a8e5a0ecf6fb3b6863e8aca32cd8e50a", size = 37214, upload-time = "2025-05-19T14:14:47.158Z" }, + { url = "https://files.pythonhosted.org/packages/99/e0/c29d9d462d7cfc5fc8f9bf24f9c6843b40e953c0b55e04eba2ad2cf54fba/multidict-6.4.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:169c4ba7858176b797fe551d6e99040c531c775d2d57b31bcf4de6d7a669847f", size = 224686, upload-time = "2025-05-19T14:14:48.366Z" }, + { url = "https://files.pythonhosted.org/packages/dc/4a/da99398d7fd8210d9de068f9a1b5f96dfaf67d51e3f2521f17cba4ee1012/multidict-6.4.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:b9eb4c59c54421a32b3273d4239865cb14ead53a606db066d7130ac80cc8ec93", size = 231061, upload-time = "2025-05-19T14:14:49.952Z" }, + { url = "https://files.pythonhosted.org/packages/21/f5/ac11add39a0f447ac89353e6ca46666847051103649831c08a2800a14455/multidict-6.4.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7cf3bd54c56aa16fdb40028d545eaa8d051402b61533c21e84046e05513d5780", size = 232412, upload-time = "2025-05-19T14:14:51.812Z" }, + { url = "https://files.pythonhosted.org/packages/d9/11/4b551e2110cded705a3c13a1d4b6a11f73891eb5a1c449f1b2b6259e58a6/multidict-6.4.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f682c42003c7264134bfe886376299db4cc0c6cd06a3295b41b347044bcb5482", size = 231563, upload-time = "2025-05-19T14:14:53.262Z" }, + { url = "https://files.pythonhosted.org/packages/4c/02/751530c19e78fe73b24c3da66618eda0aa0d7f6e7aa512e46483de6be210/multidict-6.4.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a920f9cf2abdf6e493c519492d892c362007f113c94da4c239ae88429835bad1", size = 223811, upload-time = "2025-05-19T14:14:55.232Z" }, + { url = "https://files.pythonhosted.org/packages/c7/cb/2be8a214643056289e51ca356026c7b2ce7225373e7a1f8c8715efee8988/multidict-6.4.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:530d86827a2df6504526106b4c104ba19044594f8722d3e87714e847c74a0275", size = 216524, upload-time = "2025-05-19T14:14:57.226Z" }, + { url = "https://files.pythonhosted.org/packages/19/f3/6d5011ec375c09081f5250af58de85f172bfcaafebff286d8089243c4bd4/multidict-6.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ecde56ea2439b96ed8a8d826b50c57364612ddac0438c39e473fafad7ae1c23b", size = 229012, upload-time = "2025-05-19T14:14:58.597Z" }, + { url = "https://files.pythonhosted.org/packages/67/9c/ca510785df5cf0eaf5b2a8132d7d04c1ce058dcf2c16233e596ce37a7f8e/multidict-6.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:dc8c9736d8574b560634775ac0def6bdc1661fc63fa27ffdfc7264c565bcb4f2", size = 226765, upload-time = "2025-05-19T14:15:00.048Z" }, + { url = "https://files.pythonhosted.org/packages/36/c8/ca86019994e92a0f11e642bda31265854e6ea7b235642f0477e8c2e25c1f/multidict-6.4.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7f3d3b3c34867579ea47cbd6c1f2ce23fbfd20a273b6f9e3177e256584f1eacc", size = 222888, upload-time = "2025-05-19T14:15:01.568Z" }, + { url = "https://files.pythonhosted.org/packages/c6/67/bc25a8e8bd522935379066950ec4e2277f9b236162a73548a2576d4b9587/multidict-6.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:87a728af265e08f96b6318ebe3c0f68b9335131f461efab2fc64cc84a44aa6ed", size = 234041, upload-time = "2025-05-19T14:15:03.759Z" }, + { url = "https://files.pythonhosted.org/packages/f1/a0/70c4c2d12857fccbe607b334b7ee28b6b5326c322ca8f73ee54e70d76484/multidict-6.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9f193eeda1857f8e8d3079a4abd258f42ef4a4bc87388452ed1e1c4d2b0c8740", size = 231046, upload-time = "2025-05-19T14:15:05.698Z" }, + { url = "https://files.pythonhosted.org/packages/c1/0f/52954601d02d39742aab01d6b92f53c1dd38b2392248154c50797b4df7f1/multidict-6.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:be06e73c06415199200e9a2324a11252a3d62030319919cde5e6950ffeccf72e", size = 227106, upload-time = "2025-05-19T14:15:07.124Z" }, + { url = "https://files.pythonhosted.org/packages/af/24/679d83ec4379402d28721790dce818e5d6b9f94ce1323a556fb17fa9996c/multidict-6.4.4-cp312-cp312-win32.whl", hash = "sha256:622f26ea6a7e19b7c48dd9228071f571b2fbbd57a8cd71c061e848f281550e6b", size = 35351, upload-time = "2025-05-19T14:15:08.556Z" }, + { url = "https://files.pythonhosted.org/packages/52/ef/40d98bc5f986f61565f9b345f102409534e29da86a6454eb6b7c00225a13/multidict-6.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:5e2bcda30d5009996ff439e02a9f2b5c3d64a20151d34898c000a6281faa3781", size = 38791, upload-time = "2025-05-19T14:15:09.825Z" }, + { url = "https://files.pythonhosted.org/packages/84/5d/e17845bb0fa76334477d5de38654d27946d5b5d3695443987a094a71b440/multidict-6.4.4-py3-none-any.whl", hash = "sha256:bd4557071b561a8b3b6075c3ce93cf9bfb6182cb241805c3d66ced3b75eff4ac", size = 10481, upload-time = "2025-05-19T14:16:36.024Z" }, ] [[package]] @@ -1514,13 +1517,13 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "dill" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b5/ae/04f39c5d0d0def03247c2893d6f2b83c136bf3320a2154d7b8858f2ba72d/multiprocess-0.70.16.tar.gz", hash = "sha256:161af703d4652a0e1410be6abccecde4a7ddffd19341be0a7011b94aeb171ac1", size = 1772603, upload_time = "2024-01-28T18:52:34.85Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b5/ae/04f39c5d0d0def03247c2893d6f2b83c136bf3320a2154d7b8858f2ba72d/multiprocess-0.70.16.tar.gz", hash = "sha256:161af703d4652a0e1410be6abccecde4a7ddffd19341be0a7011b94aeb171ac1", size = 1772603, upload-time = "2024-01-28T18:52:34.85Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/bc/f7/7ec7fddc92e50714ea3745631f79bd9c96424cb2702632521028e57d3a36/multiprocess-0.70.16-py310-none-any.whl", hash = "sha256:c4a9944c67bd49f823687463660a2d6daae94c289adff97e0f9d696ba6371d02", size = 134824, upload_time = "2024-01-28T18:52:26.062Z" }, - { url = "https://files.pythonhosted.org/packages/50/15/b56e50e8debaf439f44befec5b2af11db85f6e0f344c3113ae0be0593a91/multiprocess-0.70.16-py311-none-any.whl", hash = "sha256:af4cabb0dac72abfb1e794fa7855c325fd2b55a10a44628a3c1ad3311c04127a", size = 143519, upload_time = "2024-01-28T18:52:28.115Z" }, - { url = "https://files.pythonhosted.org/packages/0a/7d/a988f258104dcd2ccf1ed40fdc97e26c4ac351eeaf81d76e266c52d84e2f/multiprocess-0.70.16-py312-none-any.whl", hash = "sha256:fc0544c531920dde3b00c29863377f87e1632601092ea2daca74e4beb40faa2e", size = 146741, upload_time = "2024-01-28T18:52:29.395Z" }, - { url = "https://files.pythonhosted.org/packages/ea/89/38df130f2c799090c978b366cfdf5b96d08de5b29a4a293df7f7429fa50b/multiprocess-0.70.16-py38-none-any.whl", hash = "sha256:a71d82033454891091a226dfc319d0cfa8019a4e888ef9ca910372a446de4435", size = 132628, upload_time = "2024-01-28T18:52:30.853Z" }, - { url = "https://files.pythonhosted.org/packages/da/d9/f7f9379981e39b8c2511c9e0326d212accacb82f12fbfdc1aa2ce2a7b2b6/multiprocess-0.70.16-py39-none-any.whl", hash = "sha256:a0bafd3ae1b732eac64be2e72038231c1ba97724b60b09400d68f229fcc2fbf3", size = 133351, upload_time = "2024-01-28T18:52:31.981Z" }, + { url = "https://files.pythonhosted.org/packages/bc/f7/7ec7fddc92e50714ea3745631f79bd9c96424cb2702632521028e57d3a36/multiprocess-0.70.16-py310-none-any.whl", hash = "sha256:c4a9944c67bd49f823687463660a2d6daae94c289adff97e0f9d696ba6371d02", size = 134824, upload-time = "2024-01-28T18:52:26.062Z" }, + { url = "https://files.pythonhosted.org/packages/50/15/b56e50e8debaf439f44befec5b2af11db85f6e0f344c3113ae0be0593a91/multiprocess-0.70.16-py311-none-any.whl", hash = "sha256:af4cabb0dac72abfb1e794fa7855c325fd2b55a10a44628a3c1ad3311c04127a", size = 143519, upload-time = "2024-01-28T18:52:28.115Z" }, + { url = "https://files.pythonhosted.org/packages/0a/7d/a988f258104dcd2ccf1ed40fdc97e26c4ac351eeaf81d76e266c52d84e2f/multiprocess-0.70.16-py312-none-any.whl", hash = "sha256:fc0544c531920dde3b00c29863377f87e1632601092ea2daca74e4beb40faa2e", size = 146741, upload-time = "2024-01-28T18:52:29.395Z" }, + { url = "https://files.pythonhosted.org/packages/ea/89/38df130f2c799090c978b366cfdf5b96d08de5b29a4a293df7f7429fa50b/multiprocess-0.70.16-py38-none-any.whl", hash = "sha256:a71d82033454891091a226dfc319d0cfa8019a4e888ef9ca910372a446de4435", size = 132628, upload-time = "2024-01-28T18:52:30.853Z" }, + { url = "https://files.pythonhosted.org/packages/da/d9/f7f9379981e39b8c2511c9e0326d212accacb82f12fbfdc1aa2ce2a7b2b6/multiprocess-0.70.16-py39-none-any.whl", hash = "sha256:a0bafd3ae1b732eac64be2e72038231c1ba97724b60b09400d68f229fcc2fbf3", size = 133351, upload-time = "2024-01-28T18:52:31.981Z" }, ] [[package]] @@ -1533,9 +1536,9 @@ dependencies = [ { name = "nbformat" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/87/66/7ffd18d58eae90d5721f9f39212327695b749e23ad44b3881744eaf4d9e8/nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193", size = 62424, upload_time = "2024-12-19T10:32:27.164Z" } +sdist = { url = "https://files.pythonhosted.org/packages/87/66/7ffd18d58eae90d5721f9f39212327695b749e23ad44b3881744eaf4d9e8/nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193", size = 62424, upload-time = "2024-12-19T10:32:27.164Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/34/6d/e7fa07f03a4a7b221d94b4d586edb754a9b0dc3c9e2c93353e9fa4e0d117/nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d", size = 25434, upload_time = "2024-12-19T10:32:24.139Z" }, + { url = "https://files.pythonhosted.org/packages/34/6d/e7fa07f03a4a7b221d94b4d586edb754a9b0dc3c9e2c93353e9fa4e0d117/nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d", size = 25434, upload-time = "2024-12-19T10:32:24.139Z" }, ] [[package]] @@ -1558,9 +1561,9 @@ dependencies = [ { name = "pygments" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a3/59/f28e15fc47ffb73af68a8d9b47367a8630d76e97ae85ad18271b9db96fdf/nbconvert-7.16.6.tar.gz", hash = "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582", size = 857715, upload_time = "2025-01-28T09:29:14.724Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a3/59/f28e15fc47ffb73af68a8d9b47367a8630d76e97ae85ad18271b9db96fdf/nbconvert-7.16.6.tar.gz", hash = "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582", size = 857715, upload-time = "2025-01-28T09:29:14.724Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cc/9a/cd673b2f773a12c992f41309ef81b99da1690426bd2f96957a7ade0d3ed7/nbconvert-7.16.6-py3-none-any.whl", hash = "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b", size = 258525, upload_time = "2025-01-28T09:29:12.551Z" }, + { url = "https://files.pythonhosted.org/packages/cc/9a/cd673b2f773a12c992f41309ef81b99da1690426bd2f96957a7ade0d3ed7/nbconvert-7.16.6-py3-none-any.whl", hash = "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b", size = 258525, upload-time = "2025-01-28T09:29:12.551Z" }, ] [[package]] @@ -1573,37 +1576,37 @@ dependencies = [ { name = "jupyter-core" }, { name = "traitlets" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749, upload_time = "2024-04-04T11:20:37.371Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749, upload-time = "2024-04-04T11:20:37.371Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454, upload_time = "2024-04-04T11:20:34.895Z" }, + { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454, upload-time = "2024-04-04T11:20:34.895Z" }, ] [[package]] name = "networkx" version = "3.5" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6c/4f/ccdb8ad3a38e583f214547fd2f7ff1fc160c43a75af88e6aec213404b96a/networkx-3.5.tar.gz", hash = "sha256:d4c6f9cf81f52d69230866796b82afbccdec3db7ae4fbd1b65ea750feed50037", size = 2471065, upload_time = "2025-05-29T11:35:07.804Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/4f/ccdb8ad3a38e583f214547fd2f7ff1fc160c43a75af88e6aec213404b96a/networkx-3.5.tar.gz", hash = "sha256:d4c6f9cf81f52d69230866796b82afbccdec3db7ae4fbd1b65ea750feed50037", size = 2471065, upload-time = "2025-05-29T11:35:07.804Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/eb/8d/776adee7bbf76365fdd7f2552710282c79a4ead5d2a46408c9043a2b70ba/networkx-3.5-py3-none-any.whl", hash = "sha256:0030d386a9a06dee3565298b4a734b68589749a544acbb6c412dc9e2489ec6ec", size = 2034406, upload_time = "2025-05-29T11:35:04.961Z" }, + { url = "https://files.pythonhosted.org/packages/eb/8d/776adee7bbf76365fdd7f2552710282c79a4ead5d2a46408c9043a2b70ba/networkx-3.5-py3-none-any.whl", hash = "sha256:0030d386a9a06dee3565298b4a734b68589749a544acbb6c412dc9e2489ec6ec", size = 2034406, upload-time = "2025-05-29T11:35:04.961Z" }, ] [[package]] name = "numpy" version = "2.3.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f3/db/8e12381333aea300890829a0a36bfa738cac95475d88982d538725143fd9/numpy-2.3.0.tar.gz", hash = "sha256:581f87f9e9e9db2cba2141400e160e9dd644ee248788d6f90636eeb8fd9260a6", size = 20382813, upload_time = "2025-06-07T14:54:32.608Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/db/8e12381333aea300890829a0a36bfa738cac95475d88982d538725143fd9/numpy-2.3.0.tar.gz", hash = "sha256:581f87f9e9e9db2cba2141400e160e9dd644ee248788d6f90636eeb8fd9260a6", size = 20382813, upload-time = "2025-06-07T14:54:32.608Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/89/59/9df493df81ac6f76e9f05cdbe013cdb0c9a37b434f6e594f5bd25e278908/numpy-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:389b85335838155a9076e9ad7f8fdba0827496ec2d2dc32ce69ce7898bde03ba", size = 20897025, upload_time = "2025-06-07T14:40:33.558Z" }, - { url = "https://files.pythonhosted.org/packages/2f/86/4ff04335901d6cf3a6bb9c748b0097546ae5af35e455ae9b962ebff4ecd7/numpy-2.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9498f60cd6bb8238d8eaf468a3d5bb031d34cd12556af53510f05fcf581c1b7e", size = 14129882, upload_time = "2025-06-07T14:40:55.034Z" }, - { url = "https://files.pythonhosted.org/packages/71/8d/a942cd4f959de7f08a79ab0c7e6cecb7431d5403dce78959a726f0f57aa1/numpy-2.3.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:622a65d40d8eb427d8e722fd410ac3ad4958002f109230bc714fa551044ebae2", size = 5110181, upload_time = "2025-06-07T14:41:04.4Z" }, - { url = "https://files.pythonhosted.org/packages/86/5d/45850982efc7b2c839c5626fb67fbbc520d5b0d7c1ba1ae3651f2f74c296/numpy-2.3.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:b9446d9d8505aadadb686d51d838f2b6688c9e85636a0c3abaeb55ed54756459", size = 6647581, upload_time = "2025-06-07T14:41:14.695Z" }, - { url = "https://files.pythonhosted.org/packages/1a/c0/c871d4a83f93b00373d3eebe4b01525eee8ef10b623a335ec262b58f4dc1/numpy-2.3.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:50080245365d75137a2bf46151e975de63146ae6d79f7e6bd5c0e85c9931d06a", size = 14262317, upload_time = "2025-06-07T14:41:35.862Z" }, - { url = "https://files.pythonhosted.org/packages/b7/f6/bc47f5fa666d5ff4145254f9e618d56e6a4ef9b874654ca74c19113bb538/numpy-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:c24bb4113c66936eeaa0dc1e47c74770453d34f46ee07ae4efd853a2ed1ad10a", size = 16633919, upload_time = "2025-06-07T14:42:00.622Z" }, - { url = "https://files.pythonhosted.org/packages/f5/b4/65f48009ca0c9b76df5f404fccdea5a985a1bb2e34e97f21a17d9ad1a4ba/numpy-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4d8d294287fdf685281e671886c6dcdf0291a7c19db3e5cb4178d07ccf6ecc67", size = 15567651, upload_time = "2025-06-07T14:42:24.429Z" }, - { url = "https://files.pythonhosted.org/packages/f1/62/5367855a2018578e9334ed08252ef67cc302e53edc869666f71641cad40b/numpy-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6295f81f093b7f5769d1728a6bd8bf7466de2adfa771ede944ce6711382b89dc", size = 18361723, upload_time = "2025-06-07T14:42:51.167Z" }, - { url = "https://files.pythonhosted.org/packages/d4/75/5baed8cd867eabee8aad1e74d7197d73971d6a3d40c821f1848b8fab8b84/numpy-2.3.0-cp312-cp312-win32.whl", hash = "sha256:e6648078bdd974ef5d15cecc31b0c410e2e24178a6e10bf511e0557eed0f2570", size = 6318285, upload_time = "2025-06-07T14:43:02.052Z" }, - { url = "https://files.pythonhosted.org/packages/bc/49/d5781eaa1a15acb3b3a3f49dc9e2ff18d92d0ce5c2976f4ab5c0a7360250/numpy-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:0898c67a58cdaaf29994bc0e2c65230fd4de0ac40afaf1584ed0b02cd74c6fdd", size = 12732594, upload_time = "2025-06-07T14:43:21.071Z" }, - { url = "https://files.pythonhosted.org/packages/c2/1c/6d343e030815c7c97a1f9fbad00211b47717c7fe446834c224bd5311e6f1/numpy-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:bd8df082b6c4695753ad6193018c05aac465d634834dca47a3ae06d4bb22d9ea", size = 9891498, upload_time = "2025-06-07T14:43:36.332Z" }, + { url = "https://files.pythonhosted.org/packages/89/59/9df493df81ac6f76e9f05cdbe013cdb0c9a37b434f6e594f5bd25e278908/numpy-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:389b85335838155a9076e9ad7f8fdba0827496ec2d2dc32ce69ce7898bde03ba", size = 20897025, upload-time = "2025-06-07T14:40:33.558Z" }, + { url = "https://files.pythonhosted.org/packages/2f/86/4ff04335901d6cf3a6bb9c748b0097546ae5af35e455ae9b962ebff4ecd7/numpy-2.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:9498f60cd6bb8238d8eaf468a3d5bb031d34cd12556af53510f05fcf581c1b7e", size = 14129882, upload-time = "2025-06-07T14:40:55.034Z" }, + { url = "https://files.pythonhosted.org/packages/71/8d/a942cd4f959de7f08a79ab0c7e6cecb7431d5403dce78959a726f0f57aa1/numpy-2.3.0-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:622a65d40d8eb427d8e722fd410ac3ad4958002f109230bc714fa551044ebae2", size = 5110181, upload-time = "2025-06-07T14:41:04.4Z" }, + { url = "https://files.pythonhosted.org/packages/86/5d/45850982efc7b2c839c5626fb67fbbc520d5b0d7c1ba1ae3651f2f74c296/numpy-2.3.0-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:b9446d9d8505aadadb686d51d838f2b6688c9e85636a0c3abaeb55ed54756459", size = 6647581, upload-time = "2025-06-07T14:41:14.695Z" }, + { url = "https://files.pythonhosted.org/packages/1a/c0/c871d4a83f93b00373d3eebe4b01525eee8ef10b623a335ec262b58f4dc1/numpy-2.3.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:50080245365d75137a2bf46151e975de63146ae6d79f7e6bd5c0e85c9931d06a", size = 14262317, upload-time = "2025-06-07T14:41:35.862Z" }, + { url = "https://files.pythonhosted.org/packages/b7/f6/bc47f5fa666d5ff4145254f9e618d56e6a4ef9b874654ca74c19113bb538/numpy-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:c24bb4113c66936eeaa0dc1e47c74770453d34f46ee07ae4efd853a2ed1ad10a", size = 16633919, upload-time = "2025-06-07T14:42:00.622Z" }, + { url = "https://files.pythonhosted.org/packages/f5/b4/65f48009ca0c9b76df5f404fccdea5a985a1bb2e34e97f21a17d9ad1a4ba/numpy-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4d8d294287fdf685281e671886c6dcdf0291a7c19db3e5cb4178d07ccf6ecc67", size = 15567651, upload-time = "2025-06-07T14:42:24.429Z" }, + { url = "https://files.pythonhosted.org/packages/f1/62/5367855a2018578e9334ed08252ef67cc302e53edc869666f71641cad40b/numpy-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6295f81f093b7f5769d1728a6bd8bf7466de2adfa771ede944ce6711382b89dc", size = 18361723, upload-time = "2025-06-07T14:42:51.167Z" }, + { url = "https://files.pythonhosted.org/packages/d4/75/5baed8cd867eabee8aad1e74d7197d73971d6a3d40c821f1848b8fab8b84/numpy-2.3.0-cp312-cp312-win32.whl", hash = "sha256:e6648078bdd974ef5d15cecc31b0c410e2e24178a6e10bf511e0557eed0f2570", size = 6318285, upload-time = "2025-06-07T14:43:02.052Z" }, + { url = "https://files.pythonhosted.org/packages/bc/49/d5781eaa1a15acb3b3a3f49dc9e2ff18d92d0ce5c2976f4ab5c0a7360250/numpy-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:0898c67a58cdaaf29994bc0e2c65230fd4de0ac40afaf1584ed0b02cd74c6fdd", size = 12732594, upload-time = "2025-06-07T14:43:21.071Z" }, + { url = "https://files.pythonhosted.org/packages/c2/1c/6d343e030815c7c97a1f9fbad00211b47717c7fe446834c224bd5311e6f1/numpy-2.3.0-cp312-cp312-win_arm64.whl", hash = "sha256:bd8df082b6c4695753ad6193018c05aac465d634834dca47a3ae06d4bb22d9ea", size = 9891498, upload-time = "2025-06-07T14:43:36.332Z" }, ] [[package]] @@ -1611,7 +1614,7 @@ name = "nvidia-cublas-cu12" version = "12.6.4.1" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/af/eb/ff4b8c503fa1f1796679dce648854d58751982426e4e4b37d6fce49d259c/nvidia_cublas_cu12-12.6.4.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:08ed2686e9875d01b58e3cb379c6896df8e76c75e0d4a7f7dace3d7b6d9ef8eb", size = 393138322, upload_time = "2024-11-20T17:40:25.65Z" }, + { url = "https://files.pythonhosted.org/packages/af/eb/ff4b8c503fa1f1796679dce648854d58751982426e4e4b37d6fce49d259c/nvidia_cublas_cu12-12.6.4.1-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:08ed2686e9875d01b58e3cb379c6896df8e76c75e0d4a7f7dace3d7b6d9ef8eb", size = 393138322, upload-time = "2024-11-20T17:40:25.65Z" }, ] [[package]] @@ -1619,8 +1622,8 @@ name = "nvidia-cuda-cupti-cu12" version = "12.6.80" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/49/60/7b6497946d74bcf1de852a21824d63baad12cd417db4195fc1bfe59db953/nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6768bad6cab4f19e8292125e5f1ac8aa7d1718704012a0e3272a6f61c4bce132", size = 8917980, upload_time = "2024-11-20T17:36:04.019Z" }, - { url = "https://files.pythonhosted.org/packages/a5/24/120ee57b218d9952c379d1e026c4479c9ece9997a4fb46303611ee48f038/nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_x86_64.whl", hash = "sha256:a3eff6cdfcc6a4c35db968a06fcadb061cbc7d6dde548609a941ff8701b98b73", size = 8917972, upload_time = "2024-10-01T16:58:06.036Z" }, + { url = "https://files.pythonhosted.org/packages/49/60/7b6497946d74bcf1de852a21824d63baad12cd417db4195fc1bfe59db953/nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6768bad6cab4f19e8292125e5f1ac8aa7d1718704012a0e3272a6f61c4bce132", size = 8917980, upload-time = "2024-11-20T17:36:04.019Z" }, + { url = "https://files.pythonhosted.org/packages/a5/24/120ee57b218d9952c379d1e026c4479c9ece9997a4fb46303611ee48f038/nvidia_cuda_cupti_cu12-12.6.80-py3-none-manylinux2014_x86_64.whl", hash = "sha256:a3eff6cdfcc6a4c35db968a06fcadb061cbc7d6dde548609a941ff8701b98b73", size = 8917972, upload-time = "2024-10-01T16:58:06.036Z" }, ] [[package]] @@ -1628,7 +1631,7 @@ name = "nvidia-cuda-nvrtc-cu12" version = "12.6.77" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/75/2e/46030320b5a80661e88039f59060d1790298b4718944a65a7f2aeda3d9e9/nvidia_cuda_nvrtc_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:35b0cc6ee3a9636d5409133e79273ce1f3fd087abb0532d2d2e8fff1fe9efc53", size = 23650380, upload_time = "2024-10-01T17:00:14.643Z" }, + { url = "https://files.pythonhosted.org/packages/75/2e/46030320b5a80661e88039f59060d1790298b4718944a65a7f2aeda3d9e9/nvidia_cuda_nvrtc_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:35b0cc6ee3a9636d5409133e79273ce1f3fd087abb0532d2d2e8fff1fe9efc53", size = 23650380, upload-time = "2024-10-01T17:00:14.643Z" }, ] [[package]] @@ -1636,8 +1639,8 @@ name = "nvidia-cuda-runtime-cu12" version = "12.6.77" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e1/23/e717c5ac26d26cf39a27fbc076240fad2e3b817e5889d671b67f4f9f49c5/nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ba3b56a4f896141e25e19ab287cd71e52a6a0f4b29d0d31609f60e3b4d5219b7", size = 897690, upload_time = "2024-11-20T17:35:30.697Z" }, - { url = "https://files.pythonhosted.org/packages/f0/62/65c05e161eeddbafeca24dc461f47de550d9fa8a7e04eb213e32b55cfd99/nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:a84d15d5e1da416dd4774cb42edf5e954a3e60cc945698dc1d5be02321c44dc8", size = 897678, upload_time = "2024-10-01T16:57:33.821Z" }, + { url = "https://files.pythonhosted.org/packages/e1/23/e717c5ac26d26cf39a27fbc076240fad2e3b817e5889d671b67f4f9f49c5/nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ba3b56a4f896141e25e19ab287cd71e52a6a0f4b29d0d31609f60e3b4d5219b7", size = 897690, upload-time = "2024-11-20T17:35:30.697Z" }, + { url = "https://files.pythonhosted.org/packages/f0/62/65c05e161eeddbafeca24dc461f47de550d9fa8a7e04eb213e32b55cfd99/nvidia_cuda_runtime_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:a84d15d5e1da416dd4774cb42edf5e954a3e60cc945698dc1d5be02321c44dc8", size = 897678, upload-time = "2024-10-01T16:57:33.821Z" }, ] [[package]] @@ -1648,7 +1651,7 @@ dependencies = [ { name = "nvidia-cublas-cu12" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/2a/78/4535c9c7f859a64781e43c969a3a7e84c54634e319a996d43ef32ce46f83/nvidia_cudnn_cu12-9.5.1.17-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:30ac3869f6db17d170e0e556dd6cc5eee02647abc31ca856634d5a40f82c15b2", size = 570988386, upload_time = "2024-10-25T19:54:26.39Z" }, + { url = "https://files.pythonhosted.org/packages/2a/78/4535c9c7f859a64781e43c969a3a7e84c54634e319a996d43ef32ce46f83/nvidia_cudnn_cu12-9.5.1.17-py3-none-manylinux_2_28_x86_64.whl", hash = "sha256:30ac3869f6db17d170e0e556dd6cc5eee02647abc31ca856634d5a40f82c15b2", size = 570988386, upload-time = "2024-10-25T19:54:26.39Z" }, ] [[package]] @@ -1659,8 +1662,8 @@ dependencies = [ { name = "nvidia-nvjitlink-cu12" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/8f/16/73727675941ab8e6ffd86ca3a4b7b47065edcca7a997920b831f8147c99d/nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ccba62eb9cef5559abd5e0d54ceed2d9934030f51163df018532142a8ec533e5", size = 200221632, upload_time = "2024-11-20T17:41:32.357Z" }, - { url = "https://files.pythonhosted.org/packages/60/de/99ec247a07ea40c969d904fc14f3a356b3e2a704121675b75c366b694ee1/nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_x86_64.whl", hash = "sha256:768160ac89f6f7b459bee747e8d175dbf53619cfe74b2a5636264163138013ca", size = 200221622, upload_time = "2024-10-01T17:03:58.79Z" }, + { url = "https://files.pythonhosted.org/packages/8f/16/73727675941ab8e6ffd86ca3a4b7b47065edcca7a997920b831f8147c99d/nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ccba62eb9cef5559abd5e0d54ceed2d9934030f51163df018532142a8ec533e5", size = 200221632, upload-time = "2024-11-20T17:41:32.357Z" }, + { url = "https://files.pythonhosted.org/packages/60/de/99ec247a07ea40c969d904fc14f3a356b3e2a704121675b75c366b694ee1/nvidia_cufft_cu12-11.3.0.4-py3-none-manylinux2014_x86_64.whl", hash = "sha256:768160ac89f6f7b459bee747e8d175dbf53619cfe74b2a5636264163138013ca", size = 200221622, upload-time = "2024-10-01T17:03:58.79Z" }, ] [[package]] @@ -1668,7 +1671,7 @@ name = "nvidia-cufile-cu12" version = "1.11.1.6" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b2/66/cc9876340ac68ae71b15c743ddb13f8b30d5244af344ec8322b449e35426/nvidia_cufile_cu12-1.11.1.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cc23469d1c7e52ce6c1d55253273d32c565dd22068647f3aa59b3c6b005bf159", size = 1142103, upload_time = "2024-11-20T17:42:11.83Z" }, + { url = "https://files.pythonhosted.org/packages/b2/66/cc9876340ac68ae71b15c743ddb13f8b30d5244af344ec8322b449e35426/nvidia_cufile_cu12-1.11.1.6-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:cc23469d1c7e52ce6c1d55253273d32c565dd22068647f3aa59b3c6b005bf159", size = 1142103, upload-time = "2024-11-20T17:42:11.83Z" }, ] [[package]] @@ -1676,8 +1679,8 @@ name = "nvidia-curand-cu12" version = "10.3.7.77" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/73/1b/44a01c4e70933637c93e6e1a8063d1e998b50213a6b65ac5a9169c47e98e/nvidia_curand_cu12-10.3.7.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a42cd1344297f70b9e39a1e4f467a4e1c10f1da54ff7a85c12197f6c652c8bdf", size = 56279010, upload_time = "2024-11-20T17:42:50.958Z" }, - { url = "https://files.pythonhosted.org/packages/4a/aa/2c7ff0b5ee02eaef890c0ce7d4f74bc30901871c5e45dee1ae6d0083cd80/nvidia_curand_cu12-10.3.7.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:99f1a32f1ac2bd134897fc7a203f779303261268a65762a623bf30cc9fe79117", size = 56279000, upload_time = "2024-10-01T17:04:45.274Z" }, + { url = "https://files.pythonhosted.org/packages/73/1b/44a01c4e70933637c93e6e1a8063d1e998b50213a6b65ac5a9169c47e98e/nvidia_curand_cu12-10.3.7.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:a42cd1344297f70b9e39a1e4f467a4e1c10f1da54ff7a85c12197f6c652c8bdf", size = 56279010, upload-time = "2024-11-20T17:42:50.958Z" }, + { url = "https://files.pythonhosted.org/packages/4a/aa/2c7ff0b5ee02eaef890c0ce7d4f74bc30901871c5e45dee1ae6d0083cd80/nvidia_curand_cu12-10.3.7.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:99f1a32f1ac2bd134897fc7a203f779303261268a65762a623bf30cc9fe79117", size = 56279000, upload-time = "2024-10-01T17:04:45.274Z" }, ] [[package]] @@ -1690,8 +1693,8 @@ dependencies = [ { name = "nvidia-nvjitlink-cu12" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/f0/6e/c2cf12c9ff8b872e92b4a5740701e51ff17689c4d726fca91875b07f655d/nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e9e49843a7707e42022babb9bcfa33c29857a93b88020c4e4434656a655b698c", size = 158229790, upload_time = "2024-11-20T17:43:43.211Z" }, - { url = "https://files.pythonhosted.org/packages/9f/81/baba53585da791d043c10084cf9553e074548408e04ae884cfe9193bd484/nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6cf28f17f64107a0c4d7802be5ff5537b2130bfc112f25d5a30df227058ca0e6", size = 158229780, upload_time = "2024-10-01T17:05:39.875Z" }, + { url = "https://files.pythonhosted.org/packages/f0/6e/c2cf12c9ff8b872e92b4a5740701e51ff17689c4d726fca91875b07f655d/nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e9e49843a7707e42022babb9bcfa33c29857a93b88020c4e4434656a655b698c", size = 158229790, upload-time = "2024-11-20T17:43:43.211Z" }, + { url = "https://files.pythonhosted.org/packages/9f/81/baba53585da791d043c10084cf9553e074548408e04ae884cfe9193bd484/nvidia_cusolver_cu12-11.7.1.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6cf28f17f64107a0c4d7802be5ff5537b2130bfc112f25d5a30df227058ca0e6", size = 158229780, upload-time = "2024-10-01T17:05:39.875Z" }, ] [[package]] @@ -1702,8 +1705,8 @@ dependencies = [ { name = "nvidia-nvjitlink-cu12" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/06/1e/b8b7c2f4099a37b96af5c9bb158632ea9e5d9d27d7391d7eb8fc45236674/nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7556d9eca156e18184b94947ade0fba5bb47d69cec46bf8660fd2c71a4b48b73", size = 216561367, upload_time = "2024-11-20T17:44:54.824Z" }, - { url = "https://files.pythonhosted.org/packages/43/ac/64c4316ba163e8217a99680c7605f779accffc6a4bcd0c778c12948d3707/nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:23749a6571191a215cb74d1cdbff4a86e7b19f1200c071b3fcf844a5bea23a2f", size = 216561357, upload_time = "2024-10-01T17:06:29.861Z" }, + { url = "https://files.pythonhosted.org/packages/06/1e/b8b7c2f4099a37b96af5c9bb158632ea9e5d9d27d7391d7eb8fc45236674/nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7556d9eca156e18184b94947ade0fba5bb47d69cec46bf8660fd2c71a4b48b73", size = 216561367, upload-time = "2024-11-20T17:44:54.824Z" }, + { url = "https://files.pythonhosted.org/packages/43/ac/64c4316ba163e8217a99680c7605f779accffc6a4bcd0c778c12948d3707/nvidia_cusparse_cu12-12.5.4.2-py3-none-manylinux2014_x86_64.whl", hash = "sha256:23749a6571191a215cb74d1cdbff4a86e7b19f1200c071b3fcf844a5bea23a2f", size = 216561357, upload-time = "2024-10-01T17:06:29.861Z" }, ] [[package]] @@ -1711,7 +1714,7 @@ name = "nvidia-cusparselt-cu12" version = "0.6.3" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3b/9a/72ef35b399b0e183bc2e8f6f558036922d453c4d8237dab26c666a04244b/nvidia_cusparselt_cu12-0.6.3-py3-none-manylinux2014_x86_64.whl", hash = "sha256:e5c8a26c36445dd2e6812f1177978a24e2d37cacce7e090f297a688d1ec44f46", size = 156785796, upload_time = "2024-10-15T21:29:17.709Z" }, + { url = "https://files.pythonhosted.org/packages/3b/9a/72ef35b399b0e183bc2e8f6f558036922d453c4d8237dab26c666a04244b/nvidia_cusparselt_cu12-0.6.3-py3-none-manylinux2014_x86_64.whl", hash = "sha256:e5c8a26c36445dd2e6812f1177978a24e2d37cacce7e090f297a688d1ec44f46", size = 156785796, upload-time = "2024-10-15T21:29:17.709Z" }, ] [[package]] @@ -1719,7 +1722,7 @@ name = "nvidia-nccl-cu12" version = "2.26.2" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/67/ca/f42388aed0fddd64ade7493dbba36e1f534d4e6fdbdd355c6a90030ae028/nvidia_nccl_cu12-2.26.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:694cf3879a206553cc9d7dbda76b13efaf610fdb70a50cba303de1b0d1530ac6", size = 201319755, upload_time = "2025-03-13T00:29:55.296Z" }, + { url = "https://files.pythonhosted.org/packages/67/ca/f42388aed0fddd64ade7493dbba36e1f534d4e6fdbdd355c6a90030ae028/nvidia_nccl_cu12-2.26.2-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:694cf3879a206553cc9d7dbda76b13efaf610fdb70a50cba303de1b0d1530ac6", size = 201319755, upload-time = "2025-03-13T00:29:55.296Z" }, ] [[package]] @@ -1727,7 +1730,7 @@ name = "nvidia-nvjitlink-cu12" version = "12.6.85" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9d/d7/c5383e47c7e9bf1c99d5bd2a8c935af2b6d705ad831a7ec5c97db4d82f4f/nvidia_nvjitlink_cu12-12.6.85-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:eedc36df9e88b682efe4309aa16b5b4e78c2407eac59e8c10a6a47535164369a", size = 19744971, upload_time = "2024-11-20T17:46:53.366Z" }, + { url = "https://files.pythonhosted.org/packages/9d/d7/c5383e47c7e9bf1c99d5bd2a8c935af2b6d705ad831a7ec5c97db4d82f4f/nvidia_nvjitlink_cu12-12.6.85-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:eedc36df9e88b682efe4309aa16b5b4e78c2407eac59e8c10a6a47535164369a", size = 19744971, upload-time = "2024-11-20T17:46:53.366Z" }, ] [[package]] @@ -1735,8 +1738,8 @@ name = "nvidia-nvtx-cu12" version = "12.6.77" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/56/9a/fff8376f8e3d084cd1530e1ef7b879bb7d6d265620c95c1b322725c694f4/nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b90bed3df379fa79afbd21be8e04a0314336b8ae16768b58f2d34cb1d04cd7d2", size = 89276, upload_time = "2024-11-20T17:38:27.621Z" }, - { url = "https://files.pythonhosted.org/packages/9e/4e/0d0c945463719429b7bd21dece907ad0bde437a2ff12b9b12fee94722ab0/nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6574241a3ec5fdc9334353ab8c479fe75841dbe8f4532a8fc97ce63503330ba1", size = 89265, upload_time = "2024-10-01T17:00:38.172Z" }, + { url = "https://files.pythonhosted.org/packages/56/9a/fff8376f8e3d084cd1530e1ef7b879bb7d6d265620c95c1b322725c694f4/nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:b90bed3df379fa79afbd21be8e04a0314336b8ae16768b58f2d34cb1d04cd7d2", size = 89276, upload-time = "2024-11-20T17:38:27.621Z" }, + { url = "https://files.pythonhosted.org/packages/9e/4e/0d0c945463719429b7bd21dece907ad0bde437a2ff12b9b12fee94722ab0/nvidia_nvtx_cu12-12.6.77-py3-none-manylinux2014_x86_64.whl", hash = "sha256:6574241a3ec5fdc9334353ab8c479fe75841dbe8f4532a8fc97ce63503330ba1", size = 89265, upload-time = "2024-10-01T17:00:38.172Z" }, ] [[package]] @@ -1753,9 +1756,9 @@ dependencies = [ { name = "tqdm" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ec/7a/9ad4a61f1502f0e59d8c27fb629e28a63259a44d8d31cd2314e1534a2d9f/openai-1.86.0.tar.gz", hash = "sha256:c64d5b788359a8fdf69bd605ae804ce41c1ce2e78b8dd93e2542e0ee267f1e4b", size = 468272, upload_time = "2025-06-10T16:50:32.962Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ec/7a/9ad4a61f1502f0e59d8c27fb629e28a63259a44d8d31cd2314e1534a2d9f/openai-1.86.0.tar.gz", hash = "sha256:c64d5b788359a8fdf69bd605ae804ce41c1ce2e78b8dd93e2542e0ee267f1e4b", size = 468272, upload-time = "2025-06-10T16:50:32.962Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/58/c1/dfb16b3432810fc9758564f9d1a4dbce6b93b7fb763ba57530c7fc48316d/openai-1.86.0-py3-none-any.whl", hash = "sha256:c8889c39410621fe955c230cc4c21bfe36ec887f4e60a957de05f507d7e1f349", size = 730296, upload_time = "2025-06-10T16:50:30.495Z" }, + { url = "https://files.pythonhosted.org/packages/58/c1/dfb16b3432810fc9758564f9d1a4dbce6b93b7fb763ba57530c7fc48316d/openai-1.86.0-py3-none-any.whl", hash = "sha256:c8889c39410621fe955c230cc4c21bfe36ec887f4e60a957de05f507d7e1f349", size = 730296, upload-time = "2025-06-10T16:50:30.495Z" }, ] [[package]] @@ -1766,9 +1769,9 @@ dependencies = [ { name = "importlib-metadata" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/4d/5e/94a8cb759e4e409022229418294e098ca7feca00eb3c467bb20cbd329bda/opentelemetry_api-1.34.1.tar.gz", hash = "sha256:64f0bd06d42824843731d05beea88d4d4b6ae59f9fe347ff7dfa2cc14233bbb3", size = 64987, upload_time = "2025-06-10T08:55:19.818Z" } +sdist = { url = "https://files.pythonhosted.org/packages/4d/5e/94a8cb759e4e409022229418294e098ca7feca00eb3c467bb20cbd329bda/opentelemetry_api-1.34.1.tar.gz", hash = "sha256:64f0bd06d42824843731d05beea88d4d4b6ae59f9fe347ff7dfa2cc14233bbb3", size = 64987, upload-time = "2025-06-10T08:55:19.818Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a5/3a/2ba85557e8dc024c0842ad22c570418dc02c36cbd1ab4b832a93edf071b8/opentelemetry_api-1.34.1-py3-none-any.whl", hash = "sha256:b7df4cb0830d5a6c29ad0c0691dbae874d8daefa934b8b1d642de48323d32a8c", size = 65767, upload_time = "2025-06-10T08:54:56.717Z" }, + { url = "https://files.pythonhosted.org/packages/a5/3a/2ba85557e8dc024c0842ad22c570418dc02c36cbd1ab4b832a93edf071b8/opentelemetry_api-1.34.1-py3-none-any.whl", hash = "sha256:b7df4cb0830d5a6c29ad0c0691dbae874d8daefa934b8b1d642de48323d32a8c", size = 65767, upload-time = "2025-06-10T08:54:56.717Z" }, ] [[package]] @@ -1781,9 +1784,9 @@ dependencies = [ { name = "opentelemetry-resourcedetector-gcp" }, { name = "opentelemetry-sdk" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c3/15/7556d54b01fb894497f69a98d57faa9caa45ffa59896e0bba6847a7f0d15/opentelemetry_exporter_gcp_trace-1.9.0.tar.gz", hash = "sha256:c3fc090342f6ee32a0cc41a5716a6bb716b4422d19facefcb22dc4c6b683ece8", size = 18568, upload_time = "2025-02-04T19:45:08.185Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c3/15/7556d54b01fb894497f69a98d57faa9caa45ffa59896e0bba6847a7f0d15/opentelemetry_exporter_gcp_trace-1.9.0.tar.gz", hash = "sha256:c3fc090342f6ee32a0cc41a5716a6bb716b4422d19facefcb22dc4c6b683ece8", size = 18568, upload-time = "2025-02-04T19:45:08.185Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c0/cd/6d7fbad05771eb3c2bace20f6360ce5dac5ca751c6f2122853e43830c32e/opentelemetry_exporter_gcp_trace-1.9.0-py3-none-any.whl", hash = "sha256:0a8396e8b39f636eeddc3f0ae08ddb40c40f288bc8c5544727c3581545e77254", size = 13973, upload_time = "2025-02-04T19:44:59.148Z" }, + { url = "https://files.pythonhosted.org/packages/c0/cd/6d7fbad05771eb3c2bace20f6360ce5dac5ca751c6f2122853e43830c32e/opentelemetry_exporter_gcp_trace-1.9.0-py3-none-any.whl", hash = "sha256:0a8396e8b39f636eeddc3f0ae08ddb40c40f288bc8c5544727c3581545e77254", size = 13973, upload-time = "2025-02-04T19:44:59.148Z" }, ] [[package]] @@ -1796,9 +1799,9 @@ dependencies = [ { name = "requests" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e1/86/f0693998817779802525a5bcc885a3cdb68d05b636bc6faae5c9ade4bee4/opentelemetry_resourcedetector_gcp-1.9.0a0.tar.gz", hash = "sha256:6860a6649d1e3b9b7b7f09f3918cc16b72aa0c0c590d2a72ea6e42b67c9a42e7", size = 20730, upload_time = "2025-02-04T19:45:10.693Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e1/86/f0693998817779802525a5bcc885a3cdb68d05b636bc6faae5c9ade4bee4/opentelemetry_resourcedetector_gcp-1.9.0a0.tar.gz", hash = "sha256:6860a6649d1e3b9b7b7f09f3918cc16b72aa0c0c590d2a72ea6e42b67c9a42e7", size = 20730, upload-time = "2025-02-04T19:45:10.693Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/12/04/7e33228c88422a5518e1774a836c9ec68f10f51bde0f1d5dd5f3054e612a/opentelemetry_resourcedetector_gcp-1.9.0a0-py3-none-any.whl", hash = "sha256:4e5a0822b0f0d7647b7ceb282d7aa921dd7f45466540bd0a24f954f90db8fde8", size = 20378, upload_time = "2025-02-04T19:45:03.898Z" }, + { url = "https://files.pythonhosted.org/packages/12/04/7e33228c88422a5518e1774a836c9ec68f10f51bde0f1d5dd5f3054e612a/opentelemetry_resourcedetector_gcp-1.9.0a0-py3-none-any.whl", hash = "sha256:4e5a0822b0f0d7647b7ceb282d7aa921dd7f45466540bd0a24f954f90db8fde8", size = 20378, upload-time = "2025-02-04T19:45:03.898Z" }, ] [[package]] @@ -1810,9 +1813,9 @@ dependencies = [ { name = "opentelemetry-semantic-conventions" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/6f/41/fe20f9036433da8e0fcef568984da4c1d1c771fa072ecd1a4d98779dccdd/opentelemetry_sdk-1.34.1.tar.gz", hash = "sha256:8091db0d763fcd6098d4781bbc80ff0971f94e260739aa6afe6fd379cdf3aa4d", size = 159441, upload_time = "2025-06-10T08:55:33.028Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6f/41/fe20f9036433da8e0fcef568984da4c1d1c771fa072ecd1a4d98779dccdd/opentelemetry_sdk-1.34.1.tar.gz", hash = "sha256:8091db0d763fcd6098d4781bbc80ff0971f94e260739aa6afe6fd379cdf3aa4d", size = 159441, upload-time = "2025-06-10T08:55:33.028Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/1b/def4fe6aa73f483cabf4c748f4c25070d5f7604dcc8b52e962983491b29e/opentelemetry_sdk-1.34.1-py3-none-any.whl", hash = "sha256:308effad4059562f1d92163c61c8141df649da24ce361827812c40abb2a1e96e", size = 118477, upload_time = "2025-06-10T08:55:16.02Z" }, + { url = "https://files.pythonhosted.org/packages/07/1b/def4fe6aa73f483cabf4c748f4c25070d5f7604dcc8b52e962983491b29e/opentelemetry_sdk-1.34.1-py3-none-any.whl", hash = "sha256:308effad4059562f1d92163c61c8141df649da24ce361827812c40abb2a1e96e", size = 118477, upload-time = "2025-06-10T08:55:16.02Z" }, ] [[package]] @@ -1823,18 +1826,18 @@ dependencies = [ { name = "opentelemetry-api" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/5d/f0/f33458486da911f47c4aa6db9bda308bb80f3236c111bf848bd870c16b16/opentelemetry_semantic_conventions-0.55b1.tar.gz", hash = "sha256:ef95b1f009159c28d7a7849f5cbc71c4c34c845bb514d66adfdf1b3fff3598b3", size = 119829, upload_time = "2025-06-10T08:55:33.881Z" } +sdist = { url = "https://files.pythonhosted.org/packages/5d/f0/f33458486da911f47c4aa6db9bda308bb80f3236c111bf848bd870c16b16/opentelemetry_semantic_conventions-0.55b1.tar.gz", hash = "sha256:ef95b1f009159c28d7a7849f5cbc71c4c34c845bb514d66adfdf1b3fff3598b3", size = 119829, upload-time = "2025-06-10T08:55:33.881Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1a/89/267b0af1b1d0ba828f0e60642b6a5116ac1fd917cde7fc02821627029bd1/opentelemetry_semantic_conventions-0.55b1-py3-none-any.whl", hash = "sha256:5da81dfdf7d52e3d37f8fe88d5e771e191de924cfff5f550ab0b8f7b2409baed", size = 196223, upload_time = "2025-06-10T08:55:17.638Z" }, + { url = "https://files.pythonhosted.org/packages/1a/89/267b0af1b1d0ba828f0e60642b6a5116ac1fd917cde7fc02821627029bd1/opentelemetry_semantic_conventions-0.55b1-py3-none-any.whl", hash = "sha256:5da81dfdf7d52e3d37f8fe88d5e771e191de924cfff5f550ab0b8f7b2409baed", size = 196223, upload-time = "2025-06-10T08:55:17.638Z" }, ] [[package]] name = "packaging" version = "25.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload_time = "2025-04-19T11:48:59.673Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload_time = "2025-04-19T11:48:57.875Z" }, + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, ] [[package]] @@ -1847,42 +1850,42 @@ dependencies = [ { name = "pytz" }, { name = "tzdata" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/72/51/48f713c4c728d7c55ef7444ba5ea027c26998d96d1a40953b346438602fc/pandas-2.3.0.tar.gz", hash = "sha256:34600ab34ebf1131a7613a260a61dbe8b62c188ec0ea4c296da7c9a06b004133", size = 4484490, upload_time = "2025-06-05T03:27:54.133Z" } +sdist = { url = "https://files.pythonhosted.org/packages/72/51/48f713c4c728d7c55ef7444ba5ea027c26998d96d1a40953b346438602fc/pandas-2.3.0.tar.gz", hash = "sha256:34600ab34ebf1131a7613a260a61dbe8b62c188ec0ea4c296da7c9a06b004133", size = 4484490, upload-time = "2025-06-05T03:27:54.133Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/94/46/24192607058dd607dbfacdd060a2370f6afb19c2ccb617406469b9aeb8e7/pandas-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2eb4728a18dcd2908c7fccf74a982e241b467d178724545a48d0caf534b38ebf", size = 11573865, upload_time = "2025-06-05T03:26:46.774Z" }, - { url = "https://files.pythonhosted.org/packages/9f/cc/ae8ea3b800757a70c9fdccc68b67dc0280a6e814efcf74e4211fd5dea1ca/pandas-2.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b9d8c3187be7479ea5c3d30c32a5d73d62a621166675063b2edd21bc47614027", size = 10702154, upload_time = "2025-06-05T16:50:14.439Z" }, - { url = "https://files.pythonhosted.org/packages/d8/ba/a7883d7aab3d24c6540a2768f679e7414582cc389876d469b40ec749d78b/pandas-2.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ff730713d4c4f2f1c860e36c005c7cefc1c7c80c21c0688fd605aa43c9fcf09", size = 11262180, upload_time = "2025-06-05T16:50:17.453Z" }, - { url = "https://files.pythonhosted.org/packages/01/a5/931fc3ad333d9d87b10107d948d757d67ebcfc33b1988d5faccc39c6845c/pandas-2.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba24af48643b12ffe49b27065d3babd52702d95ab70f50e1b34f71ca703e2c0d", size = 11991493, upload_time = "2025-06-05T03:26:51.813Z" }, - { url = "https://files.pythonhosted.org/packages/d7/bf/0213986830a92d44d55153c1d69b509431a972eb73f204242988c4e66e86/pandas-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:404d681c698e3c8a40a61d0cd9412cc7364ab9a9cc6e144ae2992e11a2e77a20", size = 12470733, upload_time = "2025-06-06T00:00:18.651Z" }, - { url = "https://files.pythonhosted.org/packages/a4/0e/21eb48a3a34a7d4bac982afc2c4eb5ab09f2d988bdf29d92ba9ae8e90a79/pandas-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6021910b086b3ca756755e86ddc64e0ddafd5e58e076c72cb1585162e5ad259b", size = 13212406, upload_time = "2025-06-05T03:26:55.992Z" }, - { url = "https://files.pythonhosted.org/packages/1f/d9/74017c4eec7a28892d8d6e31ae9de3baef71f5a5286e74e6b7aad7f8c837/pandas-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:094e271a15b579650ebf4c5155c05dcd2a14fd4fdd72cf4854b2f7ad31ea30be", size = 10976199, upload_time = "2025-06-05T03:26:59.594Z" }, + { url = "https://files.pythonhosted.org/packages/94/46/24192607058dd607dbfacdd060a2370f6afb19c2ccb617406469b9aeb8e7/pandas-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2eb4728a18dcd2908c7fccf74a982e241b467d178724545a48d0caf534b38ebf", size = 11573865, upload-time = "2025-06-05T03:26:46.774Z" }, + { url = "https://files.pythonhosted.org/packages/9f/cc/ae8ea3b800757a70c9fdccc68b67dc0280a6e814efcf74e4211fd5dea1ca/pandas-2.3.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b9d8c3187be7479ea5c3d30c32a5d73d62a621166675063b2edd21bc47614027", size = 10702154, upload-time = "2025-06-05T16:50:14.439Z" }, + { url = "https://files.pythonhosted.org/packages/d8/ba/a7883d7aab3d24c6540a2768f679e7414582cc389876d469b40ec749d78b/pandas-2.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9ff730713d4c4f2f1c860e36c005c7cefc1c7c80c21c0688fd605aa43c9fcf09", size = 11262180, upload-time = "2025-06-05T16:50:17.453Z" }, + { url = "https://files.pythonhosted.org/packages/01/a5/931fc3ad333d9d87b10107d948d757d67ebcfc33b1988d5faccc39c6845c/pandas-2.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba24af48643b12ffe49b27065d3babd52702d95ab70f50e1b34f71ca703e2c0d", size = 11991493, upload-time = "2025-06-05T03:26:51.813Z" }, + { url = "https://files.pythonhosted.org/packages/d7/bf/0213986830a92d44d55153c1d69b509431a972eb73f204242988c4e66e86/pandas-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:404d681c698e3c8a40a61d0cd9412cc7364ab9a9cc6e144ae2992e11a2e77a20", size = 12470733, upload-time = "2025-06-06T00:00:18.651Z" }, + { url = "https://files.pythonhosted.org/packages/a4/0e/21eb48a3a34a7d4bac982afc2c4eb5ab09f2d988bdf29d92ba9ae8e90a79/pandas-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6021910b086b3ca756755e86ddc64e0ddafd5e58e076c72cb1585162e5ad259b", size = 13212406, upload-time = "2025-06-05T03:26:55.992Z" }, + { url = "https://files.pythonhosted.org/packages/1f/d9/74017c4eec7a28892d8d6e31ae9de3baef71f5a5286e74e6b7aad7f8c837/pandas-2.3.0-cp312-cp312-win_amd64.whl", hash = "sha256:094e271a15b579650ebf4c5155c05dcd2a14fd4fdd72cf4854b2f7ad31ea30be", size = 10976199, upload-time = "2025-06-05T03:26:59.594Z" }, ] [[package]] name = "pandocfilters" version = "1.5.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454, upload_time = "2024-01-18T20:08:13.726Z" } +sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454, upload-time = "2024-01-18T20:08:13.726Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663, upload_time = "2024-01-18T20:08:11.28Z" }, + { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663, upload-time = "2024-01-18T20:08:11.28Z" }, ] [[package]] name = "parso" version = "0.8.4" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/66/94/68e2e17afaa9169cf6412ab0f28623903be73d1b32e208d9e8e541bb086d/parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d", size = 400609, upload_time = "2024-04-05T09:43:55.897Z" } +sdist = { url = "https://files.pythonhosted.org/packages/66/94/68e2e17afaa9169cf6412ab0f28623903be73d1b32e208d9e8e541bb086d/parso-0.8.4.tar.gz", hash = "sha256:eb3a7b58240fb99099a345571deecc0f9540ea5f4dd2fe14c2a99d6b281ab92d", size = 400609, upload-time = "2024-04-05T09:43:55.897Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650, upload_time = "2024-04-05T09:43:53.299Z" }, + { url = "https://files.pythonhosted.org/packages/c6/ac/dac4a63f978e4dcb3c6d3a78c4d8e0192a113d288502a1216950c41b1027/parso-0.8.4-py2.py3-none-any.whl", hash = "sha256:a418670a20291dacd2dddc80c377c5c3791378ee1e8d12bffc35420643d43f18", size = 103650, upload-time = "2024-04-05T09:43:53.299Z" }, ] [[package]] name = "pastel" version = "0.2.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/76/f1/4594f5e0fcddb6953e5b8fe00da8c317b8b41b547e2b3ae2da7512943c62/pastel-0.2.1.tar.gz", hash = "sha256:e6581ac04e973cac858828c6202c1e1e81fee1dc7de7683f3e1ffe0bfd8a573d", size = 7555, upload_time = "2020-09-16T19:21:12.43Z" } +sdist = { url = "https://files.pythonhosted.org/packages/76/f1/4594f5e0fcddb6953e5b8fe00da8c317b8b41b547e2b3ae2da7512943c62/pastel-0.2.1.tar.gz", hash = "sha256:e6581ac04e973cac858828c6202c1e1e81fee1dc7de7683f3e1ffe0bfd8a573d", size = 7555, upload-time = "2020-09-16T19:21:12.43Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/aa/18/a8444036c6dd65ba3624c63b734d3ba95ba63ace513078e1580590075d21/pastel-0.2.1-py2.py3-none-any.whl", hash = "sha256:4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364", size = 5955, upload_time = "2020-09-16T19:21:11.409Z" }, + { url = "https://files.pythonhosted.org/packages/aa/18/a8444036c6dd65ba3624c63b734d3ba95ba63ace513078e1580590075d21/pastel-0.2.1-py2.py3-none-any.whl", hash = "sha256:4349225fcdf6c2bb34d483e523475de5bb04a5c10ef711263452cb37d7dd4364", size = 5955, upload-time = "2020-09-16T19:21:11.409Z" }, ] [[package]] @@ -1901,9 +1904,9 @@ dependencies = [ { name = "tqdm" }, { name = "transformers" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/33/65/faa18cd8ffbe0f742c3f2559770646cce2574b9cd28a2a05e8d36f64e968/peft-0.15.2.tar.gz", hash = "sha256:7059029f4d42a092ded1aa117dd366a46084aef638bdd593f6ab0195d5427fcd", size = 472952, upload_time = "2025-04-15T15:27:53.09Z" } +sdist = { url = "https://files.pythonhosted.org/packages/33/65/faa18cd8ffbe0f742c3f2559770646cce2574b9cd28a2a05e8d36f64e968/peft-0.15.2.tar.gz", hash = "sha256:7059029f4d42a092ded1aa117dd366a46084aef638bdd593f6ab0195d5427fcd", size = 472952, upload-time = "2025-04-15T15:27:53.09Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/68/85/8e6ea3d1089f2b6de3c1cd34bbbd7560912af9d34b057be3b8b8fefe1da3/peft-0.15.2-py3-none-any.whl", hash = "sha256:0dfc942b03b7af4b7267cd4e30b15e3a4a1d277adc581ce6245fc13f1f93d0a0", size = 411051, upload_time = "2025-04-15T15:27:50.799Z" }, + { url = "https://files.pythonhosted.org/packages/68/85/8e6ea3d1089f2b6de3c1cd34bbbd7560912af9d34b057be3b8b8fefe1da3/peft-0.15.2-py3-none-any.whl", hash = "sha256:0dfc942b03b7af4b7267cd4e30b15e3a4a1d277adc581ce6245fc13f1f93d0a0", size = 411051, upload-time = "2025-04-15T15:27:50.799Z" }, ] [[package]] @@ -1913,37 +1916,37 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "ptyprocess" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload_time = "2023-11-25T09:07:26.339Z" } +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload_time = "2023-11-25T06:56:14.81Z" }, + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, ] [[package]] name = "pillow" version = "11.2.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/af/cb/bb5c01fcd2a69335b86c22142b2bccfc3464087efb7fd382eee5ffc7fdf7/pillow-11.2.1.tar.gz", hash = "sha256:a64dd61998416367b7ef979b73d3a85853ba9bec4c2925f74e588879a58716b6", size = 47026707, upload_time = "2025-04-12T17:50:03.289Z" } +sdist = { url = "https://files.pythonhosted.org/packages/af/cb/bb5c01fcd2a69335b86c22142b2bccfc3464087efb7fd382eee5ffc7fdf7/pillow-11.2.1.tar.gz", hash = "sha256:a64dd61998416367b7ef979b73d3a85853ba9bec4c2925f74e588879a58716b6", size = 47026707, upload-time = "2025-04-12T17:50:03.289Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c7/40/052610b15a1b8961f52537cc8326ca6a881408bc2bdad0d852edeb6ed33b/pillow-11.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:78afba22027b4accef10dbd5eed84425930ba41b3ea0a86fa8d20baaf19d807f", size = 3190185, upload_time = "2025-04-12T17:48:00.417Z" }, - { url = "https://files.pythonhosted.org/packages/e5/7e/b86dbd35a5f938632093dc40d1682874c33dcfe832558fc80ca56bfcb774/pillow-11.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:78092232a4ab376a35d68c4e6d5e00dfd73454bd12b230420025fbe178ee3b0b", size = 3030306, upload_time = "2025-04-12T17:48:02.391Z" }, - { url = "https://files.pythonhosted.org/packages/a4/5c/467a161f9ed53e5eab51a42923c33051bf8d1a2af4626ac04f5166e58e0c/pillow-11.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25a5f306095c6780c52e6bbb6109624b95c5b18e40aab1c3041da3e9e0cd3e2d", size = 4416121, upload_time = "2025-04-12T17:48:04.554Z" }, - { url = "https://files.pythonhosted.org/packages/62/73/972b7742e38ae0e2ac76ab137ca6005dcf877480da0d9d61d93b613065b4/pillow-11.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c7b29dbd4281923a2bfe562acb734cee96bbb129e96e6972d315ed9f232bef4", size = 4501707, upload_time = "2025-04-12T17:48:06.831Z" }, - { url = "https://files.pythonhosted.org/packages/e4/3a/427e4cb0b9e177efbc1a84798ed20498c4f233abde003c06d2650a6d60cb/pillow-11.2.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:3e645b020f3209a0181a418bffe7b4a93171eef6c4ef6cc20980b30bebf17b7d", size = 4522921, upload_time = "2025-04-12T17:48:09.229Z" }, - { url = "https://files.pythonhosted.org/packages/fe/7c/d8b1330458e4d2f3f45d9508796d7caf0c0d3764c00c823d10f6f1a3b76d/pillow-11.2.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b2dbea1012ccb784a65349f57bbc93730b96e85b42e9bf7b01ef40443db720b4", size = 4612523, upload_time = "2025-04-12T17:48:11.631Z" }, - { url = "https://files.pythonhosted.org/packages/b3/2f/65738384e0b1acf451de5a573d8153fe84103772d139e1e0bdf1596be2ea/pillow-11.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:da3104c57bbd72948d75f6a9389e6727d2ab6333c3617f0a89d72d4940aa0443", size = 4587836, upload_time = "2025-04-12T17:48:13.592Z" }, - { url = "https://files.pythonhosted.org/packages/6a/c5/e795c9f2ddf3debb2dedd0df889f2fe4b053308bb59a3cc02a0cd144d641/pillow-11.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:598174aef4589af795f66f9caab87ba4ff860ce08cd5bb447c6fc553ffee603c", size = 4669390, upload_time = "2025-04-12T17:48:15.938Z" }, - { url = "https://files.pythonhosted.org/packages/96/ae/ca0099a3995976a9fce2f423166f7bff9b12244afdc7520f6ed38911539a/pillow-11.2.1-cp312-cp312-win32.whl", hash = "sha256:1d535df14716e7f8776b9e7fee118576d65572b4aad3ed639be9e4fa88a1cad3", size = 2332309, upload_time = "2025-04-12T17:48:17.885Z" }, - { url = "https://files.pythonhosted.org/packages/7c/18/24bff2ad716257fc03da964c5e8f05d9790a779a8895d6566e493ccf0189/pillow-11.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:14e33b28bf17c7a38eede290f77db7c664e4eb01f7869e37fa98a5aa95978941", size = 2676768, upload_time = "2025-04-12T17:48:19.655Z" }, - { url = "https://files.pythonhosted.org/packages/da/bb/e8d656c9543276517ee40184aaa39dcb41e683bca121022f9323ae11b39d/pillow-11.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:21e1470ac9e5739ff880c211fc3af01e3ae505859392bf65458c224d0bf283eb", size = 2415087, upload_time = "2025-04-12T17:48:21.991Z" }, + { url = "https://files.pythonhosted.org/packages/c7/40/052610b15a1b8961f52537cc8326ca6a881408bc2bdad0d852edeb6ed33b/pillow-11.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:78afba22027b4accef10dbd5eed84425930ba41b3ea0a86fa8d20baaf19d807f", size = 3190185, upload-time = "2025-04-12T17:48:00.417Z" }, + { url = "https://files.pythonhosted.org/packages/e5/7e/b86dbd35a5f938632093dc40d1682874c33dcfe832558fc80ca56bfcb774/pillow-11.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:78092232a4ab376a35d68c4e6d5e00dfd73454bd12b230420025fbe178ee3b0b", size = 3030306, upload-time = "2025-04-12T17:48:02.391Z" }, + { url = "https://files.pythonhosted.org/packages/a4/5c/467a161f9ed53e5eab51a42923c33051bf8d1a2af4626ac04f5166e58e0c/pillow-11.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:25a5f306095c6780c52e6bbb6109624b95c5b18e40aab1c3041da3e9e0cd3e2d", size = 4416121, upload-time = "2025-04-12T17:48:04.554Z" }, + { url = "https://files.pythonhosted.org/packages/62/73/972b7742e38ae0e2ac76ab137ca6005dcf877480da0d9d61d93b613065b4/pillow-11.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0c7b29dbd4281923a2bfe562acb734cee96bbb129e96e6972d315ed9f232bef4", size = 4501707, upload-time = "2025-04-12T17:48:06.831Z" }, + { url = "https://files.pythonhosted.org/packages/e4/3a/427e4cb0b9e177efbc1a84798ed20498c4f233abde003c06d2650a6d60cb/pillow-11.2.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:3e645b020f3209a0181a418bffe7b4a93171eef6c4ef6cc20980b30bebf17b7d", size = 4522921, upload-time = "2025-04-12T17:48:09.229Z" }, + { url = "https://files.pythonhosted.org/packages/fe/7c/d8b1330458e4d2f3f45d9508796d7caf0c0d3764c00c823d10f6f1a3b76d/pillow-11.2.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:b2dbea1012ccb784a65349f57bbc93730b96e85b42e9bf7b01ef40443db720b4", size = 4612523, upload-time = "2025-04-12T17:48:11.631Z" }, + { url = "https://files.pythonhosted.org/packages/b3/2f/65738384e0b1acf451de5a573d8153fe84103772d139e1e0bdf1596be2ea/pillow-11.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:da3104c57bbd72948d75f6a9389e6727d2ab6333c3617f0a89d72d4940aa0443", size = 4587836, upload-time = "2025-04-12T17:48:13.592Z" }, + { url = "https://files.pythonhosted.org/packages/6a/c5/e795c9f2ddf3debb2dedd0df889f2fe4b053308bb59a3cc02a0cd144d641/pillow-11.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:598174aef4589af795f66f9caab87ba4ff860ce08cd5bb447c6fc553ffee603c", size = 4669390, upload-time = "2025-04-12T17:48:15.938Z" }, + { url = "https://files.pythonhosted.org/packages/96/ae/ca0099a3995976a9fce2f423166f7bff9b12244afdc7520f6ed38911539a/pillow-11.2.1-cp312-cp312-win32.whl", hash = "sha256:1d535df14716e7f8776b9e7fee118576d65572b4aad3ed639be9e4fa88a1cad3", size = 2332309, upload-time = "2025-04-12T17:48:17.885Z" }, + { url = "https://files.pythonhosted.org/packages/7c/18/24bff2ad716257fc03da964c5e8f05d9790a779a8895d6566e493ccf0189/pillow-11.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:14e33b28bf17c7a38eede290f77db7c664e4eb01f7869e37fa98a5aa95978941", size = 2676768, upload-time = "2025-04-12T17:48:19.655Z" }, + { url = "https://files.pythonhosted.org/packages/da/bb/e8d656c9543276517ee40184aaa39dcb41e683bca121022f9323ae11b39d/pillow-11.2.1-cp312-cp312-win_arm64.whl", hash = "sha256:21e1470ac9e5739ff880c211fc3af01e3ae505859392bf65458c224d0bf283eb", size = 2415087, upload-time = "2025-04-12T17:48:21.991Z" }, ] [[package]] name = "platformdirs" version = "4.3.8" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/fe/8b/3c73abc9c759ecd3f1f7ceff6685840859e8070c4d947c93fae71f6a0bf2/platformdirs-4.3.8.tar.gz", hash = "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc", size = 21362, upload_time = "2025-05-07T22:47:42.121Z" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/8b/3c73abc9c759ecd3f1f7ceff6685840859e8070c4d947c93fae71f6a0bf2/platformdirs-4.3.8.tar.gz", hash = "sha256:3d512d96e16bcb959a814c9f348431070822a6496326a4be0911c40b5a74c2bc", size = 21362, upload-time = "2025-05-07T22:47:42.121Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fe/39/979e8e21520d4e47a0bbe349e2713c0aac6f3d853d0e5b34d76206c439aa/platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4", size = 18567, upload_time = "2025-05-07T22:47:40.376Z" }, + { url = "https://files.pythonhosted.org/packages/fe/39/979e8e21520d4e47a0bbe349e2713c0aac6f3d853d0e5b34d76206c439aa/platformdirs-4.3.8-py3-none-any.whl", hash = "sha256:ff7059bb7eb1179e2685604f4aaf157cfd9535242bd23742eadc3c13542139b4", size = 18567, upload-time = "2025-05-07T22:47:40.376Z" }, ] [[package]] @@ -1954,9 +1957,9 @@ dependencies = [ { name = "pastel" }, { name = "pyyaml" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d6/b1/d4f4361b278fae10f6074675385ce3acf53c647f8e6eeba22c652f8ba985/poethepoet-0.35.0.tar.gz", hash = "sha256:b396ae862d7626e680bbd0985b423acf71634ce93a32d8b5f38340f44f5fbc3e", size = 66006, upload_time = "2025-06-09T12:58:18.849Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d6/b1/d4f4361b278fae10f6074675385ce3acf53c647f8e6eeba22c652f8ba985/poethepoet-0.35.0.tar.gz", hash = "sha256:b396ae862d7626e680bbd0985b423acf71634ce93a32d8b5f38340f44f5fbc3e", size = 66006, upload-time = "2025-06-09T12:58:18.849Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/38/08/abc2d7e2400dd8906e3208f9b88ac610f097d7ee0c7a1fa4a157b49a9e86/poethepoet-0.35.0-py3-none-any.whl", hash = "sha256:bed5ae1fd63f179dfa67aabb93fa253d79695c69667c927d8b24ff378799ea75", size = 87164, upload_time = "2025-06-09T12:58:17.084Z" }, + { url = "https://files.pythonhosted.org/packages/38/08/abc2d7e2400dd8906e3208f9b88ac610f097d7ee0c7a1fa4a157b49a9e86/poethepoet-0.35.0-py3-none-any.whl", hash = "sha256:bed5ae1fd63f179dfa67aabb93fa253d79695c69667c927d8b24ff378799ea75", size = 87164, upload-time = "2025-06-09T12:58:17.084Z" }, ] [[package]] @@ -1966,34 +1969,34 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "wcwidth" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/bb/6e/9d084c929dfe9e3bfe0c6a47e31f78a25c54627d64a66e884a8bf5474f1c/prompt_toolkit-3.0.51.tar.gz", hash = "sha256:931a162e3b27fc90c86f1b48bb1fb2c528c2761475e57c9c06de13311c7b54ed", size = 428940, upload_time = "2025-04-15T09:18:47.731Z" } +sdist = { url = "https://files.pythonhosted.org/packages/bb/6e/9d084c929dfe9e3bfe0c6a47e31f78a25c54627d64a66e884a8bf5474f1c/prompt_toolkit-3.0.51.tar.gz", hash = "sha256:931a162e3b27fc90c86f1b48bb1fb2c528c2761475e57c9c06de13311c7b54ed", size = 428940, upload-time = "2025-04-15T09:18:47.731Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ce/4f/5249960887b1fbe561d9ff265496d170b55a735b76724f10ef19f9e40716/prompt_toolkit-3.0.51-py3-none-any.whl", hash = "sha256:52742911fde84e2d423e2f9a4cf1de7d7ac4e51958f648d9540e0fb8db077b07", size = 387810, upload_time = "2025-04-15T09:18:44.753Z" }, + { url = "https://files.pythonhosted.org/packages/ce/4f/5249960887b1fbe561d9ff265496d170b55a735b76724f10ef19f9e40716/prompt_toolkit-3.0.51-py3-none-any.whl", hash = "sha256:52742911fde84e2d423e2f9a4cf1de7d7ac4e51958f648d9540e0fb8db077b07", size = 387810, upload-time = "2025-04-15T09:18:44.753Z" }, ] [[package]] name = "propcache" version = "0.3.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz", hash = "sha256:20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168", size = 44139, upload_time = "2025-06-09T22:56:06.081Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a6/16/43264e4a779dd8588c21a70f0709665ee8f611211bdd2c87d952cfa7c776/propcache-0.3.2.tar.gz", hash = "sha256:20d7d62e4e7ef05f221e0db2856b979540686342e7dd9973b815599c7057e168", size = 44139, upload-time = "2025-06-09T22:56:06.081Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a8/42/9ca01b0a6f48e81615dca4765a8f1dd2c057e0540f6116a27dc5ee01dfb6/propcache-0.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8de106b6c84506b31c27168582cd3cb3000a6412c16df14a8628e5871ff83c10", size = 73674, upload_time = "2025-06-09T22:54:30.551Z" }, - { url = "https://files.pythonhosted.org/packages/af/6e/21293133beb550f9c901bbece755d582bfaf2176bee4774000bd4dd41884/propcache-0.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:28710b0d3975117239c76600ea351934ac7b5ff56e60953474342608dbbb6154", size = 43570, upload_time = "2025-06-09T22:54:32.296Z" }, - { url = "https://files.pythonhosted.org/packages/0c/c8/0393a0a3a2b8760eb3bde3c147f62b20044f0ddac81e9d6ed7318ec0d852/propcache-0.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce26862344bdf836650ed2487c3d724b00fbfec4233a1013f597b78c1cb73615", size = 43094, upload_time = "2025-06-09T22:54:33.929Z" }, - { url = "https://files.pythonhosted.org/packages/37/2c/489afe311a690399d04a3e03b069225670c1d489eb7b044a566511c1c498/propcache-0.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bca54bd347a253af2cf4544bbec232ab982f4868de0dd684246b67a51bc6b1db", size = 226958, upload_time = "2025-06-09T22:54:35.186Z" }, - { url = "https://files.pythonhosted.org/packages/9d/ca/63b520d2f3d418c968bf596839ae26cf7f87bead026b6192d4da6a08c467/propcache-0.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55780d5e9a2ddc59711d727226bb1ba83a22dd32f64ee15594b9392b1f544eb1", size = 234894, upload_time = "2025-06-09T22:54:36.708Z" }, - { url = "https://files.pythonhosted.org/packages/11/60/1d0ed6fff455a028d678df30cc28dcee7af77fa2b0e6962ce1df95c9a2a9/propcache-0.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:035e631be25d6975ed87ab23153db6a73426a48db688070d925aa27e996fe93c", size = 233672, upload_time = "2025-06-09T22:54:38.062Z" }, - { url = "https://files.pythonhosted.org/packages/37/7c/54fd5301ef38505ab235d98827207176a5c9b2aa61939b10a460ca53e123/propcache-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee6f22b6eaa39297c751d0e80c0d3a454f112f5c6481214fcf4c092074cecd67", size = 224395, upload_time = "2025-06-09T22:54:39.634Z" }, - { url = "https://files.pythonhosted.org/packages/ee/1a/89a40e0846f5de05fdc6779883bf46ba980e6df4d2ff8fb02643de126592/propcache-0.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ca3aee1aa955438c4dba34fc20a9f390e4c79967257d830f137bd5a8a32ed3b", size = 212510, upload_time = "2025-06-09T22:54:41.565Z" }, - { url = "https://files.pythonhosted.org/packages/5e/33/ca98368586c9566a6b8d5ef66e30484f8da84c0aac3f2d9aec6d31a11bd5/propcache-0.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7a4f30862869fa2b68380d677cc1c5fcf1e0f2b9ea0cf665812895c75d0ca3b8", size = 222949, upload_time = "2025-06-09T22:54:43.038Z" }, - { url = "https://files.pythonhosted.org/packages/ba/11/ace870d0aafe443b33b2f0b7efdb872b7c3abd505bfb4890716ad7865e9d/propcache-0.3.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b77ec3c257d7816d9f3700013639db7491a434644c906a2578a11daf13176251", size = 217258, upload_time = "2025-06-09T22:54:44.376Z" }, - { url = "https://files.pythonhosted.org/packages/5b/d2/86fd6f7adffcfc74b42c10a6b7db721d1d9ca1055c45d39a1a8f2a740a21/propcache-0.3.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:cab90ac9d3f14b2d5050928483d3d3b8fb6b4018893fc75710e6aa361ecb2474", size = 213036, upload_time = "2025-06-09T22:54:46.243Z" }, - { url = "https://files.pythonhosted.org/packages/07/94/2d7d1e328f45ff34a0a284cf5a2847013701e24c2a53117e7c280a4316b3/propcache-0.3.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0b504d29f3c47cf6b9e936c1852246c83d450e8e063d50562115a6be6d3a2535", size = 227684, upload_time = "2025-06-09T22:54:47.63Z" }, - { url = "https://files.pythonhosted.org/packages/b7/05/37ae63a0087677e90b1d14710e532ff104d44bc1efa3b3970fff99b891dc/propcache-0.3.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:ce2ac2675a6aa41ddb2a0c9cbff53780a617ac3d43e620f8fd77ba1c84dcfc06", size = 234562, upload_time = "2025-06-09T22:54:48.982Z" }, - { url = "https://files.pythonhosted.org/packages/a4/7c/3f539fcae630408d0bd8bf3208b9a647ccad10976eda62402a80adf8fc34/propcache-0.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:62b4239611205294cc433845b914131b2a1f03500ff3c1ed093ed216b82621e1", size = 222142, upload_time = "2025-06-09T22:54:50.424Z" }, - { url = "https://files.pythonhosted.org/packages/7c/d2/34b9eac8c35f79f8a962546b3e97e9d4b990c420ee66ac8255d5d9611648/propcache-0.3.2-cp312-cp312-win32.whl", hash = "sha256:df4a81b9b53449ebc90cc4deefb052c1dd934ba85012aa912c7ea7b7e38b60c1", size = 37711, upload_time = "2025-06-09T22:54:52.072Z" }, - { url = "https://files.pythonhosted.org/packages/19/61/d582be5d226cf79071681d1b46b848d6cb03d7b70af7063e33a2787eaa03/propcache-0.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:7046e79b989d7fe457bb755844019e10f693752d169076138abf17f31380800c", size = 41479, upload_time = "2025-06-09T22:54:53.234Z" }, - { url = "https://files.pythonhosted.org/packages/cc/35/cc0aaecf278bb4575b8555f2b137de5ab821595ddae9da9d3cd1da4072c7/propcache-0.3.2-py3-none-any.whl", hash = "sha256:98f1ec44fb675f5052cccc8e609c46ed23a35a1cfd18545ad4e29002d858a43f", size = 12663, upload_time = "2025-06-09T22:56:04.484Z" }, + { url = "https://files.pythonhosted.org/packages/a8/42/9ca01b0a6f48e81615dca4765a8f1dd2c057e0540f6116a27dc5ee01dfb6/propcache-0.3.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8de106b6c84506b31c27168582cd3cb3000a6412c16df14a8628e5871ff83c10", size = 73674, upload-time = "2025-06-09T22:54:30.551Z" }, + { url = "https://files.pythonhosted.org/packages/af/6e/21293133beb550f9c901bbece755d582bfaf2176bee4774000bd4dd41884/propcache-0.3.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:28710b0d3975117239c76600ea351934ac7b5ff56e60953474342608dbbb6154", size = 43570, upload-time = "2025-06-09T22:54:32.296Z" }, + { url = "https://files.pythonhosted.org/packages/0c/c8/0393a0a3a2b8760eb3bde3c147f62b20044f0ddac81e9d6ed7318ec0d852/propcache-0.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce26862344bdf836650ed2487c3d724b00fbfec4233a1013f597b78c1cb73615", size = 43094, upload-time = "2025-06-09T22:54:33.929Z" }, + { url = "https://files.pythonhosted.org/packages/37/2c/489afe311a690399d04a3e03b069225670c1d489eb7b044a566511c1c498/propcache-0.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bca54bd347a253af2cf4544bbec232ab982f4868de0dd684246b67a51bc6b1db", size = 226958, upload-time = "2025-06-09T22:54:35.186Z" }, + { url = "https://files.pythonhosted.org/packages/9d/ca/63b520d2f3d418c968bf596839ae26cf7f87bead026b6192d4da6a08c467/propcache-0.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:55780d5e9a2ddc59711d727226bb1ba83a22dd32f64ee15594b9392b1f544eb1", size = 234894, upload-time = "2025-06-09T22:54:36.708Z" }, + { url = "https://files.pythonhosted.org/packages/11/60/1d0ed6fff455a028d678df30cc28dcee7af77fa2b0e6962ce1df95c9a2a9/propcache-0.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:035e631be25d6975ed87ab23153db6a73426a48db688070d925aa27e996fe93c", size = 233672, upload-time = "2025-06-09T22:54:38.062Z" }, + { url = "https://files.pythonhosted.org/packages/37/7c/54fd5301ef38505ab235d98827207176a5c9b2aa61939b10a460ca53e123/propcache-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee6f22b6eaa39297c751d0e80c0d3a454f112f5c6481214fcf4c092074cecd67", size = 224395, upload-time = "2025-06-09T22:54:39.634Z" }, + { url = "https://files.pythonhosted.org/packages/ee/1a/89a40e0846f5de05fdc6779883bf46ba980e6df4d2ff8fb02643de126592/propcache-0.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ca3aee1aa955438c4dba34fc20a9f390e4c79967257d830f137bd5a8a32ed3b", size = 212510, upload-time = "2025-06-09T22:54:41.565Z" }, + { url = "https://files.pythonhosted.org/packages/5e/33/ca98368586c9566a6b8d5ef66e30484f8da84c0aac3f2d9aec6d31a11bd5/propcache-0.3.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7a4f30862869fa2b68380d677cc1c5fcf1e0f2b9ea0cf665812895c75d0ca3b8", size = 222949, upload-time = "2025-06-09T22:54:43.038Z" }, + { url = "https://files.pythonhosted.org/packages/ba/11/ace870d0aafe443b33b2f0b7efdb872b7c3abd505bfb4890716ad7865e9d/propcache-0.3.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:b77ec3c257d7816d9f3700013639db7491a434644c906a2578a11daf13176251", size = 217258, upload-time = "2025-06-09T22:54:44.376Z" }, + { url = "https://files.pythonhosted.org/packages/5b/d2/86fd6f7adffcfc74b42c10a6b7db721d1d9ca1055c45d39a1a8f2a740a21/propcache-0.3.2-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:cab90ac9d3f14b2d5050928483d3d3b8fb6b4018893fc75710e6aa361ecb2474", size = 213036, upload-time = "2025-06-09T22:54:46.243Z" }, + { url = "https://files.pythonhosted.org/packages/07/94/2d7d1e328f45ff34a0a284cf5a2847013701e24c2a53117e7c280a4316b3/propcache-0.3.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:0b504d29f3c47cf6b9e936c1852246c83d450e8e063d50562115a6be6d3a2535", size = 227684, upload-time = "2025-06-09T22:54:47.63Z" }, + { url = "https://files.pythonhosted.org/packages/b7/05/37ae63a0087677e90b1d14710e532ff104d44bc1efa3b3970fff99b891dc/propcache-0.3.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:ce2ac2675a6aa41ddb2a0c9cbff53780a617ac3d43e620f8fd77ba1c84dcfc06", size = 234562, upload-time = "2025-06-09T22:54:48.982Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7c/3f539fcae630408d0bd8bf3208b9a647ccad10976eda62402a80adf8fc34/propcache-0.3.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:62b4239611205294cc433845b914131b2a1f03500ff3c1ed093ed216b82621e1", size = 222142, upload-time = "2025-06-09T22:54:50.424Z" }, + { url = "https://files.pythonhosted.org/packages/7c/d2/34b9eac8c35f79f8a962546b3e97e9d4b990c420ee66ac8255d5d9611648/propcache-0.3.2-cp312-cp312-win32.whl", hash = "sha256:df4a81b9b53449ebc90cc4deefb052c1dd934ba85012aa912c7ea7b7e38b60c1", size = 37711, upload-time = "2025-06-09T22:54:52.072Z" }, + { url = "https://files.pythonhosted.org/packages/19/61/d582be5d226cf79071681d1b46b848d6cb03d7b70af7063e33a2787eaa03/propcache-0.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:7046e79b989d7fe457bb755844019e10f693752d169076138abf17f31380800c", size = 41479, upload-time = "2025-06-09T22:54:53.234Z" }, + { url = "https://files.pythonhosted.org/packages/cc/35/cc0aaecf278bb4575b8555f2b137de5ab821595ddae9da9d3cd1da4072c7/propcache-0.3.2-py3-none-any.whl", hash = "sha256:98f1ec44fb675f5052cccc8e609c46ed23a35a1cfd18545ad4e29002d858a43f", size = 12663, upload-time = "2025-06-09T22:56:04.484Z" }, ] [[package]] @@ -2003,76 +2006,76 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "protobuf" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f4/ac/87285f15f7cce6d4a008f33f1757fb5a13611ea8914eb58c3d0d26243468/proto_plus-1.26.1.tar.gz", hash = "sha256:21a515a4c4c0088a773899e23c7bbade3d18f9c66c73edd4c7ee3816bc96a012", size = 56142, upload_time = "2025-03-10T15:54:38.843Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f4/ac/87285f15f7cce6d4a008f33f1757fb5a13611ea8914eb58c3d0d26243468/proto_plus-1.26.1.tar.gz", hash = "sha256:21a515a4c4c0088a773899e23c7bbade3d18f9c66c73edd4c7ee3816bc96a012", size = 56142, upload-time = "2025-03-10T15:54:38.843Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4e/6d/280c4c2ce28b1593a19ad5239c8b826871fc6ec275c21afc8e1820108039/proto_plus-1.26.1-py3-none-any.whl", hash = "sha256:13285478c2dcf2abb829db158e1047e2f1e8d63a077d94263c2b88b043c75a66", size = 50163, upload_time = "2025-03-10T15:54:37.335Z" }, + { url = "https://files.pythonhosted.org/packages/4e/6d/280c4c2ce28b1593a19ad5239c8b826871fc6ec275c21afc8e1820108039/proto_plus-1.26.1-py3-none-any.whl", hash = "sha256:13285478c2dcf2abb829db158e1047e2f1e8d63a077d94263c2b88b043c75a66", size = 50163, upload-time = "2025-03-10T15:54:37.335Z" }, ] [[package]] name = "protobuf" version = "6.31.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/52/f3/b9655a711b32c19720253f6f06326faf90580834e2e83f840472d752bc8b/protobuf-6.31.1.tar.gz", hash = "sha256:d8cac4c982f0b957a4dc73a80e2ea24fab08e679c0de9deb835f4a12d69aca9a", size = 441797, upload_time = "2025-05-28T19:25:54.947Z" } +sdist = { url = "https://files.pythonhosted.org/packages/52/f3/b9655a711b32c19720253f6f06326faf90580834e2e83f840472d752bc8b/protobuf-6.31.1.tar.gz", hash = "sha256:d8cac4c982f0b957a4dc73a80e2ea24fab08e679c0de9deb835f4a12d69aca9a", size = 441797, upload-time = "2025-05-28T19:25:54.947Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f3/6f/6ab8e4bf962fd5570d3deaa2d5c38f0a363f57b4501047b5ebeb83ab1125/protobuf-6.31.1-cp310-abi3-win32.whl", hash = "sha256:7fa17d5a29c2e04b7d90e5e32388b8bfd0e7107cd8e616feef7ed3fa6bdab5c9", size = 423603, upload_time = "2025-05-28T19:25:41.198Z" }, - { url = "https://files.pythonhosted.org/packages/44/3a/b15c4347dd4bf3a1b0ee882f384623e2063bb5cf9fa9d57990a4f7df2fb6/protobuf-6.31.1-cp310-abi3-win_amd64.whl", hash = "sha256:426f59d2964864a1a366254fa703b8632dcec0790d8862d30034d8245e1cd447", size = 435283, upload_time = "2025-05-28T19:25:44.275Z" }, - { url = "https://files.pythonhosted.org/packages/6a/c9/b9689a2a250264a84e66c46d8862ba788ee7a641cdca39bccf64f59284b7/protobuf-6.31.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:6f1227473dc43d44ed644425268eb7c2e488ae245d51c6866d19fe158e207402", size = 425604, upload_time = "2025-05-28T19:25:45.702Z" }, - { url = "https://files.pythonhosted.org/packages/76/a1/7a5a94032c83375e4fe7e7f56e3976ea6ac90c5e85fac8576409e25c39c3/protobuf-6.31.1-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:a40fc12b84c154884d7d4c4ebd675d5b3b5283e155f324049ae396b95ddebc39", size = 322115, upload_time = "2025-05-28T19:25:47.128Z" }, - { url = "https://files.pythonhosted.org/packages/fa/b1/b59d405d64d31999244643d88c45c8241c58f17cc887e73bcb90602327f8/protobuf-6.31.1-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:4ee898bf66f7a8b0bd21bce523814e6fbd8c6add948045ce958b73af7e8878c6", size = 321070, upload_time = "2025-05-28T19:25:50.036Z" }, - { url = "https://files.pythonhosted.org/packages/f7/af/ab3c51ab7507a7325e98ffe691d9495ee3d3aa5f589afad65ec920d39821/protobuf-6.31.1-py3-none-any.whl", hash = "sha256:720a6c7e6b77288b85063569baae8536671b39f15cc22037ec7045658d80489e", size = 168724, upload_time = "2025-05-28T19:25:53.926Z" }, + { url = "https://files.pythonhosted.org/packages/f3/6f/6ab8e4bf962fd5570d3deaa2d5c38f0a363f57b4501047b5ebeb83ab1125/protobuf-6.31.1-cp310-abi3-win32.whl", hash = "sha256:7fa17d5a29c2e04b7d90e5e32388b8bfd0e7107cd8e616feef7ed3fa6bdab5c9", size = 423603, upload-time = "2025-05-28T19:25:41.198Z" }, + { url = "https://files.pythonhosted.org/packages/44/3a/b15c4347dd4bf3a1b0ee882f384623e2063bb5cf9fa9d57990a4f7df2fb6/protobuf-6.31.1-cp310-abi3-win_amd64.whl", hash = "sha256:426f59d2964864a1a366254fa703b8632dcec0790d8862d30034d8245e1cd447", size = 435283, upload-time = "2025-05-28T19:25:44.275Z" }, + { url = "https://files.pythonhosted.org/packages/6a/c9/b9689a2a250264a84e66c46d8862ba788ee7a641cdca39bccf64f59284b7/protobuf-6.31.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:6f1227473dc43d44ed644425268eb7c2e488ae245d51c6866d19fe158e207402", size = 425604, upload-time = "2025-05-28T19:25:45.702Z" }, + { url = "https://files.pythonhosted.org/packages/76/a1/7a5a94032c83375e4fe7e7f56e3976ea6ac90c5e85fac8576409e25c39c3/protobuf-6.31.1-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:a40fc12b84c154884d7d4c4ebd675d5b3b5283e155f324049ae396b95ddebc39", size = 322115, upload-time = "2025-05-28T19:25:47.128Z" }, + { url = "https://files.pythonhosted.org/packages/fa/b1/b59d405d64d31999244643d88c45c8241c58f17cc887e73bcb90602327f8/protobuf-6.31.1-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:4ee898bf66f7a8b0bd21bce523814e6fbd8c6add948045ce958b73af7e8878c6", size = 321070, upload-time = "2025-05-28T19:25:50.036Z" }, + { url = "https://files.pythonhosted.org/packages/f7/af/ab3c51ab7507a7325e98ffe691d9495ee3d3aa5f589afad65ec920d39821/protobuf-6.31.1-py3-none-any.whl", hash = "sha256:720a6c7e6b77288b85063569baae8536671b39f15cc22037ec7045658d80489e", size = 168724, upload-time = "2025-05-28T19:25:53.926Z" }, ] [[package]] name = "psutil" version = "7.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456", size = 497003, upload_time = "2025-02-13T21:54:07.946Z" } +sdist = { url = "https://files.pythonhosted.org/packages/2a/80/336820c1ad9286a4ded7e845b2eccfcb27851ab8ac6abece774a6ff4d3de/psutil-7.0.0.tar.gz", hash = "sha256:7be9c3eba38beccb6495ea33afd982a44074b78f28c434a1f51cc07fd315c456", size = 497003, upload-time = "2025-02-13T21:54:07.946Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ed/e6/2d26234410f8b8abdbf891c9da62bee396583f713fb9f3325a4760875d22/psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25", size = 238051, upload_time = "2025-02-13T21:54:12.36Z" }, - { url = "https://files.pythonhosted.org/packages/04/8b/30f930733afe425e3cbfc0e1468a30a18942350c1a8816acfade80c005c4/psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da", size = 239535, upload_time = "2025-02-13T21:54:16.07Z" }, - { url = "https://files.pythonhosted.org/packages/2a/ed/d362e84620dd22876b55389248e522338ed1bf134a5edd3b8231d7207f6d/psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91", size = 275004, upload_time = "2025-02-13T21:54:18.662Z" }, - { url = "https://files.pythonhosted.org/packages/bf/b9/b0eb3f3cbcb734d930fdf839431606844a825b23eaf9a6ab371edac8162c/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34", size = 277986, upload_time = "2025-02-13T21:54:21.811Z" }, - { url = "https://files.pythonhosted.org/packages/eb/a2/709e0fe2f093556c17fbafda93ac032257242cabcc7ff3369e2cb76a97aa/psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993", size = 279544, upload_time = "2025-02-13T21:54:24.68Z" }, - { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053, upload_time = "2025-02-13T21:54:34.31Z" }, - { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885, upload_time = "2025-02-13T21:54:37.486Z" }, + { url = "https://files.pythonhosted.org/packages/ed/e6/2d26234410f8b8abdbf891c9da62bee396583f713fb9f3325a4760875d22/psutil-7.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:101d71dc322e3cffd7cea0650b09b3d08b8e7c4109dd6809fe452dfd00e58b25", size = 238051, upload-time = "2025-02-13T21:54:12.36Z" }, + { url = "https://files.pythonhosted.org/packages/04/8b/30f930733afe425e3cbfc0e1468a30a18942350c1a8816acfade80c005c4/psutil-7.0.0-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:39db632f6bb862eeccf56660871433e111b6ea58f2caea825571951d4b6aa3da", size = 239535, upload-time = "2025-02-13T21:54:16.07Z" }, + { url = "https://files.pythonhosted.org/packages/2a/ed/d362e84620dd22876b55389248e522338ed1bf134a5edd3b8231d7207f6d/psutil-7.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fcee592b4c6f146991ca55919ea3d1f8926497a713ed7faaf8225e174581e91", size = 275004, upload-time = "2025-02-13T21:54:18.662Z" }, + { url = "https://files.pythonhosted.org/packages/bf/b9/b0eb3f3cbcb734d930fdf839431606844a825b23eaf9a6ab371edac8162c/psutil-7.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b1388a4f6875d7e2aff5c4ca1cc16c545ed41dd8bb596cefea80111db353a34", size = 277986, upload-time = "2025-02-13T21:54:21.811Z" }, + { url = "https://files.pythonhosted.org/packages/eb/a2/709e0fe2f093556c17fbafda93ac032257242cabcc7ff3369e2cb76a97aa/psutil-7.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a5f098451abc2828f7dc6b58d44b532b22f2088f4999a937557b603ce72b1993", size = 279544, upload-time = "2025-02-13T21:54:24.68Z" }, + { url = "https://files.pythonhosted.org/packages/50/e6/eecf58810b9d12e6427369784efe814a1eec0f492084ce8eb8f4d89d6d61/psutil-7.0.0-cp37-abi3-win32.whl", hash = "sha256:ba3fcef7523064a6c9da440fc4d6bd07da93ac726b5733c29027d7dc95b39d99", size = 241053, upload-time = "2025-02-13T21:54:34.31Z" }, + { url = "https://files.pythonhosted.org/packages/50/1b/6921afe68c74868b4c9fa424dad3be35b095e16687989ebbb50ce4fceb7c/psutil-7.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:4cf3d4eb1aa9b348dec30105c55cd9b7d4629285735a102beb4441e38db90553", size = 244885, upload-time = "2025-02-13T21:54:37.486Z" }, ] [[package]] name = "psycopg2-binary" version = "2.9.10" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cb/0e/bdc8274dc0585090b4e3432267d7be4dfbfd8971c0fa59167c711105a6bf/psycopg2-binary-2.9.10.tar.gz", hash = "sha256:4b3df0e6990aa98acda57d983942eff13d824135fe2250e6522edaa782a06de2", size = 385764, upload_time = "2024-10-16T11:24:58.126Z" } +sdist = { url = "https://files.pythonhosted.org/packages/cb/0e/bdc8274dc0585090b4e3432267d7be4dfbfd8971c0fa59167c711105a6bf/psycopg2-binary-2.9.10.tar.gz", hash = "sha256:4b3df0e6990aa98acda57d983942eff13d824135fe2250e6522edaa782a06de2", size = 385764, upload-time = "2024-10-16T11:24:58.126Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/49/7d/465cc9795cf76f6d329efdafca74693714556ea3891813701ac1fee87545/psycopg2_binary-2.9.10-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:880845dfe1f85d9d5f7c412efea7a08946a46894537e4e5d091732eb1d34d9a0", size = 3044771, upload_time = "2024-10-16T11:20:35.234Z" }, - { url = "https://files.pythonhosted.org/packages/8b/31/6d225b7b641a1a2148e3ed65e1aa74fc86ba3fee850545e27be9e1de893d/psycopg2_binary-2.9.10-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9440fa522a79356aaa482aa4ba500b65f28e5d0e63b801abf6aa152a29bd842a", size = 3275336, upload_time = "2024-10-16T11:20:38.742Z" }, - { url = "https://files.pythonhosted.org/packages/30/b7/a68c2b4bff1cbb1728e3ec864b2d92327c77ad52edcd27922535a8366f68/psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3923c1d9870c49a2d44f795df0c889a22380d36ef92440ff618ec315757e539", size = 2851637, upload_time = "2024-10-16T11:20:42.145Z" }, - { url = "https://files.pythonhosted.org/packages/0b/b1/cfedc0e0e6f9ad61f8657fd173b2f831ce261c02a08c0b09c652b127d813/psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b2c956c028ea5de47ff3a8d6b3cc3330ab45cf0b7c3da35a2d6ff8420896526", size = 3082097, upload_time = "2024-10-16T11:20:46.185Z" }, - { url = "https://files.pythonhosted.org/packages/18/ed/0a8e4153c9b769f59c02fb5e7914f20f0b2483a19dae7bf2db54b743d0d0/psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f758ed67cab30b9a8d2833609513ce4d3bd027641673d4ebc9c067e4d208eec1", size = 3264776, upload_time = "2024-10-16T11:20:50.879Z" }, - { url = "https://files.pythonhosted.org/packages/10/db/d09da68c6a0cdab41566b74e0a6068a425f077169bed0946559b7348ebe9/psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cd9b4f2cfab88ed4a9106192de509464b75a906462fb846b936eabe45c2063e", size = 3020968, upload_time = "2024-10-16T11:20:56.819Z" }, - { url = "https://files.pythonhosted.org/packages/94/28/4d6f8c255f0dfffb410db2b3f9ac5218d959a66c715c34cac31081e19b95/psycopg2_binary-2.9.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dc08420625b5a20b53551c50deae6e231e6371194fa0651dbe0fb206452ae1f", size = 2872334, upload_time = "2024-10-16T11:21:02.411Z" }, - { url = "https://files.pythonhosted.org/packages/05/f7/20d7bf796593c4fea95e12119d6cc384ff1f6141a24fbb7df5a668d29d29/psycopg2_binary-2.9.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d7cd730dfa7c36dbe8724426bf5612798734bff2d3c3857f36f2733f5bfc7c00", size = 2822722, upload_time = "2024-10-16T11:21:09.01Z" }, - { url = "https://files.pythonhosted.org/packages/4d/e4/0c407ae919ef626dbdb32835a03b6737013c3cc7240169843965cada2bdf/psycopg2_binary-2.9.10-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:155e69561d54d02b3c3209545fb08938e27889ff5a10c19de8d23eb5a41be8a5", size = 2920132, upload_time = "2024-10-16T11:21:16.339Z" }, - { url = "https://files.pythonhosted.org/packages/2d/70/aa69c9f69cf09a01da224909ff6ce8b68faeef476f00f7ec377e8f03be70/psycopg2_binary-2.9.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c3cc28a6fd5a4a26224007712e79b81dbaee2ffb90ff406256158ec4d7b52b47", size = 2959312, upload_time = "2024-10-16T11:21:25.584Z" }, - { url = "https://files.pythonhosted.org/packages/d3/bd/213e59854fafe87ba47814bf413ace0dcee33a89c8c8c814faca6bc7cf3c/psycopg2_binary-2.9.10-cp312-cp312-win32.whl", hash = "sha256:ec8a77f521a17506a24a5f626cb2aee7850f9b69a0afe704586f63a464f3cd64", size = 1025191, upload_time = "2024-10-16T11:21:29.912Z" }, - { url = "https://files.pythonhosted.org/packages/92/29/06261ea000e2dc1e22907dbbc483a1093665509ea586b29b8986a0e56733/psycopg2_binary-2.9.10-cp312-cp312-win_amd64.whl", hash = "sha256:18c5ee682b9c6dd3696dad6e54cc7ff3a1a9020df6a5c0f861ef8bfd338c3ca0", size = 1164031, upload_time = "2024-10-16T11:21:34.211Z" }, + { url = "https://files.pythonhosted.org/packages/49/7d/465cc9795cf76f6d329efdafca74693714556ea3891813701ac1fee87545/psycopg2_binary-2.9.10-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:880845dfe1f85d9d5f7c412efea7a08946a46894537e4e5d091732eb1d34d9a0", size = 3044771, upload-time = "2024-10-16T11:20:35.234Z" }, + { url = "https://files.pythonhosted.org/packages/8b/31/6d225b7b641a1a2148e3ed65e1aa74fc86ba3fee850545e27be9e1de893d/psycopg2_binary-2.9.10-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9440fa522a79356aaa482aa4ba500b65f28e5d0e63b801abf6aa152a29bd842a", size = 3275336, upload-time = "2024-10-16T11:20:38.742Z" }, + { url = "https://files.pythonhosted.org/packages/30/b7/a68c2b4bff1cbb1728e3ec864b2d92327c77ad52edcd27922535a8366f68/psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e3923c1d9870c49a2d44f795df0c889a22380d36ef92440ff618ec315757e539", size = 2851637, upload-time = "2024-10-16T11:20:42.145Z" }, + { url = "https://files.pythonhosted.org/packages/0b/b1/cfedc0e0e6f9ad61f8657fd173b2f831ce261c02a08c0b09c652b127d813/psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7b2c956c028ea5de47ff3a8d6b3cc3330ab45cf0b7c3da35a2d6ff8420896526", size = 3082097, upload-time = "2024-10-16T11:20:46.185Z" }, + { url = "https://files.pythonhosted.org/packages/18/ed/0a8e4153c9b769f59c02fb5e7914f20f0b2483a19dae7bf2db54b743d0d0/psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f758ed67cab30b9a8d2833609513ce4d3bd027641673d4ebc9c067e4d208eec1", size = 3264776, upload-time = "2024-10-16T11:20:50.879Z" }, + { url = "https://files.pythonhosted.org/packages/10/db/d09da68c6a0cdab41566b74e0a6068a425f077169bed0946559b7348ebe9/psycopg2_binary-2.9.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cd9b4f2cfab88ed4a9106192de509464b75a906462fb846b936eabe45c2063e", size = 3020968, upload-time = "2024-10-16T11:20:56.819Z" }, + { url = "https://files.pythonhosted.org/packages/94/28/4d6f8c255f0dfffb410db2b3f9ac5218d959a66c715c34cac31081e19b95/psycopg2_binary-2.9.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dc08420625b5a20b53551c50deae6e231e6371194fa0651dbe0fb206452ae1f", size = 2872334, upload-time = "2024-10-16T11:21:02.411Z" }, + { url = "https://files.pythonhosted.org/packages/05/f7/20d7bf796593c4fea95e12119d6cc384ff1f6141a24fbb7df5a668d29d29/psycopg2_binary-2.9.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d7cd730dfa7c36dbe8724426bf5612798734bff2d3c3857f36f2733f5bfc7c00", size = 2822722, upload-time = "2024-10-16T11:21:09.01Z" }, + { url = "https://files.pythonhosted.org/packages/4d/e4/0c407ae919ef626dbdb32835a03b6737013c3cc7240169843965cada2bdf/psycopg2_binary-2.9.10-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:155e69561d54d02b3c3209545fb08938e27889ff5a10c19de8d23eb5a41be8a5", size = 2920132, upload-time = "2024-10-16T11:21:16.339Z" }, + { url = "https://files.pythonhosted.org/packages/2d/70/aa69c9f69cf09a01da224909ff6ce8b68faeef476f00f7ec377e8f03be70/psycopg2_binary-2.9.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c3cc28a6fd5a4a26224007712e79b81dbaee2ffb90ff406256158ec4d7b52b47", size = 2959312, upload-time = "2024-10-16T11:21:25.584Z" }, + { url = "https://files.pythonhosted.org/packages/d3/bd/213e59854fafe87ba47814bf413ace0dcee33a89c8c8c814faca6bc7cf3c/psycopg2_binary-2.9.10-cp312-cp312-win32.whl", hash = "sha256:ec8a77f521a17506a24a5f626cb2aee7850f9b69a0afe704586f63a464f3cd64", size = 1025191, upload-time = "2024-10-16T11:21:29.912Z" }, + { url = "https://files.pythonhosted.org/packages/92/29/06261ea000e2dc1e22907dbbc483a1093665509ea586b29b8986a0e56733/psycopg2_binary-2.9.10-cp312-cp312-win_amd64.whl", hash = "sha256:18c5ee682b9c6dd3696dad6e54cc7ff3a1a9020df6a5c0f861ef8bfd338c3ca0", size = 1164031, upload-time = "2024-10-16T11:21:34.211Z" }, ] [[package]] name = "ptyprocess" version = "0.7.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload_time = "2020-12-28T15:15:30.155Z" } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload_time = "2020-12-28T15:15:28.35Z" }, + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, ] [[package]] name = "pure-eval" version = "0.2.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload_time = "2024-07-21T12:58:21.801Z" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload-time = "2024-07-21T12:58:21.801Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload_time = "2024-07-21T12:58:20.04Z" }, + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" }, ] [[package]] @@ -2083,35 +2086,35 @@ dependencies = [ { name = "requests" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/3f/9f/3a67cbe13359441817ca6bee9c0681a11cd0331afef0818349a0690d47e0/pyalex-0.18.tar.gz", hash = "sha256:b71df6e0e104101783a64ecb2b41b24c75059ee4563aa5966499454168bee5e7", size = 46939, upload_time = "2025-03-11T15:39:21.043Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3f/9f/3a67cbe13359441817ca6bee9c0681a11cd0331afef0818349a0690d47e0/pyalex-0.18.tar.gz", hash = "sha256:b71df6e0e104101783a64ecb2b41b24c75059ee4563aa5966499454168bee5e7", size = 46939, upload-time = "2025-03-11T15:39:21.043Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/87/3f/b93b7976a43fbeacdb684fe333bb82d926b636f663e75afbbceec8ddc539/pyalex-0.18-py3-none-any.whl", hash = "sha256:16cb0e0b89f7b20370e8a8a217c372d11f9bc2e539f366709aa3a47d97055d4c", size = 13258, upload_time = "2025-03-11T15:39:20.172Z" }, + { url = "https://files.pythonhosted.org/packages/87/3f/b93b7976a43fbeacdb684fe333bb82d926b636f663e75afbbceec8ddc539/pyalex-0.18-py3-none-any.whl", hash = "sha256:16cb0e0b89f7b20370e8a8a217c372d11f9bc2e539f366709aa3a47d97055d4c", size = 13258, upload-time = "2025-03-11T15:39:20.172Z" }, ] [[package]] name = "pyarrow" version = "20.0.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/ee/a7810cb9f3d6e9238e61d312076a9859bf3668fd21c69744de9532383912/pyarrow-20.0.0.tar.gz", hash = "sha256:febc4a913592573c8d5805091a6c2b5064c8bd6e002131f01061797d91c783c1", size = 1125187, upload_time = "2025-04-27T12:34:23.264Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/ee/a7810cb9f3d6e9238e61d312076a9859bf3668fd21c69744de9532383912/pyarrow-20.0.0.tar.gz", hash = "sha256:febc4a913592573c8d5805091a6c2b5064c8bd6e002131f01061797d91c783c1", size = 1125187, upload-time = "2025-04-27T12:34:23.264Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a1/d6/0c10e0d54f6c13eb464ee9b67a68b8c71bcf2f67760ef5b6fbcddd2ab05f/pyarrow-20.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:75a51a5b0eef32727a247707d4755322cb970be7e935172b6a3a9f9ae98404ba", size = 30815067, upload_time = "2025-04-27T12:29:44.384Z" }, - { url = "https://files.pythonhosted.org/packages/7e/e2/04e9874abe4094a06fd8b0cbb0f1312d8dd7d707f144c2ec1e5e8f452ffa/pyarrow-20.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:211d5e84cecc640c7a3ab900f930aaff5cd2702177e0d562d426fb7c4f737781", size = 32297128, upload_time = "2025-04-27T12:29:52.038Z" }, - { url = "https://files.pythonhosted.org/packages/31/fd/c565e5dcc906a3b471a83273039cb75cb79aad4a2d4a12f76cc5ae90a4b8/pyarrow-20.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ba3cf4182828be7a896cbd232aa8dd6a31bd1f9e32776cc3796c012855e1199", size = 41334890, upload_time = "2025-04-27T12:29:59.452Z" }, - { url = "https://files.pythonhosted.org/packages/af/a9/3bdd799e2c9b20c1ea6dc6fa8e83f29480a97711cf806e823f808c2316ac/pyarrow-20.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c3a01f313ffe27ac4126f4c2e5ea0f36a5fc6ab51f8726cf41fee4b256680bd", size = 42421775, upload_time = "2025-04-27T12:30:06.875Z" }, - { url = "https://files.pythonhosted.org/packages/10/f7/da98ccd86354c332f593218101ae56568d5dcedb460e342000bd89c49cc1/pyarrow-20.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:a2791f69ad72addd33510fec7bb14ee06c2a448e06b649e264c094c5b5f7ce28", size = 40687231, upload_time = "2025-04-27T12:30:13.954Z" }, - { url = "https://files.pythonhosted.org/packages/bb/1b/2168d6050e52ff1e6cefc61d600723870bf569cbf41d13db939c8cf97a16/pyarrow-20.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4250e28a22302ce8692d3a0e8ec9d9dde54ec00d237cff4dfa9c1fbf79e472a8", size = 42295639, upload_time = "2025-04-27T12:30:21.949Z" }, - { url = "https://files.pythonhosted.org/packages/b2/66/2d976c0c7158fd25591c8ca55aee026e6d5745a021915a1835578707feb3/pyarrow-20.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:89e030dc58fc760e4010148e6ff164d2f44441490280ef1e97a542375e41058e", size = 42908549, upload_time = "2025-04-27T12:30:29.551Z" }, - { url = "https://files.pythonhosted.org/packages/31/a9/dfb999c2fc6911201dcbf348247f9cc382a8990f9ab45c12eabfd7243a38/pyarrow-20.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6102b4864d77102dbbb72965618e204e550135a940c2534711d5ffa787df2a5a", size = 44557216, upload_time = "2025-04-27T12:30:36.977Z" }, - { url = "https://files.pythonhosted.org/packages/a0/8e/9adee63dfa3911be2382fb4d92e4b2e7d82610f9d9f668493bebaa2af50f/pyarrow-20.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:96d6a0a37d9c98be08f5ed6a10831d88d52cac7b13f5287f1e0f625a0de8062b", size = 25660496, upload_time = "2025-04-27T12:30:42.809Z" }, + { url = "https://files.pythonhosted.org/packages/a1/d6/0c10e0d54f6c13eb464ee9b67a68b8c71bcf2f67760ef5b6fbcddd2ab05f/pyarrow-20.0.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:75a51a5b0eef32727a247707d4755322cb970be7e935172b6a3a9f9ae98404ba", size = 30815067, upload-time = "2025-04-27T12:29:44.384Z" }, + { url = "https://files.pythonhosted.org/packages/7e/e2/04e9874abe4094a06fd8b0cbb0f1312d8dd7d707f144c2ec1e5e8f452ffa/pyarrow-20.0.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:211d5e84cecc640c7a3ab900f930aaff5cd2702177e0d562d426fb7c4f737781", size = 32297128, upload-time = "2025-04-27T12:29:52.038Z" }, + { url = "https://files.pythonhosted.org/packages/31/fd/c565e5dcc906a3b471a83273039cb75cb79aad4a2d4a12f76cc5ae90a4b8/pyarrow-20.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ba3cf4182828be7a896cbd232aa8dd6a31bd1f9e32776cc3796c012855e1199", size = 41334890, upload-time = "2025-04-27T12:29:59.452Z" }, + { url = "https://files.pythonhosted.org/packages/af/a9/3bdd799e2c9b20c1ea6dc6fa8e83f29480a97711cf806e823f808c2316ac/pyarrow-20.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c3a01f313ffe27ac4126f4c2e5ea0f36a5fc6ab51f8726cf41fee4b256680bd", size = 42421775, upload-time = "2025-04-27T12:30:06.875Z" }, + { url = "https://files.pythonhosted.org/packages/10/f7/da98ccd86354c332f593218101ae56568d5dcedb460e342000bd89c49cc1/pyarrow-20.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:a2791f69ad72addd33510fec7bb14ee06c2a448e06b649e264c094c5b5f7ce28", size = 40687231, upload-time = "2025-04-27T12:30:13.954Z" }, + { url = "https://files.pythonhosted.org/packages/bb/1b/2168d6050e52ff1e6cefc61d600723870bf569cbf41d13db939c8cf97a16/pyarrow-20.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:4250e28a22302ce8692d3a0e8ec9d9dde54ec00d237cff4dfa9c1fbf79e472a8", size = 42295639, upload-time = "2025-04-27T12:30:21.949Z" }, + { url = "https://files.pythonhosted.org/packages/b2/66/2d976c0c7158fd25591c8ca55aee026e6d5745a021915a1835578707feb3/pyarrow-20.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:89e030dc58fc760e4010148e6ff164d2f44441490280ef1e97a542375e41058e", size = 42908549, upload-time = "2025-04-27T12:30:29.551Z" }, + { url = "https://files.pythonhosted.org/packages/31/a9/dfb999c2fc6911201dcbf348247f9cc382a8990f9ab45c12eabfd7243a38/pyarrow-20.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6102b4864d77102dbbb72965618e204e550135a940c2534711d5ffa787df2a5a", size = 44557216, upload-time = "2025-04-27T12:30:36.977Z" }, + { url = "https://files.pythonhosted.org/packages/a0/8e/9adee63dfa3911be2382fb4d92e4b2e7d82610f9d9f668493bebaa2af50f/pyarrow-20.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:96d6a0a37d9c98be08f5ed6a10831d88d52cac7b13f5287f1e0f625a0de8062b", size = 25660496, upload-time = "2025-04-27T12:30:42.809Z" }, ] [[package]] name = "pyasn1" version = "0.6.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ba/e9/01f1a64245b89f039897cb0130016d79f77d52669aae6ee7b159a6c4c018/pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034", size = 145322, upload_time = "2024-09-10T22:41:42.55Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/e9/01f1a64245b89f039897cb0130016d79f77d52669aae6ee7b159a6c4c018/pyasn1-0.6.1.tar.gz", hash = "sha256:6f580d2bdd84365380830acf45550f2511469f673cb4a5ae3857a3170128b034", size = 145322, upload-time = "2024-09-10T22:41:42.55Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629", size = 83135, upload_time = "2024-09-11T16:00:36.122Z" }, + { url = "https://files.pythonhosted.org/packages/c8/f1/d6a797abb14f6283c0ddff96bbdd46937f64122b8c925cab503dd37f8214/pyasn1-0.6.1-py3-none-any.whl", hash = "sha256:0d632f46f2ba09143da3a8afe9e33fb6f92fa2320ab7e886e2d0f7672af84629", size = 83135, upload-time = "2024-09-11T16:00:36.122Z" }, ] [[package]] @@ -2121,18 +2124,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pyasn1" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz", hash = "sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6", size = 307892, upload_time = "2025-03-28T02:41:22.17Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e9/e6/78ebbb10a8c8e4b61a59249394a4a594c1a7af95593dc933a349c8d00964/pyasn1_modules-0.4.2.tar.gz", hash = "sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6", size = 307892, upload-time = "2025-03-28T02:41:22.17Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/47/8d/d529b5d697919ba8c11ad626e835d4039be708a35b0d22de83a269a6682c/pyasn1_modules-0.4.2-py3-none-any.whl", hash = "sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a", size = 181259, upload_time = "2025-03-28T02:41:19.028Z" }, + { url = "https://files.pythonhosted.org/packages/47/8d/d529b5d697919ba8c11ad626e835d4039be708a35b0d22de83a269a6682c/pyasn1_modules-0.4.2-py3-none-any.whl", hash = "sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a", size = 181259, upload-time = "2025-03-28T02:41:19.028Z" }, ] [[package]] name = "pycparser" version = "2.22" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload_time = "2024-03-30T13:22:22.564Z" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/b2/31537cf4b1ca988837256c910a668b553fceb8f069bedc4b1c826024b52c/pycparser-2.22.tar.gz", hash = "sha256:491c8be9c040f5390f5bf44a5b07752bd07f56edf992381b05c701439eec10f6", size = 172736, upload-time = "2024-03-30T13:22:22.564Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload_time = "2024-03-30T13:22:20.476Z" }, + { url = "https://files.pythonhosted.org/packages/13/a3/a812df4e2dd5696d1f351d58b8fe16a405b234ad2886a0dab9183fb78109/pycparser-2.22-py3-none-any.whl", hash = "sha256:c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc", size = 117552, upload-time = "2024-03-30T13:22:20.476Z" }, ] [[package]] @@ -2145,9 +2148,9 @@ dependencies = [ { name = "typing-extensions" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ef/8f/9af0f46acc943b8c4592d06523f26a150acf6e6e37e8bd5f0ace925e996d/pydantic-2.11.6.tar.gz", hash = "sha256:12b45cfb4af17e555d3c6283d0b55271865fb0b43cc16dd0d52749dc7abf70e7", size = 787868, upload_time = "2025-06-13T09:00:29.595Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ef/8f/9af0f46acc943b8c4592d06523f26a150acf6e6e37e8bd5f0ace925e996d/pydantic-2.11.6.tar.gz", hash = "sha256:12b45cfb4af17e555d3c6283d0b55271865fb0b43cc16dd0d52749dc7abf70e7", size = 787868, upload-time = "2025-06-13T09:00:29.595Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/05/11/7912a9a194ee4ea96520740d1534bc31a03a4a59d62e1d7cac9461d3f379/pydantic-2.11.6-py3-none-any.whl", hash = "sha256:a24478d2be1b91b6d3bc9597439f69ed5e87f68ebd285d86f7c7932a084b72e7", size = 444718, upload_time = "2025-06-13T09:00:27.134Z" }, + { url = "https://files.pythonhosted.org/packages/05/11/7912a9a194ee4ea96520740d1534bc31a03a4a59d62e1d7cac9461d3f379/pydantic-2.11.6-py3-none-any.whl", hash = "sha256:a24478d2be1b91b6d3bc9597439f69ed5e87f68ebd285d86f7c7932a084b72e7", size = 444718, upload-time = "2025-06-13T09:00:27.134Z" }, ] [[package]] @@ -2157,22 +2160,22 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload_time = "2025-04-23T18:33:52.104Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ad/88/5f2260bdfae97aabf98f1778d43f69574390ad787afb646292a638c923d4/pydantic_core-2.33.2.tar.gz", hash = "sha256:7cb8bc3605c29176e1b105350d2e6474142d7c1bd1d9327c4a9bdb46bf827acc", size = 435195, upload-time = "2025-04-23T18:33:52.104Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/18/8a/2b41c97f554ec8c71f2a8a5f85cb56a8b0956addfe8b0efb5b3d77e8bdc3/pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", size = 2009000, upload_time = "2025-04-23T18:31:25.863Z" }, - { url = "https://files.pythonhosted.org/packages/a1/02/6224312aacb3c8ecbaa959897af57181fb6cf3a3d7917fd44d0f2917e6f2/pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", size = 1847996, upload_time = "2025-04-23T18:31:27.341Z" }, - { url = "https://files.pythonhosted.org/packages/d6/46/6dcdf084a523dbe0a0be59d054734b86a981726f221f4562aed313dbcb49/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", size = 1880957, upload_time = "2025-04-23T18:31:28.956Z" }, - { url = "https://files.pythonhosted.org/packages/ec/6b/1ec2c03837ac00886ba8160ce041ce4e325b41d06a034adbef11339ae422/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", size = 1964199, upload_time = "2025-04-23T18:31:31.025Z" }, - { url = "https://files.pythonhosted.org/packages/2d/1d/6bf34d6adb9debd9136bd197ca72642203ce9aaaa85cfcbfcf20f9696e83/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", size = 2120296, upload_time = "2025-04-23T18:31:32.514Z" }, - { url = "https://files.pythonhosted.org/packages/e0/94/2bd0aaf5a591e974b32a9f7123f16637776c304471a0ab33cf263cf5591a/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", size = 2676109, upload_time = "2025-04-23T18:31:33.958Z" }, - { url = "https://files.pythonhosted.org/packages/f9/41/4b043778cf9c4285d59742281a769eac371b9e47e35f98ad321349cc5d61/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", size = 2002028, upload_time = "2025-04-23T18:31:39.095Z" }, - { url = "https://files.pythonhosted.org/packages/cb/d5/7bb781bf2748ce3d03af04d5c969fa1308880e1dca35a9bd94e1a96a922e/pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", size = 2100044, upload_time = "2025-04-23T18:31:41.034Z" }, - { url = "https://files.pythonhosted.org/packages/fe/36/def5e53e1eb0ad896785702a5bbfd25eed546cdcf4087ad285021a90ed53/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", size = 2058881, upload_time = "2025-04-23T18:31:42.757Z" }, - { url = "https://files.pythonhosted.org/packages/01/6c/57f8d70b2ee57fc3dc8b9610315949837fa8c11d86927b9bb044f8705419/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", size = 2227034, upload_time = "2025-04-23T18:31:44.304Z" }, - { url = "https://files.pythonhosted.org/packages/27/b9/9c17f0396a82b3d5cbea4c24d742083422639e7bb1d5bf600e12cb176a13/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", size = 2234187, upload_time = "2025-04-23T18:31:45.891Z" }, - { url = "https://files.pythonhosted.org/packages/b0/6a/adf5734ffd52bf86d865093ad70b2ce543415e0e356f6cacabbc0d9ad910/pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", size = 1892628, upload_time = "2025-04-23T18:31:47.819Z" }, - { url = "https://files.pythonhosted.org/packages/43/e4/5479fecb3606c1368d496a825d8411e126133c41224c1e7238be58b87d7e/pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", size = 1955866, upload_time = "2025-04-23T18:31:49.635Z" }, - { url = "https://files.pythonhosted.org/packages/0d/24/8b11e8b3e2be9dd82df4b11408a67c61bb4dc4f8e11b5b0fc888b38118b5/pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", size = 1888894, upload_time = "2025-04-23T18:31:51.609Z" }, + { url = "https://files.pythonhosted.org/packages/18/8a/2b41c97f554ec8c71f2a8a5f85cb56a8b0956addfe8b0efb5b3d77e8bdc3/pydantic_core-2.33.2-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:a7ec89dc587667f22b6a0b6579c249fca9026ce7c333fc142ba42411fa243cdc", size = 2009000, upload-time = "2025-04-23T18:31:25.863Z" }, + { url = "https://files.pythonhosted.org/packages/a1/02/6224312aacb3c8ecbaa959897af57181fb6cf3a3d7917fd44d0f2917e6f2/pydantic_core-2.33.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3c6db6e52c6d70aa0d00d45cdb9b40f0433b96380071ea80b09277dba021ddf7", size = 1847996, upload-time = "2025-04-23T18:31:27.341Z" }, + { url = "https://files.pythonhosted.org/packages/d6/46/6dcdf084a523dbe0a0be59d054734b86a981726f221f4562aed313dbcb49/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e61206137cbc65e6d5256e1166f88331d3b6238e082d9f74613b9b765fb9025", size = 1880957, upload-time = "2025-04-23T18:31:28.956Z" }, + { url = "https://files.pythonhosted.org/packages/ec/6b/1ec2c03837ac00886ba8160ce041ce4e325b41d06a034adbef11339ae422/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eb8c529b2819c37140eb51b914153063d27ed88e3bdc31b71198a198e921e011", size = 1964199, upload-time = "2025-04-23T18:31:31.025Z" }, + { url = "https://files.pythonhosted.org/packages/2d/1d/6bf34d6adb9debd9136bd197ca72642203ce9aaaa85cfcbfcf20f9696e83/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c52b02ad8b4e2cf14ca7b3d918f3eb0ee91e63b3167c32591e57c4317e134f8f", size = 2120296, upload-time = "2025-04-23T18:31:32.514Z" }, + { url = "https://files.pythonhosted.org/packages/e0/94/2bd0aaf5a591e974b32a9f7123f16637776c304471a0ab33cf263cf5591a/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:96081f1605125ba0855dfda83f6f3df5ec90c61195421ba72223de35ccfb2f88", size = 2676109, upload-time = "2025-04-23T18:31:33.958Z" }, + { url = "https://files.pythonhosted.org/packages/f9/41/4b043778cf9c4285d59742281a769eac371b9e47e35f98ad321349cc5d61/pydantic_core-2.33.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f57a69461af2a5fa6e6bbd7a5f60d3b7e6cebb687f55106933188e79ad155c1", size = 2002028, upload-time = "2025-04-23T18:31:39.095Z" }, + { url = "https://files.pythonhosted.org/packages/cb/d5/7bb781bf2748ce3d03af04d5c969fa1308880e1dca35a9bd94e1a96a922e/pydantic_core-2.33.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:572c7e6c8bb4774d2ac88929e3d1f12bc45714ae5ee6d9a788a9fb35e60bb04b", size = 2100044, upload-time = "2025-04-23T18:31:41.034Z" }, + { url = "https://files.pythonhosted.org/packages/fe/36/def5e53e1eb0ad896785702a5bbfd25eed546cdcf4087ad285021a90ed53/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:db4b41f9bd95fbe5acd76d89920336ba96f03e149097365afe1cb092fceb89a1", size = 2058881, upload-time = "2025-04-23T18:31:42.757Z" }, + { url = "https://files.pythonhosted.org/packages/01/6c/57f8d70b2ee57fc3dc8b9610315949837fa8c11d86927b9bb044f8705419/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:fa854f5cf7e33842a892e5c73f45327760bc7bc516339fda888c75ae60edaeb6", size = 2227034, upload-time = "2025-04-23T18:31:44.304Z" }, + { url = "https://files.pythonhosted.org/packages/27/b9/9c17f0396a82b3d5cbea4c24d742083422639e7bb1d5bf600e12cb176a13/pydantic_core-2.33.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:5f483cfb75ff703095c59e365360cb73e00185e01aaea067cd19acffd2ab20ea", size = 2234187, upload-time = "2025-04-23T18:31:45.891Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6a/adf5734ffd52bf86d865093ad70b2ce543415e0e356f6cacabbc0d9ad910/pydantic_core-2.33.2-cp312-cp312-win32.whl", hash = "sha256:9cb1da0f5a471435a7bc7e439b8a728e8b61e59784b2af70d7c169f8dd8ae290", size = 1892628, upload-time = "2025-04-23T18:31:47.819Z" }, + { url = "https://files.pythonhosted.org/packages/43/e4/5479fecb3606c1368d496a825d8411e126133c41224c1e7238be58b87d7e/pydantic_core-2.33.2-cp312-cp312-win_amd64.whl", hash = "sha256:f941635f2a3d96b2973e867144fde513665c87f13fe0e193c158ac51bfaaa7b2", size = 1955866, upload-time = "2025-04-23T18:31:49.635Z" }, + { url = "https://files.pythonhosted.org/packages/0d/24/8b11e8b3e2be9dd82df4b11408a67c61bb4dc4f8e11b5b0fc888b38118b5/pydantic_core-2.33.2-cp312-cp312-win_arm64.whl", hash = "sha256:cca3868ddfaccfbc4bfb1d608e2ccaaebe0ae628e1416aeb9c4d88c001bb45ab", size = 1888894, upload-time = "2025-04-23T18:31:51.609Z" }, ] [[package]] @@ -2184,9 +2187,9 @@ dependencies = [ { name = "python-dotenv" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/67/1d/42628a2c33e93f8e9acbde0d5d735fa0850f3e6a2f8cb1eb6c40b9a732ac/pydantic_settings-2.9.1.tar.gz", hash = "sha256:c509bf79d27563add44e8446233359004ed85066cd096d8b510f715e6ef5d268", size = 163234, upload_time = "2025-04-18T16:44:48.265Z" } +sdist = { url = "https://files.pythonhosted.org/packages/67/1d/42628a2c33e93f8e9acbde0d5d735fa0850f3e6a2f8cb1eb6c40b9a732ac/pydantic_settings-2.9.1.tar.gz", hash = "sha256:c509bf79d27563add44e8446233359004ed85066cd096d8b510f715e6ef5d268", size = 163234, upload-time = "2025-04-18T16:44:48.265Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b6/5f/d6d641b490fd3ec2c4c13b4244d68deea3a1b970a97be64f34fb5504ff72/pydantic_settings-2.9.1-py3-none-any.whl", hash = "sha256:59b4f431b1defb26fe620c71a7d3968a710d719f5f4cdbbdb7926edeb770f6ef", size = 44356, upload_time = "2025-04-18T16:44:46.617Z" }, + { url = "https://files.pythonhosted.org/packages/b6/5f/d6d641b490fd3ec2c4c13b4244d68deea3a1b970a97be64f34fb5504ff72/pydantic_settings-2.9.1-py3-none-any.whl", hash = "sha256:59b4f431b1defb26fe620c71a7d3968a710d719f5f4cdbbdb7926edeb770f6ef", size = 44356, upload-time = "2025-04-18T16:44:46.617Z" }, ] [[package]] @@ -2196,33 +2199,33 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/c1/4a/72a5f3572912d93d8096f8447a20fe3aff5b5dc65aca08a2083eae54d148/pygit2-1.18.0.tar.gz", hash = "sha256:fbd01d04a4d2ce289aaa02cf858043679bf0dd1f9855c6b88ed95382c1f5011a", size = 773270, upload_time = "2025-04-24T19:07:37.273Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c1/4a/72a5f3572912d93d8096f8447a20fe3aff5b5dc65aca08a2083eae54d148/pygit2-1.18.0.tar.gz", hash = "sha256:fbd01d04a4d2ce289aaa02cf858043679bf0dd1f9855c6b88ed95382c1f5011a", size = 773270, upload-time = "2025-04-24T19:07:37.273Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c5/2a/e62f4a52f44a41f9e325d36c00abb16d28b39b9c905c5825b010c4abdfe2/pygit2-1.18.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bba669496d8ba10de8418ba39357a31ae9e2542aa4ecaa26c5c93ee65eee800a", size = 5468163, upload_time = "2025-04-24T18:39:42.13Z" }, - { url = "https://files.pythonhosted.org/packages/85/d2/01669d6fd909c59448131ae761e1912ab04730e1af775e6d4ee2f9e2b113/pygit2-1.18.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:82a120b2ca7276ffcca971e7c4377235ba393f0a37eeda7fec50195d8381ea6b", size = 5706038, upload_time = "2025-04-24T18:39:44.217Z" }, - { url = "https://files.pythonhosted.org/packages/e6/6b/04422e8e9341d71b2d01b7f57a71ed86aed45c40050c8cf549377fd21ce2/pygit2-1.18.0-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:8f9fd97dbf30f2e102f50887aec95ab361ebf9193d5e5ae1fda50eb4f4aa80fe", size = 4587465, upload_time = "2025-04-24T18:39:45.659Z" }, - { url = "https://files.pythonhosted.org/packages/34/99/feb31da1ea52864598d57b84c419a1cddd77b46250015b553d31bc5615f7/pygit2-1.18.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:d05f5b25758699ccd773723e85ded77c5ffed7f7756d200b0ba26e83b13c58e8", size = 5447363, upload_time = "2025-04-24T18:39:47.16Z" }, - { url = "https://files.pythonhosted.org/packages/32/3f/17a6078975e5ec76514736486528ab4a40c0f3ae1da8142fff8e81d436b3/pygit2-1.18.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a3f1a951ccfa9f7d55b3be315a8cce982f61a5df0a4874da3ea0988e1e2afad6", size = 5414398, upload_time = "2025-04-24T18:39:48.882Z" }, - { url = "https://files.pythonhosted.org/packages/39/0f/dbaf8cdbadaf161fe0bb9d3d9a7821cc5fc8e1b32281c240412725c55280/pygit2-1.18.0-cp312-cp312-win32.whl", hash = "sha256:547cdec865827f593097d4fda25c46512ad2a933230c23c9c188e9f9e633849f", size = 1221708, upload_time = "2025-04-24T18:36:20.221Z" }, - { url = "https://files.pythonhosted.org/packages/85/83/2d46e10d2297d414d03f16e0734eec813c6b5a3f97ea5b70eb1be01b687b/pygit2-1.18.0-cp312-cp312-win_amd64.whl", hash = "sha256:b5ef2813f9856d0c8d24e2c414481d29296598fa3e02494174a2d7df16ac276a", size = 1306950, upload_time = "2025-04-24T18:41:07.448Z" }, + { url = "https://files.pythonhosted.org/packages/c5/2a/e62f4a52f44a41f9e325d36c00abb16d28b39b9c905c5825b010c4abdfe2/pygit2-1.18.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bba669496d8ba10de8418ba39357a31ae9e2542aa4ecaa26c5c93ee65eee800a", size = 5468163, upload-time = "2025-04-24T18:39:42.13Z" }, + { url = "https://files.pythonhosted.org/packages/85/d2/01669d6fd909c59448131ae761e1912ab04730e1af775e6d4ee2f9e2b113/pygit2-1.18.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:82a120b2ca7276ffcca971e7c4377235ba393f0a37eeda7fec50195d8381ea6b", size = 5706038, upload-time = "2025-04-24T18:39:44.217Z" }, + { url = "https://files.pythonhosted.org/packages/e6/6b/04422e8e9341d71b2d01b7f57a71ed86aed45c40050c8cf549377fd21ce2/pygit2-1.18.0-cp312-cp312-manylinux_2_28_ppc64le.whl", hash = "sha256:8f9fd97dbf30f2e102f50887aec95ab361ebf9193d5e5ae1fda50eb4f4aa80fe", size = 4587465, upload-time = "2025-04-24T18:39:45.659Z" }, + { url = "https://files.pythonhosted.org/packages/34/99/feb31da1ea52864598d57b84c419a1cddd77b46250015b553d31bc5615f7/pygit2-1.18.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:d05f5b25758699ccd773723e85ded77c5ffed7f7756d200b0ba26e83b13c58e8", size = 5447363, upload-time = "2025-04-24T18:39:47.16Z" }, + { url = "https://files.pythonhosted.org/packages/32/3f/17a6078975e5ec76514736486528ab4a40c0f3ae1da8142fff8e81d436b3/pygit2-1.18.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a3f1a951ccfa9f7d55b3be315a8cce982f61a5df0a4874da3ea0988e1e2afad6", size = 5414398, upload-time = "2025-04-24T18:39:48.882Z" }, + { url = "https://files.pythonhosted.org/packages/39/0f/dbaf8cdbadaf161fe0bb9d3d9a7821cc5fc8e1b32281c240412725c55280/pygit2-1.18.0-cp312-cp312-win32.whl", hash = "sha256:547cdec865827f593097d4fda25c46512ad2a933230c23c9c188e9f9e633849f", size = 1221708, upload-time = "2025-04-24T18:36:20.221Z" }, + { url = "https://files.pythonhosted.org/packages/85/83/2d46e10d2297d414d03f16e0734eec813c6b5a3f97ea5b70eb1be01b687b/pygit2-1.18.0-cp312-cp312-win_amd64.whl", hash = "sha256:b5ef2813f9856d0c8d24e2c414481d29296598fa3e02494174a2d7df16ac276a", size = 1306950, upload-time = "2025-04-24T18:41:07.448Z" }, ] [[package]] name = "pygments" version = "2.19.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload_time = "2025-01-06T17:26:30.443Z" } +sdist = { url = "https://files.pythonhosted.org/packages/7c/2d/c3338d48ea6cc0feb8446d8e6937e1408088a72a39937982cc6111d17f84/pygments-2.19.1.tar.gz", hash = "sha256:61c16d2a8576dc0649d9f39e089b5f02bcd27fba10d8fb4dcc28173f7a45151f", size = 4968581, upload-time = "2025-01-06T17:26:30.443Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload_time = "2025-01-06T17:26:25.553Z" }, + { url = "https://files.pythonhosted.org/packages/8a/0b/9fcc47d19c48b59121088dd6da2488a49d5f72dacf8262e2790a1d2c7d15/pygments-2.19.1-py3-none-any.whl", hash = "sha256:9ea1544ad55cecf4b8242fab6dd35a93bbce657034b0611ee383099054ab6d8c", size = 1225293, upload-time = "2025-01-06T17:26:25.553Z" }, ] [[package]] name = "pyparsing" version = "3.2.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/bb/22/f1129e69d94ffff626bdb5c835506b3a5b4f3d070f17ea295e12c2c6f60f/pyparsing-3.2.3.tar.gz", hash = "sha256:b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be", size = 1088608, upload_time = "2025-03-25T05:01:28.114Z" } +sdist = { url = "https://files.pythonhosted.org/packages/bb/22/f1129e69d94ffff626bdb5c835506b3a5b4f3d070f17ea295e12c2c6f60f/pyparsing-3.2.3.tar.gz", hash = "sha256:b9c13f1ab8b3b542f72e28f634bad4de758ab3ce4546e4301970ad6fa77c38be", size = 1088608, upload-time = "2025-03-25T05:01:28.114Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/05/e7/df2285f3d08fee213f2d041540fa4fc9ca6c2d44cf36d3a035bf2a8d2bcc/pyparsing-3.2.3-py3-none-any.whl", hash = "sha256:a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf", size = 111120, upload_time = "2025-03-25T05:01:24.908Z" }, + { url = "https://files.pythonhosted.org/packages/05/e7/df2285f3d08fee213f2d041540fa4fc9ca6c2d44cf36d3a035bf2a8d2bcc/pyparsing-3.2.3-py3-none-any.whl", hash = "sha256:a749938e02d6fd0b59b356ca504a24982314bb090c383e3cf201c95ef7e2bfcf", size = 111120, upload-time = "2025-03-25T05:01:24.908Z" }, ] [[package]] @@ -2232,36 +2235,36 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "six" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload_time = "2024-03-01T18:36:20.211Z" } +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload_time = "2024-03-01T18:36:18.57Z" }, + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, ] [[package]] name = "python-dotenv" version = "1.1.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920, upload_time = "2025-03-25T10:14:56.835Z" } +sdist = { url = "https://files.pythonhosted.org/packages/88/2c/7bb1416c5620485aa793f2de31d3df393d3686aa8a8506d11e10e13c5baf/python_dotenv-1.1.0.tar.gz", hash = "sha256:41f90bc6f5f177fb41f53e87666db362025010eb28f60a01c9143bfa33a2b2d5", size = 39920, upload-time = "2025-03-25T10:14:56.835Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256, upload_time = "2025-03-25T10:14:55.034Z" }, + { url = "https://files.pythonhosted.org/packages/1e/18/98a99ad95133c6a6e2005fe89faedf294a748bd5dc803008059409ac9b1e/python_dotenv-1.1.0-py3-none-any.whl", hash = "sha256:d7c01d9e2293916c18baf562d95698754b0dbbb5e74d457c45d4f6561fb9d55d", size = 20256, upload-time = "2025-03-25T10:14:55.034Z" }, ] [[package]] name = "python-multipart" version = "0.0.20" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13", size = 37158, upload_time = "2024-12-16T19:45:46.972Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/87/f44d7c9f274c7ee665a29b885ec97089ec5dc034c7f3fafa03da9e39a09e/python_multipart-0.0.20.tar.gz", hash = "sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13", size = 37158, upload-time = "2024-12-16T19:45:46.972Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/45/58/38b5afbc1a800eeea951b9285d3912613f2603bdf897a4ab0f4bd7f405fc/python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104", size = 24546, upload_time = "2024-12-16T19:45:44.423Z" }, + { url = "https://files.pythonhosted.org/packages/45/58/38b5afbc1a800eeea951b9285d3912613f2603bdf897a4ab0f4bd7f405fc/python_multipart-0.0.20-py3-none-any.whl", hash = "sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104", size = 24546, upload-time = "2024-12-16T19:45:44.423Z" }, ] [[package]] name = "pytz" version = "2025.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload_time = "2025-03-25T02:25:00.538Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/bf/abbd3cdfb8fbc7fb3d4d38d320f2441b1e7cbe29be4f23797b4a2b5d8aac/pytz-2025.2.tar.gz", hash = "sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3", size = 320884, upload-time = "2025-03-25T02:25:00.538Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload_time = "2025-03-25T02:24:58.468Z" }, + { url = "https://files.pythonhosted.org/packages/81/c4/34e93fe5f5429d7570ec1fa436f1986fb1f00c3e0f43a589fe2bbcd22c3f/pytz-2025.2-py2.py3-none-any.whl", hash = "sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00", size = 509225, upload-time = "2025-03-25T02:24:58.468Z" }, ] [[package]] @@ -2269,26 +2272,26 @@ name = "pywin32" version = "310" source = { registry = "https://pypi.org/simple" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/ec/4fdbe47932f671d6e348474ea35ed94227fb5df56a7c30cbbb42cd396ed0/pywin32-310-cp312-cp312-win32.whl", hash = "sha256:8a75a5cc3893e83a108c05d82198880704c44bbaee4d06e442e471d3c9ea4f3d", size = 8796239, upload_time = "2025-03-17T00:55:58.807Z" }, - { url = "https://files.pythonhosted.org/packages/e3/e5/b0627f8bb84e06991bea89ad8153a9e50ace40b2e1195d68e9dff6b03d0f/pywin32-310-cp312-cp312-win_amd64.whl", hash = "sha256:bf5c397c9a9a19a6f62f3fb821fbf36cac08f03770056711f765ec1503972060", size = 9503839, upload_time = "2025-03-17T00:56:00.8Z" }, - { url = "https://files.pythonhosted.org/packages/1f/32/9ccf53748df72301a89713936645a664ec001abd35ecc8578beda593d37d/pywin32-310-cp312-cp312-win_arm64.whl", hash = "sha256:2349cc906eae872d0663d4d6290d13b90621eaf78964bb1578632ff20e152966", size = 8459470, upload_time = "2025-03-17T00:56:02.601Z" }, + { url = "https://files.pythonhosted.org/packages/6b/ec/4fdbe47932f671d6e348474ea35ed94227fb5df56a7c30cbbb42cd396ed0/pywin32-310-cp312-cp312-win32.whl", hash = "sha256:8a75a5cc3893e83a108c05d82198880704c44bbaee4d06e442e471d3c9ea4f3d", size = 8796239, upload-time = "2025-03-17T00:55:58.807Z" }, + { url = "https://files.pythonhosted.org/packages/e3/e5/b0627f8bb84e06991bea89ad8153a9e50ace40b2e1195d68e9dff6b03d0f/pywin32-310-cp312-cp312-win_amd64.whl", hash = "sha256:bf5c397c9a9a19a6f62f3fb821fbf36cac08f03770056711f765ec1503972060", size = 9503839, upload-time = "2025-03-17T00:56:00.8Z" }, + { url = "https://files.pythonhosted.org/packages/1f/32/9ccf53748df72301a89713936645a664ec001abd35ecc8578beda593d37d/pywin32-310-cp312-cp312-win_arm64.whl", hash = "sha256:2349cc906eae872d0663d4d6290d13b90621eaf78964bb1578632ff20e152966", size = 8459470, upload-time = "2025-03-17T00:56:02.601Z" }, ] [[package]] name = "pyyaml" version = "6.0.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload_time = "2024-08-06T20:33:50.674Z" } +sdist = { url = "https://files.pythonhosted.org/packages/54/ed/79a089b6be93607fa5cdaedf301d7dfb23af5f25c398d5ead2525b063e17/pyyaml-6.0.2.tar.gz", hash = "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", size = 130631, upload-time = "2024-08-06T20:33:50.674Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload_time = "2024-08-06T20:32:25.131Z" }, - { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload_time = "2024-08-06T20:32:26.511Z" }, - { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload_time = "2024-08-06T20:32:28.363Z" }, - { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload_time = "2024-08-06T20:32:30.058Z" }, - { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload_time = "2024-08-06T20:32:31.881Z" }, - { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload_time = "2024-08-06T20:32:37.083Z" }, - { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload_time = "2024-08-06T20:32:38.898Z" }, - { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload_time = "2024-08-06T20:32:40.241Z" }, - { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload_time = "2024-08-06T20:32:41.93Z" }, + { url = "https://files.pythonhosted.org/packages/86/0c/c581167fc46d6d6d7ddcfb8c843a4de25bdd27e4466938109ca68492292c/PyYAML-6.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", size = 183873, upload-time = "2024-08-06T20:32:25.131Z" }, + { url = "https://files.pythonhosted.org/packages/a8/0c/38374f5bb272c051e2a69281d71cba6fdb983413e6758b84482905e29a5d/PyYAML-6.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", size = 173302, upload-time = "2024-08-06T20:32:26.511Z" }, + { url = "https://files.pythonhosted.org/packages/c3/93/9916574aa8c00aa06bbac729972eb1071d002b8e158bd0e83a3b9a20a1f7/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", size = 739154, upload-time = "2024-08-06T20:32:28.363Z" }, + { url = "https://files.pythonhosted.org/packages/95/0f/b8938f1cbd09739c6da569d172531567dbcc9789e0029aa070856f123984/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", size = 766223, upload-time = "2024-08-06T20:32:30.058Z" }, + { url = "https://files.pythonhosted.org/packages/b9/2b/614b4752f2e127db5cc206abc23a8c19678e92b23c3db30fc86ab731d3bd/PyYAML-6.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", size = 767542, upload-time = "2024-08-06T20:32:31.881Z" }, + { url = "https://files.pythonhosted.org/packages/d4/00/dd137d5bcc7efea1836d6264f049359861cf548469d18da90cd8216cf05f/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", size = 731164, upload-time = "2024-08-06T20:32:37.083Z" }, + { url = "https://files.pythonhosted.org/packages/c9/1f/4f998c900485e5c0ef43838363ba4a9723ac0ad73a9dc42068b12aaba4e4/PyYAML-6.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", size = 756611, upload-time = "2024-08-06T20:32:38.898Z" }, + { url = "https://files.pythonhosted.org/packages/df/d1/f5a275fdb252768b7a11ec63585bc38d0e87c9e05668a139fea92b80634c/PyYAML-6.0.2-cp312-cp312-win32.whl", hash = "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", size = 140591, upload-time = "2024-08-06T20:32:40.241Z" }, + { url = "https://files.pythonhosted.org/packages/0c/e8/4f648c598b17c3d06e8753d7d13d57542b30d56e6c2dedf9c331ae56312e/PyYAML-6.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", size = 156338, upload-time = "2024-08-06T20:32:41.93Z" }, ] [[package]] @@ -2298,18 +2301,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "cffi", marker = "implementation_name == 'pypy'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f1/06/50a4e9648b3e8b992bef8eb632e457307553a89d294103213cfd47b3da69/pyzmq-27.0.0.tar.gz", hash = "sha256:b1f08eeb9ce1510e6939b6e5dcd46a17765e2333daae78ecf4606808442e52cf", size = 280478, upload_time = "2025-06-13T14:09:07.087Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f1/06/50a4e9648b3e8b992bef8eb632e457307553a89d294103213cfd47b3da69/pyzmq-27.0.0.tar.gz", hash = "sha256:b1f08eeb9ce1510e6939b6e5dcd46a17765e2333daae78ecf4606808442e52cf", size = 280478, upload-time = "2025-06-13T14:09:07.087Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/93/a7/9ad68f55b8834ede477842214feba6a4c786d936c022a67625497aacf61d/pyzmq-27.0.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:cbabc59dcfaac66655c040dfcb8118f133fb5dde185e5fc152628354c1598e52", size = 1305438, upload_time = "2025-06-13T14:07:31.676Z" }, - { url = "https://files.pythonhosted.org/packages/ba/ee/26aa0f98665a22bc90ebe12dced1de5f3eaca05363b717f6fb229b3421b3/pyzmq-27.0.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:cb0ac5179cba4b2f94f1aa208fbb77b62c4c9bf24dd446278b8b602cf85fcda3", size = 895095, upload_time = "2025-06-13T14:07:33.104Z" }, - { url = "https://files.pythonhosted.org/packages/cf/85/c57e7ab216ecd8aa4cc7e3b83b06cc4e9cf45c87b0afc095f10cd5ce87c1/pyzmq-27.0.0-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53a48f0228eab6cbf69fde3aa3c03cbe04e50e623ef92ae395fce47ef8a76152", size = 651826, upload_time = "2025-06-13T14:07:34.831Z" }, - { url = "https://files.pythonhosted.org/packages/69/9a/9ea7e230feda9400fb0ae0d61d7d6ddda635e718d941c44eeab22a179d34/pyzmq-27.0.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:111db5f395e09f7e775f759d598f43cb815fc58e0147623c4816486e1a39dc22", size = 839750, upload_time = "2025-06-13T14:07:36.553Z" }, - { url = "https://files.pythonhosted.org/packages/08/66/4cebfbe71f3dfbd417011daca267539f62ed0fbc68105357b68bbb1a25b7/pyzmq-27.0.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c8878011653dcdc27cc2c57e04ff96f0471e797f5c19ac3d7813a245bcb24371", size = 1641357, upload_time = "2025-06-13T14:07:38.21Z" }, - { url = "https://files.pythonhosted.org/packages/ac/f6/b0f62578c08d2471c791287149cb8c2aaea414ae98c6e995c7dbe008adfb/pyzmq-27.0.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:c0ed2c1f335ba55b5fdc964622254917d6b782311c50e138863eda409fbb3b6d", size = 2020281, upload_time = "2025-06-13T14:07:39.599Z" }, - { url = "https://files.pythonhosted.org/packages/37/b9/4f670b15c7498495da9159edc374ec09c88a86d9cd5a47d892f69df23450/pyzmq-27.0.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:e918d70862d4cfd4b1c187310015646a14e1f5917922ab45b29f28f345eeb6be", size = 1877110, upload_time = "2025-06-13T14:07:41.027Z" }, - { url = "https://files.pythonhosted.org/packages/66/31/9dee25c226295b740609f0d46db2fe972b23b6f5cf786360980524a3ba92/pyzmq-27.0.0-cp312-abi3-win32.whl", hash = "sha256:88b4e43cab04c3c0f0d55df3b1eef62df2b629a1a369b5289a58f6fa8b07c4f4", size = 559297, upload_time = "2025-06-13T14:07:42.533Z" }, - { url = "https://files.pythonhosted.org/packages/9b/12/52da5509800f7ff2d287b2f2b4e636e7ea0f001181cba6964ff6c1537778/pyzmq-27.0.0-cp312-abi3-win_amd64.whl", hash = "sha256:dce4199bf5f648a902ce37e7b3afa286f305cd2ef7a8b6ec907470ccb6c8b371", size = 619203, upload_time = "2025-06-13T14:07:43.843Z" }, - { url = "https://files.pythonhosted.org/packages/93/6d/7f2e53b19d1edb1eb4f09ec7c3a1f945ca0aac272099eab757d15699202b/pyzmq-27.0.0-cp312-abi3-win_arm64.whl", hash = "sha256:56e46bbb85d52c1072b3f809cc1ce77251d560bc036d3a312b96db1afe76db2e", size = 551927, upload_time = "2025-06-13T14:07:45.51Z" }, + { url = "https://files.pythonhosted.org/packages/93/a7/9ad68f55b8834ede477842214feba6a4c786d936c022a67625497aacf61d/pyzmq-27.0.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:cbabc59dcfaac66655c040dfcb8118f133fb5dde185e5fc152628354c1598e52", size = 1305438, upload-time = "2025-06-13T14:07:31.676Z" }, + { url = "https://files.pythonhosted.org/packages/ba/ee/26aa0f98665a22bc90ebe12dced1de5f3eaca05363b717f6fb229b3421b3/pyzmq-27.0.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:cb0ac5179cba4b2f94f1aa208fbb77b62c4c9bf24dd446278b8b602cf85fcda3", size = 895095, upload-time = "2025-06-13T14:07:33.104Z" }, + { url = "https://files.pythonhosted.org/packages/cf/85/c57e7ab216ecd8aa4cc7e3b83b06cc4e9cf45c87b0afc095f10cd5ce87c1/pyzmq-27.0.0-cp312-abi3-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:53a48f0228eab6cbf69fde3aa3c03cbe04e50e623ef92ae395fce47ef8a76152", size = 651826, upload-time = "2025-06-13T14:07:34.831Z" }, + { url = "https://files.pythonhosted.org/packages/69/9a/9ea7e230feda9400fb0ae0d61d7d6ddda635e718d941c44eeab22a179d34/pyzmq-27.0.0-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:111db5f395e09f7e775f759d598f43cb815fc58e0147623c4816486e1a39dc22", size = 839750, upload-time = "2025-06-13T14:07:36.553Z" }, + { url = "https://files.pythonhosted.org/packages/08/66/4cebfbe71f3dfbd417011daca267539f62ed0fbc68105357b68bbb1a25b7/pyzmq-27.0.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c8878011653dcdc27cc2c57e04ff96f0471e797f5c19ac3d7813a245bcb24371", size = 1641357, upload-time = "2025-06-13T14:07:38.21Z" }, + { url = "https://files.pythonhosted.org/packages/ac/f6/b0f62578c08d2471c791287149cb8c2aaea414ae98c6e995c7dbe008adfb/pyzmq-27.0.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:c0ed2c1f335ba55b5fdc964622254917d6b782311c50e138863eda409fbb3b6d", size = 2020281, upload-time = "2025-06-13T14:07:39.599Z" }, + { url = "https://files.pythonhosted.org/packages/37/b9/4f670b15c7498495da9159edc374ec09c88a86d9cd5a47d892f69df23450/pyzmq-27.0.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:e918d70862d4cfd4b1c187310015646a14e1f5917922ab45b29f28f345eeb6be", size = 1877110, upload-time = "2025-06-13T14:07:41.027Z" }, + { url = "https://files.pythonhosted.org/packages/66/31/9dee25c226295b740609f0d46db2fe972b23b6f5cf786360980524a3ba92/pyzmq-27.0.0-cp312-abi3-win32.whl", hash = "sha256:88b4e43cab04c3c0f0d55df3b1eef62df2b629a1a369b5289a58f6fa8b07c4f4", size = 559297, upload-time = "2025-06-13T14:07:42.533Z" }, + { url = "https://files.pythonhosted.org/packages/9b/12/52da5509800f7ff2d287b2f2b4e636e7ea0f001181cba6964ff6c1537778/pyzmq-27.0.0-cp312-abi3-win_amd64.whl", hash = "sha256:dce4199bf5f648a902ce37e7b3afa286f305cd2ef7a8b6ec907470ccb6c8b371", size = 619203, upload-time = "2025-06-13T14:07:43.843Z" }, + { url = "https://files.pythonhosted.org/packages/93/6d/7f2e53b19d1edb1eb4f09ec7c3a1f945ca0aac272099eab757d15699202b/pyzmq-27.0.0-cp312-abi3-win_arm64.whl", hash = "sha256:56e46bbb85d52c1072b3f809cc1ce77251d560bc036d3a312b96db1afe76db2e", size = 551927, upload-time = "2025-06-13T14:07:45.51Z" }, ] [[package]] @@ -2321,32 +2324,32 @@ dependencies = [ { name = "rpds-py" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744, upload_time = "2025-01-25T08:48:16.138Z" } +sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744, upload-time = "2025-01-25T08:48:16.138Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775, upload_time = "2025-01-25T08:48:14.241Z" }, + { url = "https://files.pythonhosted.org/packages/c1/b1/3baf80dc6d2b7bc27a95a67752d0208e410351e3feb4eb78de5f77454d8d/referencing-0.36.2-py3-none-any.whl", hash = "sha256:e8699adbbf8b5c7de96d8ffa0eb5c158b3beafce084968e2ea8bb08c6794dcd0", size = 26775, upload-time = "2025-01-25T08:48:14.241Z" }, ] [[package]] name = "regex" version = "2024.11.6" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494, upload_time = "2024-11-06T20:12:31.635Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8e/5f/bd69653fbfb76cf8604468d3b4ec4c403197144c7bfe0e6a5fc9e02a07cb/regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519", size = 399494, upload-time = "2024-11-06T20:12:31.635Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781, upload_time = "2024-11-06T20:10:07.07Z" }, - { url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455, upload_time = "2024-11-06T20:10:09.117Z" }, - { url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759, upload_time = "2024-11-06T20:10:11.155Z" }, - { url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976, upload_time = "2024-11-06T20:10:13.24Z" }, - { url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077, upload_time = "2024-11-06T20:10:15.37Z" }, - { url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160, upload_time = "2024-11-06T20:10:19.027Z" }, - { url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896, upload_time = "2024-11-06T20:10:21.85Z" }, - { url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997, upload_time = "2024-11-06T20:10:24.329Z" }, - { url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725, upload_time = "2024-11-06T20:10:28.067Z" }, - { url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481, upload_time = "2024-11-06T20:10:31.612Z" }, - { url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896, upload_time = "2024-11-06T20:10:34.054Z" }, - { url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138, upload_time = "2024-11-06T20:10:36.142Z" }, - { url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692, upload_time = "2024-11-06T20:10:38.394Z" }, - { url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135, upload_time = "2024-11-06T20:10:40.367Z" }, - { url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567, upload_time = "2024-11-06T20:10:43.467Z" }, + { url = "https://files.pythonhosted.org/packages/ba/30/9a87ce8336b172cc232a0db89a3af97929d06c11ceaa19d97d84fa90a8f8/regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a", size = 483781, upload-time = "2024-11-06T20:10:07.07Z" }, + { url = "https://files.pythonhosted.org/packages/01/e8/00008ad4ff4be8b1844786ba6636035f7ef926db5686e4c0f98093612add/regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9", size = 288455, upload-time = "2024-11-06T20:10:09.117Z" }, + { url = "https://files.pythonhosted.org/packages/60/85/cebcc0aff603ea0a201667b203f13ba75d9fc8668fab917ac5b2de3967bc/regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2", size = 284759, upload-time = "2024-11-06T20:10:11.155Z" }, + { url = "https://files.pythonhosted.org/packages/94/2b/701a4b0585cb05472a4da28ee28fdfe155f3638f5e1ec92306d924e5faf0/regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4", size = 794976, upload-time = "2024-11-06T20:10:13.24Z" }, + { url = "https://files.pythonhosted.org/packages/4b/bf/fa87e563bf5fee75db8915f7352e1887b1249126a1be4813837f5dbec965/regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577", size = 833077, upload-time = "2024-11-06T20:10:15.37Z" }, + { url = "https://files.pythonhosted.org/packages/a1/56/7295e6bad94b047f4d0834e4779491b81216583c00c288252ef625c01d23/regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3", size = 823160, upload-time = "2024-11-06T20:10:19.027Z" }, + { url = "https://files.pythonhosted.org/packages/fb/13/e3b075031a738c9598c51cfbc4c7879e26729c53aa9cca59211c44235314/regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e", size = 796896, upload-time = "2024-11-06T20:10:21.85Z" }, + { url = "https://files.pythonhosted.org/packages/24/56/0b3f1b66d592be6efec23a795b37732682520b47c53da5a32c33ed7d84e3/regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe", size = 783997, upload-time = "2024-11-06T20:10:24.329Z" }, + { url = "https://files.pythonhosted.org/packages/f9/a1/eb378dada8b91c0e4c5f08ffb56f25fcae47bf52ad18f9b2f33b83e6d498/regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e", size = 781725, upload-time = "2024-11-06T20:10:28.067Z" }, + { url = "https://files.pythonhosted.org/packages/83/f2/033e7dec0cfd6dda93390089864732a3409246ffe8b042e9554afa9bff4e/regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29", size = 789481, upload-time = "2024-11-06T20:10:31.612Z" }, + { url = "https://files.pythonhosted.org/packages/83/23/15d4552ea28990a74e7696780c438aadd73a20318c47e527b47a4a5a596d/regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39", size = 852896, upload-time = "2024-11-06T20:10:34.054Z" }, + { url = "https://files.pythonhosted.org/packages/e3/39/ed4416bc90deedbfdada2568b2cb0bc1fdb98efe11f5378d9892b2a88f8f/regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51", size = 860138, upload-time = "2024-11-06T20:10:36.142Z" }, + { url = "https://files.pythonhosted.org/packages/93/2d/dd56bb76bd8e95bbce684326302f287455b56242a4f9c61f1bc76e28360e/regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad", size = 787692, upload-time = "2024-11-06T20:10:38.394Z" }, + { url = "https://files.pythonhosted.org/packages/0b/55/31877a249ab7a5156758246b9c59539abbeba22461b7d8adc9e8475ff73e/regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54", size = 262135, upload-time = "2024-11-06T20:10:40.367Z" }, + { url = "https://files.pythonhosted.org/packages/38/ec/ad2d7de49a600cdb8dd78434a1aeffe28b9d6fc42eb36afab4a27ad23384/regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b", size = 273567, upload-time = "2024-11-06T20:10:43.467Z" }, ] [[package]] @@ -2359,9 +2362,9 @@ dependencies = [ { name = "idna" }, { name = "urllib3" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload_time = "2025-06-09T16:43:07.34Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e1/0a/929373653770d8a0d7ea76c37de6e41f11eb07559b103b1c02cafb3f7cf8/requests-2.32.4.tar.gz", hash = "sha256:27d0316682c8a29834d3264820024b62a36942083d52caf2f14c0591336d3422", size = 135258, upload-time = "2025-06-09T16:43:07.34Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload_time = "2025-06-09T16:43:05.728Z" }, + { url = "https://files.pythonhosted.org/packages/7c/e4/56027c4a6b4ae70ca9de302488c5ca95ad4a39e190093d6c1a8ace08341b/requests-2.32.4-py3-none-any.whl", hash = "sha256:27babd3cda2a6d50b30443204ee89830707d396671944c998b5975b031ac2b2c", size = 64847, upload-time = "2025-06-09T16:43:05.728Z" }, ] [[package]] @@ -2372,9 +2375,9 @@ dependencies = [ { name = "markdown-it-py" }, { name = "pygments" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a1/53/830aa4c3066a8ab0ae9a9955976fb770fe9c6102117c8ec4ab3ea62d89e8/rich-14.0.0.tar.gz", hash = "sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725", size = 224078, upload_time = "2025-03-30T14:15:14.23Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/53/830aa4c3066a8ab0ae9a9955976fb770fe9c6102117c8ec4ab3ea62d89e8/rich-14.0.0.tar.gz", hash = "sha256:82f1bc23a6a21ebca4ae0c45af9bdbc492ed20231dcb63f297d6d1021a9d5725", size = 224078, upload-time = "2025-03-30T14:15:14.23Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/0d/9b/63f4c7ebc259242c89b3acafdb37b41d1185c07ff0011164674e9076b491/rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0", size = 243229, upload_time = "2025-03-30T14:15:12.283Z" }, + { url = "https://files.pythonhosted.org/packages/0d/9b/63f4c7ebc259242c89b3acafdb37b41d1185c07ff0011164674e9076b491/rich-14.0.0-py3-none-any.whl", hash = "sha256:1c9491e1951aac09caffd42f448ee3d04e58923ffe14993f6e83068dc395d7e0", size = 243229, upload-time = "2025-03-30T14:15:12.283Z" }, ] [[package]] @@ -2385,31 +2388,31 @@ dependencies = [ { name = "docutils" }, { name = "rich" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/b0/69/5514c3a87b5f10f09a34bb011bc0927bc12c596c8dae5915604e71abc386/rich_rst-1.3.1.tar.gz", hash = "sha256:fad46e3ba42785ea8c1785e2ceaa56e0ffa32dbe5410dec432f37e4107c4f383", size = 13839, upload_time = "2024-04-30T04:40:38.125Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/69/5514c3a87b5f10f09a34bb011bc0927bc12c596c8dae5915604e71abc386/rich_rst-1.3.1.tar.gz", hash = "sha256:fad46e3ba42785ea8c1785e2ceaa56e0ffa32dbe5410dec432f37e4107c4f383", size = 13839, upload-time = "2024-04-30T04:40:38.125Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fd/bc/cc4e3dbc5e7992398dcb7a8eda0cbcf4fb792a0cdb93f857b478bf3cf884/rich_rst-1.3.1-py3-none-any.whl", hash = "sha256:498a74e3896507ab04492d326e794c3ef76e7cda078703aa592d1853d91098c1", size = 11621, upload_time = "2024-04-30T04:40:32.619Z" }, + { url = "https://files.pythonhosted.org/packages/fd/bc/cc4e3dbc5e7992398dcb7a8eda0cbcf4fb792a0cdb93f857b478bf3cf884/rich_rst-1.3.1-py3-none-any.whl", hash = "sha256:498a74e3896507ab04492d326e794c3ef76e7cda078703aa592d1853d91098c1", size = 11621, upload-time = "2024-04-30T04:40:32.619Z" }, ] [[package]] name = "rpds-py" version = "0.25.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8c/a6/60184b7fc00dd3ca80ac635dd5b8577d444c57e8e8742cecabfacb829921/rpds_py-0.25.1.tar.gz", hash = "sha256:8960b6dac09b62dac26e75d7e2c4a22efb835d827a7278c34f72b2b84fa160e3", size = 27304, upload_time = "2025-05-21T12:46:12.502Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8c/a6/60184b7fc00dd3ca80ac635dd5b8577d444c57e8e8742cecabfacb829921/rpds_py-0.25.1.tar.gz", hash = "sha256:8960b6dac09b62dac26e75d7e2c4a22efb835d827a7278c34f72b2b84fa160e3", size = 27304, upload-time = "2025-05-21T12:46:12.502Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/7f/81/28ab0408391b1dc57393653b6a0cf2014cc282cc2909e4615e63e58262be/rpds_py-0.25.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:b5ffe453cde61f73fea9430223c81d29e2fbf412a6073951102146c84e19e34c", size = 364647, upload_time = "2025-05-21T12:43:28.559Z" }, - { url = "https://files.pythonhosted.org/packages/2c/9a/7797f04cad0d5e56310e1238434f71fc6939d0bc517192a18bb99a72a95f/rpds_py-0.25.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:115874ae5e2fdcfc16b2aedc95b5eef4aebe91b28e7e21951eda8a5dc0d3461b", size = 350454, upload_time = "2025-05-21T12:43:30.615Z" }, - { url = "https://files.pythonhosted.org/packages/69/3c/93d2ef941b04898011e5d6eaa56a1acf46a3b4c9f4b3ad1bbcbafa0bee1f/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a714bf6e5e81b0e570d01f56e0c89c6375101b8463999ead3a93a5d2a4af91fa", size = 389665, upload_time = "2025-05-21T12:43:32.629Z" }, - { url = "https://files.pythonhosted.org/packages/c1/57/ad0e31e928751dde8903a11102559628d24173428a0f85e25e187defb2c1/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:35634369325906bcd01577da4c19e3b9541a15e99f31e91a02d010816b49bfda", size = 403873, upload_time = "2025-05-21T12:43:34.576Z" }, - { url = "https://files.pythonhosted.org/packages/16/ad/c0c652fa9bba778b4f54980a02962748479dc09632e1fd34e5282cf2556c/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4cb2b3ddc16710548801c6fcc0cfcdeeff9dafbc983f77265877793f2660309", size = 525866, upload_time = "2025-05-21T12:43:36.123Z" }, - { url = "https://files.pythonhosted.org/packages/2a/39/3e1839bc527e6fcf48d5fec4770070f872cdee6c6fbc9b259932f4e88a38/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9ceca1cf097ed77e1a51f1dbc8d174d10cb5931c188a4505ff9f3e119dfe519b", size = 416886, upload_time = "2025-05-21T12:43:38.034Z" }, - { url = "https://files.pythonhosted.org/packages/7a/95/dd6b91cd4560da41df9d7030a038298a67d24f8ca38e150562644c829c48/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c2cd1a4b0c2b8c5e31ffff50d09f39906fe351389ba143c195566056c13a7ea", size = 390666, upload_time = "2025-05-21T12:43:40.065Z" }, - { url = "https://files.pythonhosted.org/packages/64/48/1be88a820e7494ce0a15c2d390ccb7c52212370badabf128e6a7bb4cb802/rpds_py-0.25.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1de336a4b164c9188cb23f3703adb74a7623ab32d20090d0e9bf499a2203ad65", size = 425109, upload_time = "2025-05-21T12:43:42.263Z" }, - { url = "https://files.pythonhosted.org/packages/cf/07/3e2a17927ef6d7720b9949ec1b37d1e963b829ad0387f7af18d923d5cfa5/rpds_py-0.25.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9fca84a15333e925dd59ce01da0ffe2ffe0d6e5d29a9eeba2148916d1824948c", size = 567244, upload_time = "2025-05-21T12:43:43.846Z" }, - { url = "https://files.pythonhosted.org/packages/d2/e5/76cf010998deccc4f95305d827847e2eae9c568099c06b405cf96384762b/rpds_py-0.25.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:88ec04afe0c59fa64e2f6ea0dd9657e04fc83e38de90f6de201954b4d4eb59bd", size = 596023, upload_time = "2025-05-21T12:43:45.932Z" }, - { url = "https://files.pythonhosted.org/packages/52/9a/df55efd84403736ba37a5a6377b70aad0fd1cb469a9109ee8a1e21299a1c/rpds_py-0.25.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a8bd2f19e312ce3e1d2c635618e8a8d8132892bb746a7cf74780a489f0f6cdcb", size = 561634, upload_time = "2025-05-21T12:43:48.263Z" }, - { url = "https://files.pythonhosted.org/packages/ab/aa/dc3620dd8db84454aaf9374bd318f1aa02578bba5e567f5bf6b79492aca4/rpds_py-0.25.1-cp312-cp312-win32.whl", hash = "sha256:e5e2f7280d8d0d3ef06f3ec1b4fd598d386cc6f0721e54f09109a8132182fbfe", size = 222713, upload_time = "2025-05-21T12:43:49.897Z" }, - { url = "https://files.pythonhosted.org/packages/a3/7f/7cef485269a50ed5b4e9bae145f512d2a111ca638ae70cc101f661b4defd/rpds_py-0.25.1-cp312-cp312-win_amd64.whl", hash = "sha256:db58483f71c5db67d643857404da360dce3573031586034b7d59f245144cc192", size = 235280, upload_time = "2025-05-21T12:43:51.893Z" }, - { url = "https://files.pythonhosted.org/packages/99/f2/c2d64f6564f32af913bf5f3f7ae41c7c263c5ae4c4e8f1a17af8af66cd46/rpds_py-0.25.1-cp312-cp312-win_arm64.whl", hash = "sha256:6d50841c425d16faf3206ddbba44c21aa3310a0cebc3c1cdfc3e3f4f9f6f5728", size = 225399, upload_time = "2025-05-21T12:43:53.351Z" }, + { url = "https://files.pythonhosted.org/packages/7f/81/28ab0408391b1dc57393653b6a0cf2014cc282cc2909e4615e63e58262be/rpds_py-0.25.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:b5ffe453cde61f73fea9430223c81d29e2fbf412a6073951102146c84e19e34c", size = 364647, upload-time = "2025-05-21T12:43:28.559Z" }, + { url = "https://files.pythonhosted.org/packages/2c/9a/7797f04cad0d5e56310e1238434f71fc6939d0bc517192a18bb99a72a95f/rpds_py-0.25.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:115874ae5e2fdcfc16b2aedc95b5eef4aebe91b28e7e21951eda8a5dc0d3461b", size = 350454, upload-time = "2025-05-21T12:43:30.615Z" }, + { url = "https://files.pythonhosted.org/packages/69/3c/93d2ef941b04898011e5d6eaa56a1acf46a3b4c9f4b3ad1bbcbafa0bee1f/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a714bf6e5e81b0e570d01f56e0c89c6375101b8463999ead3a93a5d2a4af91fa", size = 389665, upload-time = "2025-05-21T12:43:32.629Z" }, + { url = "https://files.pythonhosted.org/packages/c1/57/ad0e31e928751dde8903a11102559628d24173428a0f85e25e187defb2c1/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:35634369325906bcd01577da4c19e3b9541a15e99f31e91a02d010816b49bfda", size = 403873, upload-time = "2025-05-21T12:43:34.576Z" }, + { url = "https://files.pythonhosted.org/packages/16/ad/c0c652fa9bba778b4f54980a02962748479dc09632e1fd34e5282cf2556c/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4cb2b3ddc16710548801c6fcc0cfcdeeff9dafbc983f77265877793f2660309", size = 525866, upload-time = "2025-05-21T12:43:36.123Z" }, + { url = "https://files.pythonhosted.org/packages/2a/39/3e1839bc527e6fcf48d5fec4770070f872cdee6c6fbc9b259932f4e88a38/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9ceca1cf097ed77e1a51f1dbc8d174d10cb5931c188a4505ff9f3e119dfe519b", size = 416886, upload-time = "2025-05-21T12:43:38.034Z" }, + { url = "https://files.pythonhosted.org/packages/7a/95/dd6b91cd4560da41df9d7030a038298a67d24f8ca38e150562644c829c48/rpds_py-0.25.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2c2cd1a4b0c2b8c5e31ffff50d09f39906fe351389ba143c195566056c13a7ea", size = 390666, upload-time = "2025-05-21T12:43:40.065Z" }, + { url = "https://files.pythonhosted.org/packages/64/48/1be88a820e7494ce0a15c2d390ccb7c52212370badabf128e6a7bb4cb802/rpds_py-0.25.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1de336a4b164c9188cb23f3703adb74a7623ab32d20090d0e9bf499a2203ad65", size = 425109, upload-time = "2025-05-21T12:43:42.263Z" }, + { url = "https://files.pythonhosted.org/packages/cf/07/3e2a17927ef6d7720b9949ec1b37d1e963b829ad0387f7af18d923d5cfa5/rpds_py-0.25.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:9fca84a15333e925dd59ce01da0ffe2ffe0d6e5d29a9eeba2148916d1824948c", size = 567244, upload-time = "2025-05-21T12:43:43.846Z" }, + { url = "https://files.pythonhosted.org/packages/d2/e5/76cf010998deccc4f95305d827847e2eae9c568099c06b405cf96384762b/rpds_py-0.25.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:88ec04afe0c59fa64e2f6ea0dd9657e04fc83e38de90f6de201954b4d4eb59bd", size = 596023, upload-time = "2025-05-21T12:43:45.932Z" }, + { url = "https://files.pythonhosted.org/packages/52/9a/df55efd84403736ba37a5a6377b70aad0fd1cb469a9109ee8a1e21299a1c/rpds_py-0.25.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a8bd2f19e312ce3e1d2c635618e8a8d8132892bb746a7cf74780a489f0f6cdcb", size = 561634, upload-time = "2025-05-21T12:43:48.263Z" }, + { url = "https://files.pythonhosted.org/packages/ab/aa/dc3620dd8db84454aaf9374bd318f1aa02578bba5e567f5bf6b79492aca4/rpds_py-0.25.1-cp312-cp312-win32.whl", hash = "sha256:e5e2f7280d8d0d3ef06f3ec1b4fd598d386cc6f0721e54f09109a8132182fbfe", size = 222713, upload-time = "2025-05-21T12:43:49.897Z" }, + { url = "https://files.pythonhosted.org/packages/a3/7f/7cef485269a50ed5b4e9bae145f512d2a111ca638ae70cc101f661b4defd/rpds_py-0.25.1-cp312-cp312-win_amd64.whl", hash = "sha256:db58483f71c5db67d643857404da360dce3573031586034b7d59f245144cc192", size = 235280, upload-time = "2025-05-21T12:43:51.893Z" }, + { url = "https://files.pythonhosted.org/packages/99/f2/c2d64f6564f32af913bf5f3f7ae41c7c263c5ae4c4e8f1a17af8af66cd46/rpds_py-0.25.1-cp312-cp312-win_arm64.whl", hash = "sha256:6d50841c425d16faf3206ddbba44c21aa3310a0cebc3c1cdfc3e3f4f9f6f5728", size = 225399, upload-time = "2025-05-21T12:43:53.351Z" }, ] [[package]] @@ -2419,31 +2422,31 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "pyasn1" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/da/8a/22b7beea3ee0d44b1916c0c1cb0ee3af23b700b6da9f04991899d0c555d4/rsa-4.9.1.tar.gz", hash = "sha256:e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75", size = 29034, upload_time = "2025-04-16T09:51:18.218Z" } +sdist = { url = "https://files.pythonhosted.org/packages/da/8a/22b7beea3ee0d44b1916c0c1cb0ee3af23b700b6da9f04991899d0c555d4/rsa-4.9.1.tar.gz", hash = "sha256:e7bdbfdb5497da4c07dfd35530e1a902659db6ff241e39d9953cad06ebd0ae75", size = 29034, upload-time = "2025-04-16T09:51:18.218Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/64/8d/0133e4eb4beed9e425d9a98ed6e081a55d195481b7632472be1af08d2f6b/rsa-4.9.1-py3-none-any.whl", hash = "sha256:68635866661c6836b8d39430f97a996acbd61bfa49406748ea243539fe239762", size = 34696, upload_time = "2025-04-16T09:51:17.142Z" }, + { url = "https://files.pythonhosted.org/packages/64/8d/0133e4eb4beed9e425d9a98ed6e081a55d195481b7632472be1af08d2f6b/rsa-4.9.1-py3-none-any.whl", hash = "sha256:68635866661c6836b8d39430f97a996acbd61bfa49406748ea243539fe239762", size = 34696, upload-time = "2025-04-16T09:51:17.142Z" }, ] [[package]] name = "safetensors" version = "0.5.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/71/7e/2d5d6ee7b40c0682315367ec7475693d110f512922d582fef1bd4a63adc3/safetensors-0.5.3.tar.gz", hash = "sha256:b6b0d6ecacec39a4fdd99cc19f4576f5219ce858e6fd8dbe7609df0b8dc56965", size = 67210, upload_time = "2025-02-26T09:15:13.155Z" } +sdist = { url = "https://files.pythonhosted.org/packages/71/7e/2d5d6ee7b40c0682315367ec7475693d110f512922d582fef1bd4a63adc3/safetensors-0.5.3.tar.gz", hash = "sha256:b6b0d6ecacec39a4fdd99cc19f4576f5219ce858e6fd8dbe7609df0b8dc56965", size = 67210, upload-time = "2025-02-26T09:15:13.155Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/18/ae/88f6c49dbd0cc4da0e08610019a3c78a7d390879a919411a410a1876d03a/safetensors-0.5.3-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:bd20eb133db8ed15b40110b7c00c6df51655a2998132193de2f75f72d99c7073", size = 436917, upload_time = "2025-02-26T09:15:03.702Z" }, - { url = "https://files.pythonhosted.org/packages/b8/3b/11f1b4a2f5d2ab7da34ecc062b0bc301f2be024d110a6466726bec8c055c/safetensors-0.5.3-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:21d01c14ff6c415c485616b8b0bf961c46b3b343ca59110d38d744e577f9cce7", size = 418419, upload_time = "2025-02-26T09:15:01.765Z" }, - { url = "https://files.pythonhosted.org/packages/5d/9a/add3e6fef267658075c5a41573c26d42d80c935cdc992384dfae435feaef/safetensors-0.5.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11bce6164887cd491ca75c2326a113ba934be596e22b28b1742ce27b1d076467", size = 459493, upload_time = "2025-02-26T09:14:51.812Z" }, - { url = "https://files.pythonhosted.org/packages/df/5c/bf2cae92222513cc23b3ff85c4a1bb2811a2c3583ac0f8e8d502751de934/safetensors-0.5.3-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4a243be3590bc3301c821da7a18d87224ef35cbd3e5f5727e4e0728b8172411e", size = 472400, upload_time = "2025-02-26T09:14:53.549Z" }, - { url = "https://files.pythonhosted.org/packages/58/11/7456afb740bd45782d0f4c8e8e1bb9e572f1bf82899fb6ace58af47b4282/safetensors-0.5.3-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8bd84b12b1670a6f8e50f01e28156422a2bc07fb16fc4e98bded13039d688a0d", size = 522891, upload_time = "2025-02-26T09:14:55.717Z" }, - { url = "https://files.pythonhosted.org/packages/57/3d/fe73a9d2ace487e7285f6e157afee2383bd1ddb911b7cb44a55cf812eae3/safetensors-0.5.3-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:391ac8cab7c829452175f871fcaf414aa1e292b5448bd02620f675a7f3e7abb9", size = 537694, upload_time = "2025-02-26T09:14:57.036Z" }, - { url = "https://files.pythonhosted.org/packages/a6/f8/dae3421624fcc87a89d42e1898a798bc7ff72c61f38973a65d60df8f124c/safetensors-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cead1fa41fc54b1e61089fa57452e8834f798cb1dc7a09ba3524f1eb08e0317a", size = 471642, upload_time = "2025-02-26T09:15:00.544Z" }, - { url = "https://files.pythonhosted.org/packages/ce/20/1fbe16f9b815f6c5a672f5b760951e20e17e43f67f231428f871909a37f6/safetensors-0.5.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1077f3e94182d72618357b04b5ced540ceb71c8a813d3319f1aba448e68a770d", size = 502241, upload_time = "2025-02-26T09:14:58.303Z" }, - { url = "https://files.pythonhosted.org/packages/5f/18/8e108846b506487aa4629fe4116b27db65c3dde922de2c8e0cc1133f3f29/safetensors-0.5.3-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:799021e78287bac619c7b3f3606730a22da4cda27759ddf55d37c8db7511c74b", size = 638001, upload_time = "2025-02-26T09:15:05.79Z" }, - { url = "https://files.pythonhosted.org/packages/82/5a/c116111d8291af6c8c8a8b40628fe833b9db97d8141c2a82359d14d9e078/safetensors-0.5.3-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:df26da01aaac504334644e1b7642fa000bfec820e7cef83aeac4e355e03195ff", size = 734013, upload_time = "2025-02-26T09:15:07.892Z" }, - { url = "https://files.pythonhosted.org/packages/7d/ff/41fcc4d3b7de837963622e8610d998710705bbde9a8a17221d85e5d0baad/safetensors-0.5.3-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:32c3ef2d7af8b9f52ff685ed0bc43913cdcde135089ae322ee576de93eae5135", size = 670687, upload_time = "2025-02-26T09:15:09.979Z" }, - { url = "https://files.pythonhosted.org/packages/40/ad/2b113098e69c985a3d8fbda4b902778eae4a35b7d5188859b4a63d30c161/safetensors-0.5.3-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:37f1521be045e56fc2b54c606d4455573e717b2d887c579ee1dbba5f868ece04", size = 643147, upload_time = "2025-02-26T09:15:11.185Z" }, - { url = "https://files.pythonhosted.org/packages/0a/0c/95aeb51d4246bd9a3242d3d8349c1112b4ee7611a4b40f0c5c93b05f001d/safetensors-0.5.3-cp38-abi3-win32.whl", hash = "sha256:cfc0ec0846dcf6763b0ed3d1846ff36008c6e7290683b61616c4b040f6a54ace", size = 296677, upload_time = "2025-02-26T09:15:16.554Z" }, - { url = "https://files.pythonhosted.org/packages/69/e2/b011c38e5394c4c18fb5500778a55ec43ad6106126e74723ffaee246f56e/safetensors-0.5.3-cp38-abi3-win_amd64.whl", hash = "sha256:836cbbc320b47e80acd40e44c8682db0e8ad7123209f69b093def21ec7cafd11", size = 308878, upload_time = "2025-02-26T09:15:14.99Z" }, + { url = "https://files.pythonhosted.org/packages/18/ae/88f6c49dbd0cc4da0e08610019a3c78a7d390879a919411a410a1876d03a/safetensors-0.5.3-cp38-abi3-macosx_10_12_x86_64.whl", hash = "sha256:bd20eb133db8ed15b40110b7c00c6df51655a2998132193de2f75f72d99c7073", size = 436917, upload-time = "2025-02-26T09:15:03.702Z" }, + { url = "https://files.pythonhosted.org/packages/b8/3b/11f1b4a2f5d2ab7da34ecc062b0bc301f2be024d110a6466726bec8c055c/safetensors-0.5.3-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:21d01c14ff6c415c485616b8b0bf961c46b3b343ca59110d38d744e577f9cce7", size = 418419, upload-time = "2025-02-26T09:15:01.765Z" }, + { url = "https://files.pythonhosted.org/packages/5d/9a/add3e6fef267658075c5a41573c26d42d80c935cdc992384dfae435feaef/safetensors-0.5.3-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:11bce6164887cd491ca75c2326a113ba934be596e22b28b1742ce27b1d076467", size = 459493, upload-time = "2025-02-26T09:14:51.812Z" }, + { url = "https://files.pythonhosted.org/packages/df/5c/bf2cae92222513cc23b3ff85c4a1bb2811a2c3583ac0f8e8d502751de934/safetensors-0.5.3-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4a243be3590bc3301c821da7a18d87224ef35cbd3e5f5727e4e0728b8172411e", size = 472400, upload-time = "2025-02-26T09:14:53.549Z" }, + { url = "https://files.pythonhosted.org/packages/58/11/7456afb740bd45782d0f4c8e8e1bb9e572f1bf82899fb6ace58af47b4282/safetensors-0.5.3-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8bd84b12b1670a6f8e50f01e28156422a2bc07fb16fc4e98bded13039d688a0d", size = 522891, upload-time = "2025-02-26T09:14:55.717Z" }, + { url = "https://files.pythonhosted.org/packages/57/3d/fe73a9d2ace487e7285f6e157afee2383bd1ddb911b7cb44a55cf812eae3/safetensors-0.5.3-cp38-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:391ac8cab7c829452175f871fcaf414aa1e292b5448bd02620f675a7f3e7abb9", size = 537694, upload-time = "2025-02-26T09:14:57.036Z" }, + { url = "https://files.pythonhosted.org/packages/a6/f8/dae3421624fcc87a89d42e1898a798bc7ff72c61f38973a65d60df8f124c/safetensors-0.5.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cead1fa41fc54b1e61089fa57452e8834f798cb1dc7a09ba3524f1eb08e0317a", size = 471642, upload-time = "2025-02-26T09:15:00.544Z" }, + { url = "https://files.pythonhosted.org/packages/ce/20/1fbe16f9b815f6c5a672f5b760951e20e17e43f67f231428f871909a37f6/safetensors-0.5.3-cp38-abi3-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1077f3e94182d72618357b04b5ced540ceb71c8a813d3319f1aba448e68a770d", size = 502241, upload-time = "2025-02-26T09:14:58.303Z" }, + { url = "https://files.pythonhosted.org/packages/5f/18/8e108846b506487aa4629fe4116b27db65c3dde922de2c8e0cc1133f3f29/safetensors-0.5.3-cp38-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:799021e78287bac619c7b3f3606730a22da4cda27759ddf55d37c8db7511c74b", size = 638001, upload-time = "2025-02-26T09:15:05.79Z" }, + { url = "https://files.pythonhosted.org/packages/82/5a/c116111d8291af6c8c8a8b40628fe833b9db97d8141c2a82359d14d9e078/safetensors-0.5.3-cp38-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:df26da01aaac504334644e1b7642fa000bfec820e7cef83aeac4e355e03195ff", size = 734013, upload-time = "2025-02-26T09:15:07.892Z" }, + { url = "https://files.pythonhosted.org/packages/7d/ff/41fcc4d3b7de837963622e8610d998710705bbde9a8a17221d85e5d0baad/safetensors-0.5.3-cp38-abi3-musllinux_1_2_i686.whl", hash = "sha256:32c3ef2d7af8b9f52ff685ed0bc43913cdcde135089ae322ee576de93eae5135", size = 670687, upload-time = "2025-02-26T09:15:09.979Z" }, + { url = "https://files.pythonhosted.org/packages/40/ad/2b113098e69c985a3d8fbda4b902778eae4a35b7d5188859b4a63d30c161/safetensors-0.5.3-cp38-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:37f1521be045e56fc2b54c606d4455573e717b2d887c579ee1dbba5f868ece04", size = 643147, upload-time = "2025-02-26T09:15:11.185Z" }, + { url = "https://files.pythonhosted.org/packages/0a/0c/95aeb51d4246bd9a3242d3d8349c1112b4ee7611a4b40f0c5c93b05f001d/safetensors-0.5.3-cp38-abi3-win32.whl", hash = "sha256:cfc0ec0846dcf6763b0ed3d1846ff36008c6e7290683b61616c4b040f6a54ace", size = 296677, upload-time = "2025-02-26T09:15:16.554Z" }, + { url = "https://files.pythonhosted.org/packages/69/e2/b011c38e5394c4c18fb5500778a55ec43ad6106126e74723ffaee246f56e/safetensors-0.5.3-cp38-abi3-win_amd64.whl", hash = "sha256:836cbbc320b47e80acd40e44c8682db0e8ad7123209f69b093def21ec7cafd11", size = 308878, upload-time = "2025-02-26T09:15:14.99Z" }, ] [[package]] @@ -2456,13 +2459,13 @@ dependencies = [ { name = "scipy" }, { name = "threadpoolctl" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/df/3b/29fa87e76b1d7b3b77cc1fcbe82e6e6b8cd704410705b008822de530277c/scikit_learn-1.7.0.tar.gz", hash = "sha256:c01e869b15aec88e2cdb73d27f15bdbe03bce8e2fb43afbe77c45d399e73a5a3", size = 7178217, upload_time = "2025-06-05T22:02:46.703Z" } +sdist = { url = "https://files.pythonhosted.org/packages/df/3b/29fa87e76b1d7b3b77cc1fcbe82e6e6b8cd704410705b008822de530277c/scikit_learn-1.7.0.tar.gz", hash = "sha256:c01e869b15aec88e2cdb73d27f15bdbe03bce8e2fb43afbe77c45d399e73a5a3", size = 7178217, upload-time = "2025-06-05T22:02:46.703Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/70/3a/bffab14e974a665a3ee2d79766e7389572ffcaad941a246931c824afcdb2/scikit_learn-1.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c2c7243d34aaede0efca7a5a96d67fddaebb4ad7e14a70991b9abee9dc5c0379", size = 11646758, upload_time = "2025-06-05T22:02:09.51Z" }, - { url = "https://files.pythonhosted.org/packages/58/d8/f3249232fa79a70cb40595282813e61453c1e76da3e1a44b77a63dd8d0cb/scikit_learn-1.7.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:9f39f6a811bf3f15177b66c82cbe0d7b1ebad9f190737dcdef77cfca1ea3c19c", size = 10673971, upload_time = "2025-06-05T22:02:12.217Z" }, - { url = "https://files.pythonhosted.org/packages/67/93/eb14c50533bea2f77758abe7d60a10057e5f2e2cdcf0a75a14c6bc19c734/scikit_learn-1.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63017a5f9a74963d24aac7590287149a8d0f1a0799bbe7173c0d8ba1523293c0", size = 11818428, upload_time = "2025-06-05T22:02:14.947Z" }, - { url = "https://files.pythonhosted.org/packages/08/17/804cc13b22a8663564bb0b55fb89e661a577e4e88a61a39740d58b909efe/scikit_learn-1.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b2f8a0b1e73e9a08b7cc498bb2aeab36cdc1f571f8ab2b35c6e5d1c7115d97d", size = 12505887, upload_time = "2025-06-05T22:02:17.824Z" }, - { url = "https://files.pythonhosted.org/packages/68/c7/4e956281a077f4835458c3f9656c666300282d5199039f26d9de1dabd9be/scikit_learn-1.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:34cc8d9d010d29fb2b7cbcd5ccc24ffdd80515f65fe9f1e4894ace36b267ce19", size = 10668129, upload_time = "2025-06-05T22:02:20.536Z" }, + { url = "https://files.pythonhosted.org/packages/70/3a/bffab14e974a665a3ee2d79766e7389572ffcaad941a246931c824afcdb2/scikit_learn-1.7.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:c2c7243d34aaede0efca7a5a96d67fddaebb4ad7e14a70991b9abee9dc5c0379", size = 11646758, upload-time = "2025-06-05T22:02:09.51Z" }, + { url = "https://files.pythonhosted.org/packages/58/d8/f3249232fa79a70cb40595282813e61453c1e76da3e1a44b77a63dd8d0cb/scikit_learn-1.7.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:9f39f6a811bf3f15177b66c82cbe0d7b1ebad9f190737dcdef77cfca1ea3c19c", size = 10673971, upload-time = "2025-06-05T22:02:12.217Z" }, + { url = "https://files.pythonhosted.org/packages/67/93/eb14c50533bea2f77758abe7d60a10057e5f2e2cdcf0a75a14c6bc19c734/scikit_learn-1.7.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63017a5f9a74963d24aac7590287149a8d0f1a0799bbe7173c0d8ba1523293c0", size = 11818428, upload-time = "2025-06-05T22:02:14.947Z" }, + { url = "https://files.pythonhosted.org/packages/08/17/804cc13b22a8663564bb0b55fb89e661a577e4e88a61a39740d58b909efe/scikit_learn-1.7.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0b2f8a0b1e73e9a08b7cc498bb2aeab36cdc1f571f8ab2b35c6e5d1c7115d97d", size = 12505887, upload-time = "2025-06-05T22:02:17.824Z" }, + { url = "https://files.pythonhosted.org/packages/68/c7/4e956281a077f4835458c3f9656c666300282d5199039f26d9de1dabd9be/scikit_learn-1.7.0-cp312-cp312-win_amd64.whl", hash = "sha256:34cc8d9d010d29fb2b7cbcd5ccc24ffdd80515f65fe9f1e4894ace36b267ce19", size = 10668129, upload-time = "2025-06-05T22:02:20.536Z" }, ] [[package]] @@ -2472,17 +2475,17 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214, upload_time = "2025-05-08T16:13:05.955Z" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/37/6964b830433e654ec7485e45a00fc9a27cf868d622838f6b6d9c5ec0d532/scipy-1.15.3.tar.gz", hash = "sha256:eae3cf522bc7df64b42cad3925c876e1b0b6c35c1337c93e12c0f366f55b0eaf", size = 59419214, upload-time = "2025-05-08T16:13:05.955Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/37/4b/683aa044c4162e10ed7a7ea30527f2cbd92e6999c10a8ed8edb253836e9c/scipy-1.15.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6ac6310fdbfb7aa6612408bd2f07295bcbd3fda00d2d702178434751fe48e019", size = 38766735, upload_time = "2025-05-08T16:06:06.471Z" }, - { url = "https://files.pythonhosted.org/packages/7b/7e/f30be3d03de07f25dc0ec926d1681fed5c732d759ac8f51079708c79e680/scipy-1.15.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:185cd3d6d05ca4b44a8f1595af87f9c372bb6acf9c808e99aa3e9aa03bd98cf6", size = 30173284, upload_time = "2025-05-08T16:06:11.686Z" }, - { url = "https://files.pythonhosted.org/packages/07/9c/0ddb0d0abdabe0d181c1793db51f02cd59e4901da6f9f7848e1f96759f0d/scipy-1.15.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:05dc6abcd105e1a29f95eada46d4a3f251743cfd7d3ae8ddb4088047f24ea477", size = 22446958, upload_time = "2025-05-08T16:06:15.97Z" }, - { url = "https://files.pythonhosted.org/packages/af/43/0bce905a965f36c58ff80d8bea33f1f9351b05fad4beaad4eae34699b7a1/scipy-1.15.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:06efcba926324df1696931a57a176c80848ccd67ce6ad020c810736bfd58eb1c", size = 25242454, upload_time = "2025-05-08T16:06:20.394Z" }, - { url = "https://files.pythonhosted.org/packages/56/30/a6f08f84ee5b7b28b4c597aca4cbe545535c39fe911845a96414700b64ba/scipy-1.15.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05045d8b9bfd807ee1b9f38761993297b10b245f012b11b13b91ba8945f7e45", size = 35210199, upload_time = "2025-05-08T16:06:26.159Z" }, - { url = "https://files.pythonhosted.org/packages/0b/1f/03f52c282437a168ee2c7c14a1a0d0781a9a4a8962d84ac05c06b4c5b555/scipy-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271e3713e645149ea5ea3e97b57fdab61ce61333f97cfae392c28ba786f9bb49", size = 37309455, upload_time = "2025-05-08T16:06:32.778Z" }, - { url = "https://files.pythonhosted.org/packages/89/b1/fbb53137f42c4bf630b1ffdfc2151a62d1d1b903b249f030d2b1c0280af8/scipy-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6cfd56fc1a8e53f6e89ba3a7a7251f7396412d655bca2aa5611c8ec9a6784a1e", size = 36885140, upload_time = "2025-05-08T16:06:39.249Z" }, - { url = "https://files.pythonhosted.org/packages/2e/2e/025e39e339f5090df1ff266d021892694dbb7e63568edcfe43f892fa381d/scipy-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ff17c0bb1cb32952c09217d8d1eed9b53d1463e5f1dd6052c7857f83127d539", size = 39710549, upload_time = "2025-05-08T16:06:45.729Z" }, - { url = "https://files.pythonhosted.org/packages/e6/eb/3bf6ea8ab7f1503dca3a10df2e4b9c3f6b3316df07f6c0ded94b281c7101/scipy-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:52092bc0472cfd17df49ff17e70624345efece4e1a12b23783a1ac59a1b728ed", size = 40966184, upload_time = "2025-05-08T16:06:52.623Z" }, + { url = "https://files.pythonhosted.org/packages/37/4b/683aa044c4162e10ed7a7ea30527f2cbd92e6999c10a8ed8edb253836e9c/scipy-1.15.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:6ac6310fdbfb7aa6612408bd2f07295bcbd3fda00d2d702178434751fe48e019", size = 38766735, upload-time = "2025-05-08T16:06:06.471Z" }, + { url = "https://files.pythonhosted.org/packages/7b/7e/f30be3d03de07f25dc0ec926d1681fed5c732d759ac8f51079708c79e680/scipy-1.15.3-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:185cd3d6d05ca4b44a8f1595af87f9c372bb6acf9c808e99aa3e9aa03bd98cf6", size = 30173284, upload-time = "2025-05-08T16:06:11.686Z" }, + { url = "https://files.pythonhosted.org/packages/07/9c/0ddb0d0abdabe0d181c1793db51f02cd59e4901da6f9f7848e1f96759f0d/scipy-1.15.3-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:05dc6abcd105e1a29f95eada46d4a3f251743cfd7d3ae8ddb4088047f24ea477", size = 22446958, upload-time = "2025-05-08T16:06:15.97Z" }, + { url = "https://files.pythonhosted.org/packages/af/43/0bce905a965f36c58ff80d8bea33f1f9351b05fad4beaad4eae34699b7a1/scipy-1.15.3-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:06efcba926324df1696931a57a176c80848ccd67ce6ad020c810736bfd58eb1c", size = 25242454, upload-time = "2025-05-08T16:06:20.394Z" }, + { url = "https://files.pythonhosted.org/packages/56/30/a6f08f84ee5b7b28b4c597aca4cbe545535c39fe911845a96414700b64ba/scipy-1.15.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05045d8b9bfd807ee1b9f38761993297b10b245f012b11b13b91ba8945f7e45", size = 35210199, upload-time = "2025-05-08T16:06:26.159Z" }, + { url = "https://files.pythonhosted.org/packages/0b/1f/03f52c282437a168ee2c7c14a1a0d0781a9a4a8962d84ac05c06b4c5b555/scipy-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:271e3713e645149ea5ea3e97b57fdab61ce61333f97cfae392c28ba786f9bb49", size = 37309455, upload-time = "2025-05-08T16:06:32.778Z" }, + { url = "https://files.pythonhosted.org/packages/89/b1/fbb53137f42c4bf630b1ffdfc2151a62d1d1b903b249f030d2b1c0280af8/scipy-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6cfd56fc1a8e53f6e89ba3a7a7251f7396412d655bca2aa5611c8ec9a6784a1e", size = 36885140, upload-time = "2025-05-08T16:06:39.249Z" }, + { url = "https://files.pythonhosted.org/packages/2e/2e/025e39e339f5090df1ff266d021892694dbb7e63568edcfe43f892fa381d/scipy-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0ff17c0bb1cb32952c09217d8d1eed9b53d1463e5f1dd6052c7857f83127d539", size = 39710549, upload-time = "2025-05-08T16:06:45.729Z" }, + { url = "https://files.pythonhosted.org/packages/e6/eb/3bf6ea8ab7f1503dca3a10df2e4b9c3f6b3316df07f6c0ded94b281c7101/scipy-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:52092bc0472cfd17df49ff17e70624345efece4e1a12b23783a1ac59a1b728ed", size = 40966184, upload-time = "2025-05-08T16:06:52.623Z" }, ] [[package]] @@ -2499,34 +2502,34 @@ dependencies = [ { name = "transformers" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/73/84/b30d1b29ff58cfdff423e36a50efd622c8e31d7039b1a0d5e72066620da1/sentence_transformers-4.1.0.tar.gz", hash = "sha256:f125ffd1c727533e0eca5d4567de72f84728de8f7482834de442fd90c2c3d50b", size = 272420, upload_time = "2025-04-15T13:46:13.732Z" } +sdist = { url = "https://files.pythonhosted.org/packages/73/84/b30d1b29ff58cfdff423e36a50efd622c8e31d7039b1a0d5e72066620da1/sentence_transformers-4.1.0.tar.gz", hash = "sha256:f125ffd1c727533e0eca5d4567de72f84728de8f7482834de442fd90c2c3d50b", size = 272420, upload-time = "2025-04-15T13:46:13.732Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/45/2d/1151b371f28caae565ad384fdc38198f1165571870217aedda230b9d7497/sentence_transformers-4.1.0-py3-none-any.whl", hash = "sha256:382a7f6be1244a100ce40495fb7523dbe8d71b3c10b299f81e6b735092b3b8ca", size = 345695, upload_time = "2025-04-15T13:46:12.44Z" }, + { url = "https://files.pythonhosted.org/packages/45/2d/1151b371f28caae565ad384fdc38198f1165571870217aedda230b9d7497/sentence_transformers-4.1.0-py3-none-any.whl", hash = "sha256:382a7f6be1244a100ce40495fb7523dbe8d71b3c10b299f81e6b735092b3b8ca", size = 345695, upload-time = "2025-04-15T13:46:12.44Z" }, ] [[package]] name = "sentencepiece" version = "0.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/c9/d2/b9c7ca067c26d8ff085d252c89b5f69609ca93fb85a00ede95f4857865d4/sentencepiece-0.2.0.tar.gz", hash = "sha256:a52c19171daaf2e697dc6cbe67684e0fa341b1248966f6aebb541de654d15843", size = 2632106, upload_time = "2024-02-19T17:06:47.428Z" } +sdist = { url = "https://files.pythonhosted.org/packages/c9/d2/b9c7ca067c26d8ff085d252c89b5f69609ca93fb85a00ede95f4857865d4/sentencepiece-0.2.0.tar.gz", hash = "sha256:a52c19171daaf2e697dc6cbe67684e0fa341b1248966f6aebb541de654d15843", size = 2632106, upload-time = "2024-02-19T17:06:47.428Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/27/5a/141b227ed54293360a9ffbb7bf8252b4e5efc0400cdeac5809340e5d2b21/sentencepiece-0.2.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ea5f536e32ea8ec96086ee00d7a4a131ce583a1b18d130711707c10e69601cb2", size = 2409370, upload_time = "2024-02-19T17:06:29.315Z" }, - { url = "https://files.pythonhosted.org/packages/2e/08/a4c135ad6fc2ce26798d14ab72790d66e813efc9589fd30a5316a88ca8d5/sentencepiece-0.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d0cb51f53b6aae3c36bafe41e86167c71af8370a039f542c43b0cce5ef24a68c", size = 1239288, upload_time = "2024-02-19T17:06:31.674Z" }, - { url = "https://files.pythonhosted.org/packages/49/0a/2fe387f825ac5aad5a0bfe221904882106cac58e1b693ba7818785a882b6/sentencepiece-0.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3212121805afc58d8b00ab4e7dd1f8f76c203ddb9dc94aa4079618a31cf5da0f", size = 1181597, upload_time = "2024-02-19T17:06:33.763Z" }, - { url = "https://files.pythonhosted.org/packages/cc/38/e4698ee2293fe4835dc033c49796a39b3eebd8752098f6bd0aa53a14af1f/sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a3149e3066c2a75e0d68a43eb632d7ae728c7925b517f4c05c40f6f7280ce08", size = 1259220, upload_time = "2024-02-19T17:06:35.85Z" }, - { url = "https://files.pythonhosted.org/packages/12/24/fd7ef967c9dad2f6e6e5386d0cadaf65cda8b7be6e3861a9ab3121035139/sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:632f3594d3e7ac8b367bca204cb3fd05a01d5b21455acd097ea4c0e30e2f63d7", size = 1355962, upload_time = "2024-02-19T17:06:38.616Z" }, - { url = "https://files.pythonhosted.org/packages/4f/d2/18246f43ca730bb81918f87b7e886531eda32d835811ad9f4657c54eee35/sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f295105c6bdbb05bd5e1b0cafbd78ff95036f5d3641e7949455a3f4e5e7c3109", size = 1301706, upload_time = "2024-02-19T17:06:40.712Z" }, - { url = "https://files.pythonhosted.org/packages/8a/47/ca237b562f420044ab56ddb4c278672f7e8c866e183730a20e413b38a989/sentencepiece-0.2.0-cp312-cp312-win32.whl", hash = "sha256:fb89f811e5efd18bab141afc3fea3de141c3f69f3fe9e898f710ae7fe3aab251", size = 936941, upload_time = "2024-02-19T17:06:42.802Z" }, - { url = "https://files.pythonhosted.org/packages/c6/97/d159c32642306ee2b70732077632895438867b3b6df282354bd550cf2a67/sentencepiece-0.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a673a72aab81fef5ebe755c6e0cc60087d1f3a4700835d40537183c1703a45f", size = 991994, upload_time = "2024-02-19T17:06:45.01Z" }, + { url = "https://files.pythonhosted.org/packages/27/5a/141b227ed54293360a9ffbb7bf8252b4e5efc0400cdeac5809340e5d2b21/sentencepiece-0.2.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ea5f536e32ea8ec96086ee00d7a4a131ce583a1b18d130711707c10e69601cb2", size = 2409370, upload-time = "2024-02-19T17:06:29.315Z" }, + { url = "https://files.pythonhosted.org/packages/2e/08/a4c135ad6fc2ce26798d14ab72790d66e813efc9589fd30a5316a88ca8d5/sentencepiece-0.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d0cb51f53b6aae3c36bafe41e86167c71af8370a039f542c43b0cce5ef24a68c", size = 1239288, upload-time = "2024-02-19T17:06:31.674Z" }, + { url = "https://files.pythonhosted.org/packages/49/0a/2fe387f825ac5aad5a0bfe221904882106cac58e1b693ba7818785a882b6/sentencepiece-0.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3212121805afc58d8b00ab4e7dd1f8f76c203ddb9dc94aa4079618a31cf5da0f", size = 1181597, upload-time = "2024-02-19T17:06:33.763Z" }, + { url = "https://files.pythonhosted.org/packages/cc/38/e4698ee2293fe4835dc033c49796a39b3eebd8752098f6bd0aa53a14af1f/sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a3149e3066c2a75e0d68a43eb632d7ae728c7925b517f4c05c40f6f7280ce08", size = 1259220, upload-time = "2024-02-19T17:06:35.85Z" }, + { url = "https://files.pythonhosted.org/packages/12/24/fd7ef967c9dad2f6e6e5386d0cadaf65cda8b7be6e3861a9ab3121035139/sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:632f3594d3e7ac8b367bca204cb3fd05a01d5b21455acd097ea4c0e30e2f63d7", size = 1355962, upload-time = "2024-02-19T17:06:38.616Z" }, + { url = "https://files.pythonhosted.org/packages/4f/d2/18246f43ca730bb81918f87b7e886531eda32d835811ad9f4657c54eee35/sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f295105c6bdbb05bd5e1b0cafbd78ff95036f5d3641e7949455a3f4e5e7c3109", size = 1301706, upload-time = "2024-02-19T17:06:40.712Z" }, + { url = "https://files.pythonhosted.org/packages/8a/47/ca237b562f420044ab56ddb4c278672f7e8c866e183730a20e413b38a989/sentencepiece-0.2.0-cp312-cp312-win32.whl", hash = "sha256:fb89f811e5efd18bab141afc3fea3de141c3f69f3fe9e898f710ae7fe3aab251", size = 936941, upload-time = "2024-02-19T17:06:42.802Z" }, + { url = "https://files.pythonhosted.org/packages/c6/97/d159c32642306ee2b70732077632895438867b3b6df282354bd550cf2a67/sentencepiece-0.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a673a72aab81fef5ebe755c6e0cc60087d1f3a4700835d40537183c1703a45f", size = 991994, upload-time = "2024-02-19T17:06:45.01Z" }, ] [[package]] name = "setuptools" version = "80.9.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", size = 1319958, upload_time = "2025-05-27T00:56:51.443Z" } +sdist = { url = "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", size = 1319958, upload-time = "2025-05-27T00:56:51.443Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", size = 1201486, upload_time = "2025-05-27T00:56:49.664Z" }, + { url = "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", size = 1201486, upload-time = "2025-05-27T00:56:49.664Z" }, ] [[package]] @@ -2536,43 +2539,43 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "numpy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ca/3c/2da625233f4e605155926566c0e7ea8dda361877f48e8b1655e53456f252/shapely-2.1.1.tar.gz", hash = "sha256:500621967f2ffe9642454808009044c21e5b35db89ce69f8a2042c2ffd0e2772", size = 315422, upload_time = "2025-05-19T11:04:41.265Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ca/3c/2da625233f4e605155926566c0e7ea8dda361877f48e8b1655e53456f252/shapely-2.1.1.tar.gz", hash = "sha256:500621967f2ffe9642454808009044c21e5b35db89ce69f8a2042c2ffd0e2772", size = 315422, upload-time = "2025-05-19T11:04:41.265Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fb/64/9544dc07dfe80a2d489060791300827c941c451e2910f7364b19607ea352/shapely-2.1.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2827365b58bf98efb60affc94a8e01c56dd1995a80aabe4b701465d86dcbba43", size = 1833021, upload_time = "2025-05-19T11:04:08.022Z" }, - { url = "https://files.pythonhosted.org/packages/07/aa/fb5f545e72e89b6a0f04a0effda144f5be956c9c312c7d4e00dfddbddbcf/shapely-2.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a9c551f7fa7f1e917af2347fe983f21f212863f1d04f08eece01e9c275903fad", size = 1643018, upload_time = "2025-05-19T11:04:09.343Z" }, - { url = "https://files.pythonhosted.org/packages/03/46/61e03edba81de729f09d880ce7ae5c1af873a0814206bbfb4402ab5c3388/shapely-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78dec4d4fbe7b1db8dc36de3031767e7ece5911fb7782bc9e95c5cdec58fb1e9", size = 2986417, upload_time = "2025-05-19T11:04:10.56Z" }, - { url = "https://files.pythonhosted.org/packages/1f/1e/83ec268ab8254a446b4178b45616ab5822d7b9d2b7eb6e27cf0b82f45601/shapely-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:872d3c0a7b8b37da0e23d80496ec5973c4692920b90de9f502b5beb994bbaaef", size = 3098224, upload_time = "2025-05-19T11:04:11.903Z" }, - { url = "https://files.pythonhosted.org/packages/f1/44/0c21e7717c243e067c9ef8fa9126de24239f8345a5bba9280f7bb9935959/shapely-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2e2b9125ebfbc28ecf5353511de62f75a8515ae9470521c9a693e4bb9fbe0cf1", size = 3925982, upload_time = "2025-05-19T11:04:13.224Z" }, - { url = "https://files.pythonhosted.org/packages/15/50/d3b4e15fefc103a0eb13d83bad5f65cd6e07a5d8b2ae920e767932a247d1/shapely-2.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4b96cea171b3d7f6786976a0520f178c42792897653ecca0c5422fb1e6946e6d", size = 4089122, upload_time = "2025-05-19T11:04:14.477Z" }, - { url = "https://files.pythonhosted.org/packages/bd/05/9a68f27fc6110baeedeeebc14fd86e73fa38738c5b741302408fb6355577/shapely-2.1.1-cp312-cp312-win32.whl", hash = "sha256:39dca52201e02996df02e447f729da97cfb6ff41a03cb50f5547f19d02905af8", size = 1522437, upload_time = "2025-05-19T11:04:16.203Z" }, - { url = "https://files.pythonhosted.org/packages/bc/e9/a4560e12b9338842a1f82c9016d2543eaa084fce30a1ca11991143086b57/shapely-2.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:13d643256f81d55a50013eff6321142781cf777eb6a9e207c2c9e6315ba6044a", size = 1703479, upload_time = "2025-05-19T11:04:18.497Z" }, + { url = "https://files.pythonhosted.org/packages/fb/64/9544dc07dfe80a2d489060791300827c941c451e2910f7364b19607ea352/shapely-2.1.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:2827365b58bf98efb60affc94a8e01c56dd1995a80aabe4b701465d86dcbba43", size = 1833021, upload-time = "2025-05-19T11:04:08.022Z" }, + { url = "https://files.pythonhosted.org/packages/07/aa/fb5f545e72e89b6a0f04a0effda144f5be956c9c312c7d4e00dfddbddbcf/shapely-2.1.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a9c551f7fa7f1e917af2347fe983f21f212863f1d04f08eece01e9c275903fad", size = 1643018, upload-time = "2025-05-19T11:04:09.343Z" }, + { url = "https://files.pythonhosted.org/packages/03/46/61e03edba81de729f09d880ce7ae5c1af873a0814206bbfb4402ab5c3388/shapely-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78dec4d4fbe7b1db8dc36de3031767e7ece5911fb7782bc9e95c5cdec58fb1e9", size = 2986417, upload-time = "2025-05-19T11:04:10.56Z" }, + { url = "https://files.pythonhosted.org/packages/1f/1e/83ec268ab8254a446b4178b45616ab5822d7b9d2b7eb6e27cf0b82f45601/shapely-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:872d3c0a7b8b37da0e23d80496ec5973c4692920b90de9f502b5beb994bbaaef", size = 3098224, upload-time = "2025-05-19T11:04:11.903Z" }, + { url = "https://files.pythonhosted.org/packages/f1/44/0c21e7717c243e067c9ef8fa9126de24239f8345a5bba9280f7bb9935959/shapely-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2e2b9125ebfbc28ecf5353511de62f75a8515ae9470521c9a693e4bb9fbe0cf1", size = 3925982, upload-time = "2025-05-19T11:04:13.224Z" }, + { url = "https://files.pythonhosted.org/packages/15/50/d3b4e15fefc103a0eb13d83bad5f65cd6e07a5d8b2ae920e767932a247d1/shapely-2.1.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:4b96cea171b3d7f6786976a0520f178c42792897653ecca0c5422fb1e6946e6d", size = 4089122, upload-time = "2025-05-19T11:04:14.477Z" }, + { url = "https://files.pythonhosted.org/packages/bd/05/9a68f27fc6110baeedeeebc14fd86e73fa38738c5b741302408fb6355577/shapely-2.1.1-cp312-cp312-win32.whl", hash = "sha256:39dca52201e02996df02e447f729da97cfb6ff41a03cb50f5547f19d02905af8", size = 1522437, upload-time = "2025-05-19T11:04:16.203Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e9/a4560e12b9338842a1f82c9016d2543eaa084fce30a1ca11991143086b57/shapely-2.1.1-cp312-cp312-win_amd64.whl", hash = "sha256:13d643256f81d55a50013eff6321142781cf777eb6a9e207c2c9e6315ba6044a", size = 1703479, upload-time = "2025-05-19T11:04:18.497Z" }, ] [[package]] name = "six" version = "1.17.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload_time = "2024-12-04T17:35:28.174Z" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload_time = "2024-12-04T17:35:26.475Z" }, + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, ] [[package]] name = "sniffio" version = "1.3.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload_time = "2024-02-25T23:20:04.057Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload_time = "2024-02-25T23:20:01.196Z" }, + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, ] [[package]] name = "soupsieve" version = "2.7" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/3f/f4/4a80cd6ef364b2e8b65b15816a843c0980f7a5a2b4dc701fc574952aa19f/soupsieve-2.7.tar.gz", hash = "sha256:ad282f9b6926286d2ead4750552c8a6142bc4c783fd66b0293547c8fe6ae126a", size = 103418, upload_time = "2025-04-20T18:50:08.518Z" } +sdist = { url = "https://files.pythonhosted.org/packages/3f/f4/4a80cd6ef364b2e8b65b15816a843c0980f7a5a2b4dc701fc574952aa19f/soupsieve-2.7.tar.gz", hash = "sha256:ad282f9b6926286d2ead4750552c8a6142bc4c783fd66b0293547c8fe6ae126a", size = 103418, upload-time = "2025-04-20T18:50:08.518Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/9c/0e6afc12c269578be5c0c1c9f4b49a8d32770a080260c333ac04cc1c832d/soupsieve-2.7-py3-none-any.whl", hash = "sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4", size = 36677, upload_time = "2025-04-20T18:50:07.196Z" }, + { url = "https://files.pythonhosted.org/packages/e7/9c/0e6afc12c269578be5c0c1c9f4b49a8d32770a080260c333ac04cc1c832d/soupsieve-2.7-py3-none-any.whl", hash = "sha256:6e60cc5c1ffaf1cebcc12e8188320b72071e922c2e897f737cadce79ad5d30c4", size = 36677, upload-time = "2025-04-20T18:50:07.196Z" }, ] [[package]] @@ -2583,17 +2586,17 @@ dependencies = [ { name = "greenlet", marker = "platform_machine == 'AMD64' or platform_machine == 'WIN32' or platform_machine == 'aarch64' or platform_machine == 'amd64' or platform_machine == 'ppc64le' or platform_machine == 'win32' or platform_machine == 'x86_64'" }, { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/63/66/45b165c595ec89aa7dcc2c1cd222ab269bc753f1fc7a1e68f8481bd957bf/sqlalchemy-2.0.41.tar.gz", hash = "sha256:edba70118c4be3c2b1f90754d308d0b79c6fe2c0fdc52d8ddf603916f83f4db9", size = 9689424, upload_time = "2025-05-14T17:10:32.339Z" } +sdist = { url = "https://files.pythonhosted.org/packages/63/66/45b165c595ec89aa7dcc2c1cd222ab269bc753f1fc7a1e68f8481bd957bf/sqlalchemy-2.0.41.tar.gz", hash = "sha256:edba70118c4be3c2b1f90754d308d0b79c6fe2c0fdc52d8ddf603916f83f4db9", size = 9689424, upload-time = "2025-05-14T17:10:32.339Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/3e/2a/f1f4e068b371154740dd10fb81afb5240d5af4aa0087b88d8b308b5429c2/sqlalchemy-2.0.41-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:81f413674d85cfd0dfcd6512e10e0f33c19c21860342a4890c3a2b59479929f9", size = 2119645, upload_time = "2025-05-14T17:55:24.854Z" }, - { url = "https://files.pythonhosted.org/packages/9b/e8/c664a7e73d36fbfc4730f8cf2bf930444ea87270f2825efbe17bf808b998/sqlalchemy-2.0.41-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:598d9ebc1e796431bbd068e41e4de4dc34312b7aa3292571bb3674a0cb415dd1", size = 2107399, upload_time = "2025-05-14T17:55:28.097Z" }, - { url = "https://files.pythonhosted.org/packages/5c/78/8a9cf6c5e7135540cb682128d091d6afa1b9e48bd049b0d691bf54114f70/sqlalchemy-2.0.41-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a104c5694dfd2d864a6f91b0956eb5d5883234119cb40010115fd45a16da5e70", size = 3293269, upload_time = "2025-05-14T17:50:38.227Z" }, - { url = "https://files.pythonhosted.org/packages/3c/35/f74add3978c20de6323fb11cb5162702670cc7a9420033befb43d8d5b7a4/sqlalchemy-2.0.41-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6145afea51ff0af7f2564a05fa95eb46f542919e6523729663a5d285ecb3cf5e", size = 3303364, upload_time = "2025-05-14T17:51:49.829Z" }, - { url = "https://files.pythonhosted.org/packages/6a/d4/c990f37f52c3f7748ebe98883e2a0f7d038108c2c5a82468d1ff3eec50b7/sqlalchemy-2.0.41-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b46fa6eae1cd1c20e6e6f44e19984d438b6b2d8616d21d783d150df714f44078", size = 3229072, upload_time = "2025-05-14T17:50:39.774Z" }, - { url = "https://files.pythonhosted.org/packages/15/69/cab11fecc7eb64bc561011be2bd03d065b762d87add52a4ca0aca2e12904/sqlalchemy-2.0.41-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41836fe661cc98abfae476e14ba1906220f92c4e528771a8a3ae6a151242d2ae", size = 3268074, upload_time = "2025-05-14T17:51:51.736Z" }, - { url = "https://files.pythonhosted.org/packages/5c/ca/0c19ec16858585d37767b167fc9602593f98998a68a798450558239fb04a/sqlalchemy-2.0.41-cp312-cp312-win32.whl", hash = "sha256:a8808d5cf866c781150d36a3c8eb3adccfa41a8105d031bf27e92c251e3969d6", size = 2084514, upload_time = "2025-05-14T17:55:49.915Z" }, - { url = "https://files.pythonhosted.org/packages/7f/23/4c2833d78ff3010a4e17f984c734f52b531a8c9060a50429c9d4b0211be6/sqlalchemy-2.0.41-cp312-cp312-win_amd64.whl", hash = "sha256:5b14e97886199c1f52c14629c11d90c11fbb09e9334fa7bb5f6d068d9ced0ce0", size = 2111557, upload_time = "2025-05-14T17:55:51.349Z" }, - { url = "https://files.pythonhosted.org/packages/1c/fc/9ba22f01b5cdacc8f5ed0d22304718d2c758fce3fd49a5372b886a86f37c/sqlalchemy-2.0.41-py3-none-any.whl", hash = "sha256:57df5dc6fdb5ed1a88a1ed2195fd31927e705cad62dedd86b46972752a80f576", size = 1911224, upload_time = "2025-05-14T17:39:42.154Z" }, + { url = "https://files.pythonhosted.org/packages/3e/2a/f1f4e068b371154740dd10fb81afb5240d5af4aa0087b88d8b308b5429c2/sqlalchemy-2.0.41-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:81f413674d85cfd0dfcd6512e10e0f33c19c21860342a4890c3a2b59479929f9", size = 2119645, upload-time = "2025-05-14T17:55:24.854Z" }, + { url = "https://files.pythonhosted.org/packages/9b/e8/c664a7e73d36fbfc4730f8cf2bf930444ea87270f2825efbe17bf808b998/sqlalchemy-2.0.41-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:598d9ebc1e796431bbd068e41e4de4dc34312b7aa3292571bb3674a0cb415dd1", size = 2107399, upload-time = "2025-05-14T17:55:28.097Z" }, + { url = "https://files.pythonhosted.org/packages/5c/78/8a9cf6c5e7135540cb682128d091d6afa1b9e48bd049b0d691bf54114f70/sqlalchemy-2.0.41-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a104c5694dfd2d864a6f91b0956eb5d5883234119cb40010115fd45a16da5e70", size = 3293269, upload-time = "2025-05-14T17:50:38.227Z" }, + { url = "https://files.pythonhosted.org/packages/3c/35/f74add3978c20de6323fb11cb5162702670cc7a9420033befb43d8d5b7a4/sqlalchemy-2.0.41-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6145afea51ff0af7f2564a05fa95eb46f542919e6523729663a5d285ecb3cf5e", size = 3303364, upload-time = "2025-05-14T17:51:49.829Z" }, + { url = "https://files.pythonhosted.org/packages/6a/d4/c990f37f52c3f7748ebe98883e2a0f7d038108c2c5a82468d1ff3eec50b7/sqlalchemy-2.0.41-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:b46fa6eae1cd1c20e6e6f44e19984d438b6b2d8616d21d783d150df714f44078", size = 3229072, upload-time = "2025-05-14T17:50:39.774Z" }, + { url = "https://files.pythonhosted.org/packages/15/69/cab11fecc7eb64bc561011be2bd03d065b762d87add52a4ca0aca2e12904/sqlalchemy-2.0.41-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:41836fe661cc98abfae476e14ba1906220f92c4e528771a8a3ae6a151242d2ae", size = 3268074, upload-time = "2025-05-14T17:51:51.736Z" }, + { url = "https://files.pythonhosted.org/packages/5c/ca/0c19ec16858585d37767b167fc9602593f98998a68a798450558239fb04a/sqlalchemy-2.0.41-cp312-cp312-win32.whl", hash = "sha256:a8808d5cf866c781150d36a3c8eb3adccfa41a8105d031bf27e92c251e3969d6", size = 2084514, upload-time = "2025-05-14T17:55:49.915Z" }, + { url = "https://files.pythonhosted.org/packages/7f/23/4c2833d78ff3010a4e17f984c734f52b531a8c9060a50429c9d4b0211be6/sqlalchemy-2.0.41-cp312-cp312-win_amd64.whl", hash = "sha256:5b14e97886199c1f52c14629c11d90c11fbb09e9334fa7bb5f6d068d9ced0ce0", size = 2111557, upload-time = "2025-05-14T17:55:51.349Z" }, + { url = "https://files.pythonhosted.org/packages/1c/fc/9ba22f01b5cdacc8f5ed0d22304718d2c758fce3fd49a5372b886a86f37c/sqlalchemy-2.0.41-py3-none-any.whl", hash = "sha256:57df5dc6fdb5ed1a88a1ed2195fd31927e705cad62dedd86b46972752a80f576", size = 1911224, upload-time = "2025-05-14T17:39:42.154Z" }, ] [[package]] @@ -2603,9 +2606,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8c/f4/989bc70cb8091eda43a9034ef969b25145291f3601703b82766e5172dfed/sse_starlette-2.3.6.tar.gz", hash = "sha256:0382336f7d4ec30160cf9ca0518962905e1b69b72d6c1c995131e0a703b436e3", size = 18284, upload_time = "2025-05-30T13:34:12.914Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8c/f4/989bc70cb8091eda43a9034ef969b25145291f3601703b82766e5172dfed/sse_starlette-2.3.6.tar.gz", hash = "sha256:0382336f7d4ec30160cf9ca0518962905e1b69b72d6c1c995131e0a703b436e3", size = 18284, upload-time = "2025-05-30T13:34:12.914Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/81/05/78850ac6e79af5b9508f8841b0f26aa9fd329a1ba00bf65453c2d312bcc8/sse_starlette-2.3.6-py3-none-any.whl", hash = "sha256:d49a8285b182f6e2228e2609c350398b2ca2c36216c2675d875f81e93548f760", size = 10606, upload_time = "2025-05-30T13:34:11.703Z" }, + { url = "https://files.pythonhosted.org/packages/81/05/78850ac6e79af5b9508f8841b0f26aa9fd329a1ba00bf65453c2d312bcc8/sse_starlette-2.3.6-py3-none-any.whl", hash = "sha256:d49a8285b182f6e2228e2609c350398b2ca2c36216c2675d875f81e93548f760", size = 10606, upload-time = "2025-05-30T13:34:11.703Z" }, ] [[package]] @@ -2617,9 +2620,9 @@ dependencies = [ { name = "executing" }, { name = "pure-eval" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload_time = "2023-09-30T13:58:05.479Z" } +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload_time = "2023-09-30T13:58:03.53Z" }, + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, ] [[package]] @@ -2629,9 +2632,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ce/20/08dfcd9c983f6a6f4a1000d934b9e6d626cff8d2eeb77a89a68eef20a2b7/starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5", size = 2580846, upload_time = "2025-04-13T13:56:17.942Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ce/20/08dfcd9c983f6a6f4a1000d934b9e6d626cff8d2eeb77a89a68eef20a2b7/starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5", size = 2580846, upload-time = "2025-04-13T13:56:17.942Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8b/0c/9d30a4ebeb6db2b25a841afbb80f6ef9a854fc3b41be131d249a977b4959/starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35", size = 72037, upload_time = "2025-04-13T13:56:16.21Z" }, + { url = "https://files.pythonhosted.org/packages/8b/0c/9d30a4ebeb6db2b25a841afbb80f6ef9a854fc3b41be131d249a977b4959/starlette-0.46.2-py3-none-any.whl", hash = "sha256:595633ce89f8ffa71a015caed34a5b2dc1c0cdb3f0f1fbd1e69339cf2abeec35", size = 72037, upload-time = "2025-04-13T13:56:16.21Z" }, ] [[package]] @@ -2641,18 +2644,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "mpmath" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", size = 7793921, upload_time = "2025-04-27T18:05:01.611Z" } +sdist = { url = "https://files.pythonhosted.org/packages/83/d3/803453b36afefb7c2bb238361cd4ae6125a569b4db67cd9e79846ba2d68c/sympy-1.14.0.tar.gz", hash = "sha256:d3d3fe8df1e5a0b42f0e7bdf50541697dbe7d23746e894990c030e2b05e72517", size = 7793921, upload-time = "2025-04-27T18:05:01.611Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353, upload_time = "2025-04-27T18:04:59.103Z" }, + { url = "https://files.pythonhosted.org/packages/a2/09/77d55d46fd61b4a135c444fc97158ef34a095e5681d0a6c10b75bf356191/sympy-1.14.0-py3-none-any.whl", hash = "sha256:e091cc3e99d2141a0ba2847328f5479b05d94a6635cb96148ccb3f34671bd8f5", size = 6299353, upload-time = "2025-04-27T18:04:59.103Z" }, ] [[package]] name = "threadpoolctl" version = "3.6.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", hash = "sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e", size = 21274, upload_time = "2025-03-13T13:49:23.031Z" } +sdist = { url = "https://files.pythonhosted.org/packages/b7/4d/08c89e34946fce2aec4fbb45c9016efd5f4d7f24af8e5d93296e935631d8/threadpoolctl-3.6.0.tar.gz", hash = "sha256:8ab8b4aa3491d812b623328249fab5302a68d2d71745c8a4c719a2fcaba9f44e", size = 21274, upload-time = "2025-03-13T13:49:23.031Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", size = 18638, upload_time = "2025-03-13T13:49:21.846Z" }, + { url = "https://files.pythonhosted.org/packages/32/d5/f9a850d79b0851d1d4ef6456097579a9005b31fea68726a4ae5f2d82ddd9/threadpoolctl-3.6.0-py3-none-any.whl", hash = "sha256:43a0b8fd5a2928500110039e43a5eed8480b918967083ea48dc3ab9f13c4a7fb", size = 18638, upload-time = "2025-03-13T13:49:21.846Z" }, ] [[package]] @@ -2663,14 +2666,14 @@ dependencies = [ { name = "regex" }, { name = "requests" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/ea/cf/756fedf6981e82897f2d570dd25fa597eb3f4459068ae0572d7e888cfd6f/tiktoken-0.9.0.tar.gz", hash = "sha256:d02a5ca6a938e0490e1ff957bc48c8b078c88cb83977be1625b1fd8aac792c5d", size = 35991, upload_time = "2025-02-14T06:03:01.003Z" } +sdist = { url = "https://files.pythonhosted.org/packages/ea/cf/756fedf6981e82897f2d570dd25fa597eb3f4459068ae0572d7e888cfd6f/tiktoken-0.9.0.tar.gz", hash = "sha256:d02a5ca6a938e0490e1ff957bc48c8b078c88cb83977be1625b1fd8aac792c5d", size = 35991, upload-time = "2025-02-14T06:03:01.003Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/cf/e5/21ff33ecfa2101c1bb0f9b6df750553bd873b7fb532ce2cb276ff40b197f/tiktoken-0.9.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e88f121c1c22b726649ce67c089b90ddda8b9662545a8aeb03cfef15967ddd03", size = 1065073, upload_time = "2025-02-14T06:02:24.768Z" }, - { url = "https://files.pythonhosted.org/packages/8e/03/a95e7b4863ee9ceec1c55983e4cc9558bcfd8f4f80e19c4f8a99642f697d/tiktoken-0.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a6600660f2f72369acb13a57fb3e212434ed38b045fd8cc6cdd74947b4b5d210", size = 1008075, upload_time = "2025-02-14T06:02:26.92Z" }, - { url = "https://files.pythonhosted.org/packages/40/10/1305bb02a561595088235a513ec73e50b32e74364fef4de519da69bc8010/tiktoken-0.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95e811743b5dfa74f4b227927ed86cbc57cad4df859cb3b643be797914e41794", size = 1140754, upload_time = "2025-02-14T06:02:28.124Z" }, - { url = "https://files.pythonhosted.org/packages/1b/40/da42522018ca496432ffd02793c3a72a739ac04c3794a4914570c9bb2925/tiktoken-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99376e1370d59bcf6935c933cb9ba64adc29033b7e73f5f7569f3aad86552b22", size = 1196678, upload_time = "2025-02-14T06:02:29.845Z" }, - { url = "https://files.pythonhosted.org/packages/5c/41/1e59dddaae270ba20187ceb8aa52c75b24ffc09f547233991d5fd822838b/tiktoken-0.9.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:badb947c32739fb6ddde173e14885fb3de4d32ab9d8c591cbd013c22b4c31dd2", size = 1259283, upload_time = "2025-02-14T06:02:33.838Z" }, - { url = "https://files.pythonhosted.org/packages/5b/64/b16003419a1d7728d0d8c0d56a4c24325e7b10a21a9dd1fc0f7115c02f0a/tiktoken-0.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:5a62d7a25225bafed786a524c1b9f0910a1128f4232615bf3f8257a73aaa3b16", size = 894897, upload_time = "2025-02-14T06:02:36.265Z" }, + { url = "https://files.pythonhosted.org/packages/cf/e5/21ff33ecfa2101c1bb0f9b6df750553bd873b7fb532ce2cb276ff40b197f/tiktoken-0.9.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:e88f121c1c22b726649ce67c089b90ddda8b9662545a8aeb03cfef15967ddd03", size = 1065073, upload-time = "2025-02-14T06:02:24.768Z" }, + { url = "https://files.pythonhosted.org/packages/8e/03/a95e7b4863ee9ceec1c55983e4cc9558bcfd8f4f80e19c4f8a99642f697d/tiktoken-0.9.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a6600660f2f72369acb13a57fb3e212434ed38b045fd8cc6cdd74947b4b5d210", size = 1008075, upload-time = "2025-02-14T06:02:26.92Z" }, + { url = "https://files.pythonhosted.org/packages/40/10/1305bb02a561595088235a513ec73e50b32e74364fef4de519da69bc8010/tiktoken-0.9.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:95e811743b5dfa74f4b227927ed86cbc57cad4df859cb3b643be797914e41794", size = 1140754, upload-time = "2025-02-14T06:02:28.124Z" }, + { url = "https://files.pythonhosted.org/packages/1b/40/da42522018ca496432ffd02793c3a72a739ac04c3794a4914570c9bb2925/tiktoken-0.9.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99376e1370d59bcf6935c933cb9ba64adc29033b7e73f5f7569f3aad86552b22", size = 1196678, upload-time = "2025-02-14T06:02:29.845Z" }, + { url = "https://files.pythonhosted.org/packages/5c/41/1e59dddaae270ba20187ceb8aa52c75b24ffc09f547233991d5fd822838b/tiktoken-0.9.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:badb947c32739fb6ddde173e14885fb3de4d32ab9d8c591cbd013c22b4c31dd2", size = 1259283, upload-time = "2025-02-14T06:02:33.838Z" }, + { url = "https://files.pythonhosted.org/packages/5b/64/b16003419a1d7728d0d8c0d56a4c24325e7b10a21a9dd1fc0f7115c02f0a/tiktoken-0.9.0-cp312-cp312-win_amd64.whl", hash = "sha256:5a62d7a25225bafed786a524c1b9f0910a1128f4232615bf3f8257a73aaa3b16", size = 894897, upload-time = "2025-02-14T06:02:36.265Z" }, ] [[package]] @@ -2680,9 +2683,9 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "webencodings" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload_time = "2024-10-24T14:58:29.895Z" } +sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload-time = "2024-10-24T14:58:29.895Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610, upload_time = "2024-10-24T14:58:28.029Z" }, + { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610, upload-time = "2024-10-24T14:58:28.029Z" }, ] [[package]] @@ -2692,22 +2695,22 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "huggingface-hub" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/92/76/5ac0c97f1117b91b7eb7323dcd61af80d72f790b4df71249a7850c195f30/tokenizers-0.21.1.tar.gz", hash = "sha256:a1bb04dc5b448985f86ecd4b05407f5a8d97cb2c0532199b2a302a604a0165ab", size = 343256, upload_time = "2025-03-13T10:51:18.189Z" } +sdist = { url = "https://files.pythonhosted.org/packages/92/76/5ac0c97f1117b91b7eb7323dcd61af80d72f790b4df71249a7850c195f30/tokenizers-0.21.1.tar.gz", hash = "sha256:a1bb04dc5b448985f86ecd4b05407f5a8d97cb2c0532199b2a302a604a0165ab", size = 343256, upload-time = "2025-03-13T10:51:18.189Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a5/1f/328aee25f9115bf04262e8b4e5a2050b7b7cf44b59c74e982db7270c7f30/tokenizers-0.21.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:e78e413e9e668ad790a29456e677d9d3aa50a9ad311a40905d6861ba7692cf41", size = 2780767, upload_time = "2025-03-13T10:51:09.459Z" }, - { url = "https://files.pythonhosted.org/packages/ae/1a/4526797f3719b0287853f12c5ad563a9be09d446c44ac784cdd7c50f76ab/tokenizers-0.21.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:cd51cd0a91ecc801633829fcd1fda9cf8682ed3477c6243b9a095539de4aecf3", size = 2650555, upload_time = "2025-03-13T10:51:07.692Z" }, - { url = "https://files.pythonhosted.org/packages/4d/7a/a209b29f971a9fdc1da86f917fe4524564924db50d13f0724feed37b2a4d/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28da6b72d4fb14ee200a1bd386ff74ade8992d7f725f2bde2c495a9a98cf4d9f", size = 2937541, upload_time = "2025-03-13T10:50:56.679Z" }, - { url = "https://files.pythonhosted.org/packages/3c/1e/b788b50ffc6191e0b1fc2b0d49df8cff16fe415302e5ceb89f619d12c5bc/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:34d8cfde551c9916cb92014e040806122295a6800914bab5865deb85623931cf", size = 2819058, upload_time = "2025-03-13T10:50:59.525Z" }, - { url = "https://files.pythonhosted.org/packages/36/aa/3626dfa09a0ecc5b57a8c58eeaeb7dd7ca9a37ad9dd681edab5acd55764c/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aaa852d23e125b73d283c98f007e06d4595732104b65402f46e8ef24b588d9f8", size = 3133278, upload_time = "2025-03-13T10:51:04.678Z" }, - { url = "https://files.pythonhosted.org/packages/a4/4d/8fbc203838b3d26269f944a89459d94c858f5b3f9a9b6ee9728cdcf69161/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a21a15d5c8e603331b8a59548bbe113564136dc0f5ad8306dd5033459a226da0", size = 3144253, upload_time = "2025-03-13T10:51:01.261Z" }, - { url = "https://files.pythonhosted.org/packages/d8/1b/2bd062adeb7c7511b847b32e356024980c0ffcf35f28947792c2d8ad2288/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2fdbd4c067c60a0ac7eca14b6bd18a5bebace54eb757c706b47ea93204f7a37c", size = 3398225, upload_time = "2025-03-13T10:51:03.243Z" }, - { url = "https://files.pythonhosted.org/packages/8a/63/38be071b0c8e06840bc6046991636bcb30c27f6bb1e670f4f4bc87cf49cc/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dd9a0061e403546f7377df940e866c3e678d7d4e9643d0461ea442b4f89e61a", size = 3038874, upload_time = "2025-03-13T10:51:06.235Z" }, - { url = "https://files.pythonhosted.org/packages/ec/83/afa94193c09246417c23a3c75a8a0a96bf44ab5630a3015538d0c316dd4b/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:db9484aeb2e200c43b915a1a0150ea885e35f357a5a8fabf7373af333dcc8dbf", size = 9014448, upload_time = "2025-03-13T10:51:10.927Z" }, - { url = "https://files.pythonhosted.org/packages/ae/b3/0e1a37d4f84c0f014d43701c11eb8072704f6efe8d8fc2dcdb79c47d76de/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ed248ab5279e601a30a4d67bdb897ecbe955a50f1e7bb62bd99f07dd11c2f5b6", size = 8937877, upload_time = "2025-03-13T10:51:12.688Z" }, - { url = "https://files.pythonhosted.org/packages/ac/33/ff08f50e6d615eb180a4a328c65907feb6ded0b8f990ec923969759dc379/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:9ac78b12e541d4ce67b4dfd970e44c060a2147b9b2a21f509566d556a509c67d", size = 9186645, upload_time = "2025-03-13T10:51:14.723Z" }, - { url = "https://files.pythonhosted.org/packages/5f/aa/8ae85f69a9f6012c6f8011c6f4aa1c96154c816e9eea2e1b758601157833/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:e5a69c1a4496b81a5ee5d2c1f3f7fbdf95e90a0196101b0ee89ed9956b8a168f", size = 9384380, upload_time = "2025-03-13T10:51:16.526Z" }, - { url = "https://files.pythonhosted.org/packages/e8/5b/a5d98c89f747455e8b7a9504910c865d5e51da55e825a7ae641fb5ff0a58/tokenizers-0.21.1-cp39-abi3-win32.whl", hash = "sha256:1039a3a5734944e09de1d48761ade94e00d0fa760c0e0551151d4dd851ba63e3", size = 2239506, upload_time = "2025-03-13T10:51:20.643Z" }, - { url = "https://files.pythonhosted.org/packages/e6/b6/072a8e053ae600dcc2ac0da81a23548e3b523301a442a6ca900e92ac35be/tokenizers-0.21.1-cp39-abi3-win_amd64.whl", hash = "sha256:0f0dcbcc9f6e13e675a66d7a5f2f225a736745ce484c1a4e07476a89ccdad382", size = 2435481, upload_time = "2025-03-13T10:51:19.243Z" }, + { url = "https://files.pythonhosted.org/packages/a5/1f/328aee25f9115bf04262e8b4e5a2050b7b7cf44b59c74e982db7270c7f30/tokenizers-0.21.1-cp39-abi3-macosx_10_12_x86_64.whl", hash = "sha256:e78e413e9e668ad790a29456e677d9d3aa50a9ad311a40905d6861ba7692cf41", size = 2780767, upload-time = "2025-03-13T10:51:09.459Z" }, + { url = "https://files.pythonhosted.org/packages/ae/1a/4526797f3719b0287853f12c5ad563a9be09d446c44ac784cdd7c50f76ab/tokenizers-0.21.1-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:cd51cd0a91ecc801633829fcd1fda9cf8682ed3477c6243b9a095539de4aecf3", size = 2650555, upload-time = "2025-03-13T10:51:07.692Z" }, + { url = "https://files.pythonhosted.org/packages/4d/7a/a209b29f971a9fdc1da86f917fe4524564924db50d13f0724feed37b2a4d/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28da6b72d4fb14ee200a1bd386ff74ade8992d7f725f2bde2c495a9a98cf4d9f", size = 2937541, upload-time = "2025-03-13T10:50:56.679Z" }, + { url = "https://files.pythonhosted.org/packages/3c/1e/b788b50ffc6191e0b1fc2b0d49df8cff16fe415302e5ceb89f619d12c5bc/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:34d8cfde551c9916cb92014e040806122295a6800914bab5865deb85623931cf", size = 2819058, upload-time = "2025-03-13T10:50:59.525Z" }, + { url = "https://files.pythonhosted.org/packages/36/aa/3626dfa09a0ecc5b57a8c58eeaeb7dd7ca9a37ad9dd681edab5acd55764c/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aaa852d23e125b73d283c98f007e06d4595732104b65402f46e8ef24b588d9f8", size = 3133278, upload-time = "2025-03-13T10:51:04.678Z" }, + { url = "https://files.pythonhosted.org/packages/a4/4d/8fbc203838b3d26269f944a89459d94c858f5b3f9a9b6ee9728cdcf69161/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a21a15d5c8e603331b8a59548bbe113564136dc0f5ad8306dd5033459a226da0", size = 3144253, upload-time = "2025-03-13T10:51:01.261Z" }, + { url = "https://files.pythonhosted.org/packages/d8/1b/2bd062adeb7c7511b847b32e356024980c0ffcf35f28947792c2d8ad2288/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2fdbd4c067c60a0ac7eca14b6bd18a5bebace54eb757c706b47ea93204f7a37c", size = 3398225, upload-time = "2025-03-13T10:51:03.243Z" }, + { url = "https://files.pythonhosted.org/packages/8a/63/38be071b0c8e06840bc6046991636bcb30c27f6bb1e670f4f4bc87cf49cc/tokenizers-0.21.1-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dd9a0061e403546f7377df940e866c3e678d7d4e9643d0461ea442b4f89e61a", size = 3038874, upload-time = "2025-03-13T10:51:06.235Z" }, + { url = "https://files.pythonhosted.org/packages/ec/83/afa94193c09246417c23a3c75a8a0a96bf44ab5630a3015538d0c316dd4b/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:db9484aeb2e200c43b915a1a0150ea885e35f357a5a8fabf7373af333dcc8dbf", size = 9014448, upload-time = "2025-03-13T10:51:10.927Z" }, + { url = "https://files.pythonhosted.org/packages/ae/b3/0e1a37d4f84c0f014d43701c11eb8072704f6efe8d8fc2dcdb79c47d76de/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_armv7l.whl", hash = "sha256:ed248ab5279e601a30a4d67bdb897ecbe955a50f1e7bb62bd99f07dd11c2f5b6", size = 8937877, upload-time = "2025-03-13T10:51:12.688Z" }, + { url = "https://files.pythonhosted.org/packages/ac/33/ff08f50e6d615eb180a4a328c65907feb6ded0b8f990ec923969759dc379/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:9ac78b12e541d4ce67b4dfd970e44c060a2147b9b2a21f509566d556a509c67d", size = 9186645, upload-time = "2025-03-13T10:51:14.723Z" }, + { url = "https://files.pythonhosted.org/packages/5f/aa/8ae85f69a9f6012c6f8011c6f4aa1c96154c816e9eea2e1b758601157833/tokenizers-0.21.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:e5a69c1a4496b81a5ee5d2c1f3f7fbdf95e90a0196101b0ee89ed9956b8a168f", size = 9384380, upload-time = "2025-03-13T10:51:16.526Z" }, + { url = "https://files.pythonhosted.org/packages/e8/5b/a5d98c89f747455e8b7a9504910c865d5e51da55e825a7ae641fb5ff0a58/tokenizers-0.21.1-cp39-abi3-win32.whl", hash = "sha256:1039a3a5734944e09de1d48761ade94e00d0fa760c0e0551151d4dd851ba63e3", size = 2239506, upload-time = "2025-03-13T10:51:20.643Z" }, + { url = "https://files.pythonhosted.org/packages/e6/b6/072a8e053ae600dcc2ac0da81a23548e3b523301a442a6ca900e92ac35be/tokenizers-0.21.1-cp39-abi3-win_amd64.whl", hash = "sha256:0f0dcbcc9f6e13e675a66d7a5f2f225a736745ce484c1a4e07476a89ccdad382", size = 2435481, upload-time = "2025-03-13T10:51:19.243Z" }, ] [[package]] @@ -2739,29 +2742,29 @@ dependencies = [ { name = "typing-extensions" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/87/93/fb505a5022a2e908d81fe9a5e0aa84c86c0d5f408173be71c6018836f34e/torch-2.7.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:27ea1e518df4c9de73af7e8a720770f3628e7f667280bce2be7a16292697e3fa", size = 98948276, upload_time = "2025-06-04T17:39:12.852Z" }, - { url = "https://files.pythonhosted.org/packages/56/7e/67c3fe2b8c33f40af06326a3d6ae7776b3e3a01daa8f71d125d78594d874/torch-2.7.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:c33360cfc2edd976c2633b3b66c769bdcbbf0e0b6550606d188431c81e7dd1fc", size = 821025792, upload_time = "2025-06-04T17:34:58.747Z" }, - { url = "https://files.pythonhosted.org/packages/a1/37/a37495502bc7a23bf34f89584fa5a78e25bae7b8da513bc1b8f97afb7009/torch-2.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:d8bf6e1856ddd1807e79dc57e54d3335f2b62e6f316ed13ed3ecfe1fc1df3d8b", size = 216050349, upload_time = "2025-06-04T17:38:59.709Z" }, - { url = "https://files.pythonhosted.org/packages/3a/60/04b77281c730bb13460628e518c52721257814ac6c298acd25757f6a175c/torch-2.7.1-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:787687087412c4bd68d315e39bc1223f08aae1d16a9e9771d95eabbb04ae98fb", size = 68645146, upload_time = "2025-06-04T17:38:52.97Z" }, + { url = "https://files.pythonhosted.org/packages/87/93/fb505a5022a2e908d81fe9a5e0aa84c86c0d5f408173be71c6018836f34e/torch-2.7.1-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:27ea1e518df4c9de73af7e8a720770f3628e7f667280bce2be7a16292697e3fa", size = 98948276, upload-time = "2025-06-04T17:39:12.852Z" }, + { url = "https://files.pythonhosted.org/packages/56/7e/67c3fe2b8c33f40af06326a3d6ae7776b3e3a01daa8f71d125d78594d874/torch-2.7.1-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:c33360cfc2edd976c2633b3b66c769bdcbbf0e0b6550606d188431c81e7dd1fc", size = 821025792, upload-time = "2025-06-04T17:34:58.747Z" }, + { url = "https://files.pythonhosted.org/packages/a1/37/a37495502bc7a23bf34f89584fa5a78e25bae7b8da513bc1b8f97afb7009/torch-2.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:d8bf6e1856ddd1807e79dc57e54d3335f2b62e6f316ed13ed3ecfe1fc1df3d8b", size = 216050349, upload-time = "2025-06-04T17:38:59.709Z" }, + { url = "https://files.pythonhosted.org/packages/3a/60/04b77281c730bb13460628e518c52721257814ac6c298acd25757f6a175c/torch-2.7.1-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:787687087412c4bd68d315e39bc1223f08aae1d16a9e9771d95eabbb04ae98fb", size = 68645146, upload-time = "2025-06-04T17:38:52.97Z" }, ] [[package]] name = "tornado" version = "6.5.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/51/89/c72771c81d25d53fe33e3dca61c233b665b2780f21820ba6fd2c6793c12b/tornado-6.5.1.tar.gz", hash = "sha256:84ceece391e8eb9b2b95578db65e920d2a61070260594819589609ba9bc6308c", size = 509934, upload_time = "2025-05-22T18:15:38.788Z" } +sdist = { url = "https://files.pythonhosted.org/packages/51/89/c72771c81d25d53fe33e3dca61c233b665b2780f21820ba6fd2c6793c12b/tornado-6.5.1.tar.gz", hash = "sha256:84ceece391e8eb9b2b95578db65e920d2a61070260594819589609ba9bc6308c", size = 509934, upload-time = "2025-05-22T18:15:38.788Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/77/89/f4532dee6843c9e0ebc4e28d4be04c67f54f60813e4bf73d595fe7567452/tornado-6.5.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d50065ba7fd11d3bd41bcad0825227cc9a95154bad83239357094c36708001f7", size = 441948, upload_time = "2025-05-22T18:15:20.862Z" }, - { url = "https://files.pythonhosted.org/packages/15/9a/557406b62cffa395d18772e0cdcf03bed2fff03b374677348eef9f6a3792/tornado-6.5.1-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9e9ca370f717997cb85606d074b0e5b247282cf5e2e1611568b8821afe0342d6", size = 440112, upload_time = "2025-05-22T18:15:22.591Z" }, - { url = "https://files.pythonhosted.org/packages/55/82/7721b7319013a3cf881f4dffa4f60ceff07b31b394e459984e7a36dc99ec/tornado-6.5.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b77e9dfa7ed69754a54c89d82ef746398be82f749df69c4d3abe75c4d1ff4888", size = 443672, upload_time = "2025-05-22T18:15:24.027Z" }, - { url = "https://files.pythonhosted.org/packages/7d/42/d11c4376e7d101171b94e03cef0cbce43e823ed6567ceda571f54cf6e3ce/tornado-6.5.1-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:253b76040ee3bab8bcf7ba9feb136436a3787208717a1fb9f2c16b744fba7331", size = 443019, upload_time = "2025-05-22T18:15:25.735Z" }, - { url = "https://files.pythonhosted.org/packages/7d/f7/0c48ba992d875521ac761e6e04b0a1750f8150ae42ea26df1852d6a98942/tornado-6.5.1-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:308473f4cc5a76227157cdf904de33ac268af770b2c5f05ca6c1161d82fdd95e", size = 443252, upload_time = "2025-05-22T18:15:27.499Z" }, - { url = "https://files.pythonhosted.org/packages/89/46/d8d7413d11987e316df4ad42e16023cd62666a3c0dfa1518ffa30b8df06c/tornado-6.5.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:caec6314ce8a81cf69bd89909f4b633b9f523834dc1a352021775d45e51d9401", size = 443930, upload_time = "2025-05-22T18:15:29.299Z" }, - { url = "https://files.pythonhosted.org/packages/78/b2/f8049221c96a06df89bed68260e8ca94beca5ea532ffc63b1175ad31f9cc/tornado-6.5.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:13ce6e3396c24e2808774741331638ee6c2f50b114b97a55c5b442df65fd9692", size = 443351, upload_time = "2025-05-22T18:15:31.038Z" }, - { url = "https://files.pythonhosted.org/packages/76/ff/6a0079e65b326cc222a54720a748e04a4db246870c4da54ece4577bfa702/tornado-6.5.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5cae6145f4cdf5ab24744526cc0f55a17d76f02c98f4cff9daa08ae9a217448a", size = 443328, upload_time = "2025-05-22T18:15:32.426Z" }, - { url = "https://files.pythonhosted.org/packages/49/18/e3f902a1d21f14035b5bc6246a8c0f51e0eef562ace3a2cea403c1fb7021/tornado-6.5.1-cp39-abi3-win32.whl", hash = "sha256:e0a36e1bc684dca10b1aa75a31df8bdfed656831489bc1e6a6ebed05dc1ec365", size = 444396, upload_time = "2025-05-22T18:15:34.205Z" }, - { url = "https://files.pythonhosted.org/packages/7b/09/6526e32bf1049ee7de3bebba81572673b19a2a8541f795d887e92af1a8bc/tornado-6.5.1-cp39-abi3-win_amd64.whl", hash = "sha256:908e7d64567cecd4c2b458075589a775063453aeb1d2a1853eedb806922f568b", size = 444840, upload_time = "2025-05-22T18:15:36.1Z" }, - { url = "https://files.pythonhosted.org/packages/55/a7/535c44c7bea4578e48281d83c615219f3ab19e6abc67625ef637c73987be/tornado-6.5.1-cp39-abi3-win_arm64.whl", hash = "sha256:02420a0eb7bf617257b9935e2b754d1b63897525d8a289c9d65690d580b4dcf7", size = 443596, upload_time = "2025-05-22T18:15:37.433Z" }, + { url = "https://files.pythonhosted.org/packages/77/89/f4532dee6843c9e0ebc4e28d4be04c67f54f60813e4bf73d595fe7567452/tornado-6.5.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d50065ba7fd11d3bd41bcad0825227cc9a95154bad83239357094c36708001f7", size = 441948, upload-time = "2025-05-22T18:15:20.862Z" }, + { url = "https://files.pythonhosted.org/packages/15/9a/557406b62cffa395d18772e0cdcf03bed2fff03b374677348eef9f6a3792/tornado-6.5.1-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:9e9ca370f717997cb85606d074b0e5b247282cf5e2e1611568b8821afe0342d6", size = 440112, upload-time = "2025-05-22T18:15:22.591Z" }, + { url = "https://files.pythonhosted.org/packages/55/82/7721b7319013a3cf881f4dffa4f60ceff07b31b394e459984e7a36dc99ec/tornado-6.5.1-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b77e9dfa7ed69754a54c89d82ef746398be82f749df69c4d3abe75c4d1ff4888", size = 443672, upload-time = "2025-05-22T18:15:24.027Z" }, + { url = "https://files.pythonhosted.org/packages/7d/42/d11c4376e7d101171b94e03cef0cbce43e823ed6567ceda571f54cf6e3ce/tornado-6.5.1-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:253b76040ee3bab8bcf7ba9feb136436a3787208717a1fb9f2c16b744fba7331", size = 443019, upload-time = "2025-05-22T18:15:25.735Z" }, + { url = "https://files.pythonhosted.org/packages/7d/f7/0c48ba992d875521ac761e6e04b0a1750f8150ae42ea26df1852d6a98942/tornado-6.5.1-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:308473f4cc5a76227157cdf904de33ac268af770b2c5f05ca6c1161d82fdd95e", size = 443252, upload-time = "2025-05-22T18:15:27.499Z" }, + { url = "https://files.pythonhosted.org/packages/89/46/d8d7413d11987e316df4ad42e16023cd62666a3c0dfa1518ffa30b8df06c/tornado-6.5.1-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:caec6314ce8a81cf69bd89909f4b633b9f523834dc1a352021775d45e51d9401", size = 443930, upload-time = "2025-05-22T18:15:29.299Z" }, + { url = "https://files.pythonhosted.org/packages/78/b2/f8049221c96a06df89bed68260e8ca94beca5ea532ffc63b1175ad31f9cc/tornado-6.5.1-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:13ce6e3396c24e2808774741331638ee6c2f50b114b97a55c5b442df65fd9692", size = 443351, upload-time = "2025-05-22T18:15:31.038Z" }, + { url = "https://files.pythonhosted.org/packages/76/ff/6a0079e65b326cc222a54720a748e04a4db246870c4da54ece4577bfa702/tornado-6.5.1-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:5cae6145f4cdf5ab24744526cc0f55a17d76f02c98f4cff9daa08ae9a217448a", size = 443328, upload-time = "2025-05-22T18:15:32.426Z" }, + { url = "https://files.pythonhosted.org/packages/49/18/e3f902a1d21f14035b5bc6246a8c0f51e0eef562ace3a2cea403c1fb7021/tornado-6.5.1-cp39-abi3-win32.whl", hash = "sha256:e0a36e1bc684dca10b1aa75a31df8bdfed656831489bc1e6a6ebed05dc1ec365", size = 444396, upload-time = "2025-05-22T18:15:34.205Z" }, + { url = "https://files.pythonhosted.org/packages/7b/09/6526e32bf1049ee7de3bebba81572673b19a2a8541f795d887e92af1a8bc/tornado-6.5.1-cp39-abi3-win_amd64.whl", hash = "sha256:908e7d64567cecd4c2b458075589a775063453aeb1d2a1853eedb806922f568b", size = 444840, upload-time = "2025-05-22T18:15:36.1Z" }, + { url = "https://files.pythonhosted.org/packages/55/a7/535c44c7bea4578e48281d83c615219f3ab19e6abc67625ef637c73987be/tornado-6.5.1-cp39-abi3-win_arm64.whl", hash = "sha256:02420a0eb7bf617257b9935e2b754d1b63897525d8a289c9d65690d580b4dcf7", size = 443596, upload-time = "2025-05-22T18:15:37.433Z" }, ] [[package]] @@ -2771,18 +2774,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "colorama", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737, upload_time = "2024-11-24T20:12:22.481Z" } +sdist = { url = "https://files.pythonhosted.org/packages/a8/4b/29b4ef32e036bb34e4ab51796dd745cdba7ed47ad142a9f4a1eb8e0c744d/tqdm-4.67.1.tar.gz", hash = "sha256:f8aef9c52c08c13a65f30ea34f4e5aac3fd1a34959879d7e59e63027286627f2", size = 169737, upload-time = "2024-11-24T20:12:22.481Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload_time = "2024-11-24T20:12:19.698Z" }, + { url = "https://files.pythonhosted.org/packages/d0/30/dc54f88dd4a2b5dc8a0279bdd7270e735851848b762aeb1c1184ed1f6b14/tqdm-4.67.1-py3-none-any.whl", hash = "sha256:26445eca388f82e72884e0d580d5464cd801a3ea01e63e5601bdff9ba6a48de2", size = 78540, upload-time = "2024-11-24T20:12:19.698Z" }, ] [[package]] name = "traitlets" version = "5.14.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621, upload_time = "2024-04-19T11:11:49.746Z" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621, upload-time = "2024-04-19T11:11:49.746Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload_time = "2024-04-19T11:11:46.763Z" }, + { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload-time = "2024-04-19T11:11:46.763Z" }, ] [[package]] @@ -2801,9 +2804,9 @@ dependencies = [ { name = "tokenizers" }, { name = "tqdm" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/da/a9/275037087f9d846580b02f2d7cae0e0a6955d46f84583d0151d6227bd416/transformers-4.52.4.tar.gz", hash = "sha256:aff3764441c1adc192a08dba49740d3cbbcb72d850586075aed6bd89b98203e6", size = 8945376, upload_time = "2025-05-30T09:17:17.947Z" } +sdist = { url = "https://files.pythonhosted.org/packages/da/a9/275037087f9d846580b02f2d7cae0e0a6955d46f84583d0151d6227bd416/transformers-4.52.4.tar.gz", hash = "sha256:aff3764441c1adc192a08dba49740d3cbbcb72d850586075aed6bd89b98203e6", size = 8945376, upload-time = "2025-05-30T09:17:17.947Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/96/f2/25b27b396af03d5b64e61976b14f7209e2939e9e806c10749b6d277c273e/transformers-4.52.4-py3-none-any.whl", hash = "sha256:203f5c19416d5877e36e88633943761719538a25d9775977a24fe77a1e5adfc7", size = 10460375, upload_time = "2025-05-30T09:17:14.477Z" }, + { url = "https://files.pythonhosted.org/packages/96/f2/25b27b396af03d5b64e61976b14f7209e2939e9e806c10749b6d277c273e/transformers-4.52.4-py3-none-any.whl", hash = "sha256:203f5c19416d5877e36e88633943761719538a25d9775977a24fe77a1e5adfc7", size = 10460375, upload-time = "2025-05-30T09:17:14.477Z" }, ] [[package]] @@ -2814,9 +2817,9 @@ dependencies = [ { name = "cbor" }, { name = "numpy" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/d4/71/7b62e2e56de6cdf0c648f0033a9faa41b8f712bacd71968af96277185400/trec-car-tools-2.6.tar.gz", hash = "sha256:2fce2de120224fd569b151d5bed358a4ed334e643889b9e3dfe3e5a3d15d21c8", size = 7513, upload_time = "2022-02-01T16:37:20.451Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d4/71/7b62e2e56de6cdf0c648f0033a9faa41b8f712bacd71968af96277185400/trec-car-tools-2.6.tar.gz", hash = "sha256:2fce2de120224fd569b151d5bed358a4ed334e643889b9e3dfe3e5a3d15d21c8", size = 7513, upload-time = "2022-02-01T16:37:20.451Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/36/75/661b406371f96622975eb25f9e70945d97fbe6b8e5af40342c59191962a3/trec_car_tools-2.6-py3-none-any.whl", hash = "sha256:e6f0373259e1c234222da7270ab54ca7af7a6f8d0dd32b13e158c1659d3991cf", size = 8414, upload_time = "2022-02-01T16:37:22.102Z" }, + { url = "https://files.pythonhosted.org/packages/36/75/661b406371f96622975eb25f9e70945d97fbe6b8e5af40342c59191962a3/trec_car_tools-2.6-py3-none-any.whl", hash = "sha256:e6f0373259e1c234222da7270ab54ca7af7a6f8d0dd32b13e158c1659d3991cf", size = 8414, upload-time = "2022-02-01T16:37:22.102Z" }, ] [[package]] @@ -2827,16 +2830,16 @@ dependencies = [ { name = "setuptools" }, ] wheels = [ - { url = "https://files.pythonhosted.org/packages/24/5f/950fb373bf9c01ad4eb5a8cd5eaf32cdf9e238c02f9293557a2129b9c4ac/triton-3.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9999e83aba21e1a78c1f36f21bce621b77bcaa530277a50484a7cb4a822f6e43", size = 155669138, upload_time = "2025-05-29T23:39:51.771Z" }, + { url = "https://files.pythonhosted.org/packages/24/5f/950fb373bf9c01ad4eb5a8cd5eaf32cdf9e238c02f9293557a2129b9c4ac/triton-3.3.1-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9999e83aba21e1a78c1f36f21bce621b77bcaa530277a50484a7cb4a822f6e43", size = 155669138, upload-time = "2025-05-29T23:39:51.771Z" }, ] [[package]] name = "typing-extensions" version = "4.14.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz", hash = "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4", size = 107423, upload_time = "2025-06-02T14:52:11.399Z" } +sdist = { url = "https://files.pythonhosted.org/packages/d1/bc/51647cd02527e87d05cb083ccc402f93e441606ff1f01739a62c8ad09ba5/typing_extensions-4.14.0.tar.gz", hash = "sha256:8676b788e32f02ab42d9e7c61324048ae4c6d844a399eebace3d4979d75ceef4", size = 107423, upload-time = "2025-06-02T14:52:11.399Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af", size = 43839, upload_time = "2025-06-02T14:52:10.026Z" }, + { url = "https://files.pythonhosted.org/packages/69/e0/552843e0d356fbb5256d21449fa957fa4eff3bbc135a74a691ee70c7c5da/typing_extensions-4.14.0-py3-none-any.whl", hash = "sha256:a1514509136dd0b477638fc68d6a91497af5076466ad0fa6c338e44e359944af", size = 43839, upload-time = "2025-06-02T14:52:10.026Z" }, ] [[package]] @@ -2846,18 +2849,18 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "typing-extensions" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28", size = 75726, upload_time = "2025-05-21T18:55:23.885Z" } +sdist = { url = "https://files.pythonhosted.org/packages/f8/b1/0c11f5058406b3af7609f121aaa6b609744687f1d158b3c3a5bf4cc94238/typing_inspection-0.4.1.tar.gz", hash = "sha256:6ae134cc0203c33377d43188d4064e9b357dba58cff3185f22924610e70a9d28", size = 75726, upload-time = "2025-05-21T18:55:23.885Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", size = 14552, upload_time = "2025-05-21T18:55:22.152Z" }, + { url = "https://files.pythonhosted.org/packages/17/69/cd203477f944c353c31bade965f880aa1061fd6bf05ded0726ca845b6ff7/typing_inspection-0.4.1-py3-none-any.whl", hash = "sha256:389055682238f53b04f7badcb49b989835495a96700ced5dab2d8feae4b26f51", size = 14552, upload-time = "2025-05-21T18:55:22.152Z" }, ] [[package]] name = "tzdata" version = "2025.2" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload_time = "2025-03-23T13:54:43.652Z" } +sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload_time = "2025-03-23T13:54:41.845Z" }, + { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" }, ] [[package]] @@ -2867,36 +2870,36 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "tzdata", marker = "sys_platform == 'win32'" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8b/2e/c14812d3d4d9cd1773c6be938f89e5735a1f11a9f184ac3639b93cef35d5/tzlocal-5.3.1.tar.gz", hash = "sha256:cceffc7edecefea1f595541dbd6e990cb1ea3d19bf01b2809f362a03dd7921fd", size = 30761, upload_time = "2025-03-05T21:17:41.549Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8b/2e/c14812d3d4d9cd1773c6be938f89e5735a1f11a9f184ac3639b93cef35d5/tzlocal-5.3.1.tar.gz", hash = "sha256:cceffc7edecefea1f595541dbd6e990cb1ea3d19bf01b2809f362a03dd7921fd", size = 30761, upload-time = "2025-03-05T21:17:41.549Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/c2/14/e2a54fabd4f08cd7af1c07030603c3356b74da07f7cc056e600436edfa17/tzlocal-5.3.1-py3-none-any.whl", hash = "sha256:eb1a66c3ef5847adf7a834f1be0800581b683b5608e74f86ecbcef8ab91bb85d", size = 18026, upload_time = "2025-03-05T21:17:39.857Z" }, + { url = "https://files.pythonhosted.org/packages/c2/14/e2a54fabd4f08cd7af1c07030603c3356b74da07f7cc056e600436edfa17/tzlocal-5.3.1-py3-none-any.whl", hash = "sha256:eb1a66c3ef5847adf7a834f1be0800581b683b5608e74f86ecbcef8ab91bb85d", size = 18026, upload-time = "2025-03-05T21:17:39.857Z" }, ] [[package]] name = "unlzw3" version = "0.2.3" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/08/f1/72b313366285263aaba21a17714fbef597d7662a8737a928b2b4784eb46e/unlzw3-0.2.3.tar.gz", hash = "sha256:ede5d928c792fff9da406f20334f9739693327f448f383ae1df1774627197bbb", size = 5426, upload_time = "2024-12-20T16:05:55.889Z" } +sdist = { url = "https://files.pythonhosted.org/packages/08/f1/72b313366285263aaba21a17714fbef597d7662a8737a928b2b4784eb46e/unlzw3-0.2.3.tar.gz", hash = "sha256:ede5d928c792fff9da406f20334f9739693327f448f383ae1df1774627197bbb", size = 5426, upload-time = "2024-12-20T16:05:55.889Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/4d/fb/617af9b317ac75f5663285d3a3cc38903a76d63c6e7397768307545f4ff4/unlzw3-0.2.3-py3-none-any.whl", hash = "sha256:7760fb4f3afa1225623944c061991d89a061f7fb78665dbc4cddfdb562bb4a8b", size = 6729, upload_time = "2024-12-20T16:05:53.278Z" }, + { url = "https://files.pythonhosted.org/packages/4d/fb/617af9b317ac75f5663285d3a3cc38903a76d63c6e7397768307545f4ff4/unlzw3-0.2.3-py3-none-any.whl", hash = "sha256:7760fb4f3afa1225623944c061991d89a061f7fb78665dbc4cddfdb562bb4a8b", size = 6729, upload-time = "2024-12-20T16:05:53.278Z" }, ] [[package]] name = "uritemplate" version = "4.2.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/98/60/f174043244c5306c9988380d2cb10009f91563fc4b31293d27e17201af56/uritemplate-4.2.0.tar.gz", hash = "sha256:480c2ed180878955863323eea31b0ede668795de182617fef9c6ca09e6ec9d0e", size = 33267, upload_time = "2025-06-02T15:12:06.318Z" } +sdist = { url = "https://files.pythonhosted.org/packages/98/60/f174043244c5306c9988380d2cb10009f91563fc4b31293d27e17201af56/uritemplate-4.2.0.tar.gz", hash = "sha256:480c2ed180878955863323eea31b0ede668795de182617fef9c6ca09e6ec9d0e", size = 33267, upload-time = "2025-06-02T15:12:06.318Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/a9/99/3ae339466c9183ea5b8ae87b34c0b897eda475d2aec2307cae60e5cd4f29/uritemplate-4.2.0-py3-none-any.whl", hash = "sha256:962201ba1c4edcab02e60f9a0d3821e82dfc5d2d6662a21abd533879bdb8a686", size = 11488, upload_time = "2025-06-02T15:12:03.405Z" }, + { url = "https://files.pythonhosted.org/packages/a9/99/3ae339466c9183ea5b8ae87b34c0b897eda475d2aec2307cae60e5cd4f29/uritemplate-4.2.0-py3-none-any.whl", hash = "sha256:962201ba1c4edcab02e60f9a0d3821e82dfc5d2d6662a21abd533879bdb8a686", size = 11488, upload-time = "2025-06-02T15:12:03.405Z" }, ] [[package]] name = "urllib3" version = "2.4.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload_time = "2025-04-10T15:23:39.232Z" } +sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672, upload-time = "2025-04-10T15:23:39.232Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload_time = "2025-04-10T15:23:37.377Z" }, + { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680, upload-time = "2025-04-10T15:23:37.377Z" }, ] [[package]] @@ -2907,9 +2910,9 @@ dependencies = [ { name = "click" }, { name = "h11" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/de/ad/713be230bcda622eaa35c28f0d328c3675c371238470abdea52417f17a8e/uvicorn-0.34.3.tar.gz", hash = "sha256:35919a9a979d7a59334b6b10e05d77c1d0d574c50e0fc98b8b1a0f165708b55a", size = 76631, upload_time = "2025-06-01T07:48:17.531Z" } +sdist = { url = "https://files.pythonhosted.org/packages/de/ad/713be230bcda622eaa35c28f0d328c3675c371238470abdea52417f17a8e/uvicorn-0.34.3.tar.gz", hash = "sha256:35919a9a979d7a59334b6b10e05d77c1d0d574c50e0fc98b8b1a0f165708b55a", size = 76631, upload-time = "2025-06-01T07:48:17.531Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6d/0d/8adfeaa62945f90d19ddc461c55f4a50c258af7662d34b6a3d5d1f8646f6/uvicorn-0.34.3-py3-none-any.whl", hash = "sha256:16246631db62bdfbf069b0645177d6e8a77ba950cfedbfd093acef9444e4d885", size = 62431, upload_time = "2025-06-01T07:48:15.664Z" }, + { url = "https://files.pythonhosted.org/packages/6d/0d/8adfeaa62945f90d19ddc461c55f4a50c258af7662d34b6a3d5d1f8646f6/uvicorn-0.34.3-py3-none-any.whl", hash = "sha256:16246631db62bdfbf069b0645177d6e8a77ba950cfedbfd093acef9444e4d885", size = 62431, upload-time = "2025-06-01T07:48:15.664Z" }, ] [package.optional-dependencies] @@ -2927,30 +2930,30 @@ standard = [ name = "uvloop" version = "0.21.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/af/c0/854216d09d33c543f12a44b393c402e89a920b1a0a7dc634c42de91b9cf6/uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3", size = 2492741, upload_time = "2024-10-14T23:38:35.489Z" } +sdist = { url = "https://files.pythonhosted.org/packages/af/c0/854216d09d33c543f12a44b393c402e89a920b1a0a7dc634c42de91b9cf6/uvloop-0.21.0.tar.gz", hash = "sha256:3bf12b0fda68447806a7ad847bfa591613177275d35b6724b1ee573faa3704e3", size = 2492741, upload-time = "2024-10-14T23:38:35.489Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/8c/4c/03f93178830dc7ce8b4cdee1d36770d2f5ebb6f3d37d354e061eefc73545/uvloop-0.21.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:359ec2c888397b9e592a889c4d72ba3d6befba8b2bb01743f72fffbde663b59c", size = 1471284, upload_time = "2024-10-14T23:37:47.833Z" }, - { url = "https://files.pythonhosted.org/packages/43/3e/92c03f4d05e50f09251bd8b2b2b584a2a7f8fe600008bcc4523337abe676/uvloop-0.21.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7089d2dc73179ce5ac255bdf37c236a9f914b264825fdaacaded6990a7fb4c2", size = 821349, upload_time = "2024-10-14T23:37:50.149Z" }, - { url = "https://files.pythonhosted.org/packages/a6/ef/a02ec5da49909dbbfb1fd205a9a1ac4e88ea92dcae885e7c961847cd51e2/uvloop-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baa4dcdbd9ae0a372f2167a207cd98c9f9a1ea1188a8a526431eef2f8116cc8d", size = 4580089, upload_time = "2024-10-14T23:37:51.703Z" }, - { url = "https://files.pythonhosted.org/packages/06/a7/b4e6a19925c900be9f98bec0a75e6e8f79bb53bdeb891916609ab3958967/uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86975dca1c773a2c9864f4c52c5a55631038e387b47eaf56210f873887b6c8dc", size = 4693770, upload_time = "2024-10-14T23:37:54.122Z" }, - { url = "https://files.pythonhosted.org/packages/ce/0c/f07435a18a4b94ce6bd0677d8319cd3de61f3a9eeb1e5f8ab4e8b5edfcb3/uvloop-0.21.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:461d9ae6660fbbafedd07559c6a2e57cd553b34b0065b6550685f6653a98c1cb", size = 4451321, upload_time = "2024-10-14T23:37:55.766Z" }, - { url = "https://files.pythonhosted.org/packages/8f/eb/f7032be105877bcf924709c97b1bf3b90255b4ec251f9340cef912559f28/uvloop-0.21.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:183aef7c8730e54c9a3ee3227464daed66e37ba13040bb3f350bc2ddc040f22f", size = 4659022, upload_time = "2024-10-14T23:37:58.195Z" }, + { url = "https://files.pythonhosted.org/packages/8c/4c/03f93178830dc7ce8b4cdee1d36770d2f5ebb6f3d37d354e061eefc73545/uvloop-0.21.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:359ec2c888397b9e592a889c4d72ba3d6befba8b2bb01743f72fffbde663b59c", size = 1471284, upload-time = "2024-10-14T23:37:47.833Z" }, + { url = "https://files.pythonhosted.org/packages/43/3e/92c03f4d05e50f09251bd8b2b2b584a2a7f8fe600008bcc4523337abe676/uvloop-0.21.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:f7089d2dc73179ce5ac255bdf37c236a9f914b264825fdaacaded6990a7fb4c2", size = 821349, upload-time = "2024-10-14T23:37:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/a6/ef/a02ec5da49909dbbfb1fd205a9a1ac4e88ea92dcae885e7c961847cd51e2/uvloop-0.21.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:baa4dcdbd9ae0a372f2167a207cd98c9f9a1ea1188a8a526431eef2f8116cc8d", size = 4580089, upload-time = "2024-10-14T23:37:51.703Z" }, + { url = "https://files.pythonhosted.org/packages/06/a7/b4e6a19925c900be9f98bec0a75e6e8f79bb53bdeb891916609ab3958967/uvloop-0.21.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86975dca1c773a2c9864f4c52c5a55631038e387b47eaf56210f873887b6c8dc", size = 4693770, upload-time = "2024-10-14T23:37:54.122Z" }, + { url = "https://files.pythonhosted.org/packages/ce/0c/f07435a18a4b94ce6bd0677d8319cd3de61f3a9eeb1e5f8ab4e8b5edfcb3/uvloop-0.21.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:461d9ae6660fbbafedd07559c6a2e57cd553b34b0065b6550685f6653a98c1cb", size = 4451321, upload-time = "2024-10-14T23:37:55.766Z" }, + { url = "https://files.pythonhosted.org/packages/8f/eb/f7032be105877bcf924709c97b1bf3b90255b4ec251f9340cef912559f28/uvloop-0.21.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:183aef7c8730e54c9a3ee3227464daed66e37ba13040bb3f350bc2ddc040f22f", size = 4659022, upload-time = "2024-10-14T23:37:58.195Z" }, ] [[package]] name = "warc3-wet" version = "0.2.5" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/21/c6/24c9b4a2b2b1741b57d7f44ff9790eb4ef28de898c17c2b1ca1efabf8c96/warc3_wet-0.2.5.tar.gz", hash = "sha256:15e50402dabaa1e95307f1e2a6169cfd5f137b70761d9f0b16a10aa6de227970", size = 17937, upload_time = "2024-07-17T08:33:51.765Z" } +sdist = { url = "https://files.pythonhosted.org/packages/21/c6/24c9b4a2b2b1741b57d7f44ff9790eb4ef28de898c17c2b1ca1efabf8c96/warc3_wet-0.2.5.tar.gz", hash = "sha256:15e50402dabaa1e95307f1e2a6169cfd5f137b70761d9f0b16a10aa6de227970", size = 17937, upload-time = "2024-07-17T08:33:51.765Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/99/0a5582a106679fd9439af51631b6c6cb627fd96cbc85a02927e6812605b8/warc3_wet-0.2.5-py3-none-any.whl", hash = "sha256:5a9a525383fb1af159734baa75f349a7c4ec7bccd1b938681b5748515d2bf624", size = 18657, upload_time = "2024-07-17T08:33:50.086Z" }, + { url = "https://files.pythonhosted.org/packages/f4/99/0a5582a106679fd9439af51631b6c6cb627fd96cbc85a02927e6812605b8/warc3_wet-0.2.5-py3-none-any.whl", hash = "sha256:5a9a525383fb1af159734baa75f349a7c4ec7bccd1b938681b5748515d2bf624", size = 18657, upload-time = "2024-07-17T08:33:50.086Z" }, ] [[package]] name = "warc3-wet-clueweb09" version = "0.2.5" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9f/c1/dd817bf57e0274dacb10e0ac868cb6cd70876950cf361c41879c030a2b8b/warc3-wet-clueweb09-0.2.5.tar.gz", hash = "sha256:3054bfc07da525d5967df8ca3175f78fa3f78514c82643f8c81fbca96300b836", size = 17853, upload_time = "2020-12-07T23:59:04.599Z" } +sdist = { url = "https://files.pythonhosted.org/packages/9f/c1/dd817bf57e0274dacb10e0ac868cb6cd70876950cf361c41879c030a2b8b/warc3-wet-clueweb09-0.2.5.tar.gz", hash = "sha256:3054bfc07da525d5967df8ca3175f78fa3f78514c82643f8c81fbca96300b836", size = 17853, upload-time = "2020-12-07T23:59:04.599Z" } [[package]] name = "watchfiles" @@ -2959,82 +2962,82 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/03/e2/8ed598c42057de7aa5d97c472254af4906ff0a59a66699d426fc9ef795d7/watchfiles-1.0.5.tar.gz", hash = "sha256:b7529b5dcc114679d43827d8c35a07c493ad6f083633d573d81c660abc5979e9", size = 94537, upload_time = "2025-04-08T10:36:26.722Z" } +sdist = { url = "https://files.pythonhosted.org/packages/03/e2/8ed598c42057de7aa5d97c472254af4906ff0a59a66699d426fc9ef795d7/watchfiles-1.0.5.tar.gz", hash = "sha256:b7529b5dcc114679d43827d8c35a07c493ad6f083633d573d81c660abc5979e9", size = 94537, upload-time = "2025-04-08T10:36:26.722Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2a/8c/4f0b9bdb75a1bfbd9c78fad7d8854369283f74fe7cf03eb16be77054536d/watchfiles-1.0.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:b5eb568c2aa6018e26da9e6c86f3ec3fd958cee7f0311b35c2630fa4217d17f2", size = 401511, upload_time = "2025-04-08T10:35:17.956Z" }, - { url = "https://files.pythonhosted.org/packages/dc/4e/7e15825def77f8bd359b6d3f379f0c9dac4eb09dd4ddd58fd7d14127179c/watchfiles-1.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0a04059f4923ce4e856b4b4e5e783a70f49d9663d22a4c3b3298165996d1377f", size = 392715, upload_time = "2025-04-08T10:35:19.202Z" }, - { url = "https://files.pythonhosted.org/packages/58/65/b72fb817518728e08de5840d5d38571466c1b4a3f724d190cec909ee6f3f/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e380c89983ce6e6fe2dd1e1921b9952fb4e6da882931abd1824c092ed495dec", size = 454138, upload_time = "2025-04-08T10:35:20.586Z" }, - { url = "https://files.pythonhosted.org/packages/3e/a4/86833fd2ea2e50ae28989f5950b5c3f91022d67092bfec08f8300d8b347b/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fe43139b2c0fdc4a14d4f8d5b5d967f7a2777fd3d38ecf5b1ec669b0d7e43c21", size = 458592, upload_time = "2025-04-08T10:35:21.87Z" }, - { url = "https://files.pythonhosted.org/packages/38/7e/42cb8df8be9a37e50dd3a818816501cf7a20d635d76d6bd65aae3dbbff68/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee0822ce1b8a14fe5a066f93edd20aada932acfe348bede8aa2149f1a4489512", size = 487532, upload_time = "2025-04-08T10:35:23.143Z" }, - { url = "https://files.pythonhosted.org/packages/fc/fd/13d26721c85d7f3df6169d8b495fcac8ab0dc8f0945ebea8845de4681dab/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a0dbcb1c2d8f2ab6e0a81c6699b236932bd264d4cef1ac475858d16c403de74d", size = 522865, upload_time = "2025-04-08T10:35:24.702Z" }, - { url = "https://files.pythonhosted.org/packages/a1/0d/7f9ae243c04e96c5455d111e21b09087d0eeaf9a1369e13a01c7d3d82478/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a2014a2b18ad3ca53b1f6c23f8cd94a18ce930c1837bd891262c182640eb40a6", size = 499887, upload_time = "2025-04-08T10:35:25.969Z" }, - { url = "https://files.pythonhosted.org/packages/8e/0f/a257766998e26aca4b3acf2ae97dff04b57071e991a510857d3799247c67/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10f6ae86d5cb647bf58f9f655fcf577f713915a5d69057a0371bc257e2553234", size = 454498, upload_time = "2025-04-08T10:35:27.353Z" }, - { url = "https://files.pythonhosted.org/packages/81/79/8bf142575a03e0af9c3d5f8bcae911ee6683ae93a625d349d4ecf4c8f7df/watchfiles-1.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1a7bac2bde1d661fb31f4d4e8e539e178774b76db3c2c17c4bb3e960a5de07a2", size = 630663, upload_time = "2025-04-08T10:35:28.685Z" }, - { url = "https://files.pythonhosted.org/packages/f1/80/abe2e79f610e45c63a70d271caea90c49bbf93eb00fa947fa9b803a1d51f/watchfiles-1.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ab626da2fc1ac277bbf752446470b367f84b50295264d2d313e28dc4405d663", size = 625410, upload_time = "2025-04-08T10:35:30.42Z" }, - { url = "https://files.pythonhosted.org/packages/91/6f/bc7fbecb84a41a9069c2c6eb6319f7f7df113adf113e358c57fc1aff7ff5/watchfiles-1.0.5-cp312-cp312-win32.whl", hash = "sha256:9f4571a783914feda92018ef3901dab8caf5b029325b5fe4558c074582815249", size = 277965, upload_time = "2025-04-08T10:35:32.023Z" }, - { url = "https://files.pythonhosted.org/packages/99/a5/bf1c297ea6649ec59e935ab311f63d8af5faa8f0b86993e3282b984263e3/watchfiles-1.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:360a398c3a19672cf93527f7e8d8b60d8275119c5d900f2e184d32483117a705", size = 291693, upload_time = "2025-04-08T10:35:33.225Z" }, - { url = "https://files.pythonhosted.org/packages/7f/7b/fd01087cc21db5c47e5beae507b87965db341cce8a86f9eb12bf5219d4e0/watchfiles-1.0.5-cp312-cp312-win_arm64.whl", hash = "sha256:1a2902ede862969077b97523987c38db28abbe09fb19866e711485d9fbf0d417", size = 283287, upload_time = "2025-04-08T10:35:34.568Z" }, + { url = "https://files.pythonhosted.org/packages/2a/8c/4f0b9bdb75a1bfbd9c78fad7d8854369283f74fe7cf03eb16be77054536d/watchfiles-1.0.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:b5eb568c2aa6018e26da9e6c86f3ec3fd958cee7f0311b35c2630fa4217d17f2", size = 401511, upload-time = "2025-04-08T10:35:17.956Z" }, + { url = "https://files.pythonhosted.org/packages/dc/4e/7e15825def77f8bd359b6d3f379f0c9dac4eb09dd4ddd58fd7d14127179c/watchfiles-1.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0a04059f4923ce4e856b4b4e5e783a70f49d9663d22a4c3b3298165996d1377f", size = 392715, upload-time = "2025-04-08T10:35:19.202Z" }, + { url = "https://files.pythonhosted.org/packages/58/65/b72fb817518728e08de5840d5d38571466c1b4a3f724d190cec909ee6f3f/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e380c89983ce6e6fe2dd1e1921b9952fb4e6da882931abd1824c092ed495dec", size = 454138, upload-time = "2025-04-08T10:35:20.586Z" }, + { url = "https://files.pythonhosted.org/packages/3e/a4/86833fd2ea2e50ae28989f5950b5c3f91022d67092bfec08f8300d8b347b/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:fe43139b2c0fdc4a14d4f8d5b5d967f7a2777fd3d38ecf5b1ec669b0d7e43c21", size = 458592, upload-time = "2025-04-08T10:35:21.87Z" }, + { url = "https://files.pythonhosted.org/packages/38/7e/42cb8df8be9a37e50dd3a818816501cf7a20d635d76d6bd65aae3dbbff68/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ee0822ce1b8a14fe5a066f93edd20aada932acfe348bede8aa2149f1a4489512", size = 487532, upload-time = "2025-04-08T10:35:23.143Z" }, + { url = "https://files.pythonhosted.org/packages/fc/fd/13d26721c85d7f3df6169d8b495fcac8ab0dc8f0945ebea8845de4681dab/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a0dbcb1c2d8f2ab6e0a81c6699b236932bd264d4cef1ac475858d16c403de74d", size = 522865, upload-time = "2025-04-08T10:35:24.702Z" }, + { url = "https://files.pythonhosted.org/packages/a1/0d/7f9ae243c04e96c5455d111e21b09087d0eeaf9a1369e13a01c7d3d82478/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a2014a2b18ad3ca53b1f6c23f8cd94a18ce930c1837bd891262c182640eb40a6", size = 499887, upload-time = "2025-04-08T10:35:25.969Z" }, + { url = "https://files.pythonhosted.org/packages/8e/0f/a257766998e26aca4b3acf2ae97dff04b57071e991a510857d3799247c67/watchfiles-1.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:10f6ae86d5cb647bf58f9f655fcf577f713915a5d69057a0371bc257e2553234", size = 454498, upload-time = "2025-04-08T10:35:27.353Z" }, + { url = "https://files.pythonhosted.org/packages/81/79/8bf142575a03e0af9c3d5f8bcae911ee6683ae93a625d349d4ecf4c8f7df/watchfiles-1.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:1a7bac2bde1d661fb31f4d4e8e539e178774b76db3c2c17c4bb3e960a5de07a2", size = 630663, upload-time = "2025-04-08T10:35:28.685Z" }, + { url = "https://files.pythonhosted.org/packages/f1/80/abe2e79f610e45c63a70d271caea90c49bbf93eb00fa947fa9b803a1d51f/watchfiles-1.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4ab626da2fc1ac277bbf752446470b367f84b50295264d2d313e28dc4405d663", size = 625410, upload-time = "2025-04-08T10:35:30.42Z" }, + { url = "https://files.pythonhosted.org/packages/91/6f/bc7fbecb84a41a9069c2c6eb6319f7f7df113adf113e358c57fc1aff7ff5/watchfiles-1.0.5-cp312-cp312-win32.whl", hash = "sha256:9f4571a783914feda92018ef3901dab8caf5b029325b5fe4558c074582815249", size = 277965, upload-time = "2025-04-08T10:35:32.023Z" }, + { url = "https://files.pythonhosted.org/packages/99/a5/bf1c297ea6649ec59e935ab311f63d8af5faa8f0b86993e3282b984263e3/watchfiles-1.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:360a398c3a19672cf93527f7e8d8b60d8275119c5d900f2e184d32483117a705", size = 291693, upload-time = "2025-04-08T10:35:33.225Z" }, + { url = "https://files.pythonhosted.org/packages/7f/7b/fd01087cc21db5c47e5beae507b87965db341cce8a86f9eb12bf5219d4e0/watchfiles-1.0.5-cp312-cp312-win_arm64.whl", hash = "sha256:1a2902ede862969077b97523987c38db28abbe09fb19866e711485d9fbf0d417", size = 283287, upload-time = "2025-04-08T10:35:34.568Z" }, ] [[package]] name = "wcwidth" version = "0.2.13" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload_time = "2024-01-06T02:10:57.829Z" } +sdist = { url = "https://files.pythonhosted.org/packages/6c/63/53559446a878410fc5a5974feb13d31d78d752eb18aeba59c7fef1af7598/wcwidth-0.2.13.tar.gz", hash = "sha256:72ea0c06399eb286d978fdedb6923a9eb47e1c486ce63e9b4e64fc18303972b5", size = 101301, upload-time = "2024-01-06T02:10:57.829Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload_time = "2024-01-06T02:10:55.763Z" }, + { url = "https://files.pythonhosted.org/packages/fd/84/fd2ba7aafacbad3c4201d395674fc6348826569da3c0937e75505ead3528/wcwidth-0.2.13-py2.py3-none-any.whl", hash = "sha256:3da69048e4540d84af32131829ff948f1e022c1c6bdb8d6102117aac784f6859", size = 34166, upload-time = "2024-01-06T02:10:55.763Z" }, ] [[package]] name = "webencodings" version = "0.5.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721, upload_time = "2017-04-05T20:21:34.189Z" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721, upload-time = "2017-04-05T20:21:34.189Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload_time = "2017-04-05T20:21:32.581Z" }, + { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" }, ] [[package]] name = "websockets" version = "15.0.1" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", size = 177016, upload_time = "2025-03-05T20:03:41.606Z" } +sdist = { url = "https://files.pythonhosted.org/packages/21/e6/26d09fab466b7ca9c7737474c52be4f76a40301b08362eb2dbc19dcc16c1/websockets-15.0.1.tar.gz", hash = "sha256:82544de02076bafba038ce055ee6412d68da13ab47f0c60cab827346de828dee", size = 177016, upload-time = "2025-03-05T20:03:41.606Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/51/6b/4545a0d843594f5d0771e86463606a3988b5a09ca5123136f8a76580dd63/websockets-15.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3e90baa811a5d73f3ca0bcbf32064d663ed81318ab225ee4f427ad4e26e5aff3", size = 175437, upload_time = "2025-03-05T20:02:16.706Z" }, - { url = "https://files.pythonhosted.org/packages/f4/71/809a0f5f6a06522af902e0f2ea2757f71ead94610010cf570ab5c98e99ed/websockets-15.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:592f1a9fe869c778694f0aa806ba0374e97648ab57936f092fd9d87f8bc03665", size = 173096, upload_time = "2025-03-05T20:02:18.832Z" }, - { url = "https://files.pythonhosted.org/packages/3d/69/1a681dd6f02180916f116894181eab8b2e25b31e484c5d0eae637ec01f7c/websockets-15.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0701bc3cfcb9164d04a14b149fd74be7347a530ad3bbf15ab2c678a2cd3dd9a2", size = 173332, upload_time = "2025-03-05T20:02:20.187Z" }, - { url = "https://files.pythonhosted.org/packages/a6/02/0073b3952f5bce97eafbb35757f8d0d54812b6174ed8dd952aa08429bcc3/websockets-15.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8b56bdcdb4505c8078cb6c7157d9811a85790f2f2b3632c7d1462ab5783d215", size = 183152, upload_time = "2025-03-05T20:02:22.286Z" }, - { url = "https://files.pythonhosted.org/packages/74/45/c205c8480eafd114b428284840da0b1be9ffd0e4f87338dc95dc6ff961a1/websockets-15.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0af68c55afbd5f07986df82831c7bff04846928ea8d1fd7f30052638788bc9b5", size = 182096, upload_time = "2025-03-05T20:02:24.368Z" }, - { url = "https://files.pythonhosted.org/packages/14/8f/aa61f528fba38578ec553c145857a181384c72b98156f858ca5c8e82d9d3/websockets-15.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64dee438fed052b52e4f98f76c5790513235efaa1ef7f3f2192c392cd7c91b65", size = 182523, upload_time = "2025-03-05T20:02:25.669Z" }, - { url = "https://files.pythonhosted.org/packages/ec/6d/0267396610add5bc0d0d3e77f546d4cd287200804fe02323797de77dbce9/websockets-15.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d5f6b181bb38171a8ad1d6aa58a67a6aa9d4b38d0f8c5f496b9e42561dfc62fe", size = 182790, upload_time = "2025-03-05T20:02:26.99Z" }, - { url = "https://files.pythonhosted.org/packages/02/05/c68c5adbf679cf610ae2f74a9b871ae84564462955d991178f95a1ddb7dd/websockets-15.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5d54b09eba2bada6011aea5375542a157637b91029687eb4fdb2dab11059c1b4", size = 182165, upload_time = "2025-03-05T20:02:30.291Z" }, - { url = "https://files.pythonhosted.org/packages/29/93/bb672df7b2f5faac89761cb5fa34f5cec45a4026c383a4b5761c6cea5c16/websockets-15.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3be571a8b5afed347da347bfcf27ba12b069d9d7f42cb8c7028b5e98bbb12597", size = 182160, upload_time = "2025-03-05T20:02:31.634Z" }, - { url = "https://files.pythonhosted.org/packages/ff/83/de1f7709376dc3ca9b7eeb4b9a07b4526b14876b6d372a4dc62312bebee0/websockets-15.0.1-cp312-cp312-win32.whl", hash = "sha256:c338ffa0520bdb12fbc527265235639fb76e7bc7faafbb93f6ba80d9c06578a9", size = 176395, upload_time = "2025-03-05T20:02:33.017Z" }, - { url = "https://files.pythonhosted.org/packages/7d/71/abf2ebc3bbfa40f391ce1428c7168fb20582d0ff57019b69ea20fa698043/websockets-15.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcd5cf9e305d7b8338754470cf69cf81f420459dbae8a3b40cee57417f4614a7", size = 176841, upload_time = "2025-03-05T20:02:34.498Z" }, - { url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743, upload_time = "2025-03-05T20:03:39.41Z" }, + { url = "https://files.pythonhosted.org/packages/51/6b/4545a0d843594f5d0771e86463606a3988b5a09ca5123136f8a76580dd63/websockets-15.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:3e90baa811a5d73f3ca0bcbf32064d663ed81318ab225ee4f427ad4e26e5aff3", size = 175437, upload-time = "2025-03-05T20:02:16.706Z" }, + { url = "https://files.pythonhosted.org/packages/f4/71/809a0f5f6a06522af902e0f2ea2757f71ead94610010cf570ab5c98e99ed/websockets-15.0.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:592f1a9fe869c778694f0aa806ba0374e97648ab57936f092fd9d87f8bc03665", size = 173096, upload-time = "2025-03-05T20:02:18.832Z" }, + { url = "https://files.pythonhosted.org/packages/3d/69/1a681dd6f02180916f116894181eab8b2e25b31e484c5d0eae637ec01f7c/websockets-15.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:0701bc3cfcb9164d04a14b149fd74be7347a530ad3bbf15ab2c678a2cd3dd9a2", size = 173332, upload-time = "2025-03-05T20:02:20.187Z" }, + { url = "https://files.pythonhosted.org/packages/a6/02/0073b3952f5bce97eafbb35757f8d0d54812b6174ed8dd952aa08429bcc3/websockets-15.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e8b56bdcdb4505c8078cb6c7157d9811a85790f2f2b3632c7d1462ab5783d215", size = 183152, upload-time = "2025-03-05T20:02:22.286Z" }, + { url = "https://files.pythonhosted.org/packages/74/45/c205c8480eafd114b428284840da0b1be9ffd0e4f87338dc95dc6ff961a1/websockets-15.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0af68c55afbd5f07986df82831c7bff04846928ea8d1fd7f30052638788bc9b5", size = 182096, upload-time = "2025-03-05T20:02:24.368Z" }, + { url = "https://files.pythonhosted.org/packages/14/8f/aa61f528fba38578ec553c145857a181384c72b98156f858ca5c8e82d9d3/websockets-15.0.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:64dee438fed052b52e4f98f76c5790513235efaa1ef7f3f2192c392cd7c91b65", size = 182523, upload-time = "2025-03-05T20:02:25.669Z" }, + { url = "https://files.pythonhosted.org/packages/ec/6d/0267396610add5bc0d0d3e77f546d4cd287200804fe02323797de77dbce9/websockets-15.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d5f6b181bb38171a8ad1d6aa58a67a6aa9d4b38d0f8c5f496b9e42561dfc62fe", size = 182790, upload-time = "2025-03-05T20:02:26.99Z" }, + { url = "https://files.pythonhosted.org/packages/02/05/c68c5adbf679cf610ae2f74a9b871ae84564462955d991178f95a1ddb7dd/websockets-15.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:5d54b09eba2bada6011aea5375542a157637b91029687eb4fdb2dab11059c1b4", size = 182165, upload-time = "2025-03-05T20:02:30.291Z" }, + { url = "https://files.pythonhosted.org/packages/29/93/bb672df7b2f5faac89761cb5fa34f5cec45a4026c383a4b5761c6cea5c16/websockets-15.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3be571a8b5afed347da347bfcf27ba12b069d9d7f42cb8c7028b5e98bbb12597", size = 182160, upload-time = "2025-03-05T20:02:31.634Z" }, + { url = "https://files.pythonhosted.org/packages/ff/83/de1f7709376dc3ca9b7eeb4b9a07b4526b14876b6d372a4dc62312bebee0/websockets-15.0.1-cp312-cp312-win32.whl", hash = "sha256:c338ffa0520bdb12fbc527265235639fb76e7bc7faafbb93f6ba80d9c06578a9", size = 176395, upload-time = "2025-03-05T20:02:33.017Z" }, + { url = "https://files.pythonhosted.org/packages/7d/71/abf2ebc3bbfa40f391ce1428c7168fb20582d0ff57019b69ea20fa698043/websockets-15.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcd5cf9e305d7b8338754470cf69cf81f420459dbae8a3b40cee57417f4614a7", size = 176841, upload-time = "2025-03-05T20:02:34.498Z" }, + { url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743, upload-time = "2025-03-05T20:03:39.41Z" }, ] [[package]] name = "xxhash" version = "3.5.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/00/5e/d6e5258d69df8b4ed8c83b6664f2b47d30d2dec551a29ad72a6c69eafd31/xxhash-3.5.0.tar.gz", hash = "sha256:84f2caddf951c9cbf8dc2e22a89d4ccf5d86391ac6418fe81e3c67d0cf60b45f", size = 84241, upload_time = "2024-08-17T09:20:38.972Z" } +sdist = { url = "https://files.pythonhosted.org/packages/00/5e/d6e5258d69df8b4ed8c83b6664f2b47d30d2dec551a29ad72a6c69eafd31/xxhash-3.5.0.tar.gz", hash = "sha256:84f2caddf951c9cbf8dc2e22a89d4ccf5d86391ac6418fe81e3c67d0cf60b45f", size = 84241, upload-time = "2024-08-17T09:20:38.972Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/07/0e/1bfce2502c57d7e2e787600b31c83535af83746885aa1a5f153d8c8059d6/xxhash-3.5.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:14470ace8bd3b5d51318782cd94e6f94431974f16cb3b8dc15d52f3b69df8e00", size = 31969, upload_time = "2024-08-17T09:18:24.025Z" }, - { url = "https://files.pythonhosted.org/packages/3f/d6/8ca450d6fe5b71ce521b4e5db69622383d039e2b253e9b2f24f93265b52c/xxhash-3.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:59aa1203de1cb96dbeab595ded0ad0c0056bb2245ae11fac11c0ceea861382b9", size = 30787, upload_time = "2024-08-17T09:18:25.318Z" }, - { url = "https://files.pythonhosted.org/packages/5b/84/de7c89bc6ef63d750159086a6ada6416cc4349eab23f76ab870407178b93/xxhash-3.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08424f6648526076e28fae6ea2806c0a7d504b9ef05ae61d196d571e5c879c84", size = 220959, upload_time = "2024-08-17T09:18:26.518Z" }, - { url = "https://files.pythonhosted.org/packages/fe/86/51258d3e8a8545ff26468c977101964c14d56a8a37f5835bc0082426c672/xxhash-3.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:61a1ff00674879725b194695e17f23d3248998b843eb5e933007ca743310f793", size = 200006, upload_time = "2024-08-17T09:18:27.905Z" }, - { url = "https://files.pythonhosted.org/packages/02/0a/96973bd325412feccf23cf3680fd2246aebf4b789122f938d5557c54a6b2/xxhash-3.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2f2c61bee5844d41c3eb015ac652a0229e901074951ae48581d58bfb2ba01be", size = 428326, upload_time = "2024-08-17T09:18:29.335Z" }, - { url = "https://files.pythonhosted.org/packages/11/a7/81dba5010f7e733de88af9555725146fc133be97ce36533867f4c7e75066/xxhash-3.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d32a592cac88d18cc09a89172e1c32d7f2a6e516c3dfde1b9adb90ab5df54a6", size = 194380, upload_time = "2024-08-17T09:18:30.706Z" }, - { url = "https://files.pythonhosted.org/packages/fb/7d/f29006ab398a173f4501c0e4977ba288f1c621d878ec217b4ff516810c04/xxhash-3.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70dabf941dede727cca579e8c205e61121afc9b28516752fd65724be1355cc90", size = 207934, upload_time = "2024-08-17T09:18:32.133Z" }, - { url = "https://files.pythonhosted.org/packages/8a/6e/6e88b8f24612510e73d4d70d9b0c7dff62a2e78451b9f0d042a5462c8d03/xxhash-3.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e5d0ddaca65ecca9c10dcf01730165fd858533d0be84c75c327487c37a906a27", size = 216301, upload_time = "2024-08-17T09:18:33.474Z" }, - { url = "https://files.pythonhosted.org/packages/af/51/7862f4fa4b75a25c3b4163c8a873f070532fe5f2d3f9b3fc869c8337a398/xxhash-3.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e5b5e16c5a480fe5f59f56c30abdeba09ffd75da8d13f6b9b6fd224d0b4d0a2", size = 203351, upload_time = "2024-08-17T09:18:34.889Z" }, - { url = "https://files.pythonhosted.org/packages/22/61/8d6a40f288f791cf79ed5bb113159abf0c81d6efb86e734334f698eb4c59/xxhash-3.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149b7914451eb154b3dfaa721315117ea1dac2cc55a01bfbd4df7c68c5dd683d", size = 210294, upload_time = "2024-08-17T09:18:36.355Z" }, - { url = "https://files.pythonhosted.org/packages/17/02/215c4698955762d45a8158117190261b2dbefe9ae7e5b906768c09d8bc74/xxhash-3.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:eade977f5c96c677035ff39c56ac74d851b1cca7d607ab3d8f23c6b859379cab", size = 414674, upload_time = "2024-08-17T09:18:38.536Z" }, - { url = "https://files.pythonhosted.org/packages/31/5c/b7a8db8a3237cff3d535261325d95de509f6a8ae439a5a7a4ffcff478189/xxhash-3.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fa9f547bd98f5553d03160967866a71056a60960be00356a15ecc44efb40ba8e", size = 192022, upload_time = "2024-08-17T09:18:40.138Z" }, - { url = "https://files.pythonhosted.org/packages/78/e3/dd76659b2811b3fd06892a8beb850e1996b63e9235af5a86ea348f053e9e/xxhash-3.5.0-cp312-cp312-win32.whl", hash = "sha256:f7b58d1fd3551b8c80a971199543379be1cee3d0d409e1f6d8b01c1a2eebf1f8", size = 30170, upload_time = "2024-08-17T09:18:42.163Z" }, - { url = "https://files.pythonhosted.org/packages/d9/6b/1c443fe6cfeb4ad1dcf231cdec96eb94fb43d6498b4469ed8b51f8b59a37/xxhash-3.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:fa0cafd3a2af231b4e113fba24a65d7922af91aeb23774a8b78228e6cd785e3e", size = 30040, upload_time = "2024-08-17T09:18:43.699Z" }, - { url = "https://files.pythonhosted.org/packages/0f/eb/04405305f290173acc0350eba6d2f1a794b57925df0398861a20fbafa415/xxhash-3.5.0-cp312-cp312-win_arm64.whl", hash = "sha256:586886c7e89cb9828bcd8a5686b12e161368e0064d040e225e72607b43858ba2", size = 26796, upload_time = "2024-08-17T09:18:45.29Z" }, + { url = "https://files.pythonhosted.org/packages/07/0e/1bfce2502c57d7e2e787600b31c83535af83746885aa1a5f153d8c8059d6/xxhash-3.5.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:14470ace8bd3b5d51318782cd94e6f94431974f16cb3b8dc15d52f3b69df8e00", size = 31969, upload-time = "2024-08-17T09:18:24.025Z" }, + { url = "https://files.pythonhosted.org/packages/3f/d6/8ca450d6fe5b71ce521b4e5db69622383d039e2b253e9b2f24f93265b52c/xxhash-3.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:59aa1203de1cb96dbeab595ded0ad0c0056bb2245ae11fac11c0ceea861382b9", size = 30787, upload-time = "2024-08-17T09:18:25.318Z" }, + { url = "https://files.pythonhosted.org/packages/5b/84/de7c89bc6ef63d750159086a6ada6416cc4349eab23f76ab870407178b93/xxhash-3.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08424f6648526076e28fae6ea2806c0a7d504b9ef05ae61d196d571e5c879c84", size = 220959, upload-time = "2024-08-17T09:18:26.518Z" }, + { url = "https://files.pythonhosted.org/packages/fe/86/51258d3e8a8545ff26468c977101964c14d56a8a37f5835bc0082426c672/xxhash-3.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:61a1ff00674879725b194695e17f23d3248998b843eb5e933007ca743310f793", size = 200006, upload-time = "2024-08-17T09:18:27.905Z" }, + { url = "https://files.pythonhosted.org/packages/02/0a/96973bd325412feccf23cf3680fd2246aebf4b789122f938d5557c54a6b2/xxhash-3.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2f2c61bee5844d41c3eb015ac652a0229e901074951ae48581d58bfb2ba01be", size = 428326, upload-time = "2024-08-17T09:18:29.335Z" }, + { url = "https://files.pythonhosted.org/packages/11/a7/81dba5010f7e733de88af9555725146fc133be97ce36533867f4c7e75066/xxhash-3.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d32a592cac88d18cc09a89172e1c32d7f2a6e516c3dfde1b9adb90ab5df54a6", size = 194380, upload-time = "2024-08-17T09:18:30.706Z" }, + { url = "https://files.pythonhosted.org/packages/fb/7d/f29006ab398a173f4501c0e4977ba288f1c621d878ec217b4ff516810c04/xxhash-3.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70dabf941dede727cca579e8c205e61121afc9b28516752fd65724be1355cc90", size = 207934, upload-time = "2024-08-17T09:18:32.133Z" }, + { url = "https://files.pythonhosted.org/packages/8a/6e/6e88b8f24612510e73d4d70d9b0c7dff62a2e78451b9f0d042a5462c8d03/xxhash-3.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e5d0ddaca65ecca9c10dcf01730165fd858533d0be84c75c327487c37a906a27", size = 216301, upload-time = "2024-08-17T09:18:33.474Z" }, + { url = "https://files.pythonhosted.org/packages/af/51/7862f4fa4b75a25c3b4163c8a873f070532fe5f2d3f9b3fc869c8337a398/xxhash-3.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e5b5e16c5a480fe5f59f56c30abdeba09ffd75da8d13f6b9b6fd224d0b4d0a2", size = 203351, upload-time = "2024-08-17T09:18:34.889Z" }, + { url = "https://files.pythonhosted.org/packages/22/61/8d6a40f288f791cf79ed5bb113159abf0c81d6efb86e734334f698eb4c59/xxhash-3.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149b7914451eb154b3dfaa721315117ea1dac2cc55a01bfbd4df7c68c5dd683d", size = 210294, upload-time = "2024-08-17T09:18:36.355Z" }, + { url = "https://files.pythonhosted.org/packages/17/02/215c4698955762d45a8158117190261b2dbefe9ae7e5b906768c09d8bc74/xxhash-3.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:eade977f5c96c677035ff39c56ac74d851b1cca7d607ab3d8f23c6b859379cab", size = 414674, upload-time = "2024-08-17T09:18:38.536Z" }, + { url = "https://files.pythonhosted.org/packages/31/5c/b7a8db8a3237cff3d535261325d95de509f6a8ae439a5a7a4ffcff478189/xxhash-3.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fa9f547bd98f5553d03160967866a71056a60960be00356a15ecc44efb40ba8e", size = 192022, upload-time = "2024-08-17T09:18:40.138Z" }, + { url = "https://files.pythonhosted.org/packages/78/e3/dd76659b2811b3fd06892a8beb850e1996b63e9235af5a86ea348f053e9e/xxhash-3.5.0-cp312-cp312-win32.whl", hash = "sha256:f7b58d1fd3551b8c80a971199543379be1cee3d0d409e1f6d8b01c1a2eebf1f8", size = 30170, upload-time = "2024-08-17T09:18:42.163Z" }, + { url = "https://files.pythonhosted.org/packages/d9/6b/1c443fe6cfeb4ad1dcf231cdec96eb94fb43d6498b4469ed8b51f8b59a37/xxhash-3.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:fa0cafd3a2af231b4e113fba24a65d7922af91aeb23774a8b78228e6cd785e3e", size = 30040, upload-time = "2024-08-17T09:18:43.699Z" }, + { url = "https://files.pythonhosted.org/packages/0f/eb/04405305f290173acc0350eba6d2f1a794b57925df0398861a20fbafa415/xxhash-3.5.0-cp312-cp312-win_arm64.whl", hash = "sha256:586886c7e89cb9828bcd8a5686b12e161368e0064d040e225e72607b43858ba2", size = 26796, upload-time = "2024-08-17T09:18:45.29Z" }, ] [[package]] @@ -3046,44 +3049,44 @@ dependencies = [ { name = "multidict" }, { name = "propcache" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz", hash = "sha256:d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac", size = 186428, upload_time = "2025-06-10T00:46:09.923Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5f/9a/cb7fad7d73c69f296eda6815e4a2c7ed53fc70c2f136479a91c8e5fbdb6d/yarl-1.20.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdcc4cd244e58593a4379fe60fdee5ac0331f8eb70320a24d591a3be197b94a9", size = 133667, upload_time = "2025-06-10T00:43:44.369Z" }, - { url = "https://files.pythonhosted.org/packages/67/38/688577a1cb1e656e3971fb66a3492501c5a5df56d99722e57c98249e5b8a/yarl-1.20.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b29a2c385a5f5b9c7d9347e5812b6f7ab267193c62d282a540b4fc528c8a9d2a", size = 91025, upload_time = "2025-06-10T00:43:46.295Z" }, - { url = "https://files.pythonhosted.org/packages/50/ec/72991ae51febeb11a42813fc259f0d4c8e0507f2b74b5514618d8b640365/yarl-1.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1112ae8154186dfe2de4732197f59c05a83dc814849a5ced892b708033f40dc2", size = 89709, upload_time = "2025-06-10T00:43:48.22Z" }, - { url = "https://files.pythonhosted.org/packages/99/da/4d798025490e89426e9f976702e5f9482005c548c579bdae792a4c37769e/yarl-1.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90bbd29c4fe234233f7fa2b9b121fb63c321830e5d05b45153a2ca68f7d310ee", size = 352287, upload_time = "2025-06-10T00:43:49.924Z" }, - { url = "https://files.pythonhosted.org/packages/1a/26/54a15c6a567aac1c61b18aa0f4b8aa2e285a52d547d1be8bf48abe2b3991/yarl-1.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:680e19c7ce3710ac4cd964e90dad99bf9b5029372ba0c7cbfcd55e54d90ea819", size = 345429, upload_time = "2025-06-10T00:43:51.7Z" }, - { url = "https://files.pythonhosted.org/packages/d6/95/9dcf2386cb875b234353b93ec43e40219e14900e046bf6ac118f94b1e353/yarl-1.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a979218c1fdb4246a05efc2cc23859d47c89af463a90b99b7c56094daf25a16", size = 365429, upload_time = "2025-06-10T00:43:53.494Z" }, - { url = "https://files.pythonhosted.org/packages/91/b2/33a8750f6a4bc224242a635f5f2cff6d6ad5ba651f6edcccf721992c21a0/yarl-1.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255b468adf57b4a7b65d8aad5b5138dce6a0752c139965711bdcb81bc370e1b6", size = 363862, upload_time = "2025-06-10T00:43:55.766Z" }, - { url = "https://files.pythonhosted.org/packages/98/28/3ab7acc5b51f4434b181b0cee8f1f4b77a65919700a355fb3617f9488874/yarl-1.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a97d67108e79cfe22e2b430d80d7571ae57d19f17cda8bb967057ca8a7bf5bfd", size = 355616, upload_time = "2025-06-10T00:43:58.056Z" }, - { url = "https://files.pythonhosted.org/packages/36/a3/f666894aa947a371724ec7cd2e5daa78ee8a777b21509b4252dd7bd15e29/yarl-1.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8570d998db4ddbfb9a590b185a0a33dbf8aafb831d07a5257b4ec9948df9cb0a", size = 339954, upload_time = "2025-06-10T00:43:59.773Z" }, - { url = "https://files.pythonhosted.org/packages/f1/81/5f466427e09773c04219d3450d7a1256138a010b6c9f0af2d48565e9ad13/yarl-1.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:97c75596019baae7c71ccf1d8cc4738bc08134060d0adfcbe5642f778d1dca38", size = 365575, upload_time = "2025-06-10T00:44:02.051Z" }, - { url = "https://files.pythonhosted.org/packages/2e/e3/e4b0ad8403e97e6c9972dd587388940a032f030ebec196ab81a3b8e94d31/yarl-1.20.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1c48912653e63aef91ff988c5432832692ac5a1d8f0fb8a33091520b5bbe19ef", size = 365061, upload_time = "2025-06-10T00:44:04.196Z" }, - { url = "https://files.pythonhosted.org/packages/ac/99/b8a142e79eb86c926f9f06452eb13ecb1bb5713bd01dc0038faf5452e544/yarl-1.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4c3ae28f3ae1563c50f3d37f064ddb1511ecc1d5584e88c6b7c63cf7702a6d5f", size = 364142, upload_time = "2025-06-10T00:44:06.527Z" }, - { url = "https://files.pythonhosted.org/packages/34/f2/08ed34a4a506d82a1a3e5bab99ccd930a040f9b6449e9fd050320e45845c/yarl-1.20.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c5e9642f27036283550f5f57dc6156c51084b458570b9d0d96100c8bebb186a8", size = 381894, upload_time = "2025-06-10T00:44:08.379Z" }, - { url = "https://files.pythonhosted.org/packages/92/f8/9a3fbf0968eac704f681726eff595dce9b49c8a25cd92bf83df209668285/yarl-1.20.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:2c26b0c49220d5799f7b22c6838409ee9bc58ee5c95361a4d7831f03cc225b5a", size = 383378, upload_time = "2025-06-10T00:44:10.51Z" }, - { url = "https://files.pythonhosted.org/packages/af/85/9363f77bdfa1e4d690957cd39d192c4cacd1c58965df0470a4905253b54f/yarl-1.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:564ab3d517e3d01c408c67f2e5247aad4019dcf1969982aba3974b4093279004", size = 374069, upload_time = "2025-06-10T00:44:12.834Z" }, - { url = "https://files.pythonhosted.org/packages/35/99/9918c8739ba271dcd935400cff8b32e3cd319eaf02fcd023d5dcd487a7c8/yarl-1.20.1-cp312-cp312-win32.whl", hash = "sha256:daea0d313868da1cf2fac6b2d3a25c6e3a9e879483244be38c8e6a41f1d876a5", size = 81249, upload_time = "2025-06-10T00:44:14.731Z" }, - { url = "https://files.pythonhosted.org/packages/eb/83/5d9092950565481b413b31a23e75dd3418ff0a277d6e0abf3729d4d1ce25/yarl-1.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:48ea7d7f9be0487339828a4de0360d7ce0efc06524a48e1810f945c45b813698", size = 86710, upload_time = "2025-06-10T00:44:16.716Z" }, - { url = "https://files.pythonhosted.org/packages/b4/2d/2345fce04cfd4bee161bf1e7d9cdc702e3e16109021035dbb24db654a622/yarl-1.20.1-py3-none-any.whl", hash = "sha256:83b8eb083fe4683c6115795d9fc1cfaf2cbbefb19b3a1cb68f6527460f483a77", size = 46542, upload_time = "2025-06-10T00:46:07.521Z" }, +sdist = { url = "https://files.pythonhosted.org/packages/3c/fb/efaa23fa4e45537b827620f04cf8f3cd658b76642205162e072703a5b963/yarl-1.20.1.tar.gz", hash = "sha256:d017a4997ee50c91fd5466cef416231bb82177b93b029906cefc542ce14c35ac", size = 186428, upload-time = "2025-06-10T00:46:09.923Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5f/9a/cb7fad7d73c69f296eda6815e4a2c7ed53fc70c2f136479a91c8e5fbdb6d/yarl-1.20.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:bdcc4cd244e58593a4379fe60fdee5ac0331f8eb70320a24d591a3be197b94a9", size = 133667, upload-time = "2025-06-10T00:43:44.369Z" }, + { url = "https://files.pythonhosted.org/packages/67/38/688577a1cb1e656e3971fb66a3492501c5a5df56d99722e57c98249e5b8a/yarl-1.20.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:b29a2c385a5f5b9c7d9347e5812b6f7ab267193c62d282a540b4fc528c8a9d2a", size = 91025, upload-time = "2025-06-10T00:43:46.295Z" }, + { url = "https://files.pythonhosted.org/packages/50/ec/72991ae51febeb11a42813fc259f0d4c8e0507f2b74b5514618d8b640365/yarl-1.20.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:1112ae8154186dfe2de4732197f59c05a83dc814849a5ced892b708033f40dc2", size = 89709, upload-time = "2025-06-10T00:43:48.22Z" }, + { url = "https://files.pythonhosted.org/packages/99/da/4d798025490e89426e9f976702e5f9482005c548c579bdae792a4c37769e/yarl-1.20.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:90bbd29c4fe234233f7fa2b9b121fb63c321830e5d05b45153a2ca68f7d310ee", size = 352287, upload-time = "2025-06-10T00:43:49.924Z" }, + { url = "https://files.pythonhosted.org/packages/1a/26/54a15c6a567aac1c61b18aa0f4b8aa2e285a52d547d1be8bf48abe2b3991/yarl-1.20.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:680e19c7ce3710ac4cd964e90dad99bf9b5029372ba0c7cbfcd55e54d90ea819", size = 345429, upload-time = "2025-06-10T00:43:51.7Z" }, + { url = "https://files.pythonhosted.org/packages/d6/95/9dcf2386cb875b234353b93ec43e40219e14900e046bf6ac118f94b1e353/yarl-1.20.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4a979218c1fdb4246a05efc2cc23859d47c89af463a90b99b7c56094daf25a16", size = 365429, upload-time = "2025-06-10T00:43:53.494Z" }, + { url = "https://files.pythonhosted.org/packages/91/b2/33a8750f6a4bc224242a635f5f2cff6d6ad5ba651f6edcccf721992c21a0/yarl-1.20.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255b468adf57b4a7b65d8aad5b5138dce6a0752c139965711bdcb81bc370e1b6", size = 363862, upload-time = "2025-06-10T00:43:55.766Z" }, + { url = "https://files.pythonhosted.org/packages/98/28/3ab7acc5b51f4434b181b0cee8f1f4b77a65919700a355fb3617f9488874/yarl-1.20.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a97d67108e79cfe22e2b430d80d7571ae57d19f17cda8bb967057ca8a7bf5bfd", size = 355616, upload-time = "2025-06-10T00:43:58.056Z" }, + { url = "https://files.pythonhosted.org/packages/36/a3/f666894aa947a371724ec7cd2e5daa78ee8a777b21509b4252dd7bd15e29/yarl-1.20.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8570d998db4ddbfb9a590b185a0a33dbf8aafb831d07a5257b4ec9948df9cb0a", size = 339954, upload-time = "2025-06-10T00:43:59.773Z" }, + { url = "https://files.pythonhosted.org/packages/f1/81/5f466427e09773c04219d3450d7a1256138a010b6c9f0af2d48565e9ad13/yarl-1.20.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:97c75596019baae7c71ccf1d8cc4738bc08134060d0adfcbe5642f778d1dca38", size = 365575, upload-time = "2025-06-10T00:44:02.051Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e3/e4b0ad8403e97e6c9972dd587388940a032f030ebec196ab81a3b8e94d31/yarl-1.20.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:1c48912653e63aef91ff988c5432832692ac5a1d8f0fb8a33091520b5bbe19ef", size = 365061, upload-time = "2025-06-10T00:44:04.196Z" }, + { url = "https://files.pythonhosted.org/packages/ac/99/b8a142e79eb86c926f9f06452eb13ecb1bb5713bd01dc0038faf5452e544/yarl-1.20.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4c3ae28f3ae1563c50f3d37f064ddb1511ecc1d5584e88c6b7c63cf7702a6d5f", size = 364142, upload-time = "2025-06-10T00:44:06.527Z" }, + { url = "https://files.pythonhosted.org/packages/34/f2/08ed34a4a506d82a1a3e5bab99ccd930a040f9b6449e9fd050320e45845c/yarl-1.20.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c5e9642f27036283550f5f57dc6156c51084b458570b9d0d96100c8bebb186a8", size = 381894, upload-time = "2025-06-10T00:44:08.379Z" }, + { url = "https://files.pythonhosted.org/packages/92/f8/9a3fbf0968eac704f681726eff595dce9b49c8a25cd92bf83df209668285/yarl-1.20.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:2c26b0c49220d5799f7b22c6838409ee9bc58ee5c95361a4d7831f03cc225b5a", size = 383378, upload-time = "2025-06-10T00:44:10.51Z" }, + { url = "https://files.pythonhosted.org/packages/af/85/9363f77bdfa1e4d690957cd39d192c4cacd1c58965df0470a4905253b54f/yarl-1.20.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:564ab3d517e3d01c408c67f2e5247aad4019dcf1969982aba3974b4093279004", size = 374069, upload-time = "2025-06-10T00:44:12.834Z" }, + { url = "https://files.pythonhosted.org/packages/35/99/9918c8739ba271dcd935400cff8b32e3cd319eaf02fcd023d5dcd487a7c8/yarl-1.20.1-cp312-cp312-win32.whl", hash = "sha256:daea0d313868da1cf2fac6b2d3a25c6e3a9e879483244be38c8e6a41f1d876a5", size = 81249, upload-time = "2025-06-10T00:44:14.731Z" }, + { url = "https://files.pythonhosted.org/packages/eb/83/5d9092950565481b413b31a23e75dd3418ff0a277d6e0abf3729d4d1ce25/yarl-1.20.1-cp312-cp312-win_amd64.whl", hash = "sha256:48ea7d7f9be0487339828a4de0360d7ce0efc06524a48e1810f945c45b813698", size = 86710, upload-time = "2025-06-10T00:44:16.716Z" }, + { url = "https://files.pythonhosted.org/packages/b4/2d/2345fce04cfd4bee161bf1e7d9cdc702e3e16109021035dbb24db654a622/yarl-1.20.1-py3-none-any.whl", hash = "sha256:83b8eb083fe4683c6115795d9fc1cfaf2cbbefb19b3a1cb68f6527460f483a77", size = 46542, upload-time = "2025-06-10T00:46:07.521Z" }, ] [[package]] name = "zipp" version = "3.23.0" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload_time = "2025-06-08T17:06:39.4Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload-time = "2025-06-08T17:06:39.4Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276, upload_time = "2025-06-08T17:06:38.034Z" }, + { url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276, upload-time = "2025-06-08T17:06:38.034Z" }, ] [[package]] name = "zlib-state" version = "0.1.9" source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/84/ee/d4a461b3f96ae5ddb3ab89a294075ecb7c28a28ff56be1fe8bd09f9c50b1/zlib_state-0.1.9.tar.gz", hash = "sha256:8baef0cd0ab9f9d556a35df3f57b8d0f8b4a49c3f028189ab401672939cf435d", size = 9473, upload_time = "2024-09-05T20:21:21.653Z" } +sdist = { url = "https://files.pythonhosted.org/packages/84/ee/d4a461b3f96ae5ddb3ab89a294075ecb7c28a28ff56be1fe8bd09f9c50b1/zlib_state-0.1.9.tar.gz", hash = "sha256:8baef0cd0ab9f9d556a35df3f57b8d0f8b4a49c3f028189ab401672939cf435d", size = 9473, upload-time = "2024-09-05T20:21:21.653Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/6c/ae/739524e41a73cb77565bcb14d30478b322bc109f6e79fc583572eb75f637/zlib_state-0.1.9-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c22bc6ea28d1cbb717e7ba8254b12da5cff0820309d7ff46dba083d2dc44fd69", size = 20601, upload_time = "2024-09-05T20:25:03.428Z" }, - { url = "https://files.pythonhosted.org/packages/c6/f8/87cbda2338b5254db486804f8ce802a47a870b3f8572e757d37bd1f3d122/zlib_state-0.1.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06ed845442af6fc8ad885037b1393c02ff1554638cd43ff8718ca1fb8999b7c7", size = 22288, upload_time = "2024-09-05T20:25:04.449Z" }, - { url = "https://files.pythonhosted.org/packages/99/88/cb175ba96b1b72b424b789151341206389b913bba4de2abffc6f767cb8cb/zlib_state-0.1.9-cp312-cp312-win_amd64.whl", hash = "sha256:862b120477db67df4ad8af8c135fe134ae4051693d6a6abf1c208d9d1170d7d8", size = 12734, upload_time = "2024-09-05T20:22:33.219Z" }, + { url = "https://files.pythonhosted.org/packages/6c/ae/739524e41a73cb77565bcb14d30478b322bc109f6e79fc583572eb75f637/zlib_state-0.1.9-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c22bc6ea28d1cbb717e7ba8254b12da5cff0820309d7ff46dba083d2dc44fd69", size = 20601, upload-time = "2024-09-05T20:25:03.428Z" }, + { url = "https://files.pythonhosted.org/packages/c6/f8/87cbda2338b5254db486804f8ce802a47a870b3f8572e757d37bd1f3d122/zlib_state-0.1.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:06ed845442af6fc8ad885037b1393c02ff1554638cd43ff8718ca1fb8999b7c7", size = 22288, upload-time = "2024-09-05T20:25:04.449Z" }, + { url = "https://files.pythonhosted.org/packages/99/88/cb175ba96b1b72b424b789151341206389b913bba4de2abffc6f767cb8cb/zlib_state-0.1.9-cp312-cp312-win_amd64.whl", hash = "sha256:862b120477db67df4ad8af8c135fe134ae4051693d6a6abf1c208d9d1170d7d8", size = 12734, upload-time = "2024-09-05T20:22:33.219Z" }, ] diff --git a/packages/Dockerfile b/packages/Dockerfile index 7bd2cf9..0b55ba0 100644 --- a/packages/Dockerfile +++ b/packages/Dockerfile @@ -9,12 +9,12 @@ WORKDIR /app # Install dependencies RUN --mount=type=cache,target=/root/.cache/uv \ - --mount=type=bind,source=manugen-ai/uv.lock,target=uv.lock \ - --mount=type=bind,source=manugen-ai/pyproject.toml,target=pyproject.toml \ + --mount=type=bind,source=manufold/uv.lock,target=uv.lock \ + --mount=type=bind,source=manufold/pyproject.toml,target=pyproject.toml \ uv sync --frozen --no-install-project # Copy the project into the image -ADD ./manugen-ai/ /app +ADD ./manufold/ /app # Sync the project RUN --mount=type=cache,target=/root/.cache/uv \ diff --git a/packages/manugen-ai/README.md b/packages/manufold/README.md similarity index 91% rename from packages/manugen-ai/README.md rename to packages/manufold/README.md index 352f969..fb76915 100644 --- a/packages/manugen-ai/README.md +++ b/packages/manufold/README.md @@ -1,6 +1,6 @@ -# Manugen AI +# Manufold -*Manugen AI* is a multi-agent tool for creating academic manuscripts from a collection of images, text, and other content files. +*Manufold* is a multi-agent tool for creating academic manuscripts from a collection of images, text, and other content files. It leverages the capabilities of large language models (LLMs) to automate the generation of manuscripts, making it easier for researchers to produce first drafts of academic papers. We intend to submit this project to the 2025 [Agent Development Kit Hackathon with Google Cloud](https://googlecloudmultiagents.devpost.com/). @@ -37,7 +37,7 @@ You can also use the project as a Python package. Here is an example of how to u ```python from pathlib import Path -from manugen_ai.cli import manugen +from manufold.cli import manugen manugen( content_dir=Path("/path/to/content"), diff --git a/packages/manugen-ai/docs/devpost/additional_info.md b/packages/manufold/docs/devpost/additional_info.md similarity index 95% rename from packages/manugen-ai/docs/devpost/additional_info.md rename to packages/manufold/docs/devpost/additional_info.md index 3764d96..bae7ddb 100644 --- a/packages/manugen-ai/docs/devpost/additional_info.md +++ b/packages/manufold/docs/devpost/additional_info.md @@ -17,7 +17,7 @@ To test Manugen-AI, you can either use our hosted demo ([see below](#hosted-demo 1. To draft the manuscript, highlight one section at a time (for example, "Introduction", "Results", etc) by selecting the entire section content and click on the "Draft" action, and wait for the text to come back. 1. Drafted sections may be further enhanced by adding instructions to the text, selecting the entire section, and clicking on "Draft". The system will edit the existing draft and follow your additional instructions. -1. Figures may be uploaded (it works with PNG format) by clicking on the "Toggle Attachments" button at the top left. If you want to download figures for the example, please see [here](https://github.com/pivlab/manugen-ai/tree/main/frontend/public/example). +1. Figures may be uploaded (it works with PNG format) by clicking on the "Toggle Attachments" button at the top left. If you want to download figures for the example, please see [here](https://github.com/pivlab/manufold/tree/main/frontend/public/example). 1. Once a figure is uploaded, you'll see it gets a figure number like "Figure 1", a title and a description. You can then reference this figure using its figure number (like "Figure 1") in the Results section, and the system will use the Figure title and description. ## Local demo @@ -36,7 +36,7 @@ Link to our blog post: https://pivlab.org/2025/06/23/Google-ADK-Hackathon.html ## A link to your contribution to the Agent Development Kit open source repository -https://github.com/pivlab/manugen-ai/issues/11 +https://github.com/pivlab/manufold/issues/11 ## List all of the Google Cloud technologies you used in your Project. diff --git a/packages/manugen-ai/docs/devpost/project_story.md b/packages/manufold/docs/devpost/project_story.md similarity index 100% rename from packages/manugen-ai/docs/devpost/project_story.md rename to packages/manufold/docs/devpost/project_story.md diff --git a/packages/manugen-ai/docs/media/ai_and_scientist_bright_future.png b/packages/manufold/docs/media/ai_and_scientist_bright_future.png similarity index 100% rename from packages/manugen-ai/docs/media/ai_and_scientist_bright_future.png rename to packages/manufold/docs/media/ai_and_scientist_bright_future.png diff --git a/packages/manugen-ai/docs/media/ai_assisted_writing.png b/packages/manufold/docs/media/ai_assisted_writing.png similarity index 100% rename from packages/manugen-ai/docs/media/ai_assisted_writing.png rename to packages/manufold/docs/media/ai_assisted_writing.png diff --git a/packages/manugen-ai/docs/media/ai_enhanced_documents.png b/packages/manufold/docs/media/ai_enhanced_documents.png similarity index 100% rename from packages/manugen-ai/docs/media/ai_enhanced_documents.png rename to packages/manufold/docs/media/ai_enhanced_documents.png diff --git a/packages/manugen-ai/docs/media/citation_agent.png b/packages/manufold/docs/media/citation_agent.png similarity index 100% rename from packages/manugen-ai/docs/media/citation_agent.png rename to packages/manufold/docs/media/citation_agent.png diff --git a/packages/manugen-ai/docs/media/coordinator_agent_all_lr.png b/packages/manufold/docs/media/coordinator_agent_all_lr.png similarity index 100% rename from packages/manugen-ai/docs/media/coordinator_agent_all_lr.png rename to packages/manufold/docs/media/coordinator_agent_all_lr.png diff --git a/packages/manugen-ai/docs/media/coordinator_agent_all_tb.png b/packages/manufold/docs/media/coordinator_agent_all_tb.png similarity index 100% rename from packages/manugen-ai/docs/media/coordinator_agent_all_tb.png rename to packages/manufold/docs/media/coordinator_agent_all_tb.png diff --git a/packages/manugen-ai/docs/media/coordinator_agent_core_lr.png b/packages/manufold/docs/media/coordinator_agent_core_lr.png similarity index 100% rename from packages/manugen-ai/docs/media/coordinator_agent_core_lr.png rename to packages/manufold/docs/media/coordinator_agent_core_lr.png diff --git a/packages/manugen-ai/docs/media/coordinator_agent_core_tb.png b/packages/manufold/docs/media/coordinator_agent_core_tb.png similarity index 100% rename from packages/manugen-ai/docs/media/coordinator_agent_core_tb.png rename to packages/manufold/docs/media/coordinator_agent_core_tb.png diff --git a/packages/manugen-ai/docs/media/coordinator_agent_extensions_lr.png b/packages/manufold/docs/media/coordinator_agent_extensions_lr.png similarity index 100% rename from packages/manugen-ai/docs/media/coordinator_agent_extensions_lr.png rename to packages/manufold/docs/media/coordinator_agent_extensions_lr.png diff --git a/packages/manugen-ai/docs/media/coordinator_agent_extensions_tb.png b/packages/manufold/docs/media/coordinator_agent_extensions_tb.png similarity index 100% rename from packages/manugen-ai/docs/media/coordinator_agent_extensions_tb.png rename to packages/manufold/docs/media/coordinator_agent_extensions_tb.png diff --git a/packages/manugen-ai/docs/media/figure_agent.png b/packages/manufold/docs/media/figure_agent.png similarity index 100% rename from packages/manugen-ai/docs/media/figure_agent.png rename to packages/manufold/docs/media/figure_agent.png diff --git a/packages/manugen-ai/docs/media/generate_diagrams.py b/packages/manufold/docs/media/generate_diagrams.py similarity index 85% rename from packages/manugen-ai/docs/media/generate_diagrams.py rename to packages/manufold/docs/media/generate_diagrams.py index 3038630..1c4ba6e 100644 --- a/packages/manugen-ai/docs/media/generate_diagrams.py +++ b/packages/manufold/docs/media/generate_diagrams.py @@ -5,26 +5,26 @@ import pathlib from google.adk.agents import Agent, ParallelAgent, SequentialAgent -from manugen_ai.agents.ai_science_writer.sub_agents.citations import ( +from manufold.agents.ai_science_writer.sub_agents.citations import ( root_agent as citation_agent, ) -from manugen_ai.agents.ai_science_writer.sub_agents.coordinator.agent import ( +from manufold.agents.ai_science_writer.sub_agents.coordinator.agent import ( coordinator_agent, ) -from manugen_ai.agents.ai_science_writer.sub_agents.figure import figure_agent -from manugen_ai.agents.ai_science_writer.sub_agents.manuscript_drafter import ( +from manufold.agents.ai_science_writer.sub_agents.figure import figure_agent +from manufold.agents.ai_science_writer.sub_agents.manuscript_drafter import ( manuscript_drafter_agent, ) -from manugen_ai.agents.ai_science_writer.sub_agents.repo_to_paper import ( +from manufold.agents.ai_science_writer.sub_agents.repo_to_paper import ( root_agent as repo_agent, ) -from manugen_ai.agents.ai_science_writer.sub_agents.retraction_avoidance import ( +from manufold.agents.ai_science_writer.sub_agents.retraction_avoidance import ( root_agent as retraction_avoidance_agent, ) -from manugen_ai.agents.ai_science_writer.sub_agents.reviewer import ( +from manufold.agents.ai_science_writer.sub_agents.reviewer import ( root_agent as review_agent, ) -from manugen_ai.utils import build_mermaid +from manufold.utils import build_mermaid # create a custom agent for diagramming the section_writer_agent, which is a custom agent manuscript_agent_for_diagramming = SequentialAgent( diff --git a/packages/manugen-ai/docs/media/hackathon.png b/packages/manufold/docs/media/hackathon.png similarity index 100% rename from packages/manugen-ai/docs/media/hackathon.png rename to packages/manufold/docs/media/hackathon.png diff --git a/packages/manugen-ai/docs/media/manugen-ai-frontend.png b/packages/manufold/docs/media/manugen-ai-frontend.png similarity index 100% rename from packages/manugen-ai/docs/media/manugen-ai-frontend.png rename to packages/manufold/docs/media/manugen-ai-frontend.png diff --git a/packages/manugen-ai/docs/media/manugen-ai-logo.png b/packages/manufold/docs/media/manugen-ai-logo.png similarity index 100% rename from packages/manugen-ai/docs/media/manugen-ai-logo.png rename to packages/manufold/docs/media/manugen-ai-logo.png diff --git a/packages/manugen-ai/docs/media/manuscript_deadlines.png b/packages/manufold/docs/media/manuscript_deadlines.png similarity index 100% rename from packages/manugen-ai/docs/media/manuscript_deadlines.png rename to packages/manufold/docs/media/manuscript_deadlines.png diff --git a/packages/manugen-ai/docs/media/manuscript_drafter_agent.png b/packages/manufold/docs/media/manuscript_drafter_agent.png similarity index 100% rename from packages/manugen-ai/docs/media/manuscript_drafter_agent.png rename to packages/manufold/docs/media/manuscript_drafter_agent.png diff --git a/packages/manugen-ai/docs/media/repo_agent.png b/packages/manufold/docs/media/repo_agent.png similarity index 100% rename from packages/manugen-ai/docs/media/repo_agent.png rename to packages/manufold/docs/media/repo_agent.png diff --git a/packages/manugen-ai/docs/media/retraction_avoidance_agent.png b/packages/manufold/docs/media/retraction_avoidance_agent.png similarity index 100% rename from packages/manugen-ai/docs/media/retraction_avoidance_agent.png rename to packages/manufold/docs/media/retraction_avoidance_agent.png diff --git a/packages/manugen-ai/docs/media/reviewer_agent.png b/packages/manufold/docs/media/reviewer_agent.png similarity index 100% rename from packages/manugen-ai/docs/media/reviewer_agent.png rename to packages/manufold/docs/media/reviewer_agent.png diff --git a/packages/manugen-ai/docs/media/robot_good_research.png b/packages/manufold/docs/media/robot_good_research.png similarity index 100% rename from packages/manugen-ai/docs/media/robot_good_research.png rename to packages/manufold/docs/media/robot_good_research.png diff --git a/packages/manugen-ai/docs/media/writing_assistance_workflow.png b/packages/manufold/docs/media/writing_assistance_workflow.png similarity index 100% rename from packages/manugen-ai/docs/media/writing_assistance_workflow.png rename to packages/manufold/docs/media/writing_assistance_workflow.png diff --git a/packages/manugen-ai/docs/overview.md b/packages/manufold/docs/overview.md similarity index 100% rename from packages/manugen-ai/docs/overview.md rename to packages/manufold/docs/overview.md diff --git a/packages/manugen-ai/docs/video_script.md b/packages/manufold/docs/video_script.md similarity index 100% rename from packages/manugen-ai/docs/video_script.md rename to packages/manufold/docs/video_script.md diff --git a/packages/manugen-ai/pyproject.toml b/packages/manufold/pyproject.toml similarity index 77% rename from packages/manugen-ai/pyproject.toml rename to packages/manufold/pyproject.toml index e8d4d95..2ef895e 100644 --- a/packages/manugen-ai/pyproject.toml +++ b/packages/manufold/pyproject.toml @@ -3,7 +3,7 @@ build-backend = "hatchling.build" requires = [ "hatchling" ] [project] -name = "manugen-ai" +name = "manufold" version = "0.1.0" description = "" readme = "README.md" @@ -19,7 +19,6 @@ classifiers = [ "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3.12", ] - dependencies = [ "cyclopts>=3.17,<4", "duckdb>=1.3.1", @@ -39,7 +38,7 @@ dependencies = [ "requests>=2.32.3", "transformers>=4.52.4", ] -scripts.manugen = "manugen_ai.cli:app" +scripts.manugen = "manufold.cli:app" [dependency-groups] dev = [ @@ -53,24 +52,20 @@ dev = [ "pytest-asyncio>=1", ] -[tool.hatch.build.targets.sdist] -include = [ "src/manugen_ai" ] - -[tool.hatch.build.targets.wheel] -include = [ "src/manugen_ai" ] - -[tool.hatch.build.targets.wheel.sources] -"src/manugen_ai" = "manugen_ai" +[tool.hatch] +build.targets.sdist.include = [ "src/manufold" ] +build.targets.wheel.include = [ "src/manufold" ] +build.targets.wheel.sources."src/manufold" = "manufold" -[tool.poe.tasks] +[tool.poe] # create withdrarxiv_embeddings database -create_withdrarxiv_embeddings.shell = """ +tasks.create_withdrarxiv_embeddings.shell = """ python -c \ -"from manugen_ai.data import create_withdrarxiv_embeddings; \ +"from manufold.data import create_withdrarxiv_embeddings; \ create_withdrarxiv_embeddings()" """ # generates diagrams for agent architecture # under docs/media -generate_agent_diagrams.shell = """ +tasks.generate_agent_diagrams.shell = """ python docs/media/generate_diagrams.py """ diff --git a/packages/manugen-ai/src/manugen_ai/__init__.py b/packages/manufold/src/manufold/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/__init__.py rename to packages/manufold/src/manufold/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/adk.py b/packages/manufold/src/manufold/adk.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/adk.py rename to packages/manufold/src/manufold/adk.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/__init__.py b/packages/manufold/src/manufold/agents/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/__init__.py rename to packages/manufold/src/manufold/agents/__init__.py diff --git a/packages/manufold/src/manufold/agents/ai_science_writer/.adk/session.db b/packages/manufold/src/manufold/agents/ai_science_writer/.adk/session.db new file mode 100644 index 0000000000000000000000000000000000000000..e241668c991ff470472a9acf966bb1391de2e347 GIT binary patch literal 270336 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Ξi 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 zℭ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 ZZb-o0-&gwoB{S{^W-uvKDm0$p{|ijD;OhVY literal 0 HcmV?d00001 diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/agent.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/agent.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/abstract/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/abstract/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/abstract/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/abstract/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/abstract/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/abstract/agent.py similarity index 81% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/abstract/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/abstract/agent.py index 23257cc..af71991 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/abstract/agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/abstract/agent.py @@ -1,8 +1,8 @@ import os from google.adk.agents import LlmAgent -from manugen_ai.schema import ABSTRACT_KEY, prepare_instructions -from manugen_ai.utils import get_llm +from manufold.schema import ABSTRACT_KEY, prepare_instructions +from manufold.utils import get_llm from . import prompt diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/abstract/prompt.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/abstract/prompt.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/abstract/prompt.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/abstract/prompt.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/assembler/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/assembler/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/assembler/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/assembler/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/assembler/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/assembler/agent.py similarity index 95% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/assembler/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/assembler/agent.py index 3ae6705..64cb64a 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/assembler/agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/assembler/agent.py @@ -4,7 +4,7 @@ from google.adk.agents import LlmAgent from google.adk.agents.callback_context import CallbackContext from google.genai import types -from manugen_ai.schema import INSTRUCTIONS_KEY, ManuscriptStructure +from manufold.schema import INSTRUCTIONS_KEY, ManuscriptStructure # --- Configure Logging --- logging.basicConfig(level=logging.INFO) diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/citations/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/citations/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/citations/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/citations/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/citations/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/citations/agent.py similarity index 93% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/citations/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/citations/agent.py index 4f509aa..91d78c3 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/citations/agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/citations/agent.py @@ -9,9 +9,9 @@ from google.adk.agents import Agent, SequentialAgent from google.adk.tools import FunctionTool -from manugen_ai.agents.meta_agent import ResilientToolAgent -from manugen_ai.tools.tools import openalex_query, parse_list -from manugen_ai.utils import get_llm +from manufold.agents.meta_agent import ResilientToolAgent +from manufold.tools.tools import openalex_query, parse_list +from manufold.utils import get_llm MODEL_NAME = os.environ.get("MANUGENAI_MODEL_NAME") LLM = get_llm(MODEL_NAME) diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/coordinator/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/coordinator/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/coordinator/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/coordinator/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/coordinator/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/coordinator/agent.py similarity index 95% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/coordinator/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/coordinator/agent.py index c710e6c..101baf8 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/coordinator/agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/coordinator/agent.py @@ -1,7 +1,7 @@ import os from google.adk.agents import LlmAgent -from manugen_ai.utils import get_llm +from manufold.utils import get_llm from ..citations import root_agent as citation_agent from ..figure import figure_agent diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/coordinator/custom_agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/coordinator/custom_agent.py similarity index 80% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/coordinator/custom_agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/coordinator/custom_agent.py index 3d841b9..281d724 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/coordinator/custom_agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/coordinator/custom_agent.py @@ -4,7 +4,7 @@ from google.adk.agents import BaseAgent from google.adk.agents.invocation_context import InvocationContext from google.adk.events import Event -from manugen_ai.adk import ManugenAIBaseAgent +from manufold.adk import ManugenAIBaseAgent from typing_extensions import override from ..citations import root_agent as citation_agent @@ -96,29 +96,36 @@ async def _run_async_impl( sub_agents_cond=[ ( figure_agent, - lambda user_input: user_input.inline_data is not None - and user_input.inline_data.mime_type is not None - and user_input.inline_data.mime_type.startswith("image/"), + lambda user_input: ( + user_input.inline_data is not None + and user_input.inline_data.mime_type is not None + and user_input.inline_data.mime_type.startswith("image/") + ), ), ( retraction_avoidance_agent, - lambda user_input: user_input.text is not None - and "$RETRACTION_AVOIDANCE_REQUEST$" in user_input.text, + lambda user_input: ( + user_input.text is not None + and "$RETRACTION_AVOIDANCE_REQUEST$" in user_input.text + ), ), ( citation_agent, - lambda user_input: user_input.text is not None - and "$CITATION_REQUEST$" in user_input.text, + lambda user_input: ( + user_input.text is not None and "$CITATION_REQUEST$" in user_input.text + ), ), ( review_agent, - lambda user_input: user_input.text is not None - and "$REFINE_REQUEST$" in user_input.text, + lambda user_input: ( + user_input.text is not None and "$REFINE_REQUEST$" in user_input.text + ), ), ( repo_agent, - lambda user_input: user_input.text is not None - and "$REPO_REQUEST$" in user_input.text, + lambda user_input: ( + user_input.text is not None and "$REPO_REQUEST$" in user_input.text + ), ), ( manuscript_drafter_agent, diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/coordinator/prompt.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/coordinator/prompt.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/coordinator/prompt.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/coordinator/prompt.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/discussion/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/discussion/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/discussion/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/discussion/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/discussion/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/discussion/agent.py similarity index 82% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/discussion/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/discussion/agent.py index 566f26c..a3bf7a3 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/discussion/agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/discussion/agent.py @@ -1,8 +1,8 @@ import os from google.adk.agents import LlmAgent -from manugen_ai.schema import DISCUSSION_KEY, prepare_instructions -from manugen_ai.utils import get_llm +from manufold.schema import DISCUSSION_KEY, prepare_instructions +from manufold.utils import get_llm from . import prompt diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/discussion/prompt.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/discussion/prompt.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/discussion/prompt.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/discussion/prompt.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/figure/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/figure/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/figure/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/figure/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/figure/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/figure/agent.py similarity index 97% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/figure/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/figure/agent.py index 08a61ed..f71b352 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/figure/agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/figure/agent.py @@ -10,13 +10,13 @@ from google.adk.agents.callback_context import CallbackContext from google.adk.models import LlmResponse from google.genai import types -from manugen_ai.schema import ( +from manufold.schema import ( CURRENT_FIGURE_KEY, FIGURES_KEY, SingleFigureDescription, prepare_instructions, ) -from manugen_ai.utils import get_llm +from manufold.utils import get_llm from . import prompt diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/figure/prompt.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/figure/prompt.py similarity index 93% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/figure/prompt.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/figure/prompt.py index 6a02909..6809f08 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/figure/prompt.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/figure/prompt.py @@ -2,7 +2,7 @@ import json -from manugen_ai.schema import SingleFigureDescription +from manufold.schema import SingleFigureDescription PROMPT = f""" You are an expert in interpreting and describing figures from a scientific article. diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/interpreter/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/interpreter/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/interpreter/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/interpreter/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/interpreter/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/interpreter/agent.py similarity index 86% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/interpreter/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/interpreter/agent.py index 2cb3c96..6a78047 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/interpreter/agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/interpreter/agent.py @@ -1,8 +1,8 @@ import os from google.adk.agents import LlmAgent -from manugen_ai.schema import ManuscriptStructure -from manugen_ai.utils import get_llm +from manufold.schema import ManuscriptStructure +from manufold.utils import get_llm from . import prompt diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/interpreter/prompt.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/interpreter/prompt.py similarity index 96% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/interpreter/prompt.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/interpreter/prompt.py index 68297ab..5c4cbb4 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/interpreter/prompt.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/interpreter/prompt.py @@ -2,7 +2,7 @@ import json -from manugen_ai.schema import ManuscriptStructure +from manufold.schema import ManuscriptStructure PROMPT = f""" Your goal is to interpret the user's input below and extract instructions, requests or ideas that are specific diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/introduction/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/introduction/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/introduction/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/introduction/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/introduction/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/introduction/agent.py similarity index 82% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/introduction/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/introduction/agent.py index 63d307a..99c5ecb 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/introduction/agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/introduction/agent.py @@ -1,8 +1,8 @@ import os from google.adk.agents import LlmAgent -from manugen_ai.schema import INTRODUCTION_KEY, prepare_instructions -from manugen_ai.utils import get_llm +from manufold.schema import INTRODUCTION_KEY, prepare_instructions +from manufold.utils import get_llm from . import prompt diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/introduction/prompt.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/introduction/prompt.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/introduction/prompt.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/introduction/prompt.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/manuscript_drafter/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/manuscript_drafter/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/manuscript_drafter/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/manuscript_drafter/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/manuscript_drafter/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/manuscript_drafter/agent.py similarity index 97% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/manuscript_drafter/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/manuscript_drafter/agent.py index 1d7b394..38d9019 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/manuscript_drafter/agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/manuscript_drafter/agent.py @@ -4,7 +4,7 @@ from google.adk.agents import SequentialAgent from google.adk.agents.invocation_context import InvocationContext from google.adk.events import Event -from manugen_ai.adk import ManugenAIBaseAgent +from manufold.adk import ManugenAIBaseAgent from typing_extensions import override from ..interpreter import request_interpreter_agent diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/methods/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/methods/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/methods/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/methods/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/methods/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/methods/agent.py similarity index 77% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/methods/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/methods/agent.py index 52c3103..8f7442d 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/methods/agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/methods/agent.py @@ -1,9 +1,9 @@ import os from google.adk.agents import LlmAgent -from manugen_ai.schema import METHODS_KEY, prepare_instructions -from manugen_ai.tools.tools import fetch_url -from manugen_ai.utils import get_llm +from manufold.schema import METHODS_KEY, prepare_instructions +from manufold.tools.tools import fetch_url +from manufold.utils import get_llm from . import prompt diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/methods/prompt.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/methods/prompt.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/methods/prompt.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/methods/prompt.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/repo_to_paper/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/repo_to_paper/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/repo_to_paper/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/repo_to_paper/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/repo_to_paper/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/repo_to_paper/agent.py similarity index 97% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/repo_to_paper/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/repo_to_paper/agent.py index cc33178..317b955 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/repo_to_paper/agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/repo_to_paper/agent.py @@ -13,8 +13,8 @@ SequentialAgent, ) from google.adk.tools import FunctionTool -from manugen_ai.tools.tools import clone_repository, read_path_contents -from manugen_ai.utils import get_llm +from manufold.tools.tools import clone_repository, read_path_contents +from manufold.utils import get_llm MODEL_NAME = os.environ.get("MANUGENAI_MODEL_NAME") LLM = get_llm(MODEL_NAME) diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/results/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/results/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/results/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/results/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/results/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/results/agent.py similarity index 88% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/results/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/results/agent.py index d3aca6d..a156367 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/results/agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/results/agent.py @@ -1,8 +1,8 @@ import os from google.adk.agents import LlmAgent -from manugen_ai.schema import RESULTS_KEY, prepare_instructions -from manugen_ai.utils import get_llm +from manufold.schema import RESULTS_KEY, prepare_instructions +from manufold.utils import get_llm from . import prompt diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/results/prompt.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/results/prompt.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/results/prompt.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/results/prompt.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/retraction_avoidance/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/retraction_avoidance/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/retraction_avoidance/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/retraction_avoidance/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/retraction_avoidance/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/retraction_avoidance/agent.py similarity index 94% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/retraction_avoidance/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/retraction_avoidance/agent.py index b92ef2e..1c34c3c 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/retraction_avoidance/agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/retraction_avoidance/agent.py @@ -14,10 +14,10 @@ from google.adk.agents import Agent, LoopAgent, SequentialAgent from google.adk.tools import FunctionTool -from manugen_ai.agents.meta_agent import ResilientToolAgent -from manugen_ai.data import search_withdrarxiv_embeddings -from manugen_ai.tools.tools import openalex_query, parse_list -from manugen_ai.utils import get_llm +from manufold.agents.meta_agent import ResilientToolAgent +from manufold.data import search_withdrarxiv_embeddings +from manufold.tools.tools import openalex_query, parse_list +from manufold.utils import get_llm MODEL_NAME = os.environ.get("MANUGENAI_MODEL_NAME") LLM = get_llm(MODEL_NAME) diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/reviewer/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/reviewer/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/reviewer/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/reviewer/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/reviewer/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/reviewer/agent.py similarity index 92% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/reviewer/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/reviewer/agent.py index d96629a..60124f3 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/reviewer/agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/reviewer/agent.py @@ -6,9 +6,9 @@ from google.adk.agents import Agent, LoopAgent from google.adk.tools import FunctionTool -from manugen_ai.agents.meta_agent import ResilientToolAgent -from manugen_ai.tools.tools import exit_loop -from manugen_ai.utils import get_llm +from manufold.agents.meta_agent import ResilientToolAgent +from manufold.tools.tools import exit_loop +from manufold.utils import get_llm # Environment-driven model names MODEL_NAME = os.environ.get("MANUGENAI_MODEL_NAME") diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/section_drafter/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/section_drafter/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/section_drafter/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/section_drafter/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/section_drafter/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/section_drafter/agent.py similarity index 98% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/section_drafter/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/section_drafter/agent.py index 2d4791a..de1faba 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/section_drafter/agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/section_drafter/agent.py @@ -4,8 +4,8 @@ from google.adk.agents import LlmAgent from google.adk.agents.invocation_context import InvocationContext from google.adk.events import Event -from manugen_ai.adk import ManugenAIBaseAgent -from manugen_ai.schema import ( +from manufold.adk import ManugenAIBaseAgent +from manufold.schema import ( INSTRUCTIONS_KEY, ) from typing_extensions import override diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/title/__init__.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/title/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/title/__init__.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/title/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/title/agent.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/title/agent.py similarity index 89% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/title/agent.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/title/agent.py index 9787b17..c30f5d9 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/title/agent.py +++ b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/title/agent.py @@ -1,8 +1,8 @@ import os from google.adk.agents import LlmAgent -from manugen_ai.schema import prepare_instructions -from manugen_ai.utils import get_llm +from manufold.schema import prepare_instructions +from manufold.utils import get_llm from . import prompt diff --git a/packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/title/prompt.py b/packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/title/prompt.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/ai_science_writer/sub_agents/title/prompt.py rename to packages/manufold/src/manufold/agents/ai_science_writer/sub_agents/title/prompt.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/capitalizer/agent.py b/packages/manufold/src/manufold/agents/capitalizer/agent.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/capitalizer/agent.py rename to packages/manufold/src/manufold/agents/capitalizer/agent.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/markdown_outline_to_paper/agent.py b/packages/manufold/src/manufold/agents/markdown_outline_to_paper/agent.py similarity index 97% rename from packages/manugen-ai/src/manugen_ai/agents/markdown_outline_to_paper/agent.py rename to packages/manufold/src/manufold/agents/markdown_outline_to_paper/agent.py index d5ca9a1..51acbb0 100644 --- a/packages/manugen-ai/src/manugen_ai/agents/markdown_outline_to_paper/agent.py +++ b/packages/manufold/src/manufold/agents/markdown_outline_to_paper/agent.py @@ -12,13 +12,13 @@ from google.adk.agents import Agent, LoopAgent, ParallelAgent, SequentialAgent from google.adk.models.lite_llm import LiteLlm from google.adk.tools import FunctionTool -from manugen_ai.agents.meta_agent import ( +from manufold.agents.meta_agent import ( ResilientToolAgent, SectionWriterAgent, StopChecker, ) -from manugen_ai.tools.tools import exit_loop, fetch_url, json_conforms_to_schema -from manugen_ai.utils import prepare_ollama_models_for_adk_state +from manufold.tools.tools import exit_loop, fetch_url, json_conforms_to_schema +from manufold.utils import prepare_ollama_models_for_adk_state # Preconfigure Ollama models for ADK prepare_ollama_models_for_adk_state() diff --git a/packages/manugen-ai/src/manugen_ai/agents/meta_agent.py b/packages/manufold/src/manufold/agents/meta_agent.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/meta_agent.py rename to packages/manufold/src/manufold/agents/meta_agent.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/weather/__init__.py b/packages/manufold/src/manufold/agents/weather/__init__.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/weather/__init__.py rename to packages/manufold/src/manufold/agents/weather/__init__.py diff --git a/packages/manugen-ai/src/manugen_ai/agents/weather/agent.py b/packages/manufold/src/manufold/agents/weather/agent.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/agents/weather/agent.py rename to packages/manufold/src/manufold/agents/weather/agent.py diff --git a/packages/manugen-ai/src/manugen_ai/cli.py b/packages/manufold/src/manufold/cli.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/cli.py rename to packages/manufold/src/manufold/cli.py diff --git a/packages/manugen-ai/src/manugen_ai/data.py b/packages/manufold/src/manufold/data.py similarity index 98% rename from packages/manugen-ai/src/manugen_ai/data.py rename to packages/manufold/src/manufold/data.py index 76a6a6c..4037148 100644 --- a/packages/manugen-ai/src/manugen_ai/data.py +++ b/packages/manufold/src/manufold/data.py @@ -9,7 +9,7 @@ import numpy as np import pyarrow as pa -from manugen_ai.utils import download_file_if_not_available +from manufold.utils import download_file_if_not_available # if USE_GEMINI_EMBEDDINGS is 1, we'll use Google's GenAI API for embeddings, # otherwise we'll use the FlagEmbedding model (BAAI/bge-m3) @@ -214,7 +214,7 @@ def create_withdrarxiv_embeddings( Args: target_db (str, optional): Path to the DuckDB database where embeddings will be stored. Defaults to - "src/manugen_ai/data/withdrarxiv_embeddings.duckdb". + "src/manufold/data/withdrarxiv_embeddings.duckdb". Returns: str: The path to the DuckDB database containing the paper metadata diff --git a/packages/manugen-ai/src/manugen_ai/schema.py b/packages/manufold/src/manufold/schema.py similarity index 100% rename from packages/manugen-ai/src/manugen_ai/schema.py rename to packages/manufold/src/manufold/schema.py diff --git a/packages/manugen-ai/src/manugen_ai/tools/tools.py b/packages/manufold/src/manufold/tools/tools.py similarity index 98% rename from packages/manugen-ai/src/manugen_ai/tools/tools.py rename to packages/manufold/src/manufold/tools/tools.py index f1508ec..ea67895 100644 --- a/packages/manugen-ai/src/manugen_ai/tools/tools.py +++ b/packages/manufold/src/manufold/tools/tools.py @@ -1,5 +1,5 @@ """ -Tools for agents within manugen-ai +Tools for agents within manufold """ from __future__ import annotations @@ -13,7 +13,7 @@ import requests from google.adk.tools.tool_context import ToolContext from jsonschema import ValidationError, validate -from manugen_ai.utils import graceful_fail +from manufold.utils import graceful_fail from pyalex import Works diff --git a/packages/manugen-ai/src/manugen_ai/utils.py b/packages/manufold/src/manufold/utils.py similarity index 99% rename from packages/manugen-ai/src/manugen_ai/utils.py rename to packages/manufold/src/manufold/utils.py index 2fc1384..79968d8 100644 --- a/packages/manugen-ai/src/manugen_ai/utils.py +++ b/packages/manufold/src/manufold/utils.py @@ -1,5 +1,5 @@ """ -Utils for manugen-ai +Utils for manufold """ from __future__ import annotations diff --git a/packages/manugen-ai/tests/__init__.py b/packages/manufold/tests/__init__.py similarity index 100% rename from packages/manugen-ai/tests/__init__.py rename to packages/manufold/tests/__init__.py diff --git a/packages/manugen-ai/tests/conftest.py b/packages/manufold/tests/conftest.py similarity index 100% rename from packages/manugen-ai/tests/conftest.py rename to packages/manufold/tests/conftest.py diff --git a/packages/manugen-ai/tests/reports/enhance_to_avoid_retraction_reasons.ipynb b/packages/manufold/tests/reports/enhance_to_avoid_retraction_reasons.ipynb similarity index 99% rename from packages/manugen-ai/tests/reports/enhance_to_avoid_retraction_reasons.ipynb rename to packages/manufold/tests/reports/enhance_to_avoid_retraction_reasons.ipynb index a257fb6..6aedba1 100644 --- a/packages/manugen-ai/tests/reports/enhance_to_avoid_retraction_reasons.ipynb +++ b/packages/manufold/tests/reports/enhance_to_avoid_retraction_reasons.ipynb @@ -37,8 +37,8 @@ ], "source": [ "from IPython.display import Image, display\n", - "from manugen_ai.agents.enhance_to_avoid_retraction_reasons.agent import root_agent\n", - "from manugen_ai.utils import build_mermaid, run_agent_workflow" + "from manufold.agents.enhance_to_avoid_retraction_reasons.agent import root_agent\n", + "from manufold.utils import build_mermaid, run_agent_workflow" ] }, { diff --git a/packages/manugen-ai/tests/reports/enhance_with_related_work.ipynb b/packages/manufold/tests/reports/enhance_with_related_work.ipynb similarity index 99% rename from packages/manugen-ai/tests/reports/enhance_with_related_work.ipynb rename to packages/manufold/tests/reports/enhance_with_related_work.ipynb index c696dcd..95bb6bf 100644 --- a/packages/manugen-ai/tests/reports/enhance_with_related_work.ipynb +++ b/packages/manufold/tests/reports/enhance_with_related_work.ipynb @@ -22,8 +22,8 @@ "outputs": [], "source": [ "from IPython.display import Image, display\n", - "from manugen_ai.agents.enhance_with_related_work.agent import root_agent\n", - "from manugen_ai.utils import build_mermaid, run_agent_workflow" + "from manufold.agents.enhance_with_related_work.agent import root_agent\n", + "from manufold.utils import build_mermaid, run_agent_workflow" ] }, { diff --git a/packages/manugen-ai/tests/reports/markdown_outline_to_paper.ipynb b/packages/manufold/tests/reports/markdown_outline_to_paper.ipynb similarity index 99% rename from packages/manugen-ai/tests/reports/markdown_outline_to_paper.ipynb rename to packages/manufold/tests/reports/markdown_outline_to_paper.ipynb index ce2ea53..25bcbc1 100644 --- a/packages/manugen-ai/tests/reports/markdown_outline_to_paper.ipynb +++ b/packages/manufold/tests/reports/markdown_outline_to_paper.ipynb @@ -22,8 +22,8 @@ "outputs": [], "source": [ "from IPython.display import Image, display\n", - "from manugen_ai.agents.markdown_outline_to_paper.agent import root_agent\n", - "from manugen_ai.utils import build_mermaid, run_agent_workflow" + "from manufold.agents.markdown_outline_to_paper.agent import root_agent\n", + "from manufold.utils import build_mermaid, run_agent_workflow" ] }, { diff --git a/packages/manugen-ai/tests/reports/mermaid_diagrams_for_agents.ipynb b/packages/manufold/tests/reports/mermaid_diagrams_for_agents.ipynb similarity index 99% rename from packages/manugen-ai/tests/reports/mermaid_diagrams_for_agents.ipynb rename to packages/manufold/tests/reports/mermaid_diagrams_for_agents.ipynb index 95f6ce7..8054a08 100644 --- a/packages/manugen-ai/tests/reports/mermaid_diagrams_for_agents.ipynb +++ b/packages/manufold/tests/reports/mermaid_diagrams_for_agents.ipynb @@ -21,7 +21,7 @@ "source": [ "from google.adk.agents import Agent, LlmAgent, LoopAgent, ParallelAgent, SequentialAgent\n", "from IPython.display import Image, display\n", - "from manugen_ai.utils import build_mermaid" + "from manufold.utils import build_mermaid" ] }, { diff --git a/packages/manugen-ai/tests/test_agents.py b/packages/manufold/tests/test_agents.py similarity index 89% rename from packages/manugen-ai/tests/test_agents.py rename to packages/manufold/tests/test_agents.py index cd5f473..9383bf3 100644 --- a/packages/manugen-ai/tests/test_agents.py +++ b/packages/manufold/tests/test_agents.py @@ -3,8 +3,8 @@ """ import pytest -from manugen_ai.agents.capitalizer.agent import root_agent -from manugen_ai.utils import run_agent_workflow +from manufold.agents.capitalizer.agent import root_agent +from manufold.utils import run_agent_workflow @pytest.mark.asyncio diff --git a/packages/manugen-ai/tests/test_meta_agent.py b/packages/manufold/tests/test_meta_agent.py similarity index 96% rename from packages/manugen-ai/tests/test_meta_agent.py rename to packages/manufold/tests/test_meta_agent.py index d2a5a84..dcf0c8e 100644 --- a/packages/manugen-ai/tests/test_meta_agent.py +++ b/packages/manufold/tests/test_meta_agent.py @@ -7,8 +7,8 @@ import pytest from google.adk.agents import Agent, LoopAgent from google.adk.models.lite_llm import LiteLlm -from manugen_ai.agents.meta_agent import ResilientToolAgent, StopChecker -from manugen_ai.utils import prepare_ollama_models_for_adk_state, run_agent_workflow +from manufold.agents.meta_agent import ResilientToolAgent, StopChecker +from manufold.utils import prepare_ollama_models_for_adk_state, run_agent_workflow @pytest.mark.asyncio diff --git a/packages/manugen-ai/tests/test_tools.py b/packages/manufold/tests/test_tools.py similarity index 99% rename from packages/manugen-ai/tests/test_tools.py rename to packages/manufold/tests/test_tools.py index c5c7ba0..b97c7dd 100644 --- a/packages/manugen-ai/tests/test_tools.py +++ b/packages/manufold/tests/test_tools.py @@ -3,7 +3,7 @@ import pygit2 import pytest -from manugen_ai.tools.tools import ( +from manufold.tools.tools import ( clone_repository, exit_loop, fetch_url, diff --git a/packages/manugen-ai/tests/utils.py b/packages/manufold/tests/utils.py similarity index 100% rename from packages/manugen-ai/tests/utils.py rename to packages/manufold/tests/utils.py diff --git a/packages/manugen-ai/uv.lock b/packages/manufold/uv.lock similarity index 99% rename from packages/manugen-ai/uv.lock rename to packages/manufold/uv.lock index 68c7254..ed3a1d1 100644 --- a/packages/manugen-ai/uv.lock +++ b/packages/manufold/uv.lock @@ -1677,7 +1677,7 @@ wheels = [ ] [[package]] -name = "manugen-ai" +name = "manufold" version = "0.1.0" source = { editable = "." } dependencies = [ From dfb276fd72ca4cf002916f6fb1550c93d1f06441 Mon Sep 17 00:00:00 2001 From: Faisal Alquaddoomi Date: Thu, 5 Mar 2026 11:03:08 -0700 Subject: [PATCH 03/13] Updates manugen AI references, github repo URLs in docs to manufold --- CITATION.cff | 2 +- CONTRIBUTING.md | 2 +- README.md | 10 +++++----- frontend/src/pages/example-2.md | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CITATION.cff b/CITATION.cff index 30dbf6a..a2bed91 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -1,5 +1,5 @@ cff-version: 1.2.0 -title: Manugen-AI +title: Manufold message: >- If you use this work in some way, please use the information found within the CITATION.cff file. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0b58dcf..49f5227 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,6 +1,6 @@ ## Contributing -Thank you for your interest in contributing to the Manugen AI project! +Thank you for your interest in contributing to the Manufold project! We welcome contributions from the community to help improve and expand the functionality of this multi-agent tool for creating academic manuscripts. ### How to Contribute diff --git a/README.md b/README.md index ea86ec2..bdeee18 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Manufold (formerly, Manugen AI) -Project Logo +Project Logo Writing academic manuscripts can be tedious. Imagine that you could bring together your results, prior research, source code, and some brief bullet points per section to generate a manuscript automatically. @@ -9,7 +9,7 @@ That is **Manufold** (formerly, Manugen AI). This repo holds our submission for the 2025 [Agent Development Kit (ADK) Hackathon with Google Cloud](https://googlecloudmultiagents.devpost.com/) - Manugen AI (now Manufold). **Manufold** is a multi-agent tool for drafting academic manuscripts from assets and guidance: a collection of figures, text/instructions, source code, and other content files. It uses agents based on large language models (LLMs) and the [Google ADK](https://google.github.io/adk-docs/). -See the [Manugen AI package README](packages/manugen-ai/README.md) for more details on the package itself. +See the [Manugen AI package README](packages/manufold/README.md) for more details on the package itself. The project consists of a web-based frontend, backend, and additional services. It includes Docker Compose configuration to run the application stack locally. @@ -59,7 +59,7 @@ Make sure the model you pick [supports "tools"](https://ollama.com/search?c=tool ollama pull qwen3:8b ``` -If you want to use Manugen-AI to upload figures and interpret them, you'll also need a model that [supports "vision"](https://ollama.com/search?c=vision), such as [Gemma3](https://ollama.com/library/gemma3): +If you want to use Manufold to upload figures and interpret them, you'll also need a model that [supports "vision"](https://ollama.com/search?c=vision), such as [Gemma3](https://ollama.com/library/gemma3): ```bash # gemma3 supports vision, which can be used to interpret your figures @@ -128,7 +128,7 @@ You'll see two text fields: one on the left for entering manuscript content in M ### Draft a manuscript -Manugen-AI allows a human author to quickly draft a scientific manuscript from a minimum set of research assets (such as figures or source code) and human guidance. +Manufold allows a human author to quickly draft a scientific manuscript from a minimum set of research assets (such as figures or source code) and human guidance. After opening the web interface in your browser, follow these steps to draft a manuscript from scratch: 1. **Load an example of human guidelines.** @@ -205,7 +205,7 @@ The project is a standard three-tier web application, with the following compone - `./frontend/`: A web-based user interface for interacting with the application, built with React. - `./backend/`: A REST API that serves the frontend and handles requests from the web interface. -- `./packages/manugen-ai/`: The *Manugen AI* package, which is used to generate academic manuscripts from content files. +- `./packages/manufold/`: The *Manufold* package, which is used to generate academic manuscripts from content files. The backend relies on this package to perform the actual manuscript generation. The project includes an optional PostgreSQL database that, if available, ADK will use to persist session data between stack runs. diff --git a/frontend/src/pages/example-2.md b/frontend/src/pages/example-2.md index e1f9fa5..a542bdd 100644 --- a/frontend/src/pages/example-2.md +++ b/frontend/src/pages/example-2.md @@ -1 +1 @@ -https://github.com/pivlab/manugen-ai +https://github.com/pivlab/manufold From c3e946fd19d71fbd94a3fc0e6e973a85d1e32f80 Mon Sep 17 00:00:00 2001 From: Faisal Alquaddoomi Date: Fri, 6 Mar 2026 11:22:26 -0700 Subject: [PATCH 04/13] Updates docker compose config to map manufold pkg sources into container in dev --- .pre-commit-config.yaml | 2 +- docker-compose.override.yml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e4d3beb..04aa832 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -39,7 +39,7 @@ repos: - id: yamllint exclude: pre-commit-config.yaml - repo: https://github.com/astral-sh/ruff-pre-commit - rev: "v0.15.4" + rev: "v0.15.5" hooks: - id: ruff-format - id: ruff-check diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 0fb84a5..43caefe 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -4,8 +4,8 @@ services: - "8900:8000" volumes: # maps package, src folders to allow reloading - - ./packages/manugen-ai/src/:/packages/manugen-ai/src/ - - ./packages/manugen-ai/tests/:/packages/manugen-ai/tests/ + - ./packages/manufold/src/:/packages/manufold/src/ + - ./packages/manufold/tests/:/packages/manufold/tests/ - ./backend/src/:/app/src/ - ./backend/tests/:/app/tests/ environment: From ae99fcd8d084d0bc9ee06a9f6d978d23543b6a2b Mon Sep 17 00:00:00 2001 From: Faisal Alquaddoomi Date: Fri, 6 Mar 2026 11:22:40 -0700 Subject: [PATCH 05/13] Ignores session.db sqlite file created when running in dev --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index e587645..6e740b9 100644 --- a/.gitignore +++ b/.gitignore @@ -197,6 +197,9 @@ withdrarxiv.parquet retraction_watch.csv withdrarxiv_embeddings.duckdb +# ignore session db, wherever it ends up being created +session.db + # gitignore the model cache directory model_cache/ From 6412e000187833dcffd064e056480973dd31d020 Mon Sep 17 00:00:00 2001 From: Faisal Alquaddoomi Date: Fri, 6 Mar 2026 11:23:49 -0700 Subject: [PATCH 06/13] Sets loglevel from LOG_LEVEL env var, defaults to INFO if unspecified --- .../agents/ai_science_writer/.adk/session.db | Bin 270336 -> 561152 bytes .../sub_agents/assembler/agent.py | 3 ++- .../sub_agents/coordinator/custom_agent.py | 3 ++- .../sub_agents/manuscript_drafter/agent.py | 3 ++- .../sub_agents/section_drafter/agent.py | 3 ++- 5 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/manufold/src/manufold/agents/ai_science_writer/.adk/session.db b/packages/manufold/src/manufold/agents/ai_science_writer/.adk/session.db index e241668c991ff470472a9acf966bb1391de2e347..e36cf2b8674be270af9d0f4cd93cfb3b6679eff8 100644 GIT binary patch delta 37871 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 delta 26767 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 Date: Fri, 6 Mar 2026 11:24:10 -0700 Subject: [PATCH 07/13] Makes dev log output less chatty (INFO changed to WARNING) --- docker-compose.override.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 43caefe..a4a6848 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -10,6 +10,7 @@ services: - ./backend/tests/:/app/tests/ environment: - HOT_RELOAD_BACKEND=1 + - LOG_LEVEL=warning frontend: ports: From 6e969c9576b3880bd1b6867b4dcbe1f6b03dd4ce Mon Sep 17 00:00:00 2001 From: Faisal Alquaddoomi Date: Fri, 6 Mar 2026 11:24:56 -0700 Subject: [PATCH 08/13] Configures backend services log level w/the new LOG_LEVEL env var --- backend/start_api_server.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/start_api_server.sh b/backend/start_api_server.sh index d33999d..d25b0b5 100755 --- a/backend/start_api_server.sh +++ b/backend/start_api_server.sh @@ -29,12 +29,12 @@ if [ "${HOT_RELOAD_BACKEND}" = "1" ]; then --host 0.0.0.0 \ --port ${MANUGEN_API_PORT} \ --reload \ - --log-level ${DEBUG_LOG_LEVEL:-info} + --log-level ${LOG_LEVEL:-info} else # run in production mode exec uv run uvicorn src.main:app \ --host 0.0.0.0 \ --port ${MANUGEN_API_PORT} \ --workers ${WEB_CONCURRENCY:-8} \ - --log-level warning + --log-level ${LOG_LEVEL:-info} fi From 0c2d23bedc08cbf617f4407780c1ff8a77c115f1 Mon Sep 17 00:00:00 2001 From: Faisal Alquaddoomi Date: Fri, 6 Mar 2026 11:29:08 -0700 Subject: [PATCH 09/13] Widens withdrarxiv_embeddings duckdb gitignore to include derived files --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 6e740b9..526ec51 100644 --- a/.gitignore +++ b/.gitignore @@ -195,7 +195,7 @@ cython_debug/ withdrarxiv.parquet retraction_watch.csv -withdrarxiv_embeddings.duckdb +withdrarxiv_embeddings*.duckdb # ignore session db, wherever it ends up being created session.db From 6dfa8808cb908a59d29e686a178432afc0a8d0cf Mon Sep 17 00:00:00 2001 From: Faisal Alquaddoomi Date: Fri, 6 Mar 2026 12:13:02 -0700 Subject: [PATCH 10/13] Updated markdown to please linter, removed session.db --- frontend/src/pages/dev-test.md | 2 +- .../agents/ai_science_writer/.adk/session.db | Bin 561152 -> 0 bytes 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 packages/manufold/src/manufold/agents/ai_science_writer/.adk/session.db diff --git a/frontend/src/pages/dev-test.md b/frontend/src/pages/dev-test.md index edd5ab4..ebda30e 100644 --- a/frontend/src/pages/dev-test.md +++ b/frontend/src/pages/dev-test.md @@ -5,7 +5,7 @@ Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliqu Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. ---- +______________________________________________________________________ **This is bold text** diff --git a/packages/manufold/src/manufold/agents/ai_science_writer/.adk/session.db b/packages/manufold/src/manufold/agents/ai_science_writer/.adk/session.db deleted file mode 100644 index e36cf2b8674be270af9d0f4cd93cfb3b6679eff8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 561152 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

    7yF;TWuv4kXP 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≶w}mAN+N8W1jJ8oW#}Ov$z;H;&AV~*1op~o5pJ)Bx0EH zV(558JL-tKwm72<2pyqYUWOgLYiT8C3v*o8v?$YKOR-MB(I|R~#nld;Jaf_MIiu&= zaxGVcyN}>~1^+yFFzpVR3yK=!8Ba0q^B!(H#tHr^yKKMOOe4to1-nV;Zx8)-yh{@Q zS#C$ESA=1~iL{eBI*uN;T)&}4u}-|0uDvKc&QEG{6vcVWX6#5D47$~G=@js55Vj>7 z3yx*n&qu)va9!28XH9D7^K0(7>SI_~sHX#?*&_T>JoYImy!AWus6p zM`Ai*m}PQ=tEPE|i0};@tJGsooKVaS%>4o0r!gYNmsiZ1=n;~>WomoS_K*cyCq2bB zLn=_uS+{x!VjIXhrMr+YTBdXZQD%f=L~jg|dj)-h-tlq+OW#m1Xnx_XkNzx!sceS! zJ4FiA8bV3bc}?$H;{;n>D$EVr9_>z38<(`|+;rJZBPDQWjqmrO54Ukx-Y@xW(kIx_ zpjRRI9WVCO>27oOP=T2RbUDkOa|&F4J%9$agkgl zGv!})pB#zXkJ0R*oyG_Gh^x1Ja7F6AO1xFlt+Jgk*)fo+P*?MHba?43u_1K-@^LD& zQ?KH844laB{F+)&vbSC+=QI~aJHvxd2?xLHepS?!dMoeJ2|fwXjG2l`ndtCpk8ZZ% zO@f7ZsM9Lxf+(J=EdQ9{#N9h^%Df?l$8Z5+5#{73JjU`1dFaqddCjQRg|Zv{d0cDs<}28!z^|O zYtnBBdAge!gEGRNZQ57P5R)AjTi)7{mbYzebOrY8W*fH;g#U&SN1KT~P_Mi_oM*!& zh+R9Ve_oz->GY|uoxD}3FBGdi%+h|NVz0u=X7B)yIfzpC!nNae zt9EfjQhoBbxr(F%8#r1jo6E&KY20JM>{9c1peFZoy+kkavT>h}TQeYQ9RQhT5ZYT0 zb+d&Iuapw*+dByELeKdstPa>7;~UJCliMP-DmceqLU~|Z<58BiHZr6^(h8Jykw%%- zRh*oy9?+{&&k#^gq4Qz7fjL_(Q~S_~^Wt3hb8%wX^R;n`Id8cN`0@!E&Z;RKvPY4{ zoy0bd)Smd(qx>F);g{Ui#YVqfNmZ563rGf)Q%<1bRU53yrdOG}3y(euR z!ga{3576jVZLxmdTh)+RRa?i*&N^+a8-G8mMeQBW7CVs>f9M&mqG9EXOZ2ZxP$tFl zbX%>OfxO3UEl!n-rf2l0cSqZX5Mmd2NkFvht2qt%6BtJg(07hWd|Ms$_~bWXa%paK zxi~JK{By$<7i6jg$C^lv=$0CO%X9=I_fk{^ z%lTlRXjY|W*Pgz?=VqdRu5H3}+re9>OzqV4?|6ozjH`OJKOL9-n1M$mJg_}@*doUv zUWSI98PVPcvX(|0-LjJ6F`sSw6C}%FO%-L6$wp5fmIK?7s2(*CPy?ShaI?Wkb|=f2 zOYhnGnf4~^5olSP7sr^c4z(q5egBx8pwEjOZ{;0nGf-!v+B#T|`LeobH0NlNiI5X7 z(5jV>S8;Bq-coh@A){}G`W~8vh(SHOuqLM&G#-{h%0O#+lUk!re8w~s8{o%~Sg`LY zV7YGZ^$M_;mM+y*olW=SqF@STktDmEZItR(1m1zQCp%c$*3F>y-P=rf^$(^zIOpLh zB4b;1=i^C;%9|$Jg6RsD4_#2MTv8+tUN^oa=mjxocdL9jFVouH9sAkkvGaOV7w0{CQ-*CkD&@hY?<}dsRk&%AU9|sr%wQF`IWD`9C zyy}ZKivaAn@|_Lr&18!)G|zm#_9fA<6(U@R{lX{vMYbe7)eeT;3GJH&Us(fc zX+U>OxEzN2N|z@~XbE63sAa#~PmiX2G7ELDbu->ru98KPmbY$O9M>20Lac!t5#iZy zUhr3WmBT(}WLf;)rcz;f5k}1!4wnf|#P%4GozlJgo-i9}*T{P0Jvhs{)zVqi^=G)_ zPSxDfZlj{rnB;cYtoHZl1RXM8*e?b;&5cqEiR+q@T@@w~9AhSr#MKM~yaFz{ zbIJa~@Oew`PPhGZYAuv{YF%~DNN-b3J!Zn#Q`@5Tlq=PqAIICYgC77en{5BQoz9zW zrQWx0&+qqi5DkiZdfY+^>To#{9pW=39!mPTHoNv_)xBvvslln|s7G3+n-a&c4$-qH zQbjWDJ8fM7fs=ShlQU_PPJ*aQDX*oBhe^SH7A?dOfsd@CE|iMCun6aR*{*Nvg1q+~ z6nW`NN_O@zj+ertu*%D52EMbtmS27G2>cJ-k~<#OqN!Y*?Xj6m0yep?!_DnBIj&0o zyyG^Dhuf`(Fc$xct)SP>uNfO@CD#4vPF4!P9%8vYFZVtCVXZPJUN&Nu2r4sJMqL%$ ztVwicszs171I?Pmi_%ehK%P}`7e_3ai}fIA<5dT5tz|9IZK=(a*g0S>7Taz#m5+*C zw{CeKwyFFKkwlzcnpk6Fj)@2e9kOvnpFf4`Wt#iT*=^X~9y)Uf8(>c70UoFdyI6Ki zY#x}lp%2{Ng3ns5qGzNb_ezTna;~NhIgXu{b^~)d;(6J0MQM&Vhbn@15zGZs7^X*{ zhi4b6d>X*Q?gSsi%4M8j7z{c*TenHwrjXNK%TP09j`y^cw6)JHHut)tWOIMIe0Ze` z9ZWK;GCal=0c7=}Le@Qyv0$)_OZi)S8VqQB06aG|P6 zaP+YyYc^$Ymr$A9FSqPyk{%Z0FkQ~}T2xf(q3y0Wz(`G>0~2{b@4R+YO)gb|;IGXk zi`KLCycsbJDp6D7?|M*7&cTf+%W4V;o`8FvK3~2-t~ zKkjzEyp?BUFE#m$w&Urzg~kfj2$bYKg}Kp$~*kYu)MxvjL&j{sI70sYeD0&Wez7-%;n%{9gZuM}Gw zY+D4O+8d0EUK40qFy}^}Mr1G9%zL;t46PcjtF0=mdJAmIc($Yn8ycuqH|Z)!!%`G~HomX7zApKIn%*eJuC4N}TL z{nhT4uxeYC5O06Z-mdAYlWXeJ;C_c^D~Ry2+WCIHogF9E$R_yp2PU@Zkvu@`7~0j$ zNy-ynD@V$c0vK?YufVi9s6bLUS01262{0+jmcz;O6bL(j(v#c_jN5F@6o~~*oh8wF zgg4YUI?#)?3h^o7%A6Nc;q4dEaWQe4Yhp>I1wA#`L;@!+SUpkSbWynv;n}72p%*<>A1xS2~ZM=#i^bU{DUEx!C(j^H#t7E8e)v5j_g`+mzJq7oEH}-|7s5r86>Eu^1e=na$uq5KT$h zpVC<$j&dh-Hjn{il+}l?N{0OZKPLJ{3vO;_pFY&lWHX_?82aKV?8Hg5NAWQdA;6OKKE&V+t%LDs7;T=Pp>f^r~kl z-CdfCGe`GeGcCGe0zA@qIM*8=dqyB|f$>8Ljl;$aL<0dNH zqtECaQb4qoc`VygPnE6V*EvL^M#xa2biT}NwoPL$dtu5$!erK0v4+-EoU zGs{3$vh}4Kyp+SHzYio;p1I2XZlJ`|Db|%wH>=H+6ka zO!RnpeT291a8|LoIqI81sw8{xHHa(mZWZ<00QG+UZta_-JVr_5Xb01|Q`#wL z=o!2Ohh!aSwUz_h6Nhn&0eWun1r?9-iRn45i3&K_Jwx$$1;AKhjv z1bwTY)~l?6j_wPqLO%D14$Lu{K8iZy6n7^zh%>?rCW!u#yFjMrRU1n;g3O*8)G@kN z9kDBBzie-lNa&iZ+)BPDpdj|;&8<~7$)%;IMWL34+4+N;tPQ&4KCn!6bFbQ6;SBfaoTLqyTm5XTg>L1t$e^fxHM`H* z(KreQlj>SHp}8-Jpr4A~Jm8rV&s4d}$Nnv(?u3cio|U9&$QS!URlE?rK2sLh)5qa_&`|`iM!~r)dL#29?MOV#Xc4_&`sg+aoL#1yj5L@A zvpu{*(?S|DzTu0xEsQZQ8+$p>a@)kSv-S*<0iUPY98_uX%vSboJu-!fdPyM2mM*Q5 zfzI=IGv8Zd&kwJBlsEilSIpEP$cAZiM!WIprNO$|3F;FOxLzO6@v70GLmQc>H&&8m@7dKIdB?hvpzi|>QFnWtjJ*iC!WeoN_4?{v$K1YB z*iF1w?Gk;=?Hm$<*0DrdG8?Up@HP#-#pr_EaAGikI8bshPS8l-WyABvjZoN7;>KP2 zyIOi)PxeL2!G|dzgMOYrTK`63rMtTG;KYosIzBw`mQSTN-3t6D$yRVv3am2Hd{;;~ zs815_-GuKfZzI)v1HQA4PVHPsV(}D=VyRoSYEyHd*;ij#kasIS$jpL;Br^IsuS1%B zhJ&J%Pqne*>-yPjVnLyM$ti2)?oTHC5wIIE?IwD>T`buf3v+@Jh0493h7jXxH6w(V zECQ?<@%Fti>uQ#%14)C|-~O=8_^0Aiq0gZlUq|PBT!<2@cdL%Ma?4ex5@7Z8EEDX< z5WV67RK?W|^dEu2#vS2)4uSbBj-zLq6gq1>7B4>zZyG<7Rgpp+-{bk2hR*9?%m=N9 z^>s2+%}O{>ZIo6^#0F*4)HO30uNsCPCq&007ASg!a+EzBa5#uSp3?&6Yd4&F=7>Kh~q7+}gDf z--IJQh$ek%^;Zf2a}&Y~#3zR6vzfY8kI69FB?q`t7e>*ziRD`Sr8u6OT!ZMTz3XXn zHh4}@LPC9KBc@|hbz#}YAm6m^p?jOG617|Mjh-O)KRgaPQ|Xu0iWX+voWzD(V8EHLP%OyG~5K`2myA^QSQb;C; z^uR%QpgY&<7Q$i&GaVI=)T}0O7klZ`pKTF^FX#%QXnY(kRO_C%u`@>L|1|M?V;kGR zGZ(#O3-CD^MBtiC>kcq;`1dpm*%D(k=y#GC!~Rl^f)B6c0#@ zS6|QBGUfezRV=q?E?5J?+gzPXsc9v&#w}pH)UYVe*6w;3WE@iRJ>jaHjpLqO@^YwD z=!Puz@&f)2LpRy(4)^;(QUQ{*{hiHGM^CHqb(bxZlPJ$}v(Vz=R>SZM$p^pbz4PVC zyLvWxinhffqtqI%aO(bibdN3Z)+D-tE8#q)=aP>Ga}ssI+Y$UUUIwvP8q|haZzeAeL`5qQhMv!)Q=(3Q zt3i*wQ)Y*;0X9YuZE0|Frcmd7o(#cms0Yzs#KfEK)2q9(p<&rxwA*Bvc1(c%|Bzji z$q`NKZWAci93(X8&CYJ?tuL*olX?=lfIrLec2z*odT>KcP)BML*45DJt*sN+t+vs) zaZNBf?YyJ60aO^KLrPc#&3d9i+nD}jVuz)g@DaABls;Ix8j+yJYhU#tIKV2=yuD?puFw7)-<|wD^`J9#mXri<06jP@lHGI2vclz zhk6a(+rUkC`uM6$%#ijwe=+US&@f8`1d3v3yuNme8GKa}$yx6daXYLXF_o~cBkm!3 zg~!q5P<0R*^`lm9peDh041J9lc(Ae#C12r7Yp%j__YjfC`YHwNk`8$Gkn$tYJ82W1 z9R%BXdoO{(1i`qP?N04=TVEEyT?RLU@*sjLVQCZ|?sVXn>+PmFxbX(rHLw6Lz&dc% zmkXskgzPYF+sopMNvw}lzOtBp3R<4~y#r7qyn zw3sW@EfKleft<>AzgP;}xpk&Tq`q7Z*hG8i)3b7A%&Z$+s-ZGoLY8<%u%_!ipFw_n z3r%KP=%uo=&-MO3e})xbaNao&lbPRu*L6Eu!8VK32-stnBuX z-rZ&2#0l)XsYf~0(k>nymGz+v-L*nzT)-Ar-|BYL@ipRIRJKmyW-P#Odg!{=kRVa! zoEbCF%P#48=}EmNfWvV+!J}7qR3~#yXb5;D?r=P*K*oQ>I_7ZM5=+Z)I36hWV6n0) zsaXfT79hs<;$wfCKxEnub})G6ATr!@UA6)2_u@p4B}l!eav9lZ0b(^=AW_oMp%C>Loc!2?jf!RNx9IeBV40d6&s;o1+FYa5s%z zZ|+>SCmz1bj@N`d_Lud@i>J)&dg`C3U0;@yiaK-5RZ^){mPkC4JQ~_|kJT*P-PpA} zh0`58D)@AQXo0&_tD2tdPR>y3Kp~bCo=viI+sDiruFh43cLp>~&ymulv=~n>GlJ3D z0>9rjvKv_<;#j^roF>{Hz&vwxQjxDF!=gD(7@i#gX$V9(98bI|?Fw6j$#$a4FH8>X z6afm@K8Q+bm?UvyiU*I*qIN|~vtGszjI=hE<9^W}lZVqIb;1~fo71qX!(OtcQlpPr ze9`N;et5aX?x~Rn0@SzbbC>S@Lo3zNy*A2wkEqICVcZ~ej%8()8OLP`&ig=gJ zV2~{(-V-EB%;2xGA{g_|%dUI(!;dW>%)Ex99ZYmU9w&dgM0;!FiJb{ zwu6cSl#~?Ia^sccuI|<8xqD0&^(G0Xfa&z+z-eKKM7m#?G1TJ@C&z=HEK6n1p}%V^ zou!O_6TM)2Gm>7fo6vmf5m*PgZA=3L(mlV?BU#J2PwL+O#B zRt_CLo?9?m!w84d(0+_G7Ku#B>i5|gI_7&)GcUIq;+hneo829T%TRRl?)l;Y%w-9H z6?JSo&i9*?_%(Hrz1`n6$J2(Q&8SXMYIn8QF1|zu^?nAe9f^3RwkzAs6L{S$_{yiW z5IgizH1Yjs%8QQ@HYHQyktb~y?C`P~h)=L^C$ZI}$@1HLw{9Pg&9mX}D6UMp8`8pJbXcd>VET{(|o{iM9&sy*!3rk!>|VeEWZiNQJIZL#O9FzPcK61OE@NjU)i*Xy=k?iha zSz;b^x79D#d`^R5zcSiYe9GsEJexz}ejLxY3;njg-{I$_-Q?%oo@?L;PkM_P524YT z5|7Wta{?9zut$5IuGOIT#Ee?(Ox~YgCr^bRt65^Kp*gO?uK*kn_TIIt16T{td4luh z=5{_*qmy066Mw8X(sA;5tk>BrnVum<1kL>bn1Td~;uRjZKJ67$af$p_$;Koz0q^2 zA6Mfb2oHKz!RD6t!N=*Q4Wk{J5CTo7HFxR~^aw0pm@ed(2UpDq4v#Kkq5#>`mxhr^-p8?w2)^qZ762IP?kbj#l zqK7|NNOS%QxSQJSo`(}F4i?!6%RdF?U%m{+PlmF(>DhmnDYYm5KVd*`I(2|K#oFU?jwp35jK#iT zJk%}wCF99SSw}m~n=g{ZV^smFeeum@bmDBDD18r9L^F#lN&*b1JFZT$@*HH6@jyfPG1TAs@57^To?QYXQ6E*ac1f#XCkmu^npjgqpAcl%6tg zT`_~krrb_QYG5y<4g)Vl_-e5EdH?*Z0SOa${2321EWm2czH#h5(&NJP%FcSj)+2c0 z)FbNCpJu?mJonyeg)TGVgUn4)i-cG6TOYuRV2kRW3I^aWznyPFgQCU|jq(6wl=efXn)GSRIlwO4 z^+lU|s6*{!^YNycUXXJZ*S-&XXm&F*~sVd?Byu6@EZxOZ!rde~Z z`ogPrkrTh;oZXd>hXZf=qX*)P8~CORE_7{v1AF#P@<-QAx8k>FhI$WT9!PZGi~H$w z{791r>faaCzxf?GGJ3a;ogOW&q_#TedU{}gc`Q#Z7AfW=R-Ns;z5nSgt`W=wUXzUf z=Cg;fKHyq1=^N+cTW!%mK@RJY)vw{365(OK_n)bt&AB6v;ZF9O-z~1ERlKOD2p-2K z*YIP$y{>ahYQ%n>uhI%00{(k1+RzvjsG=we%)eir z!DL<5ItP!}t4rWU; zxDcR63bgTWeKN{T4@XARE_tDP;Bl`#>)lY8RcW;X|nR8cA zF1F^^8i{jgggdT?NPa)A`)&QBNZoDS*xRT6<&_KA1#?c@ozC(1XF=v9@f}GYy7k%n z1<%o9jn=A_BAwQw+4nih5-g^E#th!eZ~c^!PCO??a3@V{UT*_{{l9~8m>=U^Y>UzU z^Y`fOg#RjhKj{(7w=g%qz2~cLN3Bs#B>Ml)bvAVHpI`d_a>Padlo_Q=AV2DN;eSG`Rnzh;bZGE0!TQ_nIBLb4-){8phYU= z!XSj-@YlJwI5|MNfp{h#4~fBNU|b_D+Ef0zE-@7mn|+5hDJnuqx> zmNO#HmI)hr~A1#=0-ll%ttG|IVGcDeo@eML(zlBpcaM(9MsV7 z#$`vHO4cQ~-C5(aV&=1jO(dc+D0OSBn4qE4ovP6+LwR@<1S212c%1y`)an7o$m7nl zZ++mT`C&olRx#4kuR-YH54e8tv&zo<@uVcgr{O4zTf+=rFDU8P~f|@fF$oU4m=@( z+3nX}=e{^-^=7S_-+HaF&hC7|n_#usNB=K8g{~u)r1^+vy&b1EU-9g>{dGV1+`F-T zg3yV2f@$3B4{w?IIFYrTO*r#Rs8xkM_=sJiJ&B`~PBQkdy3l7Ie?EuN%_O-@YSLT$ zHjYEc7l<$g?hn(9twvv(*Hwjlpwy_efCbZ6JQ4*jTp+z;GkDuvuqkX1qYV1{2A(r{ z13m3;Z5IEr}T;i^RUP)qovM;tJ$) zFCJawzj(1XBl2IGz3&{jmnH#QZ2I9Y`_@}cIE3bE(Y?tXoDoArm@FQN@u%XoM8*AM z58bSN!u4nO{ezC?-|~b-M`HW{<}Uf$J%X2(%K?dJ!JlP}X|jZL3kHP51~JTmNu3r+ z?7b^E^}{Pojy8m&Jy=P{cWv*;8;`HE(}4IP)$)x!erjKbNP%>r}CVf^Eth-2s+;a znyGw?yd$bRakFp-UwQ&MyrXc8le}u6*o{_KO!K$<^x>PHXOOfDziU9C=YA3~u1QNAq51C~Z^{XHRIy_Sr=HAX zXle)xyrv)d-K{`O_Zk!+m(!HQJ!qjRK_>hb4PW3a%zufQaIerP?QWy>1RqVo&)J6%cW|C#p?pa*ULxtfl@ zv?wsY?U&YtY1j4XV=X`dS7{UejW{^DqF4RnekLZ#?e>Q-Xov^`WIEnsMQ)GvZ7qYd z_WCHkfp-N>K9>8K50(;TFdu6No*NYUiDtt8%ieqJy6^XYLbNRsK_}3ET}=z>OgGygoTOP?f>Vean>jGK-_WWH7 z7N=?np_I?xn`+rl3t);y{O*Ku+2Pv4v< zdN2ObeK83x1pPWSfekf2dZM_pzuOS>7r_&3*Q@3C_mMG)$yx1Nqq)}nIjc47TP(m_ zMV|S2$+c4Aa)RIo`1qi4xraZ#i|GXGm@ORmX8l7QzywHs1}Ns*{PAVKB0F?9djfYc zoa=r2yS@pO=y%ssS(rF&7LJ#d zNFe%Q82S>+Wa9_)i*C^)l%ye~o+=;BZ`8PZJ(|E90uWfG)-u_yraYcHw307LV^w12 zVYmy}Gz;Se{`GiFS4jzy)riz}Ut}!m;}B7h11L03s#2;6yWMS|LW+?>3B1}psK8lx ztk?vfkwxtqAG^;oX-dNw$M2rEP1x2CR(u`XF@CSjL;iYsG1ef_*(KY*nz9EIZ;U!@ z2l8|?#AvpqKw$Qe8E1op$wK4VNe_wJ#Z;Sh5yY5Y=(FqszHc?`Hx84{Rv>K6+h~`r zaHDFnE>L3IwMG|KW8XbMOlgvJ<6tZ$h+-&yBhs~=twZ#>#uQajVQNg(F!eg?fe0tN zme4R)2)3}_U7Xc*2GrS@AE#j(cEu?hkH`HjrRvLWNr$M;IlGD9JroUNNLi4%=*Gtt zOi4DNTjMm%vB{O1UoTB8>22SL(x%JW$I+!4@X5u4KR$P3P^Kwy<#mwA8148l3DaV3 zNGL;>&~=&hk66F3u(sY7NAzrsB3&5bPP}8hm6m-S!fKX|HxG7zB-5y}LNvPKpy_cS zR4Pa6F)e(4aim?&eEP7$ZaE~t+U!<9T8%YR%CgI25HJvJNYVHmdfLbn-yFFF_*>v+ z`P_fjqbx~NV+P8CCw40>%P^+!HbavQy%7l;-!`D^WJl(*zPQ5?hJ>5fYj}lT!mpp( zTjEi27y5?Hw2puk4-k(Q&~y8SE+cp;VR&uC)~8dkON2C}#>ki?Xw^g5J!`QkCx9%X zj&P`t-7&$O8~HOxsCv}_1%k=8Q)Sj~Q!0bFJ0$aW;6$7V&tb+1)NnuwB=d03fLP3NdUPYfH)3*fwpZJ;5}ysOSIcB1gS^Ul=0Nw-?K?)=u=NJ+WGxCG?f z^_(*qmn@G4_Hhe0vsJZ~Ybit-+DL?{gmdOVFo-k$HQFC{j~l&Kru3Mz4>5R={Y9Db z;wUR$gq?TY$vXtwB(!MnnF3=7o!O?%s} zDaz}->+RvlSr+sD=w_YaeIBWRUITFRkeY*hzw<7o77!E*rP0hn_?wGsSsNgaViJmh z0bf?F0=>5u^LV93Y;_*?X$EN{MemngnmUEfh43zbb`O--@BqL+*+&h<307Wqnbd&h z$8Xc;$mrJeh97nF5lTtK#)jO@!sfZSE>H5X_C#?E9A@%5^3~Oa<*TMq%=3H_f)Ou%%IfNp&=I}FI@mU8_HQBEB zn2EeR1(TrfVSC+a+@2AgWp&T^MRlUaJIgXkXygf5IX{kiXu!>o?*8XQ|Nr0r_x`tk z=Rf?P|AYS(|M|E7`?n+TZ~h4UcmMT&@?)ilYm3WhhND0Q;jz(anu=(Sr$&cyA__4r zjZ)!XL*3l{OjMzJD#ij$#atvs;+RkA!#}~J;8SC<8bvq0{WE?)IPd|IgLk#%ApXsJqFuvMHvUG%F^X(abomqD?W|u7IRp?e6EZ zd#J?vaM5=+_k1`WZfEzTKiBXz)8*sh_+S^8gnw;2HlZB3O%tY~#*z=gB)U#tW^Q?SltHc@){$Fp+ z$2ByNCO`SRBI^*`L4WPOi+7|#^IhwRNglK82kQN^1#+X!>&-)3qL0GorDhSm)9=6k z#?{_v!Ln-9=02bE@iRUMr`tPgTp0k2z5vq&I)(NAyEDtABi?J<>0la?8IQD$Mq)>jL@r&di8E_xD^t zECKPS_B0?8Nopgj>3D+P_+mzp__gbrPWn?HplxRhCwX9d9$y8)&*zi`3kl!Q8HdIY zaJX0$dlHMkH6`QAD1pw(_q!u6fe@xDZfDtjAMStib@Wk{32gzTjHv-vw#Em5*-G$A zmukZ5zqJH-=OI@L&z{3Gd1(Kx74e;`Unt;l1*05dz{EvtX_=y?w_UW^7X|FChKRfqVDUjV34;0qVSem zpS8c!TT(lH@Y2Toes2_+dgNE+?k{-mkxK0?UN-a{VYu zZt^!)W0oq>;m`_@YKS(^?`KA=3dvAtBshMY;BWst%bxIfPK7sE-=$N`8S$kj9(mW- zy`TK~xxIYzubs%*-N-nN7064IxL6}tWt-)lFaN{$_v&&+v^jRVC^^LD^HYPx+W{vx zOaj8M#fRvsoBOC23Z&<`?rxXe7nk>Iz3ot&ySa_m-0SSmT9}c#dC^7;O!CNlt&60$ zdJG8qsq<)iFjv3$fEn?&ELy`8#Jg=UKRsOa?RWk-K&IrYPNvA;32anr0gPA_d6$A!}#q^Yh#m2u@@D zBI1fB>Ailh%^tH2-U(-gkQEZzP9;>|w+=0|_srRBaNUs`} z?9t-SyaUo&^ogmpqZJaI&*H}ZMG*@1S5143NsS9gK4`aL$d*d_K6qY>=`S9`xlh;d zNHL>eL8DaueKzQX6TE#y%l1gdZ?rhb9{Df9+n5(76PaIcOH{W|JF7P!#qIx|(d&1u z?IA2z_xBvA5Tr1!(4vLF*6h^YvM&$BuLsxA$i^ISLJCV~omqTqFMo(!y0*NXk6&Z0 zavl_DfsP=xIX9jMumk+e<;Y+N)?3>3nhXuv@lVgZAR4q+pJI=1??5tE_lYTA>@%L8 znKCY!%+&eG|ar?!jr(|m>0nb0sDXP-}C>`k3V$8a6HXK2xP~w2|Nk$G zWH{2@N@Sf>^b>JDPB>6;4k5tW*`SCJeY7-CJEUc%@kuCU*J*W}KzYJc2U1Uq!_0hp zF2W=|6pg+^EoWwp2?u_>T;^ifnVA+ri_jWir<|m-3oiMS5<-;455X$y;8L876@{FOxbvESCWRLc(|KP`=IAmH`GE{5nhIV;w zI4<`5Vgx1swX;+^-|5DDTo;=Y@QGjEi{9M9ftrJdGQa||pv(r|iyw-^;FH1 zW)ERZ7M4W*=}K{;X|bnKK-a6F2WCbg+O0Nj-^~s2RK%H?6}IE^Be6q&PNNgWJm(tK z^%Dwu2B3R%aXO><@i_Cu&EdX6O!b03k2sY4v(_H%51(Biq|gan0NwaVl@`B<6)wnZM63wH|7d^T30|PIKA8OsIHm^fU_H z^9EFwH(spwNzX|Qk166LCr4V-dX^pbFSkO~Y(V=4V%hQ7E$wNQ_`${p4 zka>;*@X3p-YK+60iuBo?S#9q``$d0AIR!n{r6CIfnl63dUrY8?>k{7`p=3=j7Q8}m zU)BipchC&0IG(KAl+bD6#0`alY@GpDjyjvCoaVk0yw5R~cg#@2|*W*p@* zslhf^cEW&Sf>@a9m=gM!@b6{WPESKy5{eb-@ov+lS<0s@q*8&YuQv7HHGJS?tLs?* zW)C1f^+wkLPfxjW{N^DM(RS z8mjBe_{B8$((h;Zhiy>OGAitPCSNEayoqBK?QNl-V|X&FZ(~W^caW1p>|>)wjHZWC zo>t0uC*%nPza#W%R_0VVzhIW~g4&uW^`j9R9@a(*5d`@Pk9Xt}bK_Q@^5Cpiuo!uA z$rvUcknzrLK^M2n?&`aAD&U^Q6FQa9)o>5MZR#xK7q2oBb zQqH4HqZ&VHQJx*ylMkP9qwp4!%%VkO>E;AH{{8VI``7)D_vo_&RC z7j{)uphPm(p_;`K@{ax14xBON`LNOU*qrSN7PR3a?JV3K+}(l~OH?l7J-?<7W47`g z(WtC!ZgA8krPk&^m~@jnjLt2U7A|m73RZTQF!nnp4ypLQ+_!d z-9BAc9qsk}&UU;-`oSXU zKU6u40_41&Sh??H31p6$L-!ntWymp87D_r9=S7f@kxu7Fm1UvM8HaI;KE*C&nC&+0 zArs48vh@Pw;*%@#I%jDQG|uWaUCPY+MWCR3#m6Maf+8+*!YBg|>ppz) zM3TcOdk2S=zkoaWCm-(3g?c)tc?4`hjsE35_`xe<&7emOb?+H+;@?~ce(#8fN2_6@ z(4TtEV(P(2;6Zc(YsxB12ztHqF+9+ILNp9a(~skl01F@j@lK|$@`UUKWqG?|GrfP5 z*E;x@BN30dt=gnCe){~R(S+kTwY5c$UYr9IFyX}EJQx|kN=O~ITFt-e8su)$Fc$UG z9-$K${d%y#7l3GX?biMfAYBAj^{Xxe7&n=#ycb*WseW)3>)!V?{tAO;19}f%4@hbs zxLT1PBqkWo>PEZnM71V43;3-BA9aan+zDSVFWYP6$t_;;(SG#3$jd9RrUdTF&Ft_! z7Ag?^^5%V!;NE)}%jWo9m%#6NqDg33>|u7F{;4Cu$Q*a}qI=DFQcEG&hDnbm)|Zb$ z=EtY+S^&x;CGnWK)%}dw{;6rHN=mfZ{M-1(0#!tw84U5$na{ML~WD?*k-3!rXgmY@2RgdedD@uYb~-lkpt%%h1UAAjpcjfo!MPR>4c zI(R3MJT%qJF`3n`T8N{op!c_TCDwoiSUApscjY#=dHds)F(V}^ zrMchk@45@jZ>GqXHJjW)%#L|De>{C^V3P2PjU+jnckK-GLdN_)dDr3Ezy?l$;9|0c z3hWc~hKWb~YQIeW*5QsT0>j(zR|UB zust2ij|Y;AA=_wM)1SrhLStqJAxE9tsFwdX6rd(xU+ zaMjnkHh6%477N`YW#*T$zaGEWJ9_!3iJd$a2lSu%9>xXuCDglJmz%#mo5=cGaA1?r z@0xr%jOfLmnmpDrAa%QF3dG%S-BXc$@^eP&T<9=@M%gZ$p{RK7z!ncw!w@xxssyM!a&19Qm4^3at87(g%O z@IC*)u8>#~tWgOoVPwp;`8bMcOKTib-?LRg!DTf}IY^wMIO(+7mfv=f76kQ8t3!Q_ zT!6d0$i2A3nc^#R|5N{3a%NR&xg$C&?_PlW1#czD=^(9BNR4t~r>n>4PNgod8OIII zArhZSPspj^URv}!gwy)%?ALY6R#rrh3~E(Vm*>lbe3(WKg8kNv$h+;enKCM*S=%@w zLxEiy-xcya1k~rt+Gc@!dOhKC=;vlxG}Om-pH#lMzm1(Rj>VmaWjP`mNhWZjOt$Kw zSqIQSwL|_tvhEGVp2n>HD3fl)Os*e4qMNAjX9+OW$qGg@7hB?Iw4BZ%IK`j!(@3fJ z)rgF_d0FZBXV52Bw57xu9Xp(pS)t9s%xRY z7Ib0cLmRxfTcy@F%B`$`JzWp^=8aEITV}k**4`eMMDu7>3`V@()Ba%W3nn}*9OQPW zJ;Ojk3eUiCT_y^3J$O@SXG2>_U+^UDBnQ5Zd=^N36N}qhNy%dey(}jK2-d#?R%Qb> zhkN`^vkV$d4|Qw9&uDNj`@xY~sG#kJ!}V$$!&CIwi3(g0dKYJ3rQRz1Ire6r2t$mq z*bPO@aJ6w7u}hy`G8}^D?OWTsWbV}qVmSw+1@4p%f}(&%nC}i#D~c>jr>(?UKw}Ie z2hD5D`vw{#ySzHjMp*at-W%VF$zkhTfLL7lvWZ3&Xm~+nV=`0KNpd zeBW=@AX6fShck_XMyR(0zhSdg&)a>yya(68^`MD0vNvxZKHTSd8bLq_>q8IZHt-L8 zSyfeu(Q!|PakP&PMd}MUFIsZPL%x1Yu1&1*qf-=HAPRAQRgmg=Ehs&{?FJfw>MFnN zuvDCtTbB#Oy;mF37RGopL#-(^tu;M0ugPlQ&F{I?$Xt$W;GrkqbJ=ow!}O{tTnQ=Kfj7Y?iBZ1GZU@AV5jjVsSv<@t~(oEJd*`) zT$fv!j-OkoGR=mKBV!KM0?#yRW&=lmVn$^(;9gLByq2oJ)Kc8Tk@b0ph=82qK3oys zPo-Z5FmQR;4GcnFkDlJs0(JM{CiuqJ18Vquq{*WL_+U|P4)~jUus1P358>v5G)}aH z9yHC)dn`rUp0mf>-FzNzUJ%jy-nf*Dy>fyig}eeMn|R4I_Zip7s97u&dOu8t?3%-N zczFEmmH!cp;H zzV?EMr&_v)WOen<(-jl!&=^jl5S1o9Mo+YcipiWv$jsRhv+YraJUmg#+1|pMUqQkC z9(1m?M4Y}NckXhS222c#r*7BWZb1_U3?0W`bJ->h0J6AWah7#WV}am$urcA#E=@p{ zW&9u<_Pji~&a?nMZ3U=O+;xB<90T`cMFQ0YGq-XrD4QG**KUb#+a3Nr5b^C77r9&Q zqB$c2#&eik!y(?|3>~7A%=ns69P!PI898d<6M98m!j-FaKRmoB#eLX#BLRK~(0!~T zH@dAZQ0>c$yBbW+{0912E?Nn%z37{e2o(mw?)@sA#Jki|dHM-alLPX#_x(}=lAq*A zw<8^>X0s9bsZ(2*1%f@-*ZBH$9FD^}cwT+$)^3|>+@Wc1L)`}Pli_DRD<9!1dUQhI zKabTY;V563Bq-5H*Sh=(l9&2OCiAb0Hl& zD?U7*sFbn`%B>63yGd;zyNwU1;G7`r&@ApKi`sFKWb&q%*Q=1Z+E=66_hw?+JC!1O zfLSl?jx&WJ_YxC3W;K%?d7jgq{e%(Bxt?ikcYamO6zH0l!Yf1E>_b-(K6fNc(s zU_V8Uu~Uw)9T{S15;sUc_dM=kBdNK5b-Tq7VL8<*eVwyic{|Nr`EAw(u24$3UD* zE{HzGMZe}x)QalG5h=iVaphL6lTem!rp_b;AfUzXH00yY$f{rJ`M ztK5ZtdFT}y)>j7(&n-V|3E3=cMx$v3PPqOo{n{$Z*J`@DjBL-`iFJ8q7Gua*skix5 z+xUAQS_(~VJmvVdx{qe4e?V_4g=y=oIW&=LNINu+fDzGOH;;jKEnpZAd6S5iR%$E= z1U!8A1diS7dn1Q@#FO)#^kLG_XGT8@br~bwnz^7%ZU1Qa>qiL<)Pz;8cOJDnh<@T7 zZAQCYr?=yAVV5I=)o$W#H#&1KcZC@4kX)bln|5UndEz!bhuH8WmyhXU^TPg}m?Tbt zTcv4xikUlk@PtC};7sC{@sxxLN;g|2Dh*n^LA1UgnW(Rk1Lx&=4QC#q4W0o9hmoPK zgdi@=DarY`E%;!W+#H7~#ViA5x|r^VTC%qZ&a|tmh48k*G(mR_7BiAVRfDboTQeJ2 z3Fd+JN{u(hdUd5&+;(eh4>TPZ4UBY_ynk%zHb0~M4qjO!9Vg5aB14FudDdKQ!_b_0 zYwHg2sWn7C;j=pro`)`E?(n@Cy-GxE;k_EMJ4b}ufiOD7gv;}bgE_(!SB2W_RRjGd z6KsU`4^tIjq{hT>V>>>_6V#wmszpC)-@zq5!nSam@eGikll#z@=JB|-J>++eIZB`I zs2)KgqmFdvkOuza(Q}#Aj!*DGI-vYuKo$OarvkVKKOr4wAU>ptHc!4Mx)_X+IZvJB zaHJpEZxv@3g~B-X6^I)Ff|EIuk!Vt(uV9FRb|D!-*Pav)nZmoxxGnc^l7dF-{1o!_ZMzy9C^IPOlIXAZ z_tiMPNAUH*Tt8SLiVi!_N(LUXU;1>H=EX{5=i%jc^kydUe^yB!82LZlZ#~CGtO}O` z=4srY_ou>Hao1_KD8;YA4Bon+kt*1MBca^W-=}Xr&_p=1g@C%sPEsZu`oHR8{;K&V zlUWp5$r_nKo^shwq0t>y1;?Oca|m6G(b4u@5JETJpo9GD|HACTk+ZH_&_qo^0z&zCDs3tI1;)t+~f)fOuQz zq?e_wsy@z$;QkDq`(x@u-_Kj|h=^dHG__m~e~^V;whZZI>QqJ?v9+TMk5dw6TuI_7rOox58a2Hq;{+D1(S8n@dNef;0}Tqo1( z<4MdG4e-vb=Vl)~tUjj1Xf}2${xbI^4qj_>Pb#;)@}86J@yY{`d{opW(!`6^wqbJb z=Zi=@-A90lb>MrZAV^p&+BtV-8##^+orE-~-3hb~0n=L{e&*rUwucGx_IAiuv+?9w z$Q9$OH2@S-mJfsrNXdw>%KUyXoJ?oeSMRtq54VfAb5zu3PVIw2*Khnd3fB^LEp*;6 zPZ+)6o{RL<4{po-V%jYlqz z?6ZzSdmH)t3ObuG_Ze*^R>vS2k7YGu#=QQLm zX$57KecubxTYJC*EQf+l9k(3?v>|@cKE8=SX*xpl*^ARy4HYGXc zO9|W+tT1=4M-ZG5WmrkHfynyuiT1H(dn`@QND_qcw6bM8r)K$-*4}&9$Ty72*g|Z~ z?`_o1;Z*#0?)HlmIdGroYYr^UK+ZI6ac={pXdN5^dia8)9t~%>qNF48c}zH>TV{u| z<%)|ozoKi{e4gt&Qt=8k_w>@Zi+#RP`+IQ)SNx+{ zOEFEk+1c-WNbnbj@}MlaNdfP+NzD2q=h(FqC0*&yaeB1@Y(QN#XmEX5UMSkJ-lC{+iS#8Hq5od zh`_ndGZtkj>(RO!>jWO2N_cqvW%{JRe>G9Zc|e8s-dD#ZGoI{o_C6Gq_VoCF_B4JEGPQjm;@W_&OWe&U$$o7Fc`Ug4CPi7Yx;UV3r}o zN&GNRxw9o$aKXJpFv~b8sop%hJbz}nG~UgjQHR7yd@-0$|8lF<+2ScLNKSNIo92RU z@b~94bEZdwNVgt~YT|*);R7e_;lVYN4N`}4JbxZt;5#WESCAh=k<1^)KqHPWJy2Pid^+(|v_v7TX8#eBrvX5=0(5&WQlQA~7T zt9*WPvx-omZrAd4g|a95?nkr&fLZgPYt5IFllMdc_(j%$i+Y16jE($_)d17jtyY`? z?LNxF>I4e>G#Xu46DkT5tx$XPa8N^KU_J-^0Ytirec?B2qzDlF%Blb>A=yDTS-zdy zdaZ}5KT+BS&PC5|euCEmG{eS1wBels^0?xw3C`oPeyyQBx2+FHekSZ>SRavBOi$*8 z_*29!A08#>)5BEt=B-AS`fyVPr_#CfTX#wX_TsN7*LWJe~VPPO7sLOLA|`Q135PAE`7 zBaZVCH+3cp0L^BtL~3d+&rlIL^dWj5{>wrM_VTi+QnSM)4mhk+bo8PO;X3N~N8Xsr z`^}!;=m$qQE}XbP=Ky^K-!Cqpr%#>feVn}D+g73S7D^tHokd);&`{g=sJwwuPzQv@rwI_H4RMg3w+%YGjjP(yJppq2HQt?P$ z-89RkIH28SI+}a(qQgB~nnd4G0}j?)2TKOW0xx78iThVa>|dA@2T8wD56X$?FFd9R z#F_>fm-LERLpQtaA~3#GxKO)xH#xi_1I@mqp6#EzT^f?}rW=pgnDmCHb`u*BhvGD( z76VCN7j*&_c1>_KzQqpN=#Xz;kI8)YYL++N@fy*FZAHF&b>(Y-p~6`QE&$fbSi;i` z*puWsO-Ihla0DEv=Qa+F(B8h(dOP)+2z+TT-@LI3XP2n=2IHn4hb*5`J&Lj;&>`$;`z`i)H~u=U8(NIo&kHT1wPFFq5{+uO)hO>$aEEV=I4D#i>K zDA1|=@lsujdJz~!FEGh82J&Qf2cQx$D_jX~nOZ84eAYBIo8Fv0K^=I8WB5_lQh>9( z&)`P0e)lV0(%GrKwIiEPLS00!b;H0#RKeEO!V|A$Y_FDDS9o6xJ z?W&q~FAuY1^x8JZB=XW5q{T@ux$^dDz0v2RW4*iu18Yui*=~6;1fW4jg-3^T*L=aQ zP7AzqX5L zAkTDhcz1i=1%>@HzaH=HU*y`ZTnn8DMkonJy`45+J0jKA5t(3hak?gh%uF zERcASDH*1D6==U^6tdko&DNLg@!4NSi%2V%la?Afl#iU@EA=WUFbutBjR|9 z2Da^;reoRAu3(dv)@p=i5Yb(&?~e3{w3c18T4heV+im{F7Rf!)zsc6(aV;(*^=XSG zBb^S(eJ$&eTEk2De&`-gX3)cO{o3;{7Wx0bGja16`zL12m(1)P-5L$9HD}VGx9f3v zEk@e=ocD!`q_)6u6Hd$&|6gcRq#Q?ROK?y9ZZz;~x0KOtw1@AGF-$k^a1#QD>Ss`d z*|Ztf%xw+vD|@+jdMAcQSZ&RNzoCt{N+Y)9gj2PK)IHIb{?>$EgWuF&1h5oj5t&9D8+vYcTe zyaHqAR_QXXjtfe;a-4C=G`&s9{iZoy7!OIne6UQhm#CXBLA+=j#AW?{pPI& z8V``)m3BENZ#FOwW6-^#Lc4;J)1iBudt_U3g|aQUeQy}L%Rb)j*O zr*5K($5tc0xcYiJi|Guw1RHg7+-av~_JX$>?(V(iJJEcHnKyU9ANoZgqb7~mX?m!A za|gXzf}J@$?6q&eJ$Mu$-(HP#XMs|pWwc67HzQ3#?8`o=>wUT}+yS-<2)1!5!-H=VG;~<^k+C$oVwwpWepZDxRM8TS-7H2IF@zUu;(GI-F3u#|{9jis0yKbRpII z2DZ>JwD3;TcfDHX_SYAuD!bQ-Q(xQUtrh2wos5Udu~RgT%k_t4!V;fet?)k&@ z@b`u}hu`z`fvTPFoS{HMuoF}Cr)QhA*idMR5r1vqb1ElFn^kONmZwm-e!vxpEE_!L z0zN@6juJ)5C~V*^(O=?yD9&H6lVZi_k_T+P*kuYh0MTo zATg?PHk8+sL2uAl1!r^f=4@UF{wg>Khpm8BW}78n-$_ow^iY=s{TMdPZ;c_6f57b< zFT{o+G;LP3v%IgTH^Nmga{rj5Y$G0d=sq3K=^*6jvksC-ORN2ao5e11oYeq@QRI3z z;hJ>++=sL0x)nTSG6Sl5LGDM0=a|>=Q?8bXF%=s$Cc~wt0(xeMxsW?PyOTNTrtKyG znrd>-4RWVLc>s3e1$qVib9cTwm&0^BOo(49a<8Sj+H(61#g}o9a_Qt1-wrZAiQzD- za=?qM-AZD_EnF$!U%hxP+@hO~PxfhQxmz6L;9TN8W^-|Lyd#dsnX-ItiFNG_PMUyY zA>S5;1w%7fH5cs`&q-DD^QZ%jBJt0iLxWLbqrlWe*|KDW=WDy$ zzLec)BBBBmYg_r46e7=sMNIFvZY59)f>pxn+ecrF?nbVh!wp3@Vn=&(Savq*0p!@_8^pj1NAxpySzCnX2z<^(X&4H z?gg~Ax}P|E2l{Y}joz-jhk)K!e7mp<$It?_w}0xT+R(APiQKFvTxsvGj@eF};WRyF z$mxZu8IH@g88NGw(o?tlf*ze>uG?*|&axHVyUvU^{`CPY=Cr{5ti-!!{RDgyqHX{1 z@58_U-l#y20fsjBP>VxlKg~ZJae}%0`0k9`aK|L2^@GdR2v$aoo%AEx4xD%dC&MMJ zR&TEuN!mGJ%VWLZLzD&S<=jeYBj5jWU_s%<&oAAMU4MA+!o-&?4T~A{rmOyk;RV}|kqKJS!ZzJN@f(9m1X8F92h-cubTf>tY zkMs`A0OEWz5x(iuOkN!5eUZGNqJ>ER89yc8k$8ywa|XhJrSF)bf1<1}B|@!#+Ctt%F7zBNn%ZiDaovxnCrWb!UQxL{yp371?eqmc}p zBId8#gD-*S-!0(TG`(mSumFGFT`%k_fW4kKW&ipBz&DHZlDTw8Jg*g*wsjpi=pT)U z^7Y9r@cs~!z~@%8EWKapG1bP~P9#u(rl2Q>-nR2omq8&8d$6uD_D(qcc_2 z>p#2~XrREa`v)KM9_||2sv&v;B&T!*lO~+ZuSKN*!%yzo5V33fcaMS*gK^E%B|yX< z95##>;n3l{@!3h{PQ1_00bKi|_3;l_efYwF<0y1je*H6kTCu*api#IQ%}VB`fA4EN z(uzEHfl_{sp#DcgVKJYOpL6XV;sifqXkSE?rtSNIW*>ia_lXt;ct5~CZWl550l(b) z>vTuX2V@o~p1#jGtWQKD#ImJEX_x!6*0AM?m&yF-fn4=otMT+b4vPtJ2+%VqHtY|d zAFF&I9GZ0;IVVQ_)>!rXv^MzI)ocHNkv*dzEl?X**|&!j0iBH(U0JN zLF>a-C}3{L-q@2hSFTKRGx|Q;!0SNml@pJL6~`t(*8f=-|1jpi>r2Z~uMRcvA;OTF z9wq86^{<@C9Ret~)%rH2M%@Y1UOF+)E z=lN^`!v-&`hz`YG;^%iC5uLXG#$jW(Aa=k zeBEc05;cf}B2Map4Ik-=rB@((SM3PYSZaRZ{Km3OI$@vSG0jwgc=n)Zs1v?wF;CmB zLqUTctxK1otLPC3H8}5&xYL|a0Jr{er#pzG9?!(@YQ$d0kn^SGcGemGqZ!QVE?lCX z%9j>YG#-S*@6&9!fIZ}5sy4PkBlEkxip~1Ec`0I`@Kim1rN@hR@LB-SPUou`RRijm zs3R1fxy8OY=MT}^4%wp?AATX-#;kCY(z!pd5U2#}kMMw2M7MQ5To)&J2%%y)6yx!A zgaSXDZ%-L;y^02OgcW+@dChZ2=)6`0XC{Pp;vmD$K@pvynq0*(YC-I7UO+470=?B-zhvk`_we$+mlSQSm4~cNmfp4IRmaDm^ z>}&_}Tb1`Y=m#7~EzW@-2Tf|=9(K3q$%~vYEyQ1h4LXL>9I zn}Z)K;rOq_$+$W83ccyQ))It6&xL|Qcx6SL2(15lPDb-%1Vk?C#hK3`p+}!-7C8;g zNy~M*08^OL1IK(mIfB0l^2?qjSUIy=z$sqYLw1{C1nH2Tn{fgvx(>vcF&bG@p+Vk7 ze05L4wm8BvSgN2Sis=rt>JL}8i%nSN!sPw%ya$QABKP;Rr1Sm+ zyrtG}D50xa#eKZ^p6gj(v!RP&jseDdYvKe7ifV>;S}Vpjw%5S8Nl)rNXdCJ#pQx}q z+hJ_c^e~+2lY1!$R|qkaS!ovw4O=~u<)3hJaB7XVr@Q0*9X2Icv3_Qk^%>X(R;1s*T zKE3vnmBnh%tATKyKP%|h3;^jVh(pV=>EU_I-F0>9pPiMWY#sFtxaa*drc7smx3I|U zvI%$Dad|0fsK>?xlRP6H<*~WG%{Wx2B}k8~XT$s%LNibwSL^AC-bo>cl8PisFAGKQ z(P(YDEW8h)K`kz0%Nhz%Jc!gP8wQr;OKR1h;Eo$Z37FN?#6s7$dmd=wPx#@l%s`Qx zsPLY4nHQ9Yln3-`3rK@Rug=fFhS_j|pN<6)zChRK!i#+?(Z_rF|7?9&ZmFiVaWBXGE%^7pgA69ch%7m2Dg zp+4^j``8bCY!Ra4917RiB=gdEPzZ_M2F;|&BL##y|2k<<} zJATE)V7EY%Y(I+h(H5L(tVfRIqBg;N4yxY~?X&l|;w<72fAP&;N%`;b#Ej3>mfWeX zqzELML_H$whx7R3hal(8UK`*=1x;kE|ENUeyBJ;?M8r(ql9zlKl){#dZf*#%!gY~>H~;1$Q(MJ^DlD7=_sdBgz^X;`91GHni%_E zeKr-e4HbU${2lf!cgQ4?fx_A*d@jrtb3By92Lo3{{nmf`jz%C7@BU*-$?PpAN zxga_J)tiD-igj_>E%fCAbs~=Nd*MAwzcYpR=uHPk5UgZ7c^fAuVNqF1+l%yo{^ zFU||V0sM?VzOW&48$9&WyH12Ln&3=muQ%drVa#jlPB=-Q_3xtm0u=dpecd@nOyjpV z;f-kBm@CL$|7x?LF`Gl5e>&_B^ZW3tS7%Q+gg5J|d%*7%EQ$KVN7o5;QLXpz;lDAxg&D=r5cMPi^SakeXUTDcte9jEA2tNdCQeu}7M|y}#>g zUFIt3ZFBYWz~kV==bV7kB;I%j;`Lm1OXe1T&Qn5eF3B0mt1p$w()w#bk@u`&O|yK= zRlmexP2TgkgHNI=pUFPGO;2Zc^I61X9|$Bqq{{S~)43u*BS$+`3;Pde{cFDfkBPr? z{Y&$s*|-3Gdn$dn;wVG?)U4E;;Eii8C%|j@0ru19`=IBDpG!kr2u6o?}=-%OF~MpwKgCz-&Gr zg8KwKB=l@J;Hki?SAWloHPP=^I0iMp&*R}gD?p`-QsZ;OWw@_7c+b5~v@X!IHz(H< z8RILM{a<>gQ!*}a+&7%6xV&gaJTO<#Lp-A|Bh+8PV?;@!{Ph_=mWe0Er1~{ZU5?OUder8 z%xYAw&OiGD?{sx=4;nKLX5^nbVTWZx;$E!RoP#m)pEDcWYxIn#+Zkqb8mS-sM)Zk* z&udPu#s1VYmWG-XRYUYlg3g8u(eJu!h;9Pi=morv{>;O|QawC35B2-*J=X7-L5FRk z(`+PdB~a4nXFezDK+e`$u-qA*@8=$RYxo-F>dG?<==Fa;`x>=Dv?Ik@Z{D7--|P*}VOGSR{mC@IdUFOK8Pr$LS-x|K} zAEGXGHTVIN#X4tMBaD! z^j&9Ml&3kFC`5!ZO7r;VpFP?(zyL_YL3ZW0nsC}TJ`t`s#R4k%f8x0F- zPi(p-+d{En_JFV*wbT>6_Tw*)xcA)Hgd?z5c{4x##-2nU2Iq*m7p>?^1J#~fm4Kw^ z(<%6j{ep-7!T0y!A>X<-YcP-gAr79C__$!!?A?4nGaf;%uH~8VRwpm8yZ&ehO-L^| znD$gIt6reT>F~*xavwT^?Pr7a0Lz(c$kJK=GS=_AAc+ zc%4~qE!J^qtp0e&8B22R@oRg%1Pk1)<*yi2FAQ?=9-uO{{Mm=c-J(+JIq0qRZqs6h ze)h$Y-1ReS2U!Mk@z(jA@SCBXOPW)&)82!Q#&^7MQ?}QIcPyp3?ETykh-d6~BB$HU z@vSEw%BSnwCu&VNFZ|1Cai{%!C!|7f&N{uf>>BQOZ;h7FT{f%eX}Mp1$mh9CIDaz9 zhx*xT@#izX*M=1Z6}d0JKl|;kZeRA%_cP;6zb{-FXewysoSj|q)4M@0VL@u!+kSf< z|BM}3!w?X^E-yL*JjK_d(STQ)Stjv4*7lNLkACAmYeDXLe!QetIF#k}TmPE$K=2vU zYFa9r<@eZKkSf%7(ko+5f%g2(sSvi3`=MF^YKr^&=RBQg?|YpZEN}61uWLEbrEXQk zBbS-czdb6Dd4TsZ$$SG8A%9|#y$;T@Q94ilZ~shx%J)(W%2)Cmd%pK9@!ayvllIp4 z0jx?Pd{5wp-+d^{t;fH68GR_!mKI{rkzDtCZ}rHo(8POgTJGyC1?|$s9c}A`Wp^lY zfCqopjjk}{K9}-pMwjAOTtPl)rhwoug&nm9j5vOP_+e!mEmRO-ai#^_#i5C>?dNmI z#=spaFSgg;*b@%~tRRVZ&v29Y#JfZiXX)eLp$62ei|DV<+;R^r?$(bZ+sNIo7>ukb z+jwhg4_9fo|9(Gn2nCaj9NPFuCQJcfmz?%FUPe+7nV5GP7C+5N$(It5m z?64t`dLRFu3&gveVfgzw!kPJ#pTRQ`--!UgqksEqctmB55@@8Qo1Z>38AE6_Bjmco zo<@fBj&l&6_jo08HpuniDct|u(Ezb1unu~b=i>US52e^x54mR+SPxjEKBdtsDg}0u zf=J)kg4!`P_erp>Ks#qy+M>0C6BeqGTS_wgPCL0N%U0rjTbtB!g>lzS(yKA-=T`gV zH)L)x5))uL=YYn%*Ab~*NO)GCoJ+dMef?WJI(defknM?0K z#OE$;r$!ABwc_a@?>5M^@B#082=xG>;V)BBx_}_-Z)}Wy3UV2LmAyT<-hU5o^xPSp zFQ})idPz>>UyW@@k74OW^TUf#0ZQ^nEK1_FQP@_vy92F}^LZvZ&L(f2-z;jRJ4H@H!2g1z)t_CaUEOUJ6 z;jnz`u&hCTJ!2U>T$cWZOXzI@zo&v~pEg8zR zlrMJT`rv0=x?N7Fvz2TSgo2t%%_!{#@8-3=dl#0Dx5I>(@I)P9Wl?NDi@+)MH z4l>auTr~_77_049uBsFLc;)ceqK$&QnDY$c;UN-c=)y_yz8}?`x$i~H($B_ig1#T>G*bnuG!l@R7i{a zhVbq8k-4KkxBz&dk_7V0d$Lt?947BMEx!JM#F}ULyO40;%6jhVY&N^!%1#;5;yT=m zKJuKPi@x-BLo3+g`2E_~iZQ(Hb$&-;B~T7-rx|%aP4a$P!wiJz z*U-Mk-pIjr^>x~6*pE2>_4Vbec8%vayz2R@e(sTdrk}3KoIXLau<2!Gcbo zWg5@zJ1(`5X8rOCiZZCk2#s#HZwZVL5o$v4 z0X|#^JlWIU#`Q`LL$zNGFUi;Wjj@BKEjmE*w77l7yGV3ZBoD|Jpdt)QkI!rTq(1k3 z-}eX(#kBVlZS?Q&2yicdoHp)ae+Ccl{-(P|1_jc*WS=NF(}C6R*S)Mr?hGN9g+(-I zKGrSD)YmJh_|`I;KR=%3Rd*q^=97K_8I=5VD*FJ{u(xeVf7{jq>V`P)eZEF=fO?S- zw(&RogZvKaIM?9?8zvdMK*JXX#_nriYZKSA<`QK>8P zyi0NB-9Vi|p`?@d4``o_IQqd@G<|x-F&yzYi44^QzD?@3vjhD75DwgCxnB3u>| zk{UelXs}5@aAjF&@jkcu-BhOu`cJnHXsB-a$1+8`$$X(8HaU6m$iElIcyyT_6pbA; zgpXq(rex>w33@N+jUPjs>#`K8c%Muj`#c3UDHAOq!~&ZFv4E7Q2Z#rb8Z+yL_Pkz-*5%@_(^ft;-*J}eykT%H? z>huPR925O`9Ic0_PeMYg^~aU>h@d`7w3dMsLDLPo$a>OV&Gy2W%01e$9r}1EX7(IP z3dwoV=CxkHzL4ep>;SA_EGOZ!Q*-WCmS|p&8Sdr5bE?T6bK#E27t!*#TPMEzkaERnP@5WE+?v^%=xEu-HhA9%H zEghlb%wdOEs^ zTM`ev&S3R1M?N`~hy7&aQfEWCjAWL1JZW!yK9(Wmf0hMw>i7s+p zNH3i&BVgx*16M(IxEGGBjuw0V*=+|zDh;wV==o3-Wi_ z7&%?H%E%cj63weFtM||5X!dBS;kNzM8a^_g-rVo4TB9T$l7hWb!c+m*4d&DQ)T4;j zs@bDPueBaYTijzcj+#+fjxg98Qg6aB7x#yfoEy;P?xVGIy=x&fw3BOtvAL4sqk1=n zwY-(W&Hi$Qe*Z%iZ??W^p%}KHM%UY=j&GaUD|a5wG9fyL_|);-dO&g3=2N=UWXO+Z(wFDe?YUc#{AGnBc@%)>-)^ED z=091I7e2vEYt&qLYy!vgHaH@ey&*vyr@{OfsbwKl+_u(c{1`o)3kvxfusOmHzpS(y zes_h#P-E_($wXbQjrsOiuc4A^9uA)Q*ajWs^hnG&AvI%Z%})@Mp@!b7y_T_ls}#|N zZ`qUByPJFJ8ff_h^kUAZ4`7PCc}AAKl(xx^O%y|1-@2sbAJ97LD%pS``mx+~`V<)I zcYHd*{?I4VFjaCzR=W-Do>)}4`XTmYVM@)k{mKmW5ecqR62Gj5o0^Aoq6e`Iv{~eq zp>`{FCQ!5Rc^Z#z40jz$XtUde#NmjIYA!GQIk!L@Q0jN=Mek0 zv>IE|bF-HZ{z*nS6wIx4)F}|Jc50SpJhPrgT;B=uam#e_3|wFhfE|w1W{KSb1w-dN zR(n>ST(vX5P7^VjGLh_tZPk|WGf*WHoZ+hqFOb!JI%M!tzXgj3)X917`y$6S&&zv0 zK>~wmPvQ*-uD$cyS2z~BL$)KB+a$}_$(Mf|Vy%e8TJd$gguu{eofTq6#7iq3Ie|d- z27&X*l&>;+B-i8!^sLBg7>P6I$aNtSkq@@;E*o0Gr z{D3wzc%)2mV+=Umx*6SzLyoNq%8Q%FFL=I31pt zkD5yYZ8Z0GCv~2H9VIC9ye>k{;g*b%R!6P(ZTyj2z3KJK4g1A?v6kxjEKaY}C)(DF z53fqx=em6172TCq84UYl{8l3c_XVJqHMW{hFHGc6ey?4ye{{?4+n5pq@R#PYHz1za zl8!JCg$RtvTW{^|zWC%I;B}Idogf#vZC&GU&oX^+BhPu1g#@EOFMB@2T7%ac=Ea8t z-1K8S5VP|njx`P8UZ7&Kanc|Ahaq*o6OYv)#}0|8?SP@KsA{2qvi= zguU~v<^c^GTgm~9)UZ+^XXtC=8gmn1F0p=qw)orlLG#i-lQoZ85!SrSm9y{jz`ry^ zSNegCzV<^93kZLOi8tV(Mwl@0=z1q0`e`4$`0u?RI4TJ@iJc;l`rOON9f3|sIKoRQ zH9u+yRI=GwC?k_`DQD=J`@DB}Ltu`X0CqK-`ByC!NhF|IXpNPX^)dIa+DiBG;9(#R zZhh;i*${2oD*)Q3`o(3!{qyAOt)p+$kGYq|!?jkjckCNxaB$V>>p5Qo`O`D&tIq%K zmpc`(KfHdBtYr-6VC9>wn2?{o(g?G!h1*-~UJa zzxL_x3i*>E3`}^64rq_!d`^HoHA7Q_kcWGnNJq4fBC}fuXB1i@x3A7kRJEv@0gb88 zc}9J<0WlHvOZL0B+5hc7{2S@-`hRov{Vno${U!7Kf3j{Mdo2F`fBoZs^&js3$v>hG z|KOkgPyfy@IWYd}7moKY{plZAIOptk<JT8t*swnYTZGbG9X8(+`%@ga8X;eY-nB z(hUDqkiVm8a!iN?ayZTDSJs4{K+YFguA= z$U{}5jRIIWJ_W9b+ce%^MUis3P}7nlWY0LoN%WumxgCmAD;ZMjx7y|ee)ba*M-B-G zt7TU^$g_XMP)N{Jcu;to!?pa12T_AoN8^EhzliXLByp7{pOPif+A<()u_%U$`NnT~ z%h{y^(MfhD`2f0xZ}InA%}XaWp$jxLj2GWQ?k{sGL?(0~Iswm1G$1^;*9Qm&m`~xl5#Gh6Z0~qRf=trj$N&3VdBAUr#`hCH0F6L&icK%lym(Cnp^aDoJaXnf}eI4^nu9tDN%A z;l<%8Px^XAJ{L4vTst>VZF$|r3lD_+C+4hWH|K0<7%xoV^`NMaDO)0$Odb#vJylmB z%}r`UPs40coqnH4X)Kc3X}7vuQg;1S%S3DKiwh^jH1Im|!}B@lPyGpma1co@3A}+n z`2?y*_@vVo-1*`sJku5FFF$4X*$%A$Gu)aCs2t9PM*G0olYjr|XNi`e}~` zO>o0z#~bYXeE>H##{1A9`R{@OXXq|Cihc0PUVgtt z1YR1{+J~o4od9JGx@N+_P^5v!!`C{1e)P-Vrb?ln^FDT%Z*(A)y|3>!djPUuxn-_G zXUjJi^}bw^=ic`_H1y%;y%$$<>*v8YP9D)!+?wgo$-c0IxrziCwd;gAziP?jc8l znj7g?!W)El0~&{vbAvYj1Omn|9C_PV$e0qJBRX0LqwXg-!;x_Hj`OAVZS2&1x74mF z#`=vo_x^qYhrJWM6ET)|7HmX6Ia3QsCOz+Y)UV!N4crT0lW}P%$2?&6-`~SUf8(%gezd_%o?Fvj5WKQhz=14sDo!vR^a9?W~#R>R+tHM>z4J$q#LO7L6 z8n|Y<(jl4(<=q*Wzp6cn7r?TqhMQ_IxrB^*8 z>81i*0v zA>4{JwO^EZjMAb8vtZ6ciTeH&_W325ca@ks38d=uRXf%fl z!%zt7`-brE-aP1|8O*=>x#5+h1vVwUm-oR391^!btZi=+KtB8x%N#Q)`A`EUNKp92Yg$?yLQfdp@8 zLQV1qn*6IdH#edMvTYu>^D_#6Xr7-}UXxdkACsF`Uw_PlJi|wYQ5{t0qCrB8AGc1? z56BfH(T{gck@|=CqdtQu7yb4})8}wbOQVcr&))6F8CUp`$3ML6hgv}+K8+qx^&=)% z|Lu2a__sEqUO(Y`0rVzv zw1@r44{}4VEB=ThuW74@+)(CKRo?&hM}TJo8Q>h?X0j-_{%B5K^P`7sT~_0Bn;buj zdwhN0&%?)W@xA7RFXD>$z`SYl^z{)HZU_I*a`Ic`dJP63YP|EU{w=xd5Jx(m8Gp$u za>XXfni@X=(YOYWNUn;tg2MZ<)>g`OPHVc2$571n0=Ky0= z;DKb(?R5bOU{O0$+|Lt$!Ux}${+_wdTDgO<==vBD97c{VVzrB)Be65Pg z7J?~J=z48)a&Z;>3Rz%3`CgOfx3}+A>Dw5QpTLitLtOipyn8>Ny3@>`Fzi4WalikM zfBSE|zsvub2SMT3k3yajqnM^RkB5B00H`z{)4U(^(TMkdIpFt8-o+Q>bNY*a{|{vD zO>}SYn1BAe-@K!FS)2M%^*cz+{PuTm?;!sBcmEe};qQKfAO7|pzJBG`H}U_&Z{qKM z^ZVcY{y)GwmcKUXG{<{K-ota&<=A|%)wr+sC!&7IBK;RSF#eDGz@Ptg36mB4>ml;% zA@cKw$Y0la@k{pipFb}kO-S2 zEtZM3%rhdB8* zBD|n|RYKnW4tJ4L9=?C`J)T5B@EIPyzJpEbuWRyu$!y`af4+_@F!Vs+Q6Ku(KkGwu z5Qaj)4X7ba$ojnCAy^0pRLH^#o*vQyQpvyi+4uhWzxM}%g}BXLQvp4=x?J~bMdPn1)_XnNyC;b>1_>*k7W zzJ?!a98FhT=d*&4HVSKKR1w5lP(2R&(fthJ?B@j*4Ak&4ISe`nF0i`H1;BFFPCtUq z*`1np?r<8CuTjrpzUA`c%y;%BmXivFQ>&@Amj zgiA?N2E_lRrrhouj%Wv-pwQwP){?WG{mwU4vndzI};c!fW3{vkNqud`^cxU^~24 z;o5a(bQQyBY^G3MuTpV5^*Oo=qA3k6#CR`mymE#5$zz;`Qvj0Y!8~ulwF}`ZaJo)0 zAcHtsG_F2CF&H9Wsn{vuiFb3q;b5+-j6XHu*XYwjyQw{L0oduznmIay5iiuuULU#J zPU{)dHP#Lt?i->t+njdj8IEZk8tFn}o$0$bf*zqpzR#IE_&+`^ryrW=AbGe~bSnYQ z-RBb_VLX~2!#4tbjl^#=dpsZsxwQQ=+pq7U!4y>xjiE$8okMb~(U_rLpM2Pr zG#7h%NCk%0)23<8nr*AV?+tu^hiG=mE*NnT8B8|dC-2R*+rwey$`UUn&^s;5b(!QE zK>7Do4}eDQtex`rv6IiZaChWOT0cS}Hg;xJR6V;TEy={H=+n;uHLWcwhJnJ~uEI5D z_U+Q4_E9H#7r_T%wOews`0L)Oz_m>w@sBhj2$cDnofSun$V%Q?~3uKY>) zxE798t|U!!nfu_F9_dpqYeToDh~^>#Nd|a~K!X?_BiJh!+E@_W;i5k}dCETO<%sXj z7HmQ0bDs1goA7@>@6frI1%Yb7lYMLLQHg^aSiHN0^I(kv8R|!;XbiRXW~_&S=IWWQ z1L7>$8qGjc_^mRL#x^;tG9MZvO!|Bf{GMgIW#q0$pp=gJ#BRDMj`)bZYX{iXWSjc? z8uqxc*>$W_tRZXO_gV)}3;frNA)5LR!v9Lwf^lEW7nRf-P8_q>AGn<(Zt}lq^Jk}2J|BKel%m)r?$WZO$M{u>i+)M{A zO)1zN>vQOpq})SlDq1Ko!w1up@ZOu^7u#b>j}K=EFOF}JNG-&nZ2OGR&oDf(*|)(+ zJaqP50cO93pG~@3Y3XGpq3)Q32NfG5<*xLJaDBwa@F7y6IO-v0>UxG2h0q4bQR7A5 z&`c}p3+YMATy}8h!lBuvn{*c!$1Z3WT@E+VNWe2?(y%;~gDb(A;c*S_T^gE1PZhd? z)Jrolv}SElJ|7Xcr*thF-f3|>J+l`Fbw&*aiEw4_v_r~*n|FoJbif1CHYKxj(E_RO z3XfqVX2e5(Q109=%T9w4HCzhxiCu^&J-oPwQzpH7&_2b>*K0Lk{-lyP3gh4cRnKJI5;1Y@vA%Pt;~72Py;~`om&XJo zC%0yu?qUU@=!QKC3viPSVH)2Zaus~}`-w8;aCX0(i3TGzbcLg+XC}qY7U!ZZM)So) zGC-)j%%5wzUMJw!4lndA3(V1o9*$heK~quIv#v<@RM0J1p_c;JU?DAlSTHiX9L0z3 zblRg1Fbe9g-vQ z8wY`ON_~31yw$G=7a(|42hy)hnQ8h&;qJY@c2G%=y{?Gcn@{6RczgKq+JL4#fE|1_hdk;QAVN zymnt>1U>s4diLZX!MRsyi{|{TmdTSkuxYa1w48kBBTpop+4Jr(<@;AnkUFU#!$8jw zXM!6$!Dal_zmWFeqZD;NWwvEvet0CvQbhRaPBAQ4INy?c)?_*{RnotQo^kl^9Km?_ zs23WfuY2~~%P@>RCh)dh=rn~3+l9$fIr^9vG8g9_b=;iz?Y%y0ud>pW3;|7aI&~O+`foMcx7v8V6$p2t zS?dL?20pGmCAD!09^d6_tP?qzOw=Yn+ z^4=kwk}0(CcP`O^!|#kGs07wSypHM^e0IWfPqwdKkCr(y!xdl6BXU+Y@qC3`cUFNuCs`p^#Owfoq&^mRx2 zk60L!|HP+Y3eOVsM%XqtBU%@)bv@_odP2XnpQ7i0o)g{~9))m9u$J-IJ0IPcNtr9? zYkT{;L%z<8IvXwguWO8n*pU)>L~meUbFm64(+8JB1GxoLb6Z*$GG=xFdna-kD3rhU zjH#}lKlwZ3-rCE22TmEk?ZfY!9FAz6&92j)C!7n2dVP42Xr$LohEM&P^aKvHnF253 zfHsxJB0XJeS&(p8Jty3zM8Dg?YLzX&?R@2UtP7=fVH1*i-0ea7mm$o!cBGjDU&1wf z6c(JGWlCa+)@l!}RUM`=;(UgFG%Y=B^_Nc2L77T}(`ec@5S2!Ee-o4vxgVl6<&2fh z9PhZHa*2Ie#j*da&+Q@19Pv;LEf=8AZjWU-Al?!BZMk6LRWIQ1oA%ib#qN<=HWYgq zvha=#y8%4KXA$A-v4tq{*HJR()D=u=Z|f01rQwHOdj${2s)1A=GU%0(Yp#~~we?hh zCFqFLI`(-Drzd6VhIgSzC6mhU+yL*^q9R-`kIID+^zSy;yiu1bjQH3RJvy~ko6GX% z=*p&Pmt%CxLwk8<#W4&$Ygk*~X#LJUN3?InnH)sIP#>VtVLj;&o*FF_Nr9iIy2jb4 zjCU*=zV~Qs-X1SYSY`-QB#z@?J%d7p3Jr|=6n$^6zQf%PTKN!~gZ#n;&WnqchR#-y zJ%!WQ#Z%s>sb4&WRPSE;0nl8UKB|m4V#Bk?x5j~1#C1DdF87uebBvuk?u;)uTV z^7z(^cEp3v)e)?v(LS%)!DbX5JhA1aYeLoq%tRZ#CR80 z=ta`n4zSIhrND+-_Mk{+tL#XXcECR8L>FK=rpf0w2f$~c{d z5$Y!J)q&|5(Zb1BX}X=lDs6Y~`u$-U#EqcB`;@xFq0kux%f(VXsvmhE9EQtJg`@Zb+Jyt{G@ZDh4%@)h02P3tZbDSW>56_IhOanZ^Oh_cknyg zuAUmLIg)%qjq^R)0^wmt_)r&m`grM1!MC^CA5&N<&fww;jgcZPMR?4YMpMjbC7&VA zgyQ+EBTGy@67TXA6RwKj+^UEE*@gSKJdP&Q6tWqg`stH_I)>jGeL-Kp@7fo~G~6=6 zJNn|PGM6?7XK*1Y%O*~DOOL@j`y5%`&4#{B)gb;u$Ry=B8;z4*)$3HMh=1^dD>At* zC_6Kc>?QY-4dKNNqLvvNL@MFDkP2Ano}OA@9BAjM9ZrmUnOn&1plecu5HGocXm(R2 zD);u2seQ41VL9iqhpx$nzeGN(-XtB1d%qfm)oysStymoJPB{wGwfwFp#WH4(S75sy zZrP`OJ3OsXYkT(Y>E&Rr!m+#BiBkPIyz?WA3_p%{GYN%ffU(#;VTZ-l+GW5l9D2cU z2%5JZ!E#cj%pTEt<7rStmFVN~bUIaS9#4|L5b?6w$N!}?er$L-Pa_%zG16r*Fq@cg_! zTVS!Ezx1;YwHo5Q=J5WUtG1hb9J6>Jp4>~Jm{F8N+_Ur(~(}vil*6FkEOU?&)9QO>i2W8 zKl=2c*KXfkn zD+}6!wz=()d}EJ%W13*ZZ03*q@wvH!PgKx)g}D?E7m@c;gFqbCXywNn zB9Or-P21qi^QV(Sqn}&p0VCc=rfclX93(dy7(+&U8|r89NT3an+FrQI_t(jafttr! z4Sg3#(=u?@fZ-cuhAlIlu>%HrP(#VP1IpPJZq2WfkSULyZ7vX}uT-45i|6FX1ab(e zqXv#xjeBJ1Ab6Y0Hf$EJ^A$Ns*EFWO1O*!tzJn*pP%atg=spkpSk0%(5jn2}Ml8-c zn4O-F@PhRPsyj~Y%r=+Z$wOSbC0Zz@bG?8Y-p_C2Zng7g%$P@m)y#Z)!2x^d)4z-v zM-fio=+5Wxq*$bhyn}br(jI3<|E%_Yg!8c34+OUyPHQjoZNFIEu9IbQD&?bk=c99H2HyP+q?Dagc6|cgO|XHu z7<%YXxtz3lGcN&)u7gt;k2j}Ty>cN(k!#tZ*F$~1lPS`J5%;6rc`7mFTw(%C&!%H* zJd4ZpU|A28C}t9j-^b#1x>ZPiwe#q4(d;kQ6qTR+XlTlvS~OnCU)R85@E+rFu}0J* ztk*{C6M2s_n}%)gIm`DWIIgpk8BS+lqc~&EGa9(W36yZlYY(e_d}JH1f^-gYj2$!~ zaeIMd>>8w>2Oejz2HX06RTRO29bRgg0n?k~v^95*SW2u-gS+z@lO=!4F+_HvnJ!{Aa0eBji#N`ZJ8&; z3$7-fM$r7qxz(BhF3VvFTTOLux=hMbrf+vrFrN05u;3(4)aE9nsU$HD0ez4@oXUqn zv>f547ADix5z}2<+0yQI>%s%|QrFihV;iCQ9943ptE4Uw85r55baC6?~}s?mP3zcm|+#+RT8bzx~MLeCI+B~I?)ns)WtYPLX*6Ed*4`s;V7PATTiVlvw9yhgi9|y&% z987_KbZ~RJRHrGpgTAdnd!QuqzkC#XCcg#q$+#MCLeW%Gg>~*VpF&KGV-L%Nmas{C z=Nv1lbO;xcdKPdQE!ygdAWhcJS#yjkg~mn5N_h!)GhM#|yIZdrrN}46`8;2z1C3P* zu|P)&_pn!p;k+=1fxD8kUJ}|(&mlIvjMHi|-#qaCsye}2l;c=m?4J zXqmkfQpePeSD{S5G^wD|4@-ijfgCtVug0JWg!Xtpa?5l7tTO?cIQoR-d>qkcj>paU zIiZ-vQJO#k;8~B>+YozNZY!=9>X;_=#2<8NWKkJJ2VNec>`3sV^-2ylnz7316}R1L zTaTuXT9X*Yf_Kg>-6jxOMQ;EW=~-p&c0Wb@%(MDx>$>`MZavI z(erV>4~YzHM75|#9XhmI_;@YsW;k8KwA-$h3;lfFu1Q~;r4ORJJ*WppbgBKNz+vpos+^HLnN*spqIzm=?=?+U}n zk*b}bT&dVn2ck~7g3(<)?%{4kN<1nG6O@|=n@P^yTYhPW* zD#sqPBXdA62-cV0mBlFAEm&!A-w7>ZShTUJ(u98K`sgx9$hH_=H1^a{v zTR%6W^=YIXyB6|1$P`{>#w}ceCx>k$&n_-s7uyv~;8hr9FR~3g=*!hGD*e18d0fQ` zzVGd1>-pp@qgqaO5wzVDcIMuS^M0xm{R-m85g`BnQ)ud0Ys9MNxM1#Dc`xr0X9iuT ztYLcocIvr*14*@#9$YNkDqJ{4;+(Hz@qM zna0L!(edGY%B>eI)xaMQwR9_O%qi(=>|(P+$)Q!1s*SreyTQ+4_4KBw z*e&sWX3thud^g9HNyVmoIx%tMBff!7GxVFc&d6C0#??x#rapWVR!fyF~YOVFK zy~BA73==hg(MT`gNg5o?-7=7tjBuHH&oMVe-1DF=rT3U0;5UQ))V7llyo>wzD#-U| zc0AYPAo0&hIy79=<@UQ-1CN;LGaN@N_D(B9^GZH-{L)ec9(|>$*92U!=O^uO8_)qW zYi!`WXBFOAM>z#HmVoNvx#JpmS2LbUlVmTlx2i5LnT;w)PB-J5ZXL3NvVY%VnQ+HOfVd7%7*B=s zHN1f|xop?w#DUi@$zN@>&qZWjk$Yqk7R~|w(%O@1DhS0v(##k$p6Ks<#C+8&X7it2 zR@F1TKUT13hkVI&XlMLw=8U+KuV(vEy6vUcoNUiIFLC3u1bxnMO`4!@49`g8y$>F{&yks>ULdgaamJU>n z^W%i&kHSrzC5W)nr1Uf^Ub05MKQDBzfa{4R1Dm zBj;Ew4)aMjZ;t)7KIN-z#pqVX8yiQ7CUC ze_tJ}RXa8Z+Yu|o7sjJVF4P{_rwDP|`jSe<;&w~zZNM+-^w{2}8Eao7mq%|0%TR~D z7e++;lih=sLv7Y?7?UAh9se+t&V8mzJL=vCqCS(vl~HZWXwNx_m=T+j924HD(Cs?( zyGM0AUJ+%Op}!gJ`^6pQV`aT(X?jYMAfmq$FWMP3O(wMRdUv%14Zx5j476F<`t7U& z2jSb?9p-2?5BhLvaAy%9X{;#ovOOY2>%`-_mx&VabEoyEl=jK>7*oYVpitN{Z4eG23{-pX)|8juXTx3JOk#A9t+q>CL6ggPuHcNSRT=GWhkae zH@o#K9}=9omwEu!)zhZ$)PQvc*12m{DO$lkFv=nEPW*+!#%`}PZO!#=u?#uJVGZhX zrIRJrA;trml!lDizB@uWykxqOYYmi9*><18BpUPe*r&|_y@Y=87;w~jgg$wAI{>7e zvVf(`sKPrd68n-m_pyf#5Oj+2hOn12v96Pi&E1Q9Zb*f&M7{h^&&pL66{gei%>!UKT zRjku-VLuNrVw76=jS#Tt3co6xF@;pnThrP)9K!XMvA8^;T`TS91aA%=lqvP7u~l+u9N{FH zSWsU*dxBk_=VR?6Ma$;iCCNQb&__RmTmcd%@xfp|om)}MQ*?sPNltV&bbU@Y`1$LV zxzd9t%s=-m&_s_)CXPNjFgmnoHBxJ`_Rh?|9g>}RUfniSl?DTf_VEfS4|dffSlYwg zxj|#}_&~S-Q?0z-fk`pf0VDc|kGG17*MEukoVoSjIS(MlEshpX8v?c13DlP8;b~3P zt}}CTI9t!~4miwqv$=ISYR{dxdCb;|hxEFmQ+w#57I=eL|B#$D&bDfehnYNvE0X&? zYo1Y`bj7E&v>o3@L(UX#%EcMNQZyXw0p(HT!<4!*rkGU`ZLGzVoZ~5i9{?C9b=fhg z!>fe}dtj=_(+3pf$EdrXQ3?QOZNHL$@vE2p9RToytN|N%!(JF_NkeKUXd{Iw3#UCz zjxw=2z0K}27~ELBzxY9j5ieknZbk?Vb6lup6uT>k*@iev_MV z5wyH}MnkRYEaCgN8kllrM-q0WYwEPMS9=q0aTExtj`$IzzFK+L963(3G2q^`+$ASS zOgiUDfNA6(+%jxmB6{oC)!n@u^EKIjT!XPcJF8>*WG~0=fwt z(dO%P76h7&A^CD-F0NX7_Iek!59eV5g1tS~RI04q1vWUWQ&jZ)7~wkN!85PT#)r*; z-z+^#IM1!%gvtTx2##~QQLQ_%Cgm`Ec>O2?^62j;Gk>%s_`U5P^}%tlAXurvw47ic zULKnaJT|Kbv-TWEhHkjWZunuWH<=nMQZ7Hj-8drLI`Dot|H6W}h8SWXdVW~!T>~8_Vwhn}k07RY4Nr^dukm7{+FH7MmTu6J8S2xXK zAwE&=(k;cl?0v6{VVHG*Uj=xux^Y}E*cNyphEB##U7hj%-n#r4_AA+wE~w-4@O7yy$tZa*%l5icy@#)%*caB*!+p1lT(aMELx`o3+AuT|1I_0EPOm1) zakMl}b;v#eq>wth$v)$Omuw%EIztEhqTsE4Bd#Hnoa`Q5`gppgbzOoNpxQXR^hpfv zNtjQff%VWV0UPSI4P4D#!=tp`PWFxO!NMomkn;(lf9mRprEXNDj}~H8?OXVXED^8o zG#C*NBb`Yj{Sq1Oau)|im~!2{m9!}i zP_R?^^DWCy_57%vdVvWi0hlM#5`;>`tW0w#VmXx*IZ_lko)lIe0tcRA8;0G*=!m_% zk0+91yy_K?(bcN=hBBg&D`y+zr3XzI%fkzQ%6V{Jz>`vL&cGbnGH+4FHqUyh1Ul}m zZCO#u6nf=@$F@0#{yr*>TT^}GC4jd)Y*3=MmW23A6Cd?A*4>i9>PeqIOg0S;pWTs z^bq_5jkCehtK(?%<;S-?1#nniSF;E8IEOFp1)&vS14Gh{3Dffzw*$WB@Y90!ugTfR zBwmV7St#7c^S!?f=Dw0H)Rua7fRC)*P#7g|8l?`Z&|bYn!~vgU zytXAx2V+gi2Nai@5Z;(bTcX=rTBFKWT6W$-lz-9{#q5p8)z6?y5*y;#5RtIo*J8?y zE?!s~g4CTv%>j6Mh`8ZM7#=A)KBmz{y`AWI`riRThL7N6-h>5r6s;tC1f3@8+CW3AgXFJFUf zt=-!iw1e#Cu``z4>#Eqq65ElurJ_cr={%+oUM@= zaFyTbNA2cjXJ?_-jZmJfe6cSv>U$%-Ms@F;@6)k;xOkWG9S3$PPtPO2P5VuS8??H}}!*3d2ocARCF^T~%Mk*0bI`&d~fl$Qr%N{ersF zIL9M9l*MzaxYCMS8k1>2$KWLpUml!kmu3o44x;sZFdfUE?J)ED4*WysbQ}YdM(i~4 zYDeF>1&A(M>Q!sQ(TuSQ4JX!K4HIh)DACkfsivEOGD7UjR#aY24k!D$D>MY#pa<<# zXVLH1N_d5713YJJ6cW~p1l03jMlB8p8tnq5G&_fh?t{}%bWg|-0l1wkoAw5MaA@?{ ziveOti`;cT6SGY=JGSt1#r`zu@B59tmG;ZH-;M;tVw(s?CiBgzHC&b2RXZ4pWrRmp zqY5dPoAu&8hn>}B^1`df91J}np1pg(uJW-BiRYv546T?y^jq=d2&-#4n2%(z5vr{V zrLy~HuZMHc^cme%lM1MvV_lzXo^U57s83Hf(P=}WB-X$CZCifStO6}I_Y#HUCm23_ za}8hD6UcWDjuOR@c3OjXiTV=nv`Lb~tbWBT(-J&E*e1w}Yn3a-bwJ*y#%xeQxR2|w z)|fuZnYBM|2{$%tM&WivleAsO&U0NV<7_5-j^q_r^i@cJHCOboWqb2k6_BK(xR-9E`yEXt zg5)0qIK!V-tm_&SXjj&vG$sY&)4WFB;Ytbp{zJs9aL@_*bC2B z6;NTII=@r7COX^??(}Z7!d_CRaB`WG^KmQddOp05vjt*IX^l1}&88;;YG#PJkUQSH zi>`K)c5?)qN`){zInxE2O0V<@wF3UWyO!3?n{1z|2y6$r*Fs)xxx3k z8}n+ww-QVn&I`lNMvS;!oi36&pWo;9shbQh>&wKnx7fzv3xMaC&cwkP203I;S=_fY zq#O#*5<$m8zAZfG*aPpzm5)kutl1>zp#7u4`MddD&1!z;cW9#sooi>&=qOnOU~2q$ zkut*lvE6MS(r%!NK!5^e3z__r$aC%~pbuL+6R0`iD&g_hXGio)Es?J7hN2s>qxZA( zwEx1mRc_sm2f;!RkNe0L`{a&^-<7khmKWjO=ov>0b89v2+EOnn(lX#t4-edBm=o$T zD=!B3`r6w!w6)c}Y8|Zc3GdjlUF|CYwXdMKv2#mPjwo+`;-$*7V|VJfS*cvQKIE3( zs@C%|ImgK9g{*m=7i}|OR#T~`igHd5E&P$+)rS*g7IzWF(c*E0)7G?TJ@0mKYJ4^G=-OLo01e8V#)$h_rXh#5j+za zVC%tO;Il5B@zB5fa=tneki9Cn-c@U)0e3UszIff74)x4F>S1g*W@gEe6j;)1+vi^kQ@V#+gO`3c*;XjL?=u z+sc67?2_~d$$djGLLYi*AN*Xo6cz2Sh(<*O>eqUuXRs&r>wf}r3pX6p!PW3n6{2t)H zckdk?Wr)@7lNSt)Obz=RjFbjr@DwqB-2wd)xc}W8;_H)}azhv3=d&+Q>m0=1{eHrt zkMnJ;@TetO49f=>?edpjAiZ8L!GlIm3Fgeb?o)U=y^r-cC*0RbHjUw;{=MhICY~b` z-&*GHdT#KNB=Y~k0$h<AjV|vyz^sT!(FQ`xcuO? zBB!(kohCh*ua_4*Z1#25x`M@{B+vB%>2@tY1LPGb1F6Y1W|CN)Guci&&vuVl{%lAPcRM!=`?-QVWBJ^IaKi`R$ zFEX?W^Abw+b>d;e;$pZUsNSw>jPQPEB*j_4S*fi424w->I$$qRuYXcx z2}Gd2glC8v_Rs6iL?OpB9y$o)7_k`VL0a7tUHq)HKlpe54*vJ+KfjK^uOsm52>dz%zmCAKBk-3;;Gh1dfA(*^dnx>f z|HU8ulEe3xh%5;LNRPiH=zt>Qe@pHD^zZ!vk)^)|FNL9A+s8pHj%jIgnm}OXq;3XN z?Y#0gr|EW8qy?V*~EMND%@IxB+Z>oBYZ=GLK9z zPkA+a-89lCMT+txSNCY2qn9G1BI&h0@~_=VFig|ZL%a$ z1>Pt#eBbY%G7R#N5^90`sYPT5=VPgWoaw_+wImwW=l^meP&W$HSE@sNAOSoHA`zGV zi_<@!p>m^b-z)Mn$c2FCUl{gZ-Sg!M^_ZPEeKMkLfAi7F_k8*pSDfArEt%>~gua`EYm1x$lc;_6+jF{zJ{2oK%lK@ZU>F6=aWcfG8_?t`q z=G@audRjjg0A3w7>0iD&5;N2gjF(B21Yo`nEEwUwFJ=^}tMokzw?EI0Itkr}zziR*{;0wSM{rI7l6K?fgFT+oNYXWvQGqlZOwm7O6 zB&q;tZw@1pr|;+ahiS=Q|M=6W37$wz(AUz*cTJFt#rh4^0@NX-#46suH6Qh)qqhK` z@o>FHS_E#-_u4=0@?N4&M{>$9 zJrEG?Py_ZNz!QG7A{Mhm1I4)$QBsPw0KNR=t>_=1xm@nO_>ABEb1x@SZ@gXH(f(Tl zgl-Sd^=0Wxc$WRb2Mkrj~U$rz%HL@w51F1at zdYc-Ah3|VNb&h{{`9C@b0LYNuytFDK;a+{edtZEwHz5t6{0Y$d_vfhPPJuVJ-i%E7 zn}2yW>Nt2})N#IQuD|!~9NyD6dVPgpu_(>_d_G0d1KJ9l@h0W5f1LdP;4S{lJNTfN z;k+?AdhH&5=Mls0f9fp8n|O`mJkZr|-hA@ec-{->VEnAVeKoZpIK7Gd1@q50RzndD z`)(aAyDJ$#(!+4cpQP5e$=Ot9|9PUI<4$_x+nd6i{_fG%12p-4EiTv9XAX3|h6^xo z03Wa0?wNjhXMEkbf#L^htGt*%7y3`l+#p|qIWU&b`}J$Ab>5ZrD~LtpeLu!?(7u1> zk|sU!O{pA)f3>U6dv=MjpFcc`yMFn*VhAhfLF+uA|`{Pz{&!TPV5*<&XwJx{&SEwyz5B1q$cIZl6NCEwDL98BrZjf^fVlL7D&` zeOi52(ZGD_OVVF^ zADj?92}WBAyh2%05IE9YsUU#IL364u++aI)u{@vGmp}nMAw_ZYJW6sU^>eP5+&3Kv z1!<$)Vp1pMPeNbmRBlAf@WJoRZb52Uig zm`S5R$HyM!xpHsw;*3j#Ijlz>+}icORN(qTQQ3w_sd79EhdX0D6q7YW_-PQ1+dZ3pNgMFkzC zr&3-TdMJtulvtQaz;t4`JZ=S%T2JOtHMY;XF5$@mvY_->nsT0Y>l4?bMGL68ES}k$ zB;|K!-EQn~Af7TTIaoF?S-<=_f33@&;3Q*4EN{*8^*KUFY_^yq{J>-HGG_a|7l9=0 z%pZt=5DT>3*;amhf)ER!S%bcA@jRR_2Q~iZ8?zzrbFBB(_oG&|GYClwjA6yZ)?m$Y|ibi{44+eZ|072OEUC zSO*d&^TU$(j!XC{yu{N@?8Nb>Cpp*)Jt2Gex9?GS{PMf`I)inJ^d3`QERG!@Am87C z{$D}%|7SmlA1#^1^rbD{hXH=d5VhfBK&b!C`!~14zcB0EgI34)p$MBa66<2!mhrbQ zQ-i%f$gc4cb6Gaq-2aXBNiX%wpX-TUAUXT^?-+hqL8_(;vk6NygvbqQ8F~sg?+#zJ z>1e~m?K=R$cZ3u457`S*Ny4rMIhqelYyo^NIHal!kmL5xeYe`SetKuE@mH%q`cp^@ zaArp{ZpKW&B}U!+^{Ja1>i3zQb%cxm9gp6Sb;ODqZ^6|4iW9!#3ZLL3W^u{vNT|DW zVFULjYse*2JnbNB`bU3Cd+cTylg-VEcF>yn`ECSdWF6DR$=6Ar5gIkPPeWZ3oaas3 zMg7l=QbxXnLi#xgy>}WHqg`oS(ZpCk~jvqj`Vllag9&R?c2+_ zp&bF?{{DUg#>=D+c^jkXJK&qCJ&%6gm(EtR7r#96KEJSLFKy^Sv<4M2fp(R*UGd(b4{2%Y7LHfZNv%X)5#@_e+)u1|7ibb1{ z^$Y)_Ph65%8tYXo$#eX?--~a(ogzI^UxWCGFJ{A?p57ep&@S5F=Ru74(b8=4yYY#g zbgdNWm5Tn!kDe6sqe->>Xi`Pcr22=6{G&;w9B%){G~3NcpZ_9UitJ7HY0T`fN)`v$ zN}=}&!x3NlqiLp*b*X|s7M?7Q`rea4BbH{${^Kj}-iE@q#TKXbFo2!7rzKwihbThZt9 zd*rwmOdCtvmTYOXk|YfK0jjARxS>k3lK}oVnK|H*WA(oBr>ZzWj6e&N*Xqp8rD9wr zZ`ytet{5n@tQXIBJCM>qe_drG6>qo0KGf;V0>uycHq;&mqCFE2&)9foOUtv^I^;%8 zGkFE3QLFAOh%=SuWQ7}OK=-El|6A-gzWTYoOz)l%%k z?jaD!J?h(aXyeKDRisKBY42CX5KM+Xzz`35ug-!)W*C5|SqWDTbOr!fSB3Y=!c+Cw z+#4{eajqn%odv8FN>#xkzm8TsMu8p zV9Oytw7K@DN^-@WdbU$xpE}+dI5ycI6JW_thw8Bac!2CFVa^^^6U$K7ondL*fYQ!| z0(v_wJn%wQey1AezN&2x;6-@*;eV zom3ni1~{FY#RA5XjOO3`+I4R2+)e>#5*n}LJjZjI3>-Mml!}ELwswG5{6IWKR|B_v zSK*@5Pdg}@6%Ke8gV4!{%1c<9g$vMzI&CvQK)2Mp!GC?U8qt&J8;`j8KrqgsERv>l zv+|dRXGJr{B_4F((WTvi%jU_%rAkq@VhReO+{~KG(F)ol*uS@pHaYEdK=8zN?YeXr zZm!bBY=O#WpjNU0hY>U)p;r*b7T^l4Nj>d0zq9Y_X_8;%cSR#GhgLyK(n-o8 zCb~sF?Q~HO;J>xKE|nlc;o#wcGcV04>*gEkDqvdWs812W80_ z5^6tr3+!dhEZFtKT-jPfY77Y8H;@-WOS`1Z8tN3b5QYmyJ%MoD~~-<0D?(&EaMoQfLe zuz9b7ik4b&S94b}I9kuM2MRy#t2vL{mfFXH&3l{in)CR7_cRm3!xdwFNd$zC%}}h}aV^RtpPjpT_$%LBxmx7NoU@`Ss+i z8lBp?=HXx#c0NK1UZE1>Tn?L;DD{c9rqO`@ zoRw|$^9g4PD&&QSMLWKoV8^|+mF2#e*-Lp|l4t_WeX!}KZX>r<2wCTRa&c|0eW7+( z9tcKGB>eyXVVs)F?ZbCOgSng7ZD!)uhc-p|B)iW%KbBqtc6n3>ZY0 z*-DVEazi7(qwHvwuYubDYnG&Q*kCqwX{5~&@(0^y1BXm|icL2p*hn|OL3aFfcrTvV zHEj#3UDe(_PDh70X$^CWt}~q3TmQyeQoiS}$H)%k)qQuhh6-nPx4ZT)g#VUx&77%E z8#lpM7NxR+vFpB_>@M%NhU|T8o}x{!QNs4Rd3B?I5o%%&6ZmhdG zTe)89PI};dmuzx80F|t8$Vd5C z-aJ~PcpG@stC!FZ(oga30gVN6fTPURT`t>`$-kEDzSw#$HHCcJYDZ#&@cp`XG}-GE zmhb4)-$n3ygAieHsA~v2>o!2D!cE+Oc{N<`TDr~ez!WwIzwuR=N;b5_%SPd7Rq<=W(87M zyx+TrBo5@`TNJ5AvHg9=U`^}%vdX%H!?EZu@Y+=quM}J$T<5Z2Zm(jM+90+Cf@eHI zu}gh{+qP~;;$8^|rQWbK&M@sOyFUUXeHWf*qiQ4XeB`ED9xIU*>Lzy1Ydv{hWF5MG zW^vzaI$As6v6iPMln%?;b~bpv|5&&~66J{p-K=K8s5KJX8OaCUW+Bwa%1a0jUtcuaHlsrUmcO`M~ z0-_Wh)zv9KYp|AL{}_Tuz(eIMEDA(SB{&7A^SV`*b$J!*8PR!s3301aJc)$Hhy9b)sk;UV?2SXI$;yee}P-OUT%=% zG^FkVzH@enQCTZ8XMH^8)oU@|ji<=~jmdRZPN&YgcpU@oA!V)FX#(MhC1FXcS~y)@ zd1&X^?_%5@8jjJ-Mdbl~?zTsnA4jOROg_AWP2@4##F(q?(LKHvtL9=dd|=9;fsg=g z(`(*MTKGk@GQv?|*N(D2WD)5FMSgXhp1>^=R${>x&%!B=>L9(Z3`kJi8@e~|cm^#g z&p)gil)cPiWq@=#J4`B=YUt26*gv>VZ|+qRxtu@UOH|T!P#FsEbMd3$U!b{w4qZmZ zwi(XeNzCfIsrlj-^zWDz1-@QUBoDT`_$aQcRc*lP@u4j0q7C=nIKP~1)Yly8yk4(* zIyM`<-8n0?oPcg@txK`wr|*g>>^_G)<~Tdv-x+;nXlPPQ_YX8kUipn*n8nQAG*Fb7 ztSa{EgBzZPH@{ zX0&8qSfabJ85lQ>e zyM3`>l58Gp=mZ^)!ojBsadi<@2xA^+IW7cE4C=fGqSpHOhOmyjhx|Ymz4+tt-pXfb zy?&>A{?sgv=3T9z2m@tX2R0F3y6WO#Nv|1REkHTVZAuG`*I4uHHh<;E{Th0B_aT~W zP?y|)G(uV7(KCAp*vw|frQSlrbPclneP$Y7DNZ7zulh*8QT_P^Ib6a|Ld~W;yzi$o z$j=5eRYu`(V3Lfko`tt_0cXB=h%uToCAl^8wxJ<$Kepr6dQ)#oJ}}h*$Hw(%)Ze)=fLqoX#`?24lGM z9D(rf*uG<2{%{l_-e>6M(2-|lqyRZr*QPwr&1%2XcLTIKvu>#B?F723*>hk;n6AW= zO9p%R@

    bF!=Q601P&EF6(5ft+P0CZJ)P&0jj61y}(iNo<%R4cFZoFXFE{Z_Hep{ zIs_o|i7tZ4p&jegTLg+;Uko}4;#pe&Fl`oHD*z0OYjFw;TV$b&=gVi@PQjm|_S>^{ zRkSK!8w7M+h@B%MX2N|z1@n24?8sV&L!B77KNm*=4Ow9*|&gA6tF4 zS{S-9fOtj=uM2WL!ZESP`KQTK!gD;bc4e?N{V2!ISiF=pre2XZ!kPS(T!rfWxMHDy zuJ48xiX;SMf7DE$viM7?PoI~2>1}&(RV;V5njg%pY7Dm@Zg-TCx)IEqwL@V@PL&_GBV z+7o*yaXE{U@En%njR{t-@TqJDyW{=JK1>!<3HK+L;z^pO=k;ZX@w)?lS6B-uES`s! zUq@(Ta?qxpfC;Sav^hCTw?fJI*V&|pYBcr;wDAlseWv}~oS*8;9(Exmp=bC5HtOX= zryjKm|8;@&p(Sz(N@vddLeTX6a=+)GJMXMMID*?mOdD{Fkr(f`HpeO5&+ps(<)Xts zENPjvy&U5j5<$)dWhs@ed4tctDOQr|${N@7{7zo3JwQr+w4_kCrU}-=&AZzb3mlr; zCcWzsgc2QKOqJmjMDyU>K@sl@uQ7u8t{mH&f9V#NJMT1B7n8Xymvy+f|6r3cCjrl# zp1;onZfAc<2YQ$EMOu9OgIr?5sq(7yy8f0pK6p^8(wc55EO3j2OTq@CT@Om9}4VDDC?nlTGr6GDCgD*EfnuW{@c;qgM@n84uT5cT^{^d z1c#I?rRaqP^QC5dvS0m6mw4$+UxvH=?o$!H_VlnTNbi0*Xou}rpMhQls>Mka?eTM; z#YCWniP(sFN)zstq6UNu zh1x#iP${ntB~%bLJJd0Z)B6xt&FXC266sv+Drl;ce$13$Hnve|9GG7oVTH}aU@UNV zp5k#$_^hPd`;-^bJXizPQcIzfqaJC!g4=@`PR_jNkB?I_sX=}b#;5C_lYuZxW`r9dtT1?*h}^ z22aX7B^?8vuC9=Mpx>R6g{Q-?;?(b!fxsE-lA+LSY7f&km$sZ;D~#e1{YmKmqTaAj zwoOAV)zVL0)~Kh{j(LedH)ID&4)WF%M7BrAKjp&>*qgwiS%+dDSzFM1>-mc>sqlIb z$JgNO#ANK(Cwo(N^Y2;}^0`;$vR*cORV|o~U@douGvK>ec(KP{(60RPnbWvahd##8 z8!ES953Bw@&BUQA>zy1&A{t_gSwZp=q_<|{lU!PUM@*i2&)eBt-&`j&Tp}R$=#J3Ia!{iLUpJNJxZ;zzp{CdJq_w^CbxP6f8aJxnX9&y-e+mFR4>R4rxuG62U-pm!4U3C(Thy7Ikh;P#rr_7ui-MY$n|iJ%M8jRFt+f~0_T4#GQD;UufPus_o=yc1WjAO$0G?n2lLB?WBh~~ZiLhfiDfa2q zn^s!DkWba;P6zBBYd7=Kpk-4SE(dp43U588(wIj(zRk{$NhQgUSKAEijbCjDZx5K3 zcb(%rhJcfRLe;go1O6kjIJh%BkDF}Ym8ZUoyjpYcaeNSs&}epj=bNf<7G5L>b5rN~ zWFjPeg#C3oH@1!FQhio51pirgkdJ5S$)NNsLWeP)51hYkdi$v7^_j zRlW0D>v|VGhR&vAaU5^ZmJ7R7y**+=bf3?So#Ew5wkP_9No7^gZi4fLaH+g=_b_v{ z^7kXNozrh9E`7oOipkapCsxKH-#k9k@IKw-FrE>*HF$|n_XV-6W_^LZra0%}2Zwg1 zswz@y>i!R)C=jeIrsN!Z7tIQn9UM@3vg^&WeJI91K zS7JVO3zzQ_NIka3E_YV$wot2Av2CWalSaJr)@NTr;|qXOG>tuVX&j%A{u;oSNj**D z(b_>A8m=be(HGriPiMfIz?w3HA~SB%o3grpYIlpP$y;Q>&fjczc+21Dguecqyf-&&U1Er6J7Y65rTqcecC( zw-U5eZyu&s9kk`_RVX1bEPXy**+7w`ADI zLjBy#AFjwkx|24Gt#O?r$Oaxwl_!dE(N?FGuyA|!D$o4gt4j`%1}X4tMJ;ki^nvZW zA>^rMgAR@3E_~hW)2&%(>I+Rv&R!e2;M{rP`t#)^?^J3`E1|mquI6 z`>gojh}^&{$j#Opcq)V ziL`Ec%cq`B)^(!a9sr?1NNs+HW36n@rtLHfQU0tayG^ypI{J>D;2Nn-+BV8@Jnn*P z+nbKbPg-&on&&+OZE5t~6llsPojo;6mz|ARvxiFDitpL$3eB7FxvJ*Fnml{7exP>= zzs9UZ-=p$&77MO?++^#Ep!(Xj(jcet!UHUK&PvM8h6c^_1LGti7FIM9>sM+kO8vfJGRbzohj2{+lB@OTLV z-`JyHgZDNGi~V|X)2G`MdZM824@GKiYXk(k?w7*a4y!pkqjMQ@b-J`u+CVB~?CXeo z$iC>Q7q=Pq7L0j&t#hZcFtE%mV|iF~29$Q|_}zAs*87))JT^9<8u?-pfpZH%1-z5l zLJRtfZ$jQn)L@{m*v$8*{dI#8IvXA8we>#XD_S48|FqMWx#WC1jT`&HJD&U^))_nz|zAZk3IZ^4jRTZR10B z_8G3m?wU6Ygre%1SqxXz(`~m-LtAG`KH;icd>r<($t@E?bhb{CGZC}PT?xaZLMl<) z1v_CEld)zNbtI3b2n@&lG~j&*4A957up*5}+z~`_wUAT~`&hu2D{L)_GNE;XU zr%HgDSl_9Imp`PVFF5Cg#a3VD3oGy< z)_L;fVTzn`H3+8oxW=nijjl6xemjkC^sX9wzbf00^(a37G_5YajXCvv8f4v)Qr6ag(NgnrRuyXD{v|*4T+SF(KLc;Tjfhi{bne`h+o{t*-gOzP-H5r#+0lNkILnK4Nsj$i*;$X=b<f@m$2mbWT^d8hTnn_Jgl z*IFawCk6;xJ^E;XpR^AfYzC4E%V!b;7HsF-^bthq!l38(V9f}rbrEiFxrHYgumI>Y z_Zu;MaH^0kg?lWTN)k>@6uh!LWXt=e%nBEnly2R~DTD~l_T7JTmPhq=CjdwPt)(o` zQocp4c6yn4)i^$K_SM#Ty@LQ*e$(BW%y9+#|`B@2aT5DQ3y;1$^%fP(C^~ppq6V>SRW*lT8^#Kt`bzHbzkx) z-C`$POt9zPz~WtU7bXr+UXG|cm<`9}Tx<$=Rzt}4V51Ja7K(jtuaxAm0Y(_DokaoN zu{mgeI(oU+jT~;C&FQ^=LC4g|lNri%>(1rPG({pkF1J@$CA+5}@?rZ-m4Q1xO^zuG zHoil%dI!zXaou+5_PvIN3$$eB#s1dC0MIS6NaF*-bYi!Q^IEjN-kFGNiaRi{PvWYYQql9Ve4*yDLV=ZN zI$a+Jc*Y4ZXU`zg`80#bR3x7@f~q#3#%Nw*nMv9M@j8|VtZgXyg^yf?KY-B0l$qj$ zUP)X0{dXZquR6V|Gr~2Joh7GS99nuC{7u#uz!7Yxqdzb0oOuZ&cY6DG|8`V3Ut-Aq zsD1LXMFZhLbxX{fhPyW75GQfXv@0KXco6ol7rc0dCz>nM;f{1N*}{FmflQ{LI{ciC zf|#qBtGx=#9K8si5s8JkOGEUC3fZ83mIq)Rv32YL(r=#O85PTgcpzFJ`-gv5XAPd~ zc$4}_h?sdoW9;m1q~x3lzBKa3)#vwH>1}Pc)`ypgeIs4^ z5IBaeBeqrNzUI_%NnTZ1Dg2rg?ZK|SD2)&?}z7eu~p5x_Fni46BuC_tFrKd%$#BZj@I%$ z1&RZ;M}GmA`DBcwl3MP!LcF+5-?}g{%G|OW_`2%}!GLhjq2IVbEnEo-5lFqW+o&hM zzE0sm(#akqLv7gH=d-g6Z5Sg{SdE)P8)k_6gTWwSC> z*n{}WFzZ;;?b0jSU^agma@1Z|pPFvBt>_y{rPn*KKT={UNT&jbHA`#ZxHOBSoX{f~xE=dVG2 ztM9Hk-n+H)aG6ur425@s^S^C$HJQR+gRNMpxF=v$5}Hq!FC&Gu%r zSmw*ura`IpgE!Z}#BtteebWY_nPr*f2?jKrG^f3dAoXFMXi0G+b7n4cTgzeHH!$og zy3sq}@H52M=+%tMbR_y}PsiE4E(@x8yV)`v@>W0cSbGlg#GFp z(>p6IXDKwtfi3L_w$yA&k43_a#?cYrT8tgep7@gEY>c8I7ul@|prX7)eUDAI?K75w zmXd4O#VC<@&s%o)6o|(VdMqQU83U&N!5t%?*eT{Br>0yo$>0WOH!R)xR5*xvi`on6 z!;FNl6myUB;hz?nIED9}^^(#GsOIty#y%n(7k1S5KOB#pi(jR(J$Y|n0!DN2N%=IO z2%idoOsK8x@*V%nK_Pu0Ga~nhJ-0@3_W5;iP_j~86D}Osl7MQy@$rYB0yrsZTMT2k z8sQ=SawyOVLT%AFPzeqE@>g$?sEcjcg6#bOqre~W>vPf1yMFs{ zqI4}M?}P7VKq`Np=QG6<7`S1Mi%0$X#~UVnX!NO;XvmQ@1_4@A)aGO?TT&}Ep^VF7 zTE2Naxa0$(^iDL_*uT1eUm}pN4;Z9Ch{joe-bahim*ZOr$BZU(*>bBC zCPjZZQU>WapTLoVXB~O{Rv9`yz=qFwvSxc4b|zorL4InWDThl@Q&3s(!^BKf_LH2ol_K4$S^JkAhjfZe|rQpF(zwZLMM>w|Q9;0jWqkRX^ zgm!j38nwd6F8bAf@Nnc04@YxC6jJ`Y-{yyh^M;=C&mMsrgnNoUPlf^9acem4@ZlUp2KUju;if6xUfhWMe-SL$CK0C+v3z8Eqpj1I9j z|Gej$VNbyzOjW^Ff7_)J;9phMUv4MU14N)RjuNZDRYc|Uxd#4;Fsbj$EX)4Oe}S~! z|Aqb^hmZfC=>PFtgfLJEAwJKf6c4*p=>O4YDy5-HFEhe96v-w2zo7q@2rMhaJbKG# z8Mm5pG8J*WK+$}}CUKOAN^-`n{@>~UaWcbw>Hqz=|MP!?|NsC0`+s)?{+Iu?`0sx7 zr2eLlSz;>5i%t>X;RemH;Ntt$q$w@f~o#70Uqb1tIDzv3y8M0E^YcQG@5F@XrzAgXUPSW+wMwJ$-y#qnUvV-{4QE&BCbV@{M|e+tZGhOI&;%vHqjp*cpU-C6Og)g; z)yN!Zy!JC=(1?!B&wjc2^ibkQZb$L!n`4fjK8RNU@SXbp5PyDkiF?o?CB7tjG}j~& zGXP@#ops>{gVs8>vHiof#y-1`38s}Z=Rf@4y*Rn4AxZNQ&qjORfXgQNCUWn8&esF| z@4P@-cPIUXt#$W*^qLowTr>AR!OXL%*;GFL6T4&w0?^Y3**bjsLccuz$6`gah%VC> z7yKSa1@Z;bCIfyBc6*Kbk3Zcs$OmeZDys9}cqB_cb%ElE!{FbTBSxXer*qchM+aS? zKjZQrF~DzJW2o%sOali!_z@k#SfL~Q&b-a*03Xlqq5Z^qM-uxo#}4Rd5?3IX`{3xZ z_=AhRTUq?8!%ONRM3aE4oKe}Af4J4q{Zh9ZXc&E_9u_EBhQ$(*7=I?+YINLx)`Vk! zJRP{h_+qlfpFCkXkQhG^s58v#$qfRR_Rta%&jLToTC;rh6Z;eGFyc|!-jKvTVYy@c z#HboP9uRZV8`&dyFFA{&$>auY0FwW<+MV;hH5N#Gx+7Thd+l@t9~x^v8Xeh@)BzRO zKM*eb_q|+BDz$$BLkErO=GuIJjz8AMi@X!^F=Cg%x%|ecGi^bx`JUZ51f5?m#Z0?r zk%#WiwOfYtKRtmpY(w!KCvDSp7&q9L4)d>AKVE^mS6-h*`d0%2ocn3UhFj*CE&qOw z3>fc2_f*`^fI!_x)dr*n@Y^Jhx~fy_&$>ce>>9Q*%LwFmzT-$uKcOB~?OB4UC+irR z8sZYK=}&%luMpFH1_inIFUF__nD9?Lh#ZCBAquM7e%;^6iwz!CJ%WX{*6nQeFLwgL z4*38Y^l=J`!H*sYu0b#H>>D6S-#=OppllsswR!&3{Z2O$`v1m*6KoQ&YlS}gV@+g-*5C{m|lP>qJ_f^<+AU4{6A`$00W8* zd4YN?9^LK|*s1)}!$SX;=G?|8K93 z$zJW*^xS~q>>phWmF!8Gjy&`GAuX-I;RL}C@bN+8I)>Q)KX;BXNuX7@<}UkTqW(u6 zU;~i+3{XsK1HqcFYd(-29=9g~cQN;mYWMRUm^VO)uAv>juj{RTTHOo-1R3}h)m3hr${0{DU5McJB=zsQ z_1)12fmP}34c9l6D^Ovlc#0zF3cR#}gU=;t5HIkzC5b7|1xQvjsq4PUSTxr$q96xw zF?gj+s5a;i&yfl!RtXgFYEPg7r@^)4&iIZr>MVTiDNU6rBZgQz{HbKhwVY0ZpRqSwgd>wK?!8eKeK57dlscu_(M#=!x=s> z!5e*+gD(u7f%lEaWOF45Tk|eDBx{_ghPo0dx$8T#4@${9h7ePlq`l-z${A4%C2VD; zS-}zty)KEO3Mxpk=z{)oOC?Dfo(a|D zhb0rBI=6>UQD18Y#*nfhbJ0uJHAe+o(5 zp(ovY36yC{Ub{UcGU$U4oP*>tHx-njVNZj)R2{E!&Pmt13!G&?e&42ikSmP0)^YGg zE@z3ft+^4BOmt}nXmrJXJ78gzI#22`9drh^Lgu|1Iz1%t?g7Pr*l-GC#Hku1#n*QS}+i2RxoOp_EB&@ zxOb{*lbsP*z1MBF%DGr#Tt2?#?*2~3CC#FdtDnJk1}|h4if|}Hn`d#V;GGW%25~05 z>C^R4KN$-?^AhibF?f+fu1y7*PK)n5=89=WAxT%#kRI5rjQu+mg zVu3=>Y=pm=Y^lZwd6W&I7!cnCqXfOTk+XQMM_hRyPsq7d(AS4$pCtRsiVt{jl(3IU z9c}>lC+BLQIKipQK2=)K{DfWdqRrl7wgTPHX_S(1HWOUXUfjMGkL67rEmxK$;4shc zt580U3BdXWB_-5z11*`9+VZd$_~2CN`y9LjU=3|Mh~U2)r}4g_L41$2voz8a#V1Z` zPcE0kU}{iMo9`iW2>dr-om_Bz4l=mM!07O^lu~j|iUN8=;(UwL{q{ZILxa^>d73YY zod-HgS;BoQPQie#$0!D7v+o1HJi7`MC0GuAmTk5{j1`Z^YQ6=Sp3;pzfVmFu)=4?j zHe(?37LU(x#HT$-)#P=pVm5NKWCu*|P-0*V{=~}rC0wV3MR}v7gKe7yH1fo>m|y7u zx>z%$yZ=4@(MS_z_PXCU57fUSHDUsJP=tBqQDU%}^K6m&Jp&JGK~U2E=ALNTiX=gJ zoQLc25ULJ5t)P_%uy`}1lR_Qlp(an73v~068^^5sCtG$jaQW0c=e^dpH_VxPVZWOZ z4LbBSW2ke%*7-6|Kq`TuAwyfmk!8xL_Qgh!q&n`6eISZEs;-zGo8lY@ z)D9F-uWrXpS&4ZxP#I_$sa^B2>v;?pEC3H#O!d|=892W^-Fxg5MCAxT3w#7G;DN$7zpm+hC`f*rnDF5_?(UG^K@D=<`IiHF;Mg_! z`_@-NcyBBw`=#_st{2hafyW|s(6u~~+UuY(+rjN@Q49w@5H-l`g6wn_Iq&_N(DQ5b zQ+wrM=tugZ(Y|GPWodzr00iL5-)~+o{$<7!Kg&4hr z87uTcO`5i+Vhi6jf~&iUyWxJo9x-$tTsgZ|r<6y>oTgDdUOK2dp1H?7wN;XXeDPrE zOeUTu6Z3Xc@@{q(q&K80huEU=44on=f&wuqXv0>Srq*Up@L2iPhf^i$kp5OoL2O({6UhUE3UWVIqp{Lq_+;2Ph#MK;;1P4qugj zR@eA@>sP^K!|kw2jbTfPeZzs}_!b6!;5@?tuWch8NA9C-3M%3$FZ#tSpuamoY%|O_-kRGnzf7RB3Y^QPG;$k;?W;&tUy2xT1|&qOs5>;^o3{_l zg~w4jHNIHxe4f=y^Z>7f8w>4~8VHI!Hs*8K?#gSJ_n?mJ!vcKD-S~$X&-+1#S#Ss$ z7YL#rwHf%;B9LNRyr+)=%vsJzWh#y-4`jr5{)~8Vy!HdaGQP8o9#S(zZ= z+GuD8NgiG?wb_rr7Ru})o$&dA&kEUq9!|`iC4ELP%JIf}&Um=fD)N|GvvK|kC^210 zr8T`V2Phsv2|M{mn^zOYhwa#1K_Yz5zrAz81R4Co@ zCv4~Y6{NPImPqo+b1BU$$-eSN2mWK3YrU%J%XyxD`w}{627>{ ze?C-Gg4>4Qo{}OMTfnydM^h0ckmX}zOef}d!uP>9oF6junD;ksHC%slW4xzZlE13a z0(?%mMgH6iYGUYb_mQkClOKI$!2f*xvZE)XDm`vLIrDEmb$I!=|M(8rN@0D@ysP`S zXF1o|AqC!?x{mhOGk(<;f3zB-6}>}u9qW-tT}*d&r~!<+*AorvuN)3HO?2u(ZBB$w z?eTlOAyA4l^{8m#CkKS)`k>y4C-=vj+=4gxZ;w6OuZTA38v^0c!gGK16=BXzumNrg zINC>38yq<6dT{2%d)0@fZH!9K_kHL@ix;+aoBIXW|9{`nA4m<48Sm0}Jw(mglQ9xv zIH^O#5hzmMYliTjYS2%tW3);gSU85mci#Q&N9qU(i!mh+Nc;g2YmhnIyZdhW`yCqy ze3RHd${3hXx`Xkp`)X*=?9_3&(?6YUUGE(ocyysc`L^A(<=o8WyAuhNGhS z_VfFAmz_%EPfc$tLK5h_nYVDiiod@Cf2@tq8O&D>>RpHt=MVi%bl@l2hTt&v=gn^Q zuLhhg9w3tx{*-1^0NK9BbfsQM9{6yl)km8$KP*;DXwkVuqksYSi1}1%J`+CC;2RED zvzIpE`ScGbu_C(TyLu+TD2x2It_LWhk)eiO=hZrR&`0~Z-oIY7ufZUV!T$gCZop#{ zIZ7HcQTsjqC&&?%!`3D1=J-CdzvGXbb5C+kgu>$Z{5Sr%U`yuKuUEHUO;_!yc8@2i zYnk(gs{ZJp9$~*20=;cL4*M&n@rS4S)NrP5)(CqEzUFJ3V9cH&Kc9}La9)l7`i;(n zM|fkEeGRfDSS53PWIYhm`$7{nk#`hi$3wAq}L zi>D6{ebuOx4C?EbKeclo5C;g|7LZQqe)qzKq4{L(?ZMFb+_O34yb4UMdV@%&ik_mz zUw>>o@#%v2?=9Zkm0_NrYkgi|J=4j!^35w0P!Pkj-=Hu^dgCF%dKOTudd9zFf)tzV zk%Io#*)(as28z@v8n*8^}8x_T$?>2rF!AOC3D&P5U*QbqE}m`oFq zD;T$O;r!7U#TTQ#3C&*o-qFk3U+w(`O2t#Lo54v(B&zGNH)B-?~pS3zupQLWQ0v!mq;Gl&2rS%FZ$)^sU zU!VYnZ~pWcu!NR=v~xi*~M&1#s#Rn_V-M~*Te(|XpYy3-IdUc z|2H@A`6ha{L~rjiH?zm#fF2O02y^zx_lGs|fKNe>)RaH*&gF6PS^oJmhWH%%LfE@D z$9?-#JLa)}EjI*1Z1@1AG0tZ%|6KM#&J%Oiz`64N`+ne=9($aF=8Ojz`P(P7$1)*t zFV<_u0~q;d&yGos%1w7O%;+@I0o3`dE1GD2wzs3reRe7Gek@J>eEG=pT7K`K3-RyS zTcQ^W;js&P9e?IwVe2mLTR`^Pf5sZaj@brmV&85RV=Yn&{X3r%eI$EpBihFq?&0?w z`gpNGjPN1+rCV$qgdRZ+#vGiw? zpjYT;*(G~~4&YBei}Yl`ihw?yUO;OA52L-rCB}fvhzv#6& z&Hu(wE3!_YU_a@g6+&v@+tXB;>;V79dqN?!6MnHm8M+T7I0>owwm@>F1SvTz-(ey@l8A22EOKs2Jq9>0?fUe3Q~z)F9%fA<$rHEM!~d-|-# z{KKZrE-B%3r1D8zYHCe5iJ$pdX2_*)7GGOmYnyxsU&@CmjHqFYegz2$GE`)eC$Ra% zJWi2$FaOTtM5V|XS4!;uU%Z8t4O8#p&T-Xv|5_qnd(!8uUKC){;ZsC}5Cy>3Ps#pp zajn}0urFNevp;NCI6|0k8Fe)b)qmbG$0j(gXj~`|YQU}SE}Da455jhEG;WOL#ecNI z9fx4PbYYX-{>7fof+73J<|Nxhc7tqGlZWP$6rE_iqA4Ymr{C-0CO@vHxxy*F8QUES7%GPz_>1eYE? zigkB`*3re1Tu7&<%9UhUvSnE^hft`tY)i7N%Jzu^L6ATLnmhzALGT8=0@)&hel}?G z{ho8KId^6rVkdcTX5NgsBhFcCxsav582=dG7~}iC*jC&=%0I>YbV%Rl1HPn%ScE2A z7|njQtv>VDX;5M>qD#H9{jX~PLO0~vk1+j`>oi_@k4dhrzT}X#C9!*>wYgrR-rTN* zHy>0zYUJSc>2bCE$tjZU&|6l|T`jM7o0g2xhi%EoSwAy&HwkHOvS88wPdHqO<2ad} z-2F$s3+v`8Zb5sO<@_Af;_u6du!z%{1DG#59^4|{b%s8Cl#E1Ll=?)@{S zg4;^Yhhk+HE1cgy?WrQa&UFfO`HP?Dx}2`z2NcI}U^6rNQ==MIMU}5QneWBa72bUj zSA{N^hPH~)S6+1WE>yXE$RE+C?};axnk478*H7|=#7-{yXItzc)N8+Vs13WGeC}oF zPy<_9aEFe>x*vPFM|6cg)%&I$Vp1@50d5wW3Z{zJbN`sq5J3J|H>${x^PEqM8J%;V z9P%>}bad#9*~`J(?-5M}twjS6Qk?Q(c(HzJRp5tTjp7;#`nKh#?@3-K8eH1^JoZ2Q z-4oUV$a4Xpid-)(K#B8n-Jt)Ia63C;U}~xT=7W(rHnkV0(X-@t?#F$vrmT=HwnO8liXg)h>|QWt5s#=KzP% z&-e^A6C@8g-R|j6U2WVVI2OS5EXNyI{EvGCwsIp|@)GW4GB*|MAZp(6NW?Y>wSOO1 zU-*Uw3tmL(;GUn4KXp;?~KVGZC>GLJ(UHer3Bga<8b#zRda82XWn{Y1P00ffY}m!ft~|3m15u zLxh+GIcI?iV)P4rwckCo!_nKHymD}_&!aXvwFYQ60Fc`ALj0!B@v@y_N%XOTx&L6K z6(|DUwL`F$U^=%BN;y7bz8UE!yRuWni1VwLNeA;9g7`vWcKd7g7CUc2m+MQxB|2uJ zfnJM3W}Jqe6>nz|;fY%2%3e3c1+-aKcFi@>0Gi9^Cu zbNO*K--_8NY|*)#QK$>3h@iQ8ub~ZxNY@Y^2ZM6Bj$8XqGK{xNg*qG27Eb7SpiwhQ zzCycsZ7$IpH0JpuJ(3IeJ$5!Pgho+Qu2{g3!MdI9$F_zV%>?zQ*#4S8Qb{a$ewV=P zGogv%;hoj*mV9H+C-~3Dfrgrjs2fTHj63-XnIl(v@hdb;bmVW_4}6Kp7rb#GZD)hm zz9lh41Uvr`$JOug+S@vj=4AZ~T!cmN1t)>-f*HvJ)Umv+1=QjqQ7J56`0ko>zu1Hu zshg;1V?U?vLh~8xgIN-_^0{z1zSZ<#&t1jkeNz&jGd2hb)6cWDB96QY#yq9OVe%f+ z;z1wMIrZ1UE_&jCtLlZPv&H;=sXBQ=bLgkz0>oV=64vvLlfmY(VM<%7$fx#-bxz(c z*6H30oCf52b25(Lg?UuWkltb#6Lay_m#~;t#6R%QaS?vOvEotz8A#>tCRVt`@%v#j zR?{o07w-CKM|`D|B3+JivOmG6t30hqamz_8{dU&&>r%QS4NO}N`{73rd)ccnfUS?` zaKT|Eq9=0U6Fbw-2=~zHk%OP$?IPrNm%yVf9ioCIumK9UDiV=-8Ox zeWS=cBls+rph$pz;>R_9Vl+oKs9t^xxdP4|3z~bDv3_pfajB&^@71%SzGMiYo_YDA zAA)lM{s?XD+U8el1?dyiFRjLlAr6Yy{qndGYWm9cN6Ybu*t9phbS8(P(yu1yPx!nB z;d_HW5|#NCM2_!chd@_B@IY#}LL$xh^BTX(&waJ~KEa`w7NQM5>r8-q1w!6<%Y6n7 zyu0@{E%*gRDu|u94h;vTexLWUBC#__)tA=fW9-PiBZqL74wa=AL~G*R#$w(SQWJmF zPxKr2S1ttr)es|WNl(Pq0_p}o?|r^_!U?w+M{V*2|3J$n!LrVi6AUI9JM|)=$&vI& zku}NX@%a@eyaokjUBo}T+NbQn`X4?NSwCyCFGmc0e)sWuI5=HqAel~TAz@O!VBrsx z8~AH~3+4ECAC`=YC@jgfv%S2_u-9J87Z~<*2V4isY(W8g_^bs5_VCg@5U=CQukdZa z&{!k9HO&p|x7{LUUp#**H}@~7c0;11llBjbi}@k_U@V$OUpe;D zkoc$ZS^@9UD{nh@k>7_qSjMZD_99Pe6b*1^kAO!bk-uF`S(X|`&#itplv%2j%Jy+L z2iws@%~Pa}mNI;kqo44>{d!3F)6A7McF>U6*n&?9KK|ntHE+xjoud3n9p92YnrZiC z4s237E?>UD<_cdxOcfU-j(lSj-Natp*m-c(p7Z$R=IFgde2&_I3-}ryAbrii3x1Yb z$IG7#6+ETt= zxiVMv654?6*=SFUA>ZRI+xg(bVdl??D3h3%^kptlzQB%x0&OKkTPk{XN;$k#m9wrB zX87uH0?i9-%xQQ)yeRe6ZnXp{#Gb3@LTX26qqvQVK~&6xnTz@Wu+sx`55kcRe??VR zC!TXIs7NTl0SQ8r@vx(`^UI`dh;Od0oybSJ=U{fb)nampr_pnR7^yL<<=&*wlFI5z z!zDflIDk1KMg{SoiNFXFv^zCbA9S6x#%4)M-q~PZtZz%D8Nqxyw{aT|$upWHzmO?g zRB!@k*a(zd=#b4^p(qVB$dle`o9(kOm`4JyDjZ)~8@6pl@KH-E=(#qHE0i&)qJoxp zX_+5S)mC2*3C5=abGLNMkk&|;YM49kIw_KMx#biiV2n{vjXm)mTd7Ao5R2;O&wRh$ z#kcGH)}z-Eu*t>S4`u{M?>8#d9l0G{F5*WaAG!>h3&uiQJ14HBWk2DzwOVKf&QTw- zQ1B^>%jvdUu4Q-F+o~rQf+7bVm<6b{-yha;C~{P57^m58deUTCxuN9tVrE11r+xHS zjzK(%?D0jsmo#+9t|*e?Py;go^J_HfWco3bPUfY&KF~5BtW$TJO^J>M;)UH@_GQYO z2(tvq@;-BhW|^E1$ym;VaxmBvd=H!mObEV8{FgV|-A1(0YQN3t0ziZfnc`@;VFuzV zSs5AlObTgw;%(U%?vAva1h-BM+m*^M?8giOJ;pv&8@t8N9c3nEXZm`KEP+>7UZJ#l#^M%KugfAyT=1tQs*E5Ou?4>9D7UQvyLS>73)4>q zPT%|VE}QCoF#_|L{xFd)ydA@KERJU3+*7uaX`f+x;+9`;8O4Lk;hl4WdG5&BBIPz( z(nK(@LDmCYGyY{XtwGJwIGoClyA5*%-zKs&INa8A1vzF7%~xybS+opO1Pt=o?9_$- ze}j}z!i(XaJ5c~%>qRR@Puq4I2AuRW&;hn3AoJo^@%6n9{mQTFIGLI+i z3)!KHJl#>R47{{-r-6@YT6ppt(AKOHmBqFSDmfjZXlnXgX!EPQ1z%fA;+oZdGlj3= z;7C$DFpx}`C!dmxUzM~qThhrcDe1x2Ub6T8~)jC2L<-- zhMbGLog3^R4K_uwi#Y2-dE;>5ZH$(OyR_z=u3Hu4jOB<{QCHOaXLB%mu*na%{mhy? zih$nS@2yfJB_5H4yan=RJ>G=4;X%QQ!QPO36OOs0 zcPnykKx?ayP4RpOIRfee&ke@rOp-{-9jzPER*W|L6Uh7Whr(TKebXLx%97&G7f?lB zHuG2PJee2cIE(PB!oqq?m8m_-=}wb04}GlT`*gj03URt*ZkJa)!KJGbg-};e^UT3{ z4E=-=f0CiOfzO9cr!3&lUP$~m3hyYbfmPcddwi8K$H%JH_T}ZQEo7NT>B(ls*%t+I zr9^PZMc@<7%*C`vRm;Vryqhjd)8gLpTa?c}CbPjZ_YQ3NhC9)$n&TLmLx*9EPs6LH{k zB)OyfrCoe^?p7pzS>Z_LLull-o4A}z_#!Q@0l`db_#=AL`&M}xd*YAj|CV2UFnLzJzG+Z0++ z@|rU*UD}Qwhw#|lq%{hn57n;IXTVUu;?pVYL!XM1TrOov={B@?1ch6mc zzcM17C(cz){Fl{aQ;*OZ0(l9ug7PnD1G*JEA5-(_iKd z`>w$Zzx>z>;m4JR)N}(bjwv~>vIurtTnV5y*z6@YI7)Db!i8nVog5fP2Lcd`Z`8AR z*mq;;04j6|T*a_E0}=x^Dy#((hE4{zmX)SwEgPA6%EdD#hRSYxYpWobD58Nr*Ruj1 z=+%8TVX&#+oJBb5=g?+1sefTSE$tKwM z6xg@=hJ6!1-8c84e#WybpZRG2Gxi|o-HUH}D`hNEKK_}{GYDRPV%7!Dn+KkS?2Tfe zF4uP-*!NF|AN_}{sg%!cm0laE}#Le z;QdNL9IM_dXF)J%5_@2JbQ5{_(|$GX+%55EKVF}adfV-@mRkg3%}; z2N|qUZlC)oHQasGEJsrcG|QzN$xBJx3-jCSSyl9K;q~Dfx$;lFRTCV`HVqwQo9({z z-4o1BA-3$e)oZNi&s-9b@B*j9c<+44dB~*dvji|wkBTq#6vHVnmjvP+C)EEE`=}{^ z4Tudut_W*h8dmeK^DrX3Vckl1+4yJO$%_Nv729u6hZ>YN)2whK^y`J;6zkhvZedhTgZ%nXeNYXH$V~AeN)ic?k7c*ee7YE1d9Kv4HNWI0; z-N__>gJtniZxK(s)I%Q=>Him>Exkk6)@T2}47rBE4t-(+{`LBA>HlZ`1^fSf7BQnA z4XFVdkg4Hl98w_6jHwYcWYO;w$HQdwuSx$uS_NpRTEwV@h$3p}`(yO~Pkf4nfZG5K zTO)3q{D1WSGh=4_>i_?XzkmIE|KK0}#s7*wzW@7M9)W*2`cMD8-GA{P(eA(VKh$g# zMgugYQNbYbDM*7x;9N$9HHwmh;b6r3W1jiVE&sn|-M(7>?f?3J|1&NBNn3UtjyDpX2wxBw5EO&ocI@xu$t0v{m1 zfJ=V9*OcYu?L8u4i6MM_f;=Y~z27p=e}12i=pi@$(?1;jCqLH>L(>B&O!yRseNGK| zZbEU%Afz}bSMZ?!O89v2o7c^6r;7MLjei~2&2PDX3@(|y@`lOyJG5?o%RK-2bu*;V zqxGkM{FndnJIBa>`+xn_Z#gi2^TPQp8}^N3Wbx+=PF7s90=v|IZPH)f{`@7gMTjd8 z)LBY^1wr5Lj$qux->&4}Aj=gJ)9TxE1j1^m zTvTem>$j1j44A<-YmF^vJ03?WsIrZn9o+mH9=0b*Ri(620Y?xLxVCNq=Rldgr|v6@ zgOof!niNOw7LAH)2O55~+CIm_D_BL6{h8w^Zy0G>igt8*C_AbCt3S6BZf2zu%6!Xh zP9@;M#E+bi8myLG?K0?Ky__xNAbiyB0Y}-m&|>`Q55gZNTHX5n#0lZMTZWEz!X2>g zkt@7TWaF*AD~HO?*I;og$UgY#7)3^o~L*~ z>fByGK>TIVB|f;8mC>)_OXwOkz#mbppxoXt>)&MRI2KT;6S}&zJ(a zG$Qtj{x9p5?|FrzU>7(;g~H5z)*S(WA+A3z0v|LYT=b63Pj-Mde#V!gNwm}U$zbuS zRU$Dr9tw=@=_uVG-5Th#pZ9_J*%R(X`jkZgFmcU~_-3F1W6{wKI=79Vap3f*ml}=} zyDD_j1MrbghDlY^Q z8g%5x zD4cV&pX&*DFUC1HPyXuHJsvc{4V&F)&A#6UaMQK0kJcpqT{5T{`ivI^EL74v96zq$ znEO)W;*fau!XPR3QCB7k&tAR8s7u=o&XZ&Rp34XO1j;p`$yOj&3pSCT>pwWdoyaLw@8v4loebq{CgYpYUgi#Vq$H*tn zulOSoAR~93GN6~m2!rN(C_bf)RFXNo&7!^fQ8S3QZGzoECkCRV+1DDBE9tk>*TH)9 z7T?Dx!!?G}myWNM`i=EAwYY*P_#}5d*$+A9YoF9d`AzGF?>GZsdZ|Kgs6*Tv2M@5r zzSh{={7Ohatgu&<`b(eGLWxNo!@TvI3+Y#S+i#w!QqJXq2DJVFS+)1|h%vGW4+|YH zA@KMsoZ&!f^$rVF`!aS)xl^@sj=IRV!nybT2^{uLxUsoJ+JWHqvu0{3g2xV7$hcp< zZ4KNDU=yKQL(@GZx~iZ1aG9dd?6mH+^$Tm8nY+-!(UQhwAF|nIyum--2T+kB;E&U% zbuF&5Pt4T>zyl1#cIg!`Cz98eQCI?;f#5MYYuH5NkQfxQHuj(w$z6tOGWqKq(h^u< zb@#rcff2(tn(A2^qyB!Vyzq;~?2Oh^Vl!XQep->9z7a^HXOGYN9TX#pq!zJ1K&j|u z>lbKGLXLpc;G*DiU5%K}+FR5)!QMyRE2H%*e1Y`juxpSRe5@N4d(qzQiA?|z%MQeR zuV*38x+gYa+PdX&h_z7G^?D*5T_E7}Xc#A_<9WilUI%)P(*~Rh=-ad*CRBullXxS8 z=MH^mcaAsN*IGdh$9TV0)YHI=Zlh$94wzxu=wjoEZaf=TcL&5A-u%cwuWfBTM^6>a z z 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%0AS@vK%h;9M~QWc(>4 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%0Ai@T>c|t`LeBz}(|YV=bL@Blgwt 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 From d12db23d3b54a9ba67fcf565e8ce911e421cd2a7 Mon Sep 17 00:00:00 2001 From: Faisal Alquaddoomi Date: Fri, 6 Mar 2026 12:22:26 -0700 Subject: [PATCH 11/13] Corrected missed manugen-ai ref in test workflow --- .github/workflows/run-tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 70ca3dd..e0bc3b2 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -39,7 +39,7 @@ jobs: - name: Run pytest # cd into the packages dir and run pytest # note: we skip notebooks as these are for reporting only. - run: cd packages/manugen-ai && uv run --frozen pytest -m "not notebooks" + run: cd packages/manufold && uv run --frozen pytest -m "not notebooks" env: # use the same models here to keep ci run duration low # by avoiding extra downloads From 743788057ae564ec9d041e2e3d551414db9fecc1 Mon Sep 17 00:00:00 2001 From: Faisal Alquaddoomi Date: Fri, 6 Mar 2026 12:22:52 -0700 Subject: [PATCH 12/13] Updated a few more old manugen-ai text refs --- .env.TEMPLATE | 2 +- README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env.TEMPLATE b/.env.TEMPLATE index d360482..da917a4 100644 --- a/.env.TEMPLATE +++ b/.env.TEMPLATE @@ -43,7 +43,7 @@ USE_GEMINI_EMBEDDINGS=1 GEMINI_EMBEDDING_MODEL_NAME="text-embedding-004" # should be filled with the URL to the text embedding model -# (you'll need to contact a manugen-ai admin for this URL; +# (you'll need to contact a manufold admin for this URL; # we can't make it publicly available) WITHDRARXIV_EMBEDDINGS_URL__TEXT_EMBEDDING_004="" diff --git a/README.md b/README.md index bdeee18..b7ee852 100644 --- a/README.md +++ b/README.md @@ -172,7 +172,7 @@ Does your research involve the use of a version controlled repository (for examp You can use Manugen AI to create a manuscript by passing the URL for the project with the "Repos" action. 1. Within the frontend, refresh your browser so you start with an empty session. -1. On the left panel, paste in a GitHub URL (e.g. `https://github.com/pivlab/manugen-ai`). +1. On the left panel, paste in a GitHub URL (e.g. `https://github.com/pivlab/manufold`). 1. Highlight the GitHub URL and click the "Repos" action. 1. Manugen AI agents will absorb information about your repository and provide a draft manuscript in return. From c9b8b5488bcfeedea51ec913cbefb6dbed4d395e Mon Sep 17 00:00:00 2001 From: Faisal Alquaddoomi Date: Fri, 6 Mar 2026 14:11:39 -0700 Subject: [PATCH 13/13] Tweak test to wait for ollama to be up before attempting to pull model --- .github/workflows/run-tests.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index e0bc3b2..f43d2fc 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -29,7 +29,13 @@ jobs: - name: Run ollama run: | ollama serve & + + until curl -s http://localhost:11434/api/tags > /dev/null; do + sleep 1 + done + ollama pull llama3.2:3b + - name: Python setup uses: actions/setup-python@v5 with: