From 2a4793cfdc6518664c02c38aa3ab8657ca4be6e4 Mon Sep 17 00:00:00 2001 From: Luke Zhang Date: Wed, 8 Oct 2025 19:46:46 -0700 Subject: [PATCH] Add OpenTelemetry instrumentation for Model Context Protocol (MCP) This commit introduces a new instrumentation package for the Model Context Protocol (MCP), enabling automatic distributed tracing for MCP client-server interactions. Key Features: - Automatic instrumentation of MCP client sessions and server handlers - Support for both stdio and HTTP/SSE transports - W3C trace context propagation across MCP messages - Comprehensive span attributes following semantic conventions - Tool calls, resource reads, prompt handling, and session lifecycle tracing Package Structure: - Core instrumentation: McpInstrumentor with automatic wrapping - Semantic attributes: MCP-specific span attributes and conventions - Test coverage: Unit tests for instrumentor, server, and session wrappers - Examples: stdio (simple-client-server) and HTTP/SSE transport demos - Documentation: README, CHANGELOG, and example-specific guides Technical Implementation: - Wraps mcp.ClientSession and mcp.server.Server classes - Injects trace context into message metadata - Extracts and propagates context across transport boundaries - Records exceptions and sets span status appropriately - Requires Python >=3.10 (MCP SDK requirement) CI/CD Updates: - Added MCP instrumentation to test workflows - Updated lint configuration for new package - Disabled pypy3 tests (Python 3.10+ requirement) - Integrated into eachdist.ini and bootstrap generation Examples: - simple-client-server: stdio transport with tool calls and resources - http-transport: HTTP/SSE transport with distributed tracing - Both include Jaeger trace visualizations and setup instructions" --- .github/workflows/lint_0.yml | 19 + .github/workflows/test_0.yml | 304 ++--- .github/workflows/test_1.yml | 304 ++--- .github/workflows/test_2.yml | 152 +++ RELEASING.md | 1 + eachdist.ini | 1 + instrumentation-genai/README.md | 1 + .../CHANGELOG.md | 8 + .../opentelemetry-instrumentation-mcp/LICENSE | 201 +++ .../README.rst | 43 + .../examples/http-transport/README.md | 84 ++ .../examples/http-transport/client/client.py | 51 + .../http-transport/client/pyproject.toml | 13 + .../examples/http-transport/client/uv.lock | 1087 ++++++++++++++++ .../examples/http-transport/mcphttp.png | Bin 0 -> 593934 bytes .../http-transport/server/pyproject.toml | 14 + .../examples/http-transport/server/server.py | 67 + .../examples/http-transport/server/uv.lock | 1159 +++++++++++++++++ .../simple-client-server/client/README.md | 24 + .../simple-client-server/client/main.py | 75 ++ .../simple-client-server/client/mcptrace.png | Bin 0 -> 476664 bytes .../client/pyproject.toml | 15 + .../simple-client-server/client/uv.lock | 993 ++++++++++++++ .../simple-client-server/server/README.md | 6 + .../server/mcp_simple_tool/__init__.py | 0 .../server/mcp_simple_tool/__main__.py | 5 + .../server/mcp_simple_tool/server.py | 66 + .../server/pyproject.toml | 52 + .../simple-client-server/server/uv.lock | 960 ++++++++++++++ .../pyproject.toml | 54 + .../instrumentation/mcp/__init__.py | 18 + .../instrumentation/mcp/attributes.py | 102 ++ .../instrumentation/mcp/instrumentation.py | 450 +++++++ .../instrumentation/mcp/package.py | 15 + .../instrumentation/mcp/py.typed | 0 .../instrumentation/mcp/version.py | 15 + .../tests/__init__.py | 0 .../tests/requirements.latest.txt | 16 + .../tests/requirements.oldest.txt | 20 + .../tests/test_instrumentor.py | 205 +++ .../tests/test_server_wrapper.py | 378 ++++++ .../tests/test_session_wrapper.py | 349 +++++ pyproject.toml | 1 + scripts/generate_instrumentation_bootstrap.py | 4 + tox.ini | 19 + uv.lock | 786 ++--------- 46 files changed, 7123 insertions(+), 1014 deletions(-) create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/CHANGELOG.md create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/LICENSE create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/README.rst create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/README.md create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/client/client.py create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/client/pyproject.toml create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/client/uv.lock create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/mcphttp.png create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/server/pyproject.toml create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/server/server.py create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/server/uv.lock create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/README.md create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/main.py create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/mcptrace.png create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/pyproject.toml create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/uv.lock create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/README.md create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/mcp_simple_tool/__init__.py create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/mcp_simple_tool/__main__.py create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/mcp_simple_tool/server.py create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/pyproject.toml create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/uv.lock create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/pyproject.toml create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/__init__.py create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/attributes.py create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/instrumentation.py create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/package.py create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/py.typed create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/version.py create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/tests/__init__.py create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/tests/requirements.latest.txt create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/tests/requirements.oldest.txt create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/tests/test_instrumentor.py create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/tests/test_server_wrapper.py create mode 100644 instrumentation-genai/opentelemetry-instrumentation-mcp/tests/test_session_wrapper.py diff --git a/.github/workflows/lint_0.yml b/.github/workflows/lint_0.yml index 309705ae5a..3355d298b4 100644 --- a/.github/workflows/lint_0.yml +++ b/.github/workflows/lint_0.yml @@ -89,6 +89,25 @@ jobs: - name: Run tests run: tox -e lint-instrumentation-google-genai + lint-instrumentation-mcp: + name: instrumentation-mcp + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e lint-instrumentation-mcp + lint-resource-detector-containerid: name: resource-detector-containerid runs-on: ubuntu-latest diff --git a/.github/workflows/test_0.yml b/.github/workflows/test_0.yml index 68694460b6..0c472696e6 100644 --- a/.github/workflows/test_0.yml +++ b/.github/workflows/test_0.yml @@ -640,6 +640,158 @@ jobs: - name: Run tests run: tox -e py313-test-instrumentation-google-genai-latest -- -ra + py310-test-instrumentation-mcp-oldest_ubuntu-latest: + name: instrumentation-mcp-oldest 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-mcp-oldest -- -ra + + py310-test-instrumentation-mcp-latest_ubuntu-latest: + name: instrumentation-mcp-latest 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-mcp-latest -- -ra + + py311-test-instrumentation-mcp-oldest_ubuntu-latest: + name: instrumentation-mcp-oldest 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-mcp-oldest -- -ra + + py311-test-instrumentation-mcp-latest_ubuntu-latest: + name: instrumentation-mcp-latest 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-mcp-latest -- -ra + + py312-test-instrumentation-mcp-oldest_ubuntu-latest: + name: instrumentation-mcp-oldest 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-mcp-oldest -- -ra + + py312-test-instrumentation-mcp-latest_ubuntu-latest: + name: instrumentation-mcp-latest 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-mcp-latest -- -ra + + py313-test-instrumentation-mcp-oldest_ubuntu-latest: + name: instrumentation-mcp-oldest 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-mcp-oldest -- -ra + + py313-test-instrumentation-mcp-latest_ubuntu-latest: + name: instrumentation-mcp-latest 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-mcp-latest -- -ra + py39-test-resource-detector-containerid_ubuntu-latest: name: resource-detector-containerid 3.9 Ubuntu runs-on: ubuntu-latest @@ -4629,155 +4781,3 @@ jobs: - name: Run tests run: tox -e py313-test-instrumentation-starlette-latest -- -ra - - pypy3-test-instrumentation-starlette-oldest_ubuntu-latest: - name: instrumentation-starlette-oldest pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-starlette-oldest -- -ra - - pypy3-test-instrumentation-starlette-latest_ubuntu-latest: - name: instrumentation-starlette-latest pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-starlette-latest -- -ra - - py39-test-instrumentation-jinja2_ubuntu-latest: - name: instrumentation-jinja2 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-jinja2 -- -ra - - py310-test-instrumentation-jinja2_ubuntu-latest: - name: instrumentation-jinja2 3.10 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.10 - uses: actions/setup-python@v5 - with: - python-version: "3.10" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py310-test-instrumentation-jinja2 -- -ra - - py311-test-instrumentation-jinja2_ubuntu-latest: - name: instrumentation-jinja2 3.11 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.11 - uses: actions/setup-python@v5 - with: - python-version: "3.11" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py311-test-instrumentation-jinja2 -- -ra - - py312-test-instrumentation-jinja2_ubuntu-latest: - name: instrumentation-jinja2 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-jinja2 -- -ra - - py313-test-instrumentation-jinja2_ubuntu-latest: - name: instrumentation-jinja2 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-jinja2 -- -ra - - pypy3-test-instrumentation-jinja2_ubuntu-latest: - name: instrumentation-jinja2 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-jinja2 -- -ra diff --git a/.github/workflows/test_1.yml b/.github/workflows/test_1.yml index e60b3c530b..8f484d6c05 100644 --- a/.github/workflows/test_1.yml +++ b/.github/workflows/test_1.yml @@ -32,6 +32,158 @@ env: jobs: + pypy3-test-instrumentation-starlette-oldest_ubuntu-latest: + name: instrumentation-starlette-oldest pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-starlette-oldest -- -ra + + pypy3-test-instrumentation-starlette-latest_ubuntu-latest: + name: instrumentation-starlette-latest pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-starlette-latest -- -ra + + py39-test-instrumentation-jinja2_ubuntu-latest: + name: instrumentation-jinja2 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-jinja2 -- -ra + + py310-test-instrumentation-jinja2_ubuntu-latest: + name: instrumentation-jinja2 3.10 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.10 + uses: actions/setup-python@v5 + with: + python-version: "3.10" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py310-test-instrumentation-jinja2 -- -ra + + py311-test-instrumentation-jinja2_ubuntu-latest: + name: instrumentation-jinja2 3.11 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.11 + uses: actions/setup-python@v5 + with: + python-version: "3.11" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py311-test-instrumentation-jinja2 -- -ra + + py312-test-instrumentation-jinja2_ubuntu-latest: + name: instrumentation-jinja2 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-jinja2 -- -ra + + py313-test-instrumentation-jinja2_ubuntu-latest: + name: instrumentation-jinja2 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-jinja2 -- -ra + + pypy3-test-instrumentation-jinja2_ubuntu-latest: + name: instrumentation-jinja2 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-jinja2 -- -ra + py39-test-instrumentation-logging_ubuntu-latest: name: instrumentation-logging 3.9 Ubuntu runs-on: ubuntu-latest @@ -4629,155 +4781,3 @@ jobs: - name: Run tests run: tox -e py311-test-instrumentation-sio-pika-1 -- -ra - - py312-test-instrumentation-sio-pika-0_ubuntu-latest: - name: instrumentation-sio-pika-0 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-sio-pika-0 -- -ra - - py312-test-instrumentation-sio-pika-1_ubuntu-latest: - name: instrumentation-sio-pika-1 3.12 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.12 - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py312-test-instrumentation-sio-pika-1 -- -ra - - py313-test-instrumentation-sio-pika-0_ubuntu-latest: - name: instrumentation-sio-pika-0 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-sio-pika-0 -- -ra - - py313-test-instrumentation-sio-pika-1_ubuntu-latest: - name: instrumentation-sio-pika-1 3.13 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.13 - uses: actions/setup-python@v5 - with: - python-version: "3.13" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py313-test-instrumentation-sio-pika-1 -- -ra - - pypy3-test-instrumentation-sio-pika-0_ubuntu-latest: - name: instrumentation-sio-pika-0 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-sio-pika-0 -- -ra - - pypy3-test-instrumentation-sio-pika-1_ubuntu-latest: - name: instrumentation-sio-pika-1 pypy-3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python pypy-3.9 - uses: actions/setup-python@v5 - with: - python-version: "pypy-3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e pypy3-test-instrumentation-sio-pika-1 -- -ra - - py39-test-instrumentation-aio-pika-0_ubuntu-latest: - name: instrumentation-aio-pika-0 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aio-pika-0 -- -ra - - py39-test-instrumentation-aio-pika-1_ubuntu-latest: - name: instrumentation-aio-pika-1 3.9 Ubuntu - runs-on: ubuntu-latest - timeout-minutes: 30 - steps: - - name: Checkout repo @ SHA - ${{ github.sha }} - uses: actions/checkout@v4 - - - name: Set up Python 3.9 - uses: actions/setup-python@v5 - with: - python-version: "3.9" - - - name: Install tox - run: pip install tox-uv - - - name: Run tests - run: tox -e py39-test-instrumentation-aio-pika-1 -- -ra diff --git a/.github/workflows/test_2.yml b/.github/workflows/test_2.yml index 8a385e54f4..e9fe4edf1f 100644 --- a/.github/workflows/test_2.yml +++ b/.github/workflows/test_2.yml @@ -32,6 +32,158 @@ env: jobs: + py312-test-instrumentation-sio-pika-0_ubuntu-latest: + name: instrumentation-sio-pika-0 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-sio-pika-0 -- -ra + + py312-test-instrumentation-sio-pika-1_ubuntu-latest: + name: instrumentation-sio-pika-1 3.12 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.12 + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py312-test-instrumentation-sio-pika-1 -- -ra + + py313-test-instrumentation-sio-pika-0_ubuntu-latest: + name: instrumentation-sio-pika-0 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-sio-pika-0 -- -ra + + py313-test-instrumentation-sio-pika-1_ubuntu-latest: + name: instrumentation-sio-pika-1 3.13 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.13 + uses: actions/setup-python@v5 + with: + python-version: "3.13" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py313-test-instrumentation-sio-pika-1 -- -ra + + pypy3-test-instrumentation-sio-pika-0_ubuntu-latest: + name: instrumentation-sio-pika-0 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-sio-pika-0 -- -ra + + pypy3-test-instrumentation-sio-pika-1_ubuntu-latest: + name: instrumentation-sio-pika-1 pypy-3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python pypy-3.9 + uses: actions/setup-python@v5 + with: + python-version: "pypy-3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e pypy3-test-instrumentation-sio-pika-1 -- -ra + + py39-test-instrumentation-aio-pika-0_ubuntu-latest: + name: instrumentation-aio-pika-0 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aio-pika-0 -- -ra + + py39-test-instrumentation-aio-pika-1_ubuntu-latest: + name: instrumentation-aio-pika-1 3.9 Ubuntu + runs-on: ubuntu-latest + timeout-minutes: 30 + steps: + - name: Checkout repo @ SHA - ${{ github.sha }} + uses: actions/checkout@v4 + + - name: Set up Python 3.9 + uses: actions/setup-python@v5 + with: + python-version: "3.9" + + - name: Install tox + run: pip install tox-uv + + - name: Run tests + run: tox -e py39-test-instrumentation-aio-pika-1 -- -ra + py39-test-instrumentation-aio-pika-2_ubuntu-latest: name: instrumentation-aio-pika-2 3.9 Ubuntu runs-on: ubuntu-latest diff --git a/RELEASING.md b/RELEASING.md index 41b3491a9b..527d1d6c3a 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -25,6 +25,7 @@ > - opentelemetry-instrumentation-vertexai > - opentelemetry-instrumentation-google-genai > - opentelemetry-instrumentation-langchain +> - opentelemetry-instrumentation-mcp > - opentelemetry-instrumentation-weaviate > - opentelemetry-util-genai > diff --git a/eachdist.ini b/eachdist.ini index 0e731e5fd2..d57c58c637 100644 --- a/eachdist.ini +++ b/eachdist.ini @@ -56,6 +56,7 @@ packages= opentelemetry-instrumentation-openai-v2 opentelemetry-instrumentation-test opentelemetry-instrumentation-langchain + opentelemetry-instrumentation-mcp opentelemetry-instrumentation-weaviate opentelemetry-util-genai diff --git a/instrumentation-genai/README.md b/instrumentation-genai/README.md index 1b8f5e49e6..4bc8a3e2ec 100644 --- a/instrumentation-genai/README.md +++ b/instrumentation-genai/README.md @@ -3,6 +3,7 @@ | --------------- | ------------------ | --------------- | -------------- | | [opentelemetry-instrumentation-google-genai](./opentelemetry-instrumentation-google-genai) | google-genai >= 1.0.0 | No | development | [opentelemetry-instrumentation-langchain](./opentelemetry-instrumentation-langchain) | langchain >= 0.3.21 | No | development +| [opentelemetry-instrumentation-mcp](./opentelemetry-instrumentation-mcp) | mcp >= 1.8.1 | No | development | [opentelemetry-instrumentation-openai-agents-v2](./opentelemetry-instrumentation-openai-agents-v2) | openai-agents >= 0.3.3 | No | development | [opentelemetry-instrumentation-openai-v2](./opentelemetry-instrumentation-openai-v2) | openai >= 1.26.0 | Yes | development | [opentelemetry-instrumentation-vertexai](./opentelemetry-instrumentation-vertexai) | google-cloud-aiplatform >= 1.64 | No | development diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/CHANGELOG.md b/instrumentation-genai/opentelemetry-instrumentation-mcp/CHANGELOG.md new file mode 100644 index 0000000000..6209a70d6f --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/CHANGELOG.md @@ -0,0 +1,8 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). + +## Unreleased \ No newline at end of file diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/LICENSE b/instrumentation-genai/opentelemetry-instrumentation-mcp/LICENSE new file mode 100644 index 0000000000..f49a4e16e6 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/LICENSE @@ -0,0 +1,201 @@ + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. \ No newline at end of file diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/README.rst b/instrumentation-genai/opentelemetry-instrumentation-mcp/README.rst new file mode 100644 index 0000000000..d13a2d2211 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/README.rst @@ -0,0 +1,43 @@ +OpenTelemetry MCP Instrumentation +================================== + +OpenTelemetry instrumentation for Model Context Protocol (MCP). + +Installation +------------ + +.. code-block:: bash + + pip install opentelemetry-instrumentation-mcp + +Usage +----- + +Automatically enabled with: + +.. code-block:: bash + + opentelemetry-instrument python your_mcp_app.py + +Examples +-------- + +See the ``examples/`` directory for complete working examples: + +- **simple-client-server**: stdio transport example with Jaeger integration +- **http-transport**: HTTP/SSE transport example with console exporter + +Supported Transports +-------------------- + +- **stdio**: Process-based communication (stdin/stdout) +- **HTTP/SSE**: Network-based communication with Server-Sent Events + +Both transports are fully instrumented with automatic trace context propagation. + +Spans Created +------------- + +- **Client spans**: ``mcp.client`` with method-specific names (e.g., ``tools/call add``) +- **Server spans**: ``mcp.server`` with method-specific names +- Distributed tracing via W3C trace context in message metadata \ No newline at end of file diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/README.md b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/README.md new file mode 100644 index 0000000000..1dc93c83b1 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/README.md @@ -0,0 +1,84 @@ +# MCP HTTP Transport Example + +This example demonstrates OpenTelemetry instrumentation for MCP using HTTP transport with Server-Sent Events (SSE). + +## Running the Server + +### 1. Install Dependencies + +```bash +cd server +uv sync +uv run opentelemetry-bootstrap -a install + +# Install MCP instrumentation library +uv run pip install -e ../../../../opentelemetry-instrumentation-mcp +``` + +### 2. Start the Server + +```bash +cd server + +OTEL_SERVICE_NAME=mcp-server-PyHttp \ + OTEL_TRACES_EXPORTER=otlp \ + OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4317/v1/traces \ + uv run opentelemetry-instrument python ./server.py +``` + +The server will start on `http://localhost:8000`. + +## Running the Client + +### 1. Install Dependencies + +```bash +cd client +uv sync +uv run opentelemetry-bootstrap -a install + +# Install MCP instrumentation library +uv run pip install -e ../../../../opentelemetry-instrumentation-mcp +``` + +### 2. Run the Client + +```bash +cd client + +OTEL_SERVICE_NAME=mcp-client-PyHttp \ + OTEL_TRACES_EXPORTER=otlp \ + OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4317/v1/traces \ + uv run opentelemetry-instrument python ./client.py +``` + +## Jaeger Trace Visualization + +![MCP HTTP Transport Trace](mcphttp.png) + + +## How It Works + +### Transport Layer + +- **Server**: Uses `mcp.server.sse` for HTTP transport with Server-Sent Events +- **Client**: Uses `mcp.client.sse.sse_client()` to connect via HTTP +- **Communication**: Real-time bidirectional communication over HTTP/SSE + +### Instrumentation + +The OpenTelemetry instrumentation automatically: + +1. **Traces all MCP operations**: Tool calls, resource reads, prompt handling, and session lifecycle +2. **Injects W3C trace context**: Embeds trace context into MCP message metadata +3. **Propagates context**: Maintains trace continuity across HTTP requests +4. **Links spans**: Creates parent-child relationships between client and server operations + +## Transport Comparison + +| Feature | stdio Transport | HTTP/SSE Transport | +|---------|----------------|--------------------| +| Communication | Process-based (stdin/stdout) | Network-based (HTTP) | +| Use Case | Local processes | Distributed systems | +| Instrumentation | Fully supported | Fully supported | +| Trace Propagation | W3C trace context | W3C trace context | diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/client/client.py b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/client/client.py new file mode 100644 index 0000000000..729ecfd298 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/client/client.py @@ -0,0 +1,51 @@ +#!/usr/bin/env python3 +"""MCP client with HTTP transport using SSE.""" + +import asyncio + +from mcp import ClientSession +from mcp.client.sse import sse_client +from pydantic import AnyUrl + +from opentelemetry import trace + + +async def main(): + tracer = trace.get_tracer(__name__) + + with tracer.start_as_current_span("mcp_http_client"): + # Connect to MCP server via HTTP + async with sse_client("http://localhost:8000/sse") as (read, write): + async with ClientSession(read, write) as session: + # Initialize + await session.initialize() + + # List tools + tools = await session.list_tools() + print(f"Available tools: {[t.name for t in tools.tools]}") + + # Call pingweb tool + result = await session.call_tool( + "pingweb", arguments={"url": "http://www.aws.com"} + ) + print(f"pingweb result: {result.content}") + + # Call awssdkcall tool + result = await session.call_tool("awssdkcall") + print(f"awssdkcall result: {result.content}") + + # Call tool + result = await session.call_tool( + "add", arguments={"a": 5, "b": 3} + ) + print(f"add(5, 3) = {result.content}") + + # Read resource + greeting = await session.read_resource( + AnyUrl("greeting://World") + ) + print(f"Greeting: {greeting}") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/client/pyproject.toml b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/client/pyproject.toml new file mode 100644 index 0000000000..15dc6e7820 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/client/pyproject.toml @@ -0,0 +1,13 @@ +[project] +name = "mcp-http-client-example" +version = "0.1.0" +requires-python = ">=3.10" +dependencies = [ + "mcp>=1.8.1", + "opentelemetry-api>=1.37.0", + "opentelemetry-distro>=0.58b0", + "opentelemetry-exporter-otlp>=1.37.0", + "opentelemetry-instrumentation-mcp", + "opentelemetry-sdk", + "pip>=25.2", +] diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/client/uv.lock b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/client/uv.lock new file mode 100644 index 0000000000..981c9e7782 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/client/uv.lock @@ -0,0 +1,1087 @@ +version = 1 +revision = 3 +requires-python = ">=3.10" +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version < '3.13'", +] + +[[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" } +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" }, +] + +[[package]] +name = "anyio" +version = "4.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "idna" }, + { name = "sniffio" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz", hash = "sha256:82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4", size = 219094, upload-time = "2025-09-23T09:19:12.58Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl", hash = "sha256:0287e96f4d26d4149305414d4e3bc32f0dcd0862365a4bddea19d7a1ec38c4fc", size = 109097, upload-time = "2025-09-23T09:19:10.601Z" }, +] + +[[package]] +name = "attrs" +version = "25.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", size = 934251, upload-time = "2025-10-06T13:54:44.725Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615, upload-time = "2025-10-06T13:54:43.17Z" }, +] + +[[package]] +name = "certifi" +version = "2025.10.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/5b/b6ce21586237c77ce67d01dc5507039d444b630dd76611bbca2d8e5dcd91/certifi-2025.10.5.tar.gz", hash = "sha256:47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43", size = 164519, upload-time = "2025-10-05T04:12:15.808Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl", hash = "sha256:0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de", size = 163286, upload-time = "2025-10-05T04:12:14.03Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", size = 129418, upload-time = "2025-10-14T04:42:32.879Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1f/b8/6d51fc1d52cbd52cd4ccedd5b5b2f0f6a11bbf6765c782298b0f3e808541/charset_normalizer-3.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d", size = 209709, upload-time = "2025-10-14T04:40:11.385Z" }, + { url = "https://files.pythonhosted.org/packages/5c/af/1f9d7f7faafe2ddfb6f72a2e07a548a629c61ad510fe60f9630309908fef/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4bd5d4137d500351a30687c2d3971758aac9a19208fc110ccb9d7188fbe709e8", size = 148814, upload-time = "2025-10-14T04:40:13.135Z" }, + { url = "https://files.pythonhosted.org/packages/79/3d/f2e3ac2bbc056ca0c204298ea4e3d9db9b4afe437812638759db2c976b5f/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:027f6de494925c0ab2a55eab46ae5129951638a49a34d87f4c3eda90f696b4ad", size = 144467, upload-time = "2025-10-14T04:40:14.728Z" }, + { url = "https://files.pythonhosted.org/packages/ec/85/1bf997003815e60d57de7bd972c57dc6950446a3e4ccac43bc3070721856/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f820802628d2694cb7e56db99213f930856014862f3fd943d290ea8438d07ca8", size = 162280, upload-time = "2025-10-14T04:40:16.14Z" }, + { url = "https://files.pythonhosted.org/packages/3e/8e/6aa1952f56b192f54921c436b87f2aaf7c7a7c3d0d1a765547d64fd83c13/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:798d75d81754988d2565bff1b97ba5a44411867c0cf32b77a7e8f8d84796b10d", size = 159454, upload-time = "2025-10-14T04:40:17.567Z" }, + { url = "https://files.pythonhosted.org/packages/36/3b/60cbd1f8e93aa25d1c669c649b7a655b0b5fb4c571858910ea9332678558/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d1bb833febdff5c8927f922386db610b49db6e0d4f4ee29601d71e7c2694313", size = 153609, upload-time = "2025-10-14T04:40:19.08Z" }, + { url = "https://files.pythonhosted.org/packages/64/91/6a13396948b8fd3c4b4fd5bc74d045f5637d78c9675585e8e9fbe5636554/charset_normalizer-3.4.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9cd98cdc06614a2f768d2b7286d66805f94c48cde050acdbbb7db2600ab3197e", size = 151849, upload-time = "2025-10-14T04:40:20.607Z" }, + { url = "https://files.pythonhosted.org/packages/b7/7a/59482e28b9981d105691e968c544cc0df3b7d6133152fb3dcdc8f135da7a/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:077fbb858e903c73f6c9db43374fd213b0b6a778106bc7032446a8e8b5b38b93", size = 151586, upload-time = "2025-10-14T04:40:21.719Z" }, + { url = "https://files.pythonhosted.org/packages/92/59/f64ef6a1c4bdd2baf892b04cd78792ed8684fbc48d4c2afe467d96b4df57/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:244bfb999c71b35de57821b8ea746b24e863398194a4014e4c76adc2bbdfeff0", size = 145290, upload-time = "2025-10-14T04:40:23.069Z" }, + { url = "https://files.pythonhosted.org/packages/6b/63/3bf9f279ddfa641ffa1962b0db6a57a9c294361cc2f5fcac997049a00e9c/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:64b55f9dce520635f018f907ff1b0df1fdc31f2795a922fb49dd14fbcdf48c84", size = 163663, upload-time = "2025-10-14T04:40:24.17Z" }, + { url = "https://files.pythonhosted.org/packages/ed/09/c9e38fc8fa9e0849b172b581fd9803bdf6e694041127933934184e19f8c3/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:faa3a41b2b66b6e50f84ae4a68c64fcd0c44355741c6374813a800cd6695db9e", size = 151964, upload-time = "2025-10-14T04:40:25.368Z" }, + { url = "https://files.pythonhosted.org/packages/d2/d1/d28b747e512d0da79d8b6a1ac18b7ab2ecfd81b2944c4c710e166d8dd09c/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6515f3182dbe4ea06ced2d9e8666d97b46ef4c75e326b79bb624110f122551db", size = 161064, upload-time = "2025-10-14T04:40:26.806Z" }, + { url = "https://files.pythonhosted.org/packages/bb/9a/31d62b611d901c3b9e5500c36aab0ff5eb442043fb3a1c254200d3d397d9/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc00f04ed596e9dc0da42ed17ac5e596c6ccba999ba6bd92b0e0aef2f170f2d6", size = 155015, upload-time = "2025-10-14T04:40:28.284Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f3/107e008fa2bff0c8b9319584174418e5e5285fef32f79d8ee6a430d0039c/charset_normalizer-3.4.4-cp310-cp310-win32.whl", hash = "sha256:f34be2938726fc13801220747472850852fe6b1ea75869a048d6f896838c896f", size = 99792, upload-time = "2025-10-14T04:40:29.613Z" }, + { url = "https://files.pythonhosted.org/packages/eb/66/e396e8a408843337d7315bab30dbf106c38966f1819f123257f5520f8a96/charset_normalizer-3.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:a61900df84c667873b292c3de315a786dd8dac506704dea57bc957bd31e22c7d", size = 107198, upload-time = "2025-10-14T04:40:30.644Z" }, + { url = "https://files.pythonhosted.org/packages/b5/58/01b4f815bf0312704c267f2ccb6e5d42bcc7752340cd487bc9f8c3710597/charset_normalizer-3.4.4-cp310-cp310-win_arm64.whl", hash = "sha256:cead0978fc57397645f12578bfd2d5ea9138ea0fac82b2f63f7f7c6877986a69", size = 100262, upload-time = "2025-10-14T04:40:32.108Z" }, + { url = "https://files.pythonhosted.org/packages/ed/27/c6491ff4954e58a10f69ad90aca8a1b6fe9c5d3c6f380907af3c37435b59/charset_normalizer-3.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8", size = 206988, upload-time = "2025-10-14T04:40:33.79Z" }, + { url = "https://files.pythonhosted.org/packages/94/59/2e87300fe67ab820b5428580a53cad894272dbb97f38a7a814a2a1ac1011/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0", size = 147324, upload-time = "2025-10-14T04:40:34.961Z" }, + { url = "https://files.pythonhosted.org/packages/07/fb/0cf61dc84b2b088391830f6274cb57c82e4da8bbc2efeac8c025edb88772/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3", size = 142742, upload-time = "2025-10-14T04:40:36.105Z" }, + { url = "https://files.pythonhosted.org/packages/62/8b/171935adf2312cd745d290ed93cf16cf0dfe320863ab7cbeeae1dcd6535f/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc", size = 160863, upload-time = "2025-10-14T04:40:37.188Z" }, + { url = "https://files.pythonhosted.org/packages/09/73/ad875b192bda14f2173bfc1bc9a55e009808484a4b256748d931b6948442/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897", size = 157837, upload-time = "2025-10-14T04:40:38.435Z" }, + { url = "https://files.pythonhosted.org/packages/6d/fc/de9cce525b2c5b94b47c70a4b4fb19f871b24995c728e957ee68ab1671ea/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381", size = 151550, upload-time = "2025-10-14T04:40:40.053Z" }, + { url = "https://files.pythonhosted.org/packages/55/c2/43edd615fdfba8c6f2dfbd459b25a6b3b551f24ea21981e23fb768503ce1/charset_normalizer-3.4.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815", size = 149162, upload-time = "2025-10-14T04:40:41.163Z" }, + { url = "https://files.pythonhosted.org/packages/03/86/bde4ad8b4d0e9429a4e82c1e8f5c659993a9a863ad62c7df05cf7b678d75/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0", size = 150019, upload-time = "2025-10-14T04:40:42.276Z" }, + { url = "https://files.pythonhosted.org/packages/1f/86/a151eb2af293a7e7bac3a739b81072585ce36ccfb4493039f49f1d3cae8c/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161", size = 143310, upload-time = "2025-10-14T04:40:43.439Z" }, + { url = "https://files.pythonhosted.org/packages/b5/fe/43dae6144a7e07b87478fdfc4dbe9efd5defb0e7ec29f5f58a55aeef7bf7/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4", size = 162022, upload-time = "2025-10-14T04:40:44.547Z" }, + { url = "https://files.pythonhosted.org/packages/80/e6/7aab83774f5d2bca81f42ac58d04caf44f0cc2b65fc6db2b3b2e8a05f3b3/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89", size = 149383, upload-time = "2025-10-14T04:40:46.018Z" }, + { url = "https://files.pythonhosted.org/packages/4f/e8/b289173b4edae05c0dde07f69f8db476a0b511eac556dfe0d6bda3c43384/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569", size = 159098, upload-time = "2025-10-14T04:40:47.081Z" }, + { url = "https://files.pythonhosted.org/packages/d8/df/fe699727754cae3f8478493c7f45f777b17c3ef0600e28abfec8619eb49c/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224", size = 152991, upload-time = "2025-10-14T04:40:48.246Z" }, + { url = "https://files.pythonhosted.org/packages/1a/86/584869fe4ddb6ffa3bd9f491b87a01568797fb9bd8933f557dba9771beaf/charset_normalizer-3.4.4-cp311-cp311-win32.whl", hash = "sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a", size = 99456, upload-time = "2025-10-14T04:40:49.376Z" }, + { url = "https://files.pythonhosted.org/packages/65/f6/62fdd5feb60530f50f7e38b4f6a1d5203f4d16ff4f9f0952962c044e919a/charset_normalizer-3.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016", size = 106978, upload-time = "2025-10-14T04:40:50.844Z" }, + { url = "https://files.pythonhosted.org/packages/7a/9d/0710916e6c82948b3be62d9d398cb4fcf4e97b56d6a6aeccd66c4b2f2bd5/charset_normalizer-3.4.4-cp311-cp311-win_arm64.whl", hash = "sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1", size = 99969, upload-time = "2025-10-14T04:40:52.272Z" }, + { url = "https://files.pythonhosted.org/packages/f3/85/1637cd4af66fa687396e757dec650f28025f2a2f5a5531a3208dc0ec43f2/charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394", size = 208425, upload-time = "2025-10-14T04:40:53.353Z" }, + { url = "https://files.pythonhosted.org/packages/9d/6a/04130023fef2a0d9c62d0bae2649b69f7b7d8d24ea5536feef50551029df/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25", size = 148162, upload-time = "2025-10-14T04:40:54.558Z" }, + { url = "https://files.pythonhosted.org/packages/78/29/62328d79aa60da22c9e0b9a66539feae06ca0f5a4171ac4f7dc285b83688/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef", size = 144558, upload-time = "2025-10-14T04:40:55.677Z" }, + { url = "https://files.pythonhosted.org/packages/86/bb/b32194a4bf15b88403537c2e120b817c61cd4ecffa9b6876e941c3ee38fe/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d", size = 161497, upload-time = "2025-10-14T04:40:57.217Z" }, + { url = "https://files.pythonhosted.org/packages/19/89/a54c82b253d5b9b111dc74aca196ba5ccfcca8242d0fb64146d4d3183ff1/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8", size = 159240, upload-time = "2025-10-14T04:40:58.358Z" }, + { url = "https://files.pythonhosted.org/packages/c0/10/d20b513afe03acc89ec33948320a5544d31f21b05368436d580dec4e234d/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86", size = 153471, upload-time = "2025-10-14T04:40:59.468Z" }, + { url = "https://files.pythonhosted.org/packages/61/fa/fbf177b55bdd727010f9c0a3c49eefa1d10f960e5f09d1d887bf93c2e698/charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a", size = 150864, upload-time = "2025-10-14T04:41:00.623Z" }, + { url = "https://files.pythonhosted.org/packages/05/12/9fbc6a4d39c0198adeebbde20b619790e9236557ca59fc40e0e3cebe6f40/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f", size = 150647, upload-time = "2025-10-14T04:41:01.754Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1f/6a9a593d52e3e8c5d2b167daf8c6b968808efb57ef4c210acb907c365bc4/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc", size = 145110, upload-time = "2025-10-14T04:41:03.231Z" }, + { url = "https://files.pythonhosted.org/packages/30/42/9a52c609e72471b0fc54386dc63c3781a387bb4fe61c20231a4ebcd58bdd/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf", size = 162839, upload-time = "2025-10-14T04:41:04.715Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5b/c0682bbf9f11597073052628ddd38344a3d673fda35a36773f7d19344b23/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15", size = 150667, upload-time = "2025-10-14T04:41:05.827Z" }, + { url = "https://files.pythonhosted.org/packages/e4/24/a41afeab6f990cf2daf6cb8c67419b63b48cf518e4f56022230840c9bfb2/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9", size = 160535, upload-time = "2025-10-14T04:41:06.938Z" }, + { url = "https://files.pythonhosted.org/packages/2a/e5/6a4ce77ed243c4a50a1fecca6aaaab419628c818a49434be428fe24c9957/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0", size = 154816, upload-time = "2025-10-14T04:41:08.101Z" }, + { url = "https://files.pythonhosted.org/packages/a8/ef/89297262b8092b312d29cdb2517cb1237e51db8ecef2e9af5edbe7b683b1/charset_normalizer-3.4.4-cp312-cp312-win32.whl", hash = "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26", size = 99694, upload-time = "2025-10-14T04:41:09.23Z" }, + { url = "https://files.pythonhosted.org/packages/3d/2d/1e5ed9dd3b3803994c155cd9aacb60c82c331bad84daf75bcb9c91b3295e/charset_normalizer-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525", size = 107131, upload-time = "2025-10-14T04:41:10.467Z" }, + { url = "https://files.pythonhosted.org/packages/d0/d9/0ed4c7098a861482a7b6a95603edce4c0d9db2311af23da1fb2b75ec26fc/charset_normalizer-3.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3", size = 100390, upload-time = "2025-10-14T04:41:11.915Z" }, + { url = "https://files.pythonhosted.org/packages/97/45/4b3a1239bbacd321068ea6e7ac28875b03ab8bc0aa0966452db17cd36714/charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794", size = 208091, upload-time = "2025-10-14T04:41:13.346Z" }, + { url = "https://files.pythonhosted.org/packages/7d/62/73a6d7450829655a35bb88a88fca7d736f9882a27eacdca2c6d505b57e2e/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed", size = 147936, upload-time = "2025-10-14T04:41:14.461Z" }, + { url = "https://files.pythonhosted.org/packages/89/c5/adb8c8b3d6625bef6d88b251bbb0d95f8205831b987631ab0c8bb5d937c2/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72", size = 144180, upload-time = "2025-10-14T04:41:15.588Z" }, + { url = "https://files.pythonhosted.org/packages/91/ed/9706e4070682d1cc219050b6048bfd293ccf67b3d4f5a4f39207453d4b99/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328", size = 161346, upload-time = "2025-10-14T04:41:16.738Z" }, + { url = "https://files.pythonhosted.org/packages/d5/0d/031f0d95e4972901a2f6f09ef055751805ff541511dc1252ba3ca1f80cf5/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede", size = 158874, upload-time = "2025-10-14T04:41:17.923Z" }, + { url = "https://files.pythonhosted.org/packages/f5/83/6ab5883f57c9c801ce5e5677242328aa45592be8a00644310a008d04f922/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894", size = 153076, upload-time = "2025-10-14T04:41:19.106Z" }, + { url = "https://files.pythonhosted.org/packages/75/1e/5ff781ddf5260e387d6419959ee89ef13878229732732ee73cdae01800f2/charset_normalizer-3.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1", size = 150601, upload-time = "2025-10-14T04:41:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/d7/57/71be810965493d3510a6ca79b90c19e48696fb1ff964da319334b12677f0/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490", size = 150376, upload-time = "2025-10-14T04:41:21.398Z" }, + { url = "https://files.pythonhosted.org/packages/e5/d5/c3d057a78c181d007014feb7e9f2e65905a6c4ef182c0ddf0de2924edd65/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44", size = 144825, upload-time = "2025-10-14T04:41:22.583Z" }, + { url = "https://files.pythonhosted.org/packages/e6/8c/d0406294828d4976f275ffbe66f00266c4b3136b7506941d87c00cab5272/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133", size = 162583, upload-time = "2025-10-14T04:41:23.754Z" }, + { url = "https://files.pythonhosted.org/packages/d7/24/e2aa1f18c8f15c4c0e932d9287b8609dd30ad56dbe41d926bd846e22fb8d/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3", size = 150366, upload-time = "2025-10-14T04:41:25.27Z" }, + { url = "https://files.pythonhosted.org/packages/e4/5b/1e6160c7739aad1e2df054300cc618b06bf784a7a164b0f238360721ab86/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e", size = 160300, upload-time = "2025-10-14T04:41:26.725Z" }, + { url = "https://files.pythonhosted.org/packages/7a/10/f882167cd207fbdd743e55534d5d9620e095089d176d55cb22d5322f2afd/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc", size = 154465, upload-time = "2025-10-14T04:41:28.322Z" }, + { url = "https://files.pythonhosted.org/packages/89/66/c7a9e1b7429be72123441bfdbaf2bc13faab3f90b933f664db506dea5915/charset_normalizer-3.4.4-cp313-cp313-win32.whl", hash = "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac", size = 99404, upload-time = "2025-10-14T04:41:29.95Z" }, + { url = "https://files.pythonhosted.org/packages/c4/26/b9924fa27db384bdcd97ab83b4f0a8058d96ad9626ead570674d5e737d90/charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14", size = 107092, upload-time = "2025-10-14T04:41:31.188Z" }, + { url = "https://files.pythonhosted.org/packages/af/8f/3ed4bfa0c0c72a7ca17f0380cd9e4dd842b09f664e780c13cff1dcf2ef1b/charset_normalizer-3.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2", size = 100408, upload-time = "2025-10-14T04:41:32.624Z" }, + { url = "https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd", size = 207746, upload-time = "2025-10-14T04:41:33.773Z" }, + { url = "https://files.pythonhosted.org/packages/10/9a/97c8d48ef10d6cd4fcead2415523221624bf58bcf68a802721a6bc807c8f/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb", size = 147889, upload-time = "2025-10-14T04:41:34.897Z" }, + { url = "https://files.pythonhosted.org/packages/10/bf/979224a919a1b606c82bd2c5fa49b5c6d5727aa47b4312bb27b1734f53cd/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e", size = 143641, upload-time = "2025-10-14T04:41:36.116Z" }, + { url = "https://files.pythonhosted.org/packages/ba/33/0ad65587441fc730dc7bd90e9716b30b4702dc7b617e6ba4997dc8651495/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14", size = 160779, upload-time = "2025-10-14T04:41:37.229Z" }, + { url = "https://files.pythonhosted.org/packages/67/ed/331d6b249259ee71ddea93f6f2f0a56cfebd46938bde6fcc6f7b9a3d0e09/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191", size = 159035, upload-time = "2025-10-14T04:41:38.368Z" }, + { url = "https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838", size = 152542, upload-time = "2025-10-14T04:41:39.862Z" }, + { url = "https://files.pythonhosted.org/packages/16/85/276033dcbcc369eb176594de22728541a925b2632f9716428c851b149e83/charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6", size = 149524, upload-time = "2025-10-14T04:41:41.319Z" }, + { url = "https://files.pythonhosted.org/packages/9e/f2/6a2a1f722b6aba37050e626530a46a68f74e63683947a8acff92569f979a/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e", size = 150395, upload-time = "2025-10-14T04:41:42.539Z" }, + { url = "https://files.pythonhosted.org/packages/60/bb/2186cb2f2bbaea6338cad15ce23a67f9b0672929744381e28b0592676824/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c", size = 143680, upload-time = "2025-10-14T04:41:43.661Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a5/bf6f13b772fbb2a90360eb620d52ed8f796f3c5caee8398c3b2eb7b1c60d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090", size = 162045, upload-time = "2025-10-14T04:41:44.821Z" }, + { url = "https://files.pythonhosted.org/packages/df/c5/d1be898bf0dc3ef9030c3825e5d3b83f2c528d207d246cbabe245966808d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152", size = 149687, upload-time = "2025-10-14T04:41:46.442Z" }, + { url = "https://files.pythonhosted.org/packages/a5/42/90c1f7b9341eef50c8a1cb3f098ac43b0508413f33affd762855f67a410e/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828", size = 160014, upload-time = "2025-10-14T04:41:47.631Z" }, + { url = "https://files.pythonhosted.org/packages/76/be/4d3ee471e8145d12795ab655ece37baed0929462a86e72372fd25859047c/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec", size = 154044, upload-time = "2025-10-14T04:41:48.81Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6f/8f7af07237c34a1defe7defc565a9bc1807762f672c0fde711a4b22bf9c0/charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", size = 99940, upload-time = "2025-10-14T04:41:49.946Z" }, + { url = "https://files.pythonhosted.org/packages/4b/51/8ade005e5ca5b0d80fb4aff72a3775b325bdc3d27408c8113811a7cbe640/charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", size = 107104, upload-time = "2025-10-14T04:41:51.051Z" }, + { url = "https://files.pythonhosted.org/packages/da/5f/6b8f83a55bb8278772c5ae54a577f3099025f9ade59d0136ac24a0df4bde/charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", size = 100743, upload-time = "2025-10-14T04:41:52.122Z" }, + { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402, upload-time = "2025-10-14T04:42:31.76Z" }, +] + +[[package]] +name = "click" +version = "8.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz", hash = "sha256:e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4", size = 276943, upload-time = "2025-09-18T17:32:23.696Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl", hash = "sha256:9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc", size = 107295, upload-time = "2025-09-18T17:32:22.42Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674, upload-time = "2025-05-10T17:42:49.33Z" }, +] + +[[package]] +name = "googleapis-common-protos" +version = "1.70.0" +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" } +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" }, +] + +[[package]] +name = "grpcio" +version = "1.75.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/f7/8963848164c7604efb3a3e6ee457fdb3a469653e19002bd24742473254f8/grpcio-1.75.1.tar.gz", hash = "sha256:3e81d89ece99b9ace23a6916880baca613c03a799925afb2857887efa8b1b3d2", size = 12731327, upload-time = "2025-09-26T09:03:36.887Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/57/89fd829fb00a6d0bee3fbcb2c8a7aa0252d908949b6ab58bfae99d39d77e/grpcio-1.75.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:1712b5890b22547dd29f3215c5788d8fc759ce6dd0b85a6ba6e2731f2d04c088", size = 5705534, upload-time = "2025-09-26T09:00:52.225Z" }, + { url = "https://files.pythonhosted.org/packages/76/dd/2f8536e092551cf804e96bcda79ecfbc51560b214a0f5b7ebc253f0d4664/grpcio-1.75.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:8d04e101bba4b55cea9954e4aa71c24153ba6182481b487ff376da28d4ba46cf", size = 11484103, upload-time = "2025-09-26T09:00:59.457Z" }, + { url = "https://files.pythonhosted.org/packages/9a/3d/affe2fb897804c98d56361138e73786af8f4dd876b9d9851cfe6342b53c8/grpcio-1.75.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:683cfc70be0c1383449097cba637317e4737a357cfc185d887fd984206380403", size = 6289953, upload-time = "2025-09-26T09:01:03.699Z" }, + { url = "https://files.pythonhosted.org/packages/87/aa/0f40b7f47a0ff10d7e482bc3af22dac767c7ff27205915f08962d5ca87a2/grpcio-1.75.1-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:491444c081a54dcd5e6ada57314321ae526377f498d4aa09d975c3241c5b9e1c", size = 6949785, upload-time = "2025-09-26T09:01:07.504Z" }, + { url = "https://files.pythonhosted.org/packages/a5/45/b04407e44050781821c84f26df71b3f7bc469923f92f9f8bc27f1406dbcc/grpcio-1.75.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ce08d4e112d0d38487c2b631ec8723deac9bc404e9c7b1011426af50a79999e4", size = 6465708, upload-time = "2025-09-26T09:01:11.028Z" }, + { url = "https://files.pythonhosted.org/packages/09/3e/4ae3ec0a4d20dcaafbb6e597defcde06399ccdc5b342f607323f3b47f0a3/grpcio-1.75.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5a2acda37fc926ccc4547977ac3e56b1df48fe200de968e8c8421f6e3093df6c", size = 7100912, upload-time = "2025-09-26T09:01:14.393Z" }, + { url = "https://files.pythonhosted.org/packages/34/3f/a9085dab5c313bb0cb853f222d095e2477b9b8490a03634cdd8d19daa5c3/grpcio-1.75.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:745c5fe6bf05df6a04bf2d11552c7d867a2690759e7ab6b05c318a772739bd75", size = 8042497, upload-time = "2025-09-26T09:01:17.759Z" }, + { url = "https://files.pythonhosted.org/packages/c3/87/ea54eba931ab9ed3f999ba95f5d8d01a20221b664725bab2fe93e3dee848/grpcio-1.75.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:259526a7159d39e2db40d566fe3e8f8e034d0fb2db5bf9c00e09aace655a4c2b", size = 7493284, upload-time = "2025-09-26T09:01:20.896Z" }, + { url = "https://files.pythonhosted.org/packages/b7/5e/287f1bf1a998f4ac46ef45d518de3b5da08b4e86c7cb5e1108cee30b0282/grpcio-1.75.1-cp310-cp310-win32.whl", hash = "sha256:f4b29b9aabe33fed5df0a85e5f13b09ff25e2c05bd5946d25270a8bd5682dac9", size = 3950809, upload-time = "2025-09-26T09:01:23.695Z" }, + { url = "https://files.pythonhosted.org/packages/a4/a2/3cbfc06a4ec160dc77403b29ecb5cf76ae329eb63204fea6a7c715f1dfdb/grpcio-1.75.1-cp310-cp310-win_amd64.whl", hash = "sha256:cf2e760978dcce7ff7d465cbc7e276c3157eedc4c27aa6de7b594c7a295d3d61", size = 4644704, upload-time = "2025-09-26T09:01:25.763Z" }, + { url = "https://files.pythonhosted.org/packages/0c/3c/35ca9747473a306bfad0cee04504953f7098527cd112a4ab55c55af9e7bd/grpcio-1.75.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:573855ca2e58e35032aff30bfbd1ee103fbcf4472e4b28d4010757700918e326", size = 5709761, upload-time = "2025-09-26T09:01:28.528Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2c/ecbcb4241e4edbe85ac2663f885726fea0e947767401288b50d8fdcb9200/grpcio-1.75.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:6a4996a2c8accc37976dc142d5991adf60733e223e5c9a2219e157dc6a8fd3a2", size = 11496691, upload-time = "2025-09-26T09:01:31.214Z" }, + { url = "https://files.pythonhosted.org/packages/81/40/bc07aee2911f0d426fa53fe636216100c31a8ea65a400894f280274cb023/grpcio-1.75.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b1ea1bbe77ecbc1be00af2769f4ae4a88ce93be57a4f3eebd91087898ed749f9", size = 6296084, upload-time = "2025-09-26T09:01:34.596Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d1/10c067f6c67396cbf46448b80f27583b5e8c4b46cdfbe18a2a02c2c2f290/grpcio-1.75.1-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:e5b425aee54cc5e3e3c58f00731e8a33f5567965d478d516d35ef99fd648ab68", size = 6950403, upload-time = "2025-09-26T09:01:36.736Z" }, + { url = "https://files.pythonhosted.org/packages/3f/42/5f628abe360b84dfe8dd8f32be6b0606dc31dc04d3358eef27db791ea4d5/grpcio-1.75.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0049a7bf547dafaeeb1db17079ce79596c298bfe308fc084d023c8907a845b9a", size = 6470166, upload-time = "2025-09-26T09:01:39.474Z" }, + { url = "https://files.pythonhosted.org/packages/c3/93/a24035080251324019882ee2265cfde642d6476c0cf8eb207fc693fcebdc/grpcio-1.75.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b8ea230c7f77c0a1a3208a04a1eda164633fb0767b4cefd65a01079b65e5b1f", size = 7107828, upload-time = "2025-09-26T09:01:41.782Z" }, + { url = "https://files.pythonhosted.org/packages/e4/f8/d18b984c1c9ba0318e3628dbbeb6af77a5007f02abc378c845070f2d3edd/grpcio-1.75.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:36990d629c3c9fb41e546414e5af52d0a7af37ce7113d9682c46d7e2919e4cca", size = 8045421, upload-time = "2025-09-26T09:01:45.835Z" }, + { url = "https://files.pythonhosted.org/packages/7e/b6/4bf9aacff45deca5eac5562547ed212556b831064da77971a4e632917da3/grpcio-1.75.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b10ad908118d38c2453ade7ff790e5bce36580c3742919007a2a78e3a1e521ca", size = 7503290, upload-time = "2025-09-26T09:01:49.28Z" }, + { url = "https://files.pythonhosted.org/packages/3b/15/d8d69d10223cb54c887a2180bd29fe5fa2aec1d4995c8821f7aa6eaf72e4/grpcio-1.75.1-cp311-cp311-win32.whl", hash = "sha256:d6be2b5ee7bea656c954dcf6aa8093c6f0e6a3ef9945c99d99fcbfc88c5c0bfe", size = 3950631, upload-time = "2025-09-26T09:01:51.23Z" }, + { url = "https://files.pythonhosted.org/packages/8a/40/7b8642d45fff6f83300c24eaac0380a840e5e7fe0e8d80afd31b99d7134e/grpcio-1.75.1-cp311-cp311-win_amd64.whl", hash = "sha256:61c692fb05956b17dd6d1ab480f7f10ad0536dba3bc8fd4e3c7263dc244ed772", size = 4646131, upload-time = "2025-09-26T09:01:53.266Z" }, + { url = "https://files.pythonhosted.org/packages/3a/81/42be79e73a50aaa20af66731c2defeb0e8c9008d9935a64dd8ea8e8c44eb/grpcio-1.75.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:7b888b33cd14085d86176b1628ad2fcbff94cfbbe7809465097aa0132e58b018", size = 5668314, upload-time = "2025-09-26T09:01:55.424Z" }, + { url = "https://files.pythonhosted.org/packages/c5/a7/3686ed15822fedc58c22f82b3a7403d9faf38d7c33de46d4de6f06e49426/grpcio-1.75.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:8775036efe4ad2085975531d221535329f5dac99b6c2a854a995456098f99546", size = 11476125, upload-time = "2025-09-26T09:01:57.927Z" }, + { url = "https://files.pythonhosted.org/packages/14/85/21c71d674f03345ab183c634ecd889d3330177e27baea8d5d247a89b6442/grpcio-1.75.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bb658f703468d7fbb5dcc4037c65391b7dc34f808ac46ed9136c24fc5eeb041d", size = 6246335, upload-time = "2025-09-26T09:02:00.76Z" }, + { url = "https://files.pythonhosted.org/packages/fd/db/3beb661bc56a385ae4fa6b0e70f6b91ac99d47afb726fe76aaff87ebb116/grpcio-1.75.1-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:4b7177a1cdb3c51b02b0c0a256b0a72fdab719600a693e0e9037949efffb200b", size = 6916309, upload-time = "2025-09-26T09:02:02.894Z" }, + { url = "https://files.pythonhosted.org/packages/1e/9c/eda9fe57f2b84343d44c1b66cf3831c973ba29b078b16a27d4587a1fdd47/grpcio-1.75.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7d4fa6ccc3ec2e68a04f7b883d354d7fea22a34c44ce535a2f0c0049cf626ddf", size = 6435419, upload-time = "2025-09-26T09:02:05.055Z" }, + { url = "https://files.pythonhosted.org/packages/c3/b8/090c98983e0a9d602e3f919a6e2d4e470a8b489452905f9a0fa472cac059/grpcio-1.75.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3d86880ecaeb5b2f0a8afa63824de93adb8ebe4e49d0e51442532f4e08add7d6", size = 7064893, upload-time = "2025-09-26T09:02:07.275Z" }, + { url = "https://files.pythonhosted.org/packages/ec/c0/6d53d4dbbd00f8bd81571f5478d8a95528b716e0eddb4217cc7cb45aae5f/grpcio-1.75.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a8041d2f9e8a742aeae96f4b047ee44e73619f4f9d24565e84d5446c623673b6", size = 8011922, upload-time = "2025-09-26T09:02:09.527Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7c/48455b2d0c5949678d6982c3e31ea4d89df4e16131b03f7d5c590811cbe9/grpcio-1.75.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3652516048bf4c314ce12be37423c79829f46efffb390ad64149a10c6071e8de", size = 7466181, upload-time = "2025-09-26T09:02:12.279Z" }, + { url = "https://files.pythonhosted.org/packages/fd/12/04a0e79081e3170b6124f8cba9b6275871276be06c156ef981033f691880/grpcio-1.75.1-cp312-cp312-win32.whl", hash = "sha256:44b62345d8403975513af88da2f3d5cc76f73ca538ba46596f92a127c2aea945", size = 3938543, upload-time = "2025-09-26T09:02:14.77Z" }, + { url = "https://files.pythonhosted.org/packages/5f/d7/11350d9d7fb5adc73d2b0ebf6ac1cc70135577701e607407fe6739a90021/grpcio-1.75.1-cp312-cp312-win_amd64.whl", hash = "sha256:b1e191c5c465fa777d4cafbaacf0c01e0d5278022082c0abbd2ee1d6454ed94d", size = 4641938, upload-time = "2025-09-26T09:02:16.927Z" }, + { url = "https://files.pythonhosted.org/packages/46/74/bac4ab9f7722164afdf263ae31ba97b8174c667153510322a5eba4194c32/grpcio-1.75.1-cp313-cp313-linux_armv7l.whl", hash = "sha256:3bed22e750d91d53d9e31e0af35a7b0b51367e974e14a4ff229db5b207647884", size = 5672779, upload-time = "2025-09-26T09:02:19.11Z" }, + { url = "https://files.pythonhosted.org/packages/a6/52/d0483cfa667cddaa294e3ab88fd2c2a6e9dc1a1928c0e5911e2e54bd5b50/grpcio-1.75.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:5b8f381eadcd6ecaa143a21e9e80a26424c76a0a9b3d546febe6648f3a36a5ac", size = 11470623, upload-time = "2025-09-26T09:02:22.117Z" }, + { url = "https://files.pythonhosted.org/packages/cf/e4/d1954dce2972e32384db6a30273275e8c8ea5a44b80347f9055589333b3f/grpcio-1.75.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5bf4001d3293e3414d0cf99ff9b1139106e57c3a66dfff0c5f60b2a6286ec133", size = 6248838, upload-time = "2025-09-26T09:02:26.426Z" }, + { url = "https://files.pythonhosted.org/packages/06/43/073363bf63826ba8077c335d797a8d026f129dc0912b69c42feaf8f0cd26/grpcio-1.75.1-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:9f82ff474103e26351dacfe8d50214e7c9322960d8d07ba7fa1d05ff981c8b2d", size = 6922663, upload-time = "2025-09-26T09:02:28.724Z" }, + { url = "https://files.pythonhosted.org/packages/c2/6f/076ac0df6c359117676cacfa8a377e2abcecec6a6599a15a672d331f6680/grpcio-1.75.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0ee119f4f88d9f75414217823d21d75bfe0e6ed40135b0cbbfc6376bc9f7757d", size = 6436149, upload-time = "2025-09-26T09:02:30.971Z" }, + { url = "https://files.pythonhosted.org/packages/6b/27/1d08824f1d573fcb1fa35ede40d6020e68a04391709939e1c6f4193b445f/grpcio-1.75.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:664eecc3abe6d916fa6cf8dd6b778e62fb264a70f3430a3180995bf2da935446", size = 7067989, upload-time = "2025-09-26T09:02:33.233Z" }, + { url = "https://files.pythonhosted.org/packages/c6/98/98594cf97b8713feb06a8cb04eeef60b4757e3e2fb91aa0d9161da769843/grpcio-1.75.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c32193fa08b2fbebf08fe08e84f8a0aad32d87c3ad42999c65e9449871b1c66e", size = 8010717, upload-time = "2025-09-26T09:02:36.011Z" }, + { url = "https://files.pythonhosted.org/packages/8c/7e/bb80b1bba03c12158f9254762cdf5cced4a9bc2e8ed51ed335915a5a06ef/grpcio-1.75.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5cebe13088b9254f6e615bcf1da9131d46cfa4e88039454aca9cb65f639bd3bc", size = 7463822, upload-time = "2025-09-26T09:02:38.26Z" }, + { url = "https://files.pythonhosted.org/packages/23/1c/1ea57fdc06927eb5640f6750c697f596f26183573069189eeaf6ef86ba2d/grpcio-1.75.1-cp313-cp313-win32.whl", hash = "sha256:4b4c678e7ed50f8ae8b8dbad15a865ee73ce12668b6aaf411bf3258b5bc3f970", size = 3938490, upload-time = "2025-09-26T09:02:40.268Z" }, + { url = "https://files.pythonhosted.org/packages/4b/24/fbb8ff1ccadfbf78ad2401c41aceaf02b0d782c084530d8871ddd69a2d49/grpcio-1.75.1-cp313-cp313-win_amd64.whl", hash = "sha256:5573f51e3f296a1bcf71e7a690c092845fb223072120f4bdb7a5b48e111def66", size = 4642538, upload-time = "2025-09-26T09:02:42.519Z" }, + { url = "https://files.pythonhosted.org/packages/f2/1b/9a0a5cecd24302b9fdbcd55d15ed6267e5f3d5b898ff9ac8cbe17ee76129/grpcio-1.75.1-cp314-cp314-linux_armv7l.whl", hash = "sha256:c05da79068dd96723793bffc8d0e64c45f316248417515f28d22204d9dae51c7", size = 5673319, upload-time = "2025-09-26T09:02:44.742Z" }, + { url = "https://files.pythonhosted.org/packages/c6/ec/9d6959429a83fbf5df8549c591a8a52bb313976f6646b79852c4884e3225/grpcio-1.75.1-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:06373a94fd16ec287116a825161dca179a0402d0c60674ceeec8c9fba344fe66", size = 11480347, upload-time = "2025-09-26T09:02:47.539Z" }, + { url = "https://files.pythonhosted.org/packages/09/7a/26da709e42c4565c3d7bf999a9569da96243ce34a8271a968dee810a7cf1/grpcio-1.75.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4484f4b7287bdaa7a5b3980f3c7224c3c622669405d20f69549f5fb956ad0421", size = 6254706, upload-time = "2025-09-26T09:02:50.4Z" }, + { url = "https://files.pythonhosted.org/packages/f1/08/dcb26a319d3725f199c97e671d904d84ee5680de57d74c566a991cfab632/grpcio-1.75.1-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:2720c239c1180eee69f7883c1d4c83fc1a495a2535b5fa322887c70bf02b16e8", size = 6922501, upload-time = "2025-09-26T09:02:52.711Z" }, + { url = "https://files.pythonhosted.org/packages/78/66/044d412c98408a5e23cb348845979a2d17a2e2b6c3c34c1ec91b920f49d0/grpcio-1.75.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:07a554fa31c668cf0e7a188678ceeca3cb8fead29bbe455352e712ec33ca701c", size = 6437492, upload-time = "2025-09-26T09:02:55.542Z" }, + { url = "https://files.pythonhosted.org/packages/4e/9d/5e3e362815152aa1afd8b26ea613effa005962f9da0eec6e0e4527e7a7d1/grpcio-1.75.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:3e71a2105210366bfc398eef7f57a664df99194f3520edb88b9c3a7e46ee0d64", size = 7081061, upload-time = "2025-09-26T09:02:58.261Z" }, + { url = "https://files.pythonhosted.org/packages/1e/1a/46615682a19e100f46e31ddba9ebc297c5a5ab9ddb47b35443ffadb8776c/grpcio-1.75.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:8679aa8a5b67976776d3c6b0521e99d1c34db8a312a12bcfd78a7085cb9b604e", size = 8010849, upload-time = "2025-09-26T09:03:00.548Z" }, + { url = "https://files.pythonhosted.org/packages/67/8e/3204b94ac30b0f675ab1c06540ab5578660dc8b690db71854d3116f20d00/grpcio-1.75.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:aad1c774f4ebf0696a7f148a56d39a3432550612597331792528895258966dc0", size = 7464478, upload-time = "2025-09-26T09:03:03.096Z" }, + { url = "https://files.pythonhosted.org/packages/b7/97/2d90652b213863b2cf466d9c1260ca7e7b67a16780431b3eb1d0420e3d5b/grpcio-1.75.1-cp314-cp314-win32.whl", hash = "sha256:62ce42d9994446b307649cb2a23335fa8e927f7ab2cbf5fcb844d6acb4d85f9c", size = 4012672, upload-time = "2025-09-26T09:03:05.477Z" }, + { url = "https://files.pythonhosted.org/packages/f9/df/e2e6e9fc1c985cd1a59e6996a05647c720fe8a03b92f5ec2d60d366c531e/grpcio-1.75.1-cp314-cp314-win_amd64.whl", hash = "sha256:f86e92275710bea3000cb79feca1762dc0ad3b27830dd1a74e82ab321d4ee464", size = 4772475, upload-time = "2025-09-26T09:03:07.661Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +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" } +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" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { 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" } +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" }, +] + +[[package]] +name = "httpx-sse" +version = "0.4.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz", hash = "sha256:9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d", size = 15943, upload-time = "2025-10-10T21:48:22.271Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/fd/6668e5aec43ab844de6fc74927e155a3b37bf40d7c3790e49fc0406b6578/httpx_sse-0.4.3-py3-none-any.whl", hash = "sha256:0ac1c9fe3c0afad2e0ebb25a934a59f4c7823b60792691f779fad2c5568830fc", size = 8960, upload-time = "2025-10-10T21:48:21.158Z" }, +] + +[[package]] +name = "idna" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, +] + +[[package]] +name = "importlib-metadata" +version = "8.7.0" +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" } +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" }, +] + +[[package]] +name = "jsonschema" +version = "4.25.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342, upload-time = "2025-08-18T17:03:50.038Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl", hash = "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", size = 90040, upload-time = "2025-08-18T17:03:48.373Z" }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2025.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "referencing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" }, +] + +[[package]] +name = "mcp" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "httpx" }, + { name = "httpx-sse" }, + { name = "jsonschema" }, + { name = "pydantic" }, + { name = "pydantic-settings" }, + { name = "python-multipart" }, + { name = "pywin32", marker = "sys_platform == 'win32'" }, + { name = "sse-starlette" }, + { name = "starlette" }, + { name = "uvicorn", marker = "sys_platform != 'emscripten'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5a/79/5724a540df19e192e8606c543cdcf162de8eb435077520cca150f7365ec0/mcp-1.17.0.tar.gz", hash = "sha256:1b57fabf3203240ccc48e39859faf3ae1ccb0b571ff798bbedae800c73c6df90", size = 477951, upload-time = "2025-10-10T12:16:44.519Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1c/72/3751feae343a5ad07959df713907b5c3fbaed269d697a14b0c449080cf2e/mcp-1.17.0-py3-none-any.whl", hash = "sha256:0660ef275cada7a545af154db3082f176cf1d2681d5e35ae63e014faf0a35d40", size = 167737, upload-time = "2025-10-10T12:16:42.863Z" }, +] + +[[package]] +name = "mcp-http-client-example" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "mcp" }, + { name = "opentelemetry-api" }, + { name = "opentelemetry-distro" }, + { name = "opentelemetry-exporter-otlp" }, + { name = "opentelemetry-instrumentation-mcp" }, + { name = "opentelemetry-sdk" }, + { name = "pip" }, +] + +[package.metadata] +requires-dist = [ + { name = "mcp", specifier = ">=1.8.1" }, + { name = "opentelemetry-api", specifier = ">=1.37.0" }, + { name = "opentelemetry-distro", specifier = ">=0.58b0" }, + { name = "opentelemetry-exporter-otlp", specifier = ">=1.37.0" }, + { name = "opentelemetry-instrumentation-mcp" }, + { name = "opentelemetry-sdk" }, + { name = "pip", specifier = ">=25.2" }, +] + +[[package]] +name = "opentelemetry-api" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/04/05040d7ce33a907a2a02257e601992f0cdf11c73b33f13c4492bf6c3d6d5/opentelemetry_api-1.37.0.tar.gz", hash = "sha256:540735b120355bd5112738ea53621f8d5edb35ebcd6fe21ada3ab1c61d1cd9a7", size = 64923, upload-time = "2025-09-11T10:29:01.662Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/48/28ed9e55dcf2f453128df738210a980e09f4e468a456fa3c763dbc8be70a/opentelemetry_api-1.37.0-py3-none-any.whl", hash = "sha256:accf2024d3e89faec14302213bc39550ec0f4095d1cf5ca688e1bfb1c8612f47", size = 65732, upload-time = "2025-09-11T10:28:41.826Z" }, +] + +[[package]] +name = "opentelemetry-distro" +version = "0.58b0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "opentelemetry-instrumentation" }, + { name = "opentelemetry-sdk" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c3/20/597f387b42c649bac39af9ff8ad5bfdc163ce1a30cdecb16474ab8e57905/opentelemetry_distro-0.58b0.tar.gz", hash = "sha256:ef993c845c11fd156046a96e5ffe1ecfe33f7282fa6149cf9decb26ff8716666", size = 2583, upload-time = "2025-09-11T11:42:12.034Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/34/53016553489592262408b72e94466403da3c84ebe044b073bbcc1a6b228b/opentelemetry_distro-0.58b0-py3-none-any.whl", hash = "sha256:d90dddc3ae93d60d917a267a0099bd72f87fa3454b49ca8799f97cb58c777ef4", size = 3346, upload-time = "2025-09-11T11:40:56.853Z" }, +] + +[[package]] +name = "opentelemetry-exporter-otlp" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-exporter-otlp-proto-grpc" }, + { name = "opentelemetry-exporter-otlp-proto-http" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/64/df/47fde1de15a3d5ad410e98710fac60cd3d509df5dc7ec1359b71d6bf7e70/opentelemetry_exporter_otlp-1.37.0.tar.gz", hash = "sha256:f85b1929dd0d750751cc9159376fb05aa88bb7a08b6cdbf84edb0054d93e9f26", size = 6145, upload-time = "2025-09-11T10:29:03.075Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f5/23/7e35e41111e3834d918e414eca41555d585e8860c9149507298bb3b9b061/opentelemetry_exporter_otlp-1.37.0-py3-none-any.whl", hash = "sha256:bd44592c6bc7fc3e5c0a9b60f2ee813c84c2800c449e59504ab93f356cc450fc", size = 7019, upload-time = "2025-09-11T10:28:44.094Z" }, +] + +[[package]] +name = "opentelemetry-exporter-otlp-proto-common" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-proto" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/dc/6c/10018cbcc1e6fff23aac67d7fd977c3d692dbe5f9ef9bb4db5c1268726cc/opentelemetry_exporter_otlp_proto_common-1.37.0.tar.gz", hash = "sha256:c87a1bdd9f41fdc408d9cc9367bb53f8d2602829659f2b90be9f9d79d0bfe62c", size = 20430, upload-time = "2025-09-11T10:29:03.605Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/13/b4ef09837409a777f3c0af2a5b4ba9b7af34872bc43609dda0c209e4060d/opentelemetry_exporter_otlp_proto_common-1.37.0-py3-none-any.whl", hash = "sha256:53038428449c559b0c564b8d718df3314da387109c4d36bd1b94c9a641b0292e", size = 18359, upload-time = "2025-09-11T10:28:44.939Z" }, +] + +[[package]] +name = "opentelemetry-exporter-otlp-proto-grpc" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "googleapis-common-protos" }, + { name = "grpcio" }, + { name = "opentelemetry-api" }, + { name = "opentelemetry-exporter-otlp-proto-common" }, + { name = "opentelemetry-proto" }, + { name = "opentelemetry-sdk" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d1/11/4ad0979d0bb13ae5a845214e97c8d42da43980034c30d6f72d8e0ebe580e/opentelemetry_exporter_otlp_proto_grpc-1.37.0.tar.gz", hash = "sha256:f55bcb9fc848ce05ad3dd954058bc7b126624d22c4d9e958da24d8537763bec5", size = 24465, upload-time = "2025-09-11T10:29:04.172Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/17/46630b74751031a658706bef23ac99cdc2953cd3b2d28ec90590a0766b3e/opentelemetry_exporter_otlp_proto_grpc-1.37.0-py3-none-any.whl", hash = "sha256:aee5104835bf7993b7ddaaf380b6467472abaedb1f1dbfcc54a52a7d781a3890", size = 19305, upload-time = "2025-09-11T10:28:45.776Z" }, +] + +[[package]] +name = "opentelemetry-exporter-otlp-proto-http" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "googleapis-common-protos" }, + { name = "opentelemetry-api" }, + { name = "opentelemetry-exporter-otlp-proto-common" }, + { name = "opentelemetry-proto" }, + { name = "opentelemetry-sdk" }, + { name = "requests" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5d/e3/6e320aeb24f951449e73867e53c55542bebbaf24faeee7623ef677d66736/opentelemetry_exporter_otlp_proto_http-1.37.0.tar.gz", hash = "sha256:e52e8600f1720d6de298419a802108a8f5afa63c96809ff83becb03f874e44ac", size = 17281, upload-time = "2025-09-11T10:29:04.844Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/e9/70d74a664d83976556cec395d6bfedd9b85ec1498b778367d5f93e373397/opentelemetry_exporter_otlp_proto_http-1.37.0-py3-none-any.whl", hash = "sha256:54c42b39945a6cc9d9a2a33decb876eabb9547e0dcb49df090122773447f1aef", size = 19576, upload-time = "2025-09-11T10:28:46.726Z" }, +] + +[[package]] +name = "opentelemetry-instrumentation" +version = "0.58b0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "opentelemetry-semantic-conventions" }, + { name = "packaging" }, + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f6/36/7c307d9be8ce4ee7beb86d7f1d31027f2a6a89228240405a858d6e4d64f9/opentelemetry_instrumentation-0.58b0.tar.gz", hash = "sha256:df640f3ac715a3e05af145c18f527f4422c6ab6c467e40bd24d2ad75a00cb705", size = 31549, upload-time = "2025-09-11T11:42:14.084Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d4/db/5ff1cd6c5ca1d12ecf1b73be16fbb2a8af2114ee46d4b0e6d4b23f4f4db7/opentelemetry_instrumentation-0.58b0-py3-none-any.whl", hash = "sha256:50f97ac03100676c9f7fc28197f8240c7290ca1baa12da8bfbb9a1de4f34cc45", size = 33019, upload-time = "2025-09-11T11:41:00.624Z" }, +] + +[[package]] +name = "opentelemetry-instrumentation-mcp" +version = "0.47.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "opentelemetry-exporter-otlp" }, + { name = "opentelemetry-instrumentation" }, + { name = "opentelemetry-semantic-conventions" }, + { name = "opentelemetry-semantic-conventions-ai" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a8/75/61f0d4b058ef4185d69a0d83424b6dc4af459f9417b64aa94345b6590f21/opentelemetry_instrumentation_mcp-0.47.3.tar.gz", hash = "sha256:62bcad30d5bcac8dbd17b6b20187d3ca9822f28909e8d214bc1591d20294577d", size = 8750, upload-time = "2025-09-21T12:12:52.85Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1f/26/a5b34ec94ae27847a6a33bff6aad8962a91ff807b6838b60384687ea2d09/opentelemetry_instrumentation_mcp-0.47.3-py3-none-any.whl", hash = "sha256:9fdc1cb9b0df248de1065fd716597ebb8f044ed0c8cd3cffde2a41131c374f86", size = 10572, upload-time = "2025-09-21T12:12:17.191Z" }, +] + +[[package]] +name = "opentelemetry-proto" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "protobuf" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/dd/ea/a75f36b463a36f3c5a10c0b5292c58b31dbdde74f6f905d3d0ab2313987b/opentelemetry_proto-1.37.0.tar.gz", hash = "sha256:30f5c494faf66f77faeaefa35ed4443c5edb3b0aa46dad073ed7210e1a789538", size = 46151, upload-time = "2025-09-11T10:29:11.04Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c4/25/f89ea66c59bd7687e218361826c969443c4fa15dfe89733f3bf1e2a9e971/opentelemetry_proto-1.37.0-py3-none-any.whl", hash = "sha256:8ed8c066ae8828bbf0c39229979bdf583a126981142378a9cbe9d6fd5701c6e2", size = 72534, upload-time = "2025-09-11T10:28:56.831Z" }, +] + +[[package]] +name = "opentelemetry-sdk" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "opentelemetry-semantic-conventions" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f4/62/2e0ca80d7fe94f0b193135375da92c640d15fe81f636658d2acf373086bc/opentelemetry_sdk-1.37.0.tar.gz", hash = "sha256:cc8e089c10953ded765b5ab5669b198bbe0af1b3f89f1007d19acd32dc46dda5", size = 170404, upload-time = "2025-09-11T10:29:11.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/62/9f4ad6a54126fb00f7ed4bb5034964c6e4f00fcd5a905e115bd22707e20d/opentelemetry_sdk-1.37.0-py3-none-any.whl", hash = "sha256:8f3c3c22063e52475c5dbced7209495c2c16723d016d39287dfc215d1771257c", size = 131941, upload-time = "2025-09-11T10:28:57.83Z" }, +] + +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.58b0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/aa/1b/90701d91e6300d9f2fb352153fb1721ed99ed1f6ea14fa992c756016e63a/opentelemetry_semantic_conventions-0.58b0.tar.gz", hash = "sha256:6bd46f51264279c433755767bb44ad00f1c9e2367e1b42af563372c5a6fa0c25", size = 129867, upload-time = "2025-09-11T10:29:12.597Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/90/68152b7465f50285d3ce2481b3aec2f82822e3f52e5152eeeaf516bab841/opentelemetry_semantic_conventions-0.58b0-py3-none-any.whl", hash = "sha256:5564905ab1458b96684db1340232729fce3b5375a06e140e8904c78e4f815b28", size = 207954, upload-time = "2025-09-11T10:28:59.218Z" }, +] + +[[package]] +name = "opentelemetry-semantic-conventions-ai" +version = "0.4.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/e6/40b59eda51ac47009fb47afcdf37c6938594a0bd7f3b9fadcbc6058248e3/opentelemetry_semantic_conventions_ai-0.4.13.tar.gz", hash = "sha256:94efa9fb4ffac18c45f54a3a338ffeb7eedb7e1bb4d147786e77202e159f0036", size = 5368, upload-time = "2025-08-22T10:14:17.387Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/35/b5/cf25da2218910f0d6cdf7f876a06bed118c4969eacaf60a887cbaef44f44/opentelemetry_semantic_conventions_ai-0.4.13-py3-none-any.whl", hash = "sha256:883a30a6bb5deaec0d646912b5f9f6dcbb9f6f72557b73d0f2560bf25d13e2d5", size = 6080, upload-time = "2025-08-22T10:14:16.477Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "pip" +version = "25.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/16/650289cd3f43d5a2fadfd98c68bd1e1e7f2550a1a5326768cddfbcedb2c5/pip-25.2.tar.gz", hash = "sha256:578283f006390f85bb6282dffb876454593d637f5d1be494b5202ce4877e71f2", size = 1840021, upload-time = "2025-07-30T21:50:15.401Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/3f/945ef7ab14dc4f9d7f40288d2df998d1837ee0888ec3659c813487572faa/pip-25.2-py3-none-any.whl", hash = "sha256:6d67a2b4e7f14d8b31b8b52648866fa717f45a1eb70e83002f4331d07e953717", size = 1752557, upload-time = "2025-07-30T21:50:13.323Z" }, +] + +[[package]] +name = "protobuf" +version = "6.32.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fa/a4/cc17347aa2897568beece2e674674359f911d6fe21b0b8d6268cd42727ac/protobuf-6.32.1.tar.gz", hash = "sha256:ee2469e4a021474ab9baafea6cd070e5bf27c7d29433504ddea1a4ee5850f68d", size = 440635, upload-time = "2025-09-11T21:38:42.935Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/98/645183ea03ab3995d29086b8bf4f7562ebd3d10c9a4b14ee3f20d47cfe50/protobuf-6.32.1-cp310-abi3-win32.whl", hash = "sha256:a8a32a84bc9f2aad712041b8b366190f71dde248926da517bde9e832e4412085", size = 424411, upload-time = "2025-09-11T21:38:27.427Z" }, + { url = "https://files.pythonhosted.org/packages/8c/f3/6f58f841f6ebafe076cebeae33fc336e900619d34b1c93e4b5c97a81fdfa/protobuf-6.32.1-cp310-abi3-win_amd64.whl", hash = "sha256:b00a7d8c25fa471f16bc8153d0e53d6c9e827f0953f3c09aaa4331c718cae5e1", size = 435738, upload-time = "2025-09-11T21:38:30.959Z" }, + { url = "https://files.pythonhosted.org/packages/10/56/a8a3f4e7190837139e68c7002ec749190a163af3e330f65d90309145a210/protobuf-6.32.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d8c7e6eb619ffdf105ee4ab76af5a68b60a9d0f66da3ea12d1640e6d8dab7281", size = 426454, upload-time = "2025-09-11T21:38:34.076Z" }, + { url = "https://files.pythonhosted.org/packages/3f/be/8dd0a927c559b37d7a6c8ab79034fd167dcc1f851595f2e641ad62be8643/protobuf-6.32.1-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:2f5b80a49e1eb7b86d85fcd23fe92df154b9730a725c3b38c4e43b9d77018bf4", size = 322874, upload-time = "2025-09-11T21:38:35.509Z" }, + { url = "https://files.pythonhosted.org/packages/5c/f6/88d77011b605ef979aace37b7703e4eefad066f7e84d935e5a696515c2dd/protobuf-6.32.1-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:b1864818300c297265c83a4982fd3169f97122c299f56a56e2445c3698d34710", size = 322013, upload-time = "2025-09-11T21:38:37.017Z" }, + { url = "https://files.pythonhosted.org/packages/97/b7/15cc7d93443d6c6a84626ae3258a91f4c6ac8c0edd5df35ea7658f71b79c/protobuf-6.32.1-py3-none-any.whl", hash = "sha256:2601b779fc7d32a866c6b4404f9d42a3f67c5b9f3f15b4db3cccabe06b95c346", size = 169289, upload-time = "2025-09-11T21:38:41.234Z" }, +] + +[[package]] +name = "pydantic" +version = "2.12.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8d/35/d319ed522433215526689bad428a94058b6dd12190ce7ddd78618ac14b28/pydantic-2.12.2.tar.gz", hash = "sha256:7b8fa15b831a4bbde9d5b84028641ac3080a4ca2cbd4a621a661687e741624fd", size = 816358, upload-time = "2025-10-14T15:02:21.842Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/98/468cb649f208a6f1279448e6e5247b37ae79cf5e4041186f1e2ef3d16345/pydantic-2.12.2-py3-none-any.whl", hash = "sha256:25ff718ee909acd82f1ff9b1a4acfd781bb23ab3739adaa7144f19a6a4e231ae", size = 460628, upload-time = "2025-10-14T15:02:19.623Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.41.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/18/d0944e8eaaa3efd0a91b0f1fc537d3be55ad35091b6a87638211ba691964/pydantic_core-2.41.4.tar.gz", hash = "sha256:70e47929a9d4a1905a67e4b687d5946026390568a8e952b92824118063cee4d5", size = 457557, upload-time = "2025-10-14T10:23:47.909Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/3d/9b8ca77b0f76fcdbf8bc6b72474e264283f461284ca84ac3fde570c6c49a/pydantic_core-2.41.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2442d9a4d38f3411f22eb9dd0912b7cbf4b7d5b6c92c4173b75d3e1ccd84e36e", size = 2111197, upload-time = "2025-10-14T10:19:43.303Z" }, + { url = "https://files.pythonhosted.org/packages/59/92/b7b0fe6ed4781642232755cb7e56a86e2041e1292f16d9ae410a0ccee5ac/pydantic_core-2.41.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:30a9876226dda131a741afeab2702e2d127209bde3c65a2b8133f428bc5d006b", size = 1917909, upload-time = "2025-10-14T10:19:45.194Z" }, + { url = "https://files.pythonhosted.org/packages/52/8c/3eb872009274ffa4fb6a9585114e161aa1a0915af2896e2d441642929fe4/pydantic_core-2.41.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d55bbac04711e2980645af68b97d445cdbcce70e5216de444a6c4b6943ebcccd", size = 1969905, upload-time = "2025-10-14T10:19:46.567Z" }, + { url = "https://files.pythonhosted.org/packages/f4/21/35adf4a753bcfaea22d925214a0c5b880792e3244731b3f3e6fec0d124f7/pydantic_core-2.41.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e1d778fb7849a42d0ee5927ab0f7453bf9f85eef8887a546ec87db5ddb178945", size = 2051938, upload-time = "2025-10-14T10:19:48.237Z" }, + { url = "https://files.pythonhosted.org/packages/7d/d0/cdf7d126825e36d6e3f1eccf257da8954452934ede275a8f390eac775e89/pydantic_core-2.41.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1b65077a4693a98b90ec5ad8f203ad65802a1b9b6d4a7e48066925a7e1606706", size = 2250710, upload-time = "2025-10-14T10:19:49.619Z" }, + { url = "https://files.pythonhosted.org/packages/2e/1c/af1e6fd5ea596327308f9c8d1654e1285cc3d8de0d584a3c9d7705bf8a7c/pydantic_core-2.41.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:62637c769dee16eddb7686bf421be48dfc2fae93832c25e25bc7242e698361ba", size = 2367445, upload-time = "2025-10-14T10:19:51.269Z" }, + { url = "https://files.pythonhosted.org/packages/d3/81/8cece29a6ef1b3a92f956ea6da6250d5b2d2e7e4d513dd3b4f0c7a83dfea/pydantic_core-2.41.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dfe3aa529c8f501babf6e502936b9e8d4698502b2cfab41e17a028d91b1ac7b", size = 2072875, upload-time = "2025-10-14T10:19:52.671Z" }, + { url = "https://files.pythonhosted.org/packages/e3/37/a6a579f5fc2cd4d5521284a0ab6a426cc6463a7b3897aeb95b12f1ba607b/pydantic_core-2.41.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ca2322da745bf2eeb581fc9ea3bbb31147702163ccbcbf12a3bb630e4bf05e1d", size = 2191329, upload-time = "2025-10-14T10:19:54.214Z" }, + { url = "https://files.pythonhosted.org/packages/ae/03/505020dc5c54ec75ecba9f41119fd1e48f9e41e4629942494c4a8734ded1/pydantic_core-2.41.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e8cd3577c796be7231dcf80badcf2e0835a46665eaafd8ace124d886bab4d700", size = 2151658, upload-time = "2025-10-14T10:19:55.843Z" }, + { url = "https://files.pythonhosted.org/packages/cb/5d/2c0d09fb53aa03bbd2a214d89ebfa6304be7df9ed86ee3dc7770257f41ee/pydantic_core-2.41.4-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:1cae8851e174c83633f0833e90636832857297900133705ee158cf79d40f03e6", size = 2316777, upload-time = "2025-10-14T10:19:57.607Z" }, + { url = "https://files.pythonhosted.org/packages/ea/4b/c2c9c8f5e1f9c864b57d08539d9d3db160e00491c9f5ee90e1bfd905e644/pydantic_core-2.41.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a26d950449aae348afe1ac8be5525a00ae4235309b729ad4d3399623125b43c9", size = 2320705, upload-time = "2025-10-14T10:19:59.016Z" }, + { url = "https://files.pythonhosted.org/packages/28/c3/a74c1c37f49c0a02c89c7340fafc0ba816b29bd495d1a31ce1bdeacc6085/pydantic_core-2.41.4-cp310-cp310-win32.whl", hash = "sha256:0cf2a1f599efe57fa0051312774280ee0f650e11152325e41dfd3018ef2c1b57", size = 1975464, upload-time = "2025-10-14T10:20:00.581Z" }, + { url = "https://files.pythonhosted.org/packages/d6/23/5dd5c1324ba80303368f7569e2e2e1a721c7d9eb16acb7eb7b7f85cb1be2/pydantic_core-2.41.4-cp310-cp310-win_amd64.whl", hash = "sha256:a8c2e340d7e454dc3340d3d2e8f23558ebe78c98aa8f68851b04dcb7bc37abdc", size = 2024497, upload-time = "2025-10-14T10:20:03.018Z" }, + { url = "https://files.pythonhosted.org/packages/62/4c/f6cbfa1e8efacd00b846764e8484fe173d25b8dab881e277a619177f3384/pydantic_core-2.41.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:28ff11666443a1a8cf2a044d6a545ebffa8382b5f7973f22c36109205e65dc80", size = 2109062, upload-time = "2025-10-14T10:20:04.486Z" }, + { url = "https://files.pythonhosted.org/packages/21/f8/40b72d3868896bfcd410e1bd7e516e762d326201c48e5b4a06446f6cf9e8/pydantic_core-2.41.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:61760c3925d4633290292bad462e0f737b840508b4f722247d8729684f6539ae", size = 1916301, upload-time = "2025-10-14T10:20:06.857Z" }, + { url = "https://files.pythonhosted.org/packages/94/4d/d203dce8bee7faeca791671c88519969d98d3b4e8f225da5b96dad226fc8/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eae547b7315d055b0de2ec3965643b0ab82ad0106a7ffd29615ee9f266a02827", size = 1968728, upload-time = "2025-10-14T10:20:08.353Z" }, + { url = "https://files.pythonhosted.org/packages/65/f5/6a66187775df87c24d526985b3a5d78d861580ca466fbd9d4d0e792fcf6c/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ef9ee5471edd58d1fcce1c80ffc8783a650e3e3a193fe90d52e43bb4d87bff1f", size = 2050238, upload-time = "2025-10-14T10:20:09.766Z" }, + { url = "https://files.pythonhosted.org/packages/5e/b9/78336345de97298cf53236b2f271912ce11f32c1e59de25a374ce12f9cce/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:15dd504af121caaf2c95cb90c0ebf71603c53de98305621b94da0f967e572def", size = 2249424, upload-time = "2025-10-14T10:20:11.732Z" }, + { url = "https://files.pythonhosted.org/packages/99/bb/a4584888b70ee594c3d374a71af5075a68654d6c780369df269118af7402/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3a926768ea49a8af4d36abd6a8968b8790f7f76dd7cbd5a4c180db2b4ac9a3a2", size = 2366047, upload-time = "2025-10-14T10:20:13.647Z" }, + { url = "https://files.pythonhosted.org/packages/5f/8d/17fc5de9d6418e4d2ae8c675f905cdafdc59d3bf3bf9c946b7ab796a992a/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6916b9b7d134bff5440098a4deb80e4cb623e68974a87883299de9124126c2a8", size = 2071163, upload-time = "2025-10-14T10:20:15.307Z" }, + { url = "https://files.pythonhosted.org/packages/54/e7/03d2c5c0b8ed37a4617430db68ec5e7dbba66358b629cd69e11b4d564367/pydantic_core-2.41.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5cf90535979089df02e6f17ffd076f07237efa55b7343d98760bde8743c4b265", size = 2190585, upload-time = "2025-10-14T10:20:17.3Z" }, + { url = "https://files.pythonhosted.org/packages/be/fc/15d1c9fe5ad9266a5897d9b932b7f53d7e5cfc800573917a2c5d6eea56ec/pydantic_core-2.41.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7533c76fa647fade2d7ec75ac5cc079ab3f34879626dae5689b27790a6cf5a5c", size = 2150109, upload-time = "2025-10-14T10:20:19.143Z" }, + { url = "https://files.pythonhosted.org/packages/26/ef/e735dd008808226c83ba56972566138665b71477ad580fa5a21f0851df48/pydantic_core-2.41.4-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:37e516bca9264cbf29612539801ca3cd5d1be465f940417b002905e6ed79d38a", size = 2315078, upload-time = "2025-10-14T10:20:20.742Z" }, + { url = "https://files.pythonhosted.org/packages/90/00/806efdcf35ff2ac0f938362350cd9827b8afb116cc814b6b75cf23738c7c/pydantic_core-2.41.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0c19cb355224037c83642429b8ce261ae108e1c5fbf5c028bac63c77b0f8646e", size = 2318737, upload-time = "2025-10-14T10:20:22.306Z" }, + { url = "https://files.pythonhosted.org/packages/41/7e/6ac90673fe6cb36621a2283552897838c020db343fa86e513d3f563b196f/pydantic_core-2.41.4-cp311-cp311-win32.whl", hash = "sha256:09c2a60e55b357284b5f31f5ab275ba9f7f70b7525e18a132ec1f9160b4f1f03", size = 1974160, upload-time = "2025-10-14T10:20:23.817Z" }, + { url = "https://files.pythonhosted.org/packages/e0/9d/7c5e24ee585c1f8b6356e1d11d40ab807ffde44d2db3b7dfd6d20b09720e/pydantic_core-2.41.4-cp311-cp311-win_amd64.whl", hash = "sha256:711156b6afb5cb1cb7c14a2cc2c4a8b4c717b69046f13c6b332d8a0a8f41ca3e", size = 2021883, upload-time = "2025-10-14T10:20:25.48Z" }, + { url = "https://files.pythonhosted.org/packages/33/90/5c172357460fc28b2871eb4a0fb3843b136b429c6fa827e4b588877bf115/pydantic_core-2.41.4-cp311-cp311-win_arm64.whl", hash = "sha256:6cb9cf7e761f4f8a8589a45e49ed3c0d92d1d696a45a6feaee8c904b26efc2db", size = 1968026, upload-time = "2025-10-14T10:20:27.039Z" }, + { url = "https://files.pythonhosted.org/packages/e9/81/d3b3e95929c4369d30b2a66a91db63c8ed0a98381ae55a45da2cd1cc1288/pydantic_core-2.41.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ab06d77e053d660a6faaf04894446df7b0a7e7aba70c2797465a0a1af00fc887", size = 2099043, upload-time = "2025-10-14T10:20:28.561Z" }, + { url = "https://files.pythonhosted.org/packages/58/da/46fdac49e6717e3a94fc9201403e08d9d61aa7a770fab6190b8740749047/pydantic_core-2.41.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c53ff33e603a9c1179a9364b0a24694f183717b2e0da2b5ad43c316c956901b2", size = 1910699, upload-time = "2025-10-14T10:20:30.217Z" }, + { url = "https://files.pythonhosted.org/packages/1e/63/4d948f1b9dd8e991a5a98b77dd66c74641f5f2e5225fee37994b2e07d391/pydantic_core-2.41.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:304c54176af2c143bd181d82e77c15c41cbacea8872a2225dd37e6544dce9999", size = 1952121, upload-time = "2025-10-14T10:20:32.246Z" }, + { url = "https://files.pythonhosted.org/packages/b2/a7/e5fc60a6f781fc634ecaa9ecc3c20171d238794cef69ae0af79ac11b89d7/pydantic_core-2.41.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:025ba34a4cf4fb32f917d5d188ab5e702223d3ba603be4d8aca2f82bede432a4", size = 2041590, upload-time = "2025-10-14T10:20:34.332Z" }, + { url = "https://files.pythonhosted.org/packages/70/69/dce747b1d21d59e85af433428978a1893c6f8a7068fa2bb4a927fba7a5ff/pydantic_core-2.41.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b9f5f30c402ed58f90c70e12eff65547d3ab74685ffe8283c719e6bead8ef53f", size = 2219869, upload-time = "2025-10-14T10:20:35.965Z" }, + { url = "https://files.pythonhosted.org/packages/83/6a/c070e30e295403bf29c4df1cb781317b6a9bac7cd07b8d3acc94d501a63c/pydantic_core-2.41.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd96e5d15385d301733113bcaa324c8bcf111275b7675a9c6e88bfb19fc05e3b", size = 2345169, upload-time = "2025-10-14T10:20:37.627Z" }, + { url = "https://files.pythonhosted.org/packages/f0/83/06d001f8043c336baea7fd202a9ac7ad71f87e1c55d8112c50b745c40324/pydantic_core-2.41.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98f348cbb44fae6e9653c1055db7e29de67ea6a9ca03a5fa2c2e11a47cff0e47", size = 2070165, upload-time = "2025-10-14T10:20:39.246Z" }, + { url = "https://files.pythonhosted.org/packages/14/0a/e567c2883588dd12bcbc110232d892cf385356f7c8a9910311ac997ab715/pydantic_core-2.41.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ec22626a2d14620a83ca583c6f5a4080fa3155282718b6055c2ea48d3ef35970", size = 2189067, upload-time = "2025-10-14T10:20:41.015Z" }, + { url = "https://files.pythonhosted.org/packages/f4/1d/3d9fca34273ba03c9b1c5289f7618bc4bd09c3ad2289b5420481aa051a99/pydantic_core-2.41.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3a95d4590b1f1a43bf33ca6d647b990a88f4a3824a8c4572c708f0b45a5290ed", size = 2132997, upload-time = "2025-10-14T10:20:43.106Z" }, + { url = "https://files.pythonhosted.org/packages/52/70/d702ef7a6cd41a8afc61f3554922b3ed8d19dd54c3bd4bdbfe332e610827/pydantic_core-2.41.4-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:f9672ab4d398e1b602feadcffcdd3af44d5f5e6ddc15bc7d15d376d47e8e19f8", size = 2307187, upload-time = "2025-10-14T10:20:44.849Z" }, + { url = "https://files.pythonhosted.org/packages/68/4c/c06be6e27545d08b802127914156f38d10ca287a9e8489342793de8aae3c/pydantic_core-2.41.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:84d8854db5f55fead3b579f04bda9a36461dab0730c5d570e1526483e7bb8431", size = 2305204, upload-time = "2025-10-14T10:20:46.781Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e5/35ae4919bcd9f18603419e23c5eaf32750224a89d41a8df1a3704b69f77e/pydantic_core-2.41.4-cp312-cp312-win32.whl", hash = "sha256:9be1c01adb2ecc4e464392c36d17f97e9110fbbc906bcbe1c943b5b87a74aabd", size = 1972536, upload-time = "2025-10-14T10:20:48.39Z" }, + { url = "https://files.pythonhosted.org/packages/1e/c2/49c5bb6d2a49eb2ee3647a93e3dae7080c6409a8a7558b075027644e879c/pydantic_core-2.41.4-cp312-cp312-win_amd64.whl", hash = "sha256:d682cf1d22bab22a5be08539dca3d1593488a99998f9f412137bc323179067ff", size = 2031132, upload-time = "2025-10-14T10:20:50.421Z" }, + { url = "https://files.pythonhosted.org/packages/06/23/936343dbcba6eec93f73e95eb346810fc732f71ba27967b287b66f7b7097/pydantic_core-2.41.4-cp312-cp312-win_arm64.whl", hash = "sha256:833eebfd75a26d17470b58768c1834dfc90141b7afc6eb0429c21fc5a21dcfb8", size = 1969483, upload-time = "2025-10-14T10:20:52.35Z" }, + { url = "https://files.pythonhosted.org/packages/13/d0/c20adabd181a029a970738dfe23710b52a31f1258f591874fcdec7359845/pydantic_core-2.41.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:85e050ad9e5f6fe1004eec65c914332e52f429bc0ae12d6fa2092407a462c746", size = 2105688, upload-time = "2025-10-14T10:20:54.448Z" }, + { url = "https://files.pythonhosted.org/packages/00/b6/0ce5c03cec5ae94cca220dfecddc453c077d71363b98a4bbdb3c0b22c783/pydantic_core-2.41.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e7393f1d64792763a48924ba31d1e44c2cfbc05e3b1c2c9abb4ceeadd912cced", size = 1910807, upload-time = "2025-10-14T10:20:56.115Z" }, + { url = "https://files.pythonhosted.org/packages/68/3e/800d3d02c8beb0b5c069c870cbb83799d085debf43499c897bb4b4aaff0d/pydantic_core-2.41.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94dab0940b0d1fb28bcab847adf887c66a27a40291eedf0b473be58761c9799a", size = 1956669, upload-time = "2025-10-14T10:20:57.874Z" }, + { url = "https://files.pythonhosted.org/packages/60/a4/24271cc71a17f64589be49ab8bd0751f6a0a03046c690df60989f2f95c2c/pydantic_core-2.41.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:de7c42f897e689ee6f9e93c4bec72b99ae3b32a2ade1c7e4798e690ff5246e02", size = 2051629, upload-time = "2025-10-14T10:21:00.006Z" }, + { url = "https://files.pythonhosted.org/packages/68/de/45af3ca2f175d91b96bfb62e1f2d2f1f9f3b14a734afe0bfeff079f78181/pydantic_core-2.41.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:664b3199193262277b8b3cd1e754fb07f2c6023289c815a1e1e8fb415cb247b1", size = 2224049, upload-time = "2025-10-14T10:21:01.801Z" }, + { url = "https://files.pythonhosted.org/packages/af/8f/ae4e1ff84672bf869d0a77af24fd78387850e9497753c432875066b5d622/pydantic_core-2.41.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d95b253b88f7d308b1c0b417c4624f44553ba4762816f94e6986819b9c273fb2", size = 2342409, upload-time = "2025-10-14T10:21:03.556Z" }, + { url = "https://files.pythonhosted.org/packages/18/62/273dd70b0026a085c7b74b000394e1ef95719ea579c76ea2f0cc8893736d/pydantic_core-2.41.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1351f5bbdbbabc689727cb91649a00cb9ee7203e0a6e54e9f5ba9e22e384b84", size = 2069635, upload-time = "2025-10-14T10:21:05.385Z" }, + { url = "https://files.pythonhosted.org/packages/30/03/cf485fff699b4cdaea469bc481719d3e49f023241b4abb656f8d422189fc/pydantic_core-2.41.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1affa4798520b148d7182da0615d648e752de4ab1a9566b7471bc803d88a062d", size = 2194284, upload-time = "2025-10-14T10:21:07.122Z" }, + { url = "https://files.pythonhosted.org/packages/f9/7e/c8e713db32405dfd97211f2fc0a15d6bf8adb7640f3d18544c1f39526619/pydantic_core-2.41.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7b74e18052fea4aa8dea2fb7dbc23d15439695da6cbe6cfc1b694af1115df09d", size = 2137566, upload-time = "2025-10-14T10:21:08.981Z" }, + { url = "https://files.pythonhosted.org/packages/04/f7/db71fd4cdccc8b75990f79ccafbbd66757e19f6d5ee724a6252414483fb4/pydantic_core-2.41.4-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:285b643d75c0e30abda9dc1077395624f314a37e3c09ca402d4015ef5979f1a2", size = 2316809, upload-time = "2025-10-14T10:21:10.805Z" }, + { url = "https://files.pythonhosted.org/packages/76/63/a54973ddb945f1bca56742b48b144d85c9fc22f819ddeb9f861c249d5464/pydantic_core-2.41.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:f52679ff4218d713b3b33f88c89ccbf3a5c2c12ba665fb80ccc4192b4608dbab", size = 2311119, upload-time = "2025-10-14T10:21:12.583Z" }, + { url = "https://files.pythonhosted.org/packages/f8/03/5d12891e93c19218af74843a27e32b94922195ded2386f7b55382f904d2f/pydantic_core-2.41.4-cp313-cp313-win32.whl", hash = "sha256:ecde6dedd6fff127c273c76821bb754d793be1024bc33314a120f83a3c69460c", size = 1981398, upload-time = "2025-10-14T10:21:14.584Z" }, + { url = "https://files.pythonhosted.org/packages/be/d8/fd0de71f39db91135b7a26996160de71c073d8635edfce8b3c3681be0d6d/pydantic_core-2.41.4-cp313-cp313-win_amd64.whl", hash = "sha256:d081a1f3800f05409ed868ebb2d74ac39dd0c1ff6c035b5162356d76030736d4", size = 2030735, upload-time = "2025-10-14T10:21:16.432Z" }, + { url = "https://files.pythonhosted.org/packages/72/86/c99921c1cf6650023c08bfab6fe2d7057a5142628ef7ccfa9921f2dda1d5/pydantic_core-2.41.4-cp313-cp313-win_arm64.whl", hash = "sha256:f8e49c9c364a7edcbe2a310f12733aad95b022495ef2a8d653f645e5d20c1564", size = 1973209, upload-time = "2025-10-14T10:21:18.213Z" }, + { url = "https://files.pythonhosted.org/packages/36/0d/b5706cacb70a8414396efdda3d72ae0542e050b591119e458e2490baf035/pydantic_core-2.41.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:ed97fd56a561f5eb5706cebe94f1ad7c13b84d98312a05546f2ad036bafe87f4", size = 1877324, upload-time = "2025-10-14T10:21:20.363Z" }, + { url = "https://files.pythonhosted.org/packages/de/2d/cba1fa02cfdea72dfb3a9babb067c83b9dff0bbcb198368e000a6b756ea7/pydantic_core-2.41.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a870c307bf1ee91fc58a9a61338ff780d01bfae45922624816878dce784095d2", size = 1884515, upload-time = "2025-10-14T10:21:22.339Z" }, + { url = "https://files.pythonhosted.org/packages/07/ea/3df927c4384ed9b503c9cc2d076cf983b4f2adb0c754578dfb1245c51e46/pydantic_core-2.41.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d25e97bc1f5f8f7985bdc2335ef9e73843bb561eb1fa6831fdfc295c1c2061cf", size = 2042819, upload-time = "2025-10-14T10:21:26.683Z" }, + { url = "https://files.pythonhosted.org/packages/6a/ee/df8e871f07074250270a3b1b82aad4cd0026b588acd5d7d3eb2fcb1471a3/pydantic_core-2.41.4-cp313-cp313t-win_amd64.whl", hash = "sha256:d405d14bea042f166512add3091c1af40437c2e7f86988f3915fabd27b1e9cd2", size = 1995866, upload-time = "2025-10-14T10:21:28.951Z" }, + { url = "https://files.pythonhosted.org/packages/fc/de/b20f4ab954d6d399499c33ec4fafc46d9551e11dc1858fb7f5dca0748ceb/pydantic_core-2.41.4-cp313-cp313t-win_arm64.whl", hash = "sha256:19f3684868309db5263a11bace3c45d93f6f24afa2ffe75a647583df22a2ff89", size = 1970034, upload-time = "2025-10-14T10:21:30.869Z" }, + { url = "https://files.pythonhosted.org/packages/54/28/d3325da57d413b9819365546eb9a6e8b7cbd9373d9380efd5f74326143e6/pydantic_core-2.41.4-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:e9205d97ed08a82ebb9a307e92914bb30e18cdf6f6b12ca4bedadb1588a0bfe1", size = 2102022, upload-time = "2025-10-14T10:21:32.809Z" }, + { url = "https://files.pythonhosted.org/packages/9e/24/b58a1bc0d834bf1acc4361e61233ee217169a42efbdc15a60296e13ce438/pydantic_core-2.41.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:82df1f432b37d832709fbcc0e24394bba04a01b6ecf1ee87578145c19cde12ac", size = 1905495, upload-time = "2025-10-14T10:21:34.812Z" }, + { url = "https://files.pythonhosted.org/packages/fb/a4/71f759cc41b7043e8ecdaab81b985a9b6cad7cec077e0b92cff8b71ecf6b/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3b4cc4539e055cfa39a3763c939f9d409eb40e85813257dcd761985a108554", size = 1956131, upload-time = "2025-10-14T10:21:36.924Z" }, + { url = "https://files.pythonhosted.org/packages/b0/64/1e79ac7aa51f1eec7c4cda8cbe456d5d09f05fdd68b32776d72168d54275/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b1eb1754fce47c63d2ff57fdb88c351a6c0150995890088b33767a10218eaa4e", size = 2052236, upload-time = "2025-10-14T10:21:38.927Z" }, + { url = "https://files.pythonhosted.org/packages/e9/e3/a3ffc363bd4287b80f1d43dc1c28ba64831f8dfc237d6fec8f2661138d48/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e6ab5ab30ef325b443f379ddb575a34969c333004fca5a1daa0133a6ffaad616", size = 2223573, upload-time = "2025-10-14T10:21:41.574Z" }, + { url = "https://files.pythonhosted.org/packages/28/27/78814089b4d2e684a9088ede3790763c64693c3d1408ddc0a248bc789126/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:31a41030b1d9ca497634092b46481b937ff9397a86f9f51bd41c4767b6fc04af", size = 2342467, upload-time = "2025-10-14T10:21:44.018Z" }, + { url = "https://files.pythonhosted.org/packages/92/97/4de0e2a1159cb85ad737e03306717637842c88c7fd6d97973172fb183149/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a44ac1738591472c3d020f61c6df1e4015180d6262ebd39bf2aeb52571b60f12", size = 2063754, upload-time = "2025-10-14T10:21:46.466Z" }, + { url = "https://files.pythonhosted.org/packages/0f/50/8cb90ce4b9efcf7ae78130afeb99fd1c86125ccdf9906ef64b9d42f37c25/pydantic_core-2.41.4-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d72f2b5e6e82ab8f94ea7d0d42f83c487dc159c5240d8f83beae684472864e2d", size = 2196754, upload-time = "2025-10-14T10:21:48.486Z" }, + { url = "https://files.pythonhosted.org/packages/34/3b/ccdc77af9cd5082723574a1cc1bcae7a6acacc829d7c0a06201f7886a109/pydantic_core-2.41.4-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:c4d1e854aaf044487d31143f541f7aafe7b482ae72a022c664b2de2e466ed0ad", size = 2137115, upload-time = "2025-10-14T10:21:50.63Z" }, + { url = "https://files.pythonhosted.org/packages/ca/ba/e7c7a02651a8f7c52dc2cff2b64a30c313e3b57c7d93703cecea76c09b71/pydantic_core-2.41.4-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:b568af94267729d76e6ee5ececda4e283d07bbb28e8148bb17adad93d025d25a", size = 2317400, upload-time = "2025-10-14T10:21:52.959Z" }, + { url = "https://files.pythonhosted.org/packages/2c/ba/6c533a4ee8aec6b812c643c49bb3bd88d3f01e3cebe451bb85512d37f00f/pydantic_core-2.41.4-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:6d55fb8b1e8929b341cc313a81a26e0d48aa3b519c1dbaadec3a6a2b4fcad025", size = 2312070, upload-time = "2025-10-14T10:21:55.419Z" }, + { url = "https://files.pythonhosted.org/packages/22/ae/f10524fcc0ab8d7f96cf9a74c880243576fd3e72bd8ce4f81e43d22bcab7/pydantic_core-2.41.4-cp314-cp314-win32.whl", hash = "sha256:5b66584e549e2e32a1398df11da2e0a7eff45d5c2d9db9d5667c5e6ac764d77e", size = 1982277, upload-time = "2025-10-14T10:21:57.474Z" }, + { url = "https://files.pythonhosted.org/packages/b4/dc/e5aa27aea1ad4638f0c3fb41132f7eb583bd7420ee63204e2d4333a3bbf9/pydantic_core-2.41.4-cp314-cp314-win_amd64.whl", hash = "sha256:557a0aab88664cc552285316809cab897716a372afaf8efdbef756f8b890e894", size = 2024608, upload-time = "2025-10-14T10:21:59.557Z" }, + { url = "https://files.pythonhosted.org/packages/3e/61/51d89cc2612bd147198e120a13f150afbf0bcb4615cddb049ab10b81b79e/pydantic_core-2.41.4-cp314-cp314-win_arm64.whl", hash = "sha256:3f1ea6f48a045745d0d9f325989d8abd3f1eaf47dd00485912d1a3a63c623a8d", size = 1967614, upload-time = "2025-10-14T10:22:01.847Z" }, + { url = "https://files.pythonhosted.org/packages/0d/c2/472f2e31b95eff099961fa050c376ab7156a81da194f9edb9f710f68787b/pydantic_core-2.41.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6c1fe4c5404c448b13188dd8bd2ebc2bdd7e6727fa61ff481bcc2cca894018da", size = 1876904, upload-time = "2025-10-14T10:22:04.062Z" }, + { url = "https://files.pythonhosted.org/packages/4a/07/ea8eeb91173807ecdae4f4a5f4b150a520085b35454350fc219ba79e66a3/pydantic_core-2.41.4-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:523e7da4d43b113bf8e7b49fa4ec0c35bf4fe66b2230bfc5c13cc498f12c6c3e", size = 1882538, upload-time = "2025-10-14T10:22:06.39Z" }, + { url = "https://files.pythonhosted.org/packages/1e/29/b53a9ca6cd366bfc928823679c6a76c7a4c69f8201c0ba7903ad18ebae2f/pydantic_core-2.41.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5729225de81fb65b70fdb1907fcf08c75d498f4a6f15af005aabb1fdadc19dfa", size = 2041183, upload-time = "2025-10-14T10:22:08.812Z" }, + { url = "https://files.pythonhosted.org/packages/c7/3d/f8c1a371ceebcaf94d6dd2d77c6cf4b1c078e13a5837aee83f760b4f7cfd/pydantic_core-2.41.4-cp314-cp314t-win_amd64.whl", hash = "sha256:de2cfbb09e88f0f795fd90cf955858fc2c691df65b1f21f0aa00b99f3fbc661d", size = 1993542, upload-time = "2025-10-14T10:22:11.332Z" }, + { url = "https://files.pythonhosted.org/packages/8a/ac/9fc61b4f9d079482a290afe8d206b8f490e9fd32d4fc03ed4fc698214e01/pydantic_core-2.41.4-cp314-cp314t-win_arm64.whl", hash = "sha256:d34f950ae05a83e0ede899c595f312ca976023ea1db100cd5aa188f7005e3ab0", size = 1973897, upload-time = "2025-10-14T10:22:13.444Z" }, + { url = "https://files.pythonhosted.org/packages/b0/12/5ba58daa7f453454464f92b3ca7b9d7c657d8641c48e370c3ebc9a82dd78/pydantic_core-2.41.4-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:a1b2cfec3879afb742a7b0bcfa53e4f22ba96571c9e54d6a3afe1052d17d843b", size = 2122139, upload-time = "2025-10-14T10:22:47.288Z" }, + { url = "https://files.pythonhosted.org/packages/21/fb/6860126a77725c3108baecd10fd3d75fec25191d6381b6eb2ac660228eac/pydantic_core-2.41.4-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:d175600d975b7c244af6eb9c9041f10059f20b8bbffec9e33fdd5ee3f67cdc42", size = 1936674, upload-time = "2025-10-14T10:22:49.555Z" }, + { url = "https://files.pythonhosted.org/packages/de/be/57dcaa3ed595d81f8757e2b44a38240ac5d37628bce25fb20d02c7018776/pydantic_core-2.41.4-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f184d657fa4947ae5ec9c47bd7e917730fa1cbb78195037e32dcbab50aca5ee", size = 1956398, upload-time = "2025-10-14T10:22:52.19Z" }, + { url = "https://files.pythonhosted.org/packages/2f/1d/679a344fadb9695f1a6a294d739fbd21d71fa023286daeea8c0ed49e7c2b/pydantic_core-2.41.4-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ed810568aeffed3edc78910af32af911c835cc39ebbfacd1f0ab5dd53028e5c", size = 2138674, upload-time = "2025-10-14T10:22:54.499Z" }, + { url = "https://files.pythonhosted.org/packages/c4/48/ae937e5a831b7c0dc646b2ef788c27cd003894882415300ed21927c21efa/pydantic_core-2.41.4-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:4f5d640aeebb438517150fdeec097739614421900e4a08db4a3ef38898798537", size = 2112087, upload-time = "2025-10-14T10:22:56.818Z" }, + { url = "https://files.pythonhosted.org/packages/5e/db/6db8073e3d32dae017da7e0d16a9ecb897d0a4d92e00634916e486097961/pydantic_core-2.41.4-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:4a9ab037b71927babc6d9e7fc01aea9e66dc2a4a34dff06ef0724a4049629f94", size = 1920387, upload-time = "2025-10-14T10:22:59.342Z" }, + { url = "https://files.pythonhosted.org/packages/0d/c1/dd3542d072fcc336030d66834872f0328727e3b8de289c662faa04aa270e/pydantic_core-2.41.4-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4dab9484ec605c3016df9ad4fd4f9a390bc5d816a3b10c6550f8424bb80b18c", size = 1951495, upload-time = "2025-10-14T10:23:02.089Z" }, + { url = "https://files.pythonhosted.org/packages/2b/c6/db8d13a1f8ab3f1eb08c88bd00fd62d44311e3456d1e85c0e59e0a0376e7/pydantic_core-2.41.4-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8a5028425820731d8c6c098ab642d7b8b999758e24acae03ed38a66eca8335", size = 2139008, upload-time = "2025-10-14T10:23:04.539Z" }, + { url = "https://files.pythonhosted.org/packages/5d/d4/912e976a2dd0b49f31c98a060ca90b353f3b73ee3ea2fd0030412f6ac5ec/pydantic_core-2.41.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:1e5ab4fc177dd41536b3c32b2ea11380dd3d4619a385860621478ac2d25ceb00", size = 2106739, upload-time = "2025-10-14T10:23:06.934Z" }, + { url = "https://files.pythonhosted.org/packages/71/f0/66ec5a626c81eba326072d6ee2b127f8c139543f1bf609b4842978d37833/pydantic_core-2.41.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:3d88d0054d3fa11ce936184896bed3c1c5441d6fa483b498fac6a5d0dd6f64a9", size = 1932549, upload-time = "2025-10-14T10:23:09.24Z" }, + { url = "https://files.pythonhosted.org/packages/c4/af/625626278ca801ea0a658c2dcf290dc9f21bb383098e99e7c6a029fccfc0/pydantic_core-2.41.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b2a054a8725f05b4b6503357e0ac1c4e8234ad3b0c2ac130d6ffc66f0e170e2", size = 2135093, upload-time = "2025-10-14T10:23:11.626Z" }, + { url = "https://files.pythonhosted.org/packages/20/f6/2fba049f54e0f4975fef66be654c597a1d005320fa141863699180c7697d/pydantic_core-2.41.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0d9db5a161c99375a0c68c058e227bee1d89303300802601d76a3d01f74e258", size = 2187971, upload-time = "2025-10-14T10:23:14.437Z" }, + { url = "https://files.pythonhosted.org/packages/0e/80/65ab839a2dfcd3b949202f9d920c34f9de5a537c3646662bdf2f7d999680/pydantic_core-2.41.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:6273ea2c8ffdac7b7fda2653c49682db815aebf4a89243a6feccf5e36c18c347", size = 2147939, upload-time = "2025-10-14T10:23:16.831Z" }, + { url = "https://files.pythonhosted.org/packages/44/58/627565d3d182ce6dfda18b8e1c841eede3629d59c9d7cbc1e12a03aeb328/pydantic_core-2.41.4-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:4c973add636efc61de22530b2ef83a65f39b6d6f656df97f678720e20de26caa", size = 2311400, upload-time = "2025-10-14T10:23:19.234Z" }, + { url = "https://files.pythonhosted.org/packages/24/06/8a84711162ad5a5f19a88cead37cca81b4b1f294f46260ef7334ae4f24d3/pydantic_core-2.41.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:b69d1973354758007f46cf2d44a4f3d0933f10b6dc9bf15cf1356e037f6f731a", size = 2316840, upload-time = "2025-10-14T10:23:21.738Z" }, + { url = "https://files.pythonhosted.org/packages/aa/8b/b7bb512a4682a2f7fbfae152a755d37351743900226d29bd953aaf870eaa/pydantic_core-2.41.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3619320641fd212aaf5997b6ca505e97540b7e16418f4a241f44cdf108ffb50d", size = 2149135, upload-time = "2025-10-14T10:23:24.379Z" }, + { url = "https://files.pythonhosted.org/packages/7e/7d/138e902ed6399b866f7cfe4435d22445e16fff888a1c00560d9dc79a780f/pydantic_core-2.41.4-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:491535d45cd7ad7e4a2af4a5169b0d07bebf1adfd164b0368da8aa41e19907a5", size = 2104721, upload-time = "2025-10-14T10:23:26.906Z" }, + { url = "https://files.pythonhosted.org/packages/47/13/0525623cf94627f7b53b4c2034c81edc8491cbfc7c28d5447fa318791479/pydantic_core-2.41.4-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:54d86c0cada6aba4ec4c047d0e348cbad7063b87ae0f005d9f8c9ad04d4a92a2", size = 1931608, upload-time = "2025-10-14T10:23:29.306Z" }, + { url = "https://files.pythonhosted.org/packages/d6/f9/744bc98137d6ef0a233f808bfc9b18cf94624bf30836a18d3b05d08bf418/pydantic_core-2.41.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca1124aced216b2500dc2609eade086d718e8249cb9696660ab447d50a758bd", size = 2132986, upload-time = "2025-10-14T10:23:32.057Z" }, + { url = "https://files.pythonhosted.org/packages/17/c8/629e88920171173f6049386cc71f893dff03209a9ef32b4d2f7e7c264bcf/pydantic_core-2.41.4-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6c9024169becccf0cb470ada03ee578d7348c119a0d42af3dcf9eda96e3a247c", size = 2187516, upload-time = "2025-10-14T10:23:34.871Z" }, + { url = "https://files.pythonhosted.org/packages/2e/0f/4f2734688d98488782218ca61bcc118329bf5de05bb7fe3adc7dd79b0b86/pydantic_core-2.41.4-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:26895a4268ae5a2849269f4991cdc97236e4b9c010e51137becf25182daac405", size = 2146146, upload-time = "2025-10-14T10:23:37.342Z" }, + { url = "https://files.pythonhosted.org/packages/ed/f2/ab385dbd94a052c62224b99cf99002eee99dbec40e10006c78575aead256/pydantic_core-2.41.4-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:ca4df25762cf71308c446e33c9b1fdca2923a3f13de616e2a949f38bf21ff5a8", size = 2311296, upload-time = "2025-10-14T10:23:40.145Z" }, + { url = "https://files.pythonhosted.org/packages/fc/8e/e4f12afe1beeb9823bba5375f8f258df0cc61b056b0195fb1cf9f62a1a58/pydantic_core-2.41.4-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:5a28fcedd762349519276c36634e71853b4541079cab4acaaac60c4421827308", size = 2315386, upload-time = "2025-10-14T10:23:42.624Z" }, + { url = "https://files.pythonhosted.org/packages/48/f7/925f65d930802e3ea2eb4d5afa4cb8730c8dc0d2cb89a59dc4ed2fcb2d74/pydantic_core-2.41.4-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c173ddcd86afd2535e2b695217e82191580663a1d1928239f877f5a1649ef39f", size = 2147775, upload-time = "2025-10-14T10:23:45.406Z" }, +] + +[[package]] +name = "pydantic-settings" +version = "2.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "python-dotenv" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/20/c5/dbbc27b814c71676593d1c3f718e6cd7d4f00652cefa24b75f7aa3efb25e/pydantic_settings-2.11.0.tar.gz", hash = "sha256:d0e87a1c7d33593beb7194adb8470fc426e95ba02af83a0f23474a04c9a08180", size = 188394, upload-time = "2025-09-24T14:19:11.764Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/d6/887a1ff844e64aa823fb4905978d882a633cfe295c32eacad582b78a7d8b/pydantic_settings-2.11.0-py3-none-any.whl", hash = "sha256:fe2cea3413b9530d10f3a5875adffb17ada5c1e1bab0b2885546d7310415207c", size = 48608, upload-time = "2025-09-24T14:19:10.015Z" }, +] + +[[package]] +name = "python-dotenv" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz", hash = "sha256:a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab", size = 41978, upload-time = "2025-06-24T04:21:07.341Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl", hash = "sha256:31f23644fe2602f88ff55e1f5c79ba497e01224ee7737937930c448e4d0e24dc", size = 20556, upload-time = "2025-06-24T04:21:06.073Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "pywin32" +version = "311" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/40/44efbb0dfbd33aca6a6483191dae0716070ed99e2ecb0c53683f400a0b4f/pywin32-311-cp310-cp310-win32.whl", hash = "sha256:d03ff496d2a0cd4a5893504789d4a15399133fe82517455e78bad62efbb7f0a3", size = 8760432, upload-time = "2025-07-14T20:13:05.9Z" }, + { url = "https://files.pythonhosted.org/packages/5e/bf/360243b1e953bd254a82f12653974be395ba880e7ec23e3731d9f73921cc/pywin32-311-cp310-cp310-win_amd64.whl", hash = "sha256:797c2772017851984b97180b0bebe4b620bb86328e8a884bb626156295a63b3b", size = 9590103, upload-time = "2025-07-14T20:13:07.698Z" }, + { url = "https://files.pythonhosted.org/packages/57/38/d290720e6f138086fb3d5ffe0b6caa019a791dd57866940c82e4eeaf2012/pywin32-311-cp310-cp310-win_arm64.whl", hash = "sha256:0502d1facf1fed4839a9a51ccbcc63d952cf318f78ffc00a7e78528ac27d7a2b", size = 8778557, upload-time = "2025-07-14T20:13:11.11Z" }, + { url = "https://files.pythonhosted.org/packages/7c/af/449a6a91e5d6db51420875c54f6aff7c97a86a3b13a0b4f1a5c13b988de3/pywin32-311-cp311-cp311-win32.whl", hash = "sha256:184eb5e436dea364dcd3d2316d577d625c0351bf237c4e9a5fabbcfa5a58b151", size = 8697031, upload-time = "2025-07-14T20:13:13.266Z" }, + { url = "https://files.pythonhosted.org/packages/51/8f/9bb81dd5bb77d22243d33c8397f09377056d5c687aa6d4042bea7fbf8364/pywin32-311-cp311-cp311-win_amd64.whl", hash = "sha256:3ce80b34b22b17ccbd937a6e78e7225d80c52f5ab9940fe0506a1a16f3dab503", size = 9508308, upload-time = "2025-07-14T20:13:15.147Z" }, + { url = "https://files.pythonhosted.org/packages/44/7b/9c2ab54f74a138c491aba1b1cd0795ba61f144c711daea84a88b63dc0f6c/pywin32-311-cp311-cp311-win_arm64.whl", hash = "sha256:a733f1388e1a842abb67ffa8e7aad0e70ac519e09b0f6a784e65a136ec7cefd2", size = 8703930, upload-time = "2025-07-14T20:13:16.945Z" }, + { url = "https://files.pythonhosted.org/packages/e7/ab/01ea1943d4eba0f850c3c61e78e8dd59757ff815ff3ccd0a84de5f541f42/pywin32-311-cp312-cp312-win32.whl", hash = "sha256:750ec6e621af2b948540032557b10a2d43b0cee2ae9758c54154d711cc852d31", size = 8706543, upload-time = "2025-07-14T20:13:20.765Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a8/a0e8d07d4d051ec7502cd58b291ec98dcc0c3fff027caad0470b72cfcc2f/pywin32-311-cp312-cp312-win_amd64.whl", hash = "sha256:b8c095edad5c211ff31c05223658e71bf7116daa0ecf3ad85f3201ea3190d067", size = 9495040, upload-time = "2025-07-14T20:13:22.543Z" }, + { url = "https://files.pythonhosted.org/packages/ba/3a/2ae996277b4b50f17d61f0603efd8253cb2d79cc7ae159468007b586396d/pywin32-311-cp312-cp312-win_arm64.whl", hash = "sha256:e286f46a9a39c4a18b319c28f59b61de793654af2f395c102b4f819e584b5852", size = 8710102, upload-time = "2025-07-14T20:13:24.682Z" }, + { url = "https://files.pythonhosted.org/packages/a5/be/3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3/pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d", size = 8705700, upload-time = "2025-07-14T20:13:26.471Z" }, + { url = "https://files.pythonhosted.org/packages/e3/28/e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c/pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d", size = 9494700, upload-time = "2025-07-14T20:13:28.243Z" }, + { url = "https://files.pythonhosted.org/packages/04/bf/90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a/pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a", size = 8709318, upload-time = "2025-07-14T20:13:30.348Z" }, + { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714, upload-time = "2025-07-14T20:13:32.449Z" }, + { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800, upload-time = "2025-07-14T20:13:34.312Z" }, + { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540, upload-time = "2025-07-14T20:13:36.379Z" }, +] + +[[package]] +name = "referencing" +version = "0.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", size = 78036, upload-time = "2025-10-13T15:30:48.871Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", hash = "sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231", size = 26766, upload-time = "2025-10-13T15:30:47.625Z" }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, +] + +[[package]] +name = "rpds-py" +version = "0.27.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz", hash = "sha256:26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8", size = 27479, upload-time = "2025-08-27T12:16:36.024Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/ed/3aef893e2dd30e77e35d20d4ddb45ca459db59cead748cad9796ad479411/rpds_py-0.27.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:68afeec26d42ab3b47e541b272166a0b4400313946871cba3ed3a4fc0cab1cef", size = 371606, upload-time = "2025-08-27T12:12:25.189Z" }, + { url = "https://files.pythonhosted.org/packages/6d/82/9818b443e5d3eb4c83c3994561387f116aae9833b35c484474769c4a8faf/rpds_py-0.27.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74e5b2f7bb6fa38b1b10546d27acbacf2a022a8b5543efb06cfebc72a59c85be", size = 353452, upload-time = "2025-08-27T12:12:27.433Z" }, + { url = "https://files.pythonhosted.org/packages/99/c7/d2a110ffaaa397fc6793a83c7bd3545d9ab22658b7cdff05a24a4535cc45/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9024de74731df54546fab0bfbcdb49fae19159ecaecfc8f37c18d2c7e2c0bd61", size = 381519, upload-time = "2025-08-27T12:12:28.719Z" }, + { url = "https://files.pythonhosted.org/packages/5a/bc/e89581d1f9d1be7d0247eaef602566869fdc0d084008ba139e27e775366c/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:31d3ebadefcd73b73928ed0b2fd696f7fefda8629229f81929ac9c1854d0cffb", size = 394424, upload-time = "2025-08-27T12:12:30.207Z" }, + { url = "https://files.pythonhosted.org/packages/ac/2e/36a6861f797530e74bb6ed53495f8741f1ef95939eed01d761e73d559067/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2e7f8f169d775dd9092a1743768d771f1d1300453ddfe6325ae3ab5332b4657", size = 523467, upload-time = "2025-08-27T12:12:31.808Z" }, + { url = "https://files.pythonhosted.org/packages/c4/59/c1bc2be32564fa499f988f0a5c6505c2f4746ef96e58e4d7de5cf923d77e/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d905d16f77eb6ab2e324e09bfa277b4c8e5e6b8a78a3e7ff8f3cdf773b4c013", size = 402660, upload-time = "2025-08-27T12:12:33.444Z" }, + { url = "https://files.pythonhosted.org/packages/0a/ec/ef8bf895f0628dd0a59e54d81caed6891663cb9c54a0f4bb7da918cb88cf/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50c946f048209e6362e22576baea09193809f87687a95a8db24e5fbdb307b93a", size = 384062, upload-time = "2025-08-27T12:12:34.857Z" }, + { url = "https://files.pythonhosted.org/packages/69/f7/f47ff154be8d9a5e691c083a920bba89cef88d5247c241c10b9898f595a1/rpds_py-0.27.1-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:3deab27804d65cd8289eb814c2c0e807c4b9d9916c9225e363cb0cf875eb67c1", size = 401289, upload-time = "2025-08-27T12:12:36.085Z" }, + { url = "https://files.pythonhosted.org/packages/3b/d9/ca410363efd0615814ae579f6829cafb39225cd63e5ea5ed1404cb345293/rpds_py-0.27.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b61097f7488de4be8244c89915da8ed212832ccf1e7c7753a25a394bf9b1f10", size = 417718, upload-time = "2025-08-27T12:12:37.401Z" }, + { url = "https://files.pythonhosted.org/packages/e3/a0/8cb5c2ff38340f221cc067cc093d1270e10658ba4e8d263df923daa18e86/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8a3f29aba6e2d7d90528d3c792555a93497fe6538aa65eb675b44505be747808", size = 558333, upload-time = "2025-08-27T12:12:38.672Z" }, + { url = "https://files.pythonhosted.org/packages/6f/8c/1b0de79177c5d5103843774ce12b84caa7164dfc6cd66378768d37db11bf/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dd6cd0485b7d347304067153a6dc1d73f7d4fd995a396ef32a24d24b8ac63ac8", size = 589127, upload-time = "2025-08-27T12:12:41.48Z" }, + { url = "https://files.pythonhosted.org/packages/c8/5e/26abb098d5e01266b0f3a2488d299d19ccc26849735d9d2b95c39397e945/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6f4461bf931108c9fa226ffb0e257c1b18dc2d44cd72b125bec50ee0ab1248a9", size = 554899, upload-time = "2025-08-27T12:12:42.925Z" }, + { url = "https://files.pythonhosted.org/packages/de/41/905cc90ced13550db017f8f20c6d8e8470066c5738ba480d7ba63e3d136b/rpds_py-0.27.1-cp310-cp310-win32.whl", hash = "sha256:ee5422d7fb21f6a00c1901bf6559c49fee13a5159d0288320737bbf6585bd3e4", size = 217450, upload-time = "2025-08-27T12:12:44.813Z" }, + { url = "https://files.pythonhosted.org/packages/75/3d/6bef47b0e253616ccdf67c283e25f2d16e18ccddd38f92af81d5a3420206/rpds_py-0.27.1-cp310-cp310-win_amd64.whl", hash = "sha256:3e039aabf6d5f83c745d5f9a0a381d031e9ed871967c0a5c38d201aca41f3ba1", size = 228447, upload-time = "2025-08-27T12:12:46.204Z" }, + { url = "https://files.pythonhosted.org/packages/b5/c1/7907329fbef97cbd49db6f7303893bd1dd5a4a3eae415839ffdfb0762cae/rpds_py-0.27.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:be898f271f851f68b318872ce6ebebbc62f303b654e43bf72683dbdc25b7c881", size = 371063, upload-time = "2025-08-27T12:12:47.856Z" }, + { url = "https://files.pythonhosted.org/packages/11/94/2aab4bc86228bcf7c48760990273653a4900de89c7537ffe1b0d6097ed39/rpds_py-0.27.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:62ac3d4e3e07b58ee0ddecd71d6ce3b1637de2d373501412df395a0ec5f9beb5", size = 353210, upload-time = "2025-08-27T12:12:49.187Z" }, + { url = "https://files.pythonhosted.org/packages/3a/57/f5eb3ecf434342f4f1a46009530e93fd201a0b5b83379034ebdb1d7c1a58/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4708c5c0ceb2d034f9991623631d3d23cb16e65c83736ea020cdbe28d57c0a0e", size = 381636, upload-time = "2025-08-27T12:12:50.492Z" }, + { url = "https://files.pythonhosted.org/packages/ae/f4/ef95c5945e2ceb5119571b184dd5a1cc4b8541bbdf67461998cfeac9cb1e/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:abfa1171a9952d2e0002aba2ad3780820b00cc3d9c98c6630f2e93271501f66c", size = 394341, upload-time = "2025-08-27T12:12:52.024Z" }, + { url = "https://files.pythonhosted.org/packages/5a/7e/4bd610754bf492d398b61725eb9598ddd5eb86b07d7d9483dbcd810e20bc/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b507d19f817ebaca79574b16eb2ae412e5c0835542c93fe9983f1e432aca195", size = 523428, upload-time = "2025-08-27T12:12:53.779Z" }, + { url = "https://files.pythonhosted.org/packages/9f/e5/059b9f65a8c9149361a8b75094864ab83b94718344db511fd6117936ed2a/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:168b025f8fd8d8d10957405f3fdcef3dc20f5982d398f90851f4abc58c566c52", size = 402923, upload-time = "2025-08-27T12:12:55.15Z" }, + { url = "https://files.pythonhosted.org/packages/f5/48/64cabb7daced2968dd08e8a1b7988bf358d7bd5bcd5dc89a652f4668543c/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb56c6210ef77caa58e16e8c17d35c63fe3f5b60fd9ba9d424470c3400bcf9ed", size = 384094, upload-time = "2025-08-27T12:12:57.194Z" }, + { url = "https://files.pythonhosted.org/packages/ae/e1/dc9094d6ff566bff87add8a510c89b9e158ad2ecd97ee26e677da29a9e1b/rpds_py-0.27.1-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:d252f2d8ca0195faa707f8eb9368955760880b2b42a8ee16d382bf5dd807f89a", size = 401093, upload-time = "2025-08-27T12:12:58.985Z" }, + { url = "https://files.pythonhosted.org/packages/37/8e/ac8577e3ecdd5593e283d46907d7011618994e1d7ab992711ae0f78b9937/rpds_py-0.27.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6e5e54da1e74b91dbc7996b56640f79b195d5925c2b78efaa8c5d53e1d88edde", size = 417969, upload-time = "2025-08-27T12:13:00.367Z" }, + { url = "https://files.pythonhosted.org/packages/66/6d/87507430a8f74a93556fe55c6485ba9c259949a853ce407b1e23fea5ba31/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ffce0481cc6e95e5b3f0a47ee17ffbd234399e6d532f394c8dce320c3b089c21", size = 558302, upload-time = "2025-08-27T12:13:01.737Z" }, + { url = "https://files.pythonhosted.org/packages/3a/bb/1db4781ce1dda3eecc735e3152659a27b90a02ca62bfeea17aee45cc0fbc/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:a205fdfe55c90c2cd8e540ca9ceba65cbe6629b443bc05db1f590a3db8189ff9", size = 589259, upload-time = "2025-08-27T12:13:03.127Z" }, + { url = "https://files.pythonhosted.org/packages/7b/0e/ae1c8943d11a814d01b482e1f8da903f88047a962dff9bbdadf3bd6e6fd1/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:689fb5200a749db0415b092972e8eba85847c23885c8543a8b0f5c009b1a5948", size = 554983, upload-time = "2025-08-27T12:13:04.516Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d5/0b2a55415931db4f112bdab072443ff76131b5ac4f4dc98d10d2d357eb03/rpds_py-0.27.1-cp311-cp311-win32.whl", hash = "sha256:3182af66048c00a075010bc7f4860f33913528a4b6fc09094a6e7598e462fe39", size = 217154, upload-time = "2025-08-27T12:13:06.278Z" }, + { url = "https://files.pythonhosted.org/packages/24/75/3b7ffe0d50dc86a6a964af0d1cc3a4a2cdf437cb7b099a4747bbb96d1819/rpds_py-0.27.1-cp311-cp311-win_amd64.whl", hash = "sha256:b4938466c6b257b2f5c4ff98acd8128ec36b5059e5c8f8372d79316b1c36bb15", size = 228627, upload-time = "2025-08-27T12:13:07.625Z" }, + { url = "https://files.pythonhosted.org/packages/8d/3f/4fd04c32abc02c710f09a72a30c9a55ea3cc154ef8099078fd50a0596f8e/rpds_py-0.27.1-cp311-cp311-win_arm64.whl", hash = "sha256:2f57af9b4d0793e53266ee4325535a31ba48e2f875da81a9177c9926dfa60746", size = 220998, upload-time = "2025-08-27T12:13:08.972Z" }, + { url = "https://files.pythonhosted.org/packages/bd/fe/38de28dee5df58b8198c743fe2bea0c785c6d40941b9950bac4cdb71a014/rpds_py-0.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ae2775c1973e3c30316892737b91f9283f9908e3cc7625b9331271eaaed7dc90", size = 361887, upload-time = "2025-08-27T12:13:10.233Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/4b6c7eedc7dd90986bf0fab6ea2a091ec11c01b15f8ba0a14d3f80450468/rpds_py-0.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2643400120f55c8a96f7c9d858f7be0c88d383cd4653ae2cf0d0c88f668073e5", size = 345795, upload-time = "2025-08-27T12:13:11.65Z" }, + { url = "https://files.pythonhosted.org/packages/6f/0e/e650e1b81922847a09cca820237b0edee69416a01268b7754d506ade11ad/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16323f674c089b0360674a4abd28d5042947d54ba620f72514d69be4ff64845e", size = 385121, upload-time = "2025-08-27T12:13:13.008Z" }, + { url = "https://files.pythonhosted.org/packages/1b/ea/b306067a712988e2bff00dcc7c8f31d26c29b6d5931b461aa4b60a013e33/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a1f4814b65eacac94a00fc9a526e3fdafd78e439469644032032d0d63de4881", size = 398976, upload-time = "2025-08-27T12:13:14.368Z" }, + { url = "https://files.pythonhosted.org/packages/2c/0a/26dc43c8840cb8fe239fe12dbc8d8de40f2365e838f3d395835dde72f0e5/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ba32c16b064267b22f1850a34051121d423b6f7338a12b9459550eb2096e7ec", size = 525953, upload-time = "2025-08-27T12:13:15.774Z" }, + { url = "https://files.pythonhosted.org/packages/22/14/c85e8127b573aaf3a0cbd7fbb8c9c99e735a4a02180c84da2a463b766e9e/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5c20f33fd10485b80f65e800bbe5f6785af510b9f4056c5a3c612ebc83ba6cb", size = 407915, upload-time = "2025-08-27T12:13:17.379Z" }, + { url = "https://files.pythonhosted.org/packages/ed/7b/8f4fee9ba1fb5ec856eb22d725a4efa3deb47f769597c809e03578b0f9d9/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:466bfe65bd932da36ff279ddd92de56b042f2266d752719beb97b08526268ec5", size = 386883, upload-time = "2025-08-27T12:13:18.704Z" }, + { url = "https://files.pythonhosted.org/packages/86/47/28fa6d60f8b74fcdceba81b272f8d9836ac0340570f68f5df6b41838547b/rpds_py-0.27.1-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:41e532bbdcb57c92ba3be62c42e9f096431b4cf478da9bc3bc6ce5c38ab7ba7a", size = 405699, upload-time = "2025-08-27T12:13:20.089Z" }, + { url = "https://files.pythonhosted.org/packages/d0/fd/c5987b5e054548df56953a21fe2ebed51fc1ec7c8f24fd41c067b68c4a0a/rpds_py-0.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f149826d742b406579466283769a8ea448eed82a789af0ed17b0cd5770433444", size = 423713, upload-time = "2025-08-27T12:13:21.436Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ba/3c4978b54a73ed19a7d74531be37a8bcc542d917c770e14d372b8daea186/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80c60cfb5310677bd67cb1e85a1e8eb52e12529545441b43e6f14d90b878775a", size = 562324, upload-time = "2025-08-27T12:13:22.789Z" }, + { url = "https://files.pythonhosted.org/packages/b5/6c/6943a91768fec16db09a42b08644b960cff540c66aab89b74be6d4a144ba/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7ee6521b9baf06085f62ba9c7a3e5becffbc32480d2f1b351559c001c38ce4c1", size = 593646, upload-time = "2025-08-27T12:13:24.122Z" }, + { url = "https://files.pythonhosted.org/packages/11/73/9d7a8f4be5f4396f011a6bb7a19fe26303a0dac9064462f5651ced2f572f/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a512c8263249a9d68cac08b05dd59d2b3f2061d99b322813cbcc14c3c7421998", size = 558137, upload-time = "2025-08-27T12:13:25.557Z" }, + { url = "https://files.pythonhosted.org/packages/6e/96/6772cbfa0e2485bcceef8071de7821f81aeac8bb45fbfd5542a3e8108165/rpds_py-0.27.1-cp312-cp312-win32.whl", hash = "sha256:819064fa048ba01b6dadc5116f3ac48610435ac9a0058bbde98e569f9e785c39", size = 221343, upload-time = "2025-08-27T12:13:26.967Z" }, + { url = "https://files.pythonhosted.org/packages/67/b6/c82f0faa9af1c6a64669f73a17ee0eeef25aff30bb9a1c318509efe45d84/rpds_py-0.27.1-cp312-cp312-win_amd64.whl", hash = "sha256:d9199717881f13c32c4046a15f024971a3b78ad4ea029e8da6b86e5aa9cf4594", size = 232497, upload-time = "2025-08-27T12:13:28.326Z" }, + { url = "https://files.pythonhosted.org/packages/e1/96/2817b44bd2ed11aebacc9251da03689d56109b9aba5e311297b6902136e2/rpds_py-0.27.1-cp312-cp312-win_arm64.whl", hash = "sha256:33aa65b97826a0e885ef6e278fbd934e98cdcfed80b63946025f01e2f5b29502", size = 222790, upload-time = "2025-08-27T12:13:29.71Z" }, + { url = "https://files.pythonhosted.org/packages/cc/77/610aeee8d41e39080c7e14afa5387138e3c9fa9756ab893d09d99e7d8e98/rpds_py-0.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e4b9fcfbc021633863a37e92571d6f91851fa656f0180246e84cbd8b3f6b329b", size = 361741, upload-time = "2025-08-27T12:13:31.039Z" }, + { url = "https://files.pythonhosted.org/packages/3a/fc/c43765f201c6a1c60be2043cbdb664013def52460a4c7adace89d6682bf4/rpds_py-0.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1441811a96eadca93c517d08df75de45e5ffe68aa3089924f963c782c4b898cf", size = 345574, upload-time = "2025-08-27T12:13:32.902Z" }, + { url = "https://files.pythonhosted.org/packages/20/42/ee2b2ca114294cd9847d0ef9c26d2b0851b2e7e00bf14cc4c0b581df0fc3/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55266dafa22e672f5a4f65019015f90336ed31c6383bd53f5e7826d21a0e0b83", size = 385051, upload-time = "2025-08-27T12:13:34.228Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e8/1e430fe311e4799e02e2d1af7c765f024e95e17d651612425b226705f910/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78827d7ac08627ea2c8e02c9e5b41180ea5ea1f747e9db0915e3adf36b62dcf", size = 398395, upload-time = "2025-08-27T12:13:36.132Z" }, + { url = "https://files.pythonhosted.org/packages/82/95/9dc227d441ff2670651c27a739acb2535ccaf8b351a88d78c088965e5996/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae92443798a40a92dc5f0b01d8a7c93adde0c4dc965310a29ae7c64d72b9fad2", size = 524334, upload-time = "2025-08-27T12:13:37.562Z" }, + { url = "https://files.pythonhosted.org/packages/87/01/a670c232f401d9ad461d9a332aa4080cd3cb1d1df18213dbd0d2a6a7ab51/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c46c9dd2403b66a2a3b9720ec4b74d4ab49d4fabf9f03dfdce2d42af913fe8d0", size = 407691, upload-time = "2025-08-27T12:13:38.94Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/0a14aebbaa26fe7fab4780c76f2239e76cc95a0090bdb25e31d95c492fcd/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2efe4eb1d01b7f5f1939f4ef30ecea6c6b3521eec451fb93191bf84b2a522418", size = 386868, upload-time = "2025-08-27T12:13:40.192Z" }, + { url = "https://files.pythonhosted.org/packages/3b/03/8c897fb8b5347ff6c1cc31239b9611c5bf79d78c984430887a353e1409a1/rpds_py-0.27.1-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:15d3b4d83582d10c601f481eca29c3f138d44c92187d197aff663a269197c02d", size = 405469, upload-time = "2025-08-27T12:13:41.496Z" }, + { url = "https://files.pythonhosted.org/packages/da/07/88c60edc2df74850d496d78a1fdcdc7b54360a7f610a4d50008309d41b94/rpds_py-0.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4ed2e16abbc982a169d30d1a420274a709949e2cbdef119fe2ec9d870b42f274", size = 422125, upload-time = "2025-08-27T12:13:42.802Z" }, + { url = "https://files.pythonhosted.org/packages/6b/86/5f4c707603e41b05f191a749984f390dabcbc467cf833769b47bf14ba04f/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a75f305c9b013289121ec0f1181931975df78738cdf650093e6b86d74aa7d8dd", size = 562341, upload-time = "2025-08-27T12:13:44.472Z" }, + { url = "https://files.pythonhosted.org/packages/b2/92/3c0cb2492094e3cd9baf9e49bbb7befeceb584ea0c1a8b5939dca4da12e5/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:67ce7620704745881a3d4b0ada80ab4d99df390838839921f99e63c474f82cf2", size = 592511, upload-time = "2025-08-27T12:13:45.898Z" }, + { url = "https://files.pythonhosted.org/packages/10/bb/82e64fbb0047c46a168faa28d0d45a7851cd0582f850b966811d30f67ad8/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d992ac10eb86d9b6f369647b6a3f412fc0075cfd5d799530e84d335e440a002", size = 557736, upload-time = "2025-08-27T12:13:47.408Z" }, + { url = "https://files.pythonhosted.org/packages/00/95/3c863973d409210da7fb41958172c6b7dbe7fc34e04d3cc1f10bb85e979f/rpds_py-0.27.1-cp313-cp313-win32.whl", hash = "sha256:4f75e4bd8ab8db624e02c8e2fc4063021b58becdbe6df793a8111d9343aec1e3", size = 221462, upload-time = "2025-08-27T12:13:48.742Z" }, + { url = "https://files.pythonhosted.org/packages/ce/2c/5867b14a81dc217b56d95a9f2a40fdbc56a1ab0181b80132beeecbd4b2d6/rpds_py-0.27.1-cp313-cp313-win_amd64.whl", hash = "sha256:f9025faafc62ed0b75a53e541895ca272815bec18abe2249ff6501c8f2e12b83", size = 232034, upload-time = "2025-08-27T12:13:50.11Z" }, + { url = "https://files.pythonhosted.org/packages/c7/78/3958f3f018c01923823f1e47f1cc338e398814b92d83cd278364446fac66/rpds_py-0.27.1-cp313-cp313-win_arm64.whl", hash = "sha256:ed10dc32829e7d222b7d3b93136d25a406ba9788f6a7ebf6809092da1f4d279d", size = 222392, upload-time = "2025-08-27T12:13:52.587Z" }, + { url = "https://files.pythonhosted.org/packages/01/76/1cdf1f91aed5c3a7bf2eba1f1c4e4d6f57832d73003919a20118870ea659/rpds_py-0.27.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:92022bbbad0d4426e616815b16bc4127f83c9a74940e1ccf3cfe0b387aba0228", size = 358355, upload-time = "2025-08-27T12:13:54.012Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6f/bf142541229374287604caf3bb2a4ae17f0a580798fd72d3b009b532db4e/rpds_py-0.27.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:47162fdab9407ec3f160805ac3e154df042e577dd53341745fc7fb3f625e6d92", size = 342138, upload-time = "2025-08-27T12:13:55.791Z" }, + { url = "https://files.pythonhosted.org/packages/1a/77/355b1c041d6be40886c44ff5e798b4e2769e497b790f0f7fd1e78d17e9a8/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb89bec23fddc489e5d78b550a7b773557c9ab58b7946154a10a6f7a214a48b2", size = 380247, upload-time = "2025-08-27T12:13:57.683Z" }, + { url = "https://files.pythonhosted.org/packages/d6/a4/d9cef5c3946ea271ce2243c51481971cd6e34f21925af2783dd17b26e815/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e48af21883ded2b3e9eb48cb7880ad8598b31ab752ff3be6457001d78f416723", size = 390699, upload-time = "2025-08-27T12:13:59.137Z" }, + { url = "https://files.pythonhosted.org/packages/3a/06/005106a7b8c6c1a7e91b73169e49870f4af5256119d34a361ae5240a0c1d/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f5b7bd8e219ed50299e58551a410b64daafb5017d54bbe822e003856f06a802", size = 521852, upload-time = "2025-08-27T12:14:00.583Z" }, + { url = "https://files.pythonhosted.org/packages/e5/3e/50fb1dac0948e17a02eb05c24510a8fe12d5ce8561c6b7b7d1339ab7ab9c/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08f1e20bccf73b08d12d804d6e1c22ca5530e71659e6673bce31a6bb71c1e73f", size = 402582, upload-time = "2025-08-27T12:14:02.034Z" }, + { url = "https://files.pythonhosted.org/packages/cb/b0/f4e224090dc5b0ec15f31a02d746ab24101dd430847c4d99123798661bfc/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dc5dceeaefcc96dc192e3a80bbe1d6c410c469e97bdd47494a7d930987f18b2", size = 384126, upload-time = "2025-08-27T12:14:03.437Z" }, + { url = "https://files.pythonhosted.org/packages/54/77/ac339d5f82b6afff1df8f0fe0d2145cc827992cb5f8eeb90fc9f31ef7a63/rpds_py-0.27.1-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:d76f9cc8665acdc0c9177043746775aa7babbf479b5520b78ae4002d889f5c21", size = 399486, upload-time = "2025-08-27T12:14:05.443Z" }, + { url = "https://files.pythonhosted.org/packages/d6/29/3e1c255eee6ac358c056a57d6d6869baa00a62fa32eea5ee0632039c50a3/rpds_py-0.27.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:134fae0e36022edad8290a6661edf40c023562964efea0cc0ec7f5d392d2aaef", size = 414832, upload-time = "2025-08-27T12:14:06.902Z" }, + { url = "https://files.pythonhosted.org/packages/3f/db/6d498b844342deb3fa1d030598db93937a9964fcf5cb4da4feb5f17be34b/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb11a4f1b2b63337cfd3b4d110af778a59aae51c81d195768e353d8b52f88081", size = 557249, upload-time = "2025-08-27T12:14:08.37Z" }, + { url = "https://files.pythonhosted.org/packages/60/f3/690dd38e2310b6f68858a331399b4d6dbb9132c3e8ef8b4333b96caf403d/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:13e608ac9f50a0ed4faec0e90ece76ae33b34c0e8656e3dceb9a7db994c692cd", size = 587356, upload-time = "2025-08-27T12:14:10.034Z" }, + { url = "https://files.pythonhosted.org/packages/86/e3/84507781cccd0145f35b1dc32c72675200c5ce8d5b30f813e49424ef68fc/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dd2135527aa40f061350c3f8f89da2644de26cd73e4de458e79606384f4f68e7", size = 555300, upload-time = "2025-08-27T12:14:11.783Z" }, + { url = "https://files.pythonhosted.org/packages/e5/ee/375469849e6b429b3516206b4580a79e9ef3eb12920ddbd4492b56eaacbe/rpds_py-0.27.1-cp313-cp313t-win32.whl", hash = "sha256:3020724ade63fe320a972e2ffd93b5623227e684315adce194941167fee02688", size = 216714, upload-time = "2025-08-27T12:14:13.629Z" }, + { url = "https://files.pythonhosted.org/packages/21/87/3fc94e47c9bd0742660e84706c311a860dcae4374cf4a03c477e23ce605a/rpds_py-0.27.1-cp313-cp313t-win_amd64.whl", hash = "sha256:8ee50c3e41739886606388ba3ab3ee2aae9f35fb23f833091833255a31740797", size = 228943, upload-time = "2025-08-27T12:14:14.937Z" }, + { url = "https://files.pythonhosted.org/packages/70/36/b6e6066520a07cf029d385de869729a895917b411e777ab1cde878100a1d/rpds_py-0.27.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:acb9aafccaae278f449d9c713b64a9e68662e7799dbd5859e2c6b3c67b56d334", size = 362472, upload-time = "2025-08-27T12:14:16.333Z" }, + { url = "https://files.pythonhosted.org/packages/af/07/b4646032e0dcec0df9c73a3bd52f63bc6c5f9cda992f06bd0e73fe3fbebd/rpds_py-0.27.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b7fb801aa7f845ddf601c49630deeeccde7ce10065561d92729bfe81bd21fb33", size = 345676, upload-time = "2025-08-27T12:14:17.764Z" }, + { url = "https://files.pythonhosted.org/packages/b0/16/2f1003ee5d0af4bcb13c0cf894957984c32a6751ed7206db2aee7379a55e/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe0dd05afb46597b9a2e11c351e5e4283c741237e7f617ffb3252780cca9336a", size = 385313, upload-time = "2025-08-27T12:14:19.829Z" }, + { url = "https://files.pythonhosted.org/packages/05/cd/7eb6dd7b232e7f2654d03fa07f1414d7dfc980e82ba71e40a7c46fd95484/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b6dfb0e058adb12d8b1d1b25f686e94ffa65d9995a5157afe99743bf7369d62b", size = 399080, upload-time = "2025-08-27T12:14:21.531Z" }, + { url = "https://files.pythonhosted.org/packages/20/51/5829afd5000ec1cb60f304711f02572d619040aa3ec033d8226817d1e571/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed090ccd235f6fa8bb5861684567f0a83e04f52dfc2e5c05f2e4b1309fcf85e7", size = 523868, upload-time = "2025-08-27T12:14:23.485Z" }, + { url = "https://files.pythonhosted.org/packages/05/2c/30eebca20d5db95720ab4d2faec1b5e4c1025c473f703738c371241476a2/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf876e79763eecf3e7356f157540d6a093cef395b65514f17a356f62af6cc136", size = 408750, upload-time = "2025-08-27T12:14:24.924Z" }, + { url = "https://files.pythonhosted.org/packages/90/1a/cdb5083f043597c4d4276eae4e4c70c55ab5accec078da8611f24575a367/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12ed005216a51b1d6e2b02a7bd31885fe317e45897de81d86dcce7d74618ffff", size = 387688, upload-time = "2025-08-27T12:14:27.537Z" }, + { url = "https://files.pythonhosted.org/packages/7c/92/cf786a15320e173f945d205ab31585cc43969743bb1a48b6888f7a2b0a2d/rpds_py-0.27.1-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:ee4308f409a40e50593c7e3bb8cbe0b4d4c66d1674a316324f0c2f5383b486f9", size = 407225, upload-time = "2025-08-27T12:14:28.981Z" }, + { url = "https://files.pythonhosted.org/packages/33/5c/85ee16df5b65063ef26017bef33096557a4c83fbe56218ac7cd8c235f16d/rpds_py-0.27.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b08d152555acf1f455154d498ca855618c1378ec810646fcd7c76416ac6dc60", size = 423361, upload-time = "2025-08-27T12:14:30.469Z" }, + { url = "https://files.pythonhosted.org/packages/4b/8e/1c2741307fcabd1a334ecf008e92c4f47bb6f848712cf15c923becfe82bb/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:dce51c828941973a5684d458214d3a36fcd28da3e1875d659388f4f9f12cc33e", size = 562493, upload-time = "2025-08-27T12:14:31.987Z" }, + { url = "https://files.pythonhosted.org/packages/04/03/5159321baae9b2222442a70c1f988cbbd66b9be0675dd3936461269be360/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:c1476d6f29eb81aa4151c9a31219b03f1f798dc43d8af1250a870735516a1212", size = 592623, upload-time = "2025-08-27T12:14:33.543Z" }, + { url = "https://files.pythonhosted.org/packages/ff/39/c09fd1ad28b85bc1d4554a8710233c9f4cefd03d7717a1b8fbfd171d1167/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3ce0cac322b0d69b63c9cdb895ee1b65805ec9ffad37639f291dd79467bee675", size = 558800, upload-time = "2025-08-27T12:14:35.436Z" }, + { url = "https://files.pythonhosted.org/packages/c5/d6/99228e6bbcf4baa764b18258f519a9035131d91b538d4e0e294313462a98/rpds_py-0.27.1-cp314-cp314-win32.whl", hash = "sha256:dfbfac137d2a3d0725758cd141f878bf4329ba25e34979797c89474a89a8a3a3", size = 221943, upload-time = "2025-08-27T12:14:36.898Z" }, + { url = "https://files.pythonhosted.org/packages/be/07/c802bc6b8e95be83b79bdf23d1aa61d68324cb1006e245d6c58e959e314d/rpds_py-0.27.1-cp314-cp314-win_amd64.whl", hash = "sha256:a6e57b0abfe7cc513450fcf529eb486b6e4d3f8aee83e92eb5f1ef848218d456", size = 233739, upload-time = "2025-08-27T12:14:38.386Z" }, + { url = "https://files.pythonhosted.org/packages/c8/89/3e1b1c16d4c2d547c5717377a8df99aee8099ff050f87c45cb4d5fa70891/rpds_py-0.27.1-cp314-cp314-win_arm64.whl", hash = "sha256:faf8d146f3d476abfee026c4ae3bdd9ca14236ae4e4c310cbd1cf75ba33d24a3", size = 223120, upload-time = "2025-08-27T12:14:39.82Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/dc7931dc2fa4a6e46b2a4fa744a9fe5c548efd70e0ba74f40b39fa4a8c10/rpds_py-0.27.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:ba81d2b56b6d4911ce735aad0a1d4495e808b8ee4dc58715998741a26874e7c2", size = 358944, upload-time = "2025-08-27T12:14:41.199Z" }, + { url = "https://files.pythonhosted.org/packages/e6/22/4af76ac4e9f336bfb1a5f240d18a33c6b2fcaadb7472ac7680576512b49a/rpds_py-0.27.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:84f7d509870098de0e864cad0102711c1e24e9b1a50ee713b65928adb22269e4", size = 342283, upload-time = "2025-08-27T12:14:42.699Z" }, + { url = "https://files.pythonhosted.org/packages/1c/15/2a7c619b3c2272ea9feb9ade67a45c40b3eeb500d503ad4c28c395dc51b4/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e960fc78fecd1100539f14132425e1d5fe44ecb9239f8f27f079962021523e", size = 380320, upload-time = "2025-08-27T12:14:44.157Z" }, + { url = "https://files.pythonhosted.org/packages/a2/7d/4c6d243ba4a3057e994bb5bedd01b5c963c12fe38dde707a52acdb3849e7/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:62f85b665cedab1a503747617393573995dac4600ff51869d69ad2f39eb5e817", size = 391760, upload-time = "2025-08-27T12:14:45.845Z" }, + { url = "https://files.pythonhosted.org/packages/b4/71/b19401a909b83bcd67f90221330bc1ef11bc486fe4e04c24388d28a618ae/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fed467af29776f6556250c9ed85ea5a4dd121ab56a5f8b206e3e7a4c551e48ec", size = 522476, upload-time = "2025-08-27T12:14:47.364Z" }, + { url = "https://files.pythonhosted.org/packages/e4/44/1a3b9715c0455d2e2f0f6df5ee6d6f5afdc423d0773a8a682ed2b43c566c/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2729615f9d430af0ae6b36cf042cb55c0936408d543fb691e1a9e36648fd35a", size = 403418, upload-time = "2025-08-27T12:14:49.991Z" }, + { url = "https://files.pythonhosted.org/packages/1c/4b/fb6c4f14984eb56673bc868a66536f53417ddb13ed44b391998100a06a96/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b207d881a9aef7ba753d69c123a35d96ca7cb808056998f6b9e8747321f03b8", size = 384771, upload-time = "2025-08-27T12:14:52.159Z" }, + { url = "https://files.pythonhosted.org/packages/c0/56/d5265d2d28b7420d7b4d4d85cad8ef891760f5135102e60d5c970b976e41/rpds_py-0.27.1-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:639fd5efec029f99b79ae47e5d7e00ad8a773da899b6309f6786ecaf22948c48", size = 400022, upload-time = "2025-08-27T12:14:53.859Z" }, + { url = "https://files.pythonhosted.org/packages/8f/e9/9f5fc70164a569bdd6ed9046486c3568d6926e3a49bdefeeccfb18655875/rpds_py-0.27.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fecc80cb2a90e28af8a9b366edacf33d7a91cbfe4c2c4544ea1246e949cfebeb", size = 416787, upload-time = "2025-08-27T12:14:55.673Z" }, + { url = "https://files.pythonhosted.org/packages/d4/64/56dd03430ba491db943a81dcdef115a985aac5f44f565cd39a00c766d45c/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42a89282d711711d0a62d6f57d81aa43a1368686c45bc1c46b7f079d55692734", size = 557538, upload-time = "2025-08-27T12:14:57.245Z" }, + { url = "https://files.pythonhosted.org/packages/3f/36/92cc885a3129993b1d963a2a42ecf64e6a8e129d2c7cc980dbeba84e55fb/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:cf9931f14223de59551ab9d38ed18d92f14f055a5f78c1d8ad6493f735021bbb", size = 588512, upload-time = "2025-08-27T12:14:58.728Z" }, + { url = "https://files.pythonhosted.org/packages/dd/10/6b283707780a81919f71625351182b4f98932ac89a09023cb61865136244/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f39f58a27cc6e59f432b568ed8429c7e1641324fbe38131de852cd77b2d534b0", size = 555813, upload-time = "2025-08-27T12:15:00.334Z" }, + { url = "https://files.pythonhosted.org/packages/04/2e/30b5ea18c01379da6272a92825dd7e53dc9d15c88a19e97932d35d430ef7/rpds_py-0.27.1-cp314-cp314t-win32.whl", hash = "sha256:d5fa0ee122dc09e23607a28e6d7b150da16c662e66409bbe85230e4c85bb528a", size = 217385, upload-time = "2025-08-27T12:15:01.937Z" }, + { url = "https://files.pythonhosted.org/packages/32/7d/97119da51cb1dd3f2f3c0805f155a3aa4a95fa44fe7d78ae15e69edf4f34/rpds_py-0.27.1-cp314-cp314t-win_amd64.whl", hash = "sha256:6567d2bb951e21232c2f660c24cf3470bb96de56cdcb3f071a83feeaff8a2772", size = 230097, upload-time = "2025-08-27T12:15:03.961Z" }, + { url = "https://files.pythonhosted.org/packages/d5/63/b7cc415c345625d5e62f694ea356c58fb964861409008118f1245f8c3347/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7ba22cb9693df986033b91ae1d7a979bc399237d45fccf875b76f62bb9e52ddf", size = 371360, upload-time = "2025-08-27T12:15:29.218Z" }, + { url = "https://files.pythonhosted.org/packages/e5/8c/12e1b24b560cf378b8ffbdb9dc73abd529e1adcfcf82727dfd29c4a7b88d/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b640501be9288c77738b5492b3fd3abc4ba95c50c2e41273c8a1459f08298d3", size = 353933, upload-time = "2025-08-27T12:15:30.837Z" }, + { url = "https://files.pythonhosted.org/packages/9b/85/1bb2210c1f7a1b99e91fea486b9f0f894aa5da3a5ec7097cbad7dec6d40f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb08b65b93e0c6dd70aac7f7890a9c0938d5ec71d5cb32d45cf844fb8ae47636", size = 382962, upload-time = "2025-08-27T12:15:32.348Z" }, + { url = "https://files.pythonhosted.org/packages/cc/c9/a839b9f219cf80ed65f27a7f5ddbb2809c1b85c966020ae2dff490e0b18e/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d7ff07d696a7a38152ebdb8212ca9e5baab56656749f3d6004b34ab726b550b8", size = 394412, upload-time = "2025-08-27T12:15:33.839Z" }, + { url = "https://files.pythonhosted.org/packages/02/2d/b1d7f928b0b1f4fc2e0133e8051d199b01d7384875adc63b6ddadf3de7e5/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fb7c72262deae25366e3b6c0c0ba46007967aea15d1eea746e44ddba8ec58dcc", size = 523972, upload-time = "2025-08-27T12:15:35.377Z" }, + { url = "https://files.pythonhosted.org/packages/a9/af/2cbf56edd2d07716df1aec8a726b3159deb47cb5c27e1e42b71d705a7c2f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7b002cab05d6339716b03a4a3a2ce26737f6231d7b523f339fa061d53368c9d8", size = 403273, upload-time = "2025-08-27T12:15:37.051Z" }, + { url = "https://files.pythonhosted.org/packages/c0/93/425e32200158d44ff01da5d9612c3b6711fe69f606f06e3895511f17473b/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23f6b69d1c26c4704fec01311963a41d7de3ee0570a84ebde4d544e5a1859ffc", size = 385278, upload-time = "2025-08-27T12:15:38.571Z" }, + { url = "https://files.pythonhosted.org/packages/eb/1a/1a04a915ecd0551bfa9e77b7672d1937b4b72a0fc204a17deef76001cfb2/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:530064db9146b247351f2a0250b8f00b289accea4596a033e94be2389977de71", size = 402084, upload-time = "2025-08-27T12:15:40.529Z" }, + { url = "https://files.pythonhosted.org/packages/51/f7/66585c0fe5714368b62951d2513b684e5215beaceab2c6629549ddb15036/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7b90b0496570bd6b0321724a330d8b545827c4df2034b6ddfc5f5275f55da2ad", size = 419041, upload-time = "2025-08-27T12:15:42.191Z" }, + { url = "https://files.pythonhosted.org/packages/8e/7e/83a508f6b8e219bba2d4af077c35ba0e0cdd35a751a3be6a7cba5a55ad71/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:879b0e14a2da6a1102a3fc8af580fc1ead37e6d6692a781bd8c83da37429b5ab", size = 560084, upload-time = "2025-08-27T12:15:43.839Z" }, + { url = "https://files.pythonhosted.org/packages/66/66/bb945683b958a1b19eb0fe715594630d0f36396ebdef4d9b89c2fa09aa56/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:0d807710df3b5faa66c731afa162ea29717ab3be17bdc15f90f2d9f183da4059", size = 590115, upload-time = "2025-08-27T12:15:46.647Z" }, + { url = "https://files.pythonhosted.org/packages/12/00/ccfaafaf7db7e7adace915e5c2f2c2410e16402561801e9c7f96683002d3/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:3adc388fc3afb6540aec081fa59e6e0d3908722771aa1e37ffe22b220a436f0b", size = 556561, upload-time = "2025-08-27T12:15:48.219Z" }, + { url = "https://files.pythonhosted.org/packages/e1/b7/92b6ed9aad103bfe1c45df98453dfae40969eef2cb6c6239c58d7e96f1b3/rpds_py-0.27.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c796c0c1cc68cb08b0284db4229f5af76168172670c74908fdbd4b7d7f515819", size = 229125, upload-time = "2025-08-27T12:15:49.956Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ed/e1fba02de17f4f76318b834425257c8ea297e415e12c68b4361f63e8ae92/rpds_py-0.27.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cdfe4bb2f9fe7458b7453ad3c33e726d6d1c7c0a72960bcc23800d77384e42df", size = 371402, upload-time = "2025-08-27T12:15:51.561Z" }, + { url = "https://files.pythonhosted.org/packages/af/7c/e16b959b316048b55585a697e94add55a4ae0d984434d279ea83442e460d/rpds_py-0.27.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:8fabb8fd848a5f75a2324e4a84501ee3a5e3c78d8603f83475441866e60b94a3", size = 354084, upload-time = "2025-08-27T12:15:53.219Z" }, + { url = "https://files.pythonhosted.org/packages/de/c1/ade645f55de76799fdd08682d51ae6724cb46f318573f18be49b1e040428/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eda8719d598f2f7f3e0f885cba8646644b55a187762bec091fa14a2b819746a9", size = 383090, upload-time = "2025-08-27T12:15:55.158Z" }, + { url = "https://files.pythonhosted.org/packages/1f/27/89070ca9b856e52960da1472efcb6c20ba27cfe902f4f23ed095b9cfc61d/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3c64d07e95606ec402a0a1c511fe003873fa6af630bda59bac77fac8b4318ebc", size = 394519, upload-time = "2025-08-27T12:15:57.238Z" }, + { url = "https://files.pythonhosted.org/packages/b3/28/be120586874ef906aa5aeeae95ae8df4184bc757e5b6bd1c729ccff45ed5/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93a2ed40de81bcff59aabebb626562d48332f3d028ca2036f1d23cbb52750be4", size = 523817, upload-time = "2025-08-27T12:15:59.237Z" }, + { url = "https://files.pythonhosted.org/packages/a8/ef/70cc197bc11cfcde02a86f36ac1eed15c56667c2ebddbdb76a47e90306da/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:387ce8c44ae94e0ec50532d9cb0edce17311024c9794eb196b90e1058aadeb66", size = 403240, upload-time = "2025-08-27T12:16:00.923Z" }, + { url = "https://files.pythonhosted.org/packages/cf/35/46936cca449f7f518f2f4996e0e8344db4b57e2081e752441154089d2a5f/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aaf94f812c95b5e60ebaf8bfb1898a7d7cb9c1af5744d4a67fa47796e0465d4e", size = 385194, upload-time = "2025-08-27T12:16:02.802Z" }, + { url = "https://files.pythonhosted.org/packages/e1/62/29c0d3e5125c3270b51415af7cbff1ec587379c84f55a5761cc9efa8cd06/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:4848ca84d6ded9b58e474dfdbad4b8bfb450344c0551ddc8d958bf4b36aa837c", size = 402086, upload-time = "2025-08-27T12:16:04.806Z" }, + { url = "https://files.pythonhosted.org/packages/8f/66/03e1087679227785474466fdd04157fb793b3b76e3fcf01cbf4c693c1949/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2bde09cbcf2248b73c7c323be49b280180ff39fadcfe04e7b6f54a678d02a7cf", size = 419272, upload-time = "2025-08-27T12:16:06.471Z" }, + { url = "https://files.pythonhosted.org/packages/6a/24/e3e72d265121e00b063aef3e3501e5b2473cf1b23511d56e529531acf01e/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:94c44ee01fd21c9058f124d2d4f0c9dc7634bec93cd4b38eefc385dabe71acbf", size = 560003, upload-time = "2025-08-27T12:16:08.06Z" }, + { url = "https://files.pythonhosted.org/packages/26/ca/f5a344c534214cc2d41118c0699fffbdc2c1bc7046f2a2b9609765ab9c92/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:df8b74962e35c9249425d90144e721eed198e6555a0e22a563d29fe4486b51f6", size = 590482, upload-time = "2025-08-27T12:16:10.137Z" }, + { url = "https://files.pythonhosted.org/packages/ce/08/4349bdd5c64d9d193c360aa9db89adeee6f6682ab8825dca0a3f535f434f/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:dc23e6820e3b40847e2f4a7726462ba0cf53089512abe9ee16318c366494c17a", size = 556523, upload-time = "2025-08-27T12:16:12.188Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "sse-starlette" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz", hash = "sha256:ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a", size = 20985, upload-time = "2025-07-27T09:07:44.565Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/10/c78f463b4ef22eef8491f218f692be838282cd65480f6e423d7730dfd1fb/sse_starlette-3.0.2-py3-none-any.whl", hash = "sha256:16b7cbfddbcd4eaca11f7b586f3b8a080f1afe952c15813455b162edea619e5a", size = 11297, upload-time = "2025-07-27T09:07:43.268Z" }, +] + +[[package]] +name = "starlette" +version = "0.48.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a7/a5/d6f429d43394057b67a6b5bbe6eae2f77a6bf7459d961fdb224bf206eee6/starlette-0.48.0.tar.gz", hash = "sha256:7e8cee469a8ab2352911528110ce9088fdc6a37d9876926e73da7ce4aa4c7a46", size = 2652949, upload-time = "2025-09-13T08:41:05.699Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/72/2db2f49247d0a18b4f1bb9a5a39a0162869acf235f3a96418363947b3d46/starlette-0.48.0-py3-none-any.whl", hash = "sha256:0764ca97b097582558ecb498132ed0c7d942f233f365b86ba37770e026510659", size = 73736, upload-time = "2025-09-13T08:41:03.869Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, +] + +[[package]] +name = "urllib3" +version = "2.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, +] + +[[package]] +name = "uvicorn" +version = "0.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "h11" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/57/1616c8274c3442d802621abf5deb230771c7a0fec9414cb6763900eb3868/uvicorn-0.37.0.tar.gz", hash = "sha256:4115c8add6d3fd536c8ee77f0e14a7fd2ebba939fed9b02583a97f80648f9e13", size = 80367, upload-time = "2025-09-23T13:33:47.486Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/cd/584a2ceb5532af99dd09e50919e3615ba99aa127e9850eafe5f31ddfdb9a/uvicorn-0.37.0-py3-none-any.whl", hash = "sha256:913b2b88672343739927ce381ff9e2ad62541f9f8289664fa1d1d3803fa2ce6c", size = 67976, upload-time = "2025-09-23T13:33:45.842Z" }, +] + +[[package]] +name = "wrapt" +version = "1.17.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/8f/aeb76c5b46e273670962298c23e7ddde79916cb74db802131d49a85e4b7d/wrapt-1.17.3.tar.gz", hash = "sha256:f66eb08feaa410fe4eebd17f2a2c8e2e46d3476e9f8c783daa8e09e0faa666d0", size = 55547, upload-time = "2025-08-12T05:53:21.714Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/23/bb82321b86411eb51e5a5db3fb8f8032fd30bd7c2d74bfe936136b2fa1d6/wrapt-1.17.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88bbae4d40d5a46142e70d58bf664a89b6b4befaea7b2ecc14e03cedb8e06c04", size = 53482, upload-time = "2025-08-12T05:51:44.467Z" }, + { url = "https://files.pythonhosted.org/packages/45/69/f3c47642b79485a30a59c63f6d739ed779fb4cc8323205d047d741d55220/wrapt-1.17.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6b13af258d6a9ad602d57d889f83b9d5543acd471eee12eb51f5b01f8eb1bc2", size = 38676, upload-time = "2025-08-12T05:51:32.636Z" }, + { url = "https://files.pythonhosted.org/packages/d1/71/e7e7f5670c1eafd9e990438e69d8fb46fa91a50785332e06b560c869454f/wrapt-1.17.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd341868a4b6714a5962c1af0bd44f7c404ef78720c7de4892901e540417111c", size = 38957, upload-time = "2025-08-12T05:51:54.655Z" }, + { url = "https://files.pythonhosted.org/packages/de/17/9f8f86755c191d6779d7ddead1a53c7a8aa18bccb7cea8e7e72dfa6a8a09/wrapt-1.17.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f9b2601381be482f70e5d1051a5965c25fb3625455a2bf520b5a077b22afb775", size = 81975, upload-time = "2025-08-12T05:52:30.109Z" }, + { url = "https://files.pythonhosted.org/packages/f2/15/dd576273491f9f43dd09fce517f6c2ce6eb4fe21681726068db0d0467096/wrapt-1.17.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:343e44b2a8e60e06a7e0d29c1671a0d9951f59174f3709962b5143f60a2a98bd", size = 83149, upload-time = "2025-08-12T05:52:09.316Z" }, + { url = "https://files.pythonhosted.org/packages/0c/c4/5eb4ce0d4814521fee7aa806264bf7a114e748ad05110441cd5b8a5c744b/wrapt-1.17.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:33486899acd2d7d3066156b03465b949da3fd41a5da6e394ec49d271baefcf05", size = 82209, upload-time = "2025-08-12T05:52:10.331Z" }, + { url = "https://files.pythonhosted.org/packages/31/4b/819e9e0eb5c8dc86f60dfc42aa4e2c0d6c3db8732bce93cc752e604bb5f5/wrapt-1.17.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e6f40a8aa5a92f150bdb3e1c44b7e98fb7113955b2e5394122fa5532fec4b418", size = 81551, upload-time = "2025-08-12T05:52:31.137Z" }, + { url = "https://files.pythonhosted.org/packages/f8/83/ed6baf89ba3a56694700139698cf703aac9f0f9eb03dab92f57551bd5385/wrapt-1.17.3-cp310-cp310-win32.whl", hash = "sha256:a36692b8491d30a8c75f1dfee65bef119d6f39ea84ee04d9f9311f83c5ad9390", size = 36464, upload-time = "2025-08-12T05:53:01.204Z" }, + { url = "https://files.pythonhosted.org/packages/2f/90/ee61d36862340ad7e9d15a02529df6b948676b9a5829fd5e16640156627d/wrapt-1.17.3-cp310-cp310-win_amd64.whl", hash = "sha256:afd964fd43b10c12213574db492cb8f73b2f0826c8df07a68288f8f19af2ebe6", size = 38748, upload-time = "2025-08-12T05:53:00.209Z" }, + { url = "https://files.pythonhosted.org/packages/bd/c3/cefe0bd330d389c9983ced15d326f45373f4073c9f4a8c2f99b50bfea329/wrapt-1.17.3-cp310-cp310-win_arm64.whl", hash = "sha256:af338aa93554be859173c39c85243970dc6a289fa907402289eeae7543e1ae18", size = 36810, upload-time = "2025-08-12T05:52:51.906Z" }, + { url = "https://files.pythonhosted.org/packages/52/db/00e2a219213856074a213503fdac0511203dceefff26e1daa15250cc01a0/wrapt-1.17.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:273a736c4645e63ac582c60a56b0acb529ef07f78e08dc6bfadf6a46b19c0da7", size = 53482, upload-time = "2025-08-12T05:51:45.79Z" }, + { url = "https://files.pythonhosted.org/packages/5e/30/ca3c4a5eba478408572096fe9ce36e6e915994dd26a4e9e98b4f729c06d9/wrapt-1.17.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5531d911795e3f935a9c23eb1c8c03c211661a5060aab167065896bbf62a5f85", size = 38674, upload-time = "2025-08-12T05:51:34.629Z" }, + { url = "https://files.pythonhosted.org/packages/31/25/3e8cc2c46b5329c5957cec959cb76a10718e1a513309c31399a4dad07eb3/wrapt-1.17.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0610b46293c59a3adbae3dee552b648b984176f8562ee0dba099a56cfbe4df1f", size = 38959, upload-time = "2025-08-12T05:51:56.074Z" }, + { url = "https://files.pythonhosted.org/packages/5d/8f/a32a99fc03e4b37e31b57cb9cefc65050ea08147a8ce12f288616b05ef54/wrapt-1.17.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b32888aad8b6e68f83a8fdccbf3165f5469702a7544472bdf41f582970ed3311", size = 82376, upload-time = "2025-08-12T05:52:32.134Z" }, + { url = "https://files.pythonhosted.org/packages/31/57/4930cb8d9d70d59c27ee1332a318c20291749b4fba31f113c2f8ac49a72e/wrapt-1.17.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cccf4f81371f257440c88faed6b74f1053eef90807b77e31ca057b2db74edb1", size = 83604, upload-time = "2025-08-12T05:52:11.663Z" }, + { url = "https://files.pythonhosted.org/packages/a8/f3/1afd48de81d63dd66e01b263a6fbb86e1b5053b419b9b33d13e1f6d0f7d0/wrapt-1.17.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8a210b158a34164de8bb68b0e7780041a903d7b00c87e906fb69928bf7890d5", size = 82782, upload-time = "2025-08-12T05:52:12.626Z" }, + { url = "https://files.pythonhosted.org/packages/1e/d7/4ad5327612173b144998232f98a85bb24b60c352afb73bc48e3e0d2bdc4e/wrapt-1.17.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:79573c24a46ce11aab457b472efd8d125e5a51da2d1d24387666cd85f54c05b2", size = 82076, upload-time = "2025-08-12T05:52:33.168Z" }, + { url = "https://files.pythonhosted.org/packages/bb/59/e0adfc831674a65694f18ea6dc821f9fcb9ec82c2ce7e3d73a88ba2e8718/wrapt-1.17.3-cp311-cp311-win32.whl", hash = "sha256:c31eebe420a9a5d2887b13000b043ff6ca27c452a9a22fa71f35f118e8d4bf89", size = 36457, upload-time = "2025-08-12T05:53:03.936Z" }, + { url = "https://files.pythonhosted.org/packages/83/88/16b7231ba49861b6f75fc309b11012ede4d6b0a9c90969d9e0db8d991aeb/wrapt-1.17.3-cp311-cp311-win_amd64.whl", hash = "sha256:0b1831115c97f0663cb77aa27d381237e73ad4f721391a9bfb2fe8bc25fa6e77", size = 38745, upload-time = "2025-08-12T05:53:02.885Z" }, + { url = "https://files.pythonhosted.org/packages/9a/1e/c4d4f3398ec073012c51d1c8d87f715f56765444e1a4b11e5180577b7e6e/wrapt-1.17.3-cp311-cp311-win_arm64.whl", hash = "sha256:5a7b3c1ee8265eb4c8f1b7d29943f195c00673f5ab60c192eba2d4a7eae5f46a", size = 36806, upload-time = "2025-08-12T05:52:53.368Z" }, + { url = "https://files.pythonhosted.org/packages/9f/41/cad1aba93e752f1f9268c77270da3c469883d56e2798e7df6240dcb2287b/wrapt-1.17.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ab232e7fdb44cdfbf55fc3afa31bcdb0d8980b9b95c38b6405df2acb672af0e0", size = 53998, upload-time = "2025-08-12T05:51:47.138Z" }, + { url = "https://files.pythonhosted.org/packages/60/f8/096a7cc13097a1869fe44efe68dace40d2a16ecb853141394047f0780b96/wrapt-1.17.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9baa544e6acc91130e926e8c802a17f3b16fbea0fd441b5a60f5cf2cc5c3deba", size = 39020, upload-time = "2025-08-12T05:51:35.906Z" }, + { url = "https://files.pythonhosted.org/packages/33/df/bdf864b8997aab4febb96a9ae5c124f700a5abd9b5e13d2a3214ec4be705/wrapt-1.17.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6b538e31eca1a7ea4605e44f81a48aa24c4632a277431a6ed3f328835901f4fd", size = 39098, upload-time = "2025-08-12T05:51:57.474Z" }, + { url = "https://files.pythonhosted.org/packages/9f/81/5d931d78d0eb732b95dc3ddaeeb71c8bb572fb01356e9133916cd729ecdd/wrapt-1.17.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:042ec3bb8f319c147b1301f2393bc19dba6e176b7da446853406d041c36c7828", size = 88036, upload-time = "2025-08-12T05:52:34.784Z" }, + { url = "https://files.pythonhosted.org/packages/ca/38/2e1785df03b3d72d34fc6252d91d9d12dc27a5c89caef3335a1bbb8908ca/wrapt-1.17.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3af60380ba0b7b5aeb329bc4e402acd25bd877e98b3727b0135cb5c2efdaefe9", size = 88156, upload-time = "2025-08-12T05:52:13.599Z" }, + { url = "https://files.pythonhosted.org/packages/b3/8b/48cdb60fe0603e34e05cffda0b2a4adab81fd43718e11111a4b0100fd7c1/wrapt-1.17.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0b02e424deef65c9f7326d8c19220a2c9040c51dc165cddb732f16198c168396", size = 87102, upload-time = "2025-08-12T05:52:14.56Z" }, + { url = "https://files.pythonhosted.org/packages/3c/51/d81abca783b58f40a154f1b2c56db1d2d9e0d04fa2d4224e357529f57a57/wrapt-1.17.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:74afa28374a3c3a11b3b5e5fca0ae03bef8450d6aa3ab3a1e2c30e3a75d023dc", size = 87732, upload-time = "2025-08-12T05:52:36.165Z" }, + { url = "https://files.pythonhosted.org/packages/9e/b1/43b286ca1392a006d5336412d41663eeef1ad57485f3e52c767376ba7e5a/wrapt-1.17.3-cp312-cp312-win32.whl", hash = "sha256:4da9f45279fff3543c371d5ababc57a0384f70be244de7759c85a7f989cb4ebe", size = 36705, upload-time = "2025-08-12T05:53:07.123Z" }, + { url = "https://files.pythonhosted.org/packages/28/de/49493f962bd3c586ab4b88066e967aa2e0703d6ef2c43aa28cb83bf7b507/wrapt-1.17.3-cp312-cp312-win_amd64.whl", hash = "sha256:e71d5c6ebac14875668a1e90baf2ea0ef5b7ac7918355850c0908ae82bcb297c", size = 38877, upload-time = "2025-08-12T05:53:05.436Z" }, + { url = "https://files.pythonhosted.org/packages/f1/48/0f7102fe9cb1e8a5a77f80d4f0956d62d97034bbe88d33e94699f99d181d/wrapt-1.17.3-cp312-cp312-win_arm64.whl", hash = "sha256:604d076c55e2fdd4c1c03d06dc1a31b95130010517b5019db15365ec4a405fc6", size = 36885, upload-time = "2025-08-12T05:52:54.367Z" }, + { url = "https://files.pythonhosted.org/packages/fc/f6/759ece88472157acb55fc195e5b116e06730f1b651b5b314c66291729193/wrapt-1.17.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a47681378a0439215912ef542c45a783484d4dd82bac412b71e59cf9c0e1cea0", size = 54003, upload-time = "2025-08-12T05:51:48.627Z" }, + { url = "https://files.pythonhosted.org/packages/4f/a9/49940b9dc6d47027dc850c116d79b4155f15c08547d04db0f07121499347/wrapt-1.17.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a30837587c6ee3cd1a4d1c2ec5d24e77984d44e2f34547e2323ddb4e22eb77", size = 39025, upload-time = "2025-08-12T05:51:37.156Z" }, + { url = "https://files.pythonhosted.org/packages/45/35/6a08de0f2c96dcdd7fe464d7420ddb9a7655a6561150e5fc4da9356aeaab/wrapt-1.17.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:16ecf15d6af39246fe33e507105d67e4b81d8f8d2c6598ff7e3ca1b8a37213f7", size = 39108, upload-time = "2025-08-12T05:51:58.425Z" }, + { url = "https://files.pythonhosted.org/packages/0c/37/6faf15cfa41bf1f3dba80cd3f5ccc6622dfccb660ab26ed79f0178c7497f/wrapt-1.17.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6fd1ad24dc235e4ab88cda009e19bf347aabb975e44fd5c2fb22a3f6e4141277", size = 88072, upload-time = "2025-08-12T05:52:37.53Z" }, + { url = "https://files.pythonhosted.org/packages/78/f2/efe19ada4a38e4e15b6dff39c3e3f3f73f5decf901f66e6f72fe79623a06/wrapt-1.17.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ed61b7c2d49cee3c027372df5809a59d60cf1b6c2f81ee980a091f3afed6a2d", size = 88214, upload-time = "2025-08-12T05:52:15.886Z" }, + { url = "https://files.pythonhosted.org/packages/40/90/ca86701e9de1622b16e09689fc24b76f69b06bb0150990f6f4e8b0eeb576/wrapt-1.17.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:423ed5420ad5f5529db9ce89eac09c8a2f97da18eb1c870237e84c5a5c2d60aa", size = 87105, upload-time = "2025-08-12T05:52:17.914Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e0/d10bd257c9a3e15cbf5523025252cc14d77468e8ed644aafb2d6f54cb95d/wrapt-1.17.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e01375f275f010fcbf7f643b4279896d04e571889b8a5b3f848423d91bf07050", size = 87766, upload-time = "2025-08-12T05:52:39.243Z" }, + { url = "https://files.pythonhosted.org/packages/e8/cf/7d848740203c7b4b27eb55dbfede11aca974a51c3d894f6cc4b865f42f58/wrapt-1.17.3-cp313-cp313-win32.whl", hash = "sha256:53e5e39ff71b3fc484df8a522c933ea2b7cdd0d5d15ae82e5b23fde87d44cbd8", size = 36711, upload-time = "2025-08-12T05:53:10.074Z" }, + { url = "https://files.pythonhosted.org/packages/57/54/35a84d0a4d23ea675994104e667ceff49227ce473ba6a59ba2c84f250b74/wrapt-1.17.3-cp313-cp313-win_amd64.whl", hash = "sha256:1f0b2f40cf341ee8cc1a97d51ff50dddb9fcc73241b9143ec74b30fc4f44f6cb", size = 38885, upload-time = "2025-08-12T05:53:08.695Z" }, + { url = "https://files.pythonhosted.org/packages/01/77/66e54407c59d7b02a3c4e0af3783168fff8e5d61def52cda8728439d86bc/wrapt-1.17.3-cp313-cp313-win_arm64.whl", hash = "sha256:7425ac3c54430f5fc5e7b6f41d41e704db073309acfc09305816bc6a0b26bb16", size = 36896, upload-time = "2025-08-12T05:52:55.34Z" }, + { url = "https://files.pythonhosted.org/packages/02/a2/cd864b2a14f20d14f4c496fab97802001560f9f41554eef6df201cd7f76c/wrapt-1.17.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cf30f6e3c077c8e6a9a7809c94551203c8843e74ba0c960f4a98cd80d4665d39", size = 54132, upload-time = "2025-08-12T05:51:49.864Z" }, + { url = "https://files.pythonhosted.org/packages/d5/46/d011725b0c89e853dc44cceb738a307cde5d240d023d6d40a82d1b4e1182/wrapt-1.17.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:e228514a06843cae89621384cfe3a80418f3c04aadf8a3b14e46a7be704e4235", size = 39091, upload-time = "2025-08-12T05:51:38.935Z" }, + { url = "https://files.pythonhosted.org/packages/2e/9e/3ad852d77c35aae7ddebdbc3b6d35ec8013af7d7dddad0ad911f3d891dae/wrapt-1.17.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:5ea5eb3c0c071862997d6f3e02af1d055f381b1d25b286b9d6644b79db77657c", size = 39172, upload-time = "2025-08-12T05:51:59.365Z" }, + { url = "https://files.pythonhosted.org/packages/c3/f7/c983d2762bcce2326c317c26a6a1e7016f7eb039c27cdf5c4e30f4160f31/wrapt-1.17.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:281262213373b6d5e4bb4353bc36d1ba4084e6d6b5d242863721ef2bf2c2930b", size = 87163, upload-time = "2025-08-12T05:52:40.965Z" }, + { url = "https://files.pythonhosted.org/packages/e4/0f/f673f75d489c7f22d17fe0193e84b41540d962f75fce579cf6873167c29b/wrapt-1.17.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc4a8d2b25efb6681ecacad42fca8859f88092d8732b170de6a5dddd80a1c8fa", size = 87963, upload-time = "2025-08-12T05:52:20.326Z" }, + { url = "https://files.pythonhosted.org/packages/df/61/515ad6caca68995da2fac7a6af97faab8f78ebe3bf4f761e1b77efbc47b5/wrapt-1.17.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:373342dd05b1d07d752cecbec0c41817231f29f3a89aa8b8843f7b95992ed0c7", size = 86945, upload-time = "2025-08-12T05:52:21.581Z" }, + { url = "https://files.pythonhosted.org/packages/d3/bd/4e70162ce398462a467bc09e768bee112f1412e563620adc353de9055d33/wrapt-1.17.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d40770d7c0fd5cbed9d84b2c3f2e156431a12c9a37dc6284060fb4bec0b7ffd4", size = 86857, upload-time = "2025-08-12T05:52:43.043Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b8/da8560695e9284810b8d3df8a19396a6e40e7518059584a1a394a2b35e0a/wrapt-1.17.3-cp314-cp314-win32.whl", hash = "sha256:fbd3c8319de8e1dc79d346929cd71d523622da527cca14e0c1d257e31c2b8b10", size = 37178, upload-time = "2025-08-12T05:53:12.605Z" }, + { url = "https://files.pythonhosted.org/packages/db/c8/b71eeb192c440d67a5a0449aaee2310a1a1e8eca41676046f99ed2487e9f/wrapt-1.17.3-cp314-cp314-win_amd64.whl", hash = "sha256:e1a4120ae5705f673727d3253de3ed0e016f7cd78dc463db1b31e2463e1f3cf6", size = 39310, upload-time = "2025-08-12T05:53:11.106Z" }, + { url = "https://files.pythonhosted.org/packages/45/20/2cda20fd4865fa40f86f6c46ed37a2a8356a7a2fde0773269311f2af56c7/wrapt-1.17.3-cp314-cp314-win_arm64.whl", hash = "sha256:507553480670cab08a800b9463bdb881b2edeed77dc677b0a5915e6106e91a58", size = 37266, upload-time = "2025-08-12T05:52:56.531Z" }, + { url = "https://files.pythonhosted.org/packages/77/ed/dd5cf21aec36c80443c6f900449260b80e2a65cf963668eaef3b9accce36/wrapt-1.17.3-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:ed7c635ae45cfbc1a7371f708727bf74690daedc49b4dba310590ca0bd28aa8a", size = 56544, upload-time = "2025-08-12T05:51:51.109Z" }, + { url = "https://files.pythonhosted.org/packages/8d/96/450c651cc753877ad100c7949ab4d2e2ecc4d97157e00fa8f45df682456a/wrapt-1.17.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:249f88ed15503f6492a71f01442abddd73856a0032ae860de6d75ca62eed8067", size = 40283, upload-time = "2025-08-12T05:51:39.912Z" }, + { url = "https://files.pythonhosted.org/packages/d1/86/2fcad95994d9b572db57632acb6f900695a648c3e063f2cd344b3f5c5a37/wrapt-1.17.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5a03a38adec8066d5a37bea22f2ba6bbf39fcdefbe2d91419ab864c3fb515454", size = 40366, upload-time = "2025-08-12T05:52:00.693Z" }, + { url = "https://files.pythonhosted.org/packages/64/0e/f4472f2fdde2d4617975144311f8800ef73677a159be7fe61fa50997d6c0/wrapt-1.17.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5d4478d72eb61c36e5b446e375bbc49ed002430d17cdec3cecb36993398e1a9e", size = 108571, upload-time = "2025-08-12T05:52:44.521Z" }, + { url = "https://files.pythonhosted.org/packages/cc/01/9b85a99996b0a97c8a17484684f206cbb6ba73c1ce6890ac668bcf3838fb/wrapt-1.17.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:223db574bb38637e8230eb14b185565023ab624474df94d2af18f1cdb625216f", size = 113094, upload-time = "2025-08-12T05:52:22.618Z" }, + { url = "https://files.pythonhosted.org/packages/25/02/78926c1efddcc7b3aa0bc3d6b33a822f7d898059f7cd9ace8c8318e559ef/wrapt-1.17.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e405adefb53a435f01efa7ccdec012c016b5a1d3f35459990afc39b6be4d5056", size = 110659, upload-time = "2025-08-12T05:52:24.057Z" }, + { url = "https://files.pythonhosted.org/packages/dc/ee/c414501ad518ac3e6fe184753632fe5e5ecacdcf0effc23f31c1e4f7bfcf/wrapt-1.17.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:88547535b787a6c9ce4086917b6e1d291aa8ed914fdd3a838b3539dc95c12804", size = 106946, upload-time = "2025-08-12T05:52:45.976Z" }, + { url = "https://files.pythonhosted.org/packages/be/44/a1bd64b723d13bb151d6cc91b986146a1952385e0392a78567e12149c7b4/wrapt-1.17.3-cp314-cp314t-win32.whl", hash = "sha256:41b1d2bc74c2cac6f9074df52b2efbef2b30bdfe5f40cb78f8ca22963bc62977", size = 38717, upload-time = "2025-08-12T05:53:15.214Z" }, + { url = "https://files.pythonhosted.org/packages/79/d9/7cfd5a312760ac4dd8bf0184a6ee9e43c33e47f3dadc303032ce012b8fa3/wrapt-1.17.3-cp314-cp314t-win_amd64.whl", hash = "sha256:73d496de46cd2cdbdbcce4ae4bcdb4afb6a11234a1df9c085249d55166b95116", size = 41334, upload-time = "2025-08-12T05:53:14.178Z" }, + { url = "https://files.pythonhosted.org/packages/46/78/10ad9781128ed2f99dbc474f43283b13fea8ba58723e98844367531c18e9/wrapt-1.17.3-cp314-cp314t-win_arm64.whl", hash = "sha256:f38e60678850c42461d4202739f9bf1e3a737c7ad283638251e79cc49effb6b6", size = 38471, upload-time = "2025-08-12T05:52:57.784Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f6/a933bd70f98e9cf3e08167fc5cd7aaaca49147e48411c0bd5ae701bb2194/wrapt-1.17.3-py3-none-any.whl", hash = "sha256:7171ae35d2c33d326ac19dd8facb1e82e5fd04ef8c6c0e394d7af55a55051c22", size = 23591, upload-time = "2025-08-12T05:53:20.674Z" }, +] + +[[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" } +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" }, +] diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/mcphttp.png b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/mcphttp.png new file mode 100644 index 0000000000000000000000000000000000000000..5c2283f609755e61f3fcef372a3bd36cb424a627 GIT binary patch literal 593934 zcmbTdbyyo;w+4z8D*;+c1uw-~3Zb|=#ih7YiWA&jinYa|xYGhffQ>_FC`zt~Fnk6eK~oB)BLjC?IJmab*;ghk+<4*zDMt zz!n{0twR(P+zJaZF(qj+F)AeoTT=@w6BHDwuW<=jsw&dY{5BeoqX?<|{JsyRP^FG~5(h$q)&7oy=7%S2awYX0`AwTUY9b2;-uwd9RHozO(rxwxa=Wlqd_UXod&z=u~QnFYyoU^CToXhwNVYePKr%LUrP#*K7M& zhK532v9hpsqlY3N4(rSHy4kt9d-F$EpBD?|OOPEuS6b}1gAYFy9mJRMP?SOl8*S8s z&A-{cDq?v5SlrF+8enu>RL(F)6<-eOT79!ym%#Ef3&ybUuTWA8=VtGr=9qHS8L=#xJClC*aGU1|NT z<5c>sve4^LbWQ_HnvG~G+e0vVm(F9+8` zBnBLEsXmpl!&a5ICFwKRG9m9+Cet#e6UktgBIrA4t5K`<) zJW8UV?GNugI!>;@Nth00oy{o|fBiOJ0NgHFpg4#ZH_$JPzcH&D??ezg=~JYIng07B z230tw=5G?sm;EFd=p}giE*)c^_(#NfK8a8Z1#}48kVSSpap-$CRP?sU3N^6~&epkN z-F4g;_+4>eYvh!w^HRXUjB{{nnGwYtEGjCLIJ$*I@l(bY)_EpLJ&-z_l}GV>wO$zY zn=r9Cn%+l@zNpzCv5Dm?K36F>BGD&j99PrI-nB99nQQ+}%}p}TyZ`zXYX zjUV7*N0y5E>^HF;`YbAeh|qI1aPxCF0y-+}77^nwxcQ>mQG&*}S|Uze5B_{c%OqqV z`4;f_KUvO7II8&L!u6S$n`WEOoiOV#PDIbLP|Yzs(7l5{u;8c%a(qO0dnp(4 zqEv_s6C6aeL~O^bi)|ZNxae_?GK-nvU-H{^(dV3&KLU;6#dlU2Qj_59AN)!pzn-h2 z$%JVKy?L*ez5Sv8mx3zS_R|7Nj&GNN9ohNjB-41vz*C8kA3U4Hn`)cNP9P7VI*>QM z_d@|c3NhdIsCV1XRl;5cfBo7*^QoLgB2lJKUygB|e;wZx`-md6{f!Z*>{Qdhik%ZD zC4{NnrnCB^qLF7=z@$AHe%?2>cAk~bc2>HW#n>9*e13dE^VPO$r0dl2b!lvPJaeXh7LRrySGo)~7h+?o_$J4yDra`_+qno2|q>b&y zH0E-^;|XYpo)s39^%1>gkd5O=FzInH(deD%sqUWt?k(|B>G(BX533AwPK-mKLmKNF z$tbp{qbQ?ZXiQ-oA02|8i&-%a_MIR`F%BGO`yEarROF|^qI96V_~yx*U3Kn47Ac7j z&iNFo_|D|c1SkB?QjZGFe|4$KDZl-||7-FGcka(j;~!75zC%?Doka5uUgTJ1_Ngj- zU{(<<^3u3C;tzKZb8m1bUFR6A=h+YF@gn9TPM0Z@3GE?|8!TW~1CJYz_ZJ`wBFBd; z=`5QqwJiC@1`5LmG*b83GuYs6w@ViUV}{N|Cxj>bCv)2xkRO5$AxFqZM@Jrx^&%i6o|%e6c{@iZur1deUltbjFYKDOLpCf{zdm)b z_i03q z^Dl!Tv-hkC$@8+(Wqbr1nqE-7+`x{Eu5^S|6t@ zE;@SJz8R@OoM)1)kk*aUb*-0G;rXCJ(~y1vodWAjq{j^N4A|w=@pCYx`H;Y#KT;|ti z_eCAQI$jLtEU3-IA+`4}$K(;=JJkpzPitay8~1OwHJc@77hC7M#ih-%k(EmNp3%;V z$%;uc2X(uoPpgvYn}w!@l#n z^LG(gW~3Xmh;W@|@+F?59``|_RH7cDV4^f47)`{1-bLK?2mg@F_XoV)Toz^{A*-3I z-rWnz)GFG_hxzvToq@P5#!I#A{gu0w`qBBnq{iSa_U#kIMxT5S=bae5Ej%QHsg)V@ z;+{)4#o`&)8Bdt{^nL5%jbX}Q>T60iim7zr|7=Pub{8d!Zz@85Qocprm8;%n z-hkO4T}QBn)=pOE0W`a2d2V7&2dp-&x;OiNmTqdofLLk#15~3i-=jR(z%g&4u{uYg z(MD`81UZZ3a;-s{&*zs_7;kJ)J`kFpS*s|7&Sy3`aJjgy@0od0pE})%-{l*YOwY$O z8l2*so$M1#`4%@fWo3P6EGxpXiD3^X`yybslDW|wVOp`S$JE0_8}j>Qch)nZ&Ks|@ z(z~VNSI4jVB~KzJs+4s?XELi(tIJ$`JbfjdB=_IJjr7tK(xC9fyYl^-)5B>Z8TuZD z$BIwWuU+1pjh$NzZw<43HN&ircNO3#bv`|h7Zh3G}7DF&GS3<9!&(z^v!7Oy=@xx zYXqr14Sl2^vL$158#?FW+zX=ui%-(&y&A)P7-Pj<~immA`0CyPh z!Y_TjkC{$pxE|^Br87TJk_sVujN(>7fa1W8GDeC*n9w(d7)9&9CXypMSL9a-Pz)tU zslP(O?nS3sBtaSHKzUAe`??IJl;O)f&hLqd5kZ}YiU_0%wJQqBnMZKkApAlI^zF;1C<2j0kDP&d<9WS|9kyC zDgz4oKiknzP(mzFF#dgv0IXHvd|p#{{Eb0skHYU$;!O|2q0%U?%#1tz)wT z`%pww#H6KxrHYY*iHVJ)xvkS@HlJ)@1CE`PmLm$vQ`-A4sVsI2~e9mIoa`o!LF{Z%&u(Awhm_C zcRV~iU=~&|D=QOl1e2q?jgz4pla1r6f1TvN&LeK(XyjmF=VW1PLv?>%!%w!(P6E`_ z_ZRx_&%f@|#LeP=u4Lo*@5cfj5PZJ}{EnFg{NLvWn)2UopK<}{(l<$e|G)PCI6$T=6^KhVdwtOrvI_)|J_v0(ZoT_)*85|li>dh*uNY9=gxmO z zq+If<95<)0e7gK)QK{rZ!$DyZszB4|sK8wlvuS&)srcjcjV_I@2&87UvFyP9lP&!@ z`@Px)&$XJ2!8<{h{?vK~GAr{aCGNK=1zbHnaf~^N89uDrSoN~b@=^smx{o<`%(1Eb zP|*JOKjhD_L&Qe-W*B{JHP`!6-|S43M5Cf(%GlTxyERbQ*Umo156Z@}tJRA(F%=4T zs-LsD!o>_&KHNN|F1A?c3g@wSDqd#psCsV&+-R`noIKhz38I1O-sWrMAsG%JwVaCK@ zFqO1;UX`g(&g9_wGxZDY@^U;ju2`>9{-r6Hp)D)OYP<*V>W*fkpjp^uB3Z4+=lr_8!Cyk#b$hzx9P z4d2<-J~FL#zl*&KE-c{eNfhv<-r>TOSDKX$r#I?4{`!A03T&!HZ1c@}*Lc}nIS)mL zBM14MgWKhIYAv)@EejN&&-Jv=aXHmNuBRh!Yi0u5&SE%O9uHj(nruRST( z{|^r>jN;Gy=pcC!HU^DL8l~%vdU+9(l0q+-q460+hiy|35F&RlvvN2Y<<^DK&LM7N z8IaOfljM8$1Kbky$|de2ce!CgSYp8cZ608YW5|`xWGqDoRnVslxdt3>&1hWT$`M_= ze4RnE`rD~6&Gv=#PtZNI$s-|z`5(A5TDDX*<3Sk|#QxW#`;R?r;``f4vCg6<9gfpi z%eW~hMBoIZ^ekzEW=(QAF`28C-B_NNXK=9WC70FAx3$kR5ew*VMj z&mX9|F!~}1CjE8e_&i!FH*le$6%6+0=?Y7BAlDtXu!WF@m3kTlCH|(yNs_;v7yf(1 zc1g#sChekHjh0z>6s+RFu#n#3CsEbB#2U{A~;51)40$8mJR zc+8Y3axiJR_;oMi_Fu-hY2&X73Z5}gCzkXzkblnx-`lor;KxbA)4de`%Q2Mt?uXf^ zx5S%t(ay(O`Ae#twW7@=zE=KsM=*RY`Ln%5%Mu;U-l-cqA%&d!F5QO>2_bA6J>f$C z1kh^pm!D#eDEHpL|NA4U{Es#AmadQFH7E*06~4Cqt&xBJS&b}Vw0Q0{{!X$M@nboE>Zcig@9#>-v7M|L_^Uom zhQptxK;{~kj-l(OE8>s-@~NvC7VYaz#>?H6Ydx}7H=cbNRK-TfEKakd>s^Bl(F()XQh{ITwz_#&m_ z|A5#qAK#pX_XQI<8e)s3!&sN}?~R%k736DMP!vUblq==atkm7p$GWs1RikIaCkF}+ z>A%xGtw>TZcr2&BO&_QG{2|&0{|`aYU@<3Dwtq)gLgK_S_9tnIvvRx-praN=U+YDW z|LKjtfFx1cXeU*1thOD1+W974&Nr7l6|=qSP0b8O%NzwPu)m=RJ1}pe%7|V1X(q2* zjQc3AM`M`W|xRpJAKp48`UIo58r(Fx4rC)!G2C&R1$5Q+rTLH@F6W9Jpyk4 zqj`=(g;ZK?h^CZecVRXsTF>P46WCu^uU3e{ppjm~V2&^`9gK zCi2cyg{Cm#zr1v&wZ9!VjXtca@~-Kn1TAe$bo5KXl0nR7j+teb+8@L%RrF{})}H0n zSU5`L4On_|3J?By+I+O`UyswrP)B+G+ItJg{ocXvMP%Gaev_x-XJb^kCf=7W;kb)0 z@b8qG^P^1BbfbA*ObZy)S!w9tRwc8r^TC9*X23sqLAXfRS=d-ag2Cm{(cdGep&&F0 zP@wOnEfF?2Zk{7Uc3AZa80$xRF6g7jxOzAfx5~IjJEiuDP#bz)6^~iIyrJ2-k$NlX(3HDj*T|S*f zP;&cwo(4KfQDN!5{0l?7Kg21`5AlliWE5eXqF+ekyVgkU43R&d5qFTI>kMv@W&U2* z8;?SJ)C=r}j|^oUq9_Wevd&3=w^agGow5hC4$^-4qsPTrnbae`CU2*iLkW zHa?w|a5tCMQX-$ObSGw<&MdLNgnj-$an2iiaOIQ`!>3*D6&Q$igaCcg#-v0} zsHHS~PN3D`dG@nsT3}0exiP{j@*hk1|Nj}XM$=aT=`sc;92drYRy+HecgbfDiO(t1 z{Lxut+x47*^cz@iU%19~&*`u)l{(#>t*z0?zh=>IElhX)TZAwhJ0yWHsrNY;Vg+tdMA_5Jd$y62x4V zg-Eq_>19iGrydrkFw7ILwAb%G*h0)OY9(ncAEg|+lXfDMz$gB^`T5Z3DpI*p7eJJa z^8L(yJV&3@`t4L8$DzDI|1hRO>oD2)xF_oEN*-~#clb&n*GeIq4@XByak&CMgOZjfy7Hy1P#EW}_#BQh?a#LB zsA^b81s$37l9uql+Hbr_9!tJb^YvrLkgqxjjv5;e`B_=1ntpdif6AA*xx}PfGc+GE zz3+#L{?h>NgA{D*2q!hU_|t`s&+KSjJ!MKdY@q|q&K5Q8Po|YkV2)dA4e33du?07J zp4mVWHtPxs-dwDw*c#6_xU(8}5!T!K`1m+^>#(h@t^L``%jj8d4{hH$>G}2H$8MqT zofOAK^(hnzjf)h#lzRGBlPZPNIwty+WDh>y?#B{YohuFl#Ly7cg7>ovNl^qbG4WK! z!+zL`qZitK!%@Wb5`k}&NC0Lx7Nr;A!hp{31Z>tJl>chC!eKR9vght*;Z9=kI+)ZZ zN;;OVyBUk}E&T3g|3`1q7O%f5ejxm2S|uB7jYV!Bux=QrMobLvG&L|w(mC@PLgomj4C!kkQ~FT9Dsrooy~~HE^7Fzb`A59Rni_whwjJ2C}z4#9WUs)AssL9 zFmp!2z!j`I3M3x6sVu9NKf@TO(jwllyLvv>Rs;o>Xjd!U-dwk`9^N2Ke&7Tn5Lo>L zpoFpHeHH6W5j20lF|I(9j2nXQGy9}w6bw>U7bhj~TkQzm?O&V3d}p(cYvsMnp+55? zeOhK|wEIn0Hck~uY-TbF3JS-LyM42@juKZ0i=%3UzGwHG>w-1-&GVWIJyK4TQDw0Gj3@h z6Gc;2cPo)X`o;BobuJ-wlpdQeFM17bA0syoJ1G-xPG`WENl6hn*Be52(MN+q3-g{H z1RbMq`r$g4rGA1mO4{1f%f*H2(DJj7`ugd36#O;q)+2^l!M`&+_jq`&4_eoN8>9R28Xh#{>fraKTeUCo{ z!{Slh>hWkv?CgAi30$Ce)vrtj&9o*HyF0 zO9xZHM#I%ek;mzz>D8lqZdWd+PVT!+@SZWSAg9`jK<+`4BI}LMlqTtSklOfT{G@`@ z+-xTWeWBVvbu%XL3^L1fR%zWu{X%^Rp=zN%A5*$;4W{JXd8ZI>{j>$d|KKYTeNQ)i z2HBiCqgBH9?~|4b+GRQ^>f01TJ`G{d-%;144VXVa3nWtb5}^XH-CO-~uGKO(0kJi@$Br#kCy&)|3A!3~4lD|of*$z6?)>-R}*8w|yE z2g);UkMpv#7V}l|-go}k$o4k|J%No^vYw-2kqsFWp)JXC^Im7M`5)w^d&m?wU2b!> zu99#fjIIHjOYq!pgte~h?vd-@2JR&4yDdGqDs6w)NoM3r=XAy$>+ZGDObBIINPoJ2 zirlKGvgUn^O^`BhtntOTx)?vuwVj7{G_>h&S<#5%?-ktclELdx<2AhRVSR6>&Lkzu z?*zqYxelPm+Jrbkd@mL&^9hUNn%OAp#lFePw$YIFtGyd0li%R(=Xtf^XoQ0Bsm!N2 zG8HWfea0L!Jqng_%dvyv?PWM8eaB;4IZ8aV5RoT0II`ziam?k6w-q!`=bWSpZPKCf zC%2LQ=UAVeYe>#y*x<(D6pLGI7RSZMj>juzX7UUTf|}sa{&Qw>AM0r~TzbO2SvzY* zdf)3@{?ow}lkVjQiE(6D}7f)hxvy)XlaXUnW-=GJ-v?(;8o2H@w~JgdKmUa76m z>~R)X!4`b#XB`IxII(AXuZjJL8Pz8b96jFzYN)Dq-Cpg3$H&LB{mtnU=d`J=CygTG z!0_vl;3i7X-FGhpJe-`0?xRI2F!ZMt!5v17<~uEXdo``<=Mz0EBm-kg)uZ|%Il)p}{VI}Q*{11Y-JD}ToRq7FSVPw^psDV*l|bnG$cS=Um33<{C_AqA zgpA{-pv^3I_uwFGr*gYS{isyE;|4gC1{4TK)Ev%{p*{?H4Is``g{*FrGfE9EiwVyQ$|T zqr?()hXa-Wy+2dbIGm7R$sM(c@orI-t(wzRA!z{X zB-_qq4bD3gwF}+oz9uCLQ^mA>i8t?+I8eHadJ+(!D7KWVeEwOD0w?S?1VA}?Vk;I+ zqu+bF9gwrK?E-C2)Db;vxvXwZ`~z}FyYVNi0vz~b3Vq~6EGrL_s1b;W8nuq&%MV9l zIlCL;4_d%UybI|@t=noYb+>a6B>QM!Zq-%=%5;N|V@Yy#?x(ag)ALu1)vu?AeFl!V z+Mixnxj@sJ?5@yVrqgU4bA6dh1l{wBfPnXTodV~pWUg<$ZhW!ss~3WicrT)u8Y|e0 zjpPH!d}d!bth*;jySUhhhFte^Er>IsE&#FV&xkCz+bqL-Vo$h6<(*cc^MYL~$YI(d zZ|bn>2{srEPN2L!2yyX-G;hIgkhXsYeQ!sDNAu)Uo`T>I08KWYRU4kjf*Vx_0GsG1 z+pF7Q9`>o~Pvb+VYrAst-kz_l0nQ3`vwd;0H#ehYl1Fkn@4Da(C_Ih>Je`X46PHdYla>=|7nq5YVu>(u=8?`S_k)#~q zO1S6YOwzVWJxPpe3!WTCH)e zmhrT9iV!e8~Bi6T>SVQVY=2(@Ju1U(LUALYDar&Sm+Wq>OHjN`a4~&)y ziUw)iJYTxoCU0tD*o=yMeQi2X9p~upx|4FJV|``EQ?-8B_RvP3)`qO%qI37|oNGnT zqQZP#RfP4Bwg&GC8_&`-XvaAJjwOF?X@0^b6moHL1Wr&C-IrbvH1%rkV5wm%T^Bi6 z7wE)jMQZksVghNJ*s{Hht~=13&Jk4Q6o?Pi;Qpc#p;$zQw{Sf3oaYk@lEiFa#OX;<*JGF@FM>f*DodJ#y$Nh)B62F3)r0J)r94*qhCKF%GC-wBgi3) z1{qEx(n$P32#R*V&~&=*tvl(TvBj$Dc(kRu-O^V4iX8)=3zI36gnmjw_r2PUwtTr_ z!;_+-xAix<@+qrJA(Yie9%0P^STh%suu1PKWp`84Ts^4aqMqyA_`rh44%A`RzO#LA z!dO3`;1Zp`+Je>rlt}5=_pVyTeYbA%BK|a7uOtoupgzTVslh`o_(ix?ML*}MBgEeh zL^PPp(W`E7#vzFDXvR$TXgim9qN?$1-n07h>OQQt9@oj;0I|}NbbSJ)D*3H`gQkYG zmR3@#+wxZzD;JRpuEt=JsBz0Zg;BzWd7)?eZiZvCT6r6VsCH1{5<_!nUor7=TJHE5 z$D)Cf(&F3gF?LQuL6e>*7dr-bZ*1W=F2}PR$0d7LyGJ*zLM07{)0B?`AF0gUL-^E%Ip^D(ro zWFwEjb@POb-8{+)n5w6@Rz7%hTKhsEA0YS)tP=#Ye-ZqiDdI4vK}n-z=FQ!DF|g$- zg}$Qq=&7yZP`$v6Rq%Je2N*3xep1i=er5<$DZiY>XgR_RMW|v&uAMtG z?0hQi(r=~m`g&lDAkcF|A)$yA92FxBQdEkVE6h#zU`~uR?U7UFlRirt2Na z9=56bYrNj4+}Owd=lA#|;a|O~3033GuZ$dnr>$sGyq$tg#g^8e(2{)*dZ;dq+$)h0 z%NS5wN>}HQ7)Ww2UrksK?Ocm5jZjR%FK!G>mb51Oxz%FaBUb)t3HJgKq1dC~Ze-<} ze;fZx_#7H(@Q7#pV_KTWY;?~eGZtIXv!NjmG?#5l_VmLw<*Qm&v&=Np$jhWOOiRn% zF^y+Qg7)(-P8~Ixj~Q$&GG8z)#WcPzIE}=N9fjXiZk6v0;5y%eTTf=47uI?c z{$b5IIXV5Vki&}fBOTjDlRj%P z!Om~?8P{!?St%u>g9!#cwby&Da7ej~*eU$H9h~jILdV#T1-cPD z_>C^#av2dm|H=biHTFL2`Ad?XiJsXsYXvIZtKkp=eczjtr}bkYSgDpLgZxK*rf1m| zv6w%qJ~al<8F-(lnc2r~ogfUr0Ol>wbGh8go4L|p{Gyo5-mQ*lTW-IC)d-V}Ae$N~ zs7bJ%tr^A~Ik~JH8*`qmu^+zDgjp~V-X_4W+kNgLxtFnrWiHB)q2Q*dybPb|;M$WV z43P6qZxRBFDH!j?+gL)34=VZE$m9V%I!gw$@!8^y5#56Bl zb6a6{J0<0@6M?&==WHY0xq|YyQ^w-uqJ7ZnF<?+!_bx+9DFWER0}15=E{Q>#Kti z&$X{TSSCZlY)zBfi_wNQ)!u~gs=B&O7GS8F50p}9Z z^?=P9VkLB_7v3Ia+*t)oPOEvMFLBM<1wbdEBHIM=etclCZK%H;Qi#*5(9jI@d}Cvy zH(MgqDp9jA0^+%ypJ#jzUyiIBE&No^oC{vd z#m^~R!sm0)j8**^hWr^0n|!xpstwXjt5Sxk`%Ng7j5?8#piL;90t|qWL>u8LCe{Wd zWi9ID#0E&B5J%&LmFjmBGQ*Y*y-cu4d0#*d_@>_OqHST3&jvZGKb?jko%LWgY32;m zW!F=KKBfT(8*l7@q z!&j*1?cI2^l9-~q>4KqV8wzcSsR5ELg&o{yYDJ_ z&w)x3WZ8+ww!n`pyBn=V_C^Yl>xl##17&6Esi~<6<-(wybLY9={^&n~2b%OatY4o) zJ6(!P26mhg8X8q@=u3JW#e3L+uH&`#WPeE!P%%`0?>qLs&eMOTRf{e^-($<>AFZ4D z+Q{n9H_tn}U)R@pIh->)$xUrP1668F7F@nQ0cX(9&(7|vOr+ri?$jo$ItJu_s;l`( zI_1=DoyL1rl;0^^W>#?SAiw$6yv~wLr$MYzWT&I->uYv>c$v&oEZ68{z4V>2^IMiH zxulhh*X}&-xd(15ITOw8p5vtGODRmW4m@-T@l=x znIXI{o6_)|`pZVM9yIPc89DzHJwJ+6EY0w}+PK=S{8==qAe8U=CR9?Ux+L+qOz*bM z9bP?J>{eJ(7}vee4=&W`OPEfUUysM`)woMx%1}&u8JYn7{<-;PwbL_<^TElEiHdw0 z9vQEwkLy(bND17%hN`(gUtPd*j6o-D3a7G~p0LU$v|-Wwk-w-01*I>F{#Dn$BPT3R;C<4u{H&OcoYVGKhckRQZ_XLGIw7b}!^ z4E4L^vax#XnMG>p92iB-26-{%!Nwe^h5lN3H^6@L$G8Y1^Dd2B4GPBKWMnTqPPslpWPs$=(~gT2s|D zZ1k9t28v&dYHM9*ogwI*IzBPRV*pYjAm<$`uHPxHUj-OS<&pNB*YReq@0JK+i*q_x zA&msY+lkp?;C0wer&i!RGh++a1285xfC=jN)rc22_m?U9?eSKkjh;g=lv8A%k{cV;Siu);d>yZU#b*i>l ztcP;?4zMQ)nbpl1pS%1pId|c!s;VV(YLm7uwjJydPt);?Xy^RfsDkY#pMI{WF-sTl zC-i4Wo3cg;C^7X@fWLkB>8s10B|5zMde@&0Zar8nj&}zSU-z?{{S@ILHICrwp4|-| zTCHl53mOlq5}7(bdzNBNxX_sz=^9hsOoy|_mKpAU;MTf0@W`4$ccE`f##{Jl(I2Uk zrqR@K@?;7@69apK;XI7%Xkjn*|uwQzCth8atn$(tqVpp)Ox?g75-#_XUJu67{o(0X|W>6jrPb(jL-TLj1(G` zzV%i^razzwT1c3I=pc>-YJ77xuL+A^DuC$k_I>Xv;v(-wSTlsngBC=w9weYOQs~yr z2|oD(v|{2X2?^5B`qf093qY%_eF<=T%9zW-_N+fd{5*f()0mwZz@o{ky34CnY zhPv>8Mvs$n0!{ATdZTG&h6cWtMUTBh%od_G=WZ?eJ5f=yt43rN7w^o2tA7eS{-$DO zCXehllnU46q^PVG^XB10 z-cE5Uvo^Ga4SWx=B{P^EZ%!K^=``CTW#e7p@{RT?L-3nf%P0aq9ljb`d&;k8BaaN# zEk}OjV=^!qIm`_=DCxSi5?-Y{KVoi0ZjdP&dtNm+^d~;bx8!AxGJ3{zX&IBI@6#2D zbV9VC@yU1SlxFEq#DimV7W$)T7y6^Yxn8uf@XP60N<*IG-`+pXrG$v^N}>jvQt3=2 z#Ed)BT;eG2u2o+%M5M}6cdDwWyuu>0^8*P%y3VE{CDtQ10I$}@IqzXCsk~}akD7R( zQ$SceUaQEvMML_19689dK}IUb%)n4O9>S4%1)!g;H#!#A@j5nTM@)@z2?@Ob>HgW& zq|dHeAhLKb9N853F910zmO33PVoT`9>(y9Ao2Q%xmFCgA0IqSNg#Lk|+FO?qr=3)& z8xIT)BBsn$Mgbo_Fl)qCgam}h$9i051F7Z@oT17-T`xn#5$(ZQ98~*cLUkfoW`LoS z%BAGVTo}DJF1g zQ-6&(8ojBsyaUh+7pb;{M36VjXJI!L5 zauDlbMR&Q=mcvE2kEitTkchIL8g0eKK*Ft<%v#t{@%PyVLHk(-YX6aKblP<`O6vD`d61Q(PA(Pesx}k2%L;3bAYvfr5gmd#X0_gz zl!DBAczaUf+YLyNR*3!-u0a3~NI|n8&QpLaXadkG`BV7>;qzn;h;d)yJC|MU54wz@ zFc^>j!PP!oh$PImsYLxFLT0yYuODWyZ$?izKV78_fM5_k#J3wS5c0qWqz4;I_qnvF z-7YBHEeKkFnLohpeJ)a%4tZdEqfiZNC&IqlE-cx-fi~NKygL<)HqxBwGrSy*{T~9J z>?~4U-gaJ@mT>P{*Gf?EW|my7Wd#(tv!ZmlBWgAyWNUpzkt{_2=VP2>YCr^ccapVz zUCs&9-k6nP_5f51=JmG)e!`g&sGz{XyUvfV$rfX0Cx6}>Kfh;wVI3kfsBhrxTwcn_KzetZU6Cs``mc~G@+iZgSCl?iwB~7S zF+mrgQ0LFPYKL^J?K+)*_ih&uZ?o-qhM&w3dufrK|4N=nzhl6}rWA;#T~FF?f!C$@ zMpP2^V}Ic;J@c*_in#e~7|mj+wcpTHTSNT|?!Nirs`jkdb8>6Jh1@jnfmojei+rIZ zBn9!j!Rw>^&uq7v>S<?mg8a+S2U;jif`XOYPa0;N^IybjO#gG&%si3!Ag63d-iyF3Jiyc zZt}M)psIleOifLD+N}AR}Vd z3y9K2SKdG*Gja_dfJk|4q`6ib)f}`uT#NL*HgeMQG|67*7O0G<7yw}pn_4zn-xNw2 z__iXA<6LKX{-#qtg~R6>IgyXn6tLikQ7Xc8?-^RG{jO9LwYx zpx|V!+;p5(<%RCg0*AD|q?_>7_4TeO5%izAx!M!9lT?Bw8YF#OUhks1%5eK&kUCI$jG4liy|~DcpaW3)ezRiy|O{0%zavlXKhCzE?UlcIN2rH75v<4_a9{HbCKfeR!`6aEJaFoeX)x&TtcIa7|rT{E99AF*d?-QYBZ;;_%4; z@6KCyfQ_vIlq3A=YOF!b+fRhjcnFJM@U~_xB#1LH7s7}RLJ|tu=0{;9DRu?sM!d8X^t2-l8dkyuFrm3J-%Hf)%NXQjGVS5MDTBm@J9@O zL(rCD7bw9&?X5H#6J36_3DRN{c3N=c$@1x?#KUIZidRA4e2JKeL;T@ds_d`cL=#Y5 zJ?278T?T){1Q&DN0R;kZqel8KFC|P6`wAOz3$o^ziB-<5f=Q8dZkJo0s-YoUS7FP! zI#tWEd#Izv9l z#yX*2+ca;fV=@)t^}34bV%3_@`%mP?v<3BoC|#gdnV0|A1I}*)B|0#5G>)p6G-Sdh zCL1$buzU)qw4S%px8TT_M>G4WU9Gkg3BfLuUI!wMiq$@Bmc$1fkcltql@lnH>K79% zfJU=i^m1cj8i<$lK>RM!gT^&heXhYQlME*@NwDa;{Dt^2q>>x zro1~3A@kVGav?=t`Jv;N9x3u428IDaf1tCeKb2=xoep6FFr1ou*fu<_km zAvjUV$Hpmbpl#3dsGm!c@!JkBy;I@QeQKieQ;p9=uKx^>Hr9O#)}N)3D<0nhMAh-G z_e>3tq0{?<69_vtG_I>x&g3)zpZ8bygmzZ#uV25$3B6*&`$LQ|T8siJ?lXM9jI31l zA;q;F%p+8lnArd=il5GJs;bPGk5u@54G6T)pa=6w6G_77ql!XI8hXxg0$#g3Z4n!Q zJ^@oJ(J9vG=m5T3j9`^YHVc<`p!A;Lz_SuMiCpp6S%wjaR z`;jD>VM2bDPhJ%O2N1}U5{$P1%u_E#2-mBlM_PMC#wR4CWLQth7aP98YBAck5J-qG z@PnD9XoiUQcamZ&j@iS;6kRb|VC-}gf6Y>&q=1m`d)Ta^tW*hI4UU&u;L(t+8D!An zx*nt}-sP0w5g6vS1DJH9W1j3p_%kVKLw_8Zl%WJ73g=v8oa18zFGn*%LN-CRfBa0U z^~*34nbnSL*rAtQeXf5I67Z4?6%8b+7NkcU_%OP|%0>#qt&hBhRb zC}52b^VH;{9Zl2UUgTUX+t<>Pb(2eWOnTtMEY89W?exs+SZe=76=~Lp-d3%|maEJs z=Fa490@cFnbsS^8mmG{geMUWqE{nN@@N}z5&flvb8%F}aocQ$bj2d9#F~{GoqoTR4 zWIWm&kS#z}2YEvz7JHfN-xgiz)_%pj%*GFP4aM5G%wZEIYOzgSlIVD<4a;O{0th016pg!1N$`O zr@U_LK**$CSVh6;hs-s<@t5v3Da7~-MJuY=DMd=oA)k5o4f5LS zKfTD@`+N%j#cJ#@?!>_Dp#mRZbOm!HE)%(D@PRWR|NON!7{Q?lMK)dSRS>-13?L}( z@KpuKPhB`5q!O?i8yinv$%%CW?8Ara*oTtU_>0ZNQtsKUG<}-!)r3Oo%2oiG2j!-# zW{IAUPgA1;IZzyP<8#>l?3Ci zAh}bOhex?yRJxL>CyVmR+&658XUHS(sMFZKE63gxXZY57J@!z%Jbkwk z3cR(ZWBvL`vC)Vrre&vPK|qNPT%n`Rm->$D+BVwR;vgN!&BdyiO;y~;lp~J=Z+-Z@ zJ?B61dG7>=A}c?&Uv_OA!e+ME){>8(X|a8*N#pcAN)AD(WJ)>rPm8EO;Brasf+>}X zY;Rls1l||KNq)2R;?@eF-$Wq$;^JRX^WIo8TVKd&N?hUM6xAx;v}}aM=$-)jlqd}8 zlLfDaMVCwTIE>?>!4RFjCyByY`-R*bcyE~t>15|m)6u0 zE02qdlaIJr4h8olzDp5uIvkdy1ZrN=)}2f`Ckr*eq>o*ncIX_s%L4pOXCFwGE1dng zhb5(kt=SnmDbnw$bR%=J&H$2KUe!9CS)*xvEF z1HJ^jMA#)P3(}z4PEK+dCOqvF$gO`1ZZetyam`ZYr8<1mTg7NOTk!QI&5md+F*>tA z3Wm<*HXiLvK#4%hoj%~?{lW$Myq2coP?%`V-VfAU0Q0s6&v0BrU%Gnp96fmO;LknM zy;Vb<)7Rm}XwfOaqj+(1wqKTYaB6jTlTMxzDg@vQ?m#}5Qts33bRYrdXk*V(`uZx zF!;$nN;4(D*ozsSTJ*t_2*EjNHNU-WY-p`yId~Dv9yUw+66WtZCw{0Xq|t+!qEs@7 z5ojG}N1n^pMOSf}I80UJGeW>C*pG+6GH!koiShnUjO23f2ZV1fS5+Y%vZ4RRM&)|k zw)5GokNLoJIHl#P+eB|4Cr}YI%Z!tF7^MD9mv349#pupePhlE`aSR_7AqA=p3+jOy zV|+68vGZfx30dcHOq|4h@sg$h6t&N2N^oh?E64txg9h(wZ#xdJ?U#+U9p=ZKK0;}8yN}sKrEkTkcnq|~= zU-#-a(mkiWITEL}N4FR5s}y1hYi$bET7ilK8J(q?D(`2^y5_CBDtQXlVrh*3f(H){K?1=w!6CQ>kKo$D-7UdAxO;GSXaWRx*T&sl zzmwd1XXeg(zj@5}4@oDS?tS*DUA3xe)#~E!1qG4AnG&;NKySHV7oZW86T4JVR19ySq2G1EB?WaRRxTDntwU)(lCn1@Ri>cRm^; zE3z>2YH9u-G)aIrB(c0SP=Zx-HaoqhLxMD^7ZvFym(20O%VwFt3csZOjg;{}Z zZeMKhDSXb_h4Cuy<@6WQuWm{*P@)es~Lzah5B z6xoViBdIfNr8U=>iPBZ#s%@F#+Oy*VeTj8JgiA{ zJlw)6X>03C>m>H1a$4vwXv&aGzfE!)HAx%rWsZ|vs$G;^+GI~+#^ycqa0t@xYf_Y! zMxg|zDzyg+vnjV~lj8Cln~Wh!`9zaK1bk)-PARUtL=w&on*Rtu;XzxxQ2P{n3`S#4r7Pe2Fr z1;>~kb3yIlmltbbnqLKZoGsbjMh6_#>cGQ9$PP+tB_4x^!qT*503qQa0 zMM2Fl>`h7XMn+7a>W_M>ha8M^z}SJ>%qjcq#fSF982=&Do=T~(cw^z3!Pj6Qq;pK~ zWGqT#M|y(?)y(ZW*QnZw3VTi8=`fb4B^(*38TLwv48CpXSsHMnWx%}O@*pkKX?{ud zG~v4qS5bkEmGpsGgWJYazNS^7)Tw-jJnZP;?_ts5HHEvg&|U|-wi|*GUsnoyCuaxw z_8e|6i0rK8L?G7&pX-ud+LnvhOOW@&0lZ(gHsHrzMOCrvxbWqKvjDf%W1U%%L@N$b zocto86@zb_q@h|Ynui&b_DLFPqWr{LW2)#RdoNH^@WQlm$3-{Xk^6P^>EQ8f)M>(M z!?)E2i?g#41$Ejg4vz918geujGODvr7!m#v4WbjYSMv>)8IJ0~_y^_qS$b9_`UZwy zNI|>xMoiYVGW6+-m>VNvceBfBpDG z(Ny9?j?j{Y;F5vMae|im9$p^DB`oWy)=&CxOUUfHFC#x=!a%wevgP4MWXKnU9YsWZ z?sy0eH0t|(C;(BFqy5;!y_F&W8s-%gY!7iCA0P8plJR9X3kLv`7cMy`ts2{@hO?Br zQX3=Z@#T1r9QY*ngL{Q3xYcAt-SR$9-)JMyaCFWRtwQt-gqfWTJswm`Uz{8Z%rwsM zIn+BE%3%#Q5-#i33u~LH&8Ys5>A1=YnK-$o9oitHy{_ejL%-TW!=OTY6Mffszo$J! z^yv!?GNp^nBSX0^-V>t*IY04c^M}5oJ`!UAMkF>>b|Eu#U)85N+?in)~K#Bb9YsP5*Pz@mT~dOCLKy#GoAaz&JPd z9kIq;l%3uzK$A<{KF+}n<{grA5`pp>Kmo=eX79&g(fo7Yyl*%$8ned$#zv~44*)%p zpG$2%vkTv52`g?-*3k(UG?<~bug~Hao zmZ3a%0M!DS?eAgnM|^NNKXe!)Rcg~k5)K}ol$u(sKzJ8it4NMg=BzJxukpzjpq~sF zR|EQK(i@mB$i5}U-!a|CdzJU5&-gYa`RwYR$Fw;d;9h|_Sdc7J+Dn1@G&t8hSOt$O z=9=gg>7x>4ACBndg zXIDQ^KN8zR!AM~rI_dms=7HJSZkJD-EbKs02>59JF0xf1cC&=5x8(dLlU||9lH`hB zhd8{{{@#Cl&=@QmnMCk=DmfDVDL&GqSB?lBKS}4e)gZZx z#~Kek#V_ER`9xm&*S;ETe7lsTnq5ANSEzjwVCE$rmebh}EQS7aH-RV{Ji?jvm*&5u zhcHuxoebWc#?;34c+`Ob0ReUR=(8*b#hP;A1rpsCoRBd)RDj_5NC_f>`OziT21a1Q>n2 zbn6BOE|^x7!S{xp-NFEb=Cvb}*t=JKVwntxJ5WJJRn`4hZ0i7bz)ZX0`P*Cs-lp-A zm#01FQ3YqJT=SW#--*w}bbU=B|4aDc|Ms0fXn(O^qiRxK;(`N!QO!`}Lq6h(@Q~iV zM9jCJIzS=qm`GuRu|=bA->ana^^5m`{(!`i0$zkNQN&1Gx!*CEXWlxNdqb}IN_j%> zlDW?U39%mSpJd@&N#k5EJGto@m}C3;UQ`UIAacD1g+1|?(4@j#`Rsz^%N4OA6801j zmk6s*O8PBZCCr5!t?nbMf16j27a>zcnw?9>+U8(qljaAg47SQ}><93xLS^bOf`u3l7Xd_i5o3IVmba ze>5^=%g%t%q5(b+eZi7}^N;R$nhwl3bObzZy1hlO_+#A#pm@Rq1V?=aUm*&y4(iC5 z7;4QYb7}}&>7ckLK7eQf5vD`K93ZGb%;A!oAso6$Z2()vM)#NDKBXUWQw3u?;hp+D zs?`ZBOL!aQ(#_K8K`2b7Z73aZy%z0@5el`T^C~D8&K6amC~R8Hl(B&!h>*Ntk zNj@*)7MUJ|?GvMl3ecBk)Re=RxwXMcKsGsLI(#;C_9V^8iZHm9}^&eX){Y#>! zukRH!2q+hs@uDYQl|Bgs;MU>K&)RTcJ`6bw9on?lAh+Q^krX)xJd%Izy4?qr$L`}6 z^%4hs+v3CEN(Ml6v9{h_(y^@R_DR&QmGX9x?EnEHT48YD(Vb<>kj(7omlKZTJinog zmn}Z1z>ja#R*0|w(aSp6!8aQev~6&LIz}4oG!*CvhwoY z-NtJeCYCzBz0}e}Lqp>vFa7`oh_5w_nENWm_MzgElM(N~KI&cneTOSwEa52HBGd79 z;A$;g-((Z&*1S!;^p1{+0cJj{bs*Mt=9t>Ka-&zAun-^TI#Ip9O!BeCjX!_ymvPX! z%Cvz>B=je;)U#@*RFE!iIyO$GVFTWzZ#Me3wL?I?ULfzKW@=D^{z(1A8;GfQF;|#he=7qME4VzwQ6u-Xg)ig%(R$-1w%i6n*8gP|Hc04 zFbp*+)pp^s;ez!dA|s!6_w9vc4rHs&c? zgPDY?m8&AH9RT17A3#*Un+(SK`(pm(`v3SJieA%)R&>?{Z2Vs$im&3Fv zynE*T;YmVVJnkJan-F&;hn$lAF6!@!$NwQM<5eWps_$cNlSmjgtMc_#ssJfA0UOKR z+kXZmNfs|zuTp-1c@(LqKwjtM^pukV6xLVkX z{+%i8>*0UIqQCjF|B;tfGef6#QOCOjiAN$s)IZ(4S2VVx?Hs!jfYg6!{aM$^B58YA z*-YoV+sEhLRayg96y0EpisZG50w?kz|H-$4CA9QavS7;pXqSK4udp8!!lq2&-lT`~->=#zu~sTr+t>iws+5`(+7HV?*a!}+NWOee-(pQk!f`GR`);d_yU=qcb`y; zf}fGG7Y?jLbGuhT0YdY>agA`&k@Gv;Z;~S>0d!`O#saeHIj5+*mdXFR^q=PUzx*xy z9)>5L^yudKIPK_zIXCQIA&y)Cp7f>HVMfNs?t$(I5FHh1SU!Sf$}EZ>xcZGFoq24$ zG$2tqdUDNX3OB=~poL!^(>B`#OZ3Qkr?@bqpOGOZ@`m9*wxC{wTpwl$L+HK|2R}|4 zfDvfkW4{u$(@iSA9_N7`_9Bn z>my3;?j`EiHg6dR;JFi8_&%B3>k3g1$4v~J(Y|(?b==src!Ykfp<6<4XZCR+3E_Xb znt$Be|2#upr}*SJDfg4%?0-R>QyfQ8Kx{4=$j1f|z#Ju8_6-)Hqd8z%-Z?|weq^P@ zEvFDd4wxe3u?atY<+PQUHjdrBi#qD|9lR2nR=%NUZ|NF~DX6@z!_h(<(opPQ{~w<6 zk6aE1>*u)(6}yi#gx;Em0O8MlF^7kFcI19pmYbbdD|+kRQiN0tv9hp~r^2yZUW)h? z0*aPGmvCwrpwZr|PujmgEgo-Wm&N2Cen6Ci-L5j!RzX`VuoRPfL^~lZ;K{1Kv$u5CJjrH|!%Z-{ObJ+Pv#ciOI)Gk+azc-3dt=V6);qm}L}C#nZMrsQUmkLN3_*P^A2X>@_73{Ci3O&561Pn!G| zL={C}1bUONsbhxIsOFEjAWPjJB=^3sNi6J!XJ$>cZs23*ri+utKX(^n;C=07uGb;0L-=WI6-Q+|@hnmXPM$27gk?MrHabQd8M^h;sa@d$9ME;FSlkB7S=0e`@xD6o-d*y8s)Y~1T zYkka;+-FQ`o7e1a_k-Y&;-#m9FnS9LNB`UB_IrK88I0kaKT~gA$p&YCV!IigA^`vF z)s+EE;UF4MmmB!fXDDWhFE4(Yu3ZTHZ6A`}$WTanjpiI{KO>@GV3d#!XN3q`^8F|d zzkM@4KDjUwoI7^w3qY|c|7B6+^o*d3*EnMQwj|%r5eT%mi_$^)zA2{vor(RqmE>D= z;d6^|O4+V#R@Cym3|q0k-lqVD%>6RG-nb7D5mEWeQ|e#?fy_U*I1J}qsUy!?Urc~f zHuAD)XUj|Suwg4Q`zIGCpSY8J+`v+>kT=M8>9~^h$fDvML&-PA4L-nQ&rZWxI76KN z{oHLyjOFVkWNNhkf6hiFOf~MM>z*`&+IMbTH;C9Qd?PD|U78T}$tW{K*U^|%J}Tpz z`WN_N(m{kK55_}70sCD7rgx>np3cd94msL&)=nPnWFjaK)KHIV7~qH;W)XAkcMSO@ z;#n;aZ@JRBh3^wJT{$j0>I4huPDfoHU0YAufm<>k1k=nMNJp;BuyDfr0@$*p#0iye zlp)&m`I>d8Ds{Hb(h=IJaSN`x03{O+4A9(PH#g&*+wASns_;7?JHNC_1EE};oQw+B z3P9V{tC8o^K@kuu)G|T_J$$nvLY<8-El=F}Z9fY&mfh9M{@eL_pe3jxt(wsD z-RbtuqOf-t-Wj6%&@hAXr_>89p0fybmmOY~fhl)-&M+E!Jv;DgZdejyjo-%-Zy*AndFrFL|o*;35#1FFTC|1pF8*Mm| zJOBP6xgg`m*D5_e`YoO5eAv4wYHgpe1v{0e`5X}+aIP-w>u(G^kZaw&_r-3M)8wiA za$Q1|R0&19^}fG}enB3=xt~0qBIu?GwFGD>GLi_n&lyu`w^343ZXK`nifaP;ocSL+ zzMdZUvM77O!29~tM#TRxBChjr`8c^m9_kVDjN@3;?u$}ay3K@w<&pNnB+JJk@CrIH zmsM~UsBw3T({Rrzq4eInm%O$vCA!-!Um}Efti@8!WR3d4*YAkh4(*BlXtH<%1#)smYxIc!4>MQl9X=la6N- zTj+?x-i#PvyjWtaCE|6~Ym#@l>vil8mRgoE)1^JKwnc;r(8vhcn*Z>1lp5{|KhA?idM*MXqx5lzTg=Y(Nu?Z8W z^l!J61&A&{T9ck!DL{HpZ~vifc`cgJL03A3pJ!3)*5s^MtJ1W~?)ZcHA%a!bh6mw$ z;*?jOAYvp@rSzjuVQrrhi3MHXnHRn*`xs`CxX?(!6DbwC8s2MN8PPQSaobEPvWHR9 zaxUbRF30lbx65M}rV;p#0}hO*a9kow=hd`rhs8P#GmOiuck4|7I82LOkkYJyv44$t zOYgi&OIh6wl!PO1A$>XZ|ZN{O`vv{2g*$X+`0z zq^Uw>;f+B_k}aZy;QPzhA`-KV+jd*#lHIHtY$axKMF`N_em*&b7Q zVlfK9lPOLP4*L{UY(ZE?>Am$n9;|fTO1*vcFsR8E_LPK#sS-MR9s4dk&9ZgYf^O5t zay5#%OF7Nc0DmBfN5o>bx~fj7xw#oEc?6IvbIT2Sl@t`hRqGB9K{L&6e0x)6KIeP0 z5?EMRYFE}D?r*Q6`5Y|kzUk)x!n$~t4PlvWOU+PzE}tCP- zgYMI@yTsykyTTgNp;DJl7-D0IVTqWSVE8=Je0N84rfVB3r;Eydd~En6tppK2-FsS@ zz(js0xF?{;?G!km)mV!n>+F~*wDP*r@odzP6lI$c!T|*6efbWX+^pfV3a$MP?WyA; zvEn@gOCz{*jm)i9z5)uw!j7(KhoynW^@DPdl;GmznUQo@52XR^I(pkHO?kCD(H&$I z7hy7WXZgx>)3b!JY%QxyfzadNH-np~mM#!fr02J{cO8M+MoLh0{MMJ`I*p)|{kdk@ ztCU`Ocof`pU{s7pYn;waPBYv(l|vY_5KWE|I&2ZFZ-ssqz7_i2I`2ST>% zr&2ww7Ig1QF|(J5nj4M|gp4*%^P_B!mf@w7dC>&)@>mbFpyOUe%sv|{;k&are-WlR z@D@9_KepT1RKhE!7jJZ3Hdg&s7A;<4Yvcq;05LtKgl>Ifuw+(d{a*6gcf#hZ$HR8{ zU}bf1@~zhfilQ^^UUiL39E)C-GVT33RuJ^^oI~|P_4d&Zryyqm)vy`yQ`}BTrhAH) zV#u=|toa*lKk_T+l-FOFa*)P{1qY|)1%&PALeJr82?_5nUhv71T3x-aQ=JVxo#0!W zUl2TRun3axa4u=N;;h;m>e%DuuLGCNR*%#yx^}pYn!uoLZ)`}&sJodsV5e-a$S2=w zo#sF2G>Z~WcT>nOY~)D}BOx*=4Ym!_VFRAZ2m$I6LSgUo9RY2AP>d;!&MDnS`EYO&hPsf52kG zPnBEoP%Z7D1I#V~>1ose^SYoxWE@KwN+^g_H?@GOw1@OQ1`hWYqPtP$nRbV6eSKGP zv|_KzJpTbO=xVHXI&X$^wIN>LR7^%4)F=V@F(d@L=t#Q0;4%NgJ&yAiH$M_?%mW#=+HplXn$C}+-6p>xk0Hi_>xOedM4Isyb zJ(!iGLQxI`S(AtRJKNY);CpvFg7DGK0qJ6mXdw@G^@5`UwlJSMXX07Oyu1Zef`;}n zY86D69Ty_U9pE&7r$}mB+_o9&fw<_e%#AfU-y+NhYq+F{f9Ewar;%TWy5^|mHjw`0 zWN)g^Z@_+zP~ynP`1NK7JQNe1yeJIaX}*`DRk>a>8+&87>t?4vzk90GOnzXG#N{Ar z=y^fUx42xz$AB4%eCW5L;R}Yqgr11ido?iRILlG{v7m3e&!Yro97=8s$+$`^Pn75_ zBA+8bF+*ED@##H>LRNq1wvE=RGL6x;b=odCsVl_gv{VSX=e6}LH|!T*ysw=fA8%}) z13cDdku|j#U*Y6;5uX5oXB7K%gF6l{u!tP}(kG5S`9JygERkNd9`$USZ)zV8TG#4b zi+{6rODvRn0xYXp>b(fPRWl&ZsMZU}yl1SXqZspve67wfE?XWeGV+j);jJn%r`+3( zSANB(kDM%EGb0(rZgOd-6eCnDm#R|26tyc?cJEzBfqF?=p|PIHFuplT!<6(!&l6MY zRWaqZW4^x0Hv9X${%hN1N_b~`3wiv3RBQ!@&98%G22=4`71s2r9%jLF#5^{`zVsEr z2I@x3%7gQK4#pF~-L{)csh*b!5F6uIIoe`Ek8zq9@e5h2H*0qZ|0JqTJdpL>0Ivhk2T?OK$y+J?UVGl7ZEZg=_I??{Kg8))rQ3RY`O#Qf+yD-603 z-sitEp8HWdNxyygL*UcQ>gP(cjS@9kFjOPfCmN0H4-^!WRv$0cK0hnO{#!2nZ}kZ( zMR+LZFa>uZE}x}p`(9KDS`OBk2|*qiAMqjSkgWBmq`#rsWq!kw-3i9@+l^d{mXX1h z{TyJ7{=|k@h(Uebz;vcG*0>NEINT8Y>-C1z%>|zumG6fqW6f*1;4_U_9*-k7x27$Z z>z&Of^@D~48f->cG-#$uip+^)lTesRwIP= zI9(@su2;v3{-~iLUt+FtRSQ4m6aNG;z7 z|F-$hH=GS$yAY8BM7Wc{0=UnRYWzC{vdunDR#^5+BkR19H#fY^+G4Kz&TBe)uIHXn zSCOLuou931NZy!gK~7xL)r~Da`f$E$ty1*UY_yrZN$cJ%aSf{GY;Qb%34Naq2G(ba z$p&tX<^2t!H_5C=PPhp+i7Lf0)F=D>i7w_Wm*XFwpYfK~#GqF*z^|fT$Z-eEqHv=i zhLJLq6LDB{2s?AU^tj!`LN+`kRjhJmDo|^O2?_Ewx)g!mlxbA?dW}xJuYktgd%iW? zU4Yv9!6A8SMH%CLr(!!I=763Aw2>os@r+F^f-%=eNuheTo!Cs%A8B9ReZ&0&Qdg6~5 z7A>gCR&}Mz9<~7ky4@FWd{OjZ%3gz#hvU6+h%8&C1 zUjw12@I{(;{qIJC#7ugo+M*dHIC-xxq)aD@5q0XE+m-M)V50^ic?4t$cszAkv^2Sm zW~~V~a2q*4l8TSC%XDqtcb2U>yoa6l*c4H0?*55iy!0KG98~K;>G(wmI$ZoU^dtFk+rJ>FMbR zsZ(FovdrSn|C-b+Fld7dGK6)Gt~gK6EIybzf0Ca0jeom#Y8 z&zBN9w2FtgT&#vtJ~_Z`CUePng0QS~y3e(GJ%ri}v)s@L?HmeIlEpa&KD`hMVUOg9 zF{iIpw8B7T)~wX025MZ1oTPzi<9t>>7Q#Lq)Rg&@icbzglF=bbw)B<$ZP`!Ha|ao4 zEX~FgL7-C4w!K0zn0qy7kd1~FA~^F>>%7P%c9>_qIx%h(?mDW4tl75#k70;Or>#G9 zX~5K5i+j5b2ZF8;dW@0zar4}5@*HC=*$)96MT6P=e*Z0Uyr2g00{rbvkP>H-MKX!Y zDl9me!|mzb{E1f5a;WFwFEBhwM9RahUZ@eL>#<@XolJw4e6#VQNVo1s51RdYBXu;h z&aPQ;G}GB90^)EY7|Wls2{q~XU*ncqg4{NL9A#D-x0%E0!fB%n4HA3oKO}dCJTs-j zXHbe>C{ghPDi-ow#d?{r9{ZUgdPQ8vdpxHLbvB8-m6jh{mpp@rxPXCfehCMH+xeCQ z4>(#A&-a1HxQtH_jWa)v_OaOuELI-LMDW^!ZF>NA=Qs6P6iMRJT6EHHKe|kIf403r z<}Ovw*K99-amhBBDZ^Lqx|N|y=m4lxkHI1}y6tp!Ize4r@t!^V(uS;vK{m4JL6%)r z7)uyhM$pG<1S#i6U*rzcd{u1bSsqW=Q#3F+Y;%R8BZ_Eq5%U$!2-jKDQ& z<&547$L+>56@kysem*(b@GV{8a_6rMrG@rAm~V;+}rigA5-o?IVfa|^!m@WZ~1AI<$?7)32JFxhSWnM`5U>&mM6-W#GN zv#3|4$#g7l_|RqTn%OR#=;?_g&av%2yYmnN*5zIK;%?N70dW0?rKIy7 zGuv`yI~bnmki}3L3ayy896C!ij{k_6YTPojFRY{eicZY-^((|h%6zGr-F_^b`+`iL zmIiY_-^G6hvH577Z>&s4zRpZdSzfyZI1G_0EdLhB|Ms#p-;>a``ixT|k= zM9cYR8NHGu5f(fa@pQ(C;k++4Q@H$OXInF&Y+3RW%0^5X2Q~NNXQr-_nFtpdupT7Y zbwO%umv?MygMe~@gV<=o8Ij3}Jm2QHQisV_W49DKQrHK?!-hnf(K|9jg;pOkoONvB zm#E%1hc>;&WGFaf?I)+KNf}_uD~nO6Rx%f8!OO) z81#{aNCiR>B<)&H$R8BZ7KAqXC~g7O2ufC&4~-=kx-L=AEA&4xFN8&=3W#}`ufwS# zps#W{un}9LqxmM{erfpbby%BF8{dV@?p-&`o*4ZxM@?w%Ygyy zMl7lR+@v&%GUnxV7?xEjDIx^iY+}M?!64nMUR6_`y{xjHFHS78FN|=8*yTmNu7YBf z(MeS*w-j)S?nAslWTa^w7wYbQhz~1#%qJ);>oR+8!nOWwD;~}KK?;s8Y@W_1;>gvTQAAP~ZEOr|*BADnI#>A}OlZ!(%ZM^Kom7$kSTicv4xCgjcI zYO^DPrahk6qEJR6Qhu%}(Gd1w#O70VN^PQ(*v7k_x0SPGM z*|XUam?V3Aq%e5_J=bPUsKqJ!(4;zJAcVc9F(Ahasr|gd`=Qjw_I`h=4zcNIqCs5H zaO|YzGKl46I6qaW*7=pqgHnlQtm5hViKN>4Z^ZD^zI$sCwHkwPNals%&u?GYj)k%) zNVzc4SuZQ>`%&MK?N7Cs-ziqEX+VJ?ef)WP7-cP+j7R4PT9AA}UAuF+7+wz9#JVBm z%g(SAHy8U1n}>VK1jXEiT$Rl8%meXqi{3XICrb%vABU3zD6H>tp^+|BS|~ZnxZrJr zp;?ai5Ghnq>uj@2Ara0SL(yFzS`{%Rc6I>k3yOzYiwDW$c zfC$TYs3Ubw`Q?eP%XUh7ii}SEMSA(IPeak+kF!EAkXFz3tN+wQn?U~ddPCFh**knt zc~-q|!wU0$mS#z><-3jH#H&NTGD82bL8~r#Q(7OTOGRO}AokNJQ=f*}y%`4ri|Y?W z{Yk9B49yobP0DqGM4ofmdy7TcX|2&2ytnIm*LwxGbFXmkPS21zr9UF|;>0~P^z2Mz zeiTc|t&({|5PTt{q~LgZr)67bBWP(84I&BoQvU5yBh3=U7{LLw7+lvaB!d3ci9r0N z;Qek2=?*IT=*tHj9J{kuV)M1FtWLJyUFcCdRBGQ(5a>pEI#!3NUH@*V}Hr;kv!uVrWSoOHIwqnR`GKJ7T}#yX_kYi(~Ik6*HlvGzLlr(G)%$TxnjQ zjQ|}$bBe=S<&DAWQgCn^%F!2CM0CvUukuv-4M)={6?Ty@nD^7Wqm_pN4?l{dSt4RN z(dj?h)b!X3Ng@s|)Wp+b%dDbg>0s+c2dRx>AduwfVQ4LoFIK)WOcEJuE| z<3uSc+|72~XV@;zsUHqmQ4?*SUW%Z2fa;zBGs!>4wfve$ycSH|pn4T2#-R?;59hHV z=$Pp0KV)tX?(c4*d29^*DQuMAr*R-{<;g<%L5*dg*S^MgZD#d}E`GqWNuE!E(Ci%? zu*^C7c$>E@!&=mKEiG!TNq=2eDKSBFo9*>+SuLXs=-~B3#!p{`hW@w^6Q;#w^^`ng zXR`REaZ*b8#?LK0QCz%pVQy0)$3xE)7iJ*?eWY%+H0`l=I?YB9Gt)ON8JzfMY+<^g zc1ZGV&NJ7rvuZj*cbCZ^V=+?UnFUz?z>o8SW|TRAE5aRM)cnqk_6%>*0v{JBVgw+Z zZgrynjEIg+rx$KEJ>6dzhJxPVFn=>{I;L0=;uL(0=;`NJwQGhNt0l~&k)}F&?H`p( z>4>IK0H=6^PAo^Q%RpV2#yZg?7FFNLM!pCGk3!hHjY|IUNoafbGvRWc=T{ixIcR2I z^tpq;A8>d@MSW3dcekRLJouwaE-5&S$5f(EF629ltHTC(D(SyUB&@i`S=L~X&e68+ zz2qm)677x?OL3Z|^VwO2*2{G|5s>f%&41~QV;RA{_aWYMWA^akUTVy&FSXEK0l~>7 z(-hUBkL1X17~@jP*LSSk>HuX3*j9Gr9|LJ_$HZbn-k%n7oJ4@HQ@)&Fce*uhS8Ta6 zn%^vP=t)eZi=8ad65CN@!9M}#&=O7D>3YFhnLsMbTC_vqqf z8Nd0MqjU36rqFwSy9MV0(#+v9cEwwfcX6RbA=@vN@H&Y(L%c1}5p2h^f=u}0A_tk(z%y>$xPPSNh@ZOuRh6l=LMb}f92#;CE zjQPzb%gb6M%bODsorhv7MrqVLMTa*x(hk=q@@ITX*e;`FEf2AH1BvwIBxuh92d{zr zi|RDRXdzB&MPe98YM*u+zIX2V@v_orQZ7P$|BTB?K@9)eZdOf%UELGp$_0L(I$L9@ z#CgB(r?_26hXK-4piI9&MJ*LcMU6WR(bGWC`yi|r@sTC4pGuzeJqMlC zT`1n-&LkdY%1|@$jTaZHc7wB+YfE>pl~3CR)qiYDMi#&@3>ERZ!s0mKJSA3d+ss;z zwy=80I^jCTI5~kEN7MFOP~8g;rRyAIG7!eF3dZT9gR5_&%Kxm!s{Bme|&Oo zu2C_xY_PLA%QS2JT9UQt-Ki79$v$l#vVImi)3afpLsp3IUN89xj{Osiw^+in1UT}f zH;pTUJ`$T?poSJX+J2=W7Plah|8DqAC8upp?_g!BFG6)S;oTDY-DCq*$6OObQgb~0 zN+6bNd`St5P>(s0x$kSPj1-N44BoxYXX&(m@@mU zzqA0px{Vs-eqXuQC%+v&Au216^GM=%isZH3B-gAn8Ko(l@D95IBw@C!OQ3OT4;+wZ zj!@=VltZ5rETFiw9p?<_$1y9c6Gr9R_a}^H_?=aZ=RQFSU%o3Wk zo-S(N?lECUaHvm%nUQI2+%kaGU*>(2$>nvb5IY1mFk9_TP4Ruv}6z8Jh- ze;T6a(e^WOW}U}Whd!w6h0*!FTin9dP24+F$#oI@xaf48Zm}+=pv^686{tb-or`ZG z_|Msfhh<)7Pa#4_kO|2MRt{g(zZv)yth zbm_AV^#`nBR}q_iZ%f_5iE>8a%j#5*jA{1VCz#{f68$r0c_O)%=xzMAjf}C(Ibta5 zm}!0m`rW-m@a7zV8|bzIlFhu#CCF6duZt&wgJ{?CZ?I zr}Kv+A!JfMw$N(Nd9A7~$&kdVC7}#5H0?a~!UAZH!r90Z9hcK|ntsi0v6ljEnD5Ca z5xG8bP+{IH#+Z(kezrN1s6pplb0*4`RG(YH zS6fKlP*=>!^z4~s&N-Cw_e^hXSb`yUuh$lY1t;rfR*kaB_2-emS9adpZ9;`S;}rgm za(EiGU1c(HDpi@>_R=LH3=t+6J;hXCh80!8VKU{8&T)+O<)$#+x0gm`<93K#gF}8c zs7(4i+%hdnIWMYKPUf)8k(aEg+w0W{%avfmX$Jfzc4@x9$uy0ht+7(1(_0+D((Pwd zI)yhKKd<24NYz9*bQ<;N5R1%wjX>x58X;Fc8Pgz}uW77@B;c19w>ajWsX9?FySw+1 zcskc);n&z4j<|7$5R#yQ3o9CUkC^~|y{H>Z!t)OGx$ynelTmv41y^y!-xcdF<9EA# z+c7fmu7MpGg5RGb*aQ=d3|f%i&IuWrEF=+r9J|qji-P;^?zaOJXSY?5r(qP*;ZJbru24m9|H&uyS#BOPWP(7h~HT zJ3U$4%5(CQ#hRU#*LufkAxMR;wS-(7oZs5agqLov0ytc}1PQEU!y#V;Nrw!BI%8i8 zLe*_B>6$o%2e>A}RFm=3iw4icShV3-IkXBB%(c_JEkpHHI!W$#QSvZnq;NBEz4_&> zLn~ok%*A>%ws<_G(5)ML#uPax6&-B3(==<&m^QpsUhH{qk0?Rt8rJH*^vwNa@8X9k zgXjSgQj5a@bAO`1JXFsb=h1wwZhMZ()r#q|VBkShwdbMl0z0c@|D4fJ&i7y2WC>P% z568~T0Jks_*Iwn0)zZCILozE$G>*|Yo-I`|@%dV?DmZ2GUmM*2#>`tPLjIOqV!$_U z8=oVmDq&vrJ)t=EqS{G#aR+Bp$FG&7N);ZgO0Y1@`%@WmII{~bX6DnH9KGtkbE8-7 zkr;Fr(D88HX+J^q{Hf>K6i+j#ExN&?{n0^|4Eeosg0cNnaA06oM+J>iGe6JPoxC9K zI^Ik0$PD=9r#t<7ca;ps51Mr#g!xY^1+Uv_hq;8zA!kemO1bD6d=6v^-S|O61!C+! zQ$5IHW<#tR$TpmZF)T+rEN|yhlfhUpu%}->aBCkL;Pkf~Twl}XrX4fUmzpyzaB<%E z=my@77^ZI~#?c)=7h2Q@-L@6m*;?&9&)AgI#d=n%%stt~)~(sWJ56&Jvq}smfrcVL!b=au=91_c{!+;Y(CQpPJdS@N87Ws@jv7j%m z##(1#m%9kaosGV6k+D>s&n{Xi6%FIrG^wLxXQXz$3l8sdQOcQxzTQbid|sz@w)?8! zGil*-H@wvBEj_)bCfO(m!{?vF5WeNZFYdYp-gBEc#n$IoQC!!)b>`3-6nYJR==Qw* zW~H0O&c3;-9E;XN;;8Kc=XQnvB~%a^&&x9iIM!t!+q~4jO@QTo6y2|IBbZN*e2fJ# zROMoV1--n#W?w*GU1uZCa$DF#dY!g8r&o1PPL<0_Vt>h=u{0_jyfPqcQ}y*{9zng$ zLwW+vfs>K&<+)z9Qrx>PV;3UmcYH=|N)46}b|;(-po_Fu#5_`{Rw#9ch{m229)SdE z&?%&WtDR7+G#;1poGjogB)lf&H?LImOHha0N$-w1GNXqxp|pG1508waZmh;gb>b{3 zjLPr)@R|#O;fF1C+3Goio0=pxQ)9|4%k)o(DvIqbrL_OK>*s&-VQ-skI6n%HV4~pt zF3jAEL{1Ml-+T14Ft;Pw{B&^toZd(66d24V`pIppv>r zH=dnAQ~C4R7O3RYX;l-$yy0S#Wp{Bn$m+)K3{-jY^&@l%wg|~&aoNcy|F^p-@yQhH zt2tFg_!40Rq5tULH=XZV zoj2|UWI&dKNz^C?-I4vwW5z0-?1kzt($Vz3<4RF>$vq7{FW@WFR2u*ayy-S$?E#;K zEpU<4KfKmRbwX}6KRkTtDwo4%G`zp)o}C}n*&(Hl4b_Ogyn|%<(-dl*bSSqFa$daN z?F5w$@B$2T9cL{e4Bxd%UVkbuL=3#U$|W=2e-SjwpQc_L`+N=_jIA`trRVXwH|_<_ ztlerFUnC+Nap+z{{mUV}oZX#|Bo2b0=4xYY_1iqdUY>d7jiTIb#f!aVzmqYbC>asW zU}s8tS|-W8)PUlvzSf4L=TRqDG-FC?C!fF>aFaZywzUm2R|)hfrMRwCZIHHp-s4X0 zpkwMD`Ggto#2$1UDeS0k^fT}ORQA$GC9kzTdXu!HQ3UIQ$QszH*4jh}Rgl@LMZ{YA zrjxsQ@V0JI5HrPpaf#LCo=tHM=u1G^Zi$DwbuK+|DGStlxM+7s6t$09FWPGFNqvVK zG6!x`q$T7fx}RG+xPXYBhhPei`1i zEzGR}s&1yeiT5?$GUggd6(MDR*2LmPN-wq8GjLA$ubEvzPV^e#Q4+8Co9j>`Z5)M{=Y@ z_%3ecnh?XX@q=(PIMOLryA<#yR8x7hW{KQQg{9wv%mZSK? zT_dxp$lMz~Z2M=@ZJs&Xdd#xbS2!cJz+Y2zi25tra(lkfW$X+P((r)xKPd;XQX_z` zc&=94fwHHN-8N2@)uL`*A+PTWw|c&k-+nod6kOtc_Wc!N{YY_8e`dJhiMVvX)$M%k z=gjfCh%qnF?)M(+?&J$94+F#IIY@`T%Tt$apn*y21tQ+LghTcIJl9Cwc;)yyGqgf( zG=uB`+d9NDGN4|q!cZeC)T_$ASA(}{$)G2JIle47-bS4=Phr;WITLGZTyZhorx+Ie z<efcC{4jAX!HJ91W6X>-Xi~Qv}`NM_`fUJA`Y6T6AD9^glFz<$EOpVT1a5A}cjl zV=%Lll3;}}LpWz6v1H;89zW?!CThIu^%AHOxbpk4!1*-N{lqehz+n4(sO@b)EXzaN zn)Hv!?pclbBY1Eop<_$;QUfg*3)4NELJMk;tpMOKlr$aTwKq?jknw4GoSY%F7hM z-|n}y^85m-fSRH1YPwHf=k!UF70C9ng@?uR8V$1!oxeq<-0ONk7cwacGMlbk0f86h zEBVqpSN!G^bQ(_?`55&28IWRLj|e#Lnolno;r)J9;zC0WW*5nPvX@6cGaf(C1A*ES;=eQDJeRmRT zIdB`qpime=<-<6fDeC&`rK&@5@@C|QXtN38pL3#OaRA&5GClie~REF0bb8>s_Us51koNxW-}eDW^gg+0gAcENizS z+!6nTncQD(cEn|$)0@V_`;XFnH;4?*{2(eJujJ6`-u9m{V#Pz_DEFQ zuI;goAhZ>(`w_Tes!9 zTRx8)nfkem6}bGCc@whPxP2nWqlfV*=Z{v+3)ts^X2ZXK^BIDa=T&{%mNiy&buY;{ zPWpk{F4LSKe6)`g)bt~bRyu}y_6MzoJ6CXLN3YM4%szLjB&Gt5mGd4e=TNfO=a=B? z1oYEF{ML=`uFQs~25f#wx=oVG%-+ysH*-Dh4b|tbAM5LCF$a~R)hJM%N$9Sy2qDOS9aM+_&8Ym*&C?3puOjye zL1=%(e&y-p?N#!BcYXXnd^TMxgh~N>0A@-yKIdORAE+_Qo;U7rjSH1>@K=M!L^O%XeY>qjCgIoz9@zn;M%m*ufvdsfP`*QVUo13iBg^ zKkP)3iV7&?GP)b8 zEpXPrQzVFJQU~VidxKnn;a)j5kK|3chhgA%Hyx`+X9bP5aHawn&v!!AFATzB?>G z;rG2Cr^;oy4nTcK%>W44baW*xAderRV&iU~akZSx)%c|-b_ zy9A~slPc>2&Ejwi=PC8sVzoD5l0|kwvUIzv@IA-#FTWqoAC4Fe;JVdCJqF>%U!eQS zu)JB^G{UJu3*z3XYkibNhOg+=4|#-*F)-hj8TSo4f?fDgMeJ&Rds=uSr40k3AI%n7 z0kc)gs>%wWbm0rWdfO$f16(cN*``mNU%nELW_+TVVbI-^)Kp2CbpH(g3^r zl+?zWpMUGsi7dzc&o`iFf5N-z`j6mZ+)r1}CJ%`wx0BIlu>Q)~X}Sg@Gooo>?5DRg z-uW226;hg}lkGXdW&Eky=GPlGgH!03h~9hcASp=xex(jVUPyT;9?4n03>t{O<$7<; zR|UZ)<7-TzBD{%(-+e=id(KN9H0Q6%LGJwuZUg{;-tLW2y>^m$058%GVlY=SSTheaKkW~fxZIbR{azrM)3-}&qV8dfN zpolN_Gvf0d;(|}7f&NcZl*w9D=rQN0IH!>v|DI`;{~KoR2y0*PbiE8O3d;4FUGoOb z)O;6u*A|?>t37K9OFt^H&ypzDJ*?`b%3()5Hne+lxQaIy)}E6S#MMC{a)C_K6}Tma zD5|%q0er%n^0-!V?qvSiP7V>N9Q%%)=$YI>lh9Hy`ZNBr=DYl?#K&JG&(UR%$Jkjj z!)B5Fxm^B+6?qE!|7!P7hB~zs_I+7gs_){1XKi!cq+#ZSkb;YmYV5WzJKYXLeObt|o zE8LW)q3Cgcwin~En~AD18<*-uz0J1K=A8NiX`E(lGyAZE*#a$n#N_273s(aLkFx*J#%nKLkZw2G zQEj$c;L|&WOyN%yf-ZQc>J&Y3la+>I58F@3EvxO7z0X6#6Hj0EMisUPqH38L0?t#o zEK~rKP}$|LWd!jr4*F<{Z+ZdwRHQj7*y^auDf3**LIbK!l>6i#BgIuk%j2_9BrNL5;|M)l9Rw;C^|*Z zwFX=gbXsJcyCE~nfCra6HnCJSuQruFGL5XH0dEb;nTnjKYk6iJeI6v@PoM73~S`*eLIY~B%2e(SZ7<{ zOZ}=ZyaQWn1LgA4w}t)kh#h51cmy`8d?zBbx9|&8{k#kIs8a~Z+sNIAsdo5Eon(wcG`)? z#S^vNLrBUt$$RyO6nzVv%%*>H@Ft`d3TzRjE#bbKlCC$pX5_72z9phQ2K0m~({{6L z)KxWbNd#IZ!AF0yv4C#EQym?bKrY7gm^lZO$-I-P-mvfdt!8wWd)^9g%_cOrl08@B z{|CE#Ipb0tC7DOLxan(&46YK+5_LZ91V{| zp~J_MzG^Y9YceO+a*P-4Y;_WR$cu_zME!yMO31aoYrG`XsS1Aj0he;fUe#mhFMxmy z-f;QOe@q)6TBtP4W2exG5Ph|Ixf;Uq^E5f&+jZ#y*H{3Rp113%xc}lSu02-X^}8yQ zL)r@&?0i1E`3TVx6H>VlGtxUcRNJmDlIxqCCvyxQJ@_7xxxvyPP|Nkf7qg|cHG?PT zTdbSYrBC0s?>6~|y6$INQu+^N{&cUA`=Z~zdWNm92}M0(KiH;o98MP`^?MpkidfB+ zbySm6{j0uj$lTwXR%U5vUbu7yweLtyI+SWX7Z1=paY* z`j)k5(WT@SzGgZa&|&|SY2GE)1HjCtinUVi*C)WRn-E9)^Ty13l0x~UX zSrkx%9#Eveq+ybHK|o+vO6krcKl=RJwY8V&uj^~?h>fM5`}-3-H$=miF&3x>54}F79UdK zy&e9|!Bh~lT9J{u6apAnaOXbVv)OmlGspH3y$(87Ip!V#vz;XWYlKmH)Xz73gsajC z(vtv#ute`q?Az%ev@=D4igH#-rg+nQg;lN2D?y&r?;ob6>>xSO&P92x*Rp93*3`F|=9TY>}u)co` zM{{(pAEm`cY`6=xZFU|c^3=n}4i?hTK?FzND03*-Hx~=pRa-dgBNwdQOCD<@^{8)p zY{tG)n+Ywg6n3Ig_ZjieY=kUx!1$#MRy5>EW*_7UbbBk~0!L~Y02%kEfp zfgASkoR2GW*7G^ty)q-LELu+?TW`M~ezyLuK%`geL>fgQ@|87oR9mXD+L_6Osx!C9 zOcgWR9A!!xe%JIa7IwYs6*+SJQycT(hHrzY85Q@W@K4tKhtCMfFF)3Dop=6P<_n}M z$4nrg;(()%suK3G&@{W>HH%Vz?Mk-NYjsPYa26tqtzUY}?{TfP+zD|vC2RsmlL&=7 z?Ty;z8}D^xJ$?t6QJK^w(l?|ej-oyehX0_4JaTjT?-lP5sLAk|nAQSqzPCB+NbAJj{=7ZRAINwHAieneFvXGQ#6jBzV}^D4d8@#|i#wf~#J z7>b-6L^itYsR_7TO~jSM>1sm#eP@ghpy5&e{cslXrotl$vP}()1r?rbc+gW^5dAkw z6q+u=Iqj}b&%+5Lxyham2;?zfE!}J*no_I(;WoGxTA(JBXD<$98om0|tMl0y+F4#W z%YpoUYYhqJ3XN_0-K(fMIPL)TRk2dT_P(~T&~zQpD|5dR0E^_IhMr9P!3k; zPs(;wl|#pCD9Mzh)42xpuRf4N8!&PF;hDhhjsou&b-D;w{%d#-!qVapItGhvZ*)!!>X0 zY|XFswI7l+lYoZch)2L`mB7>?M+bFp4kGkF_0QHB*q zLE>y=I~`Vc$|vY}$-O(A62z?Tp(`BuygebQwiQA<3SV_>ZbSa^NI=2w^b;^Yj!eL* zs&pgVFFv;x-HG5zj{~{?D{d!5@9#yrne6IjLHzkJNShf4QW# zJ1^)y;K^>4h&Pc}?QREkTlf?b0XL@}LG(z9aZWz z_nglW=2aASQ;-Yg8Kif2ccX*mg1y+^g(y?;oyq9P=)aMjzr`}>r$@0_9&h-ZAkP0f zquHbN81GDBtwx!oB=GrKYS9^uiqDI`JQ_Keh|@vua#!=juEKl&HnbP2nbttU-pwNl z^ZzH{&ad1&8vYjcbZT{79P!7ztJrXxguJZuj?bVT4BQ;M?2p?b!2OZ&2{^anv6_hm zHyEp=f!BrOygi)@ zX?Qx%n0w>@1ee))Wq=GWI)d1Hf4h!H=m8s`6MrF%rrwGq9#@TFKmDfcR;oX-S=FB+ z_U#C1xto29Q-%{Ov(w+!;ts;+C+Q!L_s>|H7gRVr*XP11)C^fOCG~(aIiR*YJFHvxT9p;!P|@Bp_CRkEOb1kh~4Mm+jSUw3`fi#4V$CUqS&^av95~ z0`|i8#!egF8Zm{#)$^A3%_B6MSXK3j>xS{8FMY225yQ8P*HzG!oRkwc)b z12K7f5{2pu$8{CwoPTYQd??C7?(6ro9&udPr*5;zlDNKPxqXT45nx2cELzZA3__jF zk;eynl6kRqA$G76~vt^8bRd2D`~AMT}UPEb3+D5U8+vI8z=b8+|wo*(P9I#T3$q) zjrjW;zaI+*evyK%wODxFoYCbzLfzhkqIkYS(_;b0IEb=%{Oe5{T_K47rtoRa2$^$P zfPE;-(t5^O-b+YhPyy053`&ifaU{w_KD_uY9$jfORXaWWG zN;iUb9-O?6=jE+7hMn45oi>t=jgO8*5Y6Vi&%{B;pR0+tU`4yd$C}7Jz!bi1i<+_0 zC|=vYLF9oS{$B%!6!Q?w@s>%EqAri;E4ZnhzHixNg-1#(u6Az^S#6E&cdyZJ1JlOGY*~tjvJsrWx z|8P=uMusOxx~!0=wo5j%2HBgsL2hS!cM0FS@iV4&M~Pw|(a(tjE9{Eg`zPj_&-Az4 z)mlWf5&^RKcT`hP~+A5_1VeQCq3#n*lpRnR89Nlj1RXM{0J;g{-v z-e*#E0uNqCqVVQ2DywlrH{PDzW|=Ua4fD5d5@QBAXeMV*eTJ^8 z{N~E@HQ${cle6NzN3s=iS!qi%xxdLRW~$Sb2y;#EB$AkDTw)mBAA2n>Yo1W2t*N3= z=L++>5-72HMnl8>f!x(EKY!^f1qW_pJ?p+pyhQ3{b^0in&d@|=&}=Eb%d7>f>)OQA z6|om~RQ77==o6)}<7A{b?MX;u|C`nMQIfNF`U3+;ZEr8?*Ld< zrPeB>xFMTk-njZqM|D3%sC~q<&aO}2MaG{mq&3#i*|WF0Mo|d`YOov9UTT)z|B4{+ zl^E?*ugG`U9*?D=d%la57Hdsd{Cl^5LV7gU9uL2;%xFU2PmIRb8b(HV3H-*V$ccr? zA32CpQ*oy6l+4_28;AiESLEhoUilmJge&$9uay-+$Q8KfzIG|aS)06zA|zY4utEfV zvPB@101t*5bdNs}^*)u$@yKTQtZPmWxofs2l6W)+!e`HYq)cN*_rYy%AnJIwI!c<4 z|E$MTGZZ5mfs<0mxCMT1m@|3H4M*!Lsaz~#r;%jScH?mB@0Q(3w(tG4bR6n;m)j>Z zllA#9jIW8z`k`JozB@)ZaP5}8sXcEWnxBv@XPbr`OU}9RK!Ddbl|VQmnp~8?Lbu_y zS~;L!$%Wy-m?GqpIU}9;o5sgn0aLP0Q&-wd23riNSi(N`qbobMir}`TeEcdY8D%owL~g^zNSbM zW&4WP{TLY2nUYoCx}5=f&D*0_WMEv^Nr|-EjKj4{NF*zv90)K(_iSQ%J09(9a933p z*aw#KX4?e|51y7=u(V6$nX3VABDxVm;I;X-9dR1~+j{^%Ia zWiJgv{4-(j4eQ||7>0hxGBpr(kD*1Z%P6+Po z<%bH#6|@`_(_tSj1*ALu|My&*Oe$Si+@=d~p2Vixue!$2bg7&EZpHxg=AdZGjZ&8F zkgrA|v((wxd;VoCVVaCaKnO~H;?=7ndg_EL%D<0b>mswf%yMWkZ_y6viVNFldQ~*Y zut(FccNel|gcGYs(n-oM?bYDE%U59Tr~CWj78efu(!k!Mz|F@LD!tXd{SFanu=YT! zD2>?XPTPVTalC^Gfyp!tIM&yBwT94w6L$XNy+P26DIEEOk#FR@u(dV;=iQ&7ug&`u zbXorS$icmO)j)KJ2^Fv1Dr0o3mXc^R;6oJgy3RfxTTxoP3XxWbFb!jpJU~c&Z;Sx- zp5HTOgewQI8rtFURG!GoeZT86ZTffBxP+^>NHcHU4a+tE7$3=xcL31?-Uw)@=TTnY z{IB{xB#QG-tD`6;UIj0emW{-#0*2$o3FyO%bZg8SVe8ZL50h*2YT1F{TNka%8NvrE zsOz%x6Fcr!cuq}-$_&FUr&28j(RkOom)yqXK3j?4stJyEg&gyP%8GiXw((XlD z(`s!V!6%Y}$Cp*NCiYzv6`jgy_x99N*iDBRh?xDr0TH&bzNS%+MIsz%HCJq(aGURc z{?C$cpf5yX>v)Sex)>L92+WgG_uajNZ-S837SU41kK)7=nomMG=BJMc6T8visNlty zBTF@5dE;2bbe!KtrMO5)e!mj-Vm!5Qx0MP{`mDSW&}*iV&O|==cwN;M^=}7EH}I8n zxX9m&#|;`1)FL2^9gKT06Qz( z8M7yaqNmlR(Z6)>xt~+UdxQ_EP3?#ffh0^xLRJ^f_n@cwq`{UnInY#t+pQ{GOZz_7 z?rQOc)65WGz<+SvtFSE@swTo*hPg;OS(~S%pJBnFHQ=kMBinDgr*9gzqfo7IVh+{$ z$CnmayimR5ZGPzO6Yc7Lm|NU7S})#sX;{UZGD&d$Mi~*M4aw z;LJ1Ngi6Wk6ptE3omhGQ`DyZpbG!7mpbV-19Oz`gC>sCdJ3DIN=F>kZgCy}b zHhio5X?8LGV8k^5I!LkUh#kF*-hfZhN!|yN2+}44$|m!kI<B3(A5ujvF z?3=%W>AnDz#GnRxsV`R@M%08T#nhwErOjpSW)?tVeZ^@%8C4Z5*X-B^$LeFI;2j%{ zcoR?-8@4e3^W`yLj&F0xC!ZMHTkWv_67U$1pX*N==+?NVh)+;q1s(QmsqFZbK0JbMc$9|=n- zKe>S)QNsa6PTqRL0TZr#uV!L{U zA|;FcH;I4aXJf_H_~hzXQvcyvp_{^+Y3ih8#j+TQ5m-UEp&s5`<0B)Byj226HE+Rj zR2ae`OEg{QtiaHqnEwKbVz;|Ce5mPs%?Tk6*lA;wB9wvJP#apy>$`01K(2Td)w_;8 zkYH*r3KhOL>q|HtEF4`!RVKK=Gwh;}HS(t_kQ?8q(?@epZ=0(bU+r6iADc4|m6n=$ zc7V~1A{tN7kdM!C{ZSy$J>YX7nJZqHJez0kP#t$@(&&anpXyB73pGUEB$n&gU)5jV zGOvvoxvV4-B{$5DRN`g32q0)zI6vO9c|oHz`?j``df;&yznj3G5V8Y#%l8g{Hzh{<_5Fj$s14l&KNWHQH#vfHg3bvV6g>=z zSuFl6vpFqa5Gk?sF9d$sq8KTPXQ9>h?$r%#e+LE|X@fy_k;5pyjaOF`)g6^P;*!X*A0}EgKz{#4gWEh>tbGc{WM(Td-QG z7Q-3c@Va=y-XEU;4o&=<6WFO{s-R_hM!Q40jhm7tP0t%F>4or++_CzieWTkG0n4qr zrChYtWL-XMBlfe)8ZU}s@g`5WAI&|WcEQLF?8C^!a-M7_LOGetWvG#M6yXca~IoKRF z(oot}_V5mU2lD7!`Jw0lAEYbe<+jpDEF##L7fC!3X*0*R{vR3a>vyr!V$fh&T8rX^ zqq)1gui`Zq`rLGx#LK$=!RVnXEwIj)xULE6j@fhFt>L2f0kUoCo|CeqF8+Z`@RUWy zEVB|k=0M8_#j;uW*ZM8ke|&VpdSk5ynL;cwE9F}}m9?=fnfY%_CA~BU&gI8S6sg1o39|I96(IG)qPEToC5Bbj>gS>Z-Jsxru%N-(&O-%b;?sHx^>>Jl; zB5qmZe!&+9w3k8w|8p{;FbDIIV7it?!#xF(+%Tag0JO!*H{0Tz`dwjX|M^D4wx#h3 zv!yu{JHP};lAF6C@V&z5f1mzNoabQVYDy0m&N0}&W%Rc@_=0{PFPbkOST1TN!>}oZ zlm87*SKk|KmVRX&>eUU8WQqs@(Vkt*^6V#Ttx2I+q#pwU0_x1i-hj+gznZ^IDJGql z=@qg4TWr^>yTopf@>2vpxYU(jsKZLzepehQKHxWi%*9qBddX;BELZXSdT_SMC;IR8 zJb6?yTBsQCDF4^Cl=c+?ffO09EqJP&bh{3>%WJG80ZR*( zl+lT4;Y`p50F4lP?)%5b+8Ix!bXWKQklvwwi_iV9zbhTqo$3OFXj$C0MD33T{rs+d z4B*S%$l23cUK4e1BbUE*;dQ2u6S-g8L*K5 zDij-$GOxA%Jv!b|IrSMNPrsj_aTVE*|8H^+=y%97*7xf$&E-c%M<4Q@? z@3U3#v`Z)Kr~j#go0$RDz1oX{8UjvxbxyjPG#{IK6pY}OWBkOqP#vbQ1|M{9~-@o~^aB)No$Zhw_d%5TZe) zsA6nO{C$!reLclz$!eGe2;Q@2>q!|I;RS8aZ-g}1-DmENWwKw6J(tVFM1&m!k z=?Tei{xhB8FDrVNY<%bglcqBO5jjK~tq#$_qu8#;*eDm;8~FdYLNy+K7bCGK$`5k% z#fYD0IV(nm5PLc|p0L>rj7ZD2(Au&%9kBpRQq^YKX9GGbf|$^X5S*9JP_YqwyZb%t z2yG)r)!hql5XIUM!VNM+lMQX8a6|;~-zgM#B+i#q{r5Z_DFQgWDE`rGE+dQJ;B5H7 z5zqY6bM8a{YG?zJVHXKsm25Y*R33rey`>gL=E4ZDdyk?i5sgECcMDwXA9 z!G4-B;(#W$Qij*RYDS%|`=kBmp1_6{!_7fh+)li(|MbG)r{ZD1&mY=OvIL0lQ3?te zLx=K6kx}5Uo{9lWPB_xrX*T_hCnS!W7!P|Ei)GSn0ud5IE&gQnfF@v_& zk%A?KxOPf&9E!GdgulFRQlrn|V{!GJ1-c-r=E@_2Y;J!`3-Ix=X5N*LkSN&`d+&B%vV)hcb^ zCd?TwFp0-8i?l1aLDN_z=b*REjDMItG6DE|`EG3j!RT@Cn8Q-(#UK|;+zD>iD*G(j zHg#sHwov*K=m4uF=I+V5o<;%2v`gq*5A@Kftc7ROmK_U3j|w9Hug)QZQ$AFkhaAh41>o-`*cMbTD`43$aTju~|a(_ctYd zLj7HaLVXq|oNM^8zI??s7s~8oM4&7oK;K}wk+RPA(h8%q``@8jtjYrx^j7~^U*5Lw&l>!{MDsP! z10JdbEN;3yTl7a{2JW>0G;p>}U8vNW>LxfWY^v^4H&QGmyzTqH;=Uu@01Ol5(`2+z zvGN|LEA;sLU3N$4v136@iOLL-tyIP(T@K&~I*z+pN-L>2yhV{O!lOB=-W>qNLEuSZ zsUK0i7dqPAsGmn}tiO*97v%mp8Yr*GLjcPS-r$Jqi)cF9c4g??a_n`Jnp2a)u~!hL zS6UTOH{9#o|5I#NYU7pLAYEWJ0O23tG>1FP6>9=g&g8Oqo#EjzlE6UbL$N3ba+V>? zX!CPXxFVpKYo9DzIzbQ&03?tUSH1fak~W zML^QmOSr|Y75YZJGP&cb*wsj=p+nN+DD&S73O`=J_iYwrMDpGLXI-_ZSk(xV^sPmB zkiL!){BMn^ur)?eHutT5NI`rq5fF#DuLIYyaB-!8K3Mul4^`Kf4f#7)v;H2pSC9l4 ziu({$a^;D6Up)^`9MIv^#`6WKEv@fTvE3W~;lv8t-(C>7az<_P5sF9-lQOmeUHSXH zbb9?bxOB_)<8#i~|Dn<@rxv|2khaZ}yPL9fVT~@9Tz*!>TR9Zj;T{IF)c%=kuWzcc zo#WrQw3qe*WRI$b=G=oh&1{5&r{_;UDK}O|TKIi<->~KK-V$WVIeC*{dN6P~WkWRX z%6Kk(M+kmBKH20KYV+G0{0gN<)ng3Sx{T)_9nYXhv}b*_KT!yz;tpsNir)bt>Wg1F zc-qfv1lqn~WT7lq_1QyL`RYMgyB?)k!NhReV@9UC!05)N!BQ~T| zE$=18vojaRKW>xz`{8PD`z^Fo|1XoyWqiLwxl1?ovS>xqXl{XSC7 zjZfj6D9qJJs8QO6-iZ>DL2h0m-Kc73XMW7=gAxtR4~vNz{oy~6Zdin!17kD;De!c) zM0heb1xE&02~Tw46nfL(;XIF0eDo2bnY}6Nt3?aiUQCt6rx{zq2Gk~CR~zii#w0}$ zG~Gy&?Dls0KiOsj+AT!pn)d#yw+7Cpl`>tMMO$p&mjBNz0NId%(}3-UBM%Zn$wo+P zgI~iuUm@ToQ$Fk47%cMK_CokPz$w1Ux9+1W-s+#iSL+M`){?Z5q9u9>GCxy{kcDY| zM{qZkE6;>e`FVlIedr7X`92hmV_RE3=6&nN%S@egAp4zw2ue@w6tBz?`X&9gY^AvmTSShtj=1TPV2 z9FA})t0ugtuOxv)NJ#jbS{aWBPf9#C-#@~O(t=+^1d#+!4QZ&VYIL+ytbR7{541f6 zx*qJyb#>pZ06ng#sDP=ts=F>Ug4%aADzT`_zy%^96YZ<>mv{%H}6dc zv+C02gou-WWyA|OO4e=J~z`W3-5G6 z)q*FS_r_U-XF3IJnx+Q85WiNwr#sokFse0J`!J1AyX(TopD(LY$bC?c**-U)5%zxi z&}U}jD?;HxI%b8?yQjHIPyJ*r_Y84?&xw6QbHT<;SR;sg5YkMKt&67crlwBwi4;ve z=nElq<0j!rad0Qlp<(SgNlX^E{gYN?5=4_=J#xXoTVr&D>g52Hu>0zHnUlV@Xn$D1t7$UOePmXMZl|{@24(-~Z^AMIc;DSkc#YSkaYVuK!7PrgpVw8O;0!^}p9*o<^{Y7U!b}}HBTt}mO*{p?)fe6NCw1ewEo-bgc(JE$ zC^PhEAkF3t5oqUb7wM*cI<|q24sCyNF0;|gW3JQ?f8M+M0URR@dO5#^XkL=hK!*&4 zxvIWu5Czv#I9{_jN5p2R@_fa3L>>@0k?b>US+7`v#w}%6BNcGe#x0lkSs3@ zD_w`ju$|0-WKgY04Zq4fuo%@U?y;^)$RQUaznN3gcJlo?FJTllmMT)1yyNJlXTPV& zzGvQ}V6}bO#Lo8cRnyG(9TNEZ{yPKYZYTyJe#NPD{tQ<$O}Uaf{Tk~A#)jDwUYpYL zG-CK<)AWqm=;%>KXK*pB88#Lvx{rt}j0ZBbM^pR^y6^%0#1%%Uc1uZy?by}<-+A`$)Gk(FVM#M_eXxG>x6z(&XhgP5rdH*pwG~aPLda|_cqPDiQuN~Xz$yt zOkL`8P?Lj$%dE1j^u*?Vy0gNn_L$@ygXl&0frQV^oF;CtDeHIE&`|anticOla@;lj%?ND6sv6kEK@YIcr5dQNRI>&x1}#*m-USV_VQn zhX$(`CI^UcMQ2>nnJo)X$Lej<{ChO_d0AwU%~ouS%xPdq2=ATKa2r;f2gec%fI% zufoVMf8&|}ByjpxC*-$J5HF$Vb(SXH8TZ3W@fnfD2WsL$+&kjd?4 znX6e2AKrBL@sxTT^hYWWIsW}JGuq54pllTRt-Bj~Osv~;n3uxZ&EH)7^#yOS^eoq! zLotI;&tL8~jR^z3bY?8!Rvd3Lq!S?fE$ww(w4T&GJMD`;Ny>)YKT_fa(Q>DDLMsSq zTzCSMDH)D$FnTWjKJ-uc*3crc55|LV=}{E-g}{q>N%(Aq+cU2nCq4{jE>`;F`=X^x z2tEEhUrUQj*$pE3s9=Cl-aPMY()|>hMNI1=y!_67@xH_7nN0{nbnCVMh*L*a=eREDk~!`5bB;!m+0jrL%(! zSuQ4b{S!&@HOvsj&ODMQt`L$owN6}y7xUv`aM8aqIMnXaS)4oy&GdcrbEUp0t0zCY zkSw25)%o_%Ll9v2;?d1nHc@9O_8_ zy%evPy}UgwqEdL5c($y z9q#ZLLJ)XsVyFrKN?8ZKsuC}1nltF; zAnRN=jS=a2y1#nV?++n1AR*!~ShZhS_lD?CaTZVz>p4hBD>^S4hlOOgEi;|IaUPk% zvyK@M2*v0~Kpu$t(QNI=C}dY&(8ywaZxvGNnmM(+K760R#lP3n+B>w-#lQDyrPS>KJ9AxiA579q9>i)*M z<9V$lj2c61pQTV57l_di)`fHo3iWoNl5-ci4_Q~ z-bYo2Rc3l?++Ah8Xf1{QeeezQeSgw+d}bUeZ%EK+fAwICsl3VQ$WL}xHd)%J!wZIo zEJcdejNJuZslUqy{@M6His9h*`i9O$oicwhfqx1WD4l*QAQ00IK4^9D`Kmra_f(>F8; zw{pL5bWnT6i#$nUA{a2C*7(7$IvnmEZ(}438u~|iUxmo|QMaBZrXdDq?dS{QMiOfY z|Elcp`tZdE?wCn5EMyR>Lp!Kx|J>rB1U7DtSG2@7`q9_ndpZZ^kk)1@4C8*%1$&ZD zT^QAdQh6P8I}8tH;k-c8Ui8mwJZ{#?87u8QS1xyNRI~2BOP{!|FLW6Apjd08IyK8h zV8@6&d~a&Ni`{T}t|!d-#wOw6>0N(^my~s}%fZS}wy}r3BF(Yq@lhHpLLDFI<{){* zey45cg<|Xd6A|D;62-npN(TpZNIR0x)5T!VR%HeiBd*!)kGhL|SPh$@L3n(^>dHl2 zWHeh_K}XpJOa??R!T)hFUIFF=Ts^>CkrVc7J05pXrcr~bR)3{jR{i$g8;r?^b_EqH z$|~Hd6ElRJ+Czh{BEs2x;*39mNyYfyz2B6+U3(bbN95OeJUQsoV&5rClgdU#fK+XX3nD!0)hLxP#!n5yu70pKxcdpn+ zajX2Gg*7N^^hWj3PKwaWdFy#xh-{yvo982?F;pZ;9&dD;u@YC7Lb26pp0sd4@DI7z zX`ci{$VcFnuK@W%ds9)C75e3?NzlPxX>~{=ct^1%wVWj^FO$-$y>|f>$ml+M#qsfJ zW}>Aki|>&WdI`y)%-SNe^5r2&Y%cOEvPD_AT1&J4@k~7r71@kUg>u{o#ShrE?*0Lt z(nC+ZZ$;jNq-pCVjtQOz6p7-=N|uyXe)`a2;YS&?fxnbw{Hd{JghCwVchB?0()=z$ zq*S8sX-A&|!7@vl8qCC-5&ye={okEzvOm&r;8FEE3^CZEbWW=5xfLzsvi{FW1rhJ5 zZrsR_{%J@NYjLsWx6dd7e4I?d;8Sg#EYF%dq}>b};p;RLZM0sh=2kr47wZ(w^N$XM zf|&4kvpkq{tLb=|joN6XZB^$u9Uz*v;Q@EdnC0g!a(dG8mdC?ZKVr(3lPfUTK12Or zIKrBvEgwp_z2^I#rR@J8?W^OWTDSfcQHBtP?(POb7`j0OK}6{gIDmA^(47)W=O87b zq)5q7LrFJC2n^i}-SFF-``&Z!`+3hf_nhDTZ^W7X?7f~9-}PNZwkU7q+qjy|#;aP%$opfGhByvF!#+$}?bi5z4%cjBS9K4($2v+t5O z4Ejmf*1e~+rGMK~e3mL?TB+XWHDtBdCY1cAZu%JS^J`i>sX@X9=SwMsvi7tlen0`3 z*XQc1<1nib2UUN}&odE2m11+zd5D1P5w`@kUe8ZX^t;ZtLaYy2~b-$#1S+8wheZeDXo+4st zIHbc?JcKbSQ^?M<*&{}eL~*dC^deOB0S)MdUU=b8+DP4h<|7W z6LIN9%|{y%d{EEgA24}wOixw60&64@w;+;jIZXR@bVDypyRGcJaXuc;$#|_$TERO3 zjnC<^0|k{4)Az!gksF4s}btVtT93m$P-7;6yDWkN0ygjy2q`FL#a=@#dj^en$LG z%=KhNp3+tCzAZFkToco9i95RB98=i!Klg(-W7He;`beYsXQs*2)~)kB6g< zvtGy52X$nvKkK#{v|sA>)@T)N^23vY@~oYr#;Vpr$n2h3+C)3y`EK<`w&WJ{Hp}sn z=9CTy5zUn5N`IT}W0-+_8FN@jIUTH9jPU2XxDp@*GuEUC zh3VEHq~qys<(H-!uEmlSz0V>$`8b5yjANfD>b3exAIvsNeHDZseKZbfoVj*2A2)H( z<@ENOXt6da>bvh~EmSb`;MhmEBpv(SUlb zDxe#MH=cvXNhuPoeENf7Zbk%Je%GXkk?1O{EzK;qI1=*lxpRX&Gt>L5>?>J*zBTia zoH-zveB)7N>3x7&=gqhzg6Rv?0btSehuC%vqkWsq+;-g#&CKPtyYLb^_nU9bTAw4h zlsHU^xn^w51Dph8xAlrBoqnWs$#6y@^hFv8s=ZI^ypn>esjkx4E%kgeU@m{MnrD-B~3=N|EhO4=ztTRyMHzTcc`jciQiKYNz<3m{kH z`|wIf;NX84uP7_D+DD#TP)zkT>c@Iv zj4|)N9{|9>WHMp-5XAV7Wr0c(O(Is3h^GDuftn))4x!_rx;S*3zpN_-XAy6N+$t_T zIWs|~eI3Yk3ywj&f$ErB=-BPxg(Y75WDS(B_aIdsVYjy?zw$eunhjO=S=Ve!cDXiE zMpDk8Ld$^n$&wn=`90t=fWRQZe@McG@R7l?ALubf|iT$M{zYjxLY^_ONC>iNwLS|X;@FYHb_cW6}7=Lzs; z#cUfMLoZo4!w#`cj;BXi!}?;XP#u0;n2o%_i`7?qNXJWc+VvHaj62nnFFk9#k#7*| zoDWxCRT(q1H^o|;SB-X=Ka2u3^-J#9nDk|Mm`om6@js&6vM*0+=o@TK7CDh15fAQ2 zI8#C+(1~dpg3X{-2^BiNsp(r;TNZ6@;7ERIhOMn($BOUve1r|hD@&st5}x!FNYeNo z&0Z7ZK~@4)MY!|b1H!Uf(9ZwGOa9-z!@7+=^kd3>*5*0j z!{gtMMGH;V*q6>#_8q2QUz$%>B2|P6iGLZX?oXM-|0bH`@qy|v-V32Y?@zY1R(B1i zfm{y-!8>k*26N$L@oMwj?^MJWbqJ*~t2K0Yjy7Zre@nt}m8UIkxgtAo#s{lr_{+%n3pYBCr!W zwW=fOytm=9rK8lMqM}Y%H22k!^=(YW=CnLkn&6rBRI4*4KC%EMZ2ZF^SyjVW{(TG$ zC?|!fqdYPVooOHqUGgG84k5Ku$J>)8A?Cd&Q1I1)L7(kKc(cQ4-xGd?f-EqMl~^>Gocog;*33gZ*hJ-~QZ!+;OOWNR@1ckj7Sd2MzYPv7b-PUKghvK`0}-5_-dapIBI;mR=!v zSK{-0`p38JyKdJz5^d-amig+x?5kL)XDH)WeyL1j%kau0-W*r(&CYF`d~-4RDr#wb zmR65K(s%bKGHz#CS8tt3Pl=Fg6KLqp=8M z521s<^$9B}>C>4#ASSF3jeMPKmqLTkmlS*Q9{nDRKN*zMM1i2R*%X#^07WU5wWt zYXDx{gjyDE6zNIfm!pTe87x?D1jQbQc+u*y^kh~(*4J@Mb7LgWc!N+EUCVpxg>U@s zuK&f^RK;oK5m_H^>)iPDL9^p29u26m(OnsMPgXv1#*aJtm1Xf5F-$m@vq;M3@ejL= zl@MXO25V`el4uDu%SHBK@uIYSfsbFg4}tpZ>M|A+to+f{l@j zV&NqM*7469Z~BgZ(j`I~?6FZq`9XD!M?B~_w4_8igbyxpaB$FSu0)UPpbeIECV$yO zKxT)gP6DgSvK<&cS}Zx@v+IgXEj~YqgP}&ANd(2d7TNXwbAR=lK?P(JtnxId&irIB zW}#iLgu;Kjp;zW;%E0L)lV1n)A$W>7F(B_$?(~fDv9S+fD6KyEVU_?zO!2)|0c0u+ zaqV|!Y+{h)0|}lLmr~0kT39nB@G^zGUYFn2`A-|g$9MbSF6WaiD#%+e=6{OBA3Zdr zX=25PyC+qES2ays#P#)Sc^RmKgG2cYu`K<$JWfpIA+Zpbr62+3qn9Cs(!WHr!O1D3 zC+d2k{0_@{;)?$v`A?DKCjAfrTo3uOdli8*8r{QODXHVXw= zdMR~$!SoyytD!-3D2Apz#uSvDE6lG)?lMb6Q$53+nwcT_;942R-d2zqI-Df_lQM~D zZQkYXzwPwD^zz?pUBCU+EWYV0JGF^(Hs`=^%HfZ$2)l*Yap`M>6iL`;c0%`xtR?XfBgfg2kc<#3SGfS`G3eR1ws{?`h z+X3Gydp=q;vc~_m;-BjZj#xlpyjbYZ=IJulA<%D|(*$AgZ#{=&laL0YCN#h^Q&alT zd&VpvzdlV!{NW^ED!Jar&zJ^co8r|ELs_%zjfh|jEjCbXC4K&&ypxVE;5WSItxaFR z;q`^CSeNdr>{kawMoq~iD)j-Zfjqyh^B?ZgEM59IFJ?eOw|~w|jPyzUKljco`W70> zrP0$VMZ(fPMbyoD#QOE?*X`zBNMb4{=pJ@S7^*y}?t?bkeJ~l12J}vW;KzUd^v}g{ z<2l0pO@ZN%RHNUx9x=@h zarg1d&f$7wL_z2_yElAq_uId1@}GbFsP=MwF^11P4%Ym6*y-Q2)C0{j>$sB7avRR) zv6mo=GozbP#*5W5B{nH%+3~;uX=i6AgNJ0yB8ADIab`4Ws(7_5s1SveqN4b2|Hp^@ z#}@+lWnWGv#PHRs@Sl)%^2D?Mk3lyMaFe3;r1f7Z(nQ0ip1}D8_-N>}n0!zNbju__&$d~W|$YK7B{NF7${hn?$wK5Eh z0)Cr_rdike-|nke;XUw1k&OM(H!YJk{a6APJ#6B^$DuJXeQa2)`P9_Z0em|8e~J{=U9GHXadO?BWv_x1bU3X1_N3BNg-UN8h(=44Z(9}AI;*^D0$Hb8oJ9@Mf+R6++Q z|3X81b#--Fhq!&DMv)ChgN-&eoZ_LwJ1s6yV-vHTJ=OBRCg|Vd z+;76YaYV}RtE+_#UQd_<<@^bg_9$|VlitKCV!~U)jjl^r2tv%{KYxVZyXtQX=mj^m zks4Et=~`y;0U*L34;2#=6Uj%_KSwr26kPo%G!^Hsp{3uAkr7SI$p!?=J*kA>>gsZ} zQ9zp&8;+%)rKKefNqq>Z^=^afTb2Lf`UE<==s=~?VD~1jQG$cbzBlfI`-CKdOHaHX z-2E@aa)vLxnTd`ZE>JJsl)Kf}$aGJMYz9D7ShU)|XQ037|{<3b{o@WRfUO*U;+I40mvx4DV`mq&SdcT zFFLm0d9+vfXg)qZxABns%e~k@+_(hz7FSpF;5i+laMFNtJ*J;5a(~Th{?5e#oxwsQ zHTHHo085&+M-2=Q69NLs1&e#$AXW$k}?1PmtcBIKQK6m z-{90Hj3}C@KpdfBUL^Sb`#I7ZOB8Wef{r_YiI_2nNdN##n zuLg7YEc-I}+}20@I~;@OxXQoEla!?1%jq3QDX_M;ff2F2sFsc&LC6-6MiM3m2n6OCG;#}q-#5#@^j9Xd z+OS`>)7=rU)|T>BY6CnZX6k?A(2Hg0JV03zUawOmeLRW$eodW>n&aJ3HFiK0@hN_1 zt4aS`?D|VL`M*^QgoqVcPI-%tgx*sRL>b`V77E=(l92ruA*fjHmdpt->eB-E*hh>M zYThww21G0i@Kv~$lppBeZhO56|N9<(XSe?N3m_o5zfo(zJw8GQv;!9g29gv{kUHeQ z@#;X>jHC0;bQ{Ce{D*1~$IgW#hIgu}evO@*|5faSF}}q{0LMjAczSuYpJDfecjTm(++q zw&j2E6@PFOWl?~!E4(2I@z`Guu^Rpm0)xQ@Mn{R;<~rpd3{GRj!TQ#J@YDZzZQu)E z!2#29kU&RxAmdfL3Ix^+)Sd!r0#PJgka&jwf35zf#qgUc5(O~cQv$`fxw^`~gKS_S zvfuyJoaW}SRH0~74vjvLlewT43Y#K+q%PC%RG8-|~vCRmiraENdH6!y4E95=d;(6-pc}68bn6I5AOi~MVJWe7%&zR$^=pe^cG`PVLiHHnC0T1F&N7bSap+QUl*u6Y1_k-r&fJ`st zG1)-08gNA(z&7900_$Bmp4@<4=@)1~91&gr$Og&+!W1(On&TBSKLmjSoTv6l&EGL) zJ{e$*EZ}fnb3o3V!N5Kd2mXu)L}nHxz4xne-2fUkG^LBoB0yXvRh5+hqJR3ge7~vz z8Ww`pe#UDFu;o?4r(nsm9*JCF`;Tt6|LZFa0DXJxEwX`DIC7Lwvgj~X87Kqt+24_r z?9ElPD`wvSNJ}vlcnXbs+iO7X%C8Ir$H2ST2p~Ahy1Tne;UNK5;x;{myRd^1Q7|Lg&g$yw3Vp_GN+7B{rR9U}-`OFZ8(r4QP`u%sUP=QBfzi64cH_?8 z-TKvm-usmmB<6>R?GoMO(k+!Ynik7+!T2`<6JPd?HV;hfv;o?jt9m1_JIAg!0%HOM zwwfD@3;2MDKt~=ldPpc498hRa?3HSozZ<4r-RQIHk=HJ8Wwsl^bu~$30xH0Q`44w? z0B#t1%ozdzg8{&mB?Gi0`2Xni%kSu`uD}}vM8tv0np{jb2$*02p(Z{Qz&t_X_)-Cc@Vi)`Rf@9ejK%YwyR&e=c>G3IFGYa6OO~6zcO%?xfBnf<^im#}Kb~W_J}mVM z>7ez4YYo&;I}vn@nAJSsOY5UPh&LDA#DxwchTAEv!G^k*Y4BM8+X^cl`w?2L)>3z@gjwRFuByMk15kLA_{ z1O$$nF=!34zs_7=9e4B#4_eMx6=Wj%f!1W=G#d3A@BBxBz7jL)10B`v6Ve7$$Xo2@ z{e=2?;?i)0V^WLBsxZ_6h8-TtID?D{65Qj-JOG0HH>5|u*NkJ9>GOFr_|Em!&h>n) z&jPDWLrx6Wk1Ul4$ z)`QZhyJ4XZYgxt-h)r;2b6yR4bRa{NWska&Oqr zL;~&L-aX)8N)Q9ammAcffulwiJbd$*7+5q703-^nKbo{@;ydjdhc7=wRySVSHL#a7 zBJVqZo|gdhjJ`cBCD?J;>Uz^sO5aT?Q8@K!?B%+4BUT3Q#LEuJ-BvOR-SEO*4x3X}2*h zrEQtasPsq#&}~$D`r!S#jD3PMAv%j^{V4hu6R}`5N}u!t)0@`|U9yDSpNd!y|2T1$ zzE=UP+A46d<=}@sVwZ-V#*B*fyU2BxqH=5k4!8bXTEfY}f;4m;R7fndDJoYq_faUi zm?v!n0sR)Q#Sas;jmXdaI2ov6e-`lXvGVB!ItnsheC|MzNK(GpW!tw@2stgC~9`&ks!1EG}mKTu9) zyZ(B|_tFY(MEQ^xlb^;64#YT|D5YI}n<&7ggQ*{9dTrO@Pa9vKjhCG+r{jUjC(18w zGg9Y@HC}ExgeBK+nrnbzHl!V^ODVRPBTPUZwbqe6uHe_xn8!c=a%?J6v9Q!aH5ZpfiWl&l1zZhDN6i}C6u@7d>w9L0>&Tbvl?l{1NTi<&^1vV+*9|kS)66-1<*({>B8wmJG z){B9LG9KIVHj)6|h@P~EHU{QXVNw@J$HjL_S|w{I3$b{BqqSZ-epMoIo+08t_7Y~{O~B+- zw<*dxaK{rN82K>52)~Tssr?H8F~CKJi|BqG-h&EdfwVSe$W*~b7C{Tci%cKk{j;N( z32siKa?v}*H=Qa{_z<*}x}Ao)Wd&ieBx3=D#t;5yW;s|0CHj4F1r-39##oSd^Z+?` zgeaEa$Ai>w02xDpAEsotu0tHWV7N0{>gy&oSN-#~{tutypXYYne!x&Jg&jp=fNhq~ z(VBL11E42(1zEnHjdEa(S?6x<09+yg!c&|JfLr4<`4pk;tRZYg$6XnfYSBUEqH6B$ z%O!Af(u$*aZ@BQrm!CyE=B+;%as(!MUc}J8Qjj^3cBPmKb3ZwTuSo3DiMP}G91J2q zeJ;W3xuwA5`|Btpl3mNfoxj@#KB2Q29QB$8l^<|@R(kzOm8gl5V`*v9rZoEa0nOMf z;GK^@@7&v;lbRf#J8j1ZD1YV0xBzGi{3Cv^9V-BsKfXTckirEl&$4wlQX6h6q7-hf7Q94;QxHKl zTr^5hFGM-}h`NBz8`^nvaPa)Af=AD4tYcr$i~UDY!>~flg5|KNsYAVEMIMl``%kwP z>(9knCjNISm{pR{1!?f4E*#CpkS7JBO1F+yO<6uY0YJsYX}{lg!J$4J>IAt!wb(F_ zcj@@{K2m~qJc^Epc@AfcYFT9-;Jcv%2+!l(9nVxdJBLS?APB? z`_?ReDaYQz@M<^KPqprzA?|CgOg!{;tM-Z9Sjlf0$?JNooguG0L8S_X4O@*DOT2fo za$b(z6}Z(sPixvK(TqEmGVVS$hW(I4j6U}Xzh5?LE(lLC_Jb+|+Y}IusU(35ck~|5 z`uY8Ml^fk9bHN=zk59&VI0oGs5D;065!(*;c;v^@J2z!p(aXVW8k*1y96CmD=*}5g zs?Y!AzQt$_t`SM_f)9=Q)SZbHsq51w?XbAYNILQS0ytHvo8GDDCHEgjb|B09-r=Cc z&|CZTK;7?b_h04QH!$H2uQlfSV#aQ$urmCw9#5lZZgSVaO&eylG5=T1FtNpB5+UG|$ zOznFWt4hDP<+aNzam?Tcyv!pYLjyv&_tECWpzgzY2f-1p!2*_@Ij1QdAer*JxhsL5ST|?^b-J=Q%eGU3YTUtV1n(jDa9+GL)z6B#egx z_-Y&G)t5QjkDE9+52@Z@Sc|`5ZE-nmygDpBs91g`1AQWRe~WH5zS=>wzf!WYHTonz z>w>B8<08F%b5ws@)M=w}4LN8Z5;QB{=Yy8wKk6jspgW8+>>7>1Q3J;JBiwtx2O zs2T}4WRtmyXG@rb(1w-i9s}xH-9S=nzC zRjA#dlzEnQNY^%f7}c}X7gvqf=Z)oR%(zis5WYjbNJ11P%_JBTo>7@zQZbgImwlUj_#!GHmK76Yd?Vs;&K4*(yBa#v43 z2tEC-BuT((z_%9Wb&I#P*8eTgKYtnR;BB@Td@IZA$R+FCpl0nuI){^5USjr$e$QAw z3~>_KUfpn5{ApG4s5~~LxN4HaSHrBd{^(P%2^wLJ!8%tLiAQhCo_6EesN;UGur?xJ z{DW#<>MC@+gH3ZprS@T3Kf7-i`M6x#%)tlYwg>W4DxQ5JD;ZF%Nslf;fu&Opkeft& z^Rrndb*1`^>D-ZbWQRlki^binq}ktwDHztsRZH4#$OUH7hS{<4Y50$zX4w*tDLNMjr1e0~Wb?-B(AP;?B3DTj3#uLS zB=rGvQN!7~2~aO9_C6G#R)@B0@wKOP@0><3dQ`F82bh3J6OWzfZIk>&t;mHYC$pn4 zD7jM8BY~Y6ek$(yg!}iEhIGJEQ~0kQY)k98>c9tbA#!a{K-s{aWcg zf?z^gW50%*zW2KW3AE%+KerDL?6YU>19mY*Ov# z!DObI$WEolzU#1?70zBP3!AxqRT};J@RjR;?#tBy6ioda1vz0fhA_&KPX?Mhnd`c4 z(Xk^!Yt~EY0Cy@%9u#T9!gvpWBrkuFqoiuMxyVnsT#97HLx#0UgP1312O%;4sL&i( z<($;LvT@;uXpak#+(m-yQQxAR2nU)EU48$!gPvLpKZ!NNQ5J$~y0ef!gx_Lw zA+5+7}Db*ta#pTx5=kdP!=z{(dFh_VRzS)1(G zPUQG@I0`_RV}ztT^&Sq!y#t$bk0Q(`9AAd9rSaEThdxayZ@Hir+BvepM0nt-dq;UO z2AkrDM`TaL=%n&zTASU1U#p|3P*tI>s248%_O?~M0U&ryNWGId{3iEv-V2VM&qrdU z!3#v;E`0Z%3d!$os^d6k3+?QGcIqAO`5|ZeG{)=w?5W29`g4Jyo?0-3amb=am|QRJ zh7#FjolLng;fMRFPBcFfAKnT|#EY4F8FW7>-I4Ey(}Z$cJoTkxdddS$m4Ubz+#l|OL1 zr`26Zy-=gvcse=WAT;I?9TlNfA1)(=%LH;z^lDv8qi$3R3Tf$kp1h)LIgiydsBQ9< zb;PVQZLmf#hg5lm+%|QO&r0GRcGi)wmx1Wa(j5Bg)Z8?|<%2X~K|a-y_xkq**P zKaGkJkgZ)Lj!#WRIlqAF|~KiJC>=3yZ^8mx<(KlAtksdn|jlfAiR{~;cO4gn&LcF|#8jS5um zF(GsMc!{JRbkn=jBUdHhC71}%PqobLopKs`&t_~T3v9yiN&KKz0dJFIge&Uf^UniB zQx2Z_p5(}K469l|8o{-~rs6n;zNbsOVDS}!3GOVS*3G9w+Eo`uD(70Rm%a6RB*Bbv z1%|nXzbJAkQnyJ&@;lv!k@;}J+09fRWmD&F&E*?#5RTx7>${ja-;cMA8ywH6N8UBv z7J1nmcozwb*+e5QJ%ck|xZH8f)2>j>tz$>)_o>KM?N6|AOY0Shj9UQFr7vVeR*9GVw~F8_Q?pQg-co-qfmK*nAkC0a@dm z-Vl^z;gj+~|6%qPL*t&!FH|CHufk*Znomf_1Dv?2ux(OUg)(B{YVA(mha#Aznnq5N z^N%|;X!e~DuHKdA#a=;>jYF^+Jj#w=F=EMF*dC?+0*z1?+{ct%e>@}Rtc+&8F4=`^ z);)qAp~mqI*@6@NKD*+_5q8DM(A;T+kwd2`6jL!47+=Gfk}rn4lMWnoy; z9PxKO|75xMpsit#i30J=lJzzdth1K4>_RUFG9T`U3?Xgb0${{eJEcQZqeqjOmeCjZ z{r74Lkd$$NN@jiNeOxyiP55wVH(UpwbQm)?TYfIxNHvdd!AB&)6MN?xl)}HBJ**~H zOv|&*6dYT&bURoGdUbJHen+{l@$+Jw_CW$!fsmLT=o8}`S)oMKs#T(B+G45CJ03( z?WP-GG}rCtSw4zMc!mRMSfFk9^3HHwYImZF<;RVakAhF}Vgo#=BUK;2Wc(E1Mj~R% z=LOaJ9NN3c#ncxtqZpTET@lYKfZ)HOzHk)0BC6~%Wc0q}k=h&?shlmIOUXmw*2Pz8 zeCuTf;0tAh;M!j*a)W|;bj7}*oqa2 z4T6T<qhS<33a?W^1RpM`H zR4g2?-qxfJEn$zgagi`DzB2{5#0rXJ&jW^x&l)!JbD3cwGR~q?t0MQMAOTFE0@~(r z*0_df#zC$8+3905HE_%TgBu(mxN5pAk@#ww_@?H&iqkq5oeH0=^oyBgWyKdwq4yM0 zl8VwCPsq zinLRJf|Y5DC1?O8tGA8ga!<6rr{@e{PpK4!Pjy{PnD0C7QKW}uFLVdp3Vab9PZrH9 zz*qj9XFk^QdafK8kiDE;;H7yw)Kd%(cpoIKlx+)jT6Pi2^9rMW9gfHBLDof!M>U-u zzJ>Z20VFIGw}YE&=>t^)OTL6l;0YUzdpx4=hq756(cc$>o-YOvno!~uC`+f-G^c(e z#CJE60+0yJJU;qLlJK;u=?}{+pS_>ugpVzWx;H+-Rgpi%B1ZRv@RMEqUM4toiMDS- zT3yAT53g}k9^VgqN;CIyKW@p?sD!aT;nBG+%gi(_l#+*1fHyTDg1K~LiErW3z2cCB z`p4o{x)(*c#e;Q>E^0Ruo|N8h<;n=HLN1gu-SxUsF|LoOam8syayC3hb(dw3_mIxK z)H@4#nrhQ?j<@zBAPMe2M;61pb;^3R4M_h4Eht$uL*S6{nYTy_VE17RAj=Qzc)13w z6&KwzZ}2-cLsy$-T!)_!587W1=)nx$>L3rLMx7QN_5}GT0v-2C(+WV7y9a?^wJ5_^ zCGyiBNdFXm$3+^f$t$27c)=?r--6CBF>}Cgq)4l;s#eGXvYe-g=cr9iwaPl9-)*wI z&O7txTdNH+EW}f%RH!p-U}g7Heck+O1?*@hhaZfmL}^@-Y?kw8YShmnfmKHgf$1a^`lB}OZN`FA zUobRzSGwJQSli3v8itJ^*OY-gfwafrKVl5!xUqBmwHGc!L7ETRxA_F+04jqc%eQtG zI1$Q5S~U|rjh)X-s`HK;Pg;M-(JF7897T*74!1}W$BxSGScUC#u+fG=R6!npy!E_I zd*tB#mr-|FI-Hab`fB(*^ekGSIBLn^>APvI;?x~K=vBKFQ&nQN9WUfAf^>_$82f3v zES-&Ba7uQ$I;-hDSv1r=we4T{$Bha~k#p8Y*dm7sTF8aOj- z$o7^MAo}ZQv=7|=BA*7RVexnJ^{RT0wg zZW`zB^oc%%R{5!(*pjC~cPh%_9f|wLRDGL&t;{Fu7YWoddH5ILwuoKc@Uo9-z#r1? zGl6IyOX6vT#wlHUzqW@p2x_c2_?_!FswXX(d@5cM@ZOKG5561-lO)=(AM38rnn;?p zDSqaMrvQeL?Y&L#GGEq<=VuR24jrNGq?DC3tJ0(8rq;I;0W8z#`|fDqmnAp0oY&jg zU-(@hy|+5dAcy1fUq;lJn#Bokr*KK@D_&<*-O8Pr&u7LHj}VS$`UHgitb4HwYi-V{ zR#yrPEW`Pv@Iu;{6-zLTsza`EzRIs#xcci|EKs~&Dcf*{S(^LC!4gvh*w@@ zD=IN7WMZm;j;Sz7=7EX(X|xEzr4S&6^_6FAOy@ynwK`L zLZF=vpV8SjsvO+KP<3^-aqJ=)EC9TOY6)r9bnjY_0mSQdT(a_fkr8d}e7lZ!y%xd} z(X}s5^U*t@KR%fgzN_WZB|oj4U|0%m9IMZ!gJ;}nx%L8#ZaDc9z1|pPnL>U&=8Hhv zO*-EKv_yK;Ms;?O4`Ks&(}-Ucus#p()yaVe3EZThg%nN^CB|uK(O75k=nH$nnSifK zy)m;Zo@3MW7N?@lyz@W@BT=-9gy%bF3X0Rr6-!+r*p4R73}|$@g=LFX6mwfi@S`f9 zG>+O-xJBSm>{1FrFe96sPN)+-El{{S*Ej=CxzNL(*81%2ECV4n*oHM4%eUc)#@8mB zTl`?==bgcb=aZmL)^4}bZ%`F}Fcp^)d7S9)^&YHI@ydtP856QgCJKQdK37~B7+yi|7NV;Aw4q9Us zuo`2c*ZdM>=!r<)1!MSQqxNnmt@BJ#`sa|mf;9S}{DAauATDlxq%5<}tg(i7O`SYw z_E^az6=tNkxLA=g#wGA$oK~yo_4sazc*FzZ^^*+^0$>M^tqSY+kOm-^@z7Q2$TvTm zzjMe<=p9GDnn$(J=AQUMtFY&n$LG3Z1i=f;nHcR~-o<=*Ur)tyeLw2}K|d=wI0iI} z&dJsX@sY|w!*AiMP&>Asf!Yf3_(YjERdQx(%1`7V=$T(nz1s_H*(J|z*RB{L?lWh_ z)4{dK9|xlJXqI;k>d)3chXFXvqaf?tu``Z2QDwR9@%jd;tW{3a-UFlY#rlrLU1S2r zkNgHL-^|gm{Z8)6^*HN}#Oml!x{PGEo08S(2=ZW99nah3gVBNt?V1hbkVasvCGjq@ z6d>$cfTV(gmov-J6*#2i12N5b;YHTEqZH*AM~Adk4)nNfCqv6fGSa`FEY(1XIC0ADsL|u4C6$_BO=njCvsKZXWaLr?Yl!}m5E>u zfWfg1F1O^?836sBw%U%ks2?V7WJ415CoADtTKceCvLEi?Lg==?OY{v*tlZ8qVvPA* z+92vlXlaU8k=mt5-lOok_K|zpy}++;SvG-wqUgXQ=Zi|;0=4i!)Ozq-Dm;Ej<|B)5 zvG1ab{(j8eKmk$kXp|?mhH$$)5zTugIdBZCHqHEJ@~j3~cqX=3HSi>kzVx1|)Uy{g za4KOAP=8yXM@HosCGp`{q$S+0^o2wIMk}Mt-q${KvPlJt0|Akxy4g#6^JlVH{c(K^ zMsD5n_DA#$GXO?E?}bu70!t=%8{r2!inF5_3XF1%<*r$DImc#uf$^^)m9yst-x>mv zJZ2+#TTuiY4k{R;LbKHjcaeqBJ;MS6XD_r3UmR}SyF)E7b_|$@fqGhHj4-AVhgl(B zcX!LdgKxiD#;NKFnetIsRjLrh!e_2dIhFOW*d#h{rl}LC)1Qs21uTJ3xHUx&b$JHB zLW^h)a4Xg@mC+m~E?9HCzc<@Vb3`Lh>zb^cNW!kbAgG>4VQP@IC%52pFPXlAdoF;A z()ek@_aQi!I5{mB@FlajIXFCX7C7|J()LTzfXy1#X-+zLY7gL&ecV2IOiw~Wa@nuq7^CiO@eVdaxj!*!76ieE;?UU=1zKb9;7$(&%a zW(=s$sTk^3d4C}{8b1Ahq`h@ql-u?{u81-iFd&NbARrAY-Q5Br2m(V0(%s!9ASES@ zARyA+Agv(X%@7XVoxeTad+t5ob3ZrE`Ta95UV`&Hd+oK?ey@5jG|6J++=g9V8iBRj zkLoi+5Hk27?oS@NWn`$uN#+_eV#p|d;lVI&e^Kq!Cq_o2y0SThi>cxB0|*rc;|&X7eQ28qN`>)! zSbnO@jwZWs8@NX3t`w;`z3M5t=9g_}!Ab{_*IeLI!EL~{)jVWO_}nD=F7VA_poGsd z`jHxs9=&S6&bCXcm3}Gbq>mvlR8kiNO#m;p+DRt-TI)!UVqJ$5M!!>GgKAF3JwtJq z!L=i|?ikXg^5K;9gFAuQ5DGVM844)~hJ$^WyrkL1Lt7l~gZX$Wr!LD*I(^TE#+vq6> zDFRu&j@&fo^`=|Qw^78Vx8<^K;M`2gHjbfFI*7i$X^Tf)4C;Z2r_G;qoON-`5Rc@X zOOY~;wTEe9jx&H?n!LF@vm9WrwvPNY0Yq*QFTMWI=?d$h9;{}$4n6+c7)kr#HVr<5g- ziqF8)a!-a+^7Yzf>3(M!jYPivQKXcALnl78z#*=K3;CVoCfh@ZL*o|JyjSHi%yq1_pkOR4App3iyG(OB&mJ&p5F+J~ZI}<%75NV)at{n?<_`yl zo~@9(8Q$-$S!lCM{U{ZKjyRK>ZwxVxTj>k_w0o!hX<*YmA8d@Sws}eKttuO2+f#Y1 zU}s-FTyK?HKYSMK7^!9=0r_SL%K@8RT}odfb|(=^D_fnd+kxa?k3mr~@yJ-f=nVxt ze}fg49$uFG*vna?Cr&qhSlBn+5rcMb+lr37(!HZRf5#ORn)(&E@8@hgoQM!^ZzVeP ze-8hg7)kX6vmrncD(7l@5edU))caE@`;y)l;g0p`-BK9RZ z5Oj#tJynmf-vB*28xDM>ub&k+CGffx^Bs&*Yy^B?jMX9?iTl*nSy;Q-bPc9sra3!n zradKWntXsA^Jrx-%xz8g$%gAgIq3%vH$e8BRHWk6D|I}f34tW;?ON@NPJj;+nK-#=b8k(^U8BVz8H-cM- zYrv?>K(Xxno|6Z==FRu_o^S8SqRTZxjj3gl3yw9qcG;8jajbM*-98kFz1wc2g!I$} zBb#j6f-NB}r)O^r??K6QAuw?FcgjfFz7U+O2V{xuwkq~`^q(S&o9v=GNe~Yj9u;)zQHSX=6f~PX#B9R3 zPJz{S#O>HWsnjX5q0m-IJ0NvewDMD{PLiA9wa8ZqW`nv*MDICP;5{r+MK4y!+NN`i z=qf#`I27v=RtY5sv~|;bv-Oumez}{gpe{IcB)O^YMru{lj&+pD6T&{yJ9=mQ4j0mO z+u!BgpTb?YTc2Pbj2WbGK1v!HtAf?4{)z{+7+1z{I?Kg>Lj(;tu26Vxyf4V67ILJM zUrtUx>rb}44EqvbDJN<0h{{)b8B~bBO<@sod~4A4##Vnow$phhUb1N!662@4%t=S8 zukk6ko6iaOuHCX~#so=26?N-oPt0g|%mqC6vcuvZ<#+J0m zwR{v*nBpFmoTDh=zRjNE$=sAvC2tAjIT5~J@$Wivraj59@jTpm6BWR^ z?PoTa;>eQ0+erA4Q7`ChjvjN_m;`>p0hM0bm>xve{D z;T@&S%q8;F81z(8Z;o}I^Sd(D@bIwkoFoxW-(%24CHSFShjd<-2io^@fg%tkpK{ZnjC7x`A^XL*SEaPUe9LUVx}?keo|1bqt}jp9&9LMOvWoD1Ys{vXVRQ76pS4PaR(U^N z?d5M+tB1kQ{rW$Cc9WFPJb5wk;#`K8kuS)Er}{pz%_35CCp7!6n#r&ViK0{IryOgw z7#OV6V`Ka|Ji{vUBv!&YuGDyEW9^yU=kkmL#2(f-^^Ks_XUOzbm2=l>td_6KqaR@=#J+)*Doz+1(G53%<7|d7gE; zjH-&{6pXs7y3fKx?O46JJe_7wL!VKwXVtTvP8?^%ZoZ#lUVr@4OI&v3W65V&?MHrv zSf=Vd5{VVUm5~Ci*-4r6qm}vf(IVY&(K!RysGBrWJA(hr zKD_rvFktd>t zs5l1(o@Ep4S<p3i z%clgg)DdPq$$SF>ynCL#-)Jsd`{cpYyPNlX>B;KgD{8jMC+D?O&PuSw@%NexThI*} zJtn&@$-NK3c{2Ch0<93olj`RR9?~NZye;oM>I;6An60rid9OWgvuo7vxO21NlK%+j z)jJsc_-NYw-1U4PWFW>)4mUS3*n;iu7}G7*FT%ty^p{1v-7Ccz=`M!c&zH70Ups#s z+5O>m_JX)!%2++qQEn?|U1z1L=sIEpL$Y*@&Lgqv=t3~ZRcniA_aaFKnjibZtvrtPBw=33}y!(xkWFLy-rd9SP2i;m!`Ssr88(sS3 z$mC?K$eSr2Zt9>TIz+B{vK~<!`R$9=ufJ3WseBbYT2{c0lt?13$AosS?Y z#CI$QPgN!*UdBpHmVB)XkeG3R6V}X8jE;1Ec7x-fM2$1kPH=MF5FV37 z3tQipgIt9w=cJGF_*3BbNeojfzvyz^@6_unkEGA9VF!O`li_eWh@Ac?f>A-hkUvPp2y&BW73H_N?uF-E;xkENXT)t})CJ>Ordrt>9y@zUdCW7*PPXqp!+2Bp6*7WZ zX1L&!?j$Pl*AC&&6LrcYq}5F?>wGJ%x2WanrDklw$ZiZB%jIi&z~W4_8p3ymf@wT* zm+xA7Th?V6&c@eZWvEzrY%mZFiB$4@7Ju{2$582vrZKpdtAi-tLeBMLVWSTQhNjs0 zd7s_o!)?FM^)45N@s;bGKpM+wwV*NEr;oMXvTKptDxCMG^am1yY62u~>XA_zHorig zsG=3~JKTBNq^QY6zFvtQWrZDm|&bvB0M` z5`ixDG|-X?9(ixaGaM$j&VBOqV_)>n0e#PK{V_8+FyLe!XI5Ly;>^c{V?%J+0RdEH zrWeL~t0Z<-6Zb0&O~89Hs(!8{|v^PQ(t=B^tytHu=n^ zHm4|5xVOhvKRRilcoLD}QXp!5;gtOhj3coQ1>lX-j-A7!+hk zgu8okEVJeYygFJ!|WB=(is_oF2Tj4>k+B_qRK^lkzkMDC3mm8Ri8`AxPc8T2lU~}m<9u@ ziLc9MueKteh?`CN4?BTAo|l74o6_^*uWQbYnXCB$pEo6blqS1U)`g8?avR$R!OYqP z18h#(on@KB*ipGeJsV^N#5QD3DhBG)JH#(9kWS z=;ZpRh=?ow>nem@7hmf6k?X47l1@0W%cl)CI**XTZyFamAPkhhvL z(yd5KhVT*3(wG(#I>%DyOfvQ2=CYY{i8C*5CS^S%e9w6of7@`Wvj3f-vi34zVs?WT zGV`Jgj4Yyn#Lx_mT%~!QILLoiimSZxVaGZ#q)IeZ8W}7YowD*py~DHj|fg-g&F;ByS&iNL9_LRu4|j!IZAq7(G!*pn_d{%ZRuEMW4P$G}Cb@?aEePUpDz<^R`6iL^?X` zq_hAG)ac!(B1y1~s@9Tpp$xXMPLNMA4CmZQ>DJ1fBgR?bUCdQEjQD&no$m!{#=*?0 zCM>{mB|TMBWidMu3->2R<~X;ICQ6#V8V(l%VC<)7&Rg|(5ZulcAy5dLCeaP%LB zuw!=ZJ*Bb=*5occ!!*Q85w~BSi_(6!&Zp&HtxU;3=p!ubS|`f!#yHFw+M%0C%CuOY zPgy-c^DIzeU*ws1vD>isXJVfoI}j^X0p=k>X}GWahvT4v|rd$=HajMlLsh*obg; zZ^s<%w0`_l>aOL8FF*S#pA6Y#$N6*=|Ep{C;Lv@+`7m!foUvhN;feM(Kk*!JxXRGv)QF;GVZ$)J>7 z_XRvdQT3%hrhBKV@?s8us_U_o={X2Zql<+(hllc{82e{yND4gEOg zTU>{xTqQJDo%ZcX8`)L^5_TRDhMD~bqw{zCLKz~c2=%27QB`D?PlWMGAt{S8h~G#h z(qK=FiMC47vFLdT)}w=p7nvYOsYjL|be6&Q0aYe#KNm>tAGF#-!}$6LR4L<)_uN1y zdGl^?8ogN_x;NW~Zv{O3KY9Zk&EfU!JHa0FgA^ z<;q+^7#SL_uZgx7@3)$RPqw(8t382@86#l44YtDEFPJAdjS@tNacB@H;N#spUZS%9 z7EXQuoOF7UwwwPB4*qim@8!VK`%ONdEy|?9&Vrfi3$gi+U~a`E+_r@v5zlV2p#vP+n2AzcI!0E!X4n;s8tBf@<@8`v^{cbUIveQpYbOd+SSBlERX>V9<_6X}@z`upw|CIG_*qr7T z5T;(E%T|zJealbrrJ-jcVJX@$vESfUOut^-PSC>uB2t>k~c3 zKWjPN{`>Ly2mJTaM{O>P#g#;UbXf0abS=x&q2IUwpuQY*=2$nbLRb~h+1Z%BvtBA&QL&bRjeu&+h!Ol{pIYYVA3chHUDiLn4?PN?>!vi{A>il;`heZx zc>5ND`T|fu6DiL>b|3TsnM{Dbc+a`?nkbcAe?KP}6DSE=8& z%2QAkutYJ_%RTi08yp@9&UvEaC?>G=FxcPhimdk**s9V8aGph46qlh;?R`cy7zA5# zi|o%lrUYdkR8<71vB8!+1^N+kJFyu^LiW8UI>HA7yId}b`?|MflCSUV)4)a(V`DT6 z#CV%XC5`r<*_f_)umF9H^F&@CqHm~;d1{G;0iGxY%nbH}$FMEvbiM{p0-H%p7uyKD z@r7n16~w_GHW{IfTJ!(9F}h zuv*y!c6O8DTwv{bW_R#5o~<&DS6B#iUN7|h6DGk^&<1dx)p8AUBX3`YCXZrx)eN z#`I^Ns4t=o%0>zSaaUuErn8YKqAPQlO95b}B23BK{CXXDJeOy?>wqi7bgkKj7xm4u zL7uzN=^|Z;U#8;1e5_cnFiOP|Nx};;nW;a|ePm~kcmKa%&cEB~doY;7(dz&beQ>*d z7TkFAH=Q2Hlq~^8WrR;SWv`+P7AZO+4Kg|M3nu4^Y))G82|5=U-5Ei@rC+LZ=T9c9d-&Aj$qEZxLUIQ+4M+jga zQb79?I`BsevXAa6gt7xDu4eYbNgE6q%qG1ZEG84LfGy8IcMtr*I7p)Z{U+UkYO1T7 z?4UCh%;Ng=#Iw;uePk$^6ga)NM3o5q{&{2lPD%c^A0H>6?DCB}#Y`I2uTaD|A%ZaAI`c!VqtJ#fG=WVEuC(}KA6O8!SSX3JV*0Cz`B3j zUw_b(t4Q)%-S$vr6&3uqU#V`yLgB-}_zM1d-!#uZbMyXD;*hJ}KPmxvC|=W3cIBQ+du^(IVoAMi>0>58Lr) zGEej4=oLV?-WSK zgyXA%!yn-P*S^|Q5DgPB>vb-W*UH2)DXXg!?LeoC^<*NU@cWRKEcq0EdM{+JX^=0h zc1($l`sN>P^&fWh_d@x-#(LFaz9Z%1-hyhXs2BjcpF-gN2|`F6ughaLQQb)4vdJt1 z8^JLUBq|Ek#L0d0m!I=UR{QK|yZmS_SRFVL*ANasZM}CR4lM(ls35WA5bVcFn*uM^~!P_-(cZ;cZ3}8A#4o)+Sgx&P)2=S>Px?djaVNqW5H}ef;Mt(T5!wy@`yk; zB$bQ;VYSk;Tnv9%KF_q*MvDLt7|v4%85hh(s++M@z)fJ>hH9>J1LavKoIUynymoPLuJPuj_&A{kpEZ$~Agr=XHf_SQe(ytNU4^Bg~T6kEd%TuqFdoF z+qXBU%WQpo=x36HW=?jtlnZ(+&7@fcxXb_tR=z0s_WY}%|4BGflv|z54Wpp`%;FNv zT6q78w*&njhpj_eko5eqOtAX>SK3!CqvF1ToFUG_D|L1CpNZe)Oc81q_JRqF0*ZVl zgUYD;?mdeIQ^Q!RapQITXD*A3_a?!?TnCKSrCJ{6Y)8{ifRFv6gpv;(_WUXuuFC3( z#YA~t7bt1<;@G%J{HTDzF69A_y(x%0OjVaH^FRH~pV+7ny#>70)>54aV7G5G5`d7z zzdLn;cd1fC7XgW(z%WQWD@tI1_}JgA@6R`Az%#DjU+UA9<8Q6)k=^tJapxq)q841I zEOH%pbTI2aK#;SvSNPUqtmiAIyGK70EKDQB?tkau$JwP2Oy~+zBrgKZmj!~p@GmsA zT<7|i=Z7;OW^0t`VgTSGc_qu7Ge{@lcn_X2+?YREo~20c8`vK z>hxe8$7g`>w+qbhK8S3LsIYi%Ip1H@6oIRor|lmDEjCc-W*axC_SP3mVQ9pR)m#{6+&O8PfZb@!me2JlfgK>A@2AvcD zRQs<{7OG_yyghhf38<#ujX5%0p-OolyWa%;+w1%u!Fm#;(WqVh%>Z--UfJZ|FAIUy zCW}>#Ku2N{4BgxzO{=O=HX-cla`A}Th3)dFF|_!3o17?{800kIWF^$uvgCPl3r#lA z^RA!6<}@Evlf!;YB8-&ewsfB-uG96{BX!LtJCBIJd08CxU811@FkUoY+5hlfh6m`< z%Z6qLTUUO=0D_SeUu)#uqJN2PgRP}(@sU~z*)NI0)4O6K^*Os4Ff8g|D7@wS?4=)i>XpO{r+>bEvxx9)%H-5JmAtpy<~1Pkyqw|8_-J< zz6xm)`xxX8s}0)X`cGJy^1UD}NnRi?`OWM9P-JW9>{J#h*1y|j|6O4y>CcEBW!jz< zd4cmm5X-Uv-2TVJL7X5oB8&-g`eX;|6*FqFOd5oBzQA;sffPpquWu(0&_p$91|}Jo zTVTw^$y&HL^Fs_g5XmgP_8(;EDfj{Pj)=rj5CH%C-hZb?36bP~5+W!kHOeyZ5(ppv{^4*chnnsOm0 zV=H7i6HV*mRQ0uZ(7&DD-a*W*HM12q$>ZOf_;3L)W4rtXEn%I1_>^8dIABwgf%ox$ zAKl+?>WluLitH$D3z0}A1SL=a{h&}H2(#tnAo~TF8eZ+s}RFLMx-lV{&#;nqv=G`604_fpMNBj5t{PUB&%furF z5;aS+=OV97SkCFh2aBVVv}0eL0Q%Txu40OVzuPQT_+QFMe zT1%Ck4$Gz%VU-W@4)!J@^N?28L|)rvFF&BvOmNt!5^jnGzkL+E;iDEkq8cC3HljC{X?q zOMqL6-|5NuT+C`-re5cBN5$#NwQiTS4>=P4a){CCx;4PN(!*lGg^t)jm)`!dzC&ZH zDl2r-qQ&ac{!F&qvc}%357S4m6~Y<=s~u%;m|sSYYV`1t zabNPtlf2%OvQFX%hvK7T8PJDGi|vzu=)3L z;7`r*K<1I?y3G*w`!E>X&lKyIR9+TH-uw*=pzbrTr*}V#BcJ6&>fXaKKiPiUb*9-!io-EKum9Srm}L)8rc zs^!O@X&@+BVjSdoK5QK%3Y9do$bbMT#GW?Xuz zW_;3P<`s*LSv9%TJzo#5lN;)$jn{P=FV0Rk?WbA-%)Wi@JLn|yc+(OwqUp40#vlTn ze)Wl~J5l#fC9%CX6CQbex(W{yAK_iA%I zj000@VCY(U(JxJp7h~mbeI?>Hz-*zGPc|)RxNwHu)&djA2&G^2Uu053E&(F(u>mCE zPO=_S94%$hIpm<|<+V&g-ffk|AXu$sc?NHejFh^gl+;y_T6-^8mXAaQURVwdp;@)w zooHdRv^bS4=!j6!d$GW!g`|jxz=Ttu3pr9A6IYDkT}R~O)*mAzPTM2S*LOEB=Dqtn zdn~HDxtU6zJJ-CY2ihtXTbpnVAf2v{Fw-WIFXss6AOf_6!Ze%b@T^R zH?-bFY~616+cA50^wxx4fZzWHUz6EhWH|6M2JiAd)lrimp zhe%(I)NW9rQA>eu=T^mh!(rbO4FBPmpw85v2!+E|E>>Q13!(1=u(!P zTKifr+xM1-Pd1lpcchiHDM{vgl*S@Aa85luE{qrz6)EsuP!BU+{$oA%9Dvs5;*p+mA}Y5)AO6;p?`UQQT;6p-lJ5OH~#RbbksQD-N4b`jT`~O z{cC7eimn6SVJ#Wn58>1?NXKiboG}0H>{0gdQSU8jc!~nMahONuxbDXhdhab7sq)`c z6Kq>NiKeG-)RL`>=Qh-{HKaxu{1YGg@v-fI=4QMS8%=JfUW?-~YIcP(P zq3C>0Dk}!P0F?M6lxQ&kQ@ng#GARhvj57vq5J7$io00cc82`yPFfvixWvdZm9i$|S zH>PSPG84>=F-RR#8Ouj?xP;E)`Y}R?x%x?+7I0jaGh%Z=`nep?>5qbOM8^u&X?11AR9t#O5yY$^jn@ihX{Wxl%(5tQ``rgR#)NYO zG=|_y8350ZOQ#0eK?znx8)X{b$%={ab<>gRvLuJE{Erm&bPF1cR3_b0_*jlf5)S6& zg=)d=Y<9v^?!c^Wy!`|JJ@t(11OR_lE@mA{F5BnW-mG@n3PdJMC8g^%V~@%^Z>-*< zd~~K<#02O1&nE{W z#!6`=t@vuaa?@@q6>)aQufHVc*Kf|SFHaq=`6#(nl@Ayp{Bql8cn>FB@0tkAxT@~< zhQjSKg|6OBcJI!2*?R3l|I%UO0RVf6#&@TDocSDc7#ZbY`Nb%FIy=fCu;Uo73k^S! zcQUQq2{LDS*==usGVSuIqO%T{y8q02?@sxs_pJpx8W1+WeJHB~!rB5!2YE>X?%rL} z=Qf!_=pxvBkC~t3j*k`AY}iQ+bkc`$vhwYG0SydcwFlKx$zNPRTdqbyzGd~yTG_I= zIm@f$x*5%b&P|U|r+Ewc0PKcCuf1yZF^gTsuvrr5y5~VV&YhYq^voJV7hLK7;$iefYV` zO8vg@3c>7n^bx~ERpfe-@v8CWt(JGB_!Bx4XGNFQ?1mKH_zrnXarExp!y4|Y6DE-% zlbLLbCz2^GGxUqb=>Q5wZmo6M&GhokZV%QV8eVM5^kh!oncDw?JT;bKe4WEw_Gy2$ z%xn$jqq8|>WyYf>VakDZ)k(Y`+srAEru9Oak9oiEMSAt`E3Zp{H~00QFo8tv}R)9*58Yhhofi}*Os$V%7O1)zn0vT5Cl6z1;$zq0pc_>Pvu@sTegP~#lFPLcaL^IKe_Ic@)S1;%5^CC1_TV9pu@`q6!u9Qpe+T20yIl_$ z046}A;)}X*#^#8~hY*Lf?*j+pQ*u)|76je7g$$IVynIxJ(Ndf$Ax}kRh#ki_%4BF> zHP!c+*LP#ptX%Il`&U9($JHF{!PeogX&{Xihd+`t9o zHd(s6YTijx_svJGUM?Ca4DY`Hb3Y~ECL+|6Byr|u0> z3pb8LzIgVD^PPmE^tI&*>Itt{__TIH)B_h&I(aS01pd((dgs76;2(M!s`@-y@T(ea zq`}oTXV;cog1T5#7bSVj)|XF(v)D{4Qf>_%*Vw0d;Rk5&^NM(qb?}ybG)PD;xifay zaAq8kwL^5dFmOlg&Ot%R+EexwU)^FXN7c*9s|0#3m*a@+Q<)GFHdkN3iO@;t?7twb zzEW@My~T1kHgHg7Y3OrEAK1M4j8BCs`B3&+VvyOc)ghI@=F-XQ33I*XFkW7g$*9%l zB+;q~Lw@fqN?wX>}K1IY>VbvBLXg$xJNc`gdNANW7< z?fzhCG}Lk6J+EYFO9yq)wc7DNdn(F?)p8n*E(Za1{K}v<-ME(faVurw@LS~Ziykyt z8+vA(b;7Ns0$t;HK{utdjhapGP{O2yoj#fsfTVk4Ug=;acwCJ6=$$=n%kwx{&O$Za zk8NgOjd$k%&Po#7(N|?-pspXMH}_u8cUkuUbU^BGOPpKAE@RYW3Y*T<*X32Od=Zm1 zdBw2$4h{F8*#CeKj!{s`=Nat>kz>GgOSu&Pl zLqtlfJx$&Y&5*Q{a_sx^LF-6<0W{jI4k{jxj!ntvz@foTEdsje?`6QpI!SMTN1$6R z@P$luVkNCJmo@Ja#ili9=C2p^)&(l3 zM`PX8316)e*e?50A51RN_GR-L7K~heDwVLTV4kpEWg98P%)0$;rB7Wm`;hk%*JZYK zD{RN~_!wcZRuYg@+-~mvypWXIl*GwYpl0(pmJn~^IF2NGry?C1+*VKyt zB0AQA9d0#0Ke*fXDko(5#Mi*ik_Y6A%EI{hyV5`23#20B-+ZQ?tv)jP8RJgfL)Jp^ zZLPYU7m)!M!i;jGV+QAT>s^DeyB_6!@MCwY&i%}*-1MZ*Z>C2y%1;Y!H)A?t}^wye!mdR6@AS2l!qxllQF87FZTQD5pZMh-p<&x z?jGLj9PjyEq(2-TEqVps$McbBaHQ8s`Yi8IG>$u+&97`)3rwACwRIG6iYnGha?xp4_ z9@YfG7YwxCTO*n-UG|e!?N@?*L(|1Wip{60uU`uVoJ)}hg!!tp+;%HbUKT!g*d>G8 z1AwE1;=r3tG~AkP%rre$*Rgsph(E8mstOSawd8 z<8%`+yy*ds9Ixyd(0~^asAu0sVDKSP*sOd^-~PvwcJ!>=O*j~u8P0dIly2XINj-|{ zs;9X*hcB5rxLWnK`Fh_zqYWxk4uhA-@;s@u?}$rSy*A?Tqvci;^39V_j(Gl+=pZG*#~!yJK6UE=^;*Q8}?Ai`x>3Z-QBz&Q4)>cgFN9?W3@j z)_7h;(!xdkj|*0FI)RysAtlcv57#g19B5co8@K00RsG%+yT*1O{GdWkoS990ihL;y zi$(=BOj%dGFRjb(xEezO7 z8rEokberHo;!gD8q{VsuZ5Pg-_SNG6Eq6T`vhZUcM9ntGgz)+bv7CvikmKa>r(2PF zVx&!%ySqK*E0iY3L|2 zkufb2)xaC%5kZ)Jwq#<#YFpXs?u48HC{OtH_!0LaReAf>0DQNG=cEN1cG-EwqOYI? z)DY%O^Qg<+SdBL(j3t24xpfYN3W;B>uS`X#WMGWeUi1y7O}LgHW|}T`fPyr|>@exF zKI>ae^!sa!?QSCLqU%;2`xLom>uX`|tu=m-=l8>Dz#IJIr>BRbAM?>iWet7BHDAAk_YL@@Ku1L+dj>L4(3ma47M zp2%sX;~%^G?yU#LQoBQeW}S`zq267eV6&*mroGqHDcC<+i@WWyeE*U2^fJc%tb`2O z>7sJp=}{$ZxesQd!j=I4@68(!V_i`5UCM5@(m;P=)KQgBU^LiAt!`E}bd!+gRkw9G z{%^^WXzJ(P4k;iVI=xYUYCZu*PhKmsFYoW9uiU+zzl==Uny90%as$?)?z^sIqLeL@ zh2IHQrs@&!wD0<^CM2}fE7&y21+KR=V)CCmO5OFNmW8jD7_We|7QLd6lu1d7>yDIV znjd^3o?MCL);HT3$sp?EPmm@MLNo@}Y8QwbYRtB@Pjek2z$}_5ya&qhmmAHmmHr4w4 zU|1W5rYlvB#P>~$8Y)J(jgzK5lF$Cf5XF?fA#KFrfk{CeZhE;4W>rH;O^ORSjUr9| z4ADSaNbx~-_Lsy(3Z@u|VU(YqXRJ1^PUaCmaCaYB0XHDAadftAXS6?_FK8Hhia|o! zsjj1m*-v$JF_YqPBl#IK0M({&r$K&~hPwXN&%Q9%3LB=YoPuPdd7|;DRoniO3UWX@CzjK=3WkCnW*K)VcpgX<-RW-Nezci(noB^Q?MM5 zhCONVF{^HcM&5Y~Es#_MOLY4U;JShoLxbIah!?@;S ztnz6ZUp#Et#e$@4<`d-_lx1VTtl&R>cbDt+811daxUNJhzow?yNbG}zHwLiJbzP+e&PP1&M(M$-Ro2ct)Fq}wn zjv>R#mB3(oBl-=uH@vU}8Pu7e@B5)Z*2Lwa?r^;=fVAtqqFdocMD<2BbM@Og_C<XiV-OhV7E}H%olJ*PKsg$5v)%BikD`5+0nMJx??UNKSF@ zQ#=9P;!R1}8pK8C<&Eb{4YWPF@(ufP-|p4~XJsU7(YbU+Jt%pSOD zn*?0n&q_p$6|mYDJ=6XhM8;vjhPDo?yK^NZ$4_q@JIwTO=loc9*?cW>kjQ5uQ*^k& ze(&HRx%}vfWv1RBV0aMN`9_f`_n8w=8pKL$0)Le^>J6BniB;>c+MdTtvKI6_E4yoTNv!6H7-nTQFz+blGd&7v>fxQ!>*V$N`m$j$2V3utn_c;TCYs8 z)Wl8xc-jJxjeqbwCd8ZhM$gadldXNHyBgibU==45szo<>limSJ|eGTT3R3_lzW9{b*7=Dka?@ zf+8)Vbf`!-NDLS}lzBV@%j~ zU-xyL*BO=K!5>kSf!xLV=S9pFudQa5Kc%bA-6xwFV{lbm&8%;3rcZs;K6Ad%HGc28 z(GjLhvurf&_fm0egGJvSe+T*W!>bVc`1YQ}=9TdM={Eb1@tVdyMTPZ^yBUw{-&66W z!tq7!D|O!4izvz<)v5j6+X}qv!MkH}XST^?4DVuQp!}&(h7vxtg#(Z&rP%vfc0$AAb7j%vp}v#3$0QFa&fyORqRWij+|BD1w$3Y&txrkgy)GHK zVXoep`CYL$jKEzFeDs9qCB5@i^2n{}EEZhg$W+6N zZ}k+Yyc6W`bIbvrEELM82(jsJbyw)!FC!Us!;Hx2Vc*TNTh+ZeA)xm>y)P%OH&$@P zu%N_1Qo0CHlZq@lAfuN%YVI#n#>+mJ=^FO+4NEkz-fW<J&aE14VP7PT`mGe}AOyXA@o&2TC!!zIN^~tT+ciLGWk8zf>r@ZuT5FG>xzU73 z{Z~GxAW^=l#sh1)Di%V+B>((Km8I@%#SfRZ^7hU@VIZkWi-s9tv* zr+-0EX_f&X7`+_)HC59FEPKZ8tE=fPbM+-M8h1_C1`7Yryjp6>lb)Rp6 zEd~o2E1L2>nC`d}Cv@<@rqU$LF2=?=z$xxE(+{`42V-`;$};CaWAj0+8sEEM0`})j z0cqR!)L*2vhwJgY+DRRXHye|~>5Sr%3Bb)b@a1uB%8%_<>G&&eVSKNIfkB_ah+zQNv^x)Pn(@v2(QmZy4iXS2h7^wxcRLP@YA2Ua-o`a;WeO>3 zIYX%La#BFsWUzg690Nb$lKfwG`>8DJv$A&$PD9Ovf)YKzP~>T^n*_#*7UL6W%%#l? z*S_Bdnp0bt^P^;I|5cHPjc{y)wpydQ<-~dcD+Y&5ae3A$blSz2{AR+VDNWR3ZU>Z1 zVRL!dx=UeZWcUH>?BE;y1#GUF?wB(7Y6fZwh&&${{FXPEeSf#O&-Rhs9QCWmk4AWX zrV6rT=Mi983)q(3D7LN2CTOc8@0DBrBQ|A+ia?BjCx$RXV2qVpIvLxie04lad4|}# zL{m~#rsCB6>7VTyHG1xTpSZfPX^Pb>Z~AB)SE3py?Vv%r8!FXyL3)apTMCU3E+(t* zUJ{v}NJE+0WiopY+Gi*9nYu?8R;ZoG=tcifqo!emMXUc+U^%3kV48AJm#2TFQug?R z`5i$b(>78`R%)HR&#(>cw!zcwNY=mreeQ)w=(>6)?>ejLP91F7%g`s|n$TBvc@Y1C z%Y9GJo5KSC+Bai|CGAOb?pxzRN*5ZKm-AjT@acca8liSc#Q3 zxA&$r82qqKM0)`EpW{=!_$1^`LIRkSIYQk*hj`}MDFu^u==uN$oVVr~OScG+^weZd zdqNoBFgXFNRo?^V3#sVARTy9$I_O&Ek)=~{X{d#)UF{d_;)$7wr#k~KVd{?jRZ}kd zEebdm?0^#UHRppxL)7Lo^YiGtR&0G&diUR210B0Zaz@s|v#9EZE5tzyu+J~`YNh|D zEAszI@ptWbjryIfYwW${6~dq_2IVXpxn-RmsImB%M|ujn(EOV4~M$@Mhiwn^7;14RAUy4 z^JUs8>|s`}an+M<3T64y?*(>$aqk6d`wS*%VZW}VI7!s*|Vljd~ zPhx$o;h55K9HrRpl?^=@(Ut$5Ca={dFBt-2i^axgv(=N|i1HiXp!|yGd<(O%=KTkr z6xFT9j+>Er15ZeM5FWpHO=helX;Rkjv44u}1^TMKMJ?Ew3=)1QqW}6tnLB(i^&(@L z)d+*cW#`FXa(S0gXEm)<@ygT_80+^alN70_f#1g5nk2*Bj6nhQ@)qb$`<9QjO}?Qv z5Z)gj<9-_B$00YGy|Fs_9#W`A68`xd3?hVd!nJBYuRXjLUX8CDs@eDkr)&!&H-_6? zSvSQnSlYjolQy4dZuxheL7ebR{r0uX*sAHT0xWDq0Z!Alm}(SLj4pGc?00*Ri}dG4#gl9EV8l;>o*kp) zWxY&a=R`|WFS8Lwc@ZWgZ0QL6zyru&G>?ajR9OGM+V(sMUE(i$PP&Uj%k76nbet%nHY zCWHKV*;WB(u~{E`N^30a$?w59kzZJ8z#^QhV(#?fKd=8#f$4mgBneqn}s1RJ6&;_;H4gB z;;h&|96X(`?lfty6EJK2hIyX*rF;PPHvxg3H>5r_ipA$>d;X6Hv4r(tM8idr3Cq2) zs^}OE$&P)*p9!$lRMSWX5|-3CWSDf+M(R7z3{(LHWsTJx)e5e#qLCZfJ{Rn9&)N7P z_Je72AyRk^a7o(&QJ}M*?Y`v~OF>4U7&b@hQddIh@FK)2r;1e`Sr#+9^Q8MMde^t^&9q(d!ZLM`+`ofDf5`;{11jYH>OPOdBHq-u zBG`RGs9d#i5?jQWb}Kx;O#HIFRBZdSU`!ola49%B7P+ zGUQxmwsA=s&#TfjSD#k@^OOo;#GeL27CI`x!dU|%$rQXUZm#)VV_sEEY2^$Xv{;0R) zz=hXMm_M_B?@%HyibAc!U9zJnHwwxkktFfB3~q`lDjRMmPz}rMOv)9)5Twg{?QBs5 zjf~eeLR^Ng*1*4X5m%`(+U)AEmQ>3QKZj+K8B?aH!ZP=|Ii<%!;;o0WuN@yTbsa=& zGl%SF=(Qz0ha1`idEgJ{Jiqkx|Dj#E(p(HU zYTq8QlG}Hb+2kGWcJU{lvG;y`#GSB~JO=!JQr$k*8ChrIzuqInA_7%ebRv!yR@e!j z#5^o=vxA!Ob(?bfXP7ei8Jp`K|FX{tZOnYKViW$SMXxiJf$}@!4-CDUNX1AL^Q)WN*CO_e9{f#}Fly;iBCl(`YfJEM z9z>W=ajGX#C#4<&86=U#?dX2p4Zy#1*qk56h}aD0HV}IY2UzsPJ(?^gmg@z(H@l0S z4uA_)?V!yRiIKDw+E9D1oV@(5qNeutN0cu@Sx&%wS_K$=vgF11({BJegM*YZd;e9# zE2|j_ALoPlIywO&vhHIxodZ$`#t|$6S6dr1Nkj~NAGeHRgNTh0e>XXTx6)ak>dABhuJ!4 zVC?ay##B0^uwC^S&4Gt*GGZS#FQ}7Gd?oU~P~ALuurcYTF~WXptg5vc(4;fLZ1qhT z%vP_6=G{4VU+HsO0~0X2M*VsQM4$NB1#O@Cy<@gwF1LHv8JpI-wZM-i6e^3}gy;7- za@WdHmorW$Jw29QSE}Vi-kA@+-W(QQ2KgM>C8e<`4)Bq!lvAvR5;Fi9q#UQV*0y|f z`J}DnqCDCPc;S&a$54MNOfvy|+__PObbCEFs>9>QBxuU~67&ve8_yU*nkK zKdgb`wmj6{$r5k+YpvxVCcn!pESxbI~~;pH>r z2^P~lCvj=sZ>{|5u0DSfR%+Kw^hNXev@ZYiX;XSZh?8T5Jto46EXD2D1w9U=l`&pa zE4PA;YSy8@5uDPB4lBe%b>Q={%agz&y>_6rCThSZ@0pd3aK?VlRq`DZ{n6#e0=EdG}EWlxVKs!2>8&pl7`OFt467BanX#H z)3qLCVL?U=5Frnyu9l~5gKg?;0I;nonB)+GFh%6}^3EfipSqfbCVr64T?W<=o``B4h)YIe=t?`^OG%LWYBU~%z|dh{xyVMo}|cyy}IX@kCwyD zJ>I;n*XC+TEK{hJQK)>eV$}uF6M36wd8wULuamQel;gg0=HJ^Y*W0y#m))h*_W?4m zW10Xrxk$tDA9LcG96bZf&_-d{CeTn4!NY3HcWDY8X?utJvZYhV4NgrqifW72d=B{L z)zaEIo_idE#EMA`sh-h*HSaJSg_PSmHQ^}7Nt}K8z%x;>gMNIpK6txy9~lKt=z_c! zwS7*G9<=^lkK5WWasg!!_C~w@JHf=mJ%CX&P6dust>Ty~_#EeZKgpbfcL5D6^4+&r z3Gj~7uLS$^34P1dCd3#!EZ&1A12E*yuQ9aE~FmmKZY5$VJzFnr}N z7I)t9H*|1di|WB-%gohixt|^V9>@R1D^_M3B_n7Y1b%3-*+Xl<6ZidEQLHw(Z_6}x zB3k$J{oe%Dndk0fp0=sGBF9ix zmR^g7euth-`#o{4tKXtAWZ@WfaksSj-KLQz&s;}3UKo{HdoJty!b?Vj+;?Lx#tsE? z0~V=E1y^y&n^VqJ!C%<{t$To!tpNXnG%DzPt!mc(OtvBhmMF`n2r z_chl^9C@&qAOQ?gya}UfM@vb+ZtwMYT)Zxzs!f_C+r{eA+|?sz4E-)IzVO-_ut#j) ze74B2YQI(Q12cxs)+-Er1^G{2|7XZ5!IFwRA(b4QW1IcD%4%d%%Apsn95k4(TRhkH zvyzx1$Tq1Q+>(YJS6oe6E3^RRdS_(q=WKYdR8`{-&iM#gqvgee=V>r#AEmE}q-B`h zk5nniO6ee}7$x?xJ1dO~@y=J=AXP6=-_-80?zmq$fJswxVs7BtDY#Vpz%)mQTc%7~(^q@S!$&IN--;=%aMcYq)nz2jIPbDrq2>xTh z)tyMtd4Lvr*Gwq2^hH4>U@831@?WgXTqKfjBq9raesK`?ac;)muh#49b8a+B%`CY4 zWB?pnKyLzsDZhpXk#9xDuLXDPn0^Hlj|J=04|}->@0?PVULp%RS9m)6g1JgkYf6FP z!BkH4tk>VL=E_6kjDT&R@10#Lk(xxYJN8j}s~&Ohlw)`&vF|UCj~i)Y#)&D9^^v_u z7?Mk%oB&VBsJed&Y!nHujt(CV7w4Q(rsre2(*<Z1R)2{c9?~`hcmBde?;DI;ZDw7A1(TjHP zkLhJ!PoY)?x-6eg)+IhArjcLy>_m;sKF6<-F5A|u)c?rf2)%EUJ-z>iO~c42v>kUr z()L&2Cu4LD@hh_TNRzzJr~|H`ln`}Br8e%7&Ig3df;Q!;5?)4mPj6b&E}&|)(U@BO+3x*TD4zWfb8<5=5-8r9Ha~_iDLdLOSLE|mypCUG zy6H;aV@xi)=P#wem>8)#V>4Cp`y&Y?gZ-5E+u|V!aPHt;6{Y&`--n?L_^sn91obBB& zIsp{r8_DbMKY4kdEJn!<22vjQt~M)rjlDkqtMm7$fvvgc&Md(vy& zS=OZ>C`dzY7kQkFrR)?6thu)2jrKoX%@kPhVa(H^P?hJIfw$Y z29!M|j{qlAlA?Xy3;qZo3JozU zmZiRuXmSJ+lTt4x{wzCXnxGB13dILN=%mhGR!L@;KLYc5#Q`pzTC&0iKKPMxX*`sw zF%72bD0SWdb^ZBkmIE`lONmA@(L27WN_iz$x*D&P{s@BR8ID}7P;U>nPiZ(zGQ&;C z8wOt!3}#Z=>3TqzKx+wc<;xMdCVzCnR=h#V>+`))F2R&j=j86~*-t3W{35$)nlI(FT0HzoH`zoW6Lq!I%(h!K83Q~fp0-1Pr(`1n5lByKzi+yR;y74P}c`#$Q{D~5G| ziACKX;+QDwW%VBJ8zjjMoD{ryJk|~}o-k*=tT$5#u--~|WccLJD7&;Feyd&!^uAN<}eVA}|lufY$&yN`ZhF~Z~}(MZ^=|Aqi-9=(o? z`K`nGIfu#Lu225Q3y2KebSj>21 z(O_Blmdi_W9|X!UiO0P>Us4w{w`orK4Mo~lRRHd_;C=fCDANM4Oo+QEj@NnXZ$X{w zxT|oS%eQ5Ffh2)H8Au1Wdp%oj2X8bl?DDX8)A~wj!I*U(2*5h^KyNvAyx|oa;zYV> z1uU2QHH-ex-%NO9OVq94ma>wJV~-BKTVYx=neHDmH^z3C|F<(MyvTW8j#hB4p2< zvu^_TZGrelJ;+sfQ;q{S$=VP7C?**@5MHkAh${OLeGFuC?`krYtd~x$F4#O@x&73m zP{{;~(=Qu$#D{KVgNn|M=)zX=%_9_7dz%66j%U5Xc-eVqFFwX?s)Xo26yZx(lv!Tn z_1<3QmWL5cb@A2OjcUKnQ2|yfUVaJzPHu;m$@j23vAW!e;P3`MOG^-buEi*Uo)!vS zI^}Zq4_Xu?m}jEX`B(kt%5niiO@Tf7XqDq^#DvnWJg5KH%`XbKI=H;A61%fK>pQ0#(h0DMmb_8Hya1=2(8X-oOTkjA zVC87Olb~!<=38BkHl1}y7w?=8FZ=28`j|YZ)}Yf*zq70+w!B(J4`4z7;Hk)rl9jY| zPwG%ReTy^6*zLr-4*SR-aa>60j2-UR6Bh!TUE}FrwaJjq1L}m>j#1c zYOLE~u`R?BI_96sV$`@6&8B1#yZqPHTfc!FId~b*zYmwR;dK7F2Us=S?A!u2_7+(a zQH$$xiv-%2cV*9}T>DzKetGJ>y2R&SQ}Fej)3WKsJ%uU-@IL_*gZ9o+oa>c>snU9q zY6gTj-L@M4{q|2fcS^i%F`}{~8Jl9KE>F&P7EA~y4ohCDQUA(f#1zKS9zJPCn_^F2 zXe4(H`oXUbdBHel@Jo8cS*)eQ%`n)<>4(!_bwX{{SCLNHqh9Dqh%UJqGChWFR4?ov zEQA*Y_Gy&PSiU!D z@|*Sxsn~~iwr25){@WU!`>x$a;+DFjVGfU;l%Q4z0s7;yR-N{l+2=?2S2u|ZM)U>V zzUhZs*t0|2j_)Gm_jvsOxR#2-*@+uPvc|yNkj^B)BOigeHefuaB@cV{RmzpA;UJ>{ z(wFFWc5J`bBV_3mcC&Fg%!rA?oR1l51p|%BkojQ98X%5y(oJkeuEkT@&VsG#isF1{ zCQ$V{c+99mk91^v*{TRu5ncx>Ib+mDb=EdwkjGI%MBN9@of9Ak%?2#2Km2|$dUhjL zd;qSRQyLmr_LN4yS#Qk5!;Dp$y zwoU@ZqW7hHg$+L^`vYGM2G+)ZwePOCE)J2^$C?XWo8;1J{in=qM+4y0r1?9aP9DZU zx0?LzeEJbu{5Xi?DLI-rKK!;D?#J%Cz4j3OI_IzViVh}zZ3h1iqY~RdS`T+9*Qs^h z=I;PQw;6+&2ReA$!}_jmVyq~=%&fQo%r;~Is=S;G8pi8tnrYG!+u{XTzG7X@{TE)p zbGqlRKUBW1Aj2XJm{LU8^401~4!lh@-1m|7MmqnTxK2}GcQ$i5QhK+2Tp^EHv(F-t zpRoR9x9ckZ%*`>e7`s!8NlY@82>xyLD6{9>WkZMR#tI^!kxy_r*GD2S8VLF5Kg!^s(X3}yk%&_ITl;%f!y5O6e<&PbwArf zw?}vQrd{4GqLddmL+q5rD}E~-EVI= zij$UhT%kzWaYnWt8)|zJR?)9T{MbIcN5~b`N#P~8-|af%TC!{n?^bDGXfur3vY-rd z^$YZvZA0vwOi}&u2Nha0!RbCWkRs{&p#{9m%vH z+IGmn1B)o>^B+ibgwMcQUM*(x*2Fs@KZE#yZQWTfByVk>eBsxaxCSBKK6XOK;MxU7 z>xHpE(b;BJyX+L#se+U+!c=4OI{V(h{VfU2!7LtiyY#G(&GHRh?#+S_mXm`i)xo#k zm1muo5BAq*lek&bYHu70yj}GUVOW#x;q4JUI_pHQP}KicPv9iP)NVgPS8No!$hZWw zy>myIX~OKE^_&`M(-ozq;hHu+(8zn1p_C9^Ryx2Wr3x`JN*}vsK@)VomwvvV?oXPI zP#Harj?zm`xEdO3Tf*p(f?p08$BXbozJ-~zlecewZL(YZEapzUf~$?2Og}%d#DXso zd(Mtvi>y4Y_hDr@r+?sWf?2})9x(h}!=_@oPv5n&MM*ETD7lkFUCtPDMLMcp-}WT> z#9P{a&jIXR6H6;MtR7ss$MWx^=lOS&K<;LwmAp9o&bRjg7WKZTH@zO_ICei4=ah%F zefRtKsr_$>-j87A>8i%xg>zssA6`BL8nS6pxyW*~>eltaUHP2|WF?p{{>(sa|sb8-xx9vwk`dQl}JEQN|FmJk4ew`E6 ziWD-brx*h*!ot~xjgjp}VU@d&vp99o;_+Rw@p0z!Bc=1#!u47Uvp_0~E&^j(Na#86 z6z8F+!8P?fBrIM&Lp~wD<(%RRWb-{2OJwx0wq~I$)#R!gRd7`>U5eqau{|Ra+6BkD zRt3LuU=ZdzNMb7Yem6qGxJgQU^i_Zphl3n*fwdLhiqaKFCfo@4yha^%EYqz=A` zu{PDipB_KgG|%U8Oc4URDux`#biE|k0I7N>uGnr{A)l#303U6kHKxpq#ybvMy8P;~ zbyyx!)3P3&bN|}y2B^J|NZ;fW@B{v}&vrHs~S?!&)#lDx?h_eY!6`=2IJD(P)v)VnRgJ#sOX=?8_ zN;{$NIGkd7QZu^!MWUp8WzGh>AaA$TqC#-*+z$}g+EYKMvdNe9vn3^mMxr)O{2;+R z!<5;P7y6@Flv-m8_i)&()Dj9p#Y$K<>C#nGZ!#>16qe=h+In`gF+2`Z+Xkz9a}JAc zgQbogmt3>1uq!^+>JvP|4c=8x6fJp4PM~}xu?L#Cj z!Jgiq4$q87QBgYrLFmJ;Jw>*vCJoa-FH^aO3G?oH>65Nl1op<4|9x0JxpHvVh;_z- zJZLDy{K>r-9$g^68D{uiAE_h^qBCA8PX6aCGk$!m17)5m?D;0ZcCZ0G2yz2%g0*j( zK603L<}Vw7V~ApUqB-hmrns*kDUwfDey6!2<9;DibmCg2BZ-; zfKiRiFA*e0HeY!6KoUrqVlWLuq2tEVYYB~3AUOwG&aP|@@a z!fEqDMDkhS@pwmW`J+$@wv+dt;&e?W=7sZR#sPqo7Te~PQ)SZUTJk|?#-6G1c=xhK z&-Tqox)ig}KNKNlc9QbqVxx)R1ge7*_=@eOqvJa#w2=B-=#4&)w%LaHfRAEmDJG~i z=BO;ebV-LnRM^oJ=G?P{pZ29)A;xJSp|l}bo3fnj^PxhQRjtZIo}Gs9BfB%l=7$~r zQ=K`cK5L^AhXmNA{Gq04liXGbi(v3Io84)%^?sWHQ7U)UOY>UP^T72`H5&Uu7hl(7 z&@vn4I{325=+w{;PyM+C9o7L7(pQmoQ=71(>_N?8^ z0e>Mje+u_MKd!Ex`L@{*QZ=)QTawIgDTof(PMGx^;;o-$E&PgIHm=GZrG49Qt!jG0 zJM9)$=A_G&fnkuRu#Tij9kF@^8@L=#$UcJG*%6d@D}=CaNg1SKVErvf(`~ z=gA{2))kMZ4nK(Px^EJFk?`%vxKX13%pC$aRXKm!iSJU2abTCD#(SqNHN_TkkZrXa zrPJV|ROy0G+a-

zYDCNUrIWa{5++?Y7jF?4)k(s?^*?4^fcb-{;@x&GliZEhJ} zB1e;a%bujyL&TSTQzlXGAb#$#?@02p+NxlIi%JV_)3&fu+~A zfL0m)e<^9N@sK*74!HOwR-zyW4t;Kj^C(8h2H<3?>G% zFrXAYt=d)<3V?dfclvDJoYDUg&CSLM6StAqj9Z7mJ#-zgCzf!BTV3epZhBFvY_-G% z;61cr;(Kf!vdCeFo%ZmsOoL>blATY3m@nS~@)GfPd%`^ibh7p`JaQ2|tk3!1$JT-g z^oSoO&}(_2oP`-WB1SF(P8=4R!z!ipnShSwtnN-59Jihyb6Od2!>yGTcx}0Q0GbwV zx?;-Dkf`y3*6#t{W8A(8K&KqKc&o|{cU9AbzRg>O3tkH8eShGUrYg{^ARc4n$w%kf zT5<<-qenr!k7z^v0U>HdGW=?)?IRc5b_+j)>f9I0+C zE0k6f&C1(XN)se^v|r|MO2Nf3RvuT2Hr?Yr0*L2v}^wQb!p%e{|{!2L-mw8BsE{S-9Q0b@^+tjdb zHpjf)19s6q;@DEH!rwxCG5R2xzLviVBVP!2j@d_uGN3g8X}8J_oli;!cRX1PM1RX~ zEq|Ev6ZJW{xCdXVAaGf5hY>M7S~p`W7tZY>#QnxJS_P_aXE|G&*CO39T-5Q^?^&KvYuy_Dm{*Z?D2>CnD zxy|^EAbI%1FY=J5KVLu%G^SH&wHQS`^IE@?(}ZVnS2OTC9^0i%0Q+BzDdmJ{m!5Es ztgKcQ*pG0?S@BK*GoK|>;gZh+RCmb;4&U8BY)8xm5ZAbk>T@~%_1EQmKnq~eeAR2Y zy+CUM&-DUY_Z5@-SmptZquo&EDfsa5b`x35BZN2BJ=v~QxwPjdzZWHg1C@lKfBpLqrtE{&jA^6f^Kd-gJU1hro_g zUc4jxTI%LvDih7kXfswABmY=FEb4dfd6K%3Aqr_fw2Djyc}w%dP9+u(%XSE&U%qpy z-THmYI-BSo=y>Wu9`IC28`Fj}n7R%D9lBaU$5Bqgs!I`T zkFw#SDkp5JH@xJW#iH72wR6J44O8`2Zb`?_`gXPp zD(Es7eDQDzkA~wG>dQWrdf`fEVHiG%ZVhLB;>NHe4++N|OH0FldL|DS4h7R<6RF^>e;`%v|zpmTZ zSF@`??l9P0sVKrRhI=Cm^es+!M&nia<7oH85=@+J86>bFZ#?I|_lP+sFq$0OHG#RpIWcGv%oVa~ zFY^zC`3F5GmEJQ?GN*e@dN1F?25%VU<4^XoKDF{ry;fpcIYho!K<;snT$nQ{m)3(O}wMrir<*s=WC3jggBUp1pK zSO4}xV4IVoIJ}wk^M)NzYu?)Nv@(jJHO*k{Z&j7tc{E3r9b(oLLZ*2=q;c;#)l5?N zQFQOYbE<${al{UE0@4ys8AO|zY4+dAe#`$c;<|2V)g6NQrOVLncczSV5^OChFTO^4Ej4Se6JS933J+@LVNvL@a&JWGmLUVJB+YqQ*To`oo?|6={hO*S9Y zCgh%!;20h*dyT2SX-BGcWIL^=_VbgE;*6RjqD1*GU{CPLugNvM@(~x+JmwkPPiQ{C zSD#hkw_mRWYDog|kh+p>s~8OY5foFmS_9Q+#!ZAEc808=m?(VynKo_YWWHWNJ|cHiPgu|s)vmIFYxBa?$!Wr!>SuWE`K-Osj=eRrqIP7$@-v<~ z4s=zkiLM8x*$;Ad4ZCRiQ`7EoEFK+1Z-h;GlOHQ$K<nE|1><&MdMU3VDOj;rdDR#m{?O z9{oj?&+&HU_^mn`XM6{nVFhbTZ{C3(Xt}s~_uPT`)@~ksCCc|H7jsJt&7`ZZ)9k_h zOi+82EoCNWY&J*-wLzT7WKHtM@X#dqOc3znm1Hz1^{T#bnp!#EC4lry=3V6>tlOFT zJf0oPO0Cq)=%q{2H$M~%e_YBuJYV9Jy1%^}&Aep&(USqQlF`;y?zCxW_E}^KkY$J& z`Cz62+W}S|{@2x~lIM=i-MremFH(z|*_o^OWz=+)60?{1^C*z{ghgU2E5XEtL|Evt zemikaSk)ax^Epo8pv%plb=8G%S)L>)gMGP@*E;$fj)V8C=cPH-c9-vR(k2bi{v?Z< zpLPXA+e!uBcMEc7J7k#4v9_;<#?Gi)9dfZ6yg**Eu zb^ZH@NNFV45Bb!yW8Pe&2idEy7OL-Ru5cIpe)6X*(WxQm3Osh!8-q|5r|Q%e<xx2u)>)RP1+dC(aih#-rdI?-O{`!7KJtcJ@s5y-@@7hWzAJd+2G=fAee79 z?hNO7`wri7i1frDr)w%5q=}a&X6Q+yGCPoIamf{8=QK#v7B{CA^q{b6x)je4ODj9I znj7HMIodCCsD4ny7%rv2wBwa|ZGH)hC6gGuz4thslMp4V0#W8yB0n1)-gjBPPrR|Gc${z&f#cOtQ`xyVM%IwFFZE`$=zGniDcYvUW*E z?^4>lcW*oNhh+<9ya;Zdbm=(Gmd}+;4(pR&$%SctbG76|M2QhSxSq+Pw~}wqLC7^9 z7kj+@tW9p;QcnKC6m3zP+cWQ8vfAQ;E-M*=`JW;il~t2of#t7&#da2Y#o(Zn*3?IU zB6hp!YhTc7Gx!@4)4SUN52-@5ht9TOUT8X?~=Z0LEhw@J~QCXWE}&9ddx z0gWr=yOVL{zg=_aV|ps9;W-uhSqm2lT;9n5nc}P0kpf4?x#u>4@+%MSM?{(JD-oyC ze;ld#@8L$0=PJ#j4v~)7#%zoa7xd)&sFXLT2=F7q6217*?f|D+&7gTY3~!Gbfyt&! zR%Y{i?G+4RI+P${eXo}MV1A3%T`itD~P)}f|;SQ{>6z}anJGsb`&h}z`w#49d zZV^Cf`mI8FaEd#v)o(vDo?o)8`0hWAuFar9mqcjI9pVe$h;%hm2P3%UcT$up$I{}v za9*9!JkPG|TUqK`W5wxmRRvU1&%Yl!okxr8x&aBn4Cre2k5W9K>KN9kcK26Wo=W6FhD@v^rd(WC95GLvYSW8d_=jrk)6N&&s{OA{ zbxBYd3*tA>mh@%m zhiPIv?jEh@<;4d^f&qTIX2YVfc#(X_K+!>qs!i}%0_~g-f zY+3E5^U$%eOT#i9!zp``02gy0k5Iy0PNx zjoLOhcdD{yh*8v(L4K(l1*RV7S0inEPjZ*dtrIyVqkMlo_VC+{WpG>aRl&hW-N+nR!&zLa+vh&?YhUh)3v*bW*AClJb z6&oRH=6K-=P!4#1G(7j7CG}V?tdH4Sayvcs+eK-ie%|Rr^KG0qd%rT3)TN~@eR5^V z+|~Z>6Z{3X@mit+MxMw9n_aq*&(5eKHA>SZCwowibXs}lgp*=Hh~u?e>@TRc98%L@Oc^fX4{gF~y8Wy!nS7wkX%A`h6EVMCRFC zIFm(B|3w$>M5ea;_&M_=v98JbH=hKHkuXSbhFIQjfjO8y&=frc)2e6(Q)^j^}u zIW@o3@t8*NPc+s9g}QuEe@--*4SR$$6{M`<(dSF-<=8W9!MvLIMsPs&HQQN*w|7b z*PzJ`YjifAO)F$0YDBuqmSfB75B`MA#O%;x>eKf&1>4-V1dBJSo-<<$<*yp2r##Av zy-gK_tR@Vzgi8(0rvkLd(_(ueygEaI|5H=^YI3a!E%9hShsm^QUlzpx-IHJED~bx? zDA^IoM_e=pzS|9IlAiig-%EUixK56j_V^iQa%tD5yLjWM$PfCKlY16A77X-Tcg!O( zd&TF-Q*JJu^~AlG`}IbNbiY^c{XNnxn6EUa8-{MbXFO-Ewa@R{XP z{_kC^LFRqm=kDviE_=tI5wfVQf*N#eQoX+Rp~dEL`o#IR{xrwRenQd7S$L&ndVF}1 z@#dqZX(P+*Pd>K~!>-eNpCov$Lt;Xc0vJXtZ&xTQKyQQxjhE zH9D^H)~TBn z+W}024+w~7J+s}aL0=I~V7RUlQhKLt)hpDtm}&GL9WGK|pv^R@-Hx1eV9px!Pi`j* z+PtF?_bBn)C>?%>!wb*~n=y|bINRnunLyFmPdc~WT&mxE#x@7F2I^IAaA=Qmz@y)d z+8642uU|m~ulXs!df+o@BF-OZfL8GufH3YfkFhUkRt8P0BsoY-fkDhDD!Rk6dPLTKL+dEIY|EmHx{klLH-gK~twpDp7W| zKdmk$KuY{n0)9R1j>YR=vs2Wzxv0e+QJ=3Z7fG(vd!Y4mS}>Uh+RX``SIY%KuUllr z8!Q%k7qLLfC)R3!&hT3FAu(b&n6pqQiD6=M4{#~D0L=Ax-e-GP{>_$i`d@ zSaX8V_o&fHyV?MR?c*Z+g8l`#fqh+!b{Z2dGRG=QpqTAd1?5&>#2uK1qrj@2@cw(7 zym#A+U1l}fds^4-9Y-DjX@l)(^;)aF?ih=GD1#$-LJlquNDX<#Jh#Lrex$tkqP>S7 zp?%z^advZc7B21>TTt?x{aY2)UndLd_nEQx%lG%6vCSVCktZ6Y2_4Q600d?;wZ=}Ws?@6tvlOMDF?h0gCt6p&MF2;RP9EQ!5o;M?NAMza{qDJ(Vjt7`1`9=24K;$JC`h3d8l-<>BeBw6&MB zWHq*N`3~K}Hg_gp9g<7f4sneasM=yAZfP#nHnI2~E|WNn5A^U5ef6eKb=^vF7uJYm z@JdxH>lVw(6aG>Gm1w&s;b(Dm?`1*V{)?xMf?iislh9SwGi73v;V-A%LcSZh@8%8K z(w9zZZE9azPkNc#*CTIeItFJp*U4w7p@N^AXOc}c_DD>(l#Cs?m`ph>xZwQgdLwMF zlD(1t`OI2uC}l$#l=YR>M{h3Q8@FHc`D@xEg>#R{PXRywIa5>BlRuubA1hNYn8wxw zN`e~6kg{(6oytj1H!tApCmLt{ZnDT7zLKu_gXvI>;eXY`@Ri1Ap!EKgQHdz2-P$ zRa?;mp%s8kcCr?r)C`Z#!TzfVVuljA4d{)<5VPl}hlgpO(+cqGH#w!@=hw498EXcv zyhpxv4gm`V{W#Hay|Goj?mSrLJy{U-QgNu!u%1-$@u$ws?;W;hr1KS{QrkA%+C)bd z91qqDTs!ioTq|%;xT!6<_n}jio6Y$g;4$0-Ju^<0ds^z)U91qJ!)nedG;@@j%ARh; zPkR-p1VtzgD(|&|?92PFCN$3Sc=FGz1Lef-0F_F(0s~pZANf1DU#S6N>!umy0i*`< zKc|4;T)?pQz4eN8{I|);bqkaXlJ54!9sy92$=ij*cDq=?-MM!Rurx(c{r`BS55`Cp zz@2PBz$>j=UClWk_V$=hP5^+P8rNFCB?lTp)YIx0`wPcw zk-=+FZEn&=IHE)L&LV|kMXgXw@HUKn%$funbiubKYpcbc=X6a_d2Ys@b}GaTdd4w$ z@x=1F8s4gMEH$J1Sa*YWe(I*L>{OlQ%zpHHEhj?BQ!m4+dt(Zs*z-2ShMVxA&O}B> zF7BK5fGE{kbPRULEDhhC57cD(3rWPJL603lZIInF$*%Q>9bgf$KalcHBbNZ7;oA=n zwb`-U(6S~rY50vWuHna)#h()B<8V;NFaS0D-Eep5|I7zGy1ioh!=7Ex37B}pD0?>S z1+-HD`CVJuWbJg^DJhi6SvLRz-Xg=cJP#0=Jn!k6&eMMjy}8wkX**{ZsCHEI*D&$c z^~$)PmM~)5OJ8yvm>l0JcKvl2T7BrKUKJ(ztCKtCH1}$1L%q298=7xFnCeh=VV;|i z;fmAH?8q7cjG)b=2WNqKl3MW@@VQ`;=6P4mV~mN>*V{eO(|fVAM&@6{NsuBa^Vaf+O*+jjdNDzJ%OWmxM`Ia+L0o&U7@BuR*01nG330-btc!MLwXjL0(Wd+^us_!H^! z*M;8$)%1q}oGFx*4p09G`{{m|XXVF>IXJn)xAMCZtyR2!pD7nL3n7)nV`soU-}5m! z@3&LnX0yM}jLp>h0+R{@N{^}it!YUh!UKl87oX9@k?dZ8USxk9{Qgtj`?X+)FI%VN z(I0>6&xYSWUZj)!F6!A7^7SeH?2O7VJCi+yT23ujGY;OO@vz&(`nYKCrx4gWo4=$d-86 zQmuqV;`d>z{Cp>grR%KX7NlqCVYe2y{XSq7*aXA&H9%%(*q!;?4=Le-fj5N%kRNkc z?#-}Il);$+3x2!)POC&s)9@=x1-8Ta4hQR_ZDk-HB;L*AWtE28vW|i0{s*-1pIr1- z;tt;F9jk0x+59ttjxl4Nql?<#ag$)onMz^D10+@#43tfPr%jBxv>{Gc2|6`sAvH$- z?NAc7Dj+M*N}>Y9RwY_}E}(%)N>GPe)Fm+tHPSO~x_>;LKi=YB=MMbD?=y==hm`HW zR17ieU-xkZ@?~oPTjB3~zh7WtG6}YRP$&CqOCAU7y4?%EA7&fG3s6;U0!b?8fUEc} zm@U$zEC)c+JtceOe}iXPeg-l?6p$3>r1Ay_rSL%-q@y%AhH+&7^jrS%Lu);3uLo3) zV&Wcq)?g1=kktj|(ph9)} zNdcT}(As#pW7csO=#HgT1Hths02+JJj1go@V)&J{D{nKNCk)0K3 zl1j08rCa%z4|2x^-u)d&$NzcI5EbSj2>|42wXB5Y^Id=lW8$_?aS|nFx!(ndL}zn6 zs=GL`1<8*c?{!~*f_n-8XS9Ys6hL*DcQuzoGvyXGlZG}neEI?~huk!Jd<2L!CPANT zk?lJ}odSGvC@9#8HB-a)QCcT(8HSJt=cYFA7;5rdSr$Bi1C#3G`PZlDf%>I~N5S+y z%i?iv9+cRB-gqwxS5QW$KU{-o+W6<|%|vu+B8wV^`&<3G43lmdjxlHc=p7cJ_oM3x z{X>HsSJ|GxYZMql*}aBxbw}AsLQUnKhf>lKy(~5Kvl)lZnL$K};+X`4Q%XJ6o_8pN zS%DM~>8xz5%A=pJumf8*nsm}9B!$D%?T`TQz#GGQ8+aX)gXWgsmzkStj*y2wk z{4;6!I~N>GuNZ0s^h*7mbQ0pWyML%1a$(;LeC0mt&~zRS+$}yGY{XZ$L2gBruh1j3 zg#Wvo|F**X11B|HgjI*$}slcOMp#wm}&6K*Df$LJe$l^p{SpyTrpcY z1p1%055}4M$s#~3Rgn1;0`U*`^xxg?FmdVdvxIvZ`G1uiNX#86?8%g^2ar9J#lcML$TAhNh(93#N1 z9AwMlI81%#uAH(3FOVj(g^LB^i1+g8lYi@05)&@@Z)0+kE95#2ZX08F(U3^?i87!v zP6t*?@w??QcY{?`^DpzIKNF|_=0cFlPt0^<{<;b4VrVturD60ln=0TDs|ngBCm zgeP9aDad~3M%LQ@Z|Ctpf2%hfD03$TZv!Q(a*y^@4Jit{07`N3c z9?+NguZQ`6^`C0@FA<_-gYcYzgxqsLhF7{al$S&i06L3uv$-JYndt0VM8Pu56s(fW-&)=7nDm*SC@DGSKs{q{V=FF zp|8~A`M%?Wz3TnV$?>oTOt@;TdcHDS8(7REEka6d4gMOmj)(i-dt}PSKsXsxpWmls zMW((J1r*D1MY2pG0Xp^WOZDif`-I`VVp}@LMo#){IdvI!oPKjpF^-088Mr;p)Z|wiM!u{GBb%G2N7Tjs|Ms2y@!>HVtfncj(eyJ%`<)lg%vk~@t;rE=2b#KV^W(bzcB;6i z(EM1{mw)RfLZo(y8fcE@+oC4{#^NdPkTnombh++u{?qeS*ly?CVgjJdr4>uJFoW!^ z3}o?B3_bb3Whj5%Zerx6*)5<6REhEZAitdk2$D~SkW>=CBzI{{j>axsLDZ-DZ^ahy z$EZ~=WgOC9Y+n;L{{bBaQ49u}HC4}@X|Xz32HG1(CNGE@_)>*{<15-t0YqE;_f@ZoF?o`aZ05bkl2PYnM&9{j{S0dvjSY5U|M7qPcmFU(xpXB+C+PcaVj!lN7<_}LB0WjKD${yiT?0+l)wx9PvN#aIK@+6?g`p~>g*+<;q^i4djs#z@)!-~0DpL2ltdz2+Fb zz`l1rh$onCfkWN#B4~AE#Bq6v0#u->3;^TwSpC&Cyu(vVn9iO5eCyU%v7es}^4yhu zz>dGqnqFk+h>7y7>(T&<@75707=wV3-&BFfeN2n zOdw0F4ica0P7`vUUH6^K^RnTZAA$>UjW>*L7#x~ zy^tlqCa`0FZ)K)OLQ->i?EU7i`d_D#;S(_9aF9TJY1HSk3D zGO_|NSnQXS9XtoEjrvmnr`b5YzECFL+)pJr{XD2rfj{SSHwU>}3#)aF5Lmq}hh^>QXKRBKwt?wkdF-z~;fZ~4lPAn)57S}0IPUR1 zc}cM6e2tK9-S^a@k78>u;bYRDeZ0T?-v2M3u%^Un31$O}D4@+=Fj^sIwkx!$Oxa?e zLyY*f;pn^TU#`3bWn2OjT?Q*Q8$z&vIY4Lp?G!L=X>R#p&AJUg9e&SzM>Qh-=DNAY zOR#ma3G}919D$zmv)9^SVYeJGf>x;sjo#XabBo>H1N!bZ#8)nVe-H7CCJD=Z4wywQ z6T)U50Ky_(ky3rkjckH868$(=MKWmHjC-u*>EE2TEAE;AnpFeOe6w!~PdEk82v~+w z6ttKmsPciv&|&SCH?KsD9kUh&kv9pZnu+V+Ts8nHt0l~m&mZCg!9yuEiDmjM-#W0wVj5Pc#n55*z$~B<>>H7)@|!>`UH? z0rYN-)4d6!&3o9pn3J9zUHD}J!3a>TM}B5YvMrLQZv{YtM7hAgT3o;><46hHUvBll-tBu?f5kLG-;O!eWE=S}x0 z?&|d-`L)jN8ihOooAo9V^*xKb-1vhzt$@MoC)0hL=*#3F65X(|G}%}SsP2-bJgS``Y-N& ziSRjKABXmL>{|%L)-{G>?qG#iZGouUQ%&GK3dk|Q7GWt(>7r;FD?pI|DG4R|E+K;<;mOtpZlF?*p2W>4t2+i`C6NGRWg~J8QrBr=8z!-W-vX-`dV}@M=j(V z^h2h50zUICGoQ0Lde0sc)CC}WYx0y^JOUnwp6*%nK39I!n_Vy+SHBsfR*kzEy{+qB zJx2|c-0El~yx=aPO-o>^tyWg7vjPDS!8MRVZDG_+wC=YPAs$t(*Z;bRtYRz!k7fEP z92JP(^dDDc5&@9y2?Q?5^`OGb7!shbkeg9n*Jz!jQkQ$WapS-S>w5}x3*B7N{mcHB zoA4J#c&gWDJA6bOCbJ;O{KdaT=o~ znd?6AtuywZ>$&e}rG{0ihb@Q`Za5lVWxI(hDfc?@T4 zlE4R^nA-y!WVI~!AK~se`?6H*vF(QsN zG~^UP@_?P)k{cjP0p_?n#bY%)ngS+I7W5GL!3#Zot_CpWr=j^%SS?bW%;&zUl z$G1lC=gQpr4Rgw!Nf6P7IKh_lG%Km1uAhGu?~(jQ@NAR?+Ams&+TWeBxXmlX{EcdB z2@nss(%5~I&iV8(s-NODoBle`Ds*THA<9E$ZLlxsimE{k?Ni>rIQLlZm>vC6nx+?Z z`t@%2fyNMLZ7T?&f&K5~kFSFjyw(FZx>Y@xk^m~KOvtX)XFGu2{7%A`UhgMG^^Yg@ z@~kV~2|~&HcEN+w-!1_dvjO#);~Nn*LWGN|3bUNI3b_H5!V}M6!Yin?#kvZ416`fF z?ket|A2cs3@?j-}I(uCSf645H3iKiMCJaBsZgdeiwCEPdE~QsXDFR@I^3^Z_XRgh( zMla9{AyeyqEb;d|n*g-p*TpFbAS#J6JWHWT6U2|V*kur9R}2d)oLwBXq?{o_4bZu-Zayw1lTCd{_3x`#qE~*)5)z9 z&+nYnm&@VPjb>I{bxk+uOkPtV4X=(+7{XDe-=FP3Bc0M}=Bejp895giX?fA_J;W8` zU+WNI1&Zee<{Mc{BEvCj{K0h^lyZ{rFT9q(yhEfgjO%iC5fE%%d&~C_WZSSti4raR zhN5veWB3?g+Ih-eBn~!OCdl>eP*J;t5AQ@1$l125wLC)UN#@`9?F-A!M;b<_-dYdm4l^#H#oJxok2Ly8jD7V`mH;=$}ZZcch z=ahyUA`7u|P9JI#`WABwTd2!cnr8+rEC($@O0)H$wv3t{071O|%_tuTskoUTS=>wN?&uaoBhRddQ0+5y@j z`H;5N#7r7q>ZV1@yYTu&MY5H+MET&0ydDMe^Fd9UL9`uYaCekF2C3IUfe!L_Vjb0? z=d5A1hen@32TTVm2WtnvN0e#0+1~wtQr-$(dJd+B4_Jr$HwRjRNz4-gVc84EPrtzV z-wlQ;G9UHyCj#mY$xvJ`9mayCy`M)28io2a+?YE{^*m2(CGX|4xohzN2D0ht%(RYA z7OZng56KHE7pcbw|6bc*>A{Qaf~YLDNxGWEq!Qsc>3%ZwqUw8q4Y+An;&I&{o(qOjej^t_gO&*)0nT zZoOCIf!4KZdifqc)I`H#YK7-$4KW{B2fLbRQ^`moOE9>NRG*4=xPYFT9N@b32WapL z;v9t>-xtF+#qn@jFg)E~qqw@imU%>?$TIBc<~Kng=Z6;*%p|{Q|GV8JB^D(;1{M}? z^V(%dkAYOFI|6JUqIF#aHpx&UQ9gUjyaxhU)Abkoyuoi0yzrVElgkG+RgMSHw=m*j zx{rNA8v<-$d%d#mr%EI%6V@Lib`FZ)vO?G#iQ<@`uP(31F?75Vw&3X6HV#^jXv4`6 zE(SZB-58APlq)}>qcvuu#8<(NJ{*%ZZ`~Z18~x;$z+iI#G?6MX%dnzyUNO}g@j%_% z2SDuZu?ECXf`N!cZP`;W6j2Xq9K~Y<;sL!sd|`=6Z=(QVN16RSi7S!i&x%1U*MmZX zwFEyUYQ{N$FBu3M!;O}w{&E=^$^ck|-8c(6VpDTtBRW-f7?MZ)ggXWRN%pi}>B`r; z^p)_!=f_P~ewp$n!(3tI8B#Dcs1Ig^OpWjU4OajaWc$F*qm-OsEp}gFio<5MCwz&X zH(sl!FfEinq~B(SKN1~Cki!Wb*A3`Fj|7OEvhSK)Fn+>iS?j1flYCA6G`s9Rl7A?kerFt zrOEod;RW{fnF2LXFTHpFoRWHjjIPk#!Mc8Vt#>P9@(z{+s$+wbFEmI3dw3}|*I?vs zmBTxfv&zI<6;*~sN?~!%Dii+NJfCr+EVYVJaMpo&- z%~>izQ@ZzP?)jq^?6N~kAI~&i^zVEg+?6_4@D5-+F#^TwY{#*Ezj|fkavIw1vF6Z< z*g(P3=m)$*yjJVI}iE~t%IO+Gjs zJqiEzbV2wmeBzYwV)>5r!YS9<9SZ;V!&2w?`=xjW4Z+F}c%o}ps|5nE-eFc|~{PksymO-kXMoJ0`-!C`J zjFN639c%Zs(jan$c%6yM335#982RLL=c}qz5H*3T`b0VW8dNmS5?}+=U6?vZ`jbEW zmeAGf7TC|h$P7$a#G(8?Tra5J*_E&WCdG1ZED_3pm_F~c z%h4y=pe~*Pb`TlvWCQ9)G*U4v9Z;to`ZG+0hhBk*$uyenm;~R9U6+AlQQ-Am>q){5 z8wqXz6g5PiNejmcZ(jXOygDoOT<-YJT;-g5ZdO7_A(1;sg)jQU7&b1p-`LBS-LFhL@XlkCa;xJ zE#>h0g=C7L+uG1>QAo!2R3sxQe)HJNNw+u(CC2umqK(TwyM$O|CVZPoRitL71a{xv zYw6uCNFyp+fxlZEo0m@{BA4c8QplaC!M7Q!k3i3|yOcS+^9k9DE-iyCSYIyZ405u-x45o>|u>Jz2A zNWL<<*ftG8RjT`^_)5p~oG?{~FN4-MmXq{+W9zu1?`BuuO9XVMWg(%$F$FR$=2AIk z?!2$c4`q5JQmbs%8ei~qj+@SIZl4Sd8yigw1);9z=~uUJ$?eqiI-=cNqb+BZ@ZKNL z-@lB0G{oP|drq39v;5L$H_C$}6)(l@rnaqQ;

Llt^xOUU6g^^aFSxDyrX`4d^9 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%0Ad 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%0Dx~YX~`oL zCrd3ur79wW3YTpo!Fvy29PhLGp&5e$$q8r83UT|bsslm@Zodfg%X4*mscsW~l)d10 zMvP`eh8;P%lS2N3*cF)DYS0X}4faFvSB2+hV^;f*@4yvn{h)-eqFcQ10_9-rM6A>2 z!{^5L484m+*ITqkDvaxy7+o+di)Je<=WSKi8H!YGMNLH3(>|zp@!}KK(N5HU_#BUH zWqAy`DT+PCqW%|{&tsQAF9No9?domYn5C*|MmK2TIbh%V8o@nv9z&j~8zAr2^@mK- zqYvqYdFCqFK7e;M3JD^Uh?c&#RA-tXgJ!m9k|;VG-7IeHXO(~#e;9#+#f_)bN-E#4 zQNDP3_*qrjyI6a#AKXcB(ha~Z4mv2&|!83>unpU)NWR?>Maoop3% zlf}4Cv&Nx%7TR*AmxM!otfi@sluhdACWu3Mm;_`i`B#DKTm`*C#736u)gjGpC<;bi zfx)`{qsB%7T~p5`jIcU;@D$X?yy4`wB2o8_HqLDMp1Wda8L?;UL~)MK*7_2_DP^dw z;^yDwbWOAuj3Ztv{uS%(A!iO&$_(f2$7(4|pwb26%2AQ{d7!KkSsu^hm} zOG)#h0b1o_bPhT92LQ6EWLTATuXUQTKq_k;Vb(uvdYb$63dDOR%cFHBaQ7~BrDH-7 z=Wu?~f+ULAWq+^k|1QtoPwnj7vSEM2B~m>gA7{WCzt& z{a%m7@ahk?Keg#AEX>a4YCWsn{_NhRQgyZ-5r@&?LE5b*rGnR!PV;ZlQmDEPDxFno zie&SXUU|7sFX?*wTlHSkT!Vzgv^hmfOhg@;1&mdwo|1LztX2W)0S``M^LBL z`W`Y_5~8@dPzbzzA~KC}k6Yx4oW$6Rcw?fYH2S8tC*b)n|*P` zXKOj*M#d`u{8c4BJFy7a)IEn&yi_RWY0fiYENCEC&LW5W0EQF7gDw<_Q*wS0>O{`bsJd>3;^zfH>gd;2E8RxPRwBG6c(X zzxnp;!Ht4C1FodP&s9yRG2QU8K}qu0c2p0Tm9HH9WM)t^6qR&a47n}~cB zb4m=F@0=YAMNPz6Dh1=W&tHQ!L2xedpiVZ4Fir2jv5UCvCD_ecK+IkZiGDhSf0qQ< zfmb%93+~}I$qLmYgi9#Ym!r+856;M{8@SYVIoG7bDi`ze^Np7iN*pI-jTS#Vy*EZX zc>VHx2%2%w=xzvMeF)>BTex8BJ@}k)8ux*IGH;RV`>lo+n(z)^;2q9}MH3NL{TR#3 zqe+wxXb66G%elRZW8o633UVlY3kdZ|uREGlQp&pD*o3qBm^1S~gQ0j~u;=TC)&g*! zAj^sDb6?UfU;ONzh1os5ao80j$>HH@cv4$Dd{(`Y5On5oOCYGT>eT1tsLrq53-M}D@ zux~@;h+}D%Dvk?VL#+PkgVWz`7Y=-b;a{G|IxZ0r{;~fxrT~81Fmk2`O3kTepg}*&H$ZV-FQxi)>^Mwh2Zj3!19^`62=a z0&|OIN%SK8gw})O&(NEkW=eP|R;)7x!KZ9e^4ooU*rroM06z_WrBFgQGqVseHzU=q zg}^%D2;2hq@O4=j`uzxD@BU*rg}^JiP9}hQOCBI4aWvnBH6xJ-$;#Q`@ixv3ZlntF_<4VUgh6S)Pe6M~-D7%uMm7l}E zDq)?FC7DI8+VJC+1amN#058xddZmrhQ^Him@dGo8x*?!_<_K zvdPE7QE^OdU6P+Uk3c7!aNqAjp&fwj-19(cDz#iE5Nb2mU-}g#*Xl zWlTaia3uaY+F8{lC4zkbaaZ_mdxnzKLkVO9MPEhiiqK1^1Am(^f;E#ta4-tOzy80* z!C;nTh<%Uf#YTy|rcp(JGS+fSvIMz;~;BeTl(UsvQ&%X(AID$U*y`aH;oKrZ=^wQcfVcg97 zH!;I)adcaS7dI2kqKN&LXT|F4>O!(oDdY&~z6a&8E1ok(@E<>=h<{8m^1rgk5y2+O z#t^=|hxjK|!q6Yv184B#KhGc>|L0pNz4+tnPNuNF4tgX-#f%WV8!z(hu>YJwitFAk~z_k9HaH+J@GI@Q$vmnmKrf zpgU7mR)$@4O9#91_Th2y;Bh66`}%r%g&T_oU~CH3XFj}IKCmd5?}|ZDEb?7^Ls+vv zFJci5`{vRut)uwO&3p~kQv4bhH;Qm5Zoz6ElUMS`|9SrhX!8f}QI`%7tl_7F$eA(3 zuE51#1rSwLdO9n0BOi}@8JhoCEpkoDqB>9A!LGbpeW!QR^XLzaNB zjRA8Tic?9lpUXLj6-_{roFKT}Ux0t9kKNl8iNHzbJw zVw#zVY^vJ|K_~MJ7_Nd>Pn7L{xHCz-ZyWmHl;o+$3BEzHv%Qc9_HqN_S~bY9M-X7b z9(cRtIv4o~$sNK*JSED`S zL~s^QhM(%u4--?vmVp1_3>^rb#jJmjXBx02 zvy%WZ1Ja>)T)bF)Nxz}skDMhFi&>r zn}%fY^|{}zQJgjVC?uZurmIP9T5Q1IOLzeZ@8!PultX{k95ESIT;T7KW0L0yw%Hm< zObUOW;3C*!7P!Sl*?bBKD6#_F;$mlxhY_p|J!t7xLP8Eu<8A@L%DD`M30+-XJxR=g zP8*ir@iv9Gez^hNZK%OQoPFfG4)`%8(WMCj5omt@r}{;vdU4QAXhq-t*s+1J>mpW{^h-hV zqyozO)MP5hUb-Ip?hf#mhLC#kI8K0Ob6JE+GP&AS1jqjCV(MlFxdVxi8e#uhAo)GZ zy@H^C!u_cXMc8htj){azIolGsTn|0@Ot>+)(b<>lyG?}d_$S@6NikizM>kywZm&2P zO{&Hiwm>>sT7wskcGG3(9jNo8j zuShA7N<<{f7=1V2<9Q)e?7R!#x;UqkbeY8)y1PWI0>Or~!u{LT(3Uy~P=-}RA+_03Q-MUL>!_P;Zkuu`so`xr^tyUyN!V>LkCq_ut5=lL_9no! z;|1Cm*y+_sCBox6(@?Cz2}*+{ZGUV8n7dasS;8aGJ7)JHO&gg>UR~~|u(n0KK?&}tUL(;+shjgL% ztJ0sx;AdpXhSuVKe00bkfs_i2tGc1Uw0l35wJOns~vJdK~u{^6-71xf@TblE7>Lq zZON>C5C(#jI9vu_!K6??+)E|FcXHm-5%|coUR~^}Jdx{AmhqZEc>h6S_W8>!#@%I+ zY~R$9#NH%Z4^c@X^b!HCx+lhdSqg$E{> zQ~(KygQR}27qHMqpsDP_qYPUUx!x7L>_uncD zgeydbnTGhs#w?KB7(%Kw$nX~lk|P8A*YMn&z|=sCz}dJmPdP`xS$@XtxhCXBgfkKr zk$%R?%Niu@F)vP~2+dTHgf|!J>&mw#3)?)7;-ycR^hAuhX3bgGk!;!H<|ma<4x{f( zUi{uwc_zTmfBPzHqbX};qB`H3GIOlsn!Lu(u$ZR6<~i2Dc`?`#yL0*tf(C9dpSPf( zSe*E{-@ai;Gv&2k0tQ5s%9A8XuX1t7m#97tJCSc1@fx`r5_A}ci(C~OBH7p@nmK}l zX=!Qgf%W!Kj3yt5HzSi^A!gaml0;ej0R2`^x*F+5-}PkEWZfuS1 zj@mn>utcB>?_DhAh<^P8G;Awb{aQrzgFlc;q>FubEtcW79~5-gh?qiDYD2=7?@w$% z#Z>V%W!q{*4rMas8`sAp&!sIvogkGWaAp#$ksMwD7eorQ(b+7j%T0uN}1 zc5Pbdlh5&-)4b%eGMW{%EM|eJqtsVaQ4?1dkIf-80J!1$A3=NLyDI&J6-4dZTmSm- zMF9;`g74rBEBvkMIUU~Gb#(!Tdc2ynQVQ1C|2IqOvWCwi)BVzVsiv6q9Y_`?5gl$H z5t~U3WF56gf6TiKgqUTT2m1bAL*;fhnr{(%-dkv5lePH#)nPUJJgsMiHbKHG^3iD1 z;bD^(w#8%<2fof93%PbWwYc}Vu6%^)^8C_6Z;F;>iZ6mm)g*5m1cFF6dUQ$XvTRWk z5QvweDm-P_jGC1u;NX{v18eZ)$dLp~0=Y_A!Q;A)i#6t+X|4OMrtdB?AM);zA3xIi z<&7bxR!`3Hj_-o7YXI9?|FL5c0a}+ex7f7$qJgp`tq<-9m{a?KZn#LjWLbYeI-Igf z$F@eOT~4#DqW@~BLUJmazgMh~#;b5$Fli&$WD zQ*G37@y6AdHTbGYSEOct&FzEgT8qiRy{?Syl}w%1TBg9n>9<9r3+W&?!g&16r716| zJ3n7BowD||^Ppid$zfSCsyWR>t|YU&cMAxQ;+U7xKqWfa78PP9i$Rdws5Yhn~FZ0aa6iuyd^U zYVrPeF%(8RIu@*z0W6|7yI<#WpEpi-zd$x&?UBC+x$Ws6skDsqa2=PeEIdhh8}=yZ zf_3!2Yx&@ zvY(auHFI(UC{-A?D`Z^rZ~HmZ5;~VPpCpysoJ9BOEUnwM-))An+#-Dg zSWT5O3*+ABnaOuq?3XMBnO~T`<$VS4!wb22+9n&w5;wx-hM z_&9M+J+=eAls%ZMPlZ^;3lhRa!mEd*4mPE zO?-cUljjuB^0k8yAIN&!hQSLVN;|+qJ6Bbi8*Z^-9vNF^(MpAQ7NMs6nnoqn0rPJK zQOU7Zl7=XUIex?9*RG3$J#!ots=KcZohldga&^q=fi! z)I%iW7qyZ-c`|kA?XJ|1)7+oSB45vecCf#9cQv-*$x1$Xa3|1-8x|>ivn3QeltP{? zTIv$NF;tuish@Wcyt4zsl=+>X&C-Kkp*5JUjf=w_)7s2%*@A0D4Lj9C(3SFOiK1+u z6sENI;4ArQHK3&&d=)zHr7!=ccOl}LYQiOx`8M7nmut;oWj-LzblOLH_{CZ(x=;+! z{Z-IiSeZ<$+y`2U#K}Cu* zQo(V9&%t+y$`y9E>gpzb*q`C0>OuR)M8NgT*0uQi#|K3O!S9KI&DELaxQPPLNa&u4U3L2>&@_(A^nnmD<&GWwkWtP|CBi*+|vKho20Bg9tY_*CVZTIA$9WdK+O@Wr|Z*kcv zxceXS7~1s|$<1JdEj9JuPiLa(}5eUuO>FV0%neYXL{rZ3b!IrMZ`@L0t zTUWbul^&1vpI3r_*ZIYlY&=RwLkzxjz|0MLJpOoI0pdbZ@rOJJyn|xddtMuu0VN)C zA#)5WPHmItTXP~$PHn$4XKdiVXe`0g3x+}&} zq^#Uy@c!}R@*=?Px(_H`Q_8jN*EX4-%Un@u8^8LP9GqGt%&=xSw!ld?L{$;KXbt|feF4tE14WyxA<|EXKf;Q4>cl6&lF&gRRb=+t`%m6>`u?-<>;3|+}Y zle{bTzJ(V^hcec<=EvWm@#N4A8!M5!;Y25*^J&+NSF<8t zD^F=hX83@tq5s#yKUr_leP`l%zDiTxPik+&(eY3gBK(7eeYgieLmT3zMAg4aHchf zO6#NI096yPGS}?-oKv^t6a~!e=C2P!`ux6m(cWbcr&mbCvu89mQ3!#c-S$(b1qd?t zsZlfkxY~D?cR*jOxEp$GrzhW09Ifw+HoLx68=3EFmd&pexy#P&wmdq55bn#t-T|V* zVW4nM8hRkwRTPz4+%S8_5p;-2YIu}1-Z;(6urprkbjrCzmu^Lld-G2Q^UTD%N(*V; z<*l84f9~XJ?VLN$A)WHk2!+Q=41oJB|KM@AVh;|?V9HmfE_4WHdq z363NRmI6=du_Xj(!c2NDNCCH%0HD6 z_uIt8RD(o+;NbyXl>Qfp1Tmpvd21@bXqYJekl-^yyS-lf{e7t_#vttBv%Gt4p~FB= zrFfTUy;n!{3qt=0Rkl7x)5QLe)Zw-HUaCgngRESea~B>RGSn7BVh@P&91M^KJcb#D zb`sDpx9rk;^2f)c^P?!60-d&j?o+W>*=!wDL3X;UU!bI;og^0)@#1cs+@~yy#HxI| zh=!eglw_V>9n~ky{<|-lW^JT>lj@>yF!Ml$)!2^If#j#YmAPU~HIcrIjqRI}7wfoq zNUlz3YoKC{7dY8|e);wo9Nz?0M${;;l$qd%hNxEU*sb0^_MYn+DE&|K)N1D%Ega3> zLwIvNitNWB2Jl2g_9+EM%GqPad)tk+StInjm!Q1i0yG|QxN|&iFZ-ycn$YPa@KyC* zaD@N#at7T-h2jYw<>h^gv8a4huji$hZrUc-B@iZAN306V{6b{Y0~r(Ri$g=37J%S}GBkwmhLWjmZ}nW- z1w-l032mM=%@-TMI2z26XYz4jOD~W8)>9PU!n&?xdZUl&kag6~xeukeW(F%-9>B_K z`}93CdtNEtC0#l_TBp1)%_e6IkxEDP1g@PD5U6NnX*+xMH7db^dEGN*mg3mjEcAa| zNIvNFu`a)4ElksQ`$q^z+)Q{Fa2fiR^z(=bnM!{ND6o^9#h_e@bDNo`5zyql8w)uO z3-gx%R%lXlk}^Jz$D9Sw`n1c2rU&9KrLi-sYh8Vz?(_%=DLALIpZ$Qk<>&Vc#5l8$ zDJ>=Su62@f^!x%f*mX4nTZ2~PzJn91iIc{y30jf+GMS$$ zqf*}}3==WY?tUe3L5sV;9w8SZfpWp@r|fGNTE&jB7|RyEerpkhH6&Y7f^!mem}XTP zv?n()EP6`1s93h;r)ABL=PTGrHs<>}MWUeb;J|e{>I>|FZxz)@Nk==Vi z(^zvnaMc6$uOq$p`L{K9*BL;1h17@9j3V_OwXj&WSp76rzvimw3WraavPnL6V+tuR zp+@;jc;eMYlJso^(#St4u%c8+t6ukx-FM6K@}_W}LSU-tFQsZyVgJ;N_YNclUCAX%qBQ}!BVug+BeLQ)}m&O(CIKnNijjIxm1!y;5v4PZ7LEYZrWa> zh?jv4I;jS_NQ4=aqp(iDqID&en!Q)~eXrahrn1q{j?bCd6UE#yzpOOC1-YA2Eu^F(QrfoXA`Eh=Eiz{H3 zN%N8l+c>O`IR#+pY3Jo`5&YBZfX`M9dwpVnAYR6utmVAUqpRmJtJBfIjN}s?UKqi?G<$x{FUYHMR>5kFu%<`L7y(W6+DXLxg zL_#=bF>0L!N7DJ4jvmcarVDLJR1hj6dq`(P%km2d)QV5m07(!HzI^P54A1IvTMRFs zmR(a+E(KRxSuBQ@c37TNjm?mghgX-y_-Y>3DD$5R8a~5vtWxH$BTY=6Gb~Y8sP%Gx z{Ux74(=eQS0vzP5q}wF}JdNAmdf9n-iPlDYSR06qKtn^UiSbAlx~cW)<`uf8k5vv& z>7O*+rE6L%dHm@_0;G*B1Mg>Sr5-Bq-WlkAeXzq?%RqF*C93tKXN1joghc+Gke3W9 zp7xLVO{^R4rlKYqGxlD%S`wM8+2N$54?a2(xl`k0dkE)K((gAVk6tlae4v`_pK&`T z_Q1XvxFFmNqQ9kPEWEj)_#Rv_&rj@dyGt9~shy!XP&dt1G9OD#GhxyiIw1DUl3nlf z`t_M`lGa~Yr@6;nJM~lAekQPb( zum0$+Rzmg8h(q}OB@nK=$EP@<{WzFsH4O5gqpsZKcutK3Lb>2%P&|uRKRIR z#!+#?*Jv6jB1+Yde^+r~x2*ajgJ>tt$4mw}COthqB+nkk_bT)?)d}G*CzCS1drw+m z4u(IxWUL*Rb6_H*#T(T8mm`?&{4ORN6OLh$&;$9-ieYO$)D}M5De;lp@K&{=U^SiP zo9jKfx@rP)nUH0AyZ_Fr%vKXWHZN?=XKapMNtkScUcy^wI>otpH~MFR!j2Msw$KV! zce%P}4iwZIV1NWfgaHP*e2q$PJj6L+>k*yvu~MFE(9zy}+A|m-4K6`xkktX(oH$*o zQsJRF=<`zM^Q(-AtZ5&~p?>p6>&@V5Q@e5KJ$Dp1M!NCFXbcKYoZK)jIYi@X)KnLl zZe_!)v)VTd?lddq@}kW6lQFdyhkBd8D@Mc3@#`23M!wJDkYrSGYitxSvx>+~QA}rV zsC=q9uZJoskSbpLKKxm6rY+BH9B}}sX@76i8<7kV(0*^of+Pz_DvIN;xiN&ZRlmly zh~FUIz+6mHuTwO_KTQD?U|QRu`v_uRCfJ`t(nS;k!|xT7mF!BZm#5#wUAsrCS_|g$ zxP=cS4{cLwh4*6$x!=^-Kf^kj=!ZS~-Al`>cX`hTa}%HjHOA9=pBmFLP zO|<)ssA?iJhM*oxXK&PIO9r~|*qM-8-5L|`=#Mz` z#q3mlJ>by1C2QxW6Tb-18t|+ZH%L=YwSM)P=hcfs7fR&j-B<34L7fY?p+CoPE z%umSom8X1G&_msUTwzlBrp@DM)|S3#oejuh8Xak!Ep9#AwM{4fEklH)S`>(h4^pPn zSL^yus6SIHlL8+o*$di(=MMr}>I@5Cw#{~*0I55F|(e^Q5!M2_b_5fQ|}*u7p4Cj=)D*0@-9pL}1K;bnUG~^tixntlTR%#ne`$ zlgnM=cKv#06lv}YXb*5H5d$GG1yhdE``q8XIzcBm`Q=o#rNOl@9k&u}B2)o#h1sqTGK%#P-SF znUR``ps84u#VC9F;IxqSJhoP6r z$=rfOcy6 zjvJCJ4W;{LbT*RFd*wocj|(VchCJf^*FX#rf1*$@KvAnKBg-OaWvV?^923*`fGuXq zk}XF?Qq;4M4MTC_To?bBDHp}JkqcVk8P+~fj@Mq5y0zIm8jWJ^fA5<10A*Y$wV>~NZMhXof z=RMO5a{SY92sytO>))hCHrN7n*G868Pc)7Dx!%yo-3`$Fw`bhgzrT=M5fyv19@;=& z^43k+1tFEQ^Yr_&4iFRd)z-i!<7P1~ObTFFhAFi#?GX8{`y$g=t18>6knJUBLOOQk zhUy4=$|+YM1nPxJ$enj{>Z}dtR7ALPtyF4)X8Z>xtm8AJ$a0jb&wv9b)K_HIaR28t zyLLzU%2}akQ4nPreaJ`TqST~o&FQRftU2y>gWqLIk;eMP82B=xFWj zMZ<*2)MXuQ2BbjX4NlRA``QHPdP9@ z_bPArk6xgE{o}+OL*#*d0z>nbmvksnYWouvQ0lM~Pd{A^Sp49c?7gbE^@gax3-%(E zjfmB@a9(qMPOzAARBYV3-_x;&hc_h;cy%*C-SR z2-s9vWuB7ZZZ+@(J8tU(j+5IeNz5cOpK)cE1ly+X=(Uf+&^%#klB~^DYkb_L5bUF| z)I3Lm?Pr>mesPD@@=2}MUC@#wc@*_NXOn`x`?X^j)4tnzLOOWLlsL9I)28L)YQQ;J zcPdBi)=1Er-QYR_Rm|2;b66KmS}2A?mF@=?->xn~&dN?SHvM6BUl-xp+3r z;bVdsZ?E!0H9heA5fRuhQpJ;X^Ow_SK2XG|xwUa;$sO(i$i>1$vBA`KW52SW>XhZa z-yU&Cnp}%!On-u-zeoj`_ERsYDffFS{V_bytz^62`nu7jL%8o8S(jAL<1Ch?p+T%; zUAAkAXCXcFkMzgP1=m2(&oO8HvTIK|SGQ6~eF4|{Tr9A24MtO+7f8@6us`CxiH^?T zJ!UXvZ6xb-nze#M&+3s*X+NBq3pP`E<%X zCO%ox5<)Y%j1UmpMP~CSTjvokBb*7=tk8-<2AZb8#S!bgg2WUSeeL6r8Cn~SJ9jJH z#B5D>+f`NdsK$ZyqK0RebD6Hq7ybSf*r6WzL4=@`cvJ)_n(t+nH|cP9>ZBN?Xx{&A z5IZ45^S#RL=5hQ}L7>_iFGx+eV$ba1K#L`v~uInQ#|% zaWfZ05>4L*u(EebxAjf*s|>bj)#S*wh|o+Y8sp1Lv0Ax(2+07_FB?cX1qL0?{T@A9 zYmd)nvzZk`TwR|04l=hp4X6nx;;D&{&{{r|i;554TqI)|K5en|R4Ql%^qO(*c^bbW zPhX2lA4rBGc;!Zdw`_lUC_bs?j(!`?v<%Hxj^v2D7ekt|2FGWDT0D&-9D_V_ z1(E6GTLx^N=pRj*TCW{2iHA8PC8!*bfQ6hG(Zv-_QL#E6$e?w=kq)v&((w5 zR-38$&hlaB#jH1g9AFU}EpaOCoT-vLN*by+oyzsDMNL%Sl`{;^s~)Qpx&ysu3~4OP z?%@QHMhWP`YF_J#bW!Dn-fDF!KMDYkv#r|Wj|qcHE$Y6HRNai*;7v{tN18YAmVENr zL@;s1-@4s0sRr8j7(KJeX(Ar<@Oth*5Sx}=BFsE%vI1K4OThzh>GSAs)D-Rl;3!YR z6g*RXdx4E|JFywkMEY5o$W>BlPbe&UuW~2_43T zlul2;FPwIq*2LfHEnYw?@ECg|gvLLO2Et<4?Grr+UlpxI1b$Bh=I1)}Jbe~$V;wLg zWBvwp4_e#Hpn0@0YUBZ*=la2S$4)7SMV^q^FHZhU2ZBw<&D%)d%jZXtqCi7sQ~It8 z{b%O-K{;!EI5B{}0`fg!e1YyCb5n`by2L2dY#|q_G{>G8A!r1rm^S-}R#QQP_ z9T-YK@8%!Epkkvqju|Tp1hgNIUJgQ=@(z9y{FH@GHdO8IEVyTdltfsY>*4U5V^N6? zxLOeV$+iB5qykUOg2Bhl;5OCU4RU~7=o>~)LU4Ntv#VPEz+!dwO2pCJ`wj6o({FPN zI{R?84*zQ1BUwvj`09^}kAbWrgd=e=LrPO_YCJ!_UyQBoW7meAt>hQGJUh?FLRLQq zB)+ZYJd9sRi>)K69*ks_nokZ%I!(1KF>;5;$Q5-79Udzh=R+S&yVqnRlq791GFj9_ z|7?P_lJJ?840y>2_6k-KaB)O4-O!t5i|t6htVW1WU7rXj26;VE?c~VvqqdUcNAg zXP0d%K?dxP*JgE@2$6hyWIORqv9<=Ph_=edSh92Gl{*P~jOfhq3Urd%>Jqy!<)4cY zjIOx4spR(I_x{_1c0+4UV-2Upfz}?|C2nDQDAw&R&{t;-SEmEfrpnY$4>wcWJQaK% z;YKVJg(-E3hK9&Gp%%$D4=3w8${3X!>H)n@QT?hRv%n@*A%5O|I> zP)uWmXx=d%PX#=G5y|O2%ge^IJ!zQXi-;Cn;_)Qb^N8x0vpQG_Ph$0_%0`4Q#sO8~ zhZ&8n8CYr=?GNL5;pA%nqmWSSCV~l&n>Oh1Lg>v?Jlr7-678+?4}dcx&8xZX9ILY` z3?-40Y0u+Pyhnd|5Ose{Q4|E9mO56 z1A+e$3FxwkRkJznc1AHnWtWIFc3JnkGFmFxsC*#!0YjNDSB=UJIQ4%^3+MDYQ+$85 zLW^l_HR*;kATh6|eLFx&1i#EdN;aC@JIpW)we?xI{+dlzm`&LQ*FpSzRUy($=d{@D zlel||h6iR-cF|)HPo2HO`SK{kI%B#o&NtF%`6GWZZhy=-@@s9LkN)SS<8~Gbzavo- zYmWD5{$B-%9KGxRzsnC15euT{`uzE7=mA7LM*S+LE<3yBeTmgXOiawY&#{Aa{4aVK zB|U$dq?z0;D-7bm-diV0yNdhBzv;Gfae&52?tA7=a3kZ95a(}xZ40PpX8)<4fgn0- z??Y`I7PE)QfECfQ1fxxLb*I>{yxfMBz@7#T>wMZ-bkqD^9t(+fF^q=h!2DNxcm|ote`+`3>qfSP7;#@Gs|L`=B!k=BBRdxug&*~V^9Koe6DZaywRj=IxcFz04dlwW>W)$s?iF|iKd|P!Kd;R z4ZJVfjdN|RShUXI_XnPYjeNO60&JYYnR9rBDzgR>8`qeA(>jM+JegEAa1H0N;rI#N zL$r1Yc=w}STBiw*-y^5YnzG5L%z6qT5QFeTg}5SnyhpauVkI}1rw_$a`#zr=1|kr@ z3A23wID_tcZ;Pq^B`=BXKmS2h2T!X$5DlyPxA>%s+Wf&`A3DtoxR>WLCj#ZS8-w_5 z7sP@0MMz>+T%JGz26i}V;;uh|cl7r+`pH;>`};3-BS4eo3eF6K(=rDiscrf882%;w zZ4vDS$@M~lhFBrVFJpOi)k)vb&>Cttz$BlbWicLtv2wmo9s2Kt`uSZ%O+$AH+yr3} zA=W>n( z33-I6i$p9=Ya}ZZe#1I8WK#G3PcrtkOUMPXeK@#X3CP(iHL^AD%BsH-eeAj|LQ7zK65g2^EeoDD z%K}X(%7X$pyrNaR}%k^<%ym!z1hz(*=H7c3`!eeq7 zzgyLNQ=JtFXOs%CjwnAlT)qHuko(Y&W)Q_s_3g#E5S&1g9jkm;zhq`y4%Ml)3|Gm$ zv-$+5?9XRDQiabP$ml2|4ABbL*21Jg1fdk#BRkkh103(y{ye5Mf1nmdT}AkDfP|MmY#KS>GLbDwf)vW6t~kb8-fd3AX!e zOhGt3{zqdg!`L=?-Q#8wM%2c$TW?iKqz zn-nToPfxA~vhIjbvfR6Mw1!jS?O$7&FkNV1^2?qhF!^Pe6A_0baa*>4@EEc|f2hM~ z6eqX{j_U`@2=2sv8Ne0ihpS2vDeB$`;-#lh4;rs>m*3_CwTOmjj#0h)9}}4mLPh%n%XLQ!jUvUPV6b} zRl>TKAnM_*cU7!}$H(B*v}&+Y5PsYu?kzG~26sdSXPNSHbDdNZM9MO;j_epxeUQ~V ze$gmm0!K9@wh8CU{C$H8p}-!JG``0WeqTlfyV#I2VlRG~yUf8p9X}*VM~JaL0dcVU zlEev|g9L>ykK)wsMf*nj|I`BbAC>Px_Fx=|EcpKvP9;n=b30-j4<)w$F^-7x_g|I> z)NFfP_z5ArLI7MlRFA;@#BDMwW+)3{YG^oTSZ+Iu(;GqU3&F~8G(QgcHke@s<0!+Q zs%)iqkI|e!R3LnL*K-*8_+x2(f;^iINjL|$JSWum>{>xSyPhKZ&rt#?(u})KKPi4> z6zLz$F?G{axYCYZG@PMW<+=U0V8kDEh=H2^zz&iy5k$#X6UHE34KcnzcM0TA`yg?5 zYYCB10SMzaKh|((@+j}Wc7x11T#mrY(I-qY8xr?V$j7#I?;5LCBZ3ZS=99dH!4ksn49?A%@>EU!W|)4u`7#ya`$a~<6%d}AMv1RwkB*DnNblTR=RYfTGb0_|`2Te=+) z!JuykOQ(j&fNU0oY`Lwvy*7{~7`c{Qk*q@0w18FnBOu0dc&Ha6N>@>In~+|zqGve* zNJ6qiZJ?=VJN@I0=4Q;DWmpa^MX1u+%a>|T4{0jUlHWQ>{Xb6|3tp9OVK2?);CDAl zkbL>StO*-P?NjyaEyKY%Cu4;NT|4Khe^{ZG%1BGTru@H*0aj^JF~J90jQaI=Z?Wld z47QHGOB#O}O0=Mawo8N!Mzs;xQCkP{(!?{gPhKDc{RNO1|MVUf*{H!_i#}+720p6v z#|U|A)L&2pF*qRAfdwMb9L`nH0z}WLDq?G_tz=OePuh^}0A!=ly7g$I@%}7m_xvY4 zpEwE5WpIk^!QlZ8Q~*Oho!4=n@8EhS&OsSDIL-OskUSz#9$7ixdf9W3rAU|H-{dlx z=6O+7eaU@$ZJ=b)WTPA(3zbRK)TpF#N!%7#@*7FD>nPn@TErCr?f^R0STC;H<$lux zsU@28L!vcFZJ~Y?Gf!ODN|GF36j!q%23oYSq_1I&+ur^Xn%xf-2$Y;y60I94jI?2* z-v@k|Bo@@T7`9ib>Y8ZZw)ACzsREPJxu}CHBv+8U1G;Q`Q80AtkOY?CgSx(|hF` zE9zt%;t6cDREE9pG#I>KQclsV-#ZOKY!-&O;7b+b64Bp;(eGe1i^?GA7)>LnrbbqvoImsV`v+ZK&&@tRGRf%J0;$~< z?Q)HqD*)7+WH#YMmR!^uR|HUHK_o2AsmM|Q?J#UR7{LyMVL|V?I4TXqK7IGMO*|D z2JvDniSL_!zxom=+{EiWPU262{}^&jPSMDj-RzP`yZ1M7Zt{$d$hbTRs;Mj>8%uD8 z47zWpot_?&a$PVi&-_}=s`f(8XdfhGT!Hp5r1I3svlqymxrV=j&<_o9EiB7!xas|i zEQ*TKz8w!iRUZGD)4y}%_XJsTJX@Fi;lD+K@c$GEkR0&+H#x{qkjAlq{Y|4;SUT#5 zCAZCqx@K9ohyRLvZUC z{7>^N1u?cpF)5TGN=df$JqUCO5gJne>u7U;N|sn3yi4*%io$?Rsrr)Cniqa2!YUmc zzc*OM#lo86@RiCIAV<_>uQ3;pDJgif5VCRJ6nI6UDQEQ2R5Wfx5kB5Sp(U{m2I z;}LO{Or0tlL^i<|%-o?-iFmxnv<(XZ_FGKMg7-Unn9)dIo)#eiSEB(Q%w3}jd_K)YC-ZCT zg~O>Z-5N4=Yy>N^3+pDU94G>@gtt2PwZeR4q@|)9+eIejXhVw~5K2qDC;&T)Rr-1Z zCa_ZXYN_1a<41!#qGwPph+mpJD%h?d`*^k+lCS>NW^$1AkVf5+I!r5H-GL5~5SMQ* zGPyg3+f3>PZB?Nq$?;_FAZHl=7F{E_E$+EC=Z3LK-H~xuyrcA8*3HSaxrK$|#!boR zjQ*UDGjUrlahxxRmOqn6vF|f%Pa%KH}mV5hugfzxYf-_j@smn)N#}pvXrc%xQyJeNMM{gC83| zSl`q#x)hRwHn7{ks+l5aqBi^oJc|7zo41zunH--v7_&FOV7XKl+LFJ|pye_yHbg8kLoWe-=y2kk)_CiFKR?EopW zg4%V>0Xp9uhtSA8=kOd4O1v(nXX0kW8_?gMM}(zD(@JK+@4VjKeO=%mwb(S(r?NCwx#Yq`VYxBEa*vYj0RkI?Y%vPwXm=t z9?={h1ZD_3r+|sO4Xh{nhwcQ?nz;(~xxkL?e6W!r5D`d(5amk0hJhe+Ag64}8W78< z48=Y`+neOv#xazArDbGc9~;FD*q(lH|3ko&F$z)de%cm!{w<&~itf8qqv80@yb&Q- zr3I{j%k8LoN(haGq7vUomMauLu>T~f0A#Fo*4vLDJ(?HXA}ZrJQ6Ee?Z}{sOc?AnD zGS$q56Q)jVwFnd*irv=uk3-64>5~*sXx)yQ^8uGXKozpURq73ZEdG-nQu`J1kJo;D z&RzWF{L{eeQ_imB3Hc3J3vVtrdo`|HW~UB3rKHzjrgUv!t>P9NJ+YxXKmm&Y7Q@e` zq|g7pvA?)D{k`fx&+D#&BkK4jl~%T>A}JltfV4A1(BO#cOZ2!9zb*ha3|jXG?_O5 zW=47CHR6p`u6J$8Vy5>@r zT}UtbtKB@?s{AYI=8Unn@lZg>-WNy^2b`v6)8Djfch4bwwjgcVYVP1GPR>w~>GJc@ zHxtg1?04KXUix_)b`^Io2w4H?_EK`RzDv)luZb!U0 zeANd@w-)!_I3sy9LEvMrR(Q}I^^0IDm&YcXatw=X5@&yY&`qXowE1`jl)_&KI#A|p z=s{Flh{3bpjVaD}V_0_m=MOU2)J*fx&*VgZ5S8ID97v3;xusr&w#R>uY>N(37}%t> z>T6BdDD@f7#FZAfyxTW0bc} zMc-+gdJ5VzWiyvtL6>Z!%jTUExmu4xbB~spo9HwG`hxZd@L&7_Kxs2`hp8S=(;G5- z%%7k%H1*CIXUhV9-RK3VAuQxMf0QsUnnnx1OBGlmCHR7@wWglC0c`$=45pg!*%VGq zZQ`uT+uY6k3DHq00h`ta8agd;Q;YHwkT>=lJ^C&mmCo{U`|a}b@3z8tw+YkL7FZt( z3q*U$UtFtoT5ara+_^Iia58~J8`bk zm8{e_M%!QMq2A{Qv4GVXA50Q)nyXBEIv}dB`aL7y_NI7Z*|s%vs~o8ibL=!Bp_)#x zT3I8AwcYInc)w@WJ+olTT#nk$(exABtFu<5R#y^#LnQv#%!14TfS&sWDW%#AVQ^#f zG!H+t9ZdgU#ZTm6%r97vwLR%_N?-S@f3%usnS9@|7S=tp#l7*iAy+w9DB0zy(D7m> z*W0=$JAcP!>@zdeu~|i_NX7%pi{I~9r`Ef( zRO+r~cYl>xyuKS9xWJ^Q`ghZr@U3lGL~buYeqABuHNb3jO7QrZc&B?PPV{=pbNP3? z{Yo;#OS1Vh=#q(rb;Y0gaI%&|#!2Xkgu} zcH{>E$kwMqY>kR3FT7;kZ#jlf(6`W@RUXW@VCg>xr!4ekd1(B8s=F@W9G*6f>=`a{ zyc>chy|M()ETowF#snSD&*bt0*7qQ~0)1-_%j;;oUwVa>7(}LyM>(ad9g56Or5idP zK=Z<+`P}=Hxl(d;_Be~gO%e*{02QvE*NA}k+S$;XgwyRk*RJ0HY$9^%ki3_xd-P*u zZ>{*LJqLp}Z-U!>AVz1sd?~%~8CmjsA|8e_IX>M2^+x-Gx+6zo+kRjrDdxw2`F>D*kr1AG4rR%B^xT2jl2zNI}dBGd>vs zYdeEM$J=Pu`}dA%|CqZZzoGkM`Hk<3duhxVoyE(k^#=So(I=%o%XnvJ2wvJMi(XUt z+q*mnQvhn!t520gd!$&DDr%Hiq8~1n&GJy!I~z{Am+B69@ZSHpIt^gaLTk>{dgH2< z##I}r8Nc{+?b$14E{HOavwCDrr`9h(CfkfR(Ih{ftvJz>aY{<_+A75|z?Z1)+T6Of z6?R{*aRw(3JG?M__2qjZGlL07pKZ?UZq|C11`N%F91I68Y47}$QjVV675loLxW<{9 z`}(ifO*=J`4ZvqTtipRV-%BsA9KGj__T0s-k2mqTKexNBIbM@A<6;M!`7Rn$Ms#5b zJb(0ktM3<7!!lydw|-&vs`f5VP15Vkjn-p+dGTA<<~z~2`?KUPq+gj(FRhzK8f~x5 zCl8NHz9YODWJNOiwqk3Tbg(vwdsG z%HnSJ{Q zF)AKnbaljqt1ZCRF6pKmJ}U#{8h3OEvr?n}yd2s2nxRFG2>R$hAA7;$_;cTCQLTF7 z?M%ZwDL+G^4VS-P$3Xf;8cy6B0Q>r?lwMTZ0`Ro5S_S5!?l-*o;7J)mK2qpY-%<=OV^ z@u!*f;4;s5G`(Tr9%|K-8lCtD+-SY+fs*RQ1W zjQ|V2Rezzs(D|Z8bXvUWZYW8$A4c%a-IM={XoX zD}PVGq0$&Ldhw!AsW(NHhOAF9sDAMvRQ>&hI~jMF$ITpI=ixf`<+^i` zVVnfLnL6E-)tKn{?aVjd_6$!`*+~JsT(8S= zB$J6vt4lIG60c*3)GN(fvT}C_qo(aQS4|TlT?h^fgbM^J>CvUx$jD$F2{kS zbDL7NLz&2So6ez1>nv#2+wMxP5g>p2iQf;3S1Aw45>42XQHxh;I9{i~QV@LAJ=|B$ zOqs-{K>ax&1_&yp(>J;dX5I7^S0eOv^$69HBV)J%`>hcrM4pk{%%Vj_WT)90V33IREiDYKyZdBsr(JNAYey^UNXXsjb{ zemgL-1+pN2fu8}mHwixJ0c{yH)X+E7C@X$Qp@*_L*9apy2tgXl&+P}x4A1e|6U3lIq zv0%)}gt3X@^ujdrZcL3QB#K-*pBm>^@Tvad*Y}X2S`m~!&%hN@G9ts^=YL*eRFQ_0 zC^Ju@cf+xG{>z09fKJt<>j)XNu_~ev_^g$=oo$#z-o~NAyeY;>k_vnM`R5k=fK7Av z!zkoxz%mjhP*FljvdxUPVlfV3lFw427};HL1?fEHhn}UX!ff>HZu^r}S(}&rY0d@M z^w>sBE1|4Dri#1s%a_ZI$+0e7!92mm>?xopuN}vgED(179%qx}(tqE9UaxIaDb^-+ z9zqXxoPOUe*KMprwF1f+uHxjd*(I~TXJQ;s{97h&*g#D)q!gzw{%+YXYw6){o#ov$ z#nmA^9=72ZBKkuvi5X2fej}G??{6!w!u^!65%J}BLh_=zg4f(hYD+1*oH$}#k8Dsw znxSHIyOR@?ftfG*^)Qdd_vK*njAIW3WIvt6X`JqvQpl491?k6l`p+KUeKfoJP8U&} zeN{zNUC5Zm;%6P7l=f&B(ZVZ%R%=)5)MM;!BnwSPaJ9Qiieahj2BOk_o3dF-yVhi; zK7a|sB4ef$ofmh(2))D*P&YxjSJijj>t??yzp~-G6+&P9$@VkYHzc{~hIZztys?!N zgb%MXctJXH=jScm@Lp}zE4*&`$<&3i!i-obaCNiqN#kX86yPpE^Oj0Lol@eh(k6!#6gTO15t(5 zeIm%{N%}2BCcEP#p*8cc7sFM9C#yET^iJRS_{s%HthT046r{x9i&A5pgwly3mQ=6L znbp*XLOmk3V0nXa!0AmCx&P^(HOFd46Bk@tGHhCsgro$-$HW|+b)L#6_ySIT?3G;4 zW~`1rM|Q>E7QUCRYe{;g3BmY?I=qXksSBmlcNt5YVKJpK%Qezyd!Nf20!qh9UvPEF zk<=3JG=EJFXEuoW^+M()`{(&z{LLxxb7KfkSyJhB7hC3g{@K%?Sazdv2DGS4_hhMR z3lj%9G|UBjma|)*J<79ac+e8L`$BbO@a`a+d5$k^j*MYd@kS-$w!+q31q($36HIG8 zqY~XPTss=#f8>%3qbe0Zc=}X(uv^Y70> z)bCqyES_GV_H_euCAnU$T|PE3`w&SlIn!ZJF~yPu(mp~tjqWq=`keP%y8@hkJSlQVJ@f; zPUEjCy;rw5%}v#(Md5w2oJznF&(hQ)V4XhQh2&*G2 z5w?i68OmnT8-dB3QN~#J+Hl+4=+`8@U6- z{;-cSB00aHiJB}`%3QEvRuV1G>GTkc5v6||&2IeGMnrZ4vSMoF&Kq8BKrcPVL1=W& znSYtA{AP}~N6b+uOe+61f|mM?V;tNBh1`WlIf24A-WoE9;}4gTlIh(!Gg@bKse{+h zraKWkbmU?fLBd{tclzgnB(?M`(GsBSr&aRg{<)a(|F{@w+#H!|zOt)Z-#;7}#t6#1 z&>nK4{?jbS=YvlfQ`izlUv1`gINM5I>#zmAskahGI=ceu1p8fOrb1%mnfiYZE6{3qer6Jy|-LLQN#ciO=7}8np&& zJ`&<`M2#cR;7{13k%?y4MM(j*W1WWYR+rlx)ZLD_ zISgN5TQ7EJZYfEFHAyd%f^Gd?yq1Uj1mP?GG1%5xjxOtA`lSZ8Rl42LgQQ6n=j$IP*4b7!%=7>3?e!|Vj?JeFJGSDpU-_t}bN-*p|lk_w~Lp1l%&TE`n^KJXu zFpR^A-N)$E-xwHew~7~>4ApJ_Ji~UBK71!si&ppw>#EcNphA8 zb>q9vwTC9DjYJV6Er@5c6;e-meK%Y0gkSBM(t_w`Ol9HN;&{f-kdQKCdWDpJ`Xci^ z^Qr7BhVO_{X3X{8LQGRK6T;*)J0{a}Pz!2F#29I1jKd^0Z=;6!;Ub5C%h*Z){m#WR zbmGFaI`-}ui};4%E2`psK*r~2u^}z9UtLZiD@-+=c=OtJWcz80n;Lq9+KD?pi^12R z((&Ex^$mpPlCW!=FYx%*LT_QLua-G5MV6t0O?Dw32|$B*WVJ8L_iZWAzylr6Nl021rn_aO)4)T(JDuM6iRu*k{25{K`~CLrj^D0a;>0b4|EGD zE-eH5s3fZy%jP(|XXG`J4-AMDbP3#Pg2knTDT8k*QK%HC_&ZT5$*Q@B{f@{IO_{zov~|| z_p6oLp_om{$vaPt*W11LX%brO=U^1-?&X#>R||2G-~7(xp84ZZsiw$XDsxoEy@edv z#O1qwB>Rup(91FBD|DY`ziOK}y%lC!dt&`q&2F9r zxRxR}RgZse<=WWuT;gUi3kwY`rghOHp# z;qeZ^l+T!{;A?ygN$WqgH6+O6^ehuM4Aq?-HU6pwcIaE@kXtRi@mB2vZz5LKG!{&| zhzS?$XD4?)%;dRcA(NLE{n2_DX5*M3ljrVzV;p&C#6*zEQ_QIH${)JI5Xj_JoUS%-91H+K;saoMaUX)V3uI6_Cw;=WBTQ?PSUYTSB_dEXmb(Q>@s=A<*>B zKOgK-7%W)09ZeK*V-H|ECz5g}UcYh5m>YjORpRpI`WGU}%?7KxPwXrB`$HxhqR~yD ze??YH8hm8ASuYbL{5BLRmds=_M`8Q#GFyaYpgo=@9Udw!&|l~`oY31kA$zi`AJ5)j zg08tk{*Z&%!{#p-2=(vq{NjTM8O`#gJAY$iyx-p9L<^Lk#22aJ1!@Srp0K#?-`R3Q z)Uv{bHj;o$%9^Po1U}X!;2{@Z7cJLnE-fdmRk4WK5*wiCS2PG_Ml(e->Qc_$-C75( z&k({r8>854S2nb^35mrfRVdJU3A2$f888`5Qymll@k}?~Ul9@yf&%4KAcN3M`JDiq!TcY?XBi7HHSR_cMCzMb z1L_#Zgp2t=>Tw)5;A(Gk5Ke!JW#}KAap+Z9E?~Zj5H)mpMs7b2>rthdQbPYOMP+qM zH4SGAM4=UNrDjz#6shL!AGf&A8*||vC;jCIENHg07cNUFt@}&YGrd`_6JZ1!&nEkN zjNMR0SveAua-nh)w`~v(#=Jxk#hyq0>p1Iu(4|Qx?bUwbxt6uYiN02MkY;&+`!mSX zsAN3M-Ou9s1P@)0Qz<49!*lXF~gIysTN`1_!^}Ap7egqsanu8POnZV zDpd8im!y^(c)lC2$GIux@VMT+7N1Q{@2Ua)togO;m+7Q@yyA^6tNK5RwkRi?@{;LU zMS`y_>o^}_mW?=MUszzcC8&ZAb$sc5!)L)MwY8GR`3+=)S!KjKT@oj+;jPJPHkWpJ zf7_MS`L)9ycy`wXPz!hqG0dxUkiY+-%lyKO2BFuuJD|7g5RJ30CMY=bya9@~`oLi} z4F9j}bueu9u1Uq}GdBlYIfz~%7`3GHtu7N-M2^0-vQDIF0r7l|9_)?M4H7Neq|I@P zvclUN@{b|*U(ywl@~+7{9?2(q*5=QvcBwNPz;R^chSaa4EiS{Zs!yBtH^ZTwqcxDy zuXTyEr7q59|C5vy(WLtq3#(+!lX^5fJ3o%qEdNz8+0uH(c*O!+x6IrcOn3_Q3$he%Rwbv-0i-2x>&5mGq^l9T6+rO9 zyP`U;gqjSX?ER`L&~X?+(Nr_1H=dQ)p>pk-#|HQoKb-4aTMC%841$WKzNpJ` zP;`)c#wvL64bkxN?&1ES5%kjVn2xeUMYAykodo;@>J%!XKt>akMzm-nQ~YwKyd1ZS zSDI)m=Iile*y!wu3M?oK8m!>lRIdzd`8(>5k9k16>>jz4ndfY8Y*}c}lbcWMA0&b+ zj0xAvocpl5#8vf2$~Z`H`+G)52?B1Q4+y6G^DP zStCIpw!mkJf8j9Is)BavdfwjJgTwBsJ8FZ)WqBo*JNBS=wWk2>)cw^`U9Q9Q9w{9~ zwwiU6k?gNQt@pw76!paVGlZJFZ-^U^^wVL`G<(UdQ^7xJ5np1_)9* zn^Msqz|=H)3%|9|_~Aa-w;8n63lVrKH1pvbE-~W-Qq~R+ehLYv@LP3a#e-z5kGAsb zo}3MxPvhQcEi=e|$xuO7b}LR3l}BRAOJl5xS`2)jlkSI~1ZZLGtAKMM+!a&lp|zmw z{G&RDd+?L2tQ$5ur}T3qR4=+m)eDk{hT(0{pShpuCQvjYc+ezvH#FpfEh`V*uV`Iwt8<3|ruD4$D2+v8cwIgxloN0mRHc*EQ+ zFUj_Vke*J!qmlB~-t^SeQ!SC^OG-Yf10@vZZnz@imb{DKZg25=S2{6`@$)&1)tA^z zNVWC!T)!*o^Lt3Xd>s?s!&#Q6=L$`3>yFrw1xjN#hCQ-+U_v5q2kctH8xP2Ep9$Ez zofkAfdaWl*mb2FeI1io@oUd7u8z{T~rq`wT@Kl}FQ*)4196FM$qryY| zyR$!!N;(o~k`I3={B?Ns<#+|M8|q^7-Q}^mH>lIsK{mV&4ei7E`FYK~>&IaIR?__2 zxnYiAcp|vfzv#@KEI9_R`nU%!4O{iUy^3Ukcb-YCHC?p>Ssd*954i+Sf3}_9H9}d9 zZXpz!Rss)!K&GuPut@K~Z@?F#V1*j9HhK2V;TO_IYRt?9NowAM>)}=hBWw`sYmGVh z_L(fB=Z8KSS=Aj{Y&`yzbRwVWH}Ov(yX3K?RoG)K6j3q%^PE=PR^XZ&@5tE`@3m39 z$KJHRlmrq|`%alt4MNB6?-chx_#j$b-SsoH8mP5twmlLp;_$7r^RFiW-Q8{XU$L{! zTgFm^n0!QMb*Wjyho8o4sixAniu}O%k*|V-e^VV2L`N68!*r44Een)2xhzJraYrvB z$4AtMj{ESryd}qJoYIf_YcfQWhfw4p}LQS{)C&Wk>}ry3%Duk%%8z5Rqee;~AQoTqsH zpMQsoev*ury|-2_gG%ycv-+ofxXerNkgjrAo=p{VU8w3_YR`GvS`VP8@q(!RD+UJC z;nN$5u9Wk`RzmuDQY%b^&J$AB$3D95LXf&y*XS7 z92ehqgU->-0x=&+pPh}%u(RC>1z;;Gf-J?D@ciZKGuYJ+FK9Nj0F6!{d?$m1k6Q^Yr z6cos6p%ZrDcSkBc1%O~m8HHHAD z;KG}zylX-n=w6(Htb^+2KX%4^!wNdf&L?61bNC4?Byb!_Wb{-IZ%F4UxU<{G%Ci1l zsWePtcH zFc?x3V9if}3s4bGtcj|LxtL3295et!>vNG3frsbj@GybX5rxmo6R_7{JG^rCD6pS+ zREycsU6#BEA9$)$0%?N5J6_>I6kw4qczX0BA?o5|6KDk9fpqaS)Ag{YB*Of{jKX~O zqtyxANzQ@x?A^j-wbp0)W)9rczfZ-%U%`Q_N%HXm$I4Z9%Y5WFCrr1vddgw0z=Z=XwxWHR70>~(Gu`c?OCf#Uaz+>1NkQh zOcOGNY^(khwLMUDWb^;-^t~(ac*A>`iWCl?=MpbClKJE#Yr1C$))YPQXyb`sjwR5bWWie|!zwQX>ReXfApy68#p&s80Llry+>W2?~=^}`Rk z!3f@whxmEJ(aYY_;2jBHc`6^BAbjZhs5~|&KKhZKSdprBU|_%rQ==VcAGf28%F~{N zBZ&Vg>&VppIfNSuh{2-g-yQv93*?sao9f*>`dllxr2k{j_F@0?HJn*5`|j;rzWX)o zBVdUFiJ7j~hmBrg2p;9qPGAs^dW$X4L)-T&sU`{MKe>{vfA~L-?pCC9IPkw_-TD1HF#tw`yMVGJH@XraTi zqj%@wt3n4Wp1}(=#BmssE*c0^)nY84EQzj0Q~kfcU{O-(HFepIC2XCOmBO(}ljs`a zx>N9A8?!7q!QEc7ZaDmw|M7oYVTij;TdzO*_O^&4Ds~$@it$t0h`S9Li8*q&A>fI4 zLcY=-y<3tELJJ(v%b>5v?#JYtbG{^{tV=pdI^ zKh`w#?;06Dn%4MBKUsoVP~h6y8V^9l9&`Ziv%j>Y{3iYw-h@o~9M~lGT2g_&{XLB29P@$Npnw4`d*lqqv!) zedMDgkjyb9?ds7JcpwjsL&rQv_vmHhk45XAFRi4-* z!?({ffvS}RSgP}}*_Y6|vTb+&&)xRBfCN20(+@{q=B6T88YkZ5ouel!N@Smud)!=u z;mDUfhL+}uPVuAIbmJ5*YLu3iRug4sXV=j@n)E^y3n~Q9axQ9@$hy&r%E3(rXv_cW zn=F5f!3(*~(6tA5A&titSu@bzZ&qY)4DGeFuW4|1O#_!M;dqoB-kl>ib>lQdh0m`Z zBp+Sd404WF&*aD)-BM0C$DbLkEC0O=Hm=*)@%rdVe`dZ6llcS&uZgB892u`Dd5U0_ z0)HlS7Mx?|2PJThNpfY~Vvk7}9{#(3&iMp5XZ;(W)sM_`6@e#tJn8xOGE@N5|ET~X zrJcbuei)zpe)JvmNv5D=q&mnDE$rp&L4uhZPS(9AOZqOd?+uV>WDhfT24TXZB=n!P zD1kA>J<2gSx-=2Qn39qej{NZhH87?gbdJf<%T!=YEhX;HkBo^9uZc+VPA$3H4uWnlO|7s)sTETxZa99lo#k_-hncd5RqK7sRaeLvMYh9_I*H+S$C4! zh6wibmM;VS1<&>e_o#LWpo3n5!cU9_dTbIpP_9n~((g_wU#Dv{f|pjA%^oke9&i6`1w}mtwCil)#~NWFU(7T`hDVs zUvb-$T?j;YK0;+k&Z*V2Hdo4~_JRyb;ZJnWqzz6$jI`jL})Y(A>S>2OjY{`Sfv`zwW(8o`v58hG_^>|Y zy+e-UvXV)bBH?O>!Xlyuby-ro(|vmg8f*@*S*6y^xm>VVh(%V9`v4hK2Tk|rp>d?kBmj!@Q zU;(%IwygP0lGr};kOfK?)zQn3e)W$FAnTVk{uLfSN)s`BjF1O6p z__l57FWg@L9SNurN|-s_TF%iGBRerN4|xB7!sX8!DBtBaAty|t)Mm5BSD|mMyj3)a zxbG5-jGq8-huiD7Kx(kvi$^Db3;WzN*!xD>$hF8o>ErJg)?dee?8&NRjKI8!S5o|K z{P>2D<3v+n2<3w=U>c^N15{6frbjSK+|&87jp1|cyY-|R^}bDL@u?D5N~lY1H5%$x zf#CEkY#Mp(Q2GBEZwx}__OHT(?S?Csz)CoJgrJcBI9JemvfUH*M9@GeAnFCmw1k}5 zA7$O3!*52lWjfWFcA{e+X0wfV`@&JABp(jb;|7<=<%usv^_ArO^Pw zll(SPutS~ypg&bOyKLtDoxYEEPG}@@uOma)bLwwW#0>5*Fo^S6jt;;znEe4kEoNlp z!9ijbi)^wAPsUg6{7PWh2{qX<6NZ~*MzydE!*P*Zr)NmZ^qgWa+wLArM4!NV3r848 zTfo3T)Pag{>W$Q(lYPs{0Hz86h;P!3)M3UAd7o7ylg<*Ul00|YzdpaeU@I%X@wYzL z)r*M(g|^1ycTacRluY_{YP=4>aHNfa0BHQRcn;i~)u`?Xw+^nNKC{#F9k!!-;^0#@ zxFkXDsIc7du$sLm)DD9UF!bm9p&p^~1uVZ!{V=6F36Ecs>^hr93XKmq1XoPQ z>9xgzR-V%jt?EGkuY3u}xQj>YtPs=^>@507|5cBANNOgUz5-q}#bq)M88?@}$gU1V zr&0!Vrj;k1F46!51Pjy-25$-Io&riGy!NlGn3zzKeJwsV;ckT9J<7&pSVR$V5GDsD zxjkYQL*p2#m#1bx{PCqr5HdpwNr#!a=itdj7$Y$iOO-o93<`pEZ4uitaA*CRA>_%bgF4w{}8u<&{lY{Sm$jS;Y z2EkVE?7JpemHx`v-16%TzG=z(!_}1@Fy#8GyT3cKPpd9Eol(**7leQ=v9+gpcU+tI zxxN6Ico1k{@`a4=WAr!s_jfw>@fMcN{1U>J+D-4T(BZI>EhUY48?z^%@)ycxT`++a z`!I9)N~qsC03BlXW1FTnC3MHKhEY8RK^edQ^y~Jc>708DU_3 z71#RnQGQ{J^fXQrg#1U(3Jns;%Me%wF6DXs z;=}@l!o&FSLSB#${$LMjhAvBfbS2Gn@?1CGJkz$Y7XM$D5Qw^5HUROOwlHMmV5D)O z1SJ{kZxksl=7IJF1^d5veU-|`NbbPYgYcaAQ;ycF2&~GeWywG2{EsVzUOIrb0Jt^b zL`(O3BdM+L&m1S&E#4r8lY)N=PnJ!uV8nB=lIGOb)OyvvcTJb$?zG4bf`zbuS;EwJCY&Egi3mkRSY)M zs%U-xjDko~IJwvA2a~g$IiIw03!n*eYK?*04t5ku=i4f3og%C@q4=vK^jQkviLdos z1EY900KxQl3`2p8i}UdIj%>BeDca{lw;m;Lzfd}du^Cf+fp!13202*yRQ|$Yui!5< zRO1_4e;k>M2Qd^w9#L!JM?e3CU>@J`jp@iEtwMHU^q)rQjQla(Q~ShL_hB5~ycxS8 zz+1VZb5P$HC&tlgWyH&-4 zpR_jVvoR!DD?~G?2w-wR*P50{r?8ekF~0fa7l2XJhZUP&PT{v82zr7HE|Xxh-yvD* zo3xCjsy`Q|IO=7*p=0wB+-MQY3;S($KBTQq!-$+)u2rDD;KiTD_BAIoGvz4c1||PC zF**GeC2?puN6X2+Oh|P%rb%6_>1L~Yf=sQXxv{?u=qLP5be> zzmRa8hI~+aP+=PZ@eH1M0h4Z=HK%#hCaU!Q$ez!PR9M8O2q&PTgGyXZEu?4d!0dwP-G^@R%+1%KG{BJ02q! zzwk#oFX;yT{(`y86;dNZ8GUK|gb;yAMQhA(XcbgGn5(jQY5Dgm{xW{G8^_8}i>rLn8$_9~hn%omxYy>FHRh>HC z>!9T!uFDeh5J7Pc&K@8Z3GHlDlM>$6o$8j=oJ!jK)k0jW@{ZTQxAa$GV;K*Wm9H@1 zql7#O`wzPt_iiD*qxTZC&IfHuX-=p>Z3B&0E*$2MbP)?u;h zbYGDSR9S{PHX6J z{bmq-(EYaLL(jbOB(H_u`{!-m0q50h0J~diQ&Z9I$o_~v86qv8ijakSPliuZ%1iIf z-Ik)Ai%w1?`H2kjC)daTK2_?PFdDhVlWYxIV^{=V;MFW~gG<2Ul1WQ}7z0h>DgsW^ z5{wb-F?4D(jD@5IAK<6DJMP5%MllYF*?X$#O_H3#kJnii;{o)`g!KLiI#(J&#UY+_ zhr<;cNcjY64ha|r)BV{>d{n!PWQS2A>(VcXq&LYB;Q8D*tm!ZQIo_(J!cES0H^Y-H zwj8ES9{k5xW3?2C z@0}*dus%Lz?XX+*3WF4ng{ukkN5gtKC?2I&i+T?`!EJIdIY{(qEjpZ-@Zq{C^cp&; zJu+9^3mu6*o0MyF@hOutB}wfcH{c2Bnd-}!D8bx?NQOCaFc1W{`@% zT;;BNOlBe#vT9#47Q$IJH+do*A-@=N$!H}r*{G#VpKA^XR2>M!#iyY<&u0fURm7ON z4r&DQdq=&3Ww39Rpd-5|p{Yi9g*RXPVL%@b45jcfU4zclHfep_U-kMDv#v zfA6Pr2q{B^)OJ&ddR11FBRjJ~7C!#wcEO~&b8KNY5Ip(jVAi5oDgdn6-YHwn&DP~q zl=3MhqaW5lsAyn6&2o8#6Cc%pWWtoe6qxwimWdX)4^{opDwft;p^3M5?xtV&@LsAp zm6eX&->urG9EMEvvQ6K|l8Jtzr_%zsI37R^(;RE{3+(KShUBLC;B~zjHToMH(gl!X zOtvuHVoDTP>M}m*)xt*Q1_CIAr)cb@bG<|!@&@7W#`&CJF!|JxEMDmU^xG+ZN%QZ< z{ozCros~#iVpc6ix36(^Iqiv+<_r6n+~fx$aaO|4#GBr!Xy>&z7{_?U^lCh6(fBwFm#gUd_rmSG0<`7+Bsu+^Q>G`ux&s3K>vkaDsB6`>(az(96r68l z6I5*yjsWd$*eYFE5WZ*=!2ehFnsz`Vi^(UzBS1zMqMm&CHPVD{p4*H zHOA3l|5ILF60H)=av^ix=Q;l(g8@GuY3O0mKPrf4Kj=NGDM4rQWx;^WVas!c6sn=! zjMtT_hn)ja$XwNWEd*~LR8Is%)vxQDneMI&4%leFlIvCLHTHa{`UwMgMLKq>1_!65 z4#l_-8cA4*pSqS$D->?=&X4GeDKUD<*8(+JCQPS$YMo6)XG3P=CIR+MbWVDbtQ+}~ z@F$oX0In;p^+(b}J~K8yVb>o@Y!%WRxzC&TD3 z%Y+Q1^GFv=$V%YeBJ@!B?z;MH&dmbrfoME8y^MhW|r@P!mj8FYCFQ(>b3%%yZK5VsO2K`ny9#99;qaM!Vz(o z&6*3XZj}zHZrwiX7pG@n?!*e!Kd}Jk@}AOeNB)lTv1mTM(oJ$4xGCAobe3`FC)-0X z=AVYAMyUQGnNsy~Fu%E%I#&uH=Bk58{KGKj?^vTNzIn6=w!P{II>&mE2w_6H>tfZ@ zdf!t-^{tpigJrT6zErAgoV8{7ABKz@ODVqtFi5rI`BjsLQ+C-9kvVfB)$Z$X@|$E! zYGPM^Vk5Z{c_$@o+6!e?dzw)oir>jfPoVIb(lMH1sO_HMCwps{C;l}yD-PS~$xeR2N@Bb1lOoa=2=<&FJ?A z1=Dzjz@E#WIK_)0lh@3e$lSa(Uf}WcHcGDLfBMj9(L&_&vvRq%#9=(WD?kjrj~+o= z$&ISy=MoJw{g^oo#bNVDFlr!xBtFrx)1$+PW=deBB56t;+3G3&`+<8)loQP~Wl4Vy z6X50+sgxkiBX@zdDZv}a_3Bs6e32T|C91l)CG?&?dn6Arao6gNC#nS;g*It-2_6D0 zcQXBE0{H=}=`rRVgW7i;7OTCOwC zzn`Nt=H+@uY?e zD}$hgsUk}wbp%K_toclNl6wKHH=&t{v53EnoCwR_iV+Z$~_ltaLJDIOt+Gv14VDJ z1td8|kccarjp{1h9W9exRHV{1DA~&!b>khufCzV|_JdieNY4K81<@IyxYE%UI%W6@y9sK9%;l_+VWJsB|b05Ic!{z>7!JQi&o00mxwQ zGjC3C>EC|;Y_#IX+0m1%wp{cd66zi4WU!&2R}b--eOwC6Pf#lMYU1o3aqRbb0-~-I zJhVqr^4~i+X{wRXPq6XJc3gsalgV+A%KdciqO6A^O`}Aoli%6D6=1OVlsTXW#C?+2 zgj=4&bmqeE`{&_2Q(R8m@J(I^`*r;8rP7N>*(sla+tXSUw-+3IR7Qk?Eq95p_($X$ z08?*LYDTOa@;k)u`Z@#rlQRQ%y;fIl7KSL5H`-sF?Pi> zHek_ctXLItll<~_(E=x<1!fwH`bK2&`U)N(NNv7i{_tXwi*`fw2P#w|)Pmuqc~yBqvu&jf2LWJK#Pg}y#DHtYK{#@DyN=)MjC1^RMDk49 zo7>|T#icdOe&SyjtRkjjpCgI2cX`-VZ^Te7MkFRC73p(eE4@pp`00iuk4Dn>h_A); z2(eIo{B1)SiYnqV@RG$dxe_<3rQS-mGjR(4P>n=K9WO%QQ|FzJEqZXOiM9(0lysW0 znI>{ki!-1*i`AI4Q^bK9Qxx#?N$#OeKZa+l6lYy_kJmyl-}i7#$>}X0(oQAKgY+fV z>94%PMR$k;%k%4P54Jp(aRnS$b@%QWZ1uy83zXojgvA!31b^A!7ulaA6HyRQXwkaz z%M4HujYyyKgq)q%Me7)aZzm$3J!kAAN3%!OUbu)aPt?G~Mg&Fa*el(%)o-qTM+#WB zP#?YAY!Wc0T#jV=46|>LYO`)bTIccGTW^db5+dG{5HvkiF234lUl{Rq4Lna2vT5(E zUWFnUWBi{20#;PSpLRb&?jeayf)8*L{2)r%08OlOix7^u`=xj}ucRkWPeR|q-1kbt ztkDWvB`7>7yF5f9#o)7CTDXjgd!A%3;{tFDNq zJf*(fl<0z3`=*n2&P^RLr<%8>AhrE)zei+(+CUydX6G5DbtEG%qk%FvI0@j@#FB@n z@{}GvbN%^=s|MtmzVS;OznUgnz;er#n1``X=9D=5pfTI%P`#NXic?Ht59W{MN$9yt zcG?Hpn%E>PAZhh-Z%FZcIia2ONx1Q+($NbR=A&)=fQnn+HxHR*!%Ww*QvqC6=bio7 zc$D}?UOs7BmgHVdBa%zC%|jf%=j_mf5IHz4hYkG6kft5F$&38h`s~f;Q1)+j%Am&r z3zbzMnE7wJakYnK(AKFQiA_i{cJYeJQ}fvO`DOFMI4s zUmWl7#?mn4r_l*dR31hb+vL8rEa3flvRZV7)moDg68=|u8yk_a$uxdaYsKx3pJa9+ z(Rjwp#2mjCV)DX{DcAOD4~R4MR?qAYS$g1&)c^Ls703ax9Ipp5NUkbjohqcZ(I&p! z!sqAQ%EnPHDXPcM2uX4)WZ-Pv_?$h`|`T6rd%5S33;_WW+XP8e@ zA0kpZyq>kUnWcMg<1FF4@;rst0Uw3^Cv_wP-E>eBJ)ABDRN!iu>zeJcJ1I5Y^7E5% zc^*20*eIE!f-feGaYb?V4lTsT%Gs>x#{DK2>{*@=wgj_}MCc%t!Rx2Ubl5Nf#~5|x z1!SZkeuYcLC(h`nx);tu^gyTI3eYTirqA0?Mi(NisDfvaB*Mptk`Ruotx|D4*HFix zxQ76-1VyPtBWi7Rg#`oT*+1;~A5Ny!C;ZMyTb;)c`e}DF&0r^$EC9)ic&z5dA3&%b zl*Yn(AFzYJB!(BU;4mtfJ+E^2BElPzdC#l=LWh~aL34lN*=`+})ph8Jy6}TJpbzL$pzFWgnOL_O zUioQOm)G4*V&GZXkj%`p%YA{<3IkNZ2-uCqj?Ii2X3SqBS2g{T8+i|4TJ3QX=aC9r zjvMEB+bkMVqEjZ0UU7bp=5LQEm;xqiU>?#`mF*5D{w=?x)~hH+6Cq3z)`e_J-ym%U zq!dynfnn{@-r*AzV5+|DsM0yjiw#i>Zw;++pX1uUYvZ*X-MIf6ujvw?N3ZZ?&>&DD zr<5%Ky*;Mpr~Hgbm&SVUZlFK(=!aCG!rMt*H=r6h$96!IJHVXrI)Z3@dCu{U%kIX+ zyIEjYKBi0EL$n1^5wDl%8zrjhh=ja`6?U0;1RMa9mU{i)hBcJ_%~c*aXt zd8c(N_8~}niK&**i-|nZD&HDhxTGNQ0sW9C^FB3cc;}&>4UYR(6>GIWJY%HAW;)Wa{9q#2xo`!^s%LK zAzq{|-kX{8yVGVwbWR!96k?$S!R+Hc{sJtH#*NcQ@gA6)dOuNN_S?K?uNUwQ78??<&J2A0(L|l-CdioxZtf=In zOm$&J(X5Rm%Ar$DLj%w|!qE&Oc_{wS#_slnlsq2dAR{Q>YA(s82R<+4FLlGw;+j9+ zDQLtW!5@(Kn73(L7cX)S_Lr`aCB#8-dtq*3jW(ux;48M0l{ebcgzL9itT z{Y{sQq4>}~HF0nO4R=<0!uW5~%Wz#6Wr+QxrLtm5Etwn})zNb6dAsMa|5f+4GcN@XiacRb(`*RwE+Bcr2Cypu=)$*=uAc3jaZ@rBbe_X>o%#GU8Ux6-#j% z7@S@DV|0c95bvwNqa-szPyc17DS(09=Eoh*l+!633azKdc8@Qgh0K9I57c%yro0mu zS;HQn`fh2AfI^5Js1+1De=UjYAka&&S9Kl}??Jy{Q&?k8-!TUc=R>A?an9$#VEan`iimI}O7c4>eEqaLX&G#~@h+JCPA8!Oz5 zg~pq-wd@|GefqT{N%&K$q{vEh9f+P4%X_Z}+EU3pp^0L-HjjWS7US=yQ-J^FxeYF(2EZ)s3zf7mxeRpi<#8Ger>JC1>er(k7>;)nN<^YpHK05Ks zji}hYd!&sYFaH>)q&F1&MR8dSfa{ zd~r-Dg{8uSV`5$fmE`r~8&oa%l16uB`IIkQntj@L&iecA6^2pJfKLuJCK&Kinj?Ch?Z>qLfV%a6$Y;0V8Sato?N z^}aC|qLf;vYAyi{P1KZ{iNUn0)PZWt!-=!gjYZl|c8&(t+Y;F_Mgs&ksCFwt!U z`^*BU3~HRo{SQzX((MG7dAATypr6ZS?F%JI?-T)-OdLfPMZ$Wt@PybU1(Y{1QyYI# zZOXNQaLn#Ol>dUP2b#>_{wMYCAym680TdRDNBAmc{7(b6P6l>d6qUq=+V6vbPHq=&6ak#8kqQpU%OM+6xwJ6Fq(x!KBD+ zMJ$J#L8Il6=`rotPZ}Oj&%4BWW)7Go@*lL+nGCDEtUnoi!xeHJwQ~wblp8d2O;$fa z=8k&cMZ$~&vw$SxvYGku-B?3fCr+#&Fg!h{d!8l|!_Z9iQTG_dMH6lOzSx-)9F1>P z&ZBbEYBE12Ykn-Tl;ybYaCEw%>ptD~AVl%B8AYU<`FerW%rDe53IGWC!Dv-jql7l>0-m?LA`B%@r}W`^_47d zCa%hK=orZH?#$tJr^4h9kPIbQf>4g{yO4CJH?`3}W>@-}jZa`rc(-Xx85pgFa3#ul+6?*xW}p;z}BRtPjEjD?X6RDoNa@-B>JOas zJR9$Vrup)4_urkC$>)(C*z@+P*m45ZiI)&heoE%Wy-el-=f7lh)dag| z1O!03VC-)Z8hqchH^+WjzJs5cyL+t{BOQ2 zrBi%wn}~otL|tP7jkz|G+h7G@lMGl$!QK2I5(?iPDN@9?hIL@_a7FvYab5hcQE=~U zx4vO9xjWCLpSE9c7#{%R{`j3U>eF&|y(}a4-SfJ`+rbw2L71I@CKE zfYgBjhNRQBN$qVf0?SfuGum;t{f1DDBX>YBgyrPUsn);YU6-IPBc$>i*I?Tf4LQP| z=%R_=FgOI9>7el(_vx-D;1)>ScIU&EX^8M2vjxDnc2*vvVUMX&lm7IWW;ySO_P!b4nbAC+tp?E3n$LD(1KV}~Ri5MLz>S_;gOxzhViH>tGTqhkYQ47n4|akP&HqfaC>;EPyZOJ^woY(Espa z$0!Y_PN4r`RT3lD5TbG-A?hr>4%P?rlpldUM{@Ria@EYh;t+qhH<3^HhB0WS+6OOZiRggsyN`(310+Y z`5Tdppn;*}B|jpOfjgJb@A_E+&%O}%l7a*W>=Cm!k)|{-iI5wOOoxe+e;98pQ9Y@@ zwLR{<0QM9VDgMH3-0vk2MaqmjeD`RtgxU>5nLCRiN(Ebg0^oEdW z#eALtcRTN)g_kcd(iHb;Pgx&wG&QFZ3Xt`NfQ2*sEJy#CZ5;-`jKX+b)>0Kuuq|92 zahI@W0H-j*|JSFLJ%9qBxx8B0ELTQMh`7{TNV|z!kUsQ(he#Z7=jp@Ytp4CLXaT>F zg^DJ|`9XJ7Kvh_V_Wt(wxq(_h@60)h-{#;cm;>ddo5i?I<;Dm2kRf6Wz{h)&k#XuF zAT*8vYAT%`i(BAsdCz1OwD?6-8=DNlEftgw1QFmw;!th|M!-7akE=ba*6t6B$B??gi@x3B{nGixg ziGhagGK<>Y(#_>JB@P=HZ;SoNayCw>8^OAFCI;yVtLZS(y*+^YEvw+ zMDTre{lEXalbZM7*TXFJkyo&%vd&?T zG5721rG&Q+XgguJ9~sOqdCcD5-!DT|6HyaUk09Wxr2bq5Yx^Ma|G()nWxvXRAdrJ0 z`x5|2-GF`ji3kMzlV(R!>R+4%ya-9K;%_VaS9GSpT~{KM#l@JrkZD9h2;jmjMw)OI*mxt$V&cnjznOD zx&BbKI^^&D=W+fV#W6S${9#e=ar?i5G<&bG&AH+}IYw<8!x#VZ_uWk++%3#cC4zCc zis3b1-_C!3>!&1)4%Uwhc2vWbXtWK zR(Jn8hMW%X&3+ziBii_J(Ci+bW+9k6d+iNsZ~oZMtU9*U;T{zW#$~BSoc`@Wa0X2m zpR#&X`s}+#2{Fyst~zSL^tA>KmjCBOUO?JLEgE`xG21k`h6H58!}$1^5BL%xlqQw2 z#+{gle{BG~-}60#3w2n5_NV?0w5F-P&5bX59oPZ15w$~83!Hz&$KeM>pySn|KV&(47g&!k4AO8Tnal*Fl6t9&zVLoT! z05;|EkZb`K{kw_8F}wZC`dG6mwEr(Xz|nm%T3|Kp*erEFy>u+kDB#y7l4G3qV*luNT*iEzVI*o&wul zCile+CwgV7w-9ant;h~>`o#`mxB^^SjzAmA$3=gV~?# zm~0Q$b*c4Qu$t??QWU(F12tcGS>BBSyKDA{P>q#zkztOiFCF5c$iz;)#~g5JMF9Wa zO_~2?gcX25)JQ?wi!;X`F$i)ZjnFJ!{9sbK5RB;ITS1EfZ=Ih532seJp=B{-|7u9M zVkpyMAt$4CC*}RWpilP{|_+D`nZ~h4y{ic61FQ@B5*t!ip=x6bg#h{6d%#$# z7&dn5w;O}V`~R9qz`?;G0IIq{n5{1bf5MC;NiUt+gj7V<<>F^|KwrCunc8&UP(sO% zXqi4!A5B5HXb~2gA#rOtN7j@it8st~C}=^e3U?|O6M|s^B&hgYv%&Sd&JAGr3%5T*7U&i;x~U_Jz?EI#fp1p+V< z=9{Myw79W6K`a=cxv!}A4Jo>=@z>m{k&I}D8`Q&U0F-nHgFOXGpK@!9iM~8*&k&n6%T-*EJ!xqoAVLVdExxR!iL!qAbM!jyQHI|qiY^5<8n}OA-(H5D*mjch6{A- z*FcjPoyN`E?|o{w5RA(9l&Uu=@Q#qg@64LlBwu@HPcMLgr4cNoWPZfThG6`L(t0hI zY93Id7<}_Og;Kp`f{Lcf+fC!2awq4Olk?UxQPQr zmLb9ug)|xiaLMRLtf%q&{YW=bc&@cK@ZUb_X)8d+XxQF0yVIeu$;*gLy>x-Ze9hS& zU1}A{jUPp1C!_BjN=whZGTX5J_K_4c<H zRf&}wy21Q;N~CfHN7wq0Ud9d`nRSFb7m>hT3V2>k@g3ISqg2T0Ejri?)1TM0%z&l% z@z~aM`B)j`(wzgwq6{S0;zpQ9hm09}uJXS4w2VMKkp><#WLzKCxfm?-Vo*F*@kR~y zdrReXSq&Zt$@hTbIWM~fBFOR<=Y;mMBlUsY{ds(91=es#1k+PzA|*>RNx{% z6g{qWV<@wcdCmopQ}wBQ`556LW@$kZtZ1F#O^v7T^R^=DvnqBsPdqa(%nSYX5eCvV z-21TrbBB$9X8@I!QE(IB>cX)=aE2Un3Ixs(C2%~R37o^xLtnaKi@4l;F`K;V+uP!p(AhH*mV zh?;$E@bkO8)aEtO(fh~k@wWhwb|YK&Txf|TG@vC#aquGrpT*zI-sxLQ4adR+HW36T z0j&=z5%+rB3ow1gZQyJciRMc~E|B>W-SU%tDNH4!hc_R2|ce`1nAFteM5 zcw*N4z}`mu9*I)d3A)k>q(~9yv@BSRWtMINZQe z2#bj!kJLjDk)sl^2ARE<^9Fx8!G0kmS^sd$Ob{2ivCMb?>l{>o^Zif%l6>dmzWPF=J|33pFa=9@Y(Soy>|L)iumQiUZ(^% zpj&EuF>__+8s)-M>U)}Txkrxg3A+j1(V1Zlc%txPb^zgFppjmFZ=2AGQ0w*tUVhsr z07ZwpMRNsvEiA8D`cgg}+<`nVjYKGuNfttIZEqT>rC4v-|1`8+ii?;fB?}NA#l}2( z=uJ1OYe-cSF_NNb0n5-u`s57bp(8Ja<#rt-uEp?<0T)1nT0}T)wPC9l+n!bd>$N9S zuS7v{7@yDctUGfODqX{M!PnjNrgI_8wmbGFPI_D)GT``vW-nM}KQ^LvfV8`OB&C?x z#o*^Q3!`JIF+knJW`4;xP3mR)dD~pPS`O(`Sz*Nuqs4tQQ!BMvk`t$no&FN)#?$ zxB>k6kF~2@eU^941@LD~$hhvEtDvi_4cdQDltrY<=ldu2-DZPb0S&0$DiY4i3luKT zvZ#rPGf=wdhsSP1+lPUL45~t=(mmQewq@buVd>=d-xdXCYP^IbwD-Jc7A{DBiD(A< z1)OI+xqxVfEvAtbY(Vl3p)c!-%h5w@(yQpo<#wrKrnUrgcYr8v1GO+%o)Ju` z5^~5e3mRIpfg?1S{Sh2Psag9oNDbnt#UVL!$on_)hN7;p%tu~(DZP5JUv8Vd@vRb_ zMZ#Ca2}FujTqMT>*|O|q4=JQS=0CTGOxH$#9NxK0qcPF)lG=2dJ*m^I?F`h{Zj{cN z3abfOvswy7iiwy3CF)rz6>H2Rw21^40#3Ju!6^0d{_=70-~_YO zh%6Pid-7cwX(?xcNf22PovLDEPaB^QGcpve^%_$+)k&kqAHQN7=tin(q}8_#IGXKY z+KiF`)Hs)f8f!0CUlev1qi9RVYxkPZf<%1u*B7SZrla#232){k**V4@ShS}?LL(?65!>A2{I(S_@*4>Zl+oF$U6udA|U}i5Tc$4*b5G{ z#CjUOmyn43aTj9&mLQzH;~6AUG?~kBi2xx|h}|wtkqlsZFg8d=m>?dAebcEN8fjnh z7FdAoXIPi`6|{l8Vkx`NEP8DFe7_y|(hUV8EnWchS5*colX6P0E*|~>@Z5MtGWUID)TsLJiJC9aCvzB3f@#p)>f_%C5=jx^Z!8l z456X1%h@13D>YxS=d}eqoTE<=XM84Oo~b}_?MUiX%f4LG=2@VAzkE}f)uB~w>^s<4 z_SAdwvfZS`Gf}e2tTzeAztZ4UfXA_2CezPal$qL_`Y4kk!2+>}))4(jTB551k!WmV z%YsGMcpcP0WUqX$w5*}IeniyvHNs<{Fkm5b!6vZP z@m< zQKU)e_4Sut*29wsJEov})8~{Cdu{EPDOz?Xib_qJ>C^&$dTy<{9?bXN+wD%%%u3j$ zZ5b-Edw08qyW^&=?yUAFgd-tE%l6A92F^%)^x5LC4+eI}HY5qFVNWPn7bo5E(F|7^ zbCbpJ(WKpXhs!1GWNJiddo^rzlq;^jF}kN!?zQ6vnCngtdl)SC;9=G0TgwI31KT7I zvXx!F%B9}QdnMCWGV=9pRX>c^b*Hs5pxk(4P~f$*xxwEIhz@Ir<09VoRea^Yk*wqi zP)kmk@e~PwN9`?!r}+)B3LQJ3ZBC8y1`65PNJYM-Ovi7jwQ>DU3q!G}=c;kyeQ6e! zu@)@b5E3ii&&P)+0 zKQUA0Hv~n~)jniC?ShWydrPPRW;Zo8IfP8dMA4x5Z`eFQvLL566*y{jFTc zHk;muJL+GASClXAN0S2Szhcj?kaUA0i$+b_6x!>pU65+K?habo;~8N8TH}X00%THC z@5fn(1f}PZ1jyH{NNx4C-_Z`*83KBy-PKo?nK{Uexn0R4sJ+hk-5=gwEa}JeX=Rv& ztzM|^!XUUp%!HL|Wxlp^f`imT4-VcLN}k?=EY3(C&1N^Tc7gKO@)}2)!AlbtXotT3 zVr8n{uorPzF#!C(u-)^)_ zlrD-Bb_27xUE>OsiCv-35cAxHcK)+{3De`~G+aMh$4*(?nPS`9fwJ zud-0Bi+v?&4GJNCmEqPN2$S>-?bUAEsW0!vh^y7)rf1|g&W~xz(#~aYS$fn0;XS z*Bdeh92+ZLf!tTj?{K$E*$jyraJYH!XryN&K&{S1g=YH$0p4?#26aIdk_@KH%#cBrUEf|{eh&5{zu!Y3*(nCZgZZRBF`j<31F)rPPx>Gj%-y`QA$euHG9OwGVb*=M%+XvbT^ zW=@La0X)*FEH-)F;jW<_m~z(-vkFf*H{6t&P~HH2v4R4X zW2gd|ke5X3Te<@QJn6A_GASOskqzDqeqs}j4o>Y%yZ%w8mW+;f@vP&#I>$Ej#(hAB zY~7wIBCck%ALL}Z6-o_)-}>u9I$f&sOxgI!r&+|DT@K4G5WZv>v{GMsnJJr*M$Gj~ zs)Oe8!=ZqDCF_Z{*xe)%hq>9ok3BZzud;|`U``^@OjpViPRq0S=nt1)_+mB$ey|fH zQ^vg>f#Jc3TF;?^Ve?wC2Z{W#8y1PTHpPCB6L+Q`5h#*h;E!JGN#e1iyzJ6V79 zx5M0IWihqDqOV|jo+hx>vQkRks>D+ZJ>3sA$Ca&;Y*mL)zuR;0MnqnkY?lkJDVgE2VDM9khCt6LjET zx30{6ei%jZHJg@BZjc-l4buWtU#r7I*j?`!)wCnZZ~?sz_;4t@kAo_3Ox3!GY05P8ty&^lB9j`#%9 zo`3rM+zbGw#xK|mTHKhEP*X$gKr33>@S;Nv1J0?sEy79}_dM_=?!@@`kWr#0Wd0aS zj|WWc%hk!)B@f42yPdiJkByZ$7dH`jjTJU3;{r<$i?d!sjG`2`?MJtjI~2w|NlB01 zRS$lKRk@j{Ynh)SnkL``dQ*vJ{6MqXest3@KHZ{@{XYzu#w^rnGy-ouBWwA(4HjuDIQJ~TA!4}{IbX^560iEv9M-BpPe zZsq4xr=nmTv0(A|{8r8h0-2<{(_@P(%?V_C2=3%$%wTw;LH5-;7pTYxLtLLf2pVa) zJ6-!bYroFj;<}zsXDKtedr5QBrlOF(pL;L>sGx z6|wyps?;de=4vJEx>HJ55~2d`vEqDLRYbu}xEkKT?%!pfEuo%$*weE_Gs66P^L)Em z!WF~McP^QAhH=|hK<@ED>WE&6Lk^(FMIz2WUX9O^F50|tNv+PH(5lafn1cDye0`cf z&%J?i&#i=wmx$MD`d-*>dC!$aH_-I!Q!esn)v{8r{!WaJK9Agsm-PIWpqZurS+5V8t>-Q*fiU$# zZX^cvRYaIF6K@{Ke?1M<5|x(9pE$*QzbLsM-M<1x$_8dM9h-%DG=*~mh0$?|#Sq&o zRV{WsUyv@^&G*}N@bAYt$SEIxNmX1OKG*6w7<6GAoEIlZ_pNfdZm!N*rjEyFf{||y z(>XScbd#mO4KHe|DCk^GQKpcbJnFbGBynv+!jTCdox-Mc9OIJ0k9ZU%YOmJM8M`^P z3O@Wf-yMVxlVLaL6aKfPClW7YumKDo;+WcV9tM6{mX1w=ToQZpdtECl?@q4+X}*%H z%GhMk0Y`6s!Ovf94RgoXT)eT4dQy-_D z+)kYyR>@raCMSF|hCQtnlW7+Hs%B=&~tT+^Ev|u9nl%Zc2oy2p%^Yv%K ze6=q1JIV$?X_m;nkb15h60Qkjn;rB0A1sZAU`mKFLR*wkTKdgxZGLV!PdlkNYvA-q z5J9zLYjE(HAaVvHFwADL&$g5py zsv8Hc_N*W@Ij36^H1W}YqDk0g1$=^Pz@+1JrZ7I}%xJYLX{^pn=BV^6p(7E*8LdDt zT3RtgM2N-9zv8>;_pOiF!E@(?d=h@4oSd9Ki`Y#Xu|dh7v_RsiCnjmSc;m&{{-+%3 zc1Djm&fa6t<6rT#XDKaH{Aecl4QJNYN>e9>?EJ@wL?pM_`*u z^sai!FbhCU70CN)xmmT+?tCt({H6FT^JHVGQ5|Voa`NRu(InT@Tav(3`)FVrl4L?V zWErf!w$_lCU+V|50U43o21wZxSodbAnvXD|q-;lgf+u9NB^*jEKEI8Lqaqm?gCNjS zuE!6*?hffm$hFTHIxA#t91KWXMnG=DP~Az`*@j89AI{Gg9Y2#*?kM?qM#JCoGK=m& z;FTe_tVHhZP0Hai_q7JWJ6@rO&r~DuKla2GGw>W%fs}LofILk16O3PqZU#EaaF@-? z6l#BW-H6ZC3Yw)UPFn3|?bD(^=d5w7KQneGgo628ds zF-U~qH#Cjk9!~AfNEFYg9tDL~2zb#pGFGkwEHxLwo6nqEaQ&=H*!;C(_asGf>d2dO zMZ|R!Oy_PeZR!=?jjd4U7%eI+3jJ_$KRT5>ePr&%8DlD1|92C&`}1!*LG$c7Z{P#9 zc;Vg;mQgEHoefcdps2fBzA-*Io@nq8a)FfyDRPPhJs_pL=_$-|Aew+52#(T4~gg?$Eb|vnGO9C&W zr&CE&9}qPbEND)!<(F)dHqW@V!inAbY=^KPlq;&6Rsa(0%X~SjFQx-tUtLl!(00xQ zkd-h7E$n6Hnym_w&_bZ()W*p+v8ppA2YhXr-le{p_+nD*Fm;{6S-!B7xR`r+W|>v5 zbKwL2FVf(og70BcLjcq{l9e4_!mAW4UBrEV<|OBl-%{XH$pr^eDrbZV`x`sNixiDL zP>(o@u-UobMVe3~;tpg89LS;=l6uU6l=M})aF=Orb7jVQtm&E82+Ur}L!c424+*Ti z69=U6uJf>pYe~t?g`qNP*LDxWYLUC&ESjI6TGr!E7<{itPhrW!?)7W(T6|WiQI>w$ z^bw7W4O%jToa1Nv)IXHJ=UClY6XC)~vl3)_%GHeAEcB5sI{dTel>lX2#Wk~e1=`nO zeMjF<(-O7+%D)K8cN%@CU!T61&qAG`J>PRYqO0OY)o_MR;Z1NLG7Kub9#E~X*t{G# zLK*}lJ6p`D>V2L}QLBAj%7%9(Sl=4xdS0!4e-dvOC^t84q1Glb13A(>3grot;d0Mi zG=t&M zetbp-BD=7T!h=NrbiczWY?ZB^rt$J;+-HsJ*NtR@$aBDBxn$n6enqWAAHXBnj#Zj z6TDT~5O!?gS&L5pHQT|0e8GAb?BjwaaUrEdh5dE97CD4_FrtNrzeGDC$uxYgrV%4u z{RQys1)jTNZpg#?ZljXd7ku{1*dmWU6{`< z(O>O#hX-axEr5R!Tt!Q&8c=EJH$obeb_mtJykTYOy9fZa0pyTEE8;3p@rty+a-gU8 zh4$TkXdqDXwjaswRLO(E41J(jM+Hh_8mb(l1sNEzJ~ML7ghOCChyt~-GFmGQw`Xii zbr>JJG>$0S_{{x5eb{$Bn!q!Y0%-g^_UV#krK=XMvX-W&xA6F;aTm#qsH>~%vu?x4 z=-n$Ur3Y(++U~+V2A#{nDIo0EuylNZV^jD`uyGypJvY-JCso)j*ldSHP^f$&$WdpY zdF{zDAJ4evgo4TvaxL%-1f-&Qt7}DiUyW6~eIi2ICGNu1!QXi{%y-^T0l9k-cQ_~zIR+i$ zgzHovTMh8>Fza2b<+J7RNcEtsEJj2-VKE1OO-+no7Qu-3_3O3SzC6TFJLfq4qsk_W zNS~TOv(p`tC@kL?ey;gTyX^8#k^JlR^5A-+@l5qWnCm@9u6HWlGn5JW6w5sFd|p9^ zF$*HCLkrKR(JtQb81q>w0)YIO($dm)zmX-T@Ud)}>;IrgP!;m(>pN%Lq(;wa;G^xz?;K|QmlY0|f)(D#OW?wK8$Xep^F~(!Kkg+Dhv(D`@s=JdWr z*vC$(z^WRkGT2FlJfirQ#gt|#0CQ>Ve&_IEj6g8bgSiy;+Go3t5v3eD&}cKAH6vJ! z20CO?*yE>|1M--@T4XoW)%#%le7b79WH-!Tx+rHGSoM_#MUmk{iuU!>#4ZN*sgY;O zrH6A@Mr(;V_$(bU;42Tt^v{xE?#TBWL6PdjcwIkMhJ~WwTH}#sQrMS2_)gy&R{|ZL zAIfz8rlaGBlp{s>Xtbvb2W8yHQ#yaoHuitF2&#)w*bCoJLbAWhrKh>Ex5HlP`Dz9c zMvN*4H}J12zkF+TwogM}|1QMo%mn;kDoz(Y4_qU?PmPK~VOAOYci2BZ3I}=uRX>fp z-zRVx5o)227cifBy$`X2KJ}cqcm3gM%%sieaWAjl0v*?#Wgvw_QN&dc3agpg5>}<9 zrk37;15JdVhdG~!&?4#q{FVVa7RsT&C)EIn{1=K1O|Tz;636cY{?8Hz@@H2^wt#gt z7q;gn9Bjwg-p{0@q~a(fc3@qkBubKT87S8f#n`C7lHq#^Vpkgi=4jkj1t41$P~?C) zMn2NVA(JXX72b+fi56_2!j%aW3vmy39Z8X{La%`~_!$}b`CT`dbl)s?$b7JEeJA5` z75yhokCSuXqXaal;r!cb2X(T!aZfB1?6VtYcXqzB^-ZfJb|V{=L6zLqPsiQEJra<2 zzT2y~?BHGe)a^3o1$~HWvRCH@+|_N>53W5NiMR!+OG~;N6WtP)e**L0i~4tY|8M^j zdREyMd)|6!v`QTr{nRSvue~`xiwd%jC zmjA(;z(;()5ypA%y3TxgAL2OwP3#&;DXhr(b8f$qgKKGtGX|M5Rnu(&E1^& znifS%Pp|XQX>L2dyL)TW($Me?ZP!!sHB$5q5@$xQf0s3^4*7pcXDi=Tb@egzN?>L( z^#;qBrb*l*ozELkWBGHKnOyVmxBX}ccC$22+Wn0N{$JnuFV9$+bo{EGo;A$#$%g4P zT2S$N_WU`g%m^!QCZ0=v$_bY$0OM;&z?hCnkD>qewB}U;&*+`AgcTW(FcYcNRPcCp)CB6)9p8uZ-&tL6``yYEY6oK8LO*F%1xE!wZ zwNh4Y5h)X(#0jeXUl7;O^XY1NLb2~7%z{wn`SM?0=9RoOZRJ-)ZYlhnXS!ScM^Xup zDAPM@#2FQ6=~>p3hX0*VF^Vr^sNC}-llyEAlK+mr{+*yEdg4b8{eLCPw?0L36j=7~ z&Gh9ZAvU9CsIIOqZcbxThhd@Xs!KAnezyHs(=?55sxr|Cz>otxOtltFU?msa!W9N%1A}Lcd{BcOF#cicm(PN8xTD zOOZY;`I>YQ-BC%8-qnR+oAXYy*^-`{y)gEvl-lv)zxr(d<6X8Wl}0)6>lCyUK+b*e yqjMox8Ta1vCWY_7E^ljy>MHjwSXgZD?fXHj@ALWgU?Lv;Q;<`+m??A1@BaXIl)-lZ literal 0 HcmV?d00001 diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/server/pyproject.toml b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/server/pyproject.toml new file mode 100644 index 0000000000..2657a82235 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/server/pyproject.toml @@ -0,0 +1,14 @@ +[project] +name = "mcp-http-server-example" +version = "0.1.0" +requires-python = ">=3.10" +dependencies = [ + "boto3>=1.35", + "mcp>=1.8.1", + "opentelemetry-distro>=0.58b0", + "opentelemetry-exporter-otlp>=1.37.0", + "opentelemetry-instrumentation-mcp", + "opentelemetry-sdk", + "pip>=25.2", + "requests>=2.32.5", +] diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/server/server.py b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/server/server.py new file mode 100644 index 0000000000..6d29aa3678 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/server/server.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python3 +"""MCP server with HTTP transport using SSE.""" + +import boto3 # type: ignore[import-untyped] +import requests +from mcp.server.fastmcp import FastMCP + + +def call_http(url: str) -> str: + try: + response = requests.get(url, timeout=5) + return f"HTTP call succeeded. Status: {response.status_code}, Body length: {len(response.content)} bytes" + except requests.RequestException as exc: + return f"HTTP call failed: {str(exc)}" + + +def call_s3() -> str: + try: + s3_client = boto3.client("s3") # type: ignore[no-untyped-call] + response = s3_client.list_buckets() # type: ignore[no-untyped-call] + bucket_list = response.get("Buckets", []) # type: ignore[union-attr] + buckets = ", ".join( + [str(bucket.get("Name", "")) for bucket in bucket_list] # type: ignore[union-attr] + ) + if not buckets: + buckets = "No buckets found" + return f"S3 call succeeded. Buckets: {buckets}" + except Exception as exc: # pylint: disable=broad-exception-caught + return f"S3 call failed: {str(exc)}" + + +mcp = FastMCP("MCP HTTP Server") + + +@mcp.tool() # type: ignore[misc] +def add(a: int, b: int) -> int: + """Add two numbers""" + return a + b + + +@mcp.tool() # type: ignore[misc] +def multiply(a: int, b: int) -> int: + """Multiply two numbers""" + return a * b + + +@mcp.tool() # type: ignore[misc] +def pingweb(url: str) -> str: + """Make an HTTP GET request to the specified URL""" + return call_http(url) + + +@mcp.tool() # type: ignore[misc] +def awssdkcall() -> str: + """Make an AWS S3 API call to list buckets""" + return call_s3() + + +@mcp.resource("greeting://{name}") # type: ignore[misc] +def get_greeting(name: str) -> str: + """Get a personalized greeting""" + return f"Hello, {name}!" + + +if __name__ == "__main__": + # Run with SSE transport on port 8000 + mcp.run(transport="sse") diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/server/uv.lock b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/server/uv.lock new file mode 100644 index 0000000000..ea00b37e4b --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/http-transport/server/uv.lock @@ -0,0 +1,1159 @@ +version = 1 +revision = 3 +requires-python = ">=3.10" +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version < '3.13'", +] + +[[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" } +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" }, +] + +[[package]] +name = "anyio" +version = "4.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "idna" }, + { name = "sniffio" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz", hash = "sha256:82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4", size = 219094, upload-time = "2025-09-23T09:19:12.58Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl", hash = "sha256:0287e96f4d26d4149305414d4e3bc32f0dcd0862365a4bddea19d7a1ec38c4fc", size = 109097, upload-time = "2025-09-23T09:19:10.601Z" }, +] + +[[package]] +name = "attrs" +version = "25.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", size = 934251, upload-time = "2025-10-06T13:54:44.725Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615, upload-time = "2025-10-06T13:54:43.17Z" }, +] + +[[package]] +name = "boto3" +version = "1.40.52" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, + { name = "jmespath" }, + { name = "s3transfer" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a0/5a/8ba08c979926326d961e2384d994d789a2eda3ed281bb6cb333b36e92310/boto3-1.40.52.tar.gz", hash = "sha256:96ee720b52be647d8ef5ba92fccfce6b65d6321769430fe6edd10d57ec43c25b", size = 111530, upload-time = "2025-10-14T20:32:12.226Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/d2/879e9787c5263aefc5c88f0dd97cdea29ac01c480dd53c2421de77a493f7/boto3-1.40.52-py3-none-any.whl", hash = "sha256:ecc8c99d3cc96716cdfba62d9c9c6ce0eb98d02494a66690bcc2ec181c1ced67", size = 139345, upload-time = "2025-10-14T20:32:10.801Z" }, +] + +[[package]] +name = "botocore" +version = "1.40.52" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jmespath" }, + { name = "python-dateutil" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/83/74/3449d77c002d82586786b91dff6dd2e6fd52c5cdc1793d1ac7ea690ea52c/botocore-1.40.52.tar.gz", hash = "sha256:b65d970ca4ccd869639332083da17c3a933bcf495120dcc4f5c7723cb3f6216c", size = 14427680, upload-time = "2025-10-14T20:32:03.065Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/05/ad/559dc4097fe1368e5f3abb5d8ca496f9c609e4e452498bca11134fde1462/botocore-1.40.52-py3-none-any.whl", hash = "sha256:838697a06c7713df8d39f088105334b4eadcc3d65c7a260bf1a1bd8bf616ce4a", size = 14098823, upload-time = "2025-10-14T20:32:00.094Z" }, +] + +[[package]] +name = "certifi" +version = "2025.10.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/5b/b6ce21586237c77ce67d01dc5507039d444b630dd76611bbca2d8e5dcd91/certifi-2025.10.5.tar.gz", hash = "sha256:47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43", size = 164519, upload-time = "2025-10-05T04:12:15.808Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl", hash = "sha256:0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de", size = 163286, upload-time = "2025-10-05T04:12:14.03Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", size = 129418, upload-time = "2025-10-14T04:42:32.879Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1f/b8/6d51fc1d52cbd52cd4ccedd5b5b2f0f6a11bbf6765c782298b0f3e808541/charset_normalizer-3.4.4-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e824f1492727fa856dd6eda4f7cee25f8518a12f3c4a56a74e8095695089cf6d", size = 209709, upload-time = "2025-10-14T04:40:11.385Z" }, + { url = "https://files.pythonhosted.org/packages/5c/af/1f9d7f7faafe2ddfb6f72a2e07a548a629c61ad510fe60f9630309908fef/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4bd5d4137d500351a30687c2d3971758aac9a19208fc110ccb9d7188fbe709e8", size = 148814, upload-time = "2025-10-14T04:40:13.135Z" }, + { url = "https://files.pythonhosted.org/packages/79/3d/f2e3ac2bbc056ca0c204298ea4e3d9db9b4afe437812638759db2c976b5f/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:027f6de494925c0ab2a55eab46ae5129951638a49a34d87f4c3eda90f696b4ad", size = 144467, upload-time = "2025-10-14T04:40:14.728Z" }, + { url = "https://files.pythonhosted.org/packages/ec/85/1bf997003815e60d57de7bd972c57dc6950446a3e4ccac43bc3070721856/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f820802628d2694cb7e56db99213f930856014862f3fd943d290ea8438d07ca8", size = 162280, upload-time = "2025-10-14T04:40:16.14Z" }, + { url = "https://files.pythonhosted.org/packages/3e/8e/6aa1952f56b192f54921c436b87f2aaf7c7a7c3d0d1a765547d64fd83c13/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:798d75d81754988d2565bff1b97ba5a44411867c0cf32b77a7e8f8d84796b10d", size = 159454, upload-time = "2025-10-14T04:40:17.567Z" }, + { url = "https://files.pythonhosted.org/packages/36/3b/60cbd1f8e93aa25d1c669c649b7a655b0b5fb4c571858910ea9332678558/charset_normalizer-3.4.4-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d1bb833febdff5c8927f922386db610b49db6e0d4f4ee29601d71e7c2694313", size = 153609, upload-time = "2025-10-14T04:40:19.08Z" }, + { url = "https://files.pythonhosted.org/packages/64/91/6a13396948b8fd3c4b4fd5bc74d045f5637d78c9675585e8e9fbe5636554/charset_normalizer-3.4.4-cp310-cp310-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:9cd98cdc06614a2f768d2b7286d66805f94c48cde050acdbbb7db2600ab3197e", size = 151849, upload-time = "2025-10-14T04:40:20.607Z" }, + { url = "https://files.pythonhosted.org/packages/b7/7a/59482e28b9981d105691e968c544cc0df3b7d6133152fb3dcdc8f135da7a/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:077fbb858e903c73f6c9db43374fd213b0b6a778106bc7032446a8e8b5b38b93", size = 151586, upload-time = "2025-10-14T04:40:21.719Z" }, + { url = "https://files.pythonhosted.org/packages/92/59/f64ef6a1c4bdd2baf892b04cd78792ed8684fbc48d4c2afe467d96b4df57/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:244bfb999c71b35de57821b8ea746b24e863398194a4014e4c76adc2bbdfeff0", size = 145290, upload-time = "2025-10-14T04:40:23.069Z" }, + { url = "https://files.pythonhosted.org/packages/6b/63/3bf9f279ddfa641ffa1962b0db6a57a9c294361cc2f5fcac997049a00e9c/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:64b55f9dce520635f018f907ff1b0df1fdc31f2795a922fb49dd14fbcdf48c84", size = 163663, upload-time = "2025-10-14T04:40:24.17Z" }, + { url = "https://files.pythonhosted.org/packages/ed/09/c9e38fc8fa9e0849b172b581fd9803bdf6e694041127933934184e19f8c3/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_riscv64.whl", hash = "sha256:faa3a41b2b66b6e50f84ae4a68c64fcd0c44355741c6374813a800cd6695db9e", size = 151964, upload-time = "2025-10-14T04:40:25.368Z" }, + { url = "https://files.pythonhosted.org/packages/d2/d1/d28b747e512d0da79d8b6a1ac18b7ab2ecfd81b2944c4c710e166d8dd09c/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6515f3182dbe4ea06ced2d9e8666d97b46ef4c75e326b79bb624110f122551db", size = 161064, upload-time = "2025-10-14T04:40:26.806Z" }, + { url = "https://files.pythonhosted.org/packages/bb/9a/31d62b611d901c3b9e5500c36aab0ff5eb442043fb3a1c254200d3d397d9/charset_normalizer-3.4.4-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:cc00f04ed596e9dc0da42ed17ac5e596c6ccba999ba6bd92b0e0aef2f170f2d6", size = 155015, upload-time = "2025-10-14T04:40:28.284Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f3/107e008fa2bff0c8b9319584174418e5e5285fef32f79d8ee6a430d0039c/charset_normalizer-3.4.4-cp310-cp310-win32.whl", hash = "sha256:f34be2938726fc13801220747472850852fe6b1ea75869a048d6f896838c896f", size = 99792, upload-time = "2025-10-14T04:40:29.613Z" }, + { url = "https://files.pythonhosted.org/packages/eb/66/e396e8a408843337d7315bab30dbf106c38966f1819f123257f5520f8a96/charset_normalizer-3.4.4-cp310-cp310-win_amd64.whl", hash = "sha256:a61900df84c667873b292c3de315a786dd8dac506704dea57bc957bd31e22c7d", size = 107198, upload-time = "2025-10-14T04:40:30.644Z" }, + { url = "https://files.pythonhosted.org/packages/b5/58/01b4f815bf0312704c267f2ccb6e5d42bcc7752340cd487bc9f8c3710597/charset_normalizer-3.4.4-cp310-cp310-win_arm64.whl", hash = "sha256:cead0978fc57397645f12578bfd2d5ea9138ea0fac82b2f63f7f7c6877986a69", size = 100262, upload-time = "2025-10-14T04:40:32.108Z" }, + { url = "https://files.pythonhosted.org/packages/ed/27/c6491ff4954e58a10f69ad90aca8a1b6fe9c5d3c6f380907af3c37435b59/charset_normalizer-3.4.4-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:6e1fcf0720908f200cd21aa4e6750a48ff6ce4afe7ff5a79a90d5ed8a08296f8", size = 206988, upload-time = "2025-10-14T04:40:33.79Z" }, + { url = "https://files.pythonhosted.org/packages/94/59/2e87300fe67ab820b5428580a53cad894272dbb97f38a7a814a2a1ac1011/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5f819d5fe9234f9f82d75bdfa9aef3a3d72c4d24a6e57aeaebba32a704553aa0", size = 147324, upload-time = "2025-10-14T04:40:34.961Z" }, + { url = "https://files.pythonhosted.org/packages/07/fb/0cf61dc84b2b088391830f6274cb57c82e4da8bbc2efeac8c025edb88772/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a59cb51917aa591b1c4e6a43c132f0cdc3c76dbad6155df4e28ee626cc77a0a3", size = 142742, upload-time = "2025-10-14T04:40:36.105Z" }, + { url = "https://files.pythonhosted.org/packages/62/8b/171935adf2312cd745d290ed93cf16cf0dfe320863ab7cbeeae1dcd6535f/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8ef3c867360f88ac904fd3f5e1f902f13307af9052646963ee08ff4f131adafc", size = 160863, upload-time = "2025-10-14T04:40:37.188Z" }, + { url = "https://files.pythonhosted.org/packages/09/73/ad875b192bda14f2173bfc1bc9a55e009808484a4b256748d931b6948442/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d9e45d7faa48ee908174d8fe84854479ef838fc6a705c9315372eacbc2f02897", size = 157837, upload-time = "2025-10-14T04:40:38.435Z" }, + { url = "https://files.pythonhosted.org/packages/6d/fc/de9cce525b2c5b94b47c70a4b4fb19f871b24995c728e957ee68ab1671ea/charset_normalizer-3.4.4-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:840c25fb618a231545cbab0564a799f101b63b9901f2569faecd6b222ac72381", size = 151550, upload-time = "2025-10-14T04:40:40.053Z" }, + { url = "https://files.pythonhosted.org/packages/55/c2/43edd615fdfba8c6f2dfbd459b25a6b3b551f24ea21981e23fb768503ce1/charset_normalizer-3.4.4-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ca5862d5b3928c4940729dacc329aa9102900382fea192fc5e52eb69d6093815", size = 149162, upload-time = "2025-10-14T04:40:41.163Z" }, + { url = "https://files.pythonhosted.org/packages/03/86/bde4ad8b4d0e9429a4e82c1e8f5c659993a9a863ad62c7df05cf7b678d75/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d9c7f57c3d666a53421049053eaacdd14bbd0a528e2186fcb2e672effd053bb0", size = 150019, upload-time = "2025-10-14T04:40:42.276Z" }, + { url = "https://files.pythonhosted.org/packages/1f/86/a151eb2af293a7e7bac3a739b81072585ce36ccfb4493039f49f1d3cae8c/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:277e970e750505ed74c832b4bf75dac7476262ee2a013f5574dd49075879e161", size = 143310, upload-time = "2025-10-14T04:40:43.439Z" }, + { url = "https://files.pythonhosted.org/packages/b5/fe/43dae6144a7e07b87478fdfc4dbe9efd5defb0e7ec29f5f58a55aeef7bf7/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:31fd66405eaf47bb62e8cd575dc621c56c668f27d46a61d975a249930dd5e2a4", size = 162022, upload-time = "2025-10-14T04:40:44.547Z" }, + { url = "https://files.pythonhosted.org/packages/80/e6/7aab83774f5d2bca81f42ac58d04caf44f0cc2b65fc6db2b3b2e8a05f3b3/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:0d3d8f15c07f86e9ff82319b3d9ef6f4bf907608f53fe9d92b28ea9ae3d1fd89", size = 149383, upload-time = "2025-10-14T04:40:46.018Z" }, + { url = "https://files.pythonhosted.org/packages/4f/e8/b289173b4edae05c0dde07f69f8db476a0b511eac556dfe0d6bda3c43384/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:9f7fcd74d410a36883701fafa2482a6af2ff5ba96b9a620e9e0721e28ead5569", size = 159098, upload-time = "2025-10-14T04:40:47.081Z" }, + { url = "https://files.pythonhosted.org/packages/d8/df/fe699727754cae3f8478493c7f45f777b17c3ef0600e28abfec8619eb49c/charset_normalizer-3.4.4-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ebf3e58c7ec8a8bed6d66a75d7fb37b55e5015b03ceae72a8e7c74495551e224", size = 152991, upload-time = "2025-10-14T04:40:48.246Z" }, + { url = "https://files.pythonhosted.org/packages/1a/86/584869fe4ddb6ffa3bd9f491b87a01568797fb9bd8933f557dba9771beaf/charset_normalizer-3.4.4-cp311-cp311-win32.whl", hash = "sha256:eecbc200c7fd5ddb9a7f16c7decb07b566c29fa2161a16cf67b8d068bd21690a", size = 99456, upload-time = "2025-10-14T04:40:49.376Z" }, + { url = "https://files.pythonhosted.org/packages/65/f6/62fdd5feb60530f50f7e38b4f6a1d5203f4d16ff4f9f0952962c044e919a/charset_normalizer-3.4.4-cp311-cp311-win_amd64.whl", hash = "sha256:5ae497466c7901d54b639cf42d5b8c1b6a4fead55215500d2f486d34db48d016", size = 106978, upload-time = "2025-10-14T04:40:50.844Z" }, + { url = "https://files.pythonhosted.org/packages/7a/9d/0710916e6c82948b3be62d9d398cb4fcf4e97b56d6a6aeccd66c4b2f2bd5/charset_normalizer-3.4.4-cp311-cp311-win_arm64.whl", hash = "sha256:65e2befcd84bc6f37095f5961e68a6f077bf44946771354a28ad434c2cce0ae1", size = 99969, upload-time = "2025-10-14T04:40:52.272Z" }, + { url = "https://files.pythonhosted.org/packages/f3/85/1637cd4af66fa687396e757dec650f28025f2a2f5a5531a3208dc0ec43f2/charset_normalizer-3.4.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0a98e6759f854bd25a58a73fa88833fba3b7c491169f86ce1180c948ab3fd394", size = 208425, upload-time = "2025-10-14T04:40:53.353Z" }, + { url = "https://files.pythonhosted.org/packages/9d/6a/04130023fef2a0d9c62d0bae2649b69f7b7d8d24ea5536feef50551029df/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b5b290ccc2a263e8d185130284f8501e3e36c5e02750fc6b6bdeb2e9e96f1e25", size = 148162, upload-time = "2025-10-14T04:40:54.558Z" }, + { url = "https://files.pythonhosted.org/packages/78/29/62328d79aa60da22c9e0b9a66539feae06ca0f5a4171ac4f7dc285b83688/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74bb723680f9f7a6234dcf67aea57e708ec1fbdf5699fb91dfd6f511b0a320ef", size = 144558, upload-time = "2025-10-14T04:40:55.677Z" }, + { url = "https://files.pythonhosted.org/packages/86/bb/b32194a4bf15b88403537c2e120b817c61cd4ecffa9b6876e941c3ee38fe/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f1e34719c6ed0b92f418c7c780480b26b5d9c50349e9a9af7d76bf757530350d", size = 161497, upload-time = "2025-10-14T04:40:57.217Z" }, + { url = "https://files.pythonhosted.org/packages/19/89/a54c82b253d5b9b111dc74aca196ba5ccfcca8242d0fb64146d4d3183ff1/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:2437418e20515acec67d86e12bf70056a33abdacb5cb1655042f6538d6b085a8", size = 159240, upload-time = "2025-10-14T04:40:58.358Z" }, + { url = "https://files.pythonhosted.org/packages/c0/10/d20b513afe03acc89ec33948320a5544d31f21b05368436d580dec4e234d/charset_normalizer-3.4.4-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:11d694519d7f29d6cd09f6ac70028dba10f92f6cdd059096db198c283794ac86", size = 153471, upload-time = "2025-10-14T04:40:59.468Z" }, + { url = "https://files.pythonhosted.org/packages/61/fa/fbf177b55bdd727010f9c0a3c49eefa1d10f960e5f09d1d887bf93c2e698/charset_normalizer-3.4.4-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:ac1c4a689edcc530fc9d9aa11f5774b9e2f33f9a0c6a57864e90908f5208d30a", size = 150864, upload-time = "2025-10-14T04:41:00.623Z" }, + { url = "https://files.pythonhosted.org/packages/05/12/9fbc6a4d39c0198adeebbde20b619790e9236557ca59fc40e0e3cebe6f40/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:21d142cc6c0ec30d2efee5068ca36c128a30b0f2c53c1c07bd78cb6bc1d3be5f", size = 150647, upload-time = "2025-10-14T04:41:01.754Z" }, + { url = "https://files.pythonhosted.org/packages/ad/1f/6a9a593d52e3e8c5d2b167daf8c6b968808efb57ef4c210acb907c365bc4/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:5dbe56a36425d26d6cfb40ce79c314a2e4dd6211d51d6d2191c00bed34f354cc", size = 145110, upload-time = "2025-10-14T04:41:03.231Z" }, + { url = "https://files.pythonhosted.org/packages/30/42/9a52c609e72471b0fc54386dc63c3781a387bb4fe61c20231a4ebcd58bdd/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5bfbb1b9acf3334612667b61bd3002196fe2a1eb4dd74d247e0f2a4d50ec9bbf", size = 162839, upload-time = "2025-10-14T04:41:04.715Z" }, + { url = "https://files.pythonhosted.org/packages/c4/5b/c0682bbf9f11597073052628ddd38344a3d673fda35a36773f7d19344b23/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:d055ec1e26e441f6187acf818b73564e6e6282709e9bcb5b63f5b23068356a15", size = 150667, upload-time = "2025-10-14T04:41:05.827Z" }, + { url = "https://files.pythonhosted.org/packages/e4/24/a41afeab6f990cf2daf6cb8c67419b63b48cf518e4f56022230840c9bfb2/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:af2d8c67d8e573d6de5bc30cdb27e9b95e49115cd9baad5ddbd1a6207aaa82a9", size = 160535, upload-time = "2025-10-14T04:41:06.938Z" }, + { url = "https://files.pythonhosted.org/packages/2a/e5/6a4ce77ed243c4a50a1fecca6aaaab419628c818a49434be428fe24c9957/charset_normalizer-3.4.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:780236ac706e66881f3b7f2f32dfe90507a09e67d1d454c762cf642e6e1586e0", size = 154816, upload-time = "2025-10-14T04:41:08.101Z" }, + { url = "https://files.pythonhosted.org/packages/a8/ef/89297262b8092b312d29cdb2517cb1237e51db8ecef2e9af5edbe7b683b1/charset_normalizer-3.4.4-cp312-cp312-win32.whl", hash = "sha256:5833d2c39d8896e4e19b689ffc198f08ea58116bee26dea51e362ecc7cd3ed26", size = 99694, upload-time = "2025-10-14T04:41:09.23Z" }, + { url = "https://files.pythonhosted.org/packages/3d/2d/1e5ed9dd3b3803994c155cd9aacb60c82c331bad84daf75bcb9c91b3295e/charset_normalizer-3.4.4-cp312-cp312-win_amd64.whl", hash = "sha256:a79cfe37875f822425b89a82333404539ae63dbdddf97f84dcbc3d339aae9525", size = 107131, upload-time = "2025-10-14T04:41:10.467Z" }, + { url = "https://files.pythonhosted.org/packages/d0/d9/0ed4c7098a861482a7b6a95603edce4c0d9db2311af23da1fb2b75ec26fc/charset_normalizer-3.4.4-cp312-cp312-win_arm64.whl", hash = "sha256:376bec83a63b8021bb5c8ea75e21c4ccb86e7e45ca4eb81146091b56599b80c3", size = 100390, upload-time = "2025-10-14T04:41:11.915Z" }, + { url = "https://files.pythonhosted.org/packages/97/45/4b3a1239bbacd321068ea6e7ac28875b03ab8bc0aa0966452db17cd36714/charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794", size = 208091, upload-time = "2025-10-14T04:41:13.346Z" }, + { url = "https://files.pythonhosted.org/packages/7d/62/73a6d7450829655a35bb88a88fca7d736f9882a27eacdca2c6d505b57e2e/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed", size = 147936, upload-time = "2025-10-14T04:41:14.461Z" }, + { url = "https://files.pythonhosted.org/packages/89/c5/adb8c8b3d6625bef6d88b251bbb0d95f8205831b987631ab0c8bb5d937c2/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72", size = 144180, upload-time = "2025-10-14T04:41:15.588Z" }, + { url = "https://files.pythonhosted.org/packages/91/ed/9706e4070682d1cc219050b6048bfd293ccf67b3d4f5a4f39207453d4b99/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328", size = 161346, upload-time = "2025-10-14T04:41:16.738Z" }, + { url = "https://files.pythonhosted.org/packages/d5/0d/031f0d95e4972901a2f6f09ef055751805ff541511dc1252ba3ca1f80cf5/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede", size = 158874, upload-time = "2025-10-14T04:41:17.923Z" }, + { url = "https://files.pythonhosted.org/packages/f5/83/6ab5883f57c9c801ce5e5677242328aa45592be8a00644310a008d04f922/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894", size = 153076, upload-time = "2025-10-14T04:41:19.106Z" }, + { url = "https://files.pythonhosted.org/packages/75/1e/5ff781ddf5260e387d6419959ee89ef13878229732732ee73cdae01800f2/charset_normalizer-3.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1", size = 150601, upload-time = "2025-10-14T04:41:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/d7/57/71be810965493d3510a6ca79b90c19e48696fb1ff964da319334b12677f0/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490", size = 150376, upload-time = "2025-10-14T04:41:21.398Z" }, + { url = "https://files.pythonhosted.org/packages/e5/d5/c3d057a78c181d007014feb7e9f2e65905a6c4ef182c0ddf0de2924edd65/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44", size = 144825, upload-time = "2025-10-14T04:41:22.583Z" }, + { url = "https://files.pythonhosted.org/packages/e6/8c/d0406294828d4976f275ffbe66f00266c4b3136b7506941d87c00cab5272/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133", size = 162583, upload-time = "2025-10-14T04:41:23.754Z" }, + { url = "https://files.pythonhosted.org/packages/d7/24/e2aa1f18c8f15c4c0e932d9287b8609dd30ad56dbe41d926bd846e22fb8d/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3", size = 150366, upload-time = "2025-10-14T04:41:25.27Z" }, + { url = "https://files.pythonhosted.org/packages/e4/5b/1e6160c7739aad1e2df054300cc618b06bf784a7a164b0f238360721ab86/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e", size = 160300, upload-time = "2025-10-14T04:41:26.725Z" }, + { url = "https://files.pythonhosted.org/packages/7a/10/f882167cd207fbdd743e55534d5d9620e095089d176d55cb22d5322f2afd/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc", size = 154465, upload-time = "2025-10-14T04:41:28.322Z" }, + { url = "https://files.pythonhosted.org/packages/89/66/c7a9e1b7429be72123441bfdbaf2bc13faab3f90b933f664db506dea5915/charset_normalizer-3.4.4-cp313-cp313-win32.whl", hash = "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac", size = 99404, upload-time = "2025-10-14T04:41:29.95Z" }, + { url = "https://files.pythonhosted.org/packages/c4/26/b9924fa27db384bdcd97ab83b4f0a8058d96ad9626ead570674d5e737d90/charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14", size = 107092, upload-time = "2025-10-14T04:41:31.188Z" }, + { url = "https://files.pythonhosted.org/packages/af/8f/3ed4bfa0c0c72a7ca17f0380cd9e4dd842b09f664e780c13cff1dcf2ef1b/charset_normalizer-3.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2", size = 100408, upload-time = "2025-10-14T04:41:32.624Z" }, + { url = "https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd", size = 207746, upload-time = "2025-10-14T04:41:33.773Z" }, + { url = "https://files.pythonhosted.org/packages/10/9a/97c8d48ef10d6cd4fcead2415523221624bf58bcf68a802721a6bc807c8f/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb", size = 147889, upload-time = "2025-10-14T04:41:34.897Z" }, + { url = "https://files.pythonhosted.org/packages/10/bf/979224a919a1b606c82bd2c5fa49b5c6d5727aa47b4312bb27b1734f53cd/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e", size = 143641, upload-time = "2025-10-14T04:41:36.116Z" }, + { url = "https://files.pythonhosted.org/packages/ba/33/0ad65587441fc730dc7bd90e9716b30b4702dc7b617e6ba4997dc8651495/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14", size = 160779, upload-time = "2025-10-14T04:41:37.229Z" }, + { url = "https://files.pythonhosted.org/packages/67/ed/331d6b249259ee71ddea93f6f2f0a56cfebd46938bde6fcc6f7b9a3d0e09/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191", size = 159035, upload-time = "2025-10-14T04:41:38.368Z" }, + { url = "https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838", size = 152542, upload-time = "2025-10-14T04:41:39.862Z" }, + { url = "https://files.pythonhosted.org/packages/16/85/276033dcbcc369eb176594de22728541a925b2632f9716428c851b149e83/charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6", size = 149524, upload-time = "2025-10-14T04:41:41.319Z" }, + { url = "https://files.pythonhosted.org/packages/9e/f2/6a2a1f722b6aba37050e626530a46a68f74e63683947a8acff92569f979a/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e", size = 150395, upload-time = "2025-10-14T04:41:42.539Z" }, + { url = "https://files.pythonhosted.org/packages/60/bb/2186cb2f2bbaea6338cad15ce23a67f9b0672929744381e28b0592676824/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c", size = 143680, upload-time = "2025-10-14T04:41:43.661Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a5/bf6f13b772fbb2a90360eb620d52ed8f796f3c5caee8398c3b2eb7b1c60d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090", size = 162045, upload-time = "2025-10-14T04:41:44.821Z" }, + { url = "https://files.pythonhosted.org/packages/df/c5/d1be898bf0dc3ef9030c3825e5d3b83f2c528d207d246cbabe245966808d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152", size = 149687, upload-time = "2025-10-14T04:41:46.442Z" }, + { url = "https://files.pythonhosted.org/packages/a5/42/90c1f7b9341eef50c8a1cb3f098ac43b0508413f33affd762855f67a410e/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828", size = 160014, upload-time = "2025-10-14T04:41:47.631Z" }, + { url = "https://files.pythonhosted.org/packages/76/be/4d3ee471e8145d12795ab655ece37baed0929462a86e72372fd25859047c/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec", size = 154044, upload-time = "2025-10-14T04:41:48.81Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6f/8f7af07237c34a1defe7defc565a9bc1807762f672c0fde711a4b22bf9c0/charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", size = 99940, upload-time = "2025-10-14T04:41:49.946Z" }, + { url = "https://files.pythonhosted.org/packages/4b/51/8ade005e5ca5b0d80fb4aff72a3775b325bdc3d27408c8113811a7cbe640/charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", size = 107104, upload-time = "2025-10-14T04:41:51.051Z" }, + { url = "https://files.pythonhosted.org/packages/da/5f/6b8f83a55bb8278772c5ae54a577f3099025f9ade59d0136ac24a0df4bde/charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", size = 100743, upload-time = "2025-10-14T04:41:52.122Z" }, + { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402, upload-time = "2025-10-14T04:42:31.76Z" }, +] + +[[package]] +name = "click" +version = "8.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz", hash = "sha256:e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4", size = 276943, upload-time = "2025-09-18T17:32:23.696Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl", hash = "sha256:9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc", size = 107295, upload-time = "2025-09-18T17:32:22.42Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674, upload-time = "2025-05-10T17:42:49.33Z" }, +] + +[[package]] +name = "googleapis-common-protos" +version = "1.70.0" +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" } +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" }, +] + +[[package]] +name = "grpcio" +version = "1.75.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/f7/8963848164c7604efb3a3e6ee457fdb3a469653e19002bd24742473254f8/grpcio-1.75.1.tar.gz", hash = "sha256:3e81d89ece99b9ace23a6916880baca613c03a799925afb2857887efa8b1b3d2", size = 12731327, upload-time = "2025-09-26T09:03:36.887Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/57/89fd829fb00a6d0bee3fbcb2c8a7aa0252d908949b6ab58bfae99d39d77e/grpcio-1.75.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:1712b5890b22547dd29f3215c5788d8fc759ce6dd0b85a6ba6e2731f2d04c088", size = 5705534, upload-time = "2025-09-26T09:00:52.225Z" }, + { url = "https://files.pythonhosted.org/packages/76/dd/2f8536e092551cf804e96bcda79ecfbc51560b214a0f5b7ebc253f0d4664/grpcio-1.75.1-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:8d04e101bba4b55cea9954e4aa71c24153ba6182481b487ff376da28d4ba46cf", size = 11484103, upload-time = "2025-09-26T09:00:59.457Z" }, + { url = "https://files.pythonhosted.org/packages/9a/3d/affe2fb897804c98d56361138e73786af8f4dd876b9d9851cfe6342b53c8/grpcio-1.75.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:683cfc70be0c1383449097cba637317e4737a357cfc185d887fd984206380403", size = 6289953, upload-time = "2025-09-26T09:01:03.699Z" }, + { url = "https://files.pythonhosted.org/packages/87/aa/0f40b7f47a0ff10d7e482bc3af22dac767c7ff27205915f08962d5ca87a2/grpcio-1.75.1-cp310-cp310-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:491444c081a54dcd5e6ada57314321ae526377f498d4aa09d975c3241c5b9e1c", size = 6949785, upload-time = "2025-09-26T09:01:07.504Z" }, + { url = "https://files.pythonhosted.org/packages/a5/45/b04407e44050781821c84f26df71b3f7bc469923f92f9f8bc27f1406dbcc/grpcio-1.75.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:ce08d4e112d0d38487c2b631ec8723deac9bc404e9c7b1011426af50a79999e4", size = 6465708, upload-time = "2025-09-26T09:01:11.028Z" }, + { url = "https://files.pythonhosted.org/packages/09/3e/4ae3ec0a4d20dcaafbb6e597defcde06399ccdc5b342f607323f3b47f0a3/grpcio-1.75.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:5a2acda37fc926ccc4547977ac3e56b1df48fe200de968e8c8421f6e3093df6c", size = 7100912, upload-time = "2025-09-26T09:01:14.393Z" }, + { url = "https://files.pythonhosted.org/packages/34/3f/a9085dab5c313bb0cb853f222d095e2477b9b8490a03634cdd8d19daa5c3/grpcio-1.75.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:745c5fe6bf05df6a04bf2d11552c7d867a2690759e7ab6b05c318a772739bd75", size = 8042497, upload-time = "2025-09-26T09:01:17.759Z" }, + { url = "https://files.pythonhosted.org/packages/c3/87/ea54eba931ab9ed3f999ba95f5d8d01a20221b664725bab2fe93e3dee848/grpcio-1.75.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:259526a7159d39e2db40d566fe3e8f8e034d0fb2db5bf9c00e09aace655a4c2b", size = 7493284, upload-time = "2025-09-26T09:01:20.896Z" }, + { url = "https://files.pythonhosted.org/packages/b7/5e/287f1bf1a998f4ac46ef45d518de3b5da08b4e86c7cb5e1108cee30b0282/grpcio-1.75.1-cp310-cp310-win32.whl", hash = "sha256:f4b29b9aabe33fed5df0a85e5f13b09ff25e2c05bd5946d25270a8bd5682dac9", size = 3950809, upload-time = "2025-09-26T09:01:23.695Z" }, + { url = "https://files.pythonhosted.org/packages/a4/a2/3cbfc06a4ec160dc77403b29ecb5cf76ae329eb63204fea6a7c715f1dfdb/grpcio-1.75.1-cp310-cp310-win_amd64.whl", hash = "sha256:cf2e760978dcce7ff7d465cbc7e276c3157eedc4c27aa6de7b594c7a295d3d61", size = 4644704, upload-time = "2025-09-26T09:01:25.763Z" }, + { url = "https://files.pythonhosted.org/packages/0c/3c/35ca9747473a306bfad0cee04504953f7098527cd112a4ab55c55af9e7bd/grpcio-1.75.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:573855ca2e58e35032aff30bfbd1ee103fbcf4472e4b28d4010757700918e326", size = 5709761, upload-time = "2025-09-26T09:01:28.528Z" }, + { url = "https://files.pythonhosted.org/packages/c9/2c/ecbcb4241e4edbe85ac2663f885726fea0e947767401288b50d8fdcb9200/grpcio-1.75.1-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:6a4996a2c8accc37976dc142d5991adf60733e223e5c9a2219e157dc6a8fd3a2", size = 11496691, upload-time = "2025-09-26T09:01:31.214Z" }, + { url = "https://files.pythonhosted.org/packages/81/40/bc07aee2911f0d426fa53fe636216100c31a8ea65a400894f280274cb023/grpcio-1.75.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:b1ea1bbe77ecbc1be00af2769f4ae4a88ce93be57a4f3eebd91087898ed749f9", size = 6296084, upload-time = "2025-09-26T09:01:34.596Z" }, + { url = "https://files.pythonhosted.org/packages/b8/d1/10c067f6c67396cbf46448b80f27583b5e8c4b46cdfbe18a2a02c2c2f290/grpcio-1.75.1-cp311-cp311-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:e5b425aee54cc5e3e3c58f00731e8a33f5567965d478d516d35ef99fd648ab68", size = 6950403, upload-time = "2025-09-26T09:01:36.736Z" }, + { url = "https://files.pythonhosted.org/packages/3f/42/5f628abe360b84dfe8dd8f32be6b0606dc31dc04d3358eef27db791ea4d5/grpcio-1.75.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0049a7bf547dafaeeb1db17079ce79596c298bfe308fc084d023c8907a845b9a", size = 6470166, upload-time = "2025-09-26T09:01:39.474Z" }, + { url = "https://files.pythonhosted.org/packages/c3/93/a24035080251324019882ee2265cfde642d6476c0cf8eb207fc693fcebdc/grpcio-1.75.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b8ea230c7f77c0a1a3208a04a1eda164633fb0767b4cefd65a01079b65e5b1f", size = 7107828, upload-time = "2025-09-26T09:01:41.782Z" }, + { url = "https://files.pythonhosted.org/packages/e4/f8/d18b984c1c9ba0318e3628dbbeb6af77a5007f02abc378c845070f2d3edd/grpcio-1.75.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:36990d629c3c9fb41e546414e5af52d0a7af37ce7113d9682c46d7e2919e4cca", size = 8045421, upload-time = "2025-09-26T09:01:45.835Z" }, + { url = "https://files.pythonhosted.org/packages/7e/b6/4bf9aacff45deca5eac5562547ed212556b831064da77971a4e632917da3/grpcio-1.75.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b10ad908118d38c2453ade7ff790e5bce36580c3742919007a2a78e3a1e521ca", size = 7503290, upload-time = "2025-09-26T09:01:49.28Z" }, + { url = "https://files.pythonhosted.org/packages/3b/15/d8d69d10223cb54c887a2180bd29fe5fa2aec1d4995c8821f7aa6eaf72e4/grpcio-1.75.1-cp311-cp311-win32.whl", hash = "sha256:d6be2b5ee7bea656c954dcf6aa8093c6f0e6a3ef9945c99d99fcbfc88c5c0bfe", size = 3950631, upload-time = "2025-09-26T09:01:51.23Z" }, + { url = "https://files.pythonhosted.org/packages/8a/40/7b8642d45fff6f83300c24eaac0380a840e5e7fe0e8d80afd31b99d7134e/grpcio-1.75.1-cp311-cp311-win_amd64.whl", hash = "sha256:61c692fb05956b17dd6d1ab480f7f10ad0536dba3bc8fd4e3c7263dc244ed772", size = 4646131, upload-time = "2025-09-26T09:01:53.266Z" }, + { url = "https://files.pythonhosted.org/packages/3a/81/42be79e73a50aaa20af66731c2defeb0e8c9008d9935a64dd8ea8e8c44eb/grpcio-1.75.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:7b888b33cd14085d86176b1628ad2fcbff94cfbbe7809465097aa0132e58b018", size = 5668314, upload-time = "2025-09-26T09:01:55.424Z" }, + { url = "https://files.pythonhosted.org/packages/c5/a7/3686ed15822fedc58c22f82b3a7403d9faf38d7c33de46d4de6f06e49426/grpcio-1.75.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:8775036efe4ad2085975531d221535329f5dac99b6c2a854a995456098f99546", size = 11476125, upload-time = "2025-09-26T09:01:57.927Z" }, + { url = "https://files.pythonhosted.org/packages/14/85/21c71d674f03345ab183c634ecd889d3330177e27baea8d5d247a89b6442/grpcio-1.75.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bb658f703468d7fbb5dcc4037c65391b7dc34f808ac46ed9136c24fc5eeb041d", size = 6246335, upload-time = "2025-09-26T09:02:00.76Z" }, + { url = "https://files.pythonhosted.org/packages/fd/db/3beb661bc56a385ae4fa6b0e70f6b91ac99d47afb726fe76aaff87ebb116/grpcio-1.75.1-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:4b7177a1cdb3c51b02b0c0a256b0a72fdab719600a693e0e9037949efffb200b", size = 6916309, upload-time = "2025-09-26T09:02:02.894Z" }, + { url = "https://files.pythonhosted.org/packages/1e/9c/eda9fe57f2b84343d44c1b66cf3831c973ba29b078b16a27d4587a1fdd47/grpcio-1.75.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7d4fa6ccc3ec2e68a04f7b883d354d7fea22a34c44ce535a2f0c0049cf626ddf", size = 6435419, upload-time = "2025-09-26T09:02:05.055Z" }, + { url = "https://files.pythonhosted.org/packages/c3/b8/090c98983e0a9d602e3f919a6e2d4e470a8b489452905f9a0fa472cac059/grpcio-1.75.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3d86880ecaeb5b2f0a8afa63824de93adb8ebe4e49d0e51442532f4e08add7d6", size = 7064893, upload-time = "2025-09-26T09:02:07.275Z" }, + { url = "https://files.pythonhosted.org/packages/ec/c0/6d53d4dbbd00f8bd81571f5478d8a95528b716e0eddb4217cc7cb45aae5f/grpcio-1.75.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a8041d2f9e8a742aeae96f4b047ee44e73619f4f9d24565e84d5446c623673b6", size = 8011922, upload-time = "2025-09-26T09:02:09.527Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7c/48455b2d0c5949678d6982c3e31ea4d89df4e16131b03f7d5c590811cbe9/grpcio-1.75.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3652516048bf4c314ce12be37423c79829f46efffb390ad64149a10c6071e8de", size = 7466181, upload-time = "2025-09-26T09:02:12.279Z" }, + { url = "https://files.pythonhosted.org/packages/fd/12/04a0e79081e3170b6124f8cba9b6275871276be06c156ef981033f691880/grpcio-1.75.1-cp312-cp312-win32.whl", hash = "sha256:44b62345d8403975513af88da2f3d5cc76f73ca538ba46596f92a127c2aea945", size = 3938543, upload-time = "2025-09-26T09:02:14.77Z" }, + { url = "https://files.pythonhosted.org/packages/5f/d7/11350d9d7fb5adc73d2b0ebf6ac1cc70135577701e607407fe6739a90021/grpcio-1.75.1-cp312-cp312-win_amd64.whl", hash = "sha256:b1e191c5c465fa777d4cafbaacf0c01e0d5278022082c0abbd2ee1d6454ed94d", size = 4641938, upload-time = "2025-09-26T09:02:16.927Z" }, + { url = "https://files.pythonhosted.org/packages/46/74/bac4ab9f7722164afdf263ae31ba97b8174c667153510322a5eba4194c32/grpcio-1.75.1-cp313-cp313-linux_armv7l.whl", hash = "sha256:3bed22e750d91d53d9e31e0af35a7b0b51367e974e14a4ff229db5b207647884", size = 5672779, upload-time = "2025-09-26T09:02:19.11Z" }, + { url = "https://files.pythonhosted.org/packages/a6/52/d0483cfa667cddaa294e3ab88fd2c2a6e9dc1a1928c0e5911e2e54bd5b50/grpcio-1.75.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:5b8f381eadcd6ecaa143a21e9e80a26424c76a0a9b3d546febe6648f3a36a5ac", size = 11470623, upload-time = "2025-09-26T09:02:22.117Z" }, + { url = "https://files.pythonhosted.org/packages/cf/e4/d1954dce2972e32384db6a30273275e8c8ea5a44b80347f9055589333b3f/grpcio-1.75.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5bf4001d3293e3414d0cf99ff9b1139106e57c3a66dfff0c5f60b2a6286ec133", size = 6248838, upload-time = "2025-09-26T09:02:26.426Z" }, + { url = "https://files.pythonhosted.org/packages/06/43/073363bf63826ba8077c335d797a8d026f129dc0912b69c42feaf8f0cd26/grpcio-1.75.1-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:9f82ff474103e26351dacfe8d50214e7c9322960d8d07ba7fa1d05ff981c8b2d", size = 6922663, upload-time = "2025-09-26T09:02:28.724Z" }, + { url = "https://files.pythonhosted.org/packages/c2/6f/076ac0df6c359117676cacfa8a377e2abcecec6a6599a15a672d331f6680/grpcio-1.75.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0ee119f4f88d9f75414217823d21d75bfe0e6ed40135b0cbbfc6376bc9f7757d", size = 6436149, upload-time = "2025-09-26T09:02:30.971Z" }, + { url = "https://files.pythonhosted.org/packages/6b/27/1d08824f1d573fcb1fa35ede40d6020e68a04391709939e1c6f4193b445f/grpcio-1.75.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:664eecc3abe6d916fa6cf8dd6b778e62fb264a70f3430a3180995bf2da935446", size = 7067989, upload-time = "2025-09-26T09:02:33.233Z" }, + { url = "https://files.pythonhosted.org/packages/c6/98/98594cf97b8713feb06a8cb04eeef60b4757e3e2fb91aa0d9161da769843/grpcio-1.75.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c32193fa08b2fbebf08fe08e84f8a0aad32d87c3ad42999c65e9449871b1c66e", size = 8010717, upload-time = "2025-09-26T09:02:36.011Z" }, + { url = "https://files.pythonhosted.org/packages/8c/7e/bb80b1bba03c12158f9254762cdf5cced4a9bc2e8ed51ed335915a5a06ef/grpcio-1.75.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5cebe13088b9254f6e615bcf1da9131d46cfa4e88039454aca9cb65f639bd3bc", size = 7463822, upload-time = "2025-09-26T09:02:38.26Z" }, + { url = "https://files.pythonhosted.org/packages/23/1c/1ea57fdc06927eb5640f6750c697f596f26183573069189eeaf6ef86ba2d/grpcio-1.75.1-cp313-cp313-win32.whl", hash = "sha256:4b4c678e7ed50f8ae8b8dbad15a865ee73ce12668b6aaf411bf3258b5bc3f970", size = 3938490, upload-time = "2025-09-26T09:02:40.268Z" }, + { url = "https://files.pythonhosted.org/packages/4b/24/fbb8ff1ccadfbf78ad2401c41aceaf02b0d782c084530d8871ddd69a2d49/grpcio-1.75.1-cp313-cp313-win_amd64.whl", hash = "sha256:5573f51e3f296a1bcf71e7a690c092845fb223072120f4bdb7a5b48e111def66", size = 4642538, upload-time = "2025-09-26T09:02:42.519Z" }, + { url = "https://files.pythonhosted.org/packages/f2/1b/9a0a5cecd24302b9fdbcd55d15ed6267e5f3d5b898ff9ac8cbe17ee76129/grpcio-1.75.1-cp314-cp314-linux_armv7l.whl", hash = "sha256:c05da79068dd96723793bffc8d0e64c45f316248417515f28d22204d9dae51c7", size = 5673319, upload-time = "2025-09-26T09:02:44.742Z" }, + { url = "https://files.pythonhosted.org/packages/c6/ec/9d6959429a83fbf5df8549c591a8a52bb313976f6646b79852c4884e3225/grpcio-1.75.1-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:06373a94fd16ec287116a825161dca179a0402d0c60674ceeec8c9fba344fe66", size = 11480347, upload-time = "2025-09-26T09:02:47.539Z" }, + { url = "https://files.pythonhosted.org/packages/09/7a/26da709e42c4565c3d7bf999a9569da96243ce34a8271a968dee810a7cf1/grpcio-1.75.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4484f4b7287bdaa7a5b3980f3c7224c3c622669405d20f69549f5fb956ad0421", size = 6254706, upload-time = "2025-09-26T09:02:50.4Z" }, + { url = "https://files.pythonhosted.org/packages/f1/08/dcb26a319d3725f199c97e671d904d84ee5680de57d74c566a991cfab632/grpcio-1.75.1-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:2720c239c1180eee69f7883c1d4c83fc1a495a2535b5fa322887c70bf02b16e8", size = 6922501, upload-time = "2025-09-26T09:02:52.711Z" }, + { url = "https://files.pythonhosted.org/packages/78/66/044d412c98408a5e23cb348845979a2d17a2e2b6c3c34c1ec91b920f49d0/grpcio-1.75.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:07a554fa31c668cf0e7a188678ceeca3cb8fead29bbe455352e712ec33ca701c", size = 6437492, upload-time = "2025-09-26T09:02:55.542Z" }, + { url = "https://files.pythonhosted.org/packages/4e/9d/5e3e362815152aa1afd8b26ea613effa005962f9da0eec6e0e4527e7a7d1/grpcio-1.75.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:3e71a2105210366bfc398eef7f57a664df99194f3520edb88b9c3a7e46ee0d64", size = 7081061, upload-time = "2025-09-26T09:02:58.261Z" }, + { url = "https://files.pythonhosted.org/packages/1e/1a/46615682a19e100f46e31ddba9ebc297c5a5ab9ddb47b35443ffadb8776c/grpcio-1.75.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:8679aa8a5b67976776d3c6b0521e99d1c34db8a312a12bcfd78a7085cb9b604e", size = 8010849, upload-time = "2025-09-26T09:03:00.548Z" }, + { url = "https://files.pythonhosted.org/packages/67/8e/3204b94ac30b0f675ab1c06540ab5578660dc8b690db71854d3116f20d00/grpcio-1.75.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:aad1c774f4ebf0696a7f148a56d39a3432550612597331792528895258966dc0", size = 7464478, upload-time = "2025-09-26T09:03:03.096Z" }, + { url = "https://files.pythonhosted.org/packages/b7/97/2d90652b213863b2cf466d9c1260ca7e7b67a16780431b3eb1d0420e3d5b/grpcio-1.75.1-cp314-cp314-win32.whl", hash = "sha256:62ce42d9994446b307649cb2a23335fa8e927f7ab2cbf5fcb844d6acb4d85f9c", size = 4012672, upload-time = "2025-09-26T09:03:05.477Z" }, + { url = "https://files.pythonhosted.org/packages/f9/df/e2e6e9fc1c985cd1a59e6996a05647c720fe8a03b92f5ec2d60d366c531e/grpcio-1.75.1-cp314-cp314-win_amd64.whl", hash = "sha256:f86e92275710bea3000cb79feca1762dc0ad3b27830dd1a74e82ab321d4ee464", size = 4772475, upload-time = "2025-09-26T09:03:07.661Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +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" } +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" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { 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" } +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" }, +] + +[[package]] +name = "httpx-sse" +version = "0.4.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/4c/751061ffa58615a32c31b2d82e8482be8dd4a89154f003147acee90f2be9/httpx_sse-0.4.3.tar.gz", hash = "sha256:9b1ed0127459a66014aec3c56bebd93da3c1bc8bb6618c8082039a44889a755d", size = 15943, upload-time = "2025-10-10T21:48:22.271Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/fd/6668e5aec43ab844de6fc74927e155a3b37bf40d7c3790e49fc0406b6578/httpx_sse-0.4.3-py3-none-any.whl", hash = "sha256:0ac1c9fe3c0afad2e0ebb25a934a59f4c7823b60792691f779fad2c5568830fc", size = 8960, upload-time = "2025-10-10T21:48:21.158Z" }, +] + +[[package]] +name = "idna" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, +] + +[[package]] +name = "importlib-metadata" +version = "8.7.0" +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" } +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" }, +] + +[[package]] +name = "jmespath" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe", size = 25843, upload-time = "2022-06-17T18:00:12.224Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", size = 20256, upload-time = "2022-06-17T18:00:10.251Z" }, +] + +[[package]] +name = "jsonschema" +version = "4.25.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342, upload-time = "2025-08-18T17:03:50.038Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl", hash = "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", size = 90040, upload-time = "2025-08-18T17:03:48.373Z" }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2025.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "referencing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" }, +] + +[[package]] +name = "mcp" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "httpx" }, + { name = "httpx-sse" }, + { name = "jsonschema" }, + { name = "pydantic" }, + { name = "pydantic-settings" }, + { name = "python-multipart" }, + { name = "pywin32", marker = "sys_platform == 'win32'" }, + { name = "sse-starlette" }, + { name = "starlette" }, + { name = "uvicorn", marker = "sys_platform != 'emscripten'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5a/79/5724a540df19e192e8606c543cdcf162de8eb435077520cca150f7365ec0/mcp-1.17.0.tar.gz", hash = "sha256:1b57fabf3203240ccc48e39859faf3ae1ccb0b571ff798bbedae800c73c6df90", size = 477951, upload-time = "2025-10-10T12:16:44.519Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1c/72/3751feae343a5ad07959df713907b5c3fbaed269d697a14b0c449080cf2e/mcp-1.17.0-py3-none-any.whl", hash = "sha256:0660ef275cada7a545af154db3082f176cf1d2681d5e35ae63e014faf0a35d40", size = 167737, upload-time = "2025-10-10T12:16:42.863Z" }, +] + +[[package]] +name = "mcp-http-server-example" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "boto3" }, + { name = "mcp" }, + { name = "opentelemetry-distro" }, + { name = "opentelemetry-exporter-otlp" }, + { name = "opentelemetry-instrumentation-mcp" }, + { name = "opentelemetry-sdk" }, + { name = "pip" }, + { name = "requests" }, +] + +[package.metadata] +requires-dist = [ + { name = "boto3", specifier = ">=1.35" }, + { name = "mcp", specifier = ">=1.8.1" }, + { name = "opentelemetry-distro", specifier = ">=0.58b0" }, + { name = "opentelemetry-exporter-otlp", specifier = ">=1.37.0" }, + { name = "opentelemetry-instrumentation-mcp" }, + { name = "opentelemetry-sdk" }, + { name = "pip", specifier = ">=25.2" }, + { name = "requests", specifier = ">=2.32.5" }, +] + +[[package]] +name = "opentelemetry-api" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/04/05040d7ce33a907a2a02257e601992f0cdf11c73b33f13c4492bf6c3d6d5/opentelemetry_api-1.37.0.tar.gz", hash = "sha256:540735b120355bd5112738ea53621f8d5edb35ebcd6fe21ada3ab1c61d1cd9a7", size = 64923, upload-time = "2025-09-11T10:29:01.662Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/48/28ed9e55dcf2f453128df738210a980e09f4e468a456fa3c763dbc8be70a/opentelemetry_api-1.37.0-py3-none-any.whl", hash = "sha256:accf2024d3e89faec14302213bc39550ec0f4095d1cf5ca688e1bfb1c8612f47", size = 65732, upload-time = "2025-09-11T10:28:41.826Z" }, +] + +[[package]] +name = "opentelemetry-distro" +version = "0.58b0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "opentelemetry-instrumentation" }, + { name = "opentelemetry-sdk" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c3/20/597f387b42c649bac39af9ff8ad5bfdc163ce1a30cdecb16474ab8e57905/opentelemetry_distro-0.58b0.tar.gz", hash = "sha256:ef993c845c11fd156046a96e5ffe1ecfe33f7282fa6149cf9decb26ff8716666", size = 2583, upload-time = "2025-09-11T11:42:12.034Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/34/53016553489592262408b72e94466403da3c84ebe044b073bbcc1a6b228b/opentelemetry_distro-0.58b0-py3-none-any.whl", hash = "sha256:d90dddc3ae93d60d917a267a0099bd72f87fa3454b49ca8799f97cb58c777ef4", size = 3346, upload-time = "2025-09-11T11:40:56.853Z" }, +] + +[[package]] +name = "opentelemetry-exporter-otlp" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-exporter-otlp-proto-grpc" }, + { name = "opentelemetry-exporter-otlp-proto-http" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/64/df/47fde1de15a3d5ad410e98710fac60cd3d509df5dc7ec1359b71d6bf7e70/opentelemetry_exporter_otlp-1.37.0.tar.gz", hash = "sha256:f85b1929dd0d750751cc9159376fb05aa88bb7a08b6cdbf84edb0054d93e9f26", size = 6145, upload-time = "2025-09-11T10:29:03.075Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f5/23/7e35e41111e3834d918e414eca41555d585e8860c9149507298bb3b9b061/opentelemetry_exporter_otlp-1.37.0-py3-none-any.whl", hash = "sha256:bd44592c6bc7fc3e5c0a9b60f2ee813c84c2800c449e59504ab93f356cc450fc", size = 7019, upload-time = "2025-09-11T10:28:44.094Z" }, +] + +[[package]] +name = "opentelemetry-exporter-otlp-proto-common" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-proto" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/dc/6c/10018cbcc1e6fff23aac67d7fd977c3d692dbe5f9ef9bb4db5c1268726cc/opentelemetry_exporter_otlp_proto_common-1.37.0.tar.gz", hash = "sha256:c87a1bdd9f41fdc408d9cc9367bb53f8d2602829659f2b90be9f9d79d0bfe62c", size = 20430, upload-time = "2025-09-11T10:29:03.605Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/13/b4ef09837409a777f3c0af2a5b4ba9b7af34872bc43609dda0c209e4060d/opentelemetry_exporter_otlp_proto_common-1.37.0-py3-none-any.whl", hash = "sha256:53038428449c559b0c564b8d718df3314da387109c4d36bd1b94c9a641b0292e", size = 18359, upload-time = "2025-09-11T10:28:44.939Z" }, +] + +[[package]] +name = "opentelemetry-exporter-otlp-proto-grpc" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "googleapis-common-protos" }, + { name = "grpcio" }, + { name = "opentelemetry-api" }, + { name = "opentelemetry-exporter-otlp-proto-common" }, + { name = "opentelemetry-proto" }, + { name = "opentelemetry-sdk" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d1/11/4ad0979d0bb13ae5a845214e97c8d42da43980034c30d6f72d8e0ebe580e/opentelemetry_exporter_otlp_proto_grpc-1.37.0.tar.gz", hash = "sha256:f55bcb9fc848ce05ad3dd954058bc7b126624d22c4d9e958da24d8537763bec5", size = 24465, upload-time = "2025-09-11T10:29:04.172Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/17/46630b74751031a658706bef23ac99cdc2953cd3b2d28ec90590a0766b3e/opentelemetry_exporter_otlp_proto_grpc-1.37.0-py3-none-any.whl", hash = "sha256:aee5104835bf7993b7ddaaf380b6467472abaedb1f1dbfcc54a52a7d781a3890", size = 19305, upload-time = "2025-09-11T10:28:45.776Z" }, +] + +[[package]] +name = "opentelemetry-exporter-otlp-proto-http" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "googleapis-common-protos" }, + { name = "opentelemetry-api" }, + { name = "opentelemetry-exporter-otlp-proto-common" }, + { name = "opentelemetry-proto" }, + { name = "opentelemetry-sdk" }, + { name = "requests" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5d/e3/6e320aeb24f951449e73867e53c55542bebbaf24faeee7623ef677d66736/opentelemetry_exporter_otlp_proto_http-1.37.0.tar.gz", hash = "sha256:e52e8600f1720d6de298419a802108a8f5afa63c96809ff83becb03f874e44ac", size = 17281, upload-time = "2025-09-11T10:29:04.844Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/e9/70d74a664d83976556cec395d6bfedd9b85ec1498b778367d5f93e373397/opentelemetry_exporter_otlp_proto_http-1.37.0-py3-none-any.whl", hash = "sha256:54c42b39945a6cc9d9a2a33decb876eabb9547e0dcb49df090122773447f1aef", size = 19576, upload-time = "2025-09-11T10:28:46.726Z" }, +] + +[[package]] +name = "opentelemetry-instrumentation" +version = "0.58b0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "opentelemetry-semantic-conventions" }, + { name = "packaging" }, + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f6/36/7c307d9be8ce4ee7beb86d7f1d31027f2a6a89228240405a858d6e4d64f9/opentelemetry_instrumentation-0.58b0.tar.gz", hash = "sha256:df640f3ac715a3e05af145c18f527f4422c6ab6c467e40bd24d2ad75a00cb705", size = 31549, upload-time = "2025-09-11T11:42:14.084Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d4/db/5ff1cd6c5ca1d12ecf1b73be16fbb2a8af2114ee46d4b0e6d4b23f4f4db7/opentelemetry_instrumentation-0.58b0-py3-none-any.whl", hash = "sha256:50f97ac03100676c9f7fc28197f8240c7290ca1baa12da8bfbb9a1de4f34cc45", size = 33019, upload-time = "2025-09-11T11:41:00.624Z" }, +] + +[[package]] +name = "opentelemetry-instrumentation-mcp" +version = "0.47.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "opentelemetry-exporter-otlp" }, + { name = "opentelemetry-instrumentation" }, + { name = "opentelemetry-semantic-conventions" }, + { name = "opentelemetry-semantic-conventions-ai" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a8/75/61f0d4b058ef4185d69a0d83424b6dc4af459f9417b64aa94345b6590f21/opentelemetry_instrumentation_mcp-0.47.3.tar.gz", hash = "sha256:62bcad30d5bcac8dbd17b6b20187d3ca9822f28909e8d214bc1591d20294577d", size = 8750, upload-time = "2025-09-21T12:12:52.85Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1f/26/a5b34ec94ae27847a6a33bff6aad8962a91ff807b6838b60384687ea2d09/opentelemetry_instrumentation_mcp-0.47.3-py3-none-any.whl", hash = "sha256:9fdc1cb9b0df248de1065fd716597ebb8f044ed0c8cd3cffde2a41131c374f86", size = 10572, upload-time = "2025-09-21T12:12:17.191Z" }, +] + +[[package]] +name = "opentelemetry-proto" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "protobuf" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/dd/ea/a75f36b463a36f3c5a10c0b5292c58b31dbdde74f6f905d3d0ab2313987b/opentelemetry_proto-1.37.0.tar.gz", hash = "sha256:30f5c494faf66f77faeaefa35ed4443c5edb3b0aa46dad073ed7210e1a789538", size = 46151, upload-time = "2025-09-11T10:29:11.04Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c4/25/f89ea66c59bd7687e218361826c969443c4fa15dfe89733f3bf1e2a9e971/opentelemetry_proto-1.37.0-py3-none-any.whl", hash = "sha256:8ed8c066ae8828bbf0c39229979bdf583a126981142378a9cbe9d6fd5701c6e2", size = 72534, upload-time = "2025-09-11T10:28:56.831Z" }, +] + +[[package]] +name = "opentelemetry-sdk" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "opentelemetry-semantic-conventions" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f4/62/2e0ca80d7fe94f0b193135375da92c640d15fe81f636658d2acf373086bc/opentelemetry_sdk-1.37.0.tar.gz", hash = "sha256:cc8e089c10953ded765b5ab5669b198bbe0af1b3f89f1007d19acd32dc46dda5", size = 170404, upload-time = "2025-09-11T10:29:11.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/62/9f4ad6a54126fb00f7ed4bb5034964c6e4f00fcd5a905e115bd22707e20d/opentelemetry_sdk-1.37.0-py3-none-any.whl", hash = "sha256:8f3c3c22063e52475c5dbced7209495c2c16723d016d39287dfc215d1771257c", size = 131941, upload-time = "2025-09-11T10:28:57.83Z" }, +] + +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.58b0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/aa/1b/90701d91e6300d9f2fb352153fb1721ed99ed1f6ea14fa992c756016e63a/opentelemetry_semantic_conventions-0.58b0.tar.gz", hash = "sha256:6bd46f51264279c433755767bb44ad00f1c9e2367e1b42af563372c5a6fa0c25", size = 129867, upload-time = "2025-09-11T10:29:12.597Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/90/68152b7465f50285d3ce2481b3aec2f82822e3f52e5152eeeaf516bab841/opentelemetry_semantic_conventions-0.58b0-py3-none-any.whl", hash = "sha256:5564905ab1458b96684db1340232729fce3b5375a06e140e8904c78e4f815b28", size = 207954, upload-time = "2025-09-11T10:28:59.218Z" }, +] + +[[package]] +name = "opentelemetry-semantic-conventions-ai" +version = "0.4.13" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ba/e6/40b59eda51ac47009fb47afcdf37c6938594a0bd7f3b9fadcbc6058248e3/opentelemetry_semantic_conventions_ai-0.4.13.tar.gz", hash = "sha256:94efa9fb4ffac18c45f54a3a338ffeb7eedb7e1bb4d147786e77202e159f0036", size = 5368, upload-time = "2025-08-22T10:14:17.387Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/35/b5/cf25da2218910f0d6cdf7f876a06bed118c4969eacaf60a887cbaef44f44/opentelemetry_semantic_conventions_ai-0.4.13-py3-none-any.whl", hash = "sha256:883a30a6bb5deaec0d646912b5f9f6dcbb9f6f72557b73d0f2560bf25d13e2d5", size = 6080, upload-time = "2025-08-22T10:14:16.477Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "pip" +version = "25.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/16/650289cd3f43d5a2fadfd98c68bd1e1e7f2550a1a5326768cddfbcedb2c5/pip-25.2.tar.gz", hash = "sha256:578283f006390f85bb6282dffb876454593d637f5d1be494b5202ce4877e71f2", size = 1840021, upload-time = "2025-07-30T21:50:15.401Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/3f/945ef7ab14dc4f9d7f40288d2df998d1837ee0888ec3659c813487572faa/pip-25.2-py3-none-any.whl", hash = "sha256:6d67a2b4e7f14d8b31b8b52648866fa717f45a1eb70e83002f4331d07e953717", size = 1752557, upload-time = "2025-07-30T21:50:13.323Z" }, +] + +[[package]] +name = "protobuf" +version = "6.32.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fa/a4/cc17347aa2897568beece2e674674359f911d6fe21b0b8d6268cd42727ac/protobuf-6.32.1.tar.gz", hash = "sha256:ee2469e4a021474ab9baafea6cd070e5bf27c7d29433504ddea1a4ee5850f68d", size = 440635, upload-time = "2025-09-11T21:38:42.935Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/98/645183ea03ab3995d29086b8bf4f7562ebd3d10c9a4b14ee3f20d47cfe50/protobuf-6.32.1-cp310-abi3-win32.whl", hash = "sha256:a8a32a84bc9f2aad712041b8b366190f71dde248926da517bde9e832e4412085", size = 424411, upload-time = "2025-09-11T21:38:27.427Z" }, + { url = "https://files.pythonhosted.org/packages/8c/f3/6f58f841f6ebafe076cebeae33fc336e900619d34b1c93e4b5c97a81fdfa/protobuf-6.32.1-cp310-abi3-win_amd64.whl", hash = "sha256:b00a7d8c25fa471f16bc8153d0e53d6c9e827f0953f3c09aaa4331c718cae5e1", size = 435738, upload-time = "2025-09-11T21:38:30.959Z" }, + { url = "https://files.pythonhosted.org/packages/10/56/a8a3f4e7190837139e68c7002ec749190a163af3e330f65d90309145a210/protobuf-6.32.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d8c7e6eb619ffdf105ee4ab76af5a68b60a9d0f66da3ea12d1640e6d8dab7281", size = 426454, upload-time = "2025-09-11T21:38:34.076Z" }, + { url = "https://files.pythonhosted.org/packages/3f/be/8dd0a927c559b37d7a6c8ab79034fd167dcc1f851595f2e641ad62be8643/protobuf-6.32.1-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:2f5b80a49e1eb7b86d85fcd23fe92df154b9730a725c3b38c4e43b9d77018bf4", size = 322874, upload-time = "2025-09-11T21:38:35.509Z" }, + { url = "https://files.pythonhosted.org/packages/5c/f6/88d77011b605ef979aace37b7703e4eefad066f7e84d935e5a696515c2dd/protobuf-6.32.1-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:b1864818300c297265c83a4982fd3169f97122c299f56a56e2445c3698d34710", size = 322013, upload-time = "2025-09-11T21:38:37.017Z" }, + { url = "https://files.pythonhosted.org/packages/97/b7/15cc7d93443d6c6a84626ae3258a91f4c6ac8c0edd5df35ea7658f71b79c/protobuf-6.32.1-py3-none-any.whl", hash = "sha256:2601b779fc7d32a866c6b4404f9d42a3f67c5b9f3f15b4db3cccabe06b95c346", size = 169289, upload-time = "2025-09-11T21:38:41.234Z" }, +] + +[[package]] +name = "pydantic" +version = "2.12.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8d/35/d319ed522433215526689bad428a94058b6dd12190ce7ddd78618ac14b28/pydantic-2.12.2.tar.gz", hash = "sha256:7b8fa15b831a4bbde9d5b84028641ac3080a4ca2cbd4a621a661687e741624fd", size = 816358, upload-time = "2025-10-14T15:02:21.842Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6c/98/468cb649f208a6f1279448e6e5247b37ae79cf5e4041186f1e2ef3d16345/pydantic-2.12.2-py3-none-any.whl", hash = "sha256:25ff718ee909acd82f1ff9b1a4acfd781bb23ab3739adaa7144f19a6a4e231ae", size = 460628, upload-time = "2025-10-14T15:02:19.623Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.41.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/18/d0944e8eaaa3efd0a91b0f1fc537d3be55ad35091b6a87638211ba691964/pydantic_core-2.41.4.tar.gz", hash = "sha256:70e47929a9d4a1905a67e4b687d5946026390568a8e952b92824118063cee4d5", size = 457557, upload-time = "2025-10-14T10:23:47.909Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/3d/9b8ca77b0f76fcdbf8bc6b72474e264283f461284ca84ac3fde570c6c49a/pydantic_core-2.41.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2442d9a4d38f3411f22eb9dd0912b7cbf4b7d5b6c92c4173b75d3e1ccd84e36e", size = 2111197, upload-time = "2025-10-14T10:19:43.303Z" }, + { url = "https://files.pythonhosted.org/packages/59/92/b7b0fe6ed4781642232755cb7e56a86e2041e1292f16d9ae410a0ccee5ac/pydantic_core-2.41.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:30a9876226dda131a741afeab2702e2d127209bde3c65a2b8133f428bc5d006b", size = 1917909, upload-time = "2025-10-14T10:19:45.194Z" }, + { url = "https://files.pythonhosted.org/packages/52/8c/3eb872009274ffa4fb6a9585114e161aa1a0915af2896e2d441642929fe4/pydantic_core-2.41.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d55bbac04711e2980645af68b97d445cdbcce70e5216de444a6c4b6943ebcccd", size = 1969905, upload-time = "2025-10-14T10:19:46.567Z" }, + { url = "https://files.pythonhosted.org/packages/f4/21/35adf4a753bcfaea22d925214a0c5b880792e3244731b3f3e6fec0d124f7/pydantic_core-2.41.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e1d778fb7849a42d0ee5927ab0f7453bf9f85eef8887a546ec87db5ddb178945", size = 2051938, upload-time = "2025-10-14T10:19:48.237Z" }, + { url = "https://files.pythonhosted.org/packages/7d/d0/cdf7d126825e36d6e3f1eccf257da8954452934ede275a8f390eac775e89/pydantic_core-2.41.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1b65077a4693a98b90ec5ad8f203ad65802a1b9b6d4a7e48066925a7e1606706", size = 2250710, upload-time = "2025-10-14T10:19:49.619Z" }, + { url = "https://files.pythonhosted.org/packages/2e/1c/af1e6fd5ea596327308f9c8d1654e1285cc3d8de0d584a3c9d7705bf8a7c/pydantic_core-2.41.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:62637c769dee16eddb7686bf421be48dfc2fae93832c25e25bc7242e698361ba", size = 2367445, upload-time = "2025-10-14T10:19:51.269Z" }, + { url = "https://files.pythonhosted.org/packages/d3/81/8cece29a6ef1b3a92f956ea6da6250d5b2d2e7e4d513dd3b4f0c7a83dfea/pydantic_core-2.41.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dfe3aa529c8f501babf6e502936b9e8d4698502b2cfab41e17a028d91b1ac7b", size = 2072875, upload-time = "2025-10-14T10:19:52.671Z" }, + { url = "https://files.pythonhosted.org/packages/e3/37/a6a579f5fc2cd4d5521284a0ab6a426cc6463a7b3897aeb95b12f1ba607b/pydantic_core-2.41.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ca2322da745bf2eeb581fc9ea3bbb31147702163ccbcbf12a3bb630e4bf05e1d", size = 2191329, upload-time = "2025-10-14T10:19:54.214Z" }, + { url = "https://files.pythonhosted.org/packages/ae/03/505020dc5c54ec75ecba9f41119fd1e48f9e41e4629942494c4a8734ded1/pydantic_core-2.41.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e8cd3577c796be7231dcf80badcf2e0835a46665eaafd8ace124d886bab4d700", size = 2151658, upload-time = "2025-10-14T10:19:55.843Z" }, + { url = "https://files.pythonhosted.org/packages/cb/5d/2c0d09fb53aa03bbd2a214d89ebfa6304be7df9ed86ee3dc7770257f41ee/pydantic_core-2.41.4-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:1cae8851e174c83633f0833e90636832857297900133705ee158cf79d40f03e6", size = 2316777, upload-time = "2025-10-14T10:19:57.607Z" }, + { url = "https://files.pythonhosted.org/packages/ea/4b/c2c9c8f5e1f9c864b57d08539d9d3db160e00491c9f5ee90e1bfd905e644/pydantic_core-2.41.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a26d950449aae348afe1ac8be5525a00ae4235309b729ad4d3399623125b43c9", size = 2320705, upload-time = "2025-10-14T10:19:59.016Z" }, + { url = "https://files.pythonhosted.org/packages/28/c3/a74c1c37f49c0a02c89c7340fafc0ba816b29bd495d1a31ce1bdeacc6085/pydantic_core-2.41.4-cp310-cp310-win32.whl", hash = "sha256:0cf2a1f599efe57fa0051312774280ee0f650e11152325e41dfd3018ef2c1b57", size = 1975464, upload-time = "2025-10-14T10:20:00.581Z" }, + { url = "https://files.pythonhosted.org/packages/d6/23/5dd5c1324ba80303368f7569e2e2e1a721c7d9eb16acb7eb7b7f85cb1be2/pydantic_core-2.41.4-cp310-cp310-win_amd64.whl", hash = "sha256:a8c2e340d7e454dc3340d3d2e8f23558ebe78c98aa8f68851b04dcb7bc37abdc", size = 2024497, upload-time = "2025-10-14T10:20:03.018Z" }, + { url = "https://files.pythonhosted.org/packages/62/4c/f6cbfa1e8efacd00b846764e8484fe173d25b8dab881e277a619177f3384/pydantic_core-2.41.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:28ff11666443a1a8cf2a044d6a545ebffa8382b5f7973f22c36109205e65dc80", size = 2109062, upload-time = "2025-10-14T10:20:04.486Z" }, + { url = "https://files.pythonhosted.org/packages/21/f8/40b72d3868896bfcd410e1bd7e516e762d326201c48e5b4a06446f6cf9e8/pydantic_core-2.41.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:61760c3925d4633290292bad462e0f737b840508b4f722247d8729684f6539ae", size = 1916301, upload-time = "2025-10-14T10:20:06.857Z" }, + { url = "https://files.pythonhosted.org/packages/94/4d/d203dce8bee7faeca791671c88519969d98d3b4e8f225da5b96dad226fc8/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eae547b7315d055b0de2ec3965643b0ab82ad0106a7ffd29615ee9f266a02827", size = 1968728, upload-time = "2025-10-14T10:20:08.353Z" }, + { url = "https://files.pythonhosted.org/packages/65/f5/6a66187775df87c24d526985b3a5d78d861580ca466fbd9d4d0e792fcf6c/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ef9ee5471edd58d1fcce1c80ffc8783a650e3e3a193fe90d52e43bb4d87bff1f", size = 2050238, upload-time = "2025-10-14T10:20:09.766Z" }, + { url = "https://files.pythonhosted.org/packages/5e/b9/78336345de97298cf53236b2f271912ce11f32c1e59de25a374ce12f9cce/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:15dd504af121caaf2c95cb90c0ebf71603c53de98305621b94da0f967e572def", size = 2249424, upload-time = "2025-10-14T10:20:11.732Z" }, + { url = "https://files.pythonhosted.org/packages/99/bb/a4584888b70ee594c3d374a71af5075a68654d6c780369df269118af7402/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3a926768ea49a8af4d36abd6a8968b8790f7f76dd7cbd5a4c180db2b4ac9a3a2", size = 2366047, upload-time = "2025-10-14T10:20:13.647Z" }, + { url = "https://files.pythonhosted.org/packages/5f/8d/17fc5de9d6418e4d2ae8c675f905cdafdc59d3bf3bf9c946b7ab796a992a/pydantic_core-2.41.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6916b9b7d134bff5440098a4deb80e4cb623e68974a87883299de9124126c2a8", size = 2071163, upload-time = "2025-10-14T10:20:15.307Z" }, + { url = "https://files.pythonhosted.org/packages/54/e7/03d2c5c0b8ed37a4617430db68ec5e7dbba66358b629cd69e11b4d564367/pydantic_core-2.41.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:5cf90535979089df02e6f17ffd076f07237efa55b7343d98760bde8743c4b265", size = 2190585, upload-time = "2025-10-14T10:20:17.3Z" }, + { url = "https://files.pythonhosted.org/packages/be/fc/15d1c9fe5ad9266a5897d9b932b7f53d7e5cfc800573917a2c5d6eea56ec/pydantic_core-2.41.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:7533c76fa647fade2d7ec75ac5cc079ab3f34879626dae5689b27790a6cf5a5c", size = 2150109, upload-time = "2025-10-14T10:20:19.143Z" }, + { url = "https://files.pythonhosted.org/packages/26/ef/e735dd008808226c83ba56972566138665b71477ad580fa5a21f0851df48/pydantic_core-2.41.4-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:37e516bca9264cbf29612539801ca3cd5d1be465f940417b002905e6ed79d38a", size = 2315078, upload-time = "2025-10-14T10:20:20.742Z" }, + { url = "https://files.pythonhosted.org/packages/90/00/806efdcf35ff2ac0f938362350cd9827b8afb116cc814b6b75cf23738c7c/pydantic_core-2.41.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:0c19cb355224037c83642429b8ce261ae108e1c5fbf5c028bac63c77b0f8646e", size = 2318737, upload-time = "2025-10-14T10:20:22.306Z" }, + { url = "https://files.pythonhosted.org/packages/41/7e/6ac90673fe6cb36621a2283552897838c020db343fa86e513d3f563b196f/pydantic_core-2.41.4-cp311-cp311-win32.whl", hash = "sha256:09c2a60e55b357284b5f31f5ab275ba9f7f70b7525e18a132ec1f9160b4f1f03", size = 1974160, upload-time = "2025-10-14T10:20:23.817Z" }, + { url = "https://files.pythonhosted.org/packages/e0/9d/7c5e24ee585c1f8b6356e1d11d40ab807ffde44d2db3b7dfd6d20b09720e/pydantic_core-2.41.4-cp311-cp311-win_amd64.whl", hash = "sha256:711156b6afb5cb1cb7c14a2cc2c4a8b4c717b69046f13c6b332d8a0a8f41ca3e", size = 2021883, upload-time = "2025-10-14T10:20:25.48Z" }, + { url = "https://files.pythonhosted.org/packages/33/90/5c172357460fc28b2871eb4a0fb3843b136b429c6fa827e4b588877bf115/pydantic_core-2.41.4-cp311-cp311-win_arm64.whl", hash = "sha256:6cb9cf7e761f4f8a8589a45e49ed3c0d92d1d696a45a6feaee8c904b26efc2db", size = 1968026, upload-time = "2025-10-14T10:20:27.039Z" }, + { url = "https://files.pythonhosted.org/packages/e9/81/d3b3e95929c4369d30b2a66a91db63c8ed0a98381ae55a45da2cd1cc1288/pydantic_core-2.41.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ab06d77e053d660a6faaf04894446df7b0a7e7aba70c2797465a0a1af00fc887", size = 2099043, upload-time = "2025-10-14T10:20:28.561Z" }, + { url = "https://files.pythonhosted.org/packages/58/da/46fdac49e6717e3a94fc9201403e08d9d61aa7a770fab6190b8740749047/pydantic_core-2.41.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c53ff33e603a9c1179a9364b0a24694f183717b2e0da2b5ad43c316c956901b2", size = 1910699, upload-time = "2025-10-14T10:20:30.217Z" }, + { url = "https://files.pythonhosted.org/packages/1e/63/4d948f1b9dd8e991a5a98b77dd66c74641f5f2e5225fee37994b2e07d391/pydantic_core-2.41.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:304c54176af2c143bd181d82e77c15c41cbacea8872a2225dd37e6544dce9999", size = 1952121, upload-time = "2025-10-14T10:20:32.246Z" }, + { url = "https://files.pythonhosted.org/packages/b2/a7/e5fc60a6f781fc634ecaa9ecc3c20171d238794cef69ae0af79ac11b89d7/pydantic_core-2.41.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:025ba34a4cf4fb32f917d5d188ab5e702223d3ba603be4d8aca2f82bede432a4", size = 2041590, upload-time = "2025-10-14T10:20:34.332Z" }, + { url = "https://files.pythonhosted.org/packages/70/69/dce747b1d21d59e85af433428978a1893c6f8a7068fa2bb4a927fba7a5ff/pydantic_core-2.41.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b9f5f30c402ed58f90c70e12eff65547d3ab74685ffe8283c719e6bead8ef53f", size = 2219869, upload-time = "2025-10-14T10:20:35.965Z" }, + { url = "https://files.pythonhosted.org/packages/83/6a/c070e30e295403bf29c4df1cb781317b6a9bac7cd07b8d3acc94d501a63c/pydantic_core-2.41.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:dd96e5d15385d301733113bcaa324c8bcf111275b7675a9c6e88bfb19fc05e3b", size = 2345169, upload-time = "2025-10-14T10:20:37.627Z" }, + { url = "https://files.pythonhosted.org/packages/f0/83/06d001f8043c336baea7fd202a9ac7ad71f87e1c55d8112c50b745c40324/pydantic_core-2.41.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98f348cbb44fae6e9653c1055db7e29de67ea6a9ca03a5fa2c2e11a47cff0e47", size = 2070165, upload-time = "2025-10-14T10:20:39.246Z" }, + { url = "https://files.pythonhosted.org/packages/14/0a/e567c2883588dd12bcbc110232d892cf385356f7c8a9910311ac997ab715/pydantic_core-2.41.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ec22626a2d14620a83ca583c6f5a4080fa3155282718b6055c2ea48d3ef35970", size = 2189067, upload-time = "2025-10-14T10:20:41.015Z" }, + { url = "https://files.pythonhosted.org/packages/f4/1d/3d9fca34273ba03c9b1c5289f7618bc4bd09c3ad2289b5420481aa051a99/pydantic_core-2.41.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:3a95d4590b1f1a43bf33ca6d647b990a88f4a3824a8c4572c708f0b45a5290ed", size = 2132997, upload-time = "2025-10-14T10:20:43.106Z" }, + { url = "https://files.pythonhosted.org/packages/52/70/d702ef7a6cd41a8afc61f3554922b3ed8d19dd54c3bd4bdbfe332e610827/pydantic_core-2.41.4-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:f9672ab4d398e1b602feadcffcdd3af44d5f5e6ddc15bc7d15d376d47e8e19f8", size = 2307187, upload-time = "2025-10-14T10:20:44.849Z" }, + { url = "https://files.pythonhosted.org/packages/68/4c/c06be6e27545d08b802127914156f38d10ca287a9e8489342793de8aae3c/pydantic_core-2.41.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:84d8854db5f55fead3b579f04bda9a36461dab0730c5d570e1526483e7bb8431", size = 2305204, upload-time = "2025-10-14T10:20:46.781Z" }, + { url = "https://files.pythonhosted.org/packages/b0/e5/35ae4919bcd9f18603419e23c5eaf32750224a89d41a8df1a3704b69f77e/pydantic_core-2.41.4-cp312-cp312-win32.whl", hash = "sha256:9be1c01adb2ecc4e464392c36d17f97e9110fbbc906bcbe1c943b5b87a74aabd", size = 1972536, upload-time = "2025-10-14T10:20:48.39Z" }, + { url = "https://files.pythonhosted.org/packages/1e/c2/49c5bb6d2a49eb2ee3647a93e3dae7080c6409a8a7558b075027644e879c/pydantic_core-2.41.4-cp312-cp312-win_amd64.whl", hash = "sha256:d682cf1d22bab22a5be08539dca3d1593488a99998f9f412137bc323179067ff", size = 2031132, upload-time = "2025-10-14T10:20:50.421Z" }, + { url = "https://files.pythonhosted.org/packages/06/23/936343dbcba6eec93f73e95eb346810fc732f71ba27967b287b66f7b7097/pydantic_core-2.41.4-cp312-cp312-win_arm64.whl", hash = "sha256:833eebfd75a26d17470b58768c1834dfc90141b7afc6eb0429c21fc5a21dcfb8", size = 1969483, upload-time = "2025-10-14T10:20:52.35Z" }, + { url = "https://files.pythonhosted.org/packages/13/d0/c20adabd181a029a970738dfe23710b52a31f1258f591874fcdec7359845/pydantic_core-2.41.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:85e050ad9e5f6fe1004eec65c914332e52f429bc0ae12d6fa2092407a462c746", size = 2105688, upload-time = "2025-10-14T10:20:54.448Z" }, + { url = "https://files.pythonhosted.org/packages/00/b6/0ce5c03cec5ae94cca220dfecddc453c077d71363b98a4bbdb3c0b22c783/pydantic_core-2.41.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:e7393f1d64792763a48924ba31d1e44c2cfbc05e3b1c2c9abb4ceeadd912cced", size = 1910807, upload-time = "2025-10-14T10:20:56.115Z" }, + { url = "https://files.pythonhosted.org/packages/68/3e/800d3d02c8beb0b5c069c870cbb83799d085debf43499c897bb4b4aaff0d/pydantic_core-2.41.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:94dab0940b0d1fb28bcab847adf887c66a27a40291eedf0b473be58761c9799a", size = 1956669, upload-time = "2025-10-14T10:20:57.874Z" }, + { url = "https://files.pythonhosted.org/packages/60/a4/24271cc71a17f64589be49ab8bd0751f6a0a03046c690df60989f2f95c2c/pydantic_core-2.41.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:de7c42f897e689ee6f9e93c4bec72b99ae3b32a2ade1c7e4798e690ff5246e02", size = 2051629, upload-time = "2025-10-14T10:21:00.006Z" }, + { url = "https://files.pythonhosted.org/packages/68/de/45af3ca2f175d91b96bfb62e1f2d2f1f9f3b14a734afe0bfeff079f78181/pydantic_core-2.41.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:664b3199193262277b8b3cd1e754fb07f2c6023289c815a1e1e8fb415cb247b1", size = 2224049, upload-time = "2025-10-14T10:21:01.801Z" }, + { url = "https://files.pythonhosted.org/packages/af/8f/ae4e1ff84672bf869d0a77af24fd78387850e9497753c432875066b5d622/pydantic_core-2.41.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d95b253b88f7d308b1c0b417c4624f44553ba4762816f94e6986819b9c273fb2", size = 2342409, upload-time = "2025-10-14T10:21:03.556Z" }, + { url = "https://files.pythonhosted.org/packages/18/62/273dd70b0026a085c7b74b000394e1ef95719ea579c76ea2f0cc8893736d/pydantic_core-2.41.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a1351f5bbdbbabc689727cb91649a00cb9ee7203e0a6e54e9f5ba9e22e384b84", size = 2069635, upload-time = "2025-10-14T10:21:05.385Z" }, + { url = "https://files.pythonhosted.org/packages/30/03/cf485fff699b4cdaea469bc481719d3e49f023241b4abb656f8d422189fc/pydantic_core-2.41.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:1affa4798520b148d7182da0615d648e752de4ab1a9566b7471bc803d88a062d", size = 2194284, upload-time = "2025-10-14T10:21:07.122Z" }, + { url = "https://files.pythonhosted.org/packages/f9/7e/c8e713db32405dfd97211f2fc0a15d6bf8adb7640f3d18544c1f39526619/pydantic_core-2.41.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7b74e18052fea4aa8dea2fb7dbc23d15439695da6cbe6cfc1b694af1115df09d", size = 2137566, upload-time = "2025-10-14T10:21:08.981Z" }, + { url = "https://files.pythonhosted.org/packages/04/f7/db71fd4cdccc8b75990f79ccafbbd66757e19f6d5ee724a6252414483fb4/pydantic_core-2.41.4-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:285b643d75c0e30abda9dc1077395624f314a37e3c09ca402d4015ef5979f1a2", size = 2316809, upload-time = "2025-10-14T10:21:10.805Z" }, + { url = "https://files.pythonhosted.org/packages/76/63/a54973ddb945f1bca56742b48b144d85c9fc22f819ddeb9f861c249d5464/pydantic_core-2.41.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:f52679ff4218d713b3b33f88c89ccbf3a5c2c12ba665fb80ccc4192b4608dbab", size = 2311119, upload-time = "2025-10-14T10:21:12.583Z" }, + { url = "https://files.pythonhosted.org/packages/f8/03/5d12891e93c19218af74843a27e32b94922195ded2386f7b55382f904d2f/pydantic_core-2.41.4-cp313-cp313-win32.whl", hash = "sha256:ecde6dedd6fff127c273c76821bb754d793be1024bc33314a120f83a3c69460c", size = 1981398, upload-time = "2025-10-14T10:21:14.584Z" }, + { url = "https://files.pythonhosted.org/packages/be/d8/fd0de71f39db91135b7a26996160de71c073d8635edfce8b3c3681be0d6d/pydantic_core-2.41.4-cp313-cp313-win_amd64.whl", hash = "sha256:d081a1f3800f05409ed868ebb2d74ac39dd0c1ff6c035b5162356d76030736d4", size = 2030735, upload-time = "2025-10-14T10:21:16.432Z" }, + { url = "https://files.pythonhosted.org/packages/72/86/c99921c1cf6650023c08bfab6fe2d7057a5142628ef7ccfa9921f2dda1d5/pydantic_core-2.41.4-cp313-cp313-win_arm64.whl", hash = "sha256:f8e49c9c364a7edcbe2a310f12733aad95b022495ef2a8d653f645e5d20c1564", size = 1973209, upload-time = "2025-10-14T10:21:18.213Z" }, + { url = "https://files.pythonhosted.org/packages/36/0d/b5706cacb70a8414396efdda3d72ae0542e050b591119e458e2490baf035/pydantic_core-2.41.4-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:ed97fd56a561f5eb5706cebe94f1ad7c13b84d98312a05546f2ad036bafe87f4", size = 1877324, upload-time = "2025-10-14T10:21:20.363Z" }, + { url = "https://files.pythonhosted.org/packages/de/2d/cba1fa02cfdea72dfb3a9babb067c83b9dff0bbcb198368e000a6b756ea7/pydantic_core-2.41.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a870c307bf1ee91fc58a9a61338ff780d01bfae45922624816878dce784095d2", size = 1884515, upload-time = "2025-10-14T10:21:22.339Z" }, + { url = "https://files.pythonhosted.org/packages/07/ea/3df927c4384ed9b503c9cc2d076cf983b4f2adb0c754578dfb1245c51e46/pydantic_core-2.41.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d25e97bc1f5f8f7985bdc2335ef9e73843bb561eb1fa6831fdfc295c1c2061cf", size = 2042819, upload-time = "2025-10-14T10:21:26.683Z" }, + { url = "https://files.pythonhosted.org/packages/6a/ee/df8e871f07074250270a3b1b82aad4cd0026b588acd5d7d3eb2fcb1471a3/pydantic_core-2.41.4-cp313-cp313t-win_amd64.whl", hash = "sha256:d405d14bea042f166512add3091c1af40437c2e7f86988f3915fabd27b1e9cd2", size = 1995866, upload-time = "2025-10-14T10:21:28.951Z" }, + { url = "https://files.pythonhosted.org/packages/fc/de/b20f4ab954d6d399499c33ec4fafc46d9551e11dc1858fb7f5dca0748ceb/pydantic_core-2.41.4-cp313-cp313t-win_arm64.whl", hash = "sha256:19f3684868309db5263a11bace3c45d93f6f24afa2ffe75a647583df22a2ff89", size = 1970034, upload-time = "2025-10-14T10:21:30.869Z" }, + { url = "https://files.pythonhosted.org/packages/54/28/d3325da57d413b9819365546eb9a6e8b7cbd9373d9380efd5f74326143e6/pydantic_core-2.41.4-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:e9205d97ed08a82ebb9a307e92914bb30e18cdf6f6b12ca4bedadb1588a0bfe1", size = 2102022, upload-time = "2025-10-14T10:21:32.809Z" }, + { url = "https://files.pythonhosted.org/packages/9e/24/b58a1bc0d834bf1acc4361e61233ee217169a42efbdc15a60296e13ce438/pydantic_core-2.41.4-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:82df1f432b37d832709fbcc0e24394bba04a01b6ecf1ee87578145c19cde12ac", size = 1905495, upload-time = "2025-10-14T10:21:34.812Z" }, + { url = "https://files.pythonhosted.org/packages/fb/a4/71f759cc41b7043e8ecdaab81b985a9b6cad7cec077e0b92cff8b71ecf6b/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fc3b4cc4539e055cfa39a3763c939f9d409eb40e85813257dcd761985a108554", size = 1956131, upload-time = "2025-10-14T10:21:36.924Z" }, + { url = "https://files.pythonhosted.org/packages/b0/64/1e79ac7aa51f1eec7c4cda8cbe456d5d09f05fdd68b32776d72168d54275/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b1eb1754fce47c63d2ff57fdb88c351a6c0150995890088b33767a10218eaa4e", size = 2052236, upload-time = "2025-10-14T10:21:38.927Z" }, + { url = "https://files.pythonhosted.org/packages/e9/e3/a3ffc363bd4287b80f1d43dc1c28ba64831f8dfc237d6fec8f2661138d48/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e6ab5ab30ef325b443f379ddb575a34969c333004fca5a1daa0133a6ffaad616", size = 2223573, upload-time = "2025-10-14T10:21:41.574Z" }, + { url = "https://files.pythonhosted.org/packages/28/27/78814089b4d2e684a9088ede3790763c64693c3d1408ddc0a248bc789126/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:31a41030b1d9ca497634092b46481b937ff9397a86f9f51bd41c4767b6fc04af", size = 2342467, upload-time = "2025-10-14T10:21:44.018Z" }, + { url = "https://files.pythonhosted.org/packages/92/97/4de0e2a1159cb85ad737e03306717637842c88c7fd6d97973172fb183149/pydantic_core-2.41.4-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a44ac1738591472c3d020f61c6df1e4015180d6262ebd39bf2aeb52571b60f12", size = 2063754, upload-time = "2025-10-14T10:21:46.466Z" }, + { url = "https://files.pythonhosted.org/packages/0f/50/8cb90ce4b9efcf7ae78130afeb99fd1c86125ccdf9906ef64b9d42f37c25/pydantic_core-2.41.4-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d72f2b5e6e82ab8f94ea7d0d42f83c487dc159c5240d8f83beae684472864e2d", size = 2196754, upload-time = "2025-10-14T10:21:48.486Z" }, + { url = "https://files.pythonhosted.org/packages/34/3b/ccdc77af9cd5082723574a1cc1bcae7a6acacc829d7c0a06201f7886a109/pydantic_core-2.41.4-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:c4d1e854aaf044487d31143f541f7aafe7b482ae72a022c664b2de2e466ed0ad", size = 2137115, upload-time = "2025-10-14T10:21:50.63Z" }, + { url = "https://files.pythonhosted.org/packages/ca/ba/e7c7a02651a8f7c52dc2cff2b64a30c313e3b57c7d93703cecea76c09b71/pydantic_core-2.41.4-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:b568af94267729d76e6ee5ececda4e283d07bbb28e8148bb17adad93d025d25a", size = 2317400, upload-time = "2025-10-14T10:21:52.959Z" }, + { url = "https://files.pythonhosted.org/packages/2c/ba/6c533a4ee8aec6b812c643c49bb3bd88d3f01e3cebe451bb85512d37f00f/pydantic_core-2.41.4-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:6d55fb8b1e8929b341cc313a81a26e0d48aa3b519c1dbaadec3a6a2b4fcad025", size = 2312070, upload-time = "2025-10-14T10:21:55.419Z" }, + { url = "https://files.pythonhosted.org/packages/22/ae/f10524fcc0ab8d7f96cf9a74c880243576fd3e72bd8ce4f81e43d22bcab7/pydantic_core-2.41.4-cp314-cp314-win32.whl", hash = "sha256:5b66584e549e2e32a1398df11da2e0a7eff45d5c2d9db9d5667c5e6ac764d77e", size = 1982277, upload-time = "2025-10-14T10:21:57.474Z" }, + { url = "https://files.pythonhosted.org/packages/b4/dc/e5aa27aea1ad4638f0c3fb41132f7eb583bd7420ee63204e2d4333a3bbf9/pydantic_core-2.41.4-cp314-cp314-win_amd64.whl", hash = "sha256:557a0aab88664cc552285316809cab897716a372afaf8efdbef756f8b890e894", size = 2024608, upload-time = "2025-10-14T10:21:59.557Z" }, + { url = "https://files.pythonhosted.org/packages/3e/61/51d89cc2612bd147198e120a13f150afbf0bcb4615cddb049ab10b81b79e/pydantic_core-2.41.4-cp314-cp314-win_arm64.whl", hash = "sha256:3f1ea6f48a045745d0d9f325989d8abd3f1eaf47dd00485912d1a3a63c623a8d", size = 1967614, upload-time = "2025-10-14T10:22:01.847Z" }, + { url = "https://files.pythonhosted.org/packages/0d/c2/472f2e31b95eff099961fa050c376ab7156a81da194f9edb9f710f68787b/pydantic_core-2.41.4-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:6c1fe4c5404c448b13188dd8bd2ebc2bdd7e6727fa61ff481bcc2cca894018da", size = 1876904, upload-time = "2025-10-14T10:22:04.062Z" }, + { url = "https://files.pythonhosted.org/packages/4a/07/ea8eeb91173807ecdae4f4a5f4b150a520085b35454350fc219ba79e66a3/pydantic_core-2.41.4-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:523e7da4d43b113bf8e7b49fa4ec0c35bf4fe66b2230bfc5c13cc498f12c6c3e", size = 1882538, upload-time = "2025-10-14T10:22:06.39Z" }, + { url = "https://files.pythonhosted.org/packages/1e/29/b53a9ca6cd366bfc928823679c6a76c7a4c69f8201c0ba7903ad18ebae2f/pydantic_core-2.41.4-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5729225de81fb65b70fdb1907fcf08c75d498f4a6f15af005aabb1fdadc19dfa", size = 2041183, upload-time = "2025-10-14T10:22:08.812Z" }, + { url = "https://files.pythonhosted.org/packages/c7/3d/f8c1a371ceebcaf94d6dd2d77c6cf4b1c078e13a5837aee83f760b4f7cfd/pydantic_core-2.41.4-cp314-cp314t-win_amd64.whl", hash = "sha256:de2cfbb09e88f0f795fd90cf955858fc2c691df65b1f21f0aa00b99f3fbc661d", size = 1993542, upload-time = "2025-10-14T10:22:11.332Z" }, + { url = "https://files.pythonhosted.org/packages/8a/ac/9fc61b4f9d079482a290afe8d206b8f490e9fd32d4fc03ed4fc698214e01/pydantic_core-2.41.4-cp314-cp314t-win_arm64.whl", hash = "sha256:d34f950ae05a83e0ede899c595f312ca976023ea1db100cd5aa188f7005e3ab0", size = 1973897, upload-time = "2025-10-14T10:22:13.444Z" }, + { url = "https://files.pythonhosted.org/packages/b0/12/5ba58daa7f453454464f92b3ca7b9d7c657d8641c48e370c3ebc9a82dd78/pydantic_core-2.41.4-graalpy311-graalpy242_311_native-macosx_10_12_x86_64.whl", hash = "sha256:a1b2cfec3879afb742a7b0bcfa53e4f22ba96571c9e54d6a3afe1052d17d843b", size = 2122139, upload-time = "2025-10-14T10:22:47.288Z" }, + { url = "https://files.pythonhosted.org/packages/21/fb/6860126a77725c3108baecd10fd3d75fec25191d6381b6eb2ac660228eac/pydantic_core-2.41.4-graalpy311-graalpy242_311_native-macosx_11_0_arm64.whl", hash = "sha256:d175600d975b7c244af6eb9c9041f10059f20b8bbffec9e33fdd5ee3f67cdc42", size = 1936674, upload-time = "2025-10-14T10:22:49.555Z" }, + { url = "https://files.pythonhosted.org/packages/de/be/57dcaa3ed595d81f8757e2b44a38240ac5d37628bce25fb20d02c7018776/pydantic_core-2.41.4-graalpy311-graalpy242_311_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f184d657fa4947ae5ec9c47bd7e917730fa1cbb78195037e32dcbab50aca5ee", size = 1956398, upload-time = "2025-10-14T10:22:52.19Z" }, + { url = "https://files.pythonhosted.org/packages/2f/1d/679a344fadb9695f1a6a294d739fbd21d71fa023286daeea8c0ed49e7c2b/pydantic_core-2.41.4-graalpy311-graalpy242_311_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ed810568aeffed3edc78910af32af911c835cc39ebbfacd1f0ab5dd53028e5c", size = 2138674, upload-time = "2025-10-14T10:22:54.499Z" }, + { url = "https://files.pythonhosted.org/packages/c4/48/ae937e5a831b7c0dc646b2ef788c27cd003894882415300ed21927c21efa/pydantic_core-2.41.4-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:4f5d640aeebb438517150fdeec097739614421900e4a08db4a3ef38898798537", size = 2112087, upload-time = "2025-10-14T10:22:56.818Z" }, + { url = "https://files.pythonhosted.org/packages/5e/db/6db8073e3d32dae017da7e0d16a9ecb897d0a4d92e00634916e486097961/pydantic_core-2.41.4-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:4a9ab037b71927babc6d9e7fc01aea9e66dc2a4a34dff06ef0724a4049629f94", size = 1920387, upload-time = "2025-10-14T10:22:59.342Z" }, + { url = "https://files.pythonhosted.org/packages/0d/c1/dd3542d072fcc336030d66834872f0328727e3b8de289c662faa04aa270e/pydantic_core-2.41.4-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4dab9484ec605c3016df9ad4fd4f9a390bc5d816a3b10c6550f8424bb80b18c", size = 1951495, upload-time = "2025-10-14T10:23:02.089Z" }, + { url = "https://files.pythonhosted.org/packages/2b/c6/db8d13a1f8ab3f1eb08c88bd00fd62d44311e3456d1e85c0e59e0a0376e7/pydantic_core-2.41.4-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bd8a5028425820731d8c6c098ab642d7b8b999758e24acae03ed38a66eca8335", size = 2139008, upload-time = "2025-10-14T10:23:04.539Z" }, + { url = "https://files.pythonhosted.org/packages/5d/d4/912e976a2dd0b49f31c98a060ca90b353f3b73ee3ea2fd0030412f6ac5ec/pydantic_core-2.41.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:1e5ab4fc177dd41536b3c32b2ea11380dd3d4619a385860621478ac2d25ceb00", size = 2106739, upload-time = "2025-10-14T10:23:06.934Z" }, + { url = "https://files.pythonhosted.org/packages/71/f0/66ec5a626c81eba326072d6ee2b127f8c139543f1bf609b4842978d37833/pydantic_core-2.41.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:3d88d0054d3fa11ce936184896bed3c1c5441d6fa483b498fac6a5d0dd6f64a9", size = 1932549, upload-time = "2025-10-14T10:23:09.24Z" }, + { url = "https://files.pythonhosted.org/packages/c4/af/625626278ca801ea0a658c2dcf290dc9f21bb383098e99e7c6a029fccfc0/pydantic_core-2.41.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b2a054a8725f05b4b6503357e0ac1c4e8234ad3b0c2ac130d6ffc66f0e170e2", size = 2135093, upload-time = "2025-10-14T10:23:11.626Z" }, + { url = "https://files.pythonhosted.org/packages/20/f6/2fba049f54e0f4975fef66be654c597a1d005320fa141863699180c7697d/pydantic_core-2.41.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b0d9db5a161c99375a0c68c058e227bee1d89303300802601d76a3d01f74e258", size = 2187971, upload-time = "2025-10-14T10:23:14.437Z" }, + { url = "https://files.pythonhosted.org/packages/0e/80/65ab839a2dfcd3b949202f9d920c34f9de5a537c3646662bdf2f7d999680/pydantic_core-2.41.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:6273ea2c8ffdac7b7fda2653c49682db815aebf4a89243a6feccf5e36c18c347", size = 2147939, upload-time = "2025-10-14T10:23:16.831Z" }, + { url = "https://files.pythonhosted.org/packages/44/58/627565d3d182ce6dfda18b8e1c841eede3629d59c9d7cbc1e12a03aeb328/pydantic_core-2.41.4-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:4c973add636efc61de22530b2ef83a65f39b6d6f656df97f678720e20de26caa", size = 2311400, upload-time = "2025-10-14T10:23:19.234Z" }, + { url = "https://files.pythonhosted.org/packages/24/06/8a84711162ad5a5f19a88cead37cca81b4b1f294f46260ef7334ae4f24d3/pydantic_core-2.41.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:b69d1973354758007f46cf2d44a4f3d0933f10b6dc9bf15cf1356e037f6f731a", size = 2316840, upload-time = "2025-10-14T10:23:21.738Z" }, + { url = "https://files.pythonhosted.org/packages/aa/8b/b7bb512a4682a2f7fbfae152a755d37351743900226d29bd953aaf870eaa/pydantic_core-2.41.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:3619320641fd212aaf5997b6ca505e97540b7e16418f4a241f44cdf108ffb50d", size = 2149135, upload-time = "2025-10-14T10:23:24.379Z" }, + { url = "https://files.pythonhosted.org/packages/7e/7d/138e902ed6399b866f7cfe4435d22445e16fff888a1c00560d9dc79a780f/pydantic_core-2.41.4-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:491535d45cd7ad7e4a2af4a5169b0d07bebf1adfd164b0368da8aa41e19907a5", size = 2104721, upload-time = "2025-10-14T10:23:26.906Z" }, + { url = "https://files.pythonhosted.org/packages/47/13/0525623cf94627f7b53b4c2034c81edc8491cbfc7c28d5447fa318791479/pydantic_core-2.41.4-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:54d86c0cada6aba4ec4c047d0e348cbad7063b87ae0f005d9f8c9ad04d4a92a2", size = 1931608, upload-time = "2025-10-14T10:23:29.306Z" }, + { url = "https://files.pythonhosted.org/packages/d6/f9/744bc98137d6ef0a233f808bfc9b18cf94624bf30836a18d3b05d08bf418/pydantic_core-2.41.4-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eca1124aced216b2500dc2609eade086d718e8249cb9696660ab447d50a758bd", size = 2132986, upload-time = "2025-10-14T10:23:32.057Z" }, + { url = "https://files.pythonhosted.org/packages/17/c8/629e88920171173f6049386cc71f893dff03209a9ef32b4d2f7e7c264bcf/pydantic_core-2.41.4-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6c9024169becccf0cb470ada03ee578d7348c119a0d42af3dcf9eda96e3a247c", size = 2187516, upload-time = "2025-10-14T10:23:34.871Z" }, + { url = "https://files.pythonhosted.org/packages/2e/0f/4f2734688d98488782218ca61bcc118329bf5de05bb7fe3adc7dd79b0b86/pydantic_core-2.41.4-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:26895a4268ae5a2849269f4991cdc97236e4b9c010e51137becf25182daac405", size = 2146146, upload-time = "2025-10-14T10:23:37.342Z" }, + { url = "https://files.pythonhosted.org/packages/ed/f2/ab385dbd94a052c62224b99cf99002eee99dbec40e10006c78575aead256/pydantic_core-2.41.4-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:ca4df25762cf71308c446e33c9b1fdca2923a3f13de616e2a949f38bf21ff5a8", size = 2311296, upload-time = "2025-10-14T10:23:40.145Z" }, + { url = "https://files.pythonhosted.org/packages/fc/8e/e4f12afe1beeb9823bba5375f8f258df0cc61b056b0195fb1cf9f62a1a58/pydantic_core-2.41.4-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:5a28fcedd762349519276c36634e71853b4541079cab4acaaac60c4421827308", size = 2315386, upload-time = "2025-10-14T10:23:42.624Z" }, + { url = "https://files.pythonhosted.org/packages/48/f7/925f65d930802e3ea2eb4d5afa4cb8730c8dc0d2cb89a59dc4ed2fcb2d74/pydantic_core-2.41.4-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:c173ddcd86afd2535e2b695217e82191580663a1d1928239f877f5a1649ef39f", size = 2147775, upload-time = "2025-10-14T10:23:45.406Z" }, +] + +[[package]] +name = "pydantic-settings" +version = "2.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "python-dotenv" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/20/c5/dbbc27b814c71676593d1c3f718e6cd7d4f00652cefa24b75f7aa3efb25e/pydantic_settings-2.11.0.tar.gz", hash = "sha256:d0e87a1c7d33593beb7194adb8470fc426e95ba02af83a0f23474a04c9a08180", size = 188394, upload-time = "2025-09-24T14:19:11.764Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/d6/887a1ff844e64aa823fb4905978d882a633cfe295c32eacad582b78a7d8b/pydantic_settings-2.11.0-py3-none-any.whl", hash = "sha256:fe2cea3413b9530d10f3a5875adffb17ada5c1e1bab0b2885546d7310415207c", size = 48608, upload-time = "2025-09-24T14:19:10.015Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +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" } +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" }, +] + +[[package]] +name = "python-dotenv" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz", hash = "sha256:a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab", size = 41978, upload-time = "2025-06-24T04:21:07.341Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl", hash = "sha256:31f23644fe2602f88ff55e1f5c79ba497e01224ee7737937930c448e4d0e24dc", size = 20556, upload-time = "2025-06-24T04:21:06.073Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "pywin32" +version = "311" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/40/44efbb0dfbd33aca6a6483191dae0716070ed99e2ecb0c53683f400a0b4f/pywin32-311-cp310-cp310-win32.whl", hash = "sha256:d03ff496d2a0cd4a5893504789d4a15399133fe82517455e78bad62efbb7f0a3", size = 8760432, upload-time = "2025-07-14T20:13:05.9Z" }, + { url = "https://files.pythonhosted.org/packages/5e/bf/360243b1e953bd254a82f12653974be395ba880e7ec23e3731d9f73921cc/pywin32-311-cp310-cp310-win_amd64.whl", hash = "sha256:797c2772017851984b97180b0bebe4b620bb86328e8a884bb626156295a63b3b", size = 9590103, upload-time = "2025-07-14T20:13:07.698Z" }, + { url = "https://files.pythonhosted.org/packages/57/38/d290720e6f138086fb3d5ffe0b6caa019a791dd57866940c82e4eeaf2012/pywin32-311-cp310-cp310-win_arm64.whl", hash = "sha256:0502d1facf1fed4839a9a51ccbcc63d952cf318f78ffc00a7e78528ac27d7a2b", size = 8778557, upload-time = "2025-07-14T20:13:11.11Z" }, + { url = "https://files.pythonhosted.org/packages/7c/af/449a6a91e5d6db51420875c54f6aff7c97a86a3b13a0b4f1a5c13b988de3/pywin32-311-cp311-cp311-win32.whl", hash = "sha256:184eb5e436dea364dcd3d2316d577d625c0351bf237c4e9a5fabbcfa5a58b151", size = 8697031, upload-time = "2025-07-14T20:13:13.266Z" }, + { url = "https://files.pythonhosted.org/packages/51/8f/9bb81dd5bb77d22243d33c8397f09377056d5c687aa6d4042bea7fbf8364/pywin32-311-cp311-cp311-win_amd64.whl", hash = "sha256:3ce80b34b22b17ccbd937a6e78e7225d80c52f5ab9940fe0506a1a16f3dab503", size = 9508308, upload-time = "2025-07-14T20:13:15.147Z" }, + { url = "https://files.pythonhosted.org/packages/44/7b/9c2ab54f74a138c491aba1b1cd0795ba61f144c711daea84a88b63dc0f6c/pywin32-311-cp311-cp311-win_arm64.whl", hash = "sha256:a733f1388e1a842abb67ffa8e7aad0e70ac519e09b0f6a784e65a136ec7cefd2", size = 8703930, upload-time = "2025-07-14T20:13:16.945Z" }, + { url = "https://files.pythonhosted.org/packages/e7/ab/01ea1943d4eba0f850c3c61e78e8dd59757ff815ff3ccd0a84de5f541f42/pywin32-311-cp312-cp312-win32.whl", hash = "sha256:750ec6e621af2b948540032557b10a2d43b0cee2ae9758c54154d711cc852d31", size = 8706543, upload-time = "2025-07-14T20:13:20.765Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a8/a0e8d07d4d051ec7502cd58b291ec98dcc0c3fff027caad0470b72cfcc2f/pywin32-311-cp312-cp312-win_amd64.whl", hash = "sha256:b8c095edad5c211ff31c05223658e71bf7116daa0ecf3ad85f3201ea3190d067", size = 9495040, upload-time = "2025-07-14T20:13:22.543Z" }, + { url = "https://files.pythonhosted.org/packages/ba/3a/2ae996277b4b50f17d61f0603efd8253cb2d79cc7ae159468007b586396d/pywin32-311-cp312-cp312-win_arm64.whl", hash = "sha256:e286f46a9a39c4a18b319c28f59b61de793654af2f395c102b4f819e584b5852", size = 8710102, upload-time = "2025-07-14T20:13:24.682Z" }, + { url = "https://files.pythonhosted.org/packages/a5/be/3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3/pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d", size = 8705700, upload-time = "2025-07-14T20:13:26.471Z" }, + { url = "https://files.pythonhosted.org/packages/e3/28/e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c/pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d", size = 9494700, upload-time = "2025-07-14T20:13:28.243Z" }, + { url = "https://files.pythonhosted.org/packages/04/bf/90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a/pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a", size = 8709318, upload-time = "2025-07-14T20:13:30.348Z" }, + { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714, upload-time = "2025-07-14T20:13:32.449Z" }, + { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800, upload-time = "2025-07-14T20:13:34.312Z" }, + { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540, upload-time = "2025-07-14T20:13:36.379Z" }, +] + +[[package]] +name = "referencing" +version = "0.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", size = 78036, upload-time = "2025-10-13T15:30:48.871Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", hash = "sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231", size = 26766, upload-time = "2025-10-13T15:30:47.625Z" }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, +] + +[[package]] +name = "rpds-py" +version = "0.27.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz", hash = "sha256:26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8", size = 27479, upload-time = "2025-08-27T12:16:36.024Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/ed/3aef893e2dd30e77e35d20d4ddb45ca459db59cead748cad9796ad479411/rpds_py-0.27.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:68afeec26d42ab3b47e541b272166a0b4400313946871cba3ed3a4fc0cab1cef", size = 371606, upload-time = "2025-08-27T12:12:25.189Z" }, + { url = "https://files.pythonhosted.org/packages/6d/82/9818b443e5d3eb4c83c3994561387f116aae9833b35c484474769c4a8faf/rpds_py-0.27.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74e5b2f7bb6fa38b1b10546d27acbacf2a022a8b5543efb06cfebc72a59c85be", size = 353452, upload-time = "2025-08-27T12:12:27.433Z" }, + { url = "https://files.pythonhosted.org/packages/99/c7/d2a110ffaaa397fc6793a83c7bd3545d9ab22658b7cdff05a24a4535cc45/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9024de74731df54546fab0bfbcdb49fae19159ecaecfc8f37c18d2c7e2c0bd61", size = 381519, upload-time = "2025-08-27T12:12:28.719Z" }, + { url = "https://files.pythonhosted.org/packages/5a/bc/e89581d1f9d1be7d0247eaef602566869fdc0d084008ba139e27e775366c/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:31d3ebadefcd73b73928ed0b2fd696f7fefda8629229f81929ac9c1854d0cffb", size = 394424, upload-time = "2025-08-27T12:12:30.207Z" }, + { url = "https://files.pythonhosted.org/packages/ac/2e/36a6861f797530e74bb6ed53495f8741f1ef95939eed01d761e73d559067/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2e7f8f169d775dd9092a1743768d771f1d1300453ddfe6325ae3ab5332b4657", size = 523467, upload-time = "2025-08-27T12:12:31.808Z" }, + { url = "https://files.pythonhosted.org/packages/c4/59/c1bc2be32564fa499f988f0a5c6505c2f4746ef96e58e4d7de5cf923d77e/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d905d16f77eb6ab2e324e09bfa277b4c8e5e6b8a78a3e7ff8f3cdf773b4c013", size = 402660, upload-time = "2025-08-27T12:12:33.444Z" }, + { url = "https://files.pythonhosted.org/packages/0a/ec/ef8bf895f0628dd0a59e54d81caed6891663cb9c54a0f4bb7da918cb88cf/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50c946f048209e6362e22576baea09193809f87687a95a8db24e5fbdb307b93a", size = 384062, upload-time = "2025-08-27T12:12:34.857Z" }, + { url = "https://files.pythonhosted.org/packages/69/f7/f47ff154be8d9a5e691c083a920bba89cef88d5247c241c10b9898f595a1/rpds_py-0.27.1-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:3deab27804d65cd8289eb814c2c0e807c4b9d9916c9225e363cb0cf875eb67c1", size = 401289, upload-time = "2025-08-27T12:12:36.085Z" }, + { url = "https://files.pythonhosted.org/packages/3b/d9/ca410363efd0615814ae579f6829cafb39225cd63e5ea5ed1404cb345293/rpds_py-0.27.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b61097f7488de4be8244c89915da8ed212832ccf1e7c7753a25a394bf9b1f10", size = 417718, upload-time = "2025-08-27T12:12:37.401Z" }, + { url = "https://files.pythonhosted.org/packages/e3/a0/8cb5c2ff38340f221cc067cc093d1270e10658ba4e8d263df923daa18e86/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8a3f29aba6e2d7d90528d3c792555a93497fe6538aa65eb675b44505be747808", size = 558333, upload-time = "2025-08-27T12:12:38.672Z" }, + { url = "https://files.pythonhosted.org/packages/6f/8c/1b0de79177c5d5103843774ce12b84caa7164dfc6cd66378768d37db11bf/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dd6cd0485b7d347304067153a6dc1d73f7d4fd995a396ef32a24d24b8ac63ac8", size = 589127, upload-time = "2025-08-27T12:12:41.48Z" }, + { url = "https://files.pythonhosted.org/packages/c8/5e/26abb098d5e01266b0f3a2488d299d19ccc26849735d9d2b95c39397e945/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6f4461bf931108c9fa226ffb0e257c1b18dc2d44cd72b125bec50ee0ab1248a9", size = 554899, upload-time = "2025-08-27T12:12:42.925Z" }, + { url = "https://files.pythonhosted.org/packages/de/41/905cc90ced13550db017f8f20c6d8e8470066c5738ba480d7ba63e3d136b/rpds_py-0.27.1-cp310-cp310-win32.whl", hash = "sha256:ee5422d7fb21f6a00c1901bf6559c49fee13a5159d0288320737bbf6585bd3e4", size = 217450, upload-time = "2025-08-27T12:12:44.813Z" }, + { url = "https://files.pythonhosted.org/packages/75/3d/6bef47b0e253616ccdf67c283e25f2d16e18ccddd38f92af81d5a3420206/rpds_py-0.27.1-cp310-cp310-win_amd64.whl", hash = "sha256:3e039aabf6d5f83c745d5f9a0a381d031e9ed871967c0a5c38d201aca41f3ba1", size = 228447, upload-time = "2025-08-27T12:12:46.204Z" }, + { url = "https://files.pythonhosted.org/packages/b5/c1/7907329fbef97cbd49db6f7303893bd1dd5a4a3eae415839ffdfb0762cae/rpds_py-0.27.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:be898f271f851f68b318872ce6ebebbc62f303b654e43bf72683dbdc25b7c881", size = 371063, upload-time = "2025-08-27T12:12:47.856Z" }, + { url = "https://files.pythonhosted.org/packages/11/94/2aab4bc86228bcf7c48760990273653a4900de89c7537ffe1b0d6097ed39/rpds_py-0.27.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:62ac3d4e3e07b58ee0ddecd71d6ce3b1637de2d373501412df395a0ec5f9beb5", size = 353210, upload-time = "2025-08-27T12:12:49.187Z" }, + { url = "https://files.pythonhosted.org/packages/3a/57/f5eb3ecf434342f4f1a46009530e93fd201a0b5b83379034ebdb1d7c1a58/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4708c5c0ceb2d034f9991623631d3d23cb16e65c83736ea020cdbe28d57c0a0e", size = 381636, upload-time = "2025-08-27T12:12:50.492Z" }, + { url = "https://files.pythonhosted.org/packages/ae/f4/ef95c5945e2ceb5119571b184dd5a1cc4b8541bbdf67461998cfeac9cb1e/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:abfa1171a9952d2e0002aba2ad3780820b00cc3d9c98c6630f2e93271501f66c", size = 394341, upload-time = "2025-08-27T12:12:52.024Z" }, + { url = "https://files.pythonhosted.org/packages/5a/7e/4bd610754bf492d398b61725eb9598ddd5eb86b07d7d9483dbcd810e20bc/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b507d19f817ebaca79574b16eb2ae412e5c0835542c93fe9983f1e432aca195", size = 523428, upload-time = "2025-08-27T12:12:53.779Z" }, + { url = "https://files.pythonhosted.org/packages/9f/e5/059b9f65a8c9149361a8b75094864ab83b94718344db511fd6117936ed2a/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:168b025f8fd8d8d10957405f3fdcef3dc20f5982d398f90851f4abc58c566c52", size = 402923, upload-time = "2025-08-27T12:12:55.15Z" }, + { url = "https://files.pythonhosted.org/packages/f5/48/64cabb7daced2968dd08e8a1b7988bf358d7bd5bcd5dc89a652f4668543c/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb56c6210ef77caa58e16e8c17d35c63fe3f5b60fd9ba9d424470c3400bcf9ed", size = 384094, upload-time = "2025-08-27T12:12:57.194Z" }, + { url = "https://files.pythonhosted.org/packages/ae/e1/dc9094d6ff566bff87add8a510c89b9e158ad2ecd97ee26e677da29a9e1b/rpds_py-0.27.1-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:d252f2d8ca0195faa707f8eb9368955760880b2b42a8ee16d382bf5dd807f89a", size = 401093, upload-time = "2025-08-27T12:12:58.985Z" }, + { url = "https://files.pythonhosted.org/packages/37/8e/ac8577e3ecdd5593e283d46907d7011618994e1d7ab992711ae0f78b9937/rpds_py-0.27.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6e5e54da1e74b91dbc7996b56640f79b195d5925c2b78efaa8c5d53e1d88edde", size = 417969, upload-time = "2025-08-27T12:13:00.367Z" }, + { url = "https://files.pythonhosted.org/packages/66/6d/87507430a8f74a93556fe55c6485ba9c259949a853ce407b1e23fea5ba31/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ffce0481cc6e95e5b3f0a47ee17ffbd234399e6d532f394c8dce320c3b089c21", size = 558302, upload-time = "2025-08-27T12:13:01.737Z" }, + { url = "https://files.pythonhosted.org/packages/3a/bb/1db4781ce1dda3eecc735e3152659a27b90a02ca62bfeea17aee45cc0fbc/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:a205fdfe55c90c2cd8e540ca9ceba65cbe6629b443bc05db1f590a3db8189ff9", size = 589259, upload-time = "2025-08-27T12:13:03.127Z" }, + { url = "https://files.pythonhosted.org/packages/7b/0e/ae1c8943d11a814d01b482e1f8da903f88047a962dff9bbdadf3bd6e6fd1/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:689fb5200a749db0415b092972e8eba85847c23885c8543a8b0f5c009b1a5948", size = 554983, upload-time = "2025-08-27T12:13:04.516Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d5/0b2a55415931db4f112bdab072443ff76131b5ac4f4dc98d10d2d357eb03/rpds_py-0.27.1-cp311-cp311-win32.whl", hash = "sha256:3182af66048c00a075010bc7f4860f33913528a4b6fc09094a6e7598e462fe39", size = 217154, upload-time = "2025-08-27T12:13:06.278Z" }, + { url = "https://files.pythonhosted.org/packages/24/75/3b7ffe0d50dc86a6a964af0d1cc3a4a2cdf437cb7b099a4747bbb96d1819/rpds_py-0.27.1-cp311-cp311-win_amd64.whl", hash = "sha256:b4938466c6b257b2f5c4ff98acd8128ec36b5059e5c8f8372d79316b1c36bb15", size = 228627, upload-time = "2025-08-27T12:13:07.625Z" }, + { url = "https://files.pythonhosted.org/packages/8d/3f/4fd04c32abc02c710f09a72a30c9a55ea3cc154ef8099078fd50a0596f8e/rpds_py-0.27.1-cp311-cp311-win_arm64.whl", hash = "sha256:2f57af9b4d0793e53266ee4325535a31ba48e2f875da81a9177c9926dfa60746", size = 220998, upload-time = "2025-08-27T12:13:08.972Z" }, + { url = "https://files.pythonhosted.org/packages/bd/fe/38de28dee5df58b8198c743fe2bea0c785c6d40941b9950bac4cdb71a014/rpds_py-0.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ae2775c1973e3c30316892737b91f9283f9908e3cc7625b9331271eaaed7dc90", size = 361887, upload-time = "2025-08-27T12:13:10.233Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/4b6c7eedc7dd90986bf0fab6ea2a091ec11c01b15f8ba0a14d3f80450468/rpds_py-0.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2643400120f55c8a96f7c9d858f7be0c88d383cd4653ae2cf0d0c88f668073e5", size = 345795, upload-time = "2025-08-27T12:13:11.65Z" }, + { url = "https://files.pythonhosted.org/packages/6f/0e/e650e1b81922847a09cca820237b0edee69416a01268b7754d506ade11ad/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16323f674c089b0360674a4abd28d5042947d54ba620f72514d69be4ff64845e", size = 385121, upload-time = "2025-08-27T12:13:13.008Z" }, + { url = "https://files.pythonhosted.org/packages/1b/ea/b306067a712988e2bff00dcc7c8f31d26c29b6d5931b461aa4b60a013e33/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a1f4814b65eacac94a00fc9a526e3fdafd78e439469644032032d0d63de4881", size = 398976, upload-time = "2025-08-27T12:13:14.368Z" }, + { url = "https://files.pythonhosted.org/packages/2c/0a/26dc43c8840cb8fe239fe12dbc8d8de40f2365e838f3d395835dde72f0e5/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ba32c16b064267b22f1850a34051121d423b6f7338a12b9459550eb2096e7ec", size = 525953, upload-time = "2025-08-27T12:13:15.774Z" }, + { url = "https://files.pythonhosted.org/packages/22/14/c85e8127b573aaf3a0cbd7fbb8c9c99e735a4a02180c84da2a463b766e9e/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5c20f33fd10485b80f65e800bbe5f6785af510b9f4056c5a3c612ebc83ba6cb", size = 407915, upload-time = "2025-08-27T12:13:17.379Z" }, + { url = "https://files.pythonhosted.org/packages/ed/7b/8f4fee9ba1fb5ec856eb22d725a4efa3deb47f769597c809e03578b0f9d9/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:466bfe65bd932da36ff279ddd92de56b042f2266d752719beb97b08526268ec5", size = 386883, upload-time = "2025-08-27T12:13:18.704Z" }, + { url = "https://files.pythonhosted.org/packages/86/47/28fa6d60f8b74fcdceba81b272f8d9836ac0340570f68f5df6b41838547b/rpds_py-0.27.1-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:41e532bbdcb57c92ba3be62c42e9f096431b4cf478da9bc3bc6ce5c38ab7ba7a", size = 405699, upload-time = "2025-08-27T12:13:20.089Z" }, + { url = "https://files.pythonhosted.org/packages/d0/fd/c5987b5e054548df56953a21fe2ebed51fc1ec7c8f24fd41c067b68c4a0a/rpds_py-0.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f149826d742b406579466283769a8ea448eed82a789af0ed17b0cd5770433444", size = 423713, upload-time = "2025-08-27T12:13:21.436Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ba/3c4978b54a73ed19a7d74531be37a8bcc542d917c770e14d372b8daea186/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80c60cfb5310677bd67cb1e85a1e8eb52e12529545441b43e6f14d90b878775a", size = 562324, upload-time = "2025-08-27T12:13:22.789Z" }, + { url = "https://files.pythonhosted.org/packages/b5/6c/6943a91768fec16db09a42b08644b960cff540c66aab89b74be6d4a144ba/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7ee6521b9baf06085f62ba9c7a3e5becffbc32480d2f1b351559c001c38ce4c1", size = 593646, upload-time = "2025-08-27T12:13:24.122Z" }, + { url = "https://files.pythonhosted.org/packages/11/73/9d7a8f4be5f4396f011a6bb7a19fe26303a0dac9064462f5651ced2f572f/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a512c8263249a9d68cac08b05dd59d2b3f2061d99b322813cbcc14c3c7421998", size = 558137, upload-time = "2025-08-27T12:13:25.557Z" }, + { url = "https://files.pythonhosted.org/packages/6e/96/6772cbfa0e2485bcceef8071de7821f81aeac8bb45fbfd5542a3e8108165/rpds_py-0.27.1-cp312-cp312-win32.whl", hash = "sha256:819064fa048ba01b6dadc5116f3ac48610435ac9a0058bbde98e569f9e785c39", size = 221343, upload-time = "2025-08-27T12:13:26.967Z" }, + { url = "https://files.pythonhosted.org/packages/67/b6/c82f0faa9af1c6a64669f73a17ee0eeef25aff30bb9a1c318509efe45d84/rpds_py-0.27.1-cp312-cp312-win_amd64.whl", hash = "sha256:d9199717881f13c32c4046a15f024971a3b78ad4ea029e8da6b86e5aa9cf4594", size = 232497, upload-time = "2025-08-27T12:13:28.326Z" }, + { url = "https://files.pythonhosted.org/packages/e1/96/2817b44bd2ed11aebacc9251da03689d56109b9aba5e311297b6902136e2/rpds_py-0.27.1-cp312-cp312-win_arm64.whl", hash = "sha256:33aa65b97826a0e885ef6e278fbd934e98cdcfed80b63946025f01e2f5b29502", size = 222790, upload-time = "2025-08-27T12:13:29.71Z" }, + { url = "https://files.pythonhosted.org/packages/cc/77/610aeee8d41e39080c7e14afa5387138e3c9fa9756ab893d09d99e7d8e98/rpds_py-0.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e4b9fcfbc021633863a37e92571d6f91851fa656f0180246e84cbd8b3f6b329b", size = 361741, upload-time = "2025-08-27T12:13:31.039Z" }, + { url = "https://files.pythonhosted.org/packages/3a/fc/c43765f201c6a1c60be2043cbdb664013def52460a4c7adace89d6682bf4/rpds_py-0.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1441811a96eadca93c517d08df75de45e5ffe68aa3089924f963c782c4b898cf", size = 345574, upload-time = "2025-08-27T12:13:32.902Z" }, + { url = "https://files.pythonhosted.org/packages/20/42/ee2b2ca114294cd9847d0ef9c26d2b0851b2e7e00bf14cc4c0b581df0fc3/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55266dafa22e672f5a4f65019015f90336ed31c6383bd53f5e7826d21a0e0b83", size = 385051, upload-time = "2025-08-27T12:13:34.228Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e8/1e430fe311e4799e02e2d1af7c765f024e95e17d651612425b226705f910/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78827d7ac08627ea2c8e02c9e5b41180ea5ea1f747e9db0915e3adf36b62dcf", size = 398395, upload-time = "2025-08-27T12:13:36.132Z" }, + { url = "https://files.pythonhosted.org/packages/82/95/9dc227d441ff2670651c27a739acb2535ccaf8b351a88d78c088965e5996/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae92443798a40a92dc5f0b01d8a7c93adde0c4dc965310a29ae7c64d72b9fad2", size = 524334, upload-time = "2025-08-27T12:13:37.562Z" }, + { url = "https://files.pythonhosted.org/packages/87/01/a670c232f401d9ad461d9a332aa4080cd3cb1d1df18213dbd0d2a6a7ab51/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c46c9dd2403b66a2a3b9720ec4b74d4ab49d4fabf9f03dfdce2d42af913fe8d0", size = 407691, upload-time = "2025-08-27T12:13:38.94Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/0a14aebbaa26fe7fab4780c76f2239e76cc95a0090bdb25e31d95c492fcd/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2efe4eb1d01b7f5f1939f4ef30ecea6c6b3521eec451fb93191bf84b2a522418", size = 386868, upload-time = "2025-08-27T12:13:40.192Z" }, + { url = "https://files.pythonhosted.org/packages/3b/03/8c897fb8b5347ff6c1cc31239b9611c5bf79d78c984430887a353e1409a1/rpds_py-0.27.1-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:15d3b4d83582d10c601f481eca29c3f138d44c92187d197aff663a269197c02d", size = 405469, upload-time = "2025-08-27T12:13:41.496Z" }, + { url = "https://files.pythonhosted.org/packages/da/07/88c60edc2df74850d496d78a1fdcdc7b54360a7f610a4d50008309d41b94/rpds_py-0.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4ed2e16abbc982a169d30d1a420274a709949e2cbdef119fe2ec9d870b42f274", size = 422125, upload-time = "2025-08-27T12:13:42.802Z" }, + { url = "https://files.pythonhosted.org/packages/6b/86/5f4c707603e41b05f191a749984f390dabcbc467cf833769b47bf14ba04f/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a75f305c9b013289121ec0f1181931975df78738cdf650093e6b86d74aa7d8dd", size = 562341, upload-time = "2025-08-27T12:13:44.472Z" }, + { url = "https://files.pythonhosted.org/packages/b2/92/3c0cb2492094e3cd9baf9e49bbb7befeceb584ea0c1a8b5939dca4da12e5/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:67ce7620704745881a3d4b0ada80ab4d99df390838839921f99e63c474f82cf2", size = 592511, upload-time = "2025-08-27T12:13:45.898Z" }, + { url = "https://files.pythonhosted.org/packages/10/bb/82e64fbb0047c46a168faa28d0d45a7851cd0582f850b966811d30f67ad8/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d992ac10eb86d9b6f369647b6a3f412fc0075cfd5d799530e84d335e440a002", size = 557736, upload-time = "2025-08-27T12:13:47.408Z" }, + { url = "https://files.pythonhosted.org/packages/00/95/3c863973d409210da7fb41958172c6b7dbe7fc34e04d3cc1f10bb85e979f/rpds_py-0.27.1-cp313-cp313-win32.whl", hash = "sha256:4f75e4bd8ab8db624e02c8e2fc4063021b58becdbe6df793a8111d9343aec1e3", size = 221462, upload-time = "2025-08-27T12:13:48.742Z" }, + { url = "https://files.pythonhosted.org/packages/ce/2c/5867b14a81dc217b56d95a9f2a40fdbc56a1ab0181b80132beeecbd4b2d6/rpds_py-0.27.1-cp313-cp313-win_amd64.whl", hash = "sha256:f9025faafc62ed0b75a53e541895ca272815bec18abe2249ff6501c8f2e12b83", size = 232034, upload-time = "2025-08-27T12:13:50.11Z" }, + { url = "https://files.pythonhosted.org/packages/c7/78/3958f3f018c01923823f1e47f1cc338e398814b92d83cd278364446fac66/rpds_py-0.27.1-cp313-cp313-win_arm64.whl", hash = "sha256:ed10dc32829e7d222b7d3b93136d25a406ba9788f6a7ebf6809092da1f4d279d", size = 222392, upload-time = "2025-08-27T12:13:52.587Z" }, + { url = "https://files.pythonhosted.org/packages/01/76/1cdf1f91aed5c3a7bf2eba1f1c4e4d6f57832d73003919a20118870ea659/rpds_py-0.27.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:92022bbbad0d4426e616815b16bc4127f83c9a74940e1ccf3cfe0b387aba0228", size = 358355, upload-time = "2025-08-27T12:13:54.012Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6f/bf142541229374287604caf3bb2a4ae17f0a580798fd72d3b009b532db4e/rpds_py-0.27.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:47162fdab9407ec3f160805ac3e154df042e577dd53341745fc7fb3f625e6d92", size = 342138, upload-time = "2025-08-27T12:13:55.791Z" }, + { url = "https://files.pythonhosted.org/packages/1a/77/355b1c041d6be40886c44ff5e798b4e2769e497b790f0f7fd1e78d17e9a8/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb89bec23fddc489e5d78b550a7b773557c9ab58b7946154a10a6f7a214a48b2", size = 380247, upload-time = "2025-08-27T12:13:57.683Z" }, + { url = "https://files.pythonhosted.org/packages/d6/a4/d9cef5c3946ea271ce2243c51481971cd6e34f21925af2783dd17b26e815/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e48af21883ded2b3e9eb48cb7880ad8598b31ab752ff3be6457001d78f416723", size = 390699, upload-time = "2025-08-27T12:13:59.137Z" }, + { url = "https://files.pythonhosted.org/packages/3a/06/005106a7b8c6c1a7e91b73169e49870f4af5256119d34a361ae5240a0c1d/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f5b7bd8e219ed50299e58551a410b64daafb5017d54bbe822e003856f06a802", size = 521852, upload-time = "2025-08-27T12:14:00.583Z" }, + { url = "https://files.pythonhosted.org/packages/e5/3e/50fb1dac0948e17a02eb05c24510a8fe12d5ce8561c6b7b7d1339ab7ab9c/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08f1e20bccf73b08d12d804d6e1c22ca5530e71659e6673bce31a6bb71c1e73f", size = 402582, upload-time = "2025-08-27T12:14:02.034Z" }, + { url = "https://files.pythonhosted.org/packages/cb/b0/f4e224090dc5b0ec15f31a02d746ab24101dd430847c4d99123798661bfc/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dc5dceeaefcc96dc192e3a80bbe1d6c410c469e97bdd47494a7d930987f18b2", size = 384126, upload-time = "2025-08-27T12:14:03.437Z" }, + { url = "https://files.pythonhosted.org/packages/54/77/ac339d5f82b6afff1df8f0fe0d2145cc827992cb5f8eeb90fc9f31ef7a63/rpds_py-0.27.1-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:d76f9cc8665acdc0c9177043746775aa7babbf479b5520b78ae4002d889f5c21", size = 399486, upload-time = "2025-08-27T12:14:05.443Z" }, + { url = "https://files.pythonhosted.org/packages/d6/29/3e1c255eee6ac358c056a57d6d6869baa00a62fa32eea5ee0632039c50a3/rpds_py-0.27.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:134fae0e36022edad8290a6661edf40c023562964efea0cc0ec7f5d392d2aaef", size = 414832, upload-time = "2025-08-27T12:14:06.902Z" }, + { url = "https://files.pythonhosted.org/packages/3f/db/6d498b844342deb3fa1d030598db93937a9964fcf5cb4da4feb5f17be34b/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb11a4f1b2b63337cfd3b4d110af778a59aae51c81d195768e353d8b52f88081", size = 557249, upload-time = "2025-08-27T12:14:08.37Z" }, + { url = "https://files.pythonhosted.org/packages/60/f3/690dd38e2310b6f68858a331399b4d6dbb9132c3e8ef8b4333b96caf403d/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:13e608ac9f50a0ed4faec0e90ece76ae33b34c0e8656e3dceb9a7db994c692cd", size = 587356, upload-time = "2025-08-27T12:14:10.034Z" }, + { url = "https://files.pythonhosted.org/packages/86/e3/84507781cccd0145f35b1dc32c72675200c5ce8d5b30f813e49424ef68fc/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dd2135527aa40f061350c3f8f89da2644de26cd73e4de458e79606384f4f68e7", size = 555300, upload-time = "2025-08-27T12:14:11.783Z" }, + { url = "https://files.pythonhosted.org/packages/e5/ee/375469849e6b429b3516206b4580a79e9ef3eb12920ddbd4492b56eaacbe/rpds_py-0.27.1-cp313-cp313t-win32.whl", hash = "sha256:3020724ade63fe320a972e2ffd93b5623227e684315adce194941167fee02688", size = 216714, upload-time = "2025-08-27T12:14:13.629Z" }, + { url = "https://files.pythonhosted.org/packages/21/87/3fc94e47c9bd0742660e84706c311a860dcae4374cf4a03c477e23ce605a/rpds_py-0.27.1-cp313-cp313t-win_amd64.whl", hash = "sha256:8ee50c3e41739886606388ba3ab3ee2aae9f35fb23f833091833255a31740797", size = 228943, upload-time = "2025-08-27T12:14:14.937Z" }, + { url = "https://files.pythonhosted.org/packages/70/36/b6e6066520a07cf029d385de869729a895917b411e777ab1cde878100a1d/rpds_py-0.27.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:acb9aafccaae278f449d9c713b64a9e68662e7799dbd5859e2c6b3c67b56d334", size = 362472, upload-time = "2025-08-27T12:14:16.333Z" }, + { url = "https://files.pythonhosted.org/packages/af/07/b4646032e0dcec0df9c73a3bd52f63bc6c5f9cda992f06bd0e73fe3fbebd/rpds_py-0.27.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b7fb801aa7f845ddf601c49630deeeccde7ce10065561d92729bfe81bd21fb33", size = 345676, upload-time = "2025-08-27T12:14:17.764Z" }, + { url = "https://files.pythonhosted.org/packages/b0/16/2f1003ee5d0af4bcb13c0cf894957984c32a6751ed7206db2aee7379a55e/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe0dd05afb46597b9a2e11c351e5e4283c741237e7f617ffb3252780cca9336a", size = 385313, upload-time = "2025-08-27T12:14:19.829Z" }, + { url = "https://files.pythonhosted.org/packages/05/cd/7eb6dd7b232e7f2654d03fa07f1414d7dfc980e82ba71e40a7c46fd95484/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b6dfb0e058adb12d8b1d1b25f686e94ffa65d9995a5157afe99743bf7369d62b", size = 399080, upload-time = "2025-08-27T12:14:21.531Z" }, + { url = "https://files.pythonhosted.org/packages/20/51/5829afd5000ec1cb60f304711f02572d619040aa3ec033d8226817d1e571/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed090ccd235f6fa8bb5861684567f0a83e04f52dfc2e5c05f2e4b1309fcf85e7", size = 523868, upload-time = "2025-08-27T12:14:23.485Z" }, + { url = "https://files.pythonhosted.org/packages/05/2c/30eebca20d5db95720ab4d2faec1b5e4c1025c473f703738c371241476a2/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf876e79763eecf3e7356f157540d6a093cef395b65514f17a356f62af6cc136", size = 408750, upload-time = "2025-08-27T12:14:24.924Z" }, + { url = "https://files.pythonhosted.org/packages/90/1a/cdb5083f043597c4d4276eae4e4c70c55ab5accec078da8611f24575a367/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12ed005216a51b1d6e2b02a7bd31885fe317e45897de81d86dcce7d74618ffff", size = 387688, upload-time = "2025-08-27T12:14:27.537Z" }, + { url = "https://files.pythonhosted.org/packages/7c/92/cf786a15320e173f945d205ab31585cc43969743bb1a48b6888f7a2b0a2d/rpds_py-0.27.1-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:ee4308f409a40e50593c7e3bb8cbe0b4d4c66d1674a316324f0c2f5383b486f9", size = 407225, upload-time = "2025-08-27T12:14:28.981Z" }, + { url = "https://files.pythonhosted.org/packages/33/5c/85ee16df5b65063ef26017bef33096557a4c83fbe56218ac7cd8c235f16d/rpds_py-0.27.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b08d152555acf1f455154d498ca855618c1378ec810646fcd7c76416ac6dc60", size = 423361, upload-time = "2025-08-27T12:14:30.469Z" }, + { url = "https://files.pythonhosted.org/packages/4b/8e/1c2741307fcabd1a334ecf008e92c4f47bb6f848712cf15c923becfe82bb/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:dce51c828941973a5684d458214d3a36fcd28da3e1875d659388f4f9f12cc33e", size = 562493, upload-time = "2025-08-27T12:14:31.987Z" }, + { url = "https://files.pythonhosted.org/packages/04/03/5159321baae9b2222442a70c1f988cbbd66b9be0675dd3936461269be360/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:c1476d6f29eb81aa4151c9a31219b03f1f798dc43d8af1250a870735516a1212", size = 592623, upload-time = "2025-08-27T12:14:33.543Z" }, + { url = "https://files.pythonhosted.org/packages/ff/39/c09fd1ad28b85bc1d4554a8710233c9f4cefd03d7717a1b8fbfd171d1167/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3ce0cac322b0d69b63c9cdb895ee1b65805ec9ffad37639f291dd79467bee675", size = 558800, upload-time = "2025-08-27T12:14:35.436Z" }, + { url = "https://files.pythonhosted.org/packages/c5/d6/99228e6bbcf4baa764b18258f519a9035131d91b538d4e0e294313462a98/rpds_py-0.27.1-cp314-cp314-win32.whl", hash = "sha256:dfbfac137d2a3d0725758cd141f878bf4329ba25e34979797c89474a89a8a3a3", size = 221943, upload-time = "2025-08-27T12:14:36.898Z" }, + { url = "https://files.pythonhosted.org/packages/be/07/c802bc6b8e95be83b79bdf23d1aa61d68324cb1006e245d6c58e959e314d/rpds_py-0.27.1-cp314-cp314-win_amd64.whl", hash = "sha256:a6e57b0abfe7cc513450fcf529eb486b6e4d3f8aee83e92eb5f1ef848218d456", size = 233739, upload-time = "2025-08-27T12:14:38.386Z" }, + { url = "https://files.pythonhosted.org/packages/c8/89/3e1b1c16d4c2d547c5717377a8df99aee8099ff050f87c45cb4d5fa70891/rpds_py-0.27.1-cp314-cp314-win_arm64.whl", hash = "sha256:faf8d146f3d476abfee026c4ae3bdd9ca14236ae4e4c310cbd1cf75ba33d24a3", size = 223120, upload-time = "2025-08-27T12:14:39.82Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/dc7931dc2fa4a6e46b2a4fa744a9fe5c548efd70e0ba74f40b39fa4a8c10/rpds_py-0.27.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:ba81d2b56b6d4911ce735aad0a1d4495e808b8ee4dc58715998741a26874e7c2", size = 358944, upload-time = "2025-08-27T12:14:41.199Z" }, + { url = "https://files.pythonhosted.org/packages/e6/22/4af76ac4e9f336bfb1a5f240d18a33c6b2fcaadb7472ac7680576512b49a/rpds_py-0.27.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:84f7d509870098de0e864cad0102711c1e24e9b1a50ee713b65928adb22269e4", size = 342283, upload-time = "2025-08-27T12:14:42.699Z" }, + { url = "https://files.pythonhosted.org/packages/1c/15/2a7c619b3c2272ea9feb9ade67a45c40b3eeb500d503ad4c28c395dc51b4/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e960fc78fecd1100539f14132425e1d5fe44ecb9239f8f27f079962021523e", size = 380320, upload-time = "2025-08-27T12:14:44.157Z" }, + { url = "https://files.pythonhosted.org/packages/a2/7d/4c6d243ba4a3057e994bb5bedd01b5c963c12fe38dde707a52acdb3849e7/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:62f85b665cedab1a503747617393573995dac4600ff51869d69ad2f39eb5e817", size = 391760, upload-time = "2025-08-27T12:14:45.845Z" }, + { url = "https://files.pythonhosted.org/packages/b4/71/b19401a909b83bcd67f90221330bc1ef11bc486fe4e04c24388d28a618ae/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fed467af29776f6556250c9ed85ea5a4dd121ab56a5f8b206e3e7a4c551e48ec", size = 522476, upload-time = "2025-08-27T12:14:47.364Z" }, + { url = "https://files.pythonhosted.org/packages/e4/44/1a3b9715c0455d2e2f0f6df5ee6d6f5afdc423d0773a8a682ed2b43c566c/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2729615f9d430af0ae6b36cf042cb55c0936408d543fb691e1a9e36648fd35a", size = 403418, upload-time = "2025-08-27T12:14:49.991Z" }, + { url = "https://files.pythonhosted.org/packages/1c/4b/fb6c4f14984eb56673bc868a66536f53417ddb13ed44b391998100a06a96/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b207d881a9aef7ba753d69c123a35d96ca7cb808056998f6b9e8747321f03b8", size = 384771, upload-time = "2025-08-27T12:14:52.159Z" }, + { url = "https://files.pythonhosted.org/packages/c0/56/d5265d2d28b7420d7b4d4d85cad8ef891760f5135102e60d5c970b976e41/rpds_py-0.27.1-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:639fd5efec029f99b79ae47e5d7e00ad8a773da899b6309f6786ecaf22948c48", size = 400022, upload-time = "2025-08-27T12:14:53.859Z" }, + { url = "https://files.pythonhosted.org/packages/8f/e9/9f5fc70164a569bdd6ed9046486c3568d6926e3a49bdefeeccfb18655875/rpds_py-0.27.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fecc80cb2a90e28af8a9b366edacf33d7a91cbfe4c2c4544ea1246e949cfebeb", size = 416787, upload-time = "2025-08-27T12:14:55.673Z" }, + { url = "https://files.pythonhosted.org/packages/d4/64/56dd03430ba491db943a81dcdef115a985aac5f44f565cd39a00c766d45c/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42a89282d711711d0a62d6f57d81aa43a1368686c45bc1c46b7f079d55692734", size = 557538, upload-time = "2025-08-27T12:14:57.245Z" }, + { url = "https://files.pythonhosted.org/packages/3f/36/92cc885a3129993b1d963a2a42ecf64e6a8e129d2c7cc980dbeba84e55fb/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:cf9931f14223de59551ab9d38ed18d92f14f055a5f78c1d8ad6493f735021bbb", size = 588512, upload-time = "2025-08-27T12:14:58.728Z" }, + { url = "https://files.pythonhosted.org/packages/dd/10/6b283707780a81919f71625351182b4f98932ac89a09023cb61865136244/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f39f58a27cc6e59f432b568ed8429c7e1641324fbe38131de852cd77b2d534b0", size = 555813, upload-time = "2025-08-27T12:15:00.334Z" }, + { url = "https://files.pythonhosted.org/packages/04/2e/30b5ea18c01379da6272a92825dd7e53dc9d15c88a19e97932d35d430ef7/rpds_py-0.27.1-cp314-cp314t-win32.whl", hash = "sha256:d5fa0ee122dc09e23607a28e6d7b150da16c662e66409bbe85230e4c85bb528a", size = 217385, upload-time = "2025-08-27T12:15:01.937Z" }, + { url = "https://files.pythonhosted.org/packages/32/7d/97119da51cb1dd3f2f3c0805f155a3aa4a95fa44fe7d78ae15e69edf4f34/rpds_py-0.27.1-cp314-cp314t-win_amd64.whl", hash = "sha256:6567d2bb951e21232c2f660c24cf3470bb96de56cdcb3f071a83feeaff8a2772", size = 230097, upload-time = "2025-08-27T12:15:03.961Z" }, + { url = "https://files.pythonhosted.org/packages/d5/63/b7cc415c345625d5e62f694ea356c58fb964861409008118f1245f8c3347/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7ba22cb9693df986033b91ae1d7a979bc399237d45fccf875b76f62bb9e52ddf", size = 371360, upload-time = "2025-08-27T12:15:29.218Z" }, + { url = "https://files.pythonhosted.org/packages/e5/8c/12e1b24b560cf378b8ffbdb9dc73abd529e1adcfcf82727dfd29c4a7b88d/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b640501be9288c77738b5492b3fd3abc4ba95c50c2e41273c8a1459f08298d3", size = 353933, upload-time = "2025-08-27T12:15:30.837Z" }, + { url = "https://files.pythonhosted.org/packages/9b/85/1bb2210c1f7a1b99e91fea486b9f0f894aa5da3a5ec7097cbad7dec6d40f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb08b65b93e0c6dd70aac7f7890a9c0938d5ec71d5cb32d45cf844fb8ae47636", size = 382962, upload-time = "2025-08-27T12:15:32.348Z" }, + { url = "https://files.pythonhosted.org/packages/cc/c9/a839b9f219cf80ed65f27a7f5ddbb2809c1b85c966020ae2dff490e0b18e/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d7ff07d696a7a38152ebdb8212ca9e5baab56656749f3d6004b34ab726b550b8", size = 394412, upload-time = "2025-08-27T12:15:33.839Z" }, + { url = "https://files.pythonhosted.org/packages/02/2d/b1d7f928b0b1f4fc2e0133e8051d199b01d7384875adc63b6ddadf3de7e5/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fb7c72262deae25366e3b6c0c0ba46007967aea15d1eea746e44ddba8ec58dcc", size = 523972, upload-time = "2025-08-27T12:15:35.377Z" }, + { url = "https://files.pythonhosted.org/packages/a9/af/2cbf56edd2d07716df1aec8a726b3159deb47cb5c27e1e42b71d705a7c2f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7b002cab05d6339716b03a4a3a2ce26737f6231d7b523f339fa061d53368c9d8", size = 403273, upload-time = "2025-08-27T12:15:37.051Z" }, + { url = "https://files.pythonhosted.org/packages/c0/93/425e32200158d44ff01da5d9612c3b6711fe69f606f06e3895511f17473b/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23f6b69d1c26c4704fec01311963a41d7de3ee0570a84ebde4d544e5a1859ffc", size = 385278, upload-time = "2025-08-27T12:15:38.571Z" }, + { url = "https://files.pythonhosted.org/packages/eb/1a/1a04a915ecd0551bfa9e77b7672d1937b4b72a0fc204a17deef76001cfb2/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:530064db9146b247351f2a0250b8f00b289accea4596a033e94be2389977de71", size = 402084, upload-time = "2025-08-27T12:15:40.529Z" }, + { url = "https://files.pythonhosted.org/packages/51/f7/66585c0fe5714368b62951d2513b684e5215beaceab2c6629549ddb15036/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7b90b0496570bd6b0321724a330d8b545827c4df2034b6ddfc5f5275f55da2ad", size = 419041, upload-time = "2025-08-27T12:15:42.191Z" }, + { url = "https://files.pythonhosted.org/packages/8e/7e/83a508f6b8e219bba2d4af077c35ba0e0cdd35a751a3be6a7cba5a55ad71/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:879b0e14a2da6a1102a3fc8af580fc1ead37e6d6692a781bd8c83da37429b5ab", size = 560084, upload-time = "2025-08-27T12:15:43.839Z" }, + { url = "https://files.pythonhosted.org/packages/66/66/bb945683b958a1b19eb0fe715594630d0f36396ebdef4d9b89c2fa09aa56/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:0d807710df3b5faa66c731afa162ea29717ab3be17bdc15f90f2d9f183da4059", size = 590115, upload-time = "2025-08-27T12:15:46.647Z" }, + { url = "https://files.pythonhosted.org/packages/12/00/ccfaafaf7db7e7adace915e5c2f2c2410e16402561801e9c7f96683002d3/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:3adc388fc3afb6540aec081fa59e6e0d3908722771aa1e37ffe22b220a436f0b", size = 556561, upload-time = "2025-08-27T12:15:48.219Z" }, + { url = "https://files.pythonhosted.org/packages/e1/b7/92b6ed9aad103bfe1c45df98453dfae40969eef2cb6c6239c58d7e96f1b3/rpds_py-0.27.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c796c0c1cc68cb08b0284db4229f5af76168172670c74908fdbd4b7d7f515819", size = 229125, upload-time = "2025-08-27T12:15:49.956Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ed/e1fba02de17f4f76318b834425257c8ea297e415e12c68b4361f63e8ae92/rpds_py-0.27.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cdfe4bb2f9fe7458b7453ad3c33e726d6d1c7c0a72960bcc23800d77384e42df", size = 371402, upload-time = "2025-08-27T12:15:51.561Z" }, + { url = "https://files.pythonhosted.org/packages/af/7c/e16b959b316048b55585a697e94add55a4ae0d984434d279ea83442e460d/rpds_py-0.27.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:8fabb8fd848a5f75a2324e4a84501ee3a5e3c78d8603f83475441866e60b94a3", size = 354084, upload-time = "2025-08-27T12:15:53.219Z" }, + { url = "https://files.pythonhosted.org/packages/de/c1/ade645f55de76799fdd08682d51ae6724cb46f318573f18be49b1e040428/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eda8719d598f2f7f3e0f885cba8646644b55a187762bec091fa14a2b819746a9", size = 383090, upload-time = "2025-08-27T12:15:55.158Z" }, + { url = "https://files.pythonhosted.org/packages/1f/27/89070ca9b856e52960da1472efcb6c20ba27cfe902f4f23ed095b9cfc61d/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3c64d07e95606ec402a0a1c511fe003873fa6af630bda59bac77fac8b4318ebc", size = 394519, upload-time = "2025-08-27T12:15:57.238Z" }, + { url = "https://files.pythonhosted.org/packages/b3/28/be120586874ef906aa5aeeae95ae8df4184bc757e5b6bd1c729ccff45ed5/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93a2ed40de81bcff59aabebb626562d48332f3d028ca2036f1d23cbb52750be4", size = 523817, upload-time = "2025-08-27T12:15:59.237Z" }, + { url = "https://files.pythonhosted.org/packages/a8/ef/70cc197bc11cfcde02a86f36ac1eed15c56667c2ebddbdb76a47e90306da/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:387ce8c44ae94e0ec50532d9cb0edce17311024c9794eb196b90e1058aadeb66", size = 403240, upload-time = "2025-08-27T12:16:00.923Z" }, + { url = "https://files.pythonhosted.org/packages/cf/35/46936cca449f7f518f2f4996e0e8344db4b57e2081e752441154089d2a5f/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aaf94f812c95b5e60ebaf8bfb1898a7d7cb9c1af5744d4a67fa47796e0465d4e", size = 385194, upload-time = "2025-08-27T12:16:02.802Z" }, + { url = "https://files.pythonhosted.org/packages/e1/62/29c0d3e5125c3270b51415af7cbff1ec587379c84f55a5761cc9efa8cd06/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:4848ca84d6ded9b58e474dfdbad4b8bfb450344c0551ddc8d958bf4b36aa837c", size = 402086, upload-time = "2025-08-27T12:16:04.806Z" }, + { url = "https://files.pythonhosted.org/packages/8f/66/03e1087679227785474466fdd04157fb793b3b76e3fcf01cbf4c693c1949/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2bde09cbcf2248b73c7c323be49b280180ff39fadcfe04e7b6f54a678d02a7cf", size = 419272, upload-time = "2025-08-27T12:16:06.471Z" }, + { url = "https://files.pythonhosted.org/packages/6a/24/e3e72d265121e00b063aef3e3501e5b2473cf1b23511d56e529531acf01e/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:94c44ee01fd21c9058f124d2d4f0c9dc7634bec93cd4b38eefc385dabe71acbf", size = 560003, upload-time = "2025-08-27T12:16:08.06Z" }, + { url = "https://files.pythonhosted.org/packages/26/ca/f5a344c534214cc2d41118c0699fffbdc2c1bc7046f2a2b9609765ab9c92/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:df8b74962e35c9249425d90144e721eed198e6555a0e22a563d29fe4486b51f6", size = 590482, upload-time = "2025-08-27T12:16:10.137Z" }, + { url = "https://files.pythonhosted.org/packages/ce/08/4349bdd5c64d9d193c360aa9db89adeee6f6682ab8825dca0a3f535f434f/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:dc23e6820e3b40847e2f4a7726462ba0cf53089512abe9ee16318c366494c17a", size = 556523, upload-time = "2025-08-27T12:16:12.188Z" }, +] + +[[package]] +name = "s3transfer" +version = "0.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/62/74/8d69dcb7a9efe8baa2046891735e5dfe433ad558ae23d9e3c14c633d1d58/s3transfer-0.14.0.tar.gz", hash = "sha256:eff12264e7c8b4985074ccce27a3b38a485bb7f7422cc8046fee9be4983e4125", size = 151547, upload-time = "2025-09-09T19:23:31.089Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/48/f0/ae7ca09223a81a1d890b2557186ea015f6e0502e9b8cb8e1813f1d8cfa4e/s3transfer-0.14.0-py3-none-any.whl", hash = "sha256:ea3b790c7077558ed1f02a3072fb3cb992bbbd253392f4b6e9e8976941c7d456", size = 85712, upload-time = "2025-09-09T19:23:30.041Z" }, +] + +[[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" } +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" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "sse-starlette" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz", hash = "sha256:ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a", size = 20985, upload-time = "2025-07-27T09:07:44.565Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/10/c78f463b4ef22eef8491f218f692be838282cd65480f6e423d7730dfd1fb/sse_starlette-3.0.2-py3-none-any.whl", hash = "sha256:16b7cbfddbcd4eaca11f7b586f3b8a080f1afe952c15813455b162edea619e5a", size = 11297, upload-time = "2025-07-27T09:07:43.268Z" }, +] + +[[package]] +name = "starlette" +version = "0.48.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a7/a5/d6f429d43394057b67a6b5bbe6eae2f77a6bf7459d961fdb224bf206eee6/starlette-0.48.0.tar.gz", hash = "sha256:7e8cee469a8ab2352911528110ce9088fdc6a37d9876926e73da7ce4aa4c7a46", size = 2652949, upload-time = "2025-09-13T08:41:05.699Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/72/2db2f49247d0a18b4f1bb9a5a39a0162869acf235f3a96418363947b3d46/starlette-0.48.0-py3-none-any.whl", hash = "sha256:0764ca97b097582558ecb498132ed0c7d942f233f365b86ba37770e026510659", size = 73736, upload-time = "2025-09-13T08:41:03.869Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, +] + +[[package]] +name = "urllib3" +version = "2.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, +] + +[[package]] +name = "uvicorn" +version = "0.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "h11" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/57/1616c8274c3442d802621abf5deb230771c7a0fec9414cb6763900eb3868/uvicorn-0.37.0.tar.gz", hash = "sha256:4115c8add6d3fd536c8ee77f0e14a7fd2ebba939fed9b02583a97f80648f9e13", size = 80367, upload-time = "2025-09-23T13:33:47.486Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/cd/584a2ceb5532af99dd09e50919e3615ba99aa127e9850eafe5f31ddfdb9a/uvicorn-0.37.0-py3-none-any.whl", hash = "sha256:913b2b88672343739927ce381ff9e2ad62541f9f8289664fa1d1d3803fa2ce6c", size = 67976, upload-time = "2025-09-23T13:33:45.842Z" }, +] + +[[package]] +name = "wrapt" +version = "1.17.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/8f/aeb76c5b46e273670962298c23e7ddde79916cb74db802131d49a85e4b7d/wrapt-1.17.3.tar.gz", hash = "sha256:f66eb08feaa410fe4eebd17f2a2c8e2e46d3476e9f8c783daa8e09e0faa666d0", size = 55547, upload-time = "2025-08-12T05:53:21.714Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3f/23/bb82321b86411eb51e5a5db3fb8f8032fd30bd7c2d74bfe936136b2fa1d6/wrapt-1.17.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:88bbae4d40d5a46142e70d58bf664a89b6b4befaea7b2ecc14e03cedb8e06c04", size = 53482, upload-time = "2025-08-12T05:51:44.467Z" }, + { url = "https://files.pythonhosted.org/packages/45/69/f3c47642b79485a30a59c63f6d739ed779fb4cc8323205d047d741d55220/wrapt-1.17.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:e6b13af258d6a9ad602d57d889f83b9d5543acd471eee12eb51f5b01f8eb1bc2", size = 38676, upload-time = "2025-08-12T05:51:32.636Z" }, + { url = "https://files.pythonhosted.org/packages/d1/71/e7e7f5670c1eafd9e990438e69d8fb46fa91a50785332e06b560c869454f/wrapt-1.17.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:fd341868a4b6714a5962c1af0bd44f7c404ef78720c7de4892901e540417111c", size = 38957, upload-time = "2025-08-12T05:51:54.655Z" }, + { url = "https://files.pythonhosted.org/packages/de/17/9f8f86755c191d6779d7ddead1a53c7a8aa18bccb7cea8e7e72dfa6a8a09/wrapt-1.17.3-cp310-cp310-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:f9b2601381be482f70e5d1051a5965c25fb3625455a2bf520b5a077b22afb775", size = 81975, upload-time = "2025-08-12T05:52:30.109Z" }, + { url = "https://files.pythonhosted.org/packages/f2/15/dd576273491f9f43dd09fce517f6c2ce6eb4fe21681726068db0d0467096/wrapt-1.17.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:343e44b2a8e60e06a7e0d29c1671a0d9951f59174f3709962b5143f60a2a98bd", size = 83149, upload-time = "2025-08-12T05:52:09.316Z" }, + { url = "https://files.pythonhosted.org/packages/0c/c4/5eb4ce0d4814521fee7aa806264bf7a114e748ad05110441cd5b8a5c744b/wrapt-1.17.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:33486899acd2d7d3066156b03465b949da3fd41a5da6e394ec49d271baefcf05", size = 82209, upload-time = "2025-08-12T05:52:10.331Z" }, + { url = "https://files.pythonhosted.org/packages/31/4b/819e9e0eb5c8dc86f60dfc42aa4e2c0d6c3db8732bce93cc752e604bb5f5/wrapt-1.17.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:e6f40a8aa5a92f150bdb3e1c44b7e98fb7113955b2e5394122fa5532fec4b418", size = 81551, upload-time = "2025-08-12T05:52:31.137Z" }, + { url = "https://files.pythonhosted.org/packages/f8/83/ed6baf89ba3a56694700139698cf703aac9f0f9eb03dab92f57551bd5385/wrapt-1.17.3-cp310-cp310-win32.whl", hash = "sha256:a36692b8491d30a8c75f1dfee65bef119d6f39ea84ee04d9f9311f83c5ad9390", size = 36464, upload-time = "2025-08-12T05:53:01.204Z" }, + { url = "https://files.pythonhosted.org/packages/2f/90/ee61d36862340ad7e9d15a02529df6b948676b9a5829fd5e16640156627d/wrapt-1.17.3-cp310-cp310-win_amd64.whl", hash = "sha256:afd964fd43b10c12213574db492cb8f73b2f0826c8df07a68288f8f19af2ebe6", size = 38748, upload-time = "2025-08-12T05:53:00.209Z" }, + { url = "https://files.pythonhosted.org/packages/bd/c3/cefe0bd330d389c9983ced15d326f45373f4073c9f4a8c2f99b50bfea329/wrapt-1.17.3-cp310-cp310-win_arm64.whl", hash = "sha256:af338aa93554be859173c39c85243970dc6a289fa907402289eeae7543e1ae18", size = 36810, upload-time = "2025-08-12T05:52:51.906Z" }, + { url = "https://files.pythonhosted.org/packages/52/db/00e2a219213856074a213503fdac0511203dceefff26e1daa15250cc01a0/wrapt-1.17.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:273a736c4645e63ac582c60a56b0acb529ef07f78e08dc6bfadf6a46b19c0da7", size = 53482, upload-time = "2025-08-12T05:51:45.79Z" }, + { url = "https://files.pythonhosted.org/packages/5e/30/ca3c4a5eba478408572096fe9ce36e6e915994dd26a4e9e98b4f729c06d9/wrapt-1.17.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5531d911795e3f935a9c23eb1c8c03c211661a5060aab167065896bbf62a5f85", size = 38674, upload-time = "2025-08-12T05:51:34.629Z" }, + { url = "https://files.pythonhosted.org/packages/31/25/3e8cc2c46b5329c5957cec959cb76a10718e1a513309c31399a4dad07eb3/wrapt-1.17.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:0610b46293c59a3adbae3dee552b648b984176f8562ee0dba099a56cfbe4df1f", size = 38959, upload-time = "2025-08-12T05:51:56.074Z" }, + { url = "https://files.pythonhosted.org/packages/5d/8f/a32a99fc03e4b37e31b57cb9cefc65050ea08147a8ce12f288616b05ef54/wrapt-1.17.3-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b32888aad8b6e68f83a8fdccbf3165f5469702a7544472bdf41f582970ed3311", size = 82376, upload-time = "2025-08-12T05:52:32.134Z" }, + { url = "https://files.pythonhosted.org/packages/31/57/4930cb8d9d70d59c27ee1332a318c20291749b4fba31f113c2f8ac49a72e/wrapt-1.17.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8cccf4f81371f257440c88faed6b74f1053eef90807b77e31ca057b2db74edb1", size = 83604, upload-time = "2025-08-12T05:52:11.663Z" }, + { url = "https://files.pythonhosted.org/packages/a8/f3/1afd48de81d63dd66e01b263a6fbb86e1b5053b419b9b33d13e1f6d0f7d0/wrapt-1.17.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:d8a210b158a34164de8bb68b0e7780041a903d7b00c87e906fb69928bf7890d5", size = 82782, upload-time = "2025-08-12T05:52:12.626Z" }, + { url = "https://files.pythonhosted.org/packages/1e/d7/4ad5327612173b144998232f98a85bb24b60c352afb73bc48e3e0d2bdc4e/wrapt-1.17.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:79573c24a46ce11aab457b472efd8d125e5a51da2d1d24387666cd85f54c05b2", size = 82076, upload-time = "2025-08-12T05:52:33.168Z" }, + { url = "https://files.pythonhosted.org/packages/bb/59/e0adfc831674a65694f18ea6dc821f9fcb9ec82c2ce7e3d73a88ba2e8718/wrapt-1.17.3-cp311-cp311-win32.whl", hash = "sha256:c31eebe420a9a5d2887b13000b043ff6ca27c452a9a22fa71f35f118e8d4bf89", size = 36457, upload-time = "2025-08-12T05:53:03.936Z" }, + { url = "https://files.pythonhosted.org/packages/83/88/16b7231ba49861b6f75fc309b11012ede4d6b0a9c90969d9e0db8d991aeb/wrapt-1.17.3-cp311-cp311-win_amd64.whl", hash = "sha256:0b1831115c97f0663cb77aa27d381237e73ad4f721391a9bfb2fe8bc25fa6e77", size = 38745, upload-time = "2025-08-12T05:53:02.885Z" }, + { url = "https://files.pythonhosted.org/packages/9a/1e/c4d4f3398ec073012c51d1c8d87f715f56765444e1a4b11e5180577b7e6e/wrapt-1.17.3-cp311-cp311-win_arm64.whl", hash = "sha256:5a7b3c1ee8265eb4c8f1b7d29943f195c00673f5ab60c192eba2d4a7eae5f46a", size = 36806, upload-time = "2025-08-12T05:52:53.368Z" }, + { url = "https://files.pythonhosted.org/packages/9f/41/cad1aba93e752f1f9268c77270da3c469883d56e2798e7df6240dcb2287b/wrapt-1.17.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ab232e7fdb44cdfbf55fc3afa31bcdb0d8980b9b95c38b6405df2acb672af0e0", size = 53998, upload-time = "2025-08-12T05:51:47.138Z" }, + { url = "https://files.pythonhosted.org/packages/60/f8/096a7cc13097a1869fe44efe68dace40d2a16ecb853141394047f0780b96/wrapt-1.17.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9baa544e6acc91130e926e8c802a17f3b16fbea0fd441b5a60f5cf2cc5c3deba", size = 39020, upload-time = "2025-08-12T05:51:35.906Z" }, + { url = "https://files.pythonhosted.org/packages/33/df/bdf864b8997aab4febb96a9ae5c124f700a5abd9b5e13d2a3214ec4be705/wrapt-1.17.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6b538e31eca1a7ea4605e44f81a48aa24c4632a277431a6ed3f328835901f4fd", size = 39098, upload-time = "2025-08-12T05:51:57.474Z" }, + { url = "https://files.pythonhosted.org/packages/9f/81/5d931d78d0eb732b95dc3ddaeeb71c8bb572fb01356e9133916cd729ecdd/wrapt-1.17.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:042ec3bb8f319c147b1301f2393bc19dba6e176b7da446853406d041c36c7828", size = 88036, upload-time = "2025-08-12T05:52:34.784Z" }, + { url = "https://files.pythonhosted.org/packages/ca/38/2e1785df03b3d72d34fc6252d91d9d12dc27a5c89caef3335a1bbb8908ca/wrapt-1.17.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3af60380ba0b7b5aeb329bc4e402acd25bd877e98b3727b0135cb5c2efdaefe9", size = 88156, upload-time = "2025-08-12T05:52:13.599Z" }, + { url = "https://files.pythonhosted.org/packages/b3/8b/48cdb60fe0603e34e05cffda0b2a4adab81fd43718e11111a4b0100fd7c1/wrapt-1.17.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0b02e424deef65c9f7326d8c19220a2c9040c51dc165cddb732f16198c168396", size = 87102, upload-time = "2025-08-12T05:52:14.56Z" }, + { url = "https://files.pythonhosted.org/packages/3c/51/d81abca783b58f40a154f1b2c56db1d2d9e0d04fa2d4224e357529f57a57/wrapt-1.17.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:74afa28374a3c3a11b3b5e5fca0ae03bef8450d6aa3ab3a1e2c30e3a75d023dc", size = 87732, upload-time = "2025-08-12T05:52:36.165Z" }, + { url = "https://files.pythonhosted.org/packages/9e/b1/43b286ca1392a006d5336412d41663eeef1ad57485f3e52c767376ba7e5a/wrapt-1.17.3-cp312-cp312-win32.whl", hash = "sha256:4da9f45279fff3543c371d5ababc57a0384f70be244de7759c85a7f989cb4ebe", size = 36705, upload-time = "2025-08-12T05:53:07.123Z" }, + { url = "https://files.pythonhosted.org/packages/28/de/49493f962bd3c586ab4b88066e967aa2e0703d6ef2c43aa28cb83bf7b507/wrapt-1.17.3-cp312-cp312-win_amd64.whl", hash = "sha256:e71d5c6ebac14875668a1e90baf2ea0ef5b7ac7918355850c0908ae82bcb297c", size = 38877, upload-time = "2025-08-12T05:53:05.436Z" }, + { url = "https://files.pythonhosted.org/packages/f1/48/0f7102fe9cb1e8a5a77f80d4f0956d62d97034bbe88d33e94699f99d181d/wrapt-1.17.3-cp312-cp312-win_arm64.whl", hash = "sha256:604d076c55e2fdd4c1c03d06dc1a31b95130010517b5019db15365ec4a405fc6", size = 36885, upload-time = "2025-08-12T05:52:54.367Z" }, + { url = "https://files.pythonhosted.org/packages/fc/f6/759ece88472157acb55fc195e5b116e06730f1b651b5b314c66291729193/wrapt-1.17.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a47681378a0439215912ef542c45a783484d4dd82bac412b71e59cf9c0e1cea0", size = 54003, upload-time = "2025-08-12T05:51:48.627Z" }, + { url = "https://files.pythonhosted.org/packages/4f/a9/49940b9dc6d47027dc850c116d79b4155f15c08547d04db0f07121499347/wrapt-1.17.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a30837587c6ee3cd1a4d1c2ec5d24e77984d44e2f34547e2323ddb4e22eb77", size = 39025, upload-time = "2025-08-12T05:51:37.156Z" }, + { url = "https://files.pythonhosted.org/packages/45/35/6a08de0f2c96dcdd7fe464d7420ddb9a7655a6561150e5fc4da9356aeaab/wrapt-1.17.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:16ecf15d6af39246fe33e507105d67e4b81d8f8d2c6598ff7e3ca1b8a37213f7", size = 39108, upload-time = "2025-08-12T05:51:58.425Z" }, + { url = "https://files.pythonhosted.org/packages/0c/37/6faf15cfa41bf1f3dba80cd3f5ccc6622dfccb660ab26ed79f0178c7497f/wrapt-1.17.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6fd1ad24dc235e4ab88cda009e19bf347aabb975e44fd5c2fb22a3f6e4141277", size = 88072, upload-time = "2025-08-12T05:52:37.53Z" }, + { url = "https://files.pythonhosted.org/packages/78/f2/efe19ada4a38e4e15b6dff39c3e3f3f73f5decf901f66e6f72fe79623a06/wrapt-1.17.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ed61b7c2d49cee3c027372df5809a59d60cf1b6c2f81ee980a091f3afed6a2d", size = 88214, upload-time = "2025-08-12T05:52:15.886Z" }, + { url = "https://files.pythonhosted.org/packages/40/90/ca86701e9de1622b16e09689fc24b76f69b06bb0150990f6f4e8b0eeb576/wrapt-1.17.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:423ed5420ad5f5529db9ce89eac09c8a2f97da18eb1c870237e84c5a5c2d60aa", size = 87105, upload-time = "2025-08-12T05:52:17.914Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e0/d10bd257c9a3e15cbf5523025252cc14d77468e8ed644aafb2d6f54cb95d/wrapt-1.17.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e01375f275f010fcbf7f643b4279896d04e571889b8a5b3f848423d91bf07050", size = 87766, upload-time = "2025-08-12T05:52:39.243Z" }, + { url = "https://files.pythonhosted.org/packages/e8/cf/7d848740203c7b4b27eb55dbfede11aca974a51c3d894f6cc4b865f42f58/wrapt-1.17.3-cp313-cp313-win32.whl", hash = "sha256:53e5e39ff71b3fc484df8a522c933ea2b7cdd0d5d15ae82e5b23fde87d44cbd8", size = 36711, upload-time = "2025-08-12T05:53:10.074Z" }, + { url = "https://files.pythonhosted.org/packages/57/54/35a84d0a4d23ea675994104e667ceff49227ce473ba6a59ba2c84f250b74/wrapt-1.17.3-cp313-cp313-win_amd64.whl", hash = "sha256:1f0b2f40cf341ee8cc1a97d51ff50dddb9fcc73241b9143ec74b30fc4f44f6cb", size = 38885, upload-time = "2025-08-12T05:53:08.695Z" }, + { url = "https://files.pythonhosted.org/packages/01/77/66e54407c59d7b02a3c4e0af3783168fff8e5d61def52cda8728439d86bc/wrapt-1.17.3-cp313-cp313-win_arm64.whl", hash = "sha256:7425ac3c54430f5fc5e7b6f41d41e704db073309acfc09305816bc6a0b26bb16", size = 36896, upload-time = "2025-08-12T05:52:55.34Z" }, + { url = "https://files.pythonhosted.org/packages/02/a2/cd864b2a14f20d14f4c496fab97802001560f9f41554eef6df201cd7f76c/wrapt-1.17.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cf30f6e3c077c8e6a9a7809c94551203c8843e74ba0c960f4a98cd80d4665d39", size = 54132, upload-time = "2025-08-12T05:51:49.864Z" }, + { url = "https://files.pythonhosted.org/packages/d5/46/d011725b0c89e853dc44cceb738a307cde5d240d023d6d40a82d1b4e1182/wrapt-1.17.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:e228514a06843cae89621384cfe3a80418f3c04aadf8a3b14e46a7be704e4235", size = 39091, upload-time = "2025-08-12T05:51:38.935Z" }, + { url = "https://files.pythonhosted.org/packages/2e/9e/3ad852d77c35aae7ddebdbc3b6d35ec8013af7d7dddad0ad911f3d891dae/wrapt-1.17.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:5ea5eb3c0c071862997d6f3e02af1d055f381b1d25b286b9d6644b79db77657c", size = 39172, upload-time = "2025-08-12T05:51:59.365Z" }, + { url = "https://files.pythonhosted.org/packages/c3/f7/c983d2762bcce2326c317c26a6a1e7016f7eb039c27cdf5c4e30f4160f31/wrapt-1.17.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:281262213373b6d5e4bb4353bc36d1ba4084e6d6b5d242863721ef2bf2c2930b", size = 87163, upload-time = "2025-08-12T05:52:40.965Z" }, + { url = "https://files.pythonhosted.org/packages/e4/0f/f673f75d489c7f22d17fe0193e84b41540d962f75fce579cf6873167c29b/wrapt-1.17.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc4a8d2b25efb6681ecacad42fca8859f88092d8732b170de6a5dddd80a1c8fa", size = 87963, upload-time = "2025-08-12T05:52:20.326Z" }, + { url = "https://files.pythonhosted.org/packages/df/61/515ad6caca68995da2fac7a6af97faab8f78ebe3bf4f761e1b77efbc47b5/wrapt-1.17.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:373342dd05b1d07d752cecbec0c41817231f29f3a89aa8b8843f7b95992ed0c7", size = 86945, upload-time = "2025-08-12T05:52:21.581Z" }, + { url = "https://files.pythonhosted.org/packages/d3/bd/4e70162ce398462a467bc09e768bee112f1412e563620adc353de9055d33/wrapt-1.17.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d40770d7c0fd5cbed9d84b2c3f2e156431a12c9a37dc6284060fb4bec0b7ffd4", size = 86857, upload-time = "2025-08-12T05:52:43.043Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b8/da8560695e9284810b8d3df8a19396a6e40e7518059584a1a394a2b35e0a/wrapt-1.17.3-cp314-cp314-win32.whl", hash = "sha256:fbd3c8319de8e1dc79d346929cd71d523622da527cca14e0c1d257e31c2b8b10", size = 37178, upload-time = "2025-08-12T05:53:12.605Z" }, + { url = "https://files.pythonhosted.org/packages/db/c8/b71eeb192c440d67a5a0449aaee2310a1a1e8eca41676046f99ed2487e9f/wrapt-1.17.3-cp314-cp314-win_amd64.whl", hash = "sha256:e1a4120ae5705f673727d3253de3ed0e016f7cd78dc463db1b31e2463e1f3cf6", size = 39310, upload-time = "2025-08-12T05:53:11.106Z" }, + { url = "https://files.pythonhosted.org/packages/45/20/2cda20fd4865fa40f86f6c46ed37a2a8356a7a2fde0773269311f2af56c7/wrapt-1.17.3-cp314-cp314-win_arm64.whl", hash = "sha256:507553480670cab08a800b9463bdb881b2edeed77dc677b0a5915e6106e91a58", size = 37266, upload-time = "2025-08-12T05:52:56.531Z" }, + { url = "https://files.pythonhosted.org/packages/77/ed/dd5cf21aec36c80443c6f900449260b80e2a65cf963668eaef3b9accce36/wrapt-1.17.3-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:ed7c635ae45cfbc1a7371f708727bf74690daedc49b4dba310590ca0bd28aa8a", size = 56544, upload-time = "2025-08-12T05:51:51.109Z" }, + { url = "https://files.pythonhosted.org/packages/8d/96/450c651cc753877ad100c7949ab4d2e2ecc4d97157e00fa8f45df682456a/wrapt-1.17.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:249f88ed15503f6492a71f01442abddd73856a0032ae860de6d75ca62eed8067", size = 40283, upload-time = "2025-08-12T05:51:39.912Z" }, + { url = "https://files.pythonhosted.org/packages/d1/86/2fcad95994d9b572db57632acb6f900695a648c3e063f2cd344b3f5c5a37/wrapt-1.17.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5a03a38adec8066d5a37bea22f2ba6bbf39fcdefbe2d91419ab864c3fb515454", size = 40366, upload-time = "2025-08-12T05:52:00.693Z" }, + { url = "https://files.pythonhosted.org/packages/64/0e/f4472f2fdde2d4617975144311f8800ef73677a159be7fe61fa50997d6c0/wrapt-1.17.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5d4478d72eb61c36e5b446e375bbc49ed002430d17cdec3cecb36993398e1a9e", size = 108571, upload-time = "2025-08-12T05:52:44.521Z" }, + { url = "https://files.pythonhosted.org/packages/cc/01/9b85a99996b0a97c8a17484684f206cbb6ba73c1ce6890ac668bcf3838fb/wrapt-1.17.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:223db574bb38637e8230eb14b185565023ab624474df94d2af18f1cdb625216f", size = 113094, upload-time = "2025-08-12T05:52:22.618Z" }, + { url = "https://files.pythonhosted.org/packages/25/02/78926c1efddcc7b3aa0bc3d6b33a822f7d898059f7cd9ace8c8318e559ef/wrapt-1.17.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e405adefb53a435f01efa7ccdec012c016b5a1d3f35459990afc39b6be4d5056", size = 110659, upload-time = "2025-08-12T05:52:24.057Z" }, + { url = "https://files.pythonhosted.org/packages/dc/ee/c414501ad518ac3e6fe184753632fe5e5ecacdcf0effc23f31c1e4f7bfcf/wrapt-1.17.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:88547535b787a6c9ce4086917b6e1d291aa8ed914fdd3a838b3539dc95c12804", size = 106946, upload-time = "2025-08-12T05:52:45.976Z" }, + { url = "https://files.pythonhosted.org/packages/be/44/a1bd64b723d13bb151d6cc91b986146a1952385e0392a78567e12149c7b4/wrapt-1.17.3-cp314-cp314t-win32.whl", hash = "sha256:41b1d2bc74c2cac6f9074df52b2efbef2b30bdfe5f40cb78f8ca22963bc62977", size = 38717, upload-time = "2025-08-12T05:53:15.214Z" }, + { url = "https://files.pythonhosted.org/packages/79/d9/7cfd5a312760ac4dd8bf0184a6ee9e43c33e47f3dadc303032ce012b8fa3/wrapt-1.17.3-cp314-cp314t-win_amd64.whl", hash = "sha256:73d496de46cd2cdbdbcce4ae4bcdb4afb6a11234a1df9c085249d55166b95116", size = 41334, upload-time = "2025-08-12T05:53:14.178Z" }, + { url = "https://files.pythonhosted.org/packages/46/78/10ad9781128ed2f99dbc474f43283b13fea8ba58723e98844367531c18e9/wrapt-1.17.3-cp314-cp314t-win_arm64.whl", hash = "sha256:f38e60678850c42461d4202739f9bf1e3a737c7ad283638251e79cc49effb6b6", size = 38471, upload-time = "2025-08-12T05:52:57.784Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f6/a933bd70f98e9cf3e08167fc5cd7aaaca49147e48411c0bd5ae701bb2194/wrapt-1.17.3-py3-none-any.whl", hash = "sha256:7171ae35d2c33d326ac19dd8facb1e82e5fd04ef8c6c0e394d7af55a55051c22", size = 23591, upload-time = "2025-08-12T05:53:20.674Z" }, +] + +[[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" } +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" }, +] diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/README.md b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/README.md new file mode 100644 index 0000000000..71b564f28e --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/README.md @@ -0,0 +1,24 @@ +# MCP Client Example + +## Setup + +1. Install dependencies: + ```sh + uv sync + uv run opentelemetry-bootstrap -a install + + # install MCP Instrumentation Library + uv run pip install -e ../../../../opentelemetry-instrumentation-mcp + ``` + +2. Run the client: + ```sh + OTEL_SERVICE_NAME=mcp-client \ + OTEL_TRACES_EXPORTER=otlp \ + OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=http://localhost:4317/v1/traces \ + uv run opentelemetry-instrument python ./main.py + ``` + +## Trace Output + +![MCP Trace](mcptrace.png) \ No newline at end of file diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/main.py b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/main.py new file mode 100644 index 0000000000..481c1ac64e --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/main.py @@ -0,0 +1,75 @@ +import time + +from mcp import ClientSession, StdioServerParameters +from mcp.client.stdio import stdio_client +from pydantic import AnyUrl + +from opentelemetry import trace + +# Create server parameters for stdio connection +server_params = StdioServerParameters( + command="./.venv/bin/opentelemetry-instrument", + args=["./.venv/bin/mcp", "run", "../server/mcp_simple_tool/server.py"], + env={ + "OTEL_RESOURCE_ATTRIBUTES": "service.name=mcp-server", + "OTEL_TRACES_EXPORTER": "otlp", + "OTEL_EXPORTER_OTLP_TRACES_ENDPOINT": "http://localhost:4317/v1/traces", + }, +) + + +async def run(): + try: + async with stdio_client(server_params) as (read, write): + async with ClientSession(read, write) as session: + # Initialize the connection + await session.initialize() + + # List available resources + resources = await session.list_resources() + print("LISTING RESOURCES") + for resource in resources: + print("Resource: ", resource) + + # List available tools + tools = await session.list_tools() + print("LISTING TOOLS") + for tool in tools.tools: + print("Tool: ", tool.name) + + # Read a resource + print("READING RESOURCE") + _ = await session.read_resource(AnyUrl("greeting://hello")) + + # Call pingweb tool + print("CALL PINGWEB TOOL") + result = await session.call_tool( + "pingweb", arguments={"url": "http://www.aws.com"} + ) + print(result.content) + + # Call awssdkcall tool + print("CALL AWSSDKCALL TOOL") + result = await session.call_tool("awssdkcall") + print(result.content) + + # Call a tool + print("CALL TOOL") + result = await session.call_tool( + "add", arguments={"a": 1, "b": 7} + ) + print(result.content) + + # Give server time to flush traces before closing + print("Waiting for server to flush traces...") + time.sleep(3) + except (OSError, ValueError) as exc: + print(f"Client session ended: {exc}") + + +if __name__ == "__main__": + import asyncio + + tracer = trace.get_tracer(__name__) + with tracer.start_as_current_span("mcp_client_main"): + asyncio.run(run()) diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/mcptrace.png b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/mcptrace.png new file mode 100644 index 0000000000000000000000000000000000000000..ec611a8a9ad464b3280e0c91ec99f443929cec0c GIT binary patch literal 476664 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⋙s^gs;1 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

BY7} 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�-1?6l~(0 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�wVPbZ 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 literal 0 HcmV?d00001 diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/pyproject.toml b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/pyproject.toml new file mode 100644 index 0000000000..14e5d6d24b --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/pyproject.toml @@ -0,0 +1,15 @@ +[project] +name = "python-mcp-client-foo" +version = "0.1.0" +description = "Add your description here" +readme = "README.md" +requires-python = ">=3.12" +dependencies = [ + "boto3>=1.40.52", + "mcp[cli]>=1.17.0", + "opentelemetry-api>=1.37.0", + "opentelemetry-distro>=0.58b0", + "opentelemetry-exporter-otlp>=1.37.0", + "pip>=25.2", + "requests>=2.32.5", +] diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/uv.lock b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/uv.lock new file mode 100644 index 0000000000..7e59d617d6 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/client/uv.lock @@ -0,0 +1,993 @@ +version = 1 +revision = 3 +requires-python = ">=3.12" +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version < '3.13'", +] + +[[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" } +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" }, +] + +[[package]] +name = "anyio" +version = "4.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "sniffio" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz", hash = "sha256:82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4", size = 219094, upload-time = "2025-09-23T09:19:12.58Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl", hash = "sha256:0287e96f4d26d4149305414d4e3bc32f0dcd0862365a4bddea19d7a1ec38c4fc", size = 109097, upload-time = "2025-09-23T09:19:10.601Z" }, +] + +[[package]] +name = "attrs" +version = "25.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", size = 934251, upload-time = "2025-10-06T13:54:44.725Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615, upload-time = "2025-10-06T13:54:43.17Z" }, +] + +[[package]] +name = "boto3" +version = "1.40.52" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, + { name = "jmespath" }, + { name = "s3transfer" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a0/5a/8ba08c979926326d961e2384d994d789a2eda3ed281bb6cb333b36e92310/boto3-1.40.52.tar.gz", hash = "sha256:96ee720b52be647d8ef5ba92fccfce6b65d6321769430fe6edd10d57ec43c25b", size = 111530, upload-time = "2025-10-14T20:32:12.226Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/d2/879e9787c5263aefc5c88f0dd97cdea29ac01c480dd53c2421de77a493f7/boto3-1.40.52-py3-none-any.whl", hash = "sha256:ecc8c99d3cc96716cdfba62d9c9c6ce0eb98d02494a66690bcc2ec181c1ced67", size = 139345, upload-time = "2025-10-14T20:32:10.801Z" }, +] + +[[package]] +name = "botocore" +version = "1.40.52" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jmespath" }, + { name = "python-dateutil" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/83/74/3449d77c002d82586786b91dff6dd2e6fd52c5cdc1793d1ac7ea690ea52c/botocore-1.40.52.tar.gz", hash = "sha256:b65d970ca4ccd869639332083da17c3a933bcf495120dcc4f5c7723cb3f6216c", size = 14427680, upload-time = "2025-10-14T20:32:03.065Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/05/ad/559dc4097fe1368e5f3abb5d8ca496f9c609e4e452498bca11134fde1462/botocore-1.40.52-py3-none-any.whl", hash = "sha256:838697a06c7713df8d39f088105334b4eadcc3d65c7a260bf1a1bd8bf616ce4a", size = 14098823, upload-time = "2025-10-14T20:32:00.094Z" }, +] + +[[package]] +name = "certifi" +version = "2025.10.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/5b/b6ce21586237c77ce67d01dc5507039d444b630dd76611bbca2d8e5dcd91/certifi-2025.10.5.tar.gz", hash = "sha256:47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43", size = 164519, upload-time = "2025-10-05T04:12:15.808Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl", hash = "sha256:0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de", size = 163286, upload-time = "2025-10-05T04:12:14.03Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz", hash = "sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14", size = 122371, upload-time = "2025-08-09T07:57:28.46Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/5e/14c94999e418d9b87682734589404a25854d5f5d0408df68bc15b6ff54bb/charset_normalizer-3.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1", size = 205655, upload-time = "2025-08-09T07:56:08.475Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a8/c6ec5d389672521f644505a257f50544c074cf5fc292d5390331cd6fc9c3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884", size = 146223, upload-time = "2025-08-09T07:56:09.708Z" }, + { url = "https://files.pythonhosted.org/packages/fc/eb/a2ffb08547f4e1e5415fb69eb7db25932c52a52bed371429648db4d84fb1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018", size = 159366, upload-time = "2025-08-09T07:56:11.326Z" }, + { url = "https://files.pythonhosted.org/packages/82/10/0fd19f20c624b278dddaf83b8464dcddc2456cb4b02bb902a6da126b87a1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392", size = 157104, upload-time = "2025-08-09T07:56:13.014Z" }, + { url = "https://files.pythonhosted.org/packages/16/ab/0233c3231af734f5dfcf0844aa9582d5a1466c985bbed6cedab85af9bfe3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f", size = 151830, upload-time = "2025-08-09T07:56:14.428Z" }, + { url = "https://files.pythonhosted.org/packages/ae/02/e29e22b4e02839a0e4a06557b1999d0a47db3567e82989b5bb21f3fbbd9f/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154", size = 148854, upload-time = "2025-08-09T07:56:16.051Z" }, + { url = "https://files.pythonhosted.org/packages/05/6b/e2539a0a4be302b481e8cafb5af8792da8093b486885a1ae4d15d452bcec/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491", size = 160670, upload-time = "2025-08-09T07:56:17.314Z" }, + { url = "https://files.pythonhosted.org/packages/31/e7/883ee5676a2ef217a40ce0bffcc3d0dfbf9e64cbcfbdf822c52981c3304b/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93", size = 158501, upload-time = "2025-08-09T07:56:18.641Z" }, + { url = "https://files.pythonhosted.org/packages/c1/35/6525b21aa0db614cf8b5792d232021dca3df7f90a1944db934efa5d20bb1/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f", size = 153173, upload-time = "2025-08-09T07:56:20.289Z" }, + { url = "https://files.pythonhosted.org/packages/50/ee/f4704bad8201de513fdc8aac1cabc87e38c5818c93857140e06e772b5892/charset_normalizer-3.4.3-cp312-cp312-win32.whl", hash = "sha256:fb6fecfd65564f208cbf0fba07f107fb661bcd1a7c389edbced3f7a493f70e37", size = 99822, upload-time = "2025-08-09T07:56:21.551Z" }, + { url = "https://files.pythonhosted.org/packages/39/f5/3b3836ca6064d0992c58c7561c6b6eee1b3892e9665d650c803bd5614522/charset_normalizer-3.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:86df271bf921c2ee3818f0522e9a5b8092ca2ad8b065ece5d7d9d0e9f4849bcc", size = 107543, upload-time = "2025-08-09T07:56:23.115Z" }, + { url = "https://files.pythonhosted.org/packages/65/ca/2135ac97709b400c7654b4b764daf5c5567c2da45a30cdd20f9eefe2d658/charset_normalizer-3.4.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe", size = 205326, upload-time = "2025-08-09T07:56:24.721Z" }, + { url = "https://files.pythonhosted.org/packages/71/11/98a04c3c97dd34e49c7d247083af03645ca3730809a5509443f3c37f7c99/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8", size = 146008, upload-time = "2025-08-09T07:56:26.004Z" }, + { url = "https://files.pythonhosted.org/packages/60/f5/4659a4cb3c4ec146bec80c32d8bb16033752574c20b1252ee842a95d1a1e/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9", size = 159196, upload-time = "2025-08-09T07:56:27.25Z" }, + { url = "https://files.pythonhosted.org/packages/86/9e/f552f7a00611f168b9a5865a1414179b2c6de8235a4fa40189f6f79a1753/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31", size = 156819, upload-time = "2025-08-09T07:56:28.515Z" }, + { url = "https://files.pythonhosted.org/packages/7e/95/42aa2156235cbc8fa61208aded06ef46111c4d3f0de233107b3f38631803/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f", size = 151350, upload-time = "2025-08-09T07:56:29.716Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a9/3865b02c56f300a6f94fc631ef54f0a8a29da74fb45a773dfd3dcd380af7/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927", size = 148644, upload-time = "2025-08-09T07:56:30.984Z" }, + { url = "https://files.pythonhosted.org/packages/77/d9/cbcf1a2a5c7d7856f11e7ac2d782aec12bdfea60d104e60e0aa1c97849dc/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9", size = 160468, upload-time = "2025-08-09T07:56:32.252Z" }, + { url = "https://files.pythonhosted.org/packages/f6/42/6f45efee8697b89fda4d50580f292b8f7f9306cb2971d4b53f8914e4d890/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5", size = 158187, upload-time = "2025-08-09T07:56:33.481Z" }, + { url = "https://files.pythonhosted.org/packages/70/99/f1c3bdcfaa9c45b3ce96f70b14f070411366fa19549c1d4832c935d8e2c3/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc", size = 152699, upload-time = "2025-08-09T07:56:34.739Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ad/b0081f2f99a4b194bcbb1934ef3b12aa4d9702ced80a37026b7607c72e58/charset_normalizer-3.4.3-cp313-cp313-win32.whl", hash = "sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce", size = 99580, upload-time = "2025-08-09T07:56:35.981Z" }, + { url = "https://files.pythonhosted.org/packages/9a/8f/ae790790c7b64f925e5c953b924aaa42a243fb778fed9e41f147b2a5715a/charset_normalizer-3.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef", size = 107366, upload-time = "2025-08-09T07:56:37.339Z" }, + { url = "https://files.pythonhosted.org/packages/8e/91/b5a06ad970ddc7a0e513112d40113e834638f4ca1120eb727a249fb2715e/charset_normalizer-3.4.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3cd35b7e8aedeb9e34c41385fda4f73ba609e561faedfae0a9e75e44ac558a15", size = 204342, upload-time = "2025-08-09T07:56:38.687Z" }, + { url = "https://files.pythonhosted.org/packages/ce/ec/1edc30a377f0a02689342f214455c3f6c2fbedd896a1d2f856c002fc3062/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b89bc04de1d83006373429975f8ef9e7932534b8cc9ca582e4db7d20d91816db", size = 145995, upload-time = "2025-08-09T07:56:40.048Z" }, + { url = "https://files.pythonhosted.org/packages/17/e5/5e67ab85e6d22b04641acb5399c8684f4d37caf7558a53859f0283a650e9/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2001a39612b241dae17b4687898843f254f8748b796a2e16f1051a17078d991d", size = 158640, upload-time = "2025-08-09T07:56:41.311Z" }, + { url = "https://files.pythonhosted.org/packages/f1/e5/38421987f6c697ee3722981289d554957c4be652f963d71c5e46a262e135/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8dcfc373f888e4fb39a7bc57e93e3b845e7f462dacc008d9749568b1c4ece096", size = 156636, upload-time = "2025-08-09T07:56:43.195Z" }, + { url = "https://files.pythonhosted.org/packages/a0/e4/5a075de8daa3ec0745a9a3b54467e0c2967daaaf2cec04c845f73493e9a1/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18b97b8404387b96cdbd30ad660f6407799126d26a39ca65729162fd810a99aa", size = 150939, upload-time = "2025-08-09T07:56:44.819Z" }, + { url = "https://files.pythonhosted.org/packages/02/f7/3611b32318b30974131db62b4043f335861d4d9b49adc6d57c1149cc49d4/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ccf600859c183d70eb47e05a44cd80a4ce77394d1ac0f79dbd2dd90a69a3a049", size = 148580, upload-time = "2025-08-09T07:56:46.684Z" }, + { url = "https://files.pythonhosted.org/packages/7e/61/19b36f4bd67f2793ab6a99b979b4e4f3d8fc754cbdffb805335df4337126/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:53cd68b185d98dde4ad8990e56a58dea83a4162161b1ea9272e5c9182ce415e0", size = 159870, upload-time = "2025-08-09T07:56:47.941Z" }, + { url = "https://files.pythonhosted.org/packages/06/57/84722eefdd338c04cf3030ada66889298eaedf3e7a30a624201e0cbe424a/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:30a96e1e1f865f78b030d65241c1ee850cdf422d869e9028e2fc1d5e4db73b92", size = 157797, upload-time = "2025-08-09T07:56:49.756Z" }, + { url = "https://files.pythonhosted.org/packages/72/2a/aff5dd112b2f14bcc3462c312dce5445806bfc8ab3a7328555da95330e4b/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d716a916938e03231e86e43782ca7878fb602a125a91e7acb8b5112e2e96ac16", size = 152224, upload-time = "2025-08-09T07:56:51.369Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8c/9839225320046ed279c6e839d51f028342eb77c91c89b8ef2549f951f3ec/charset_normalizer-3.4.3-cp314-cp314-win32.whl", hash = "sha256:c6dbd0ccdda3a2ba7c2ecd9d77b37f3b5831687d8dc1b6ca5f56a4880cc7b7ce", size = 100086, upload-time = "2025-08-09T07:56:52.722Z" }, + { url = "https://files.pythonhosted.org/packages/ee/7a/36fbcf646e41f710ce0a563c1c9a343c6edf9be80786edeb15b6f62e17db/charset_normalizer-3.4.3-cp314-cp314-win_amd64.whl", hash = "sha256:73dc19b562516fc9bcf6e5d6e596df0b4eb98d87e4f79f3ae71840e6ed21361c", size = 107400, upload-time = "2025-08-09T07:56:55.172Z" }, + { url = "https://files.pythonhosted.org/packages/8a/1f/f041989e93b001bc4e44bb1669ccdcf54d3f00e628229a85b08d330615c5/charset_normalizer-3.4.3-py3-none-any.whl", hash = "sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a", size = 53175, upload-time = "2025-08-09T07:57:26.864Z" }, +] + +[[package]] +name = "click" +version = "8.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz", hash = "sha256:e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4", size = 276943, upload-time = "2025-09-18T17:32:23.696Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl", hash = "sha256:9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc", size = 107295, upload-time = "2025-09-18T17:32:22.42Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "googleapis-common-protos" +version = "1.70.0" +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" } +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" }, +] + +[[package]] +name = "grpcio" +version = "1.75.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/f7/8963848164c7604efb3a3e6ee457fdb3a469653e19002bd24742473254f8/grpcio-1.75.1.tar.gz", hash = "sha256:3e81d89ece99b9ace23a6916880baca613c03a799925afb2857887efa8b1b3d2", size = 12731327, upload-time = "2025-09-26T09:03:36.887Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/81/42be79e73a50aaa20af66731c2defeb0e8c9008d9935a64dd8ea8e8c44eb/grpcio-1.75.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:7b888b33cd14085d86176b1628ad2fcbff94cfbbe7809465097aa0132e58b018", size = 5668314, upload-time = "2025-09-26T09:01:55.424Z" }, + { url = "https://files.pythonhosted.org/packages/c5/a7/3686ed15822fedc58c22f82b3a7403d9faf38d7c33de46d4de6f06e49426/grpcio-1.75.1-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:8775036efe4ad2085975531d221535329f5dac99b6c2a854a995456098f99546", size = 11476125, upload-time = "2025-09-26T09:01:57.927Z" }, + { url = "https://files.pythonhosted.org/packages/14/85/21c71d674f03345ab183c634ecd889d3330177e27baea8d5d247a89b6442/grpcio-1.75.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:bb658f703468d7fbb5dcc4037c65391b7dc34f808ac46ed9136c24fc5eeb041d", size = 6246335, upload-time = "2025-09-26T09:02:00.76Z" }, + { url = "https://files.pythonhosted.org/packages/fd/db/3beb661bc56a385ae4fa6b0e70f6b91ac99d47afb726fe76aaff87ebb116/grpcio-1.75.1-cp312-cp312-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:4b7177a1cdb3c51b02b0c0a256b0a72fdab719600a693e0e9037949efffb200b", size = 6916309, upload-time = "2025-09-26T09:02:02.894Z" }, + { url = "https://files.pythonhosted.org/packages/1e/9c/eda9fe57f2b84343d44c1b66cf3831c973ba29b078b16a27d4587a1fdd47/grpcio-1.75.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:7d4fa6ccc3ec2e68a04f7b883d354d7fea22a34c44ce535a2f0c0049cf626ddf", size = 6435419, upload-time = "2025-09-26T09:02:05.055Z" }, + { url = "https://files.pythonhosted.org/packages/c3/b8/090c98983e0a9d602e3f919a6e2d4e470a8b489452905f9a0fa472cac059/grpcio-1.75.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3d86880ecaeb5b2f0a8afa63824de93adb8ebe4e49d0e51442532f4e08add7d6", size = 7064893, upload-time = "2025-09-26T09:02:07.275Z" }, + { url = "https://files.pythonhosted.org/packages/ec/c0/6d53d4dbbd00f8bd81571f5478d8a95528b716e0eddb4217cc7cb45aae5f/grpcio-1.75.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a8041d2f9e8a742aeae96f4b047ee44e73619f4f9d24565e84d5446c623673b6", size = 8011922, upload-time = "2025-09-26T09:02:09.527Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7c/48455b2d0c5949678d6982c3e31ea4d89df4e16131b03f7d5c590811cbe9/grpcio-1.75.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3652516048bf4c314ce12be37423c79829f46efffb390ad64149a10c6071e8de", size = 7466181, upload-time = "2025-09-26T09:02:12.279Z" }, + { url = "https://files.pythonhosted.org/packages/fd/12/04a0e79081e3170b6124f8cba9b6275871276be06c156ef981033f691880/grpcio-1.75.1-cp312-cp312-win32.whl", hash = "sha256:44b62345d8403975513af88da2f3d5cc76f73ca538ba46596f92a127c2aea945", size = 3938543, upload-time = "2025-09-26T09:02:14.77Z" }, + { url = "https://files.pythonhosted.org/packages/5f/d7/11350d9d7fb5adc73d2b0ebf6ac1cc70135577701e607407fe6739a90021/grpcio-1.75.1-cp312-cp312-win_amd64.whl", hash = "sha256:b1e191c5c465fa777d4cafbaacf0c01e0d5278022082c0abbd2ee1d6454ed94d", size = 4641938, upload-time = "2025-09-26T09:02:16.927Z" }, + { url = "https://files.pythonhosted.org/packages/46/74/bac4ab9f7722164afdf263ae31ba97b8174c667153510322a5eba4194c32/grpcio-1.75.1-cp313-cp313-linux_armv7l.whl", hash = "sha256:3bed22e750d91d53d9e31e0af35a7b0b51367e974e14a4ff229db5b207647884", size = 5672779, upload-time = "2025-09-26T09:02:19.11Z" }, + { url = "https://files.pythonhosted.org/packages/a6/52/d0483cfa667cddaa294e3ab88fd2c2a6e9dc1a1928c0e5911e2e54bd5b50/grpcio-1.75.1-cp313-cp313-macosx_11_0_universal2.whl", hash = "sha256:5b8f381eadcd6ecaa143a21e9e80a26424c76a0a9b3d546febe6648f3a36a5ac", size = 11470623, upload-time = "2025-09-26T09:02:22.117Z" }, + { url = "https://files.pythonhosted.org/packages/cf/e4/d1954dce2972e32384db6a30273275e8c8ea5a44b80347f9055589333b3f/grpcio-1.75.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5bf4001d3293e3414d0cf99ff9b1139106e57c3a66dfff0c5f60b2a6286ec133", size = 6248838, upload-time = "2025-09-26T09:02:26.426Z" }, + { url = "https://files.pythonhosted.org/packages/06/43/073363bf63826ba8077c335d797a8d026f129dc0912b69c42feaf8f0cd26/grpcio-1.75.1-cp313-cp313-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:9f82ff474103e26351dacfe8d50214e7c9322960d8d07ba7fa1d05ff981c8b2d", size = 6922663, upload-time = "2025-09-26T09:02:28.724Z" }, + { url = "https://files.pythonhosted.org/packages/c2/6f/076ac0df6c359117676cacfa8a377e2abcecec6a6599a15a672d331f6680/grpcio-1.75.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:0ee119f4f88d9f75414217823d21d75bfe0e6ed40135b0cbbfc6376bc9f7757d", size = 6436149, upload-time = "2025-09-26T09:02:30.971Z" }, + { url = "https://files.pythonhosted.org/packages/6b/27/1d08824f1d573fcb1fa35ede40d6020e68a04391709939e1c6f4193b445f/grpcio-1.75.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:664eecc3abe6d916fa6cf8dd6b778e62fb264a70f3430a3180995bf2da935446", size = 7067989, upload-time = "2025-09-26T09:02:33.233Z" }, + { url = "https://files.pythonhosted.org/packages/c6/98/98594cf97b8713feb06a8cb04eeef60b4757e3e2fb91aa0d9161da769843/grpcio-1.75.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:c32193fa08b2fbebf08fe08e84f8a0aad32d87c3ad42999c65e9449871b1c66e", size = 8010717, upload-time = "2025-09-26T09:02:36.011Z" }, + { url = "https://files.pythonhosted.org/packages/8c/7e/bb80b1bba03c12158f9254762cdf5cced4a9bc2e8ed51ed335915a5a06ef/grpcio-1.75.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:5cebe13088b9254f6e615bcf1da9131d46cfa4e88039454aca9cb65f639bd3bc", size = 7463822, upload-time = "2025-09-26T09:02:38.26Z" }, + { url = "https://files.pythonhosted.org/packages/23/1c/1ea57fdc06927eb5640f6750c697f596f26183573069189eeaf6ef86ba2d/grpcio-1.75.1-cp313-cp313-win32.whl", hash = "sha256:4b4c678e7ed50f8ae8b8dbad15a865ee73ce12668b6aaf411bf3258b5bc3f970", size = 3938490, upload-time = "2025-09-26T09:02:40.268Z" }, + { url = "https://files.pythonhosted.org/packages/4b/24/fbb8ff1ccadfbf78ad2401c41aceaf02b0d782c084530d8871ddd69a2d49/grpcio-1.75.1-cp313-cp313-win_amd64.whl", hash = "sha256:5573f51e3f296a1bcf71e7a690c092845fb223072120f4bdb7a5b48e111def66", size = 4642538, upload-time = "2025-09-26T09:02:42.519Z" }, + { url = "https://files.pythonhosted.org/packages/f2/1b/9a0a5cecd24302b9fdbcd55d15ed6267e5f3d5b898ff9ac8cbe17ee76129/grpcio-1.75.1-cp314-cp314-linux_armv7l.whl", hash = "sha256:c05da79068dd96723793bffc8d0e64c45f316248417515f28d22204d9dae51c7", size = 5673319, upload-time = "2025-09-26T09:02:44.742Z" }, + { url = "https://files.pythonhosted.org/packages/c6/ec/9d6959429a83fbf5df8549c591a8a52bb313976f6646b79852c4884e3225/grpcio-1.75.1-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:06373a94fd16ec287116a825161dca179a0402d0c60674ceeec8c9fba344fe66", size = 11480347, upload-time = "2025-09-26T09:02:47.539Z" }, + { url = "https://files.pythonhosted.org/packages/09/7a/26da709e42c4565c3d7bf999a9569da96243ce34a8271a968dee810a7cf1/grpcio-1.75.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:4484f4b7287bdaa7a5b3980f3c7224c3c622669405d20f69549f5fb956ad0421", size = 6254706, upload-time = "2025-09-26T09:02:50.4Z" }, + { url = "https://files.pythonhosted.org/packages/f1/08/dcb26a319d3725f199c97e671d904d84ee5680de57d74c566a991cfab632/grpcio-1.75.1-cp314-cp314-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:2720c239c1180eee69f7883c1d4c83fc1a495a2535b5fa322887c70bf02b16e8", size = 6922501, upload-time = "2025-09-26T09:02:52.711Z" }, + { url = "https://files.pythonhosted.org/packages/78/66/044d412c98408a5e23cb348845979a2d17a2e2b6c3c34c1ec91b920f49d0/grpcio-1.75.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:07a554fa31c668cf0e7a188678ceeca3cb8fead29bbe455352e712ec33ca701c", size = 6437492, upload-time = "2025-09-26T09:02:55.542Z" }, + { url = "https://files.pythonhosted.org/packages/4e/9d/5e3e362815152aa1afd8b26ea613effa005962f9da0eec6e0e4527e7a7d1/grpcio-1.75.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:3e71a2105210366bfc398eef7f57a664df99194f3520edb88b9c3a7e46ee0d64", size = 7081061, upload-time = "2025-09-26T09:02:58.261Z" }, + { url = "https://files.pythonhosted.org/packages/1e/1a/46615682a19e100f46e31ddba9ebc297c5a5ab9ddb47b35443ffadb8776c/grpcio-1.75.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:8679aa8a5b67976776d3c6b0521e99d1c34db8a312a12bcfd78a7085cb9b604e", size = 8010849, upload-time = "2025-09-26T09:03:00.548Z" }, + { url = "https://files.pythonhosted.org/packages/67/8e/3204b94ac30b0f675ab1c06540ab5578660dc8b690db71854d3116f20d00/grpcio-1.75.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:aad1c774f4ebf0696a7f148a56d39a3432550612597331792528895258966dc0", size = 7464478, upload-time = "2025-09-26T09:03:03.096Z" }, + { url = "https://files.pythonhosted.org/packages/b7/97/2d90652b213863b2cf466d9c1260ca7e7b67a16780431b3eb1d0420e3d5b/grpcio-1.75.1-cp314-cp314-win32.whl", hash = "sha256:62ce42d9994446b307649cb2a23335fa8e927f7ab2cbf5fcb844d6acb4d85f9c", size = 4012672, upload-time = "2025-09-26T09:03:05.477Z" }, + { url = "https://files.pythonhosted.org/packages/f9/df/e2e6e9fc1c985cd1a59e6996a05647c720fe8a03b92f5ec2d60d366c531e/grpcio-1.75.1-cp314-cp314-win_amd64.whl", hash = "sha256:f86e92275710bea3000cb79feca1762dc0ad3b27830dd1a74e82ab321d4ee464", size = 4772475, upload-time = "2025-09-26T09:03:07.661Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +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" } +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" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { 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" } +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" }, +] + +[[package]] +name = "httpx-sse" +version = "0.4.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/63/7a/280d644f906f077e4f4a6d327e9b6e5a936624395ad1bf6ee9165a9d9959/httpx_sse-0.4.2.tar.gz", hash = "sha256:5bb6a2771a51e6c7a5f5c645e40b8a5f57d8de708f46cb5f3868043c3c18124e", size = 16000, upload-time = "2025-10-07T08:10:05.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4f/e5/ec31165492ecc52426370b9005e0637d6da02f9579283298affcb1ab614d/httpx_sse-0.4.2-py3-none-any.whl", hash = "sha256:a9fa4afacb293fa50ef9bacb6cae8287ba5fd1f4b1c2d10a35bb981c41da31ab", size = 9018, upload-time = "2025-10-07T08:10:04.257Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "importlib-metadata" +version = "8.7.0" +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" } +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" }, +] + +[[package]] +name = "jmespath" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe", size = 25843, upload-time = "2022-06-17T18:00:12.224Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", size = 20256, upload-time = "2022-06-17T18:00:10.251Z" }, +] + +[[package]] +name = "jsonschema" +version = "4.25.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342, upload-time = "2025-08-18T17:03:50.038Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl", hash = "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", size = 90040, upload-time = "2025-08-18T17:03:48.373Z" }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2025.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "referencing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" }, +] + +[[package]] +name = "markdown-it-py" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" }, +] + +[[package]] +name = "mcp" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "httpx" }, + { name = "httpx-sse" }, + { name = "jsonschema" }, + { name = "pydantic" }, + { name = "pydantic-settings" }, + { name = "python-multipart" }, + { name = "pywin32", marker = "sys_platform == 'win32'" }, + { name = "sse-starlette" }, + { name = "starlette" }, + { name = "uvicorn", marker = "sys_platform != 'emscripten'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5a/79/5724a540df19e192e8606c543cdcf162de8eb435077520cca150f7365ec0/mcp-1.17.0.tar.gz", hash = "sha256:1b57fabf3203240ccc48e39859faf3ae1ccb0b571ff798bbedae800c73c6df90", size = 477951, upload-time = "2025-10-10T12:16:44.519Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1c/72/3751feae343a5ad07959df713907b5c3fbaed269d697a14b0c449080cf2e/mcp-1.17.0-py3-none-any.whl", hash = "sha256:0660ef275cada7a545af154db3082f176cf1d2681d5e35ae63e014faf0a35d40", size = 167737, upload-time = "2025-10-10T12:16:42.863Z" }, +] + +[package.optional-dependencies] +cli = [ + { name = "python-dotenv" }, + { name = "typer" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "opentelemetry-api" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/63/04/05040d7ce33a907a2a02257e601992f0cdf11c73b33f13c4492bf6c3d6d5/opentelemetry_api-1.37.0.tar.gz", hash = "sha256:540735b120355bd5112738ea53621f8d5edb35ebcd6fe21ada3ab1c61d1cd9a7", size = 64923, upload-time = "2025-09-11T10:29:01.662Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/91/48/28ed9e55dcf2f453128df738210a980e09f4e468a456fa3c763dbc8be70a/opentelemetry_api-1.37.0-py3-none-any.whl", hash = "sha256:accf2024d3e89faec14302213bc39550ec0f4095d1cf5ca688e1bfb1c8612f47", size = 65732, upload-time = "2025-09-11T10:28:41.826Z" }, +] + +[[package]] +name = "opentelemetry-distro" +version = "0.58b0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "opentelemetry-instrumentation" }, + { name = "opentelemetry-sdk" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c3/20/597f387b42c649bac39af9ff8ad5bfdc163ce1a30cdecb16474ab8e57905/opentelemetry_distro-0.58b0.tar.gz", hash = "sha256:ef993c845c11fd156046a96e5ffe1ecfe33f7282fa6149cf9decb26ff8716666", size = 2583, upload-time = "2025-09-11T11:42:12.034Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/34/53016553489592262408b72e94466403da3c84ebe044b073bbcc1a6b228b/opentelemetry_distro-0.58b0-py3-none-any.whl", hash = "sha256:d90dddc3ae93d60d917a267a0099bd72f87fa3454b49ca8799f97cb58c777ef4", size = 3346, upload-time = "2025-09-11T11:40:56.853Z" }, +] + +[[package]] +name = "opentelemetry-exporter-otlp" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-exporter-otlp-proto-grpc" }, + { name = "opentelemetry-exporter-otlp-proto-http" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/64/df/47fde1de15a3d5ad410e98710fac60cd3d509df5dc7ec1359b71d6bf7e70/opentelemetry_exporter_otlp-1.37.0.tar.gz", hash = "sha256:f85b1929dd0d750751cc9159376fb05aa88bb7a08b6cdbf84edb0054d93e9f26", size = 6145, upload-time = "2025-09-11T10:29:03.075Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f5/23/7e35e41111e3834d918e414eca41555d585e8860c9149507298bb3b9b061/opentelemetry_exporter_otlp-1.37.0-py3-none-any.whl", hash = "sha256:bd44592c6bc7fc3e5c0a9b60f2ee813c84c2800c449e59504ab93f356cc450fc", size = 7019, upload-time = "2025-09-11T10:28:44.094Z" }, +] + +[[package]] +name = "opentelemetry-exporter-otlp-proto-common" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-proto" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/dc/6c/10018cbcc1e6fff23aac67d7fd977c3d692dbe5f9ef9bb4db5c1268726cc/opentelemetry_exporter_otlp_proto_common-1.37.0.tar.gz", hash = "sha256:c87a1bdd9f41fdc408d9cc9367bb53f8d2602829659f2b90be9f9d79d0bfe62c", size = 20430, upload-time = "2025-09-11T10:29:03.605Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/13/b4ef09837409a777f3c0af2a5b4ba9b7af34872bc43609dda0c209e4060d/opentelemetry_exporter_otlp_proto_common-1.37.0-py3-none-any.whl", hash = "sha256:53038428449c559b0c564b8d718df3314da387109c4d36bd1b94c9a641b0292e", size = 18359, upload-time = "2025-09-11T10:28:44.939Z" }, +] + +[[package]] +name = "opentelemetry-exporter-otlp-proto-grpc" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "googleapis-common-protos" }, + { name = "grpcio" }, + { name = "opentelemetry-api" }, + { name = "opentelemetry-exporter-otlp-proto-common" }, + { name = "opentelemetry-proto" }, + { name = "opentelemetry-sdk" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/d1/11/4ad0979d0bb13ae5a845214e97c8d42da43980034c30d6f72d8e0ebe580e/opentelemetry_exporter_otlp_proto_grpc-1.37.0.tar.gz", hash = "sha256:f55bcb9fc848ce05ad3dd954058bc7b126624d22c4d9e958da24d8537763bec5", size = 24465, upload-time = "2025-09-11T10:29:04.172Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/39/17/46630b74751031a658706bef23ac99cdc2953cd3b2d28ec90590a0766b3e/opentelemetry_exporter_otlp_proto_grpc-1.37.0-py3-none-any.whl", hash = "sha256:aee5104835bf7993b7ddaaf380b6467472abaedb1f1dbfcc54a52a7d781a3890", size = 19305, upload-time = "2025-09-11T10:28:45.776Z" }, +] + +[[package]] +name = "opentelemetry-exporter-otlp-proto-http" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "googleapis-common-protos" }, + { name = "opentelemetry-api" }, + { name = "opentelemetry-exporter-otlp-proto-common" }, + { name = "opentelemetry-proto" }, + { name = "opentelemetry-sdk" }, + { name = "requests" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5d/e3/6e320aeb24f951449e73867e53c55542bebbaf24faeee7623ef677d66736/opentelemetry_exporter_otlp_proto_http-1.37.0.tar.gz", hash = "sha256:e52e8600f1720d6de298419a802108a8f5afa63c96809ff83becb03f874e44ac", size = 17281, upload-time = "2025-09-11T10:29:04.844Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/e9/70d74a664d83976556cec395d6bfedd9b85ec1498b778367d5f93e373397/opentelemetry_exporter_otlp_proto_http-1.37.0-py3-none-any.whl", hash = "sha256:54c42b39945a6cc9d9a2a33decb876eabb9547e0dcb49df090122773447f1aef", size = 19576, upload-time = "2025-09-11T10:28:46.726Z" }, +] + +[[package]] +name = "opentelemetry-instrumentation" +version = "0.58b0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "opentelemetry-semantic-conventions" }, + { name = "packaging" }, + { name = "wrapt" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f6/36/7c307d9be8ce4ee7beb86d7f1d31027f2a6a89228240405a858d6e4d64f9/opentelemetry_instrumentation-0.58b0.tar.gz", hash = "sha256:df640f3ac715a3e05af145c18f527f4422c6ab6c467e40bd24d2ad75a00cb705", size = 31549, upload-time = "2025-09-11T11:42:14.084Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d4/db/5ff1cd6c5ca1d12ecf1b73be16fbb2a8af2114ee46d4b0e6d4b23f4f4db7/opentelemetry_instrumentation-0.58b0-py3-none-any.whl", hash = "sha256:50f97ac03100676c9f7fc28197f8240c7290ca1baa12da8bfbb9a1de4f34cc45", size = 33019, upload-time = "2025-09-11T11:41:00.624Z" }, +] + +[[package]] +name = "opentelemetry-proto" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "protobuf" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/dd/ea/a75f36b463a36f3c5a10c0b5292c58b31dbdde74f6f905d3d0ab2313987b/opentelemetry_proto-1.37.0.tar.gz", hash = "sha256:30f5c494faf66f77faeaefa35ed4443c5edb3b0aa46dad073ed7210e1a789538", size = 46151, upload-time = "2025-09-11T10:29:11.04Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c4/25/f89ea66c59bd7687e218361826c969443c4fa15dfe89733f3bf1e2a9e971/opentelemetry_proto-1.37.0-py3-none-any.whl", hash = "sha256:8ed8c066ae8828bbf0c39229979bdf583a126981142378a9cbe9d6fd5701c6e2", size = 72534, upload-time = "2025-09-11T10:28:56.831Z" }, +] + +[[package]] +name = "opentelemetry-sdk" +version = "1.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "opentelemetry-semantic-conventions" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f4/62/2e0ca80d7fe94f0b193135375da92c640d15fe81f636658d2acf373086bc/opentelemetry_sdk-1.37.0.tar.gz", hash = "sha256:cc8e089c10953ded765b5ab5669b198bbe0af1b3f89f1007d19acd32dc46dda5", size = 170404, upload-time = "2025-09-11T10:29:11.779Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/62/9f4ad6a54126fb00f7ed4bb5034964c6e4f00fcd5a905e115bd22707e20d/opentelemetry_sdk-1.37.0-py3-none-any.whl", hash = "sha256:8f3c3c22063e52475c5dbced7209495c2c16723d016d39287dfc215d1771257c", size = 131941, upload-time = "2025-09-11T10:28:57.83Z" }, +] + +[[package]] +name = "opentelemetry-semantic-conventions" +version = "0.58b0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/aa/1b/90701d91e6300d9f2fb352153fb1721ed99ed1f6ea14fa992c756016e63a/opentelemetry_semantic_conventions-0.58b0.tar.gz", hash = "sha256:6bd46f51264279c433755767bb44ad00f1c9e2367e1b42af563372c5a6fa0c25", size = 129867, upload-time = "2025-09-11T10:29:12.597Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/90/68152b7465f50285d3ce2481b3aec2f82822e3f52e5152eeeaf516bab841/opentelemetry_semantic_conventions-0.58b0-py3-none-any.whl", hash = "sha256:5564905ab1458b96684db1340232729fce3b5375a06e140e8904c78e4f815b28", size = 207954, upload-time = "2025-09-11T10:28:59.218Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "pip" +version = "25.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/16/650289cd3f43d5a2fadfd98c68bd1e1e7f2550a1a5326768cddfbcedb2c5/pip-25.2.tar.gz", hash = "sha256:578283f006390f85bb6282dffb876454593d637f5d1be494b5202ce4877e71f2", size = 1840021, upload-time = "2025-07-30T21:50:15.401Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/3f/945ef7ab14dc4f9d7f40288d2df998d1837ee0888ec3659c813487572faa/pip-25.2-py3-none-any.whl", hash = "sha256:6d67a2b4e7f14d8b31b8b52648866fa717f45a1eb70e83002f4331d07e953717", size = 1752557, upload-time = "2025-07-30T21:50:13.323Z" }, +] + +[[package]] +name = "protobuf" +version = "6.32.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fa/a4/cc17347aa2897568beece2e674674359f911d6fe21b0b8d6268cd42727ac/protobuf-6.32.1.tar.gz", hash = "sha256:ee2469e4a021474ab9baafea6cd070e5bf27c7d29433504ddea1a4ee5850f68d", size = 440635, upload-time = "2025-09-11T21:38:42.935Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/98/645183ea03ab3995d29086b8bf4f7562ebd3d10c9a4b14ee3f20d47cfe50/protobuf-6.32.1-cp310-abi3-win32.whl", hash = "sha256:a8a32a84bc9f2aad712041b8b366190f71dde248926da517bde9e832e4412085", size = 424411, upload-time = "2025-09-11T21:38:27.427Z" }, + { url = "https://files.pythonhosted.org/packages/8c/f3/6f58f841f6ebafe076cebeae33fc336e900619d34b1c93e4b5c97a81fdfa/protobuf-6.32.1-cp310-abi3-win_amd64.whl", hash = "sha256:b00a7d8c25fa471f16bc8153d0e53d6c9e827f0953f3c09aaa4331c718cae5e1", size = 435738, upload-time = "2025-09-11T21:38:30.959Z" }, + { url = "https://files.pythonhosted.org/packages/10/56/a8a3f4e7190837139e68c7002ec749190a163af3e330f65d90309145a210/protobuf-6.32.1-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:d8c7e6eb619ffdf105ee4ab76af5a68b60a9d0f66da3ea12d1640e6d8dab7281", size = 426454, upload-time = "2025-09-11T21:38:34.076Z" }, + { url = "https://files.pythonhosted.org/packages/3f/be/8dd0a927c559b37d7a6c8ab79034fd167dcc1f851595f2e641ad62be8643/protobuf-6.32.1-cp39-abi3-manylinux2014_aarch64.whl", hash = "sha256:2f5b80a49e1eb7b86d85fcd23fe92df154b9730a725c3b38c4e43b9d77018bf4", size = 322874, upload-time = "2025-09-11T21:38:35.509Z" }, + { url = "https://files.pythonhosted.org/packages/5c/f6/88d77011b605ef979aace37b7703e4eefad066f7e84d935e5a696515c2dd/protobuf-6.32.1-cp39-abi3-manylinux2014_x86_64.whl", hash = "sha256:b1864818300c297265c83a4982fd3169f97122c299f56a56e2445c3698d34710", size = 322013, upload-time = "2025-09-11T21:38:37.017Z" }, + { url = "https://files.pythonhosted.org/packages/97/b7/15cc7d93443d6c6a84626ae3258a91f4c6ac8c0edd5df35ea7658f71b79c/protobuf-6.32.1-py3-none-any.whl", hash = "sha256:2601b779fc7d32a866c6b4404f9d42a3f67c5b9f3f15b4db3cccabe06b95c346", size = 169289, upload-time = "2025-09-11T21:38:41.234Z" }, +] + +[[package]] +name = "pydantic" +version = "2.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c3/da/b8a7ee04378a53f6fefefc0c5e05570a3ebfdfa0523a878bcd3b475683ee/pydantic-2.12.0.tar.gz", hash = "sha256:c1a077e6270dbfb37bfd8b498b3981e2bb18f68103720e51fa6c306a5a9af563", size = 814760, upload-time = "2025-10-07T15:58:03.467Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/9d/d5c855424e2e5b6b626fbc6ec514d8e655a600377ce283008b115abb7445/pydantic-2.12.0-py3-none-any.whl", hash = "sha256:f6a1da352d42790537e95e83a8bdfb91c7efbae63ffd0b86fa823899e807116f", size = 459730, upload-time = "2025-10-07T15:58:01.576Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.41.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7d/14/12b4a0d2b0b10d8e1d9a24ad94e7bbb43335eaf29c0c4e57860e8a30734a/pydantic_core-2.41.1.tar.gz", hash = "sha256:1ad375859a6d8c356b7704ec0f547a58e82ee80bb41baa811ad710e124bc8f2f", size = 454870, upload-time = "2025-10-07T10:50:45.974Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ee/bc/5f520319ee1c9e25010412fac4154a72e0a40d0a19eb00281b1f200c0947/pydantic_core-2.41.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:db2f82c0ccbce8f021ad304ce35cbe02aa2f95f215cac388eed542b03b4d5eb4", size = 2099300, upload-time = "2025-10-06T21:10:30.463Z" }, + { url = "https://files.pythonhosted.org/packages/31/14/010cd64c5c3814fb6064786837ec12604be0dd46df3327cf8474e38abbbd/pydantic_core-2.41.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:47694a31c710ced9205d5f1e7e8af3ca57cbb8a503d98cb9e33e27c97a501601", size = 1910179, upload-time = "2025-10-06T21:10:31.782Z" }, + { url = "https://files.pythonhosted.org/packages/8e/2e/23fc2a8a93efad52df302fdade0a60f471ecc0c7aac889801ac24b4c07d6/pydantic_core-2.41.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:93e9decce94daf47baf9e9d392f5f2557e783085f7c5e522011545d9d6858e00", size = 1957225, upload-time = "2025-10-06T21:10:33.11Z" }, + { url = "https://files.pythonhosted.org/packages/b9/b6/6db08b2725b2432b9390844852e11d320281e5cea8a859c52c68001975fa/pydantic_core-2.41.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ab0adafdf2b89c8b84f847780a119437a0931eca469f7b44d356f2b426dd9741", size = 2053315, upload-time = "2025-10-06T21:10:34.87Z" }, + { url = "https://files.pythonhosted.org/packages/61/d9/4de44600f2d4514b44f3f3aeeda2e14931214b6b5bf52479339e801ce748/pydantic_core-2.41.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5da98cc81873f39fd56882e1569c4677940fbc12bce6213fad1ead784192d7c8", size = 2224298, upload-time = "2025-10-06T21:10:36.233Z" }, + { url = "https://files.pythonhosted.org/packages/7a/ae/dbe51187a7f35fc21b283c5250571a94e36373eb557c1cba9f29a9806dcf/pydantic_core-2.41.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:209910e88afb01fd0fd403947b809ba8dba0e08a095e1f703294fda0a8fdca51", size = 2351797, upload-time = "2025-10-06T21:10:37.601Z" }, + { url = "https://files.pythonhosted.org/packages/b5/a7/975585147457c2e9fb951c7c8dab56deeb6aa313f3aa72c2fc0df3f74a49/pydantic_core-2.41.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:365109d1165d78d98e33c5bfd815a9b5d7d070f578caefaabcc5771825b4ecb5", size = 2074921, upload-time = "2025-10-06T21:10:38.927Z" }, + { url = "https://files.pythonhosted.org/packages/62/37/ea94d1d0c01dec1b7d236c7cec9103baab0021f42500975de3d42522104b/pydantic_core-2.41.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:706abf21e60a2857acdb09502bc853ee5bce732955e7b723b10311114f033115", size = 2187767, upload-time = "2025-10-06T21:10:40.651Z" }, + { url = "https://files.pythonhosted.org/packages/d3/fe/694cf9fdd3a777a618c3afd210dba7b414cb8a72b1bd29b199c2e5765fee/pydantic_core-2.41.1-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:bf0bd5417acf7f6a7ec3b53f2109f587be176cb35f9cf016da87e6017437a72d", size = 2136062, upload-time = "2025-10-06T21:10:42.09Z" }, + { url = "https://files.pythonhosted.org/packages/0f/ae/174aeabd89916fbd2988cc37b81a59e1186e952afd2a7ed92018c22f31ca/pydantic_core-2.41.1-cp312-cp312-musllinux_1_1_armv7l.whl", hash = "sha256:2e71b1c6ceb9c78424ae9f63a07292fb769fb890a4e7efca5554c47f33a60ea5", size = 2317819, upload-time = "2025-10-06T21:10:43.974Z" }, + { url = "https://files.pythonhosted.org/packages/65/e8/e9aecafaebf53fc456314f72886068725d6fba66f11b013532dc21259343/pydantic_core-2.41.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:80745b9770b4a38c25015b517451c817799bfb9d6499b0d13d8227ec941cb513", size = 2312267, upload-time = "2025-10-06T21:10:45.34Z" }, + { url = "https://files.pythonhosted.org/packages/35/2f/1c2e71d2a052f9bb2f2df5a6a05464a0eb800f9e8d9dd800202fe31219e1/pydantic_core-2.41.1-cp312-cp312-win32.whl", hash = "sha256:83b64d70520e7890453f1aa21d66fda44e7b35f1cfea95adf7b4289a51e2b479", size = 1990927, upload-time = "2025-10-06T21:10:46.738Z" }, + { url = "https://files.pythonhosted.org/packages/b1/78/562998301ff2588b9c6dcc5cb21f52fa919d6e1decc75a35055feb973594/pydantic_core-2.41.1-cp312-cp312-win_amd64.whl", hash = "sha256:377defd66ee2003748ee93c52bcef2d14fde48fe28a0b156f88c3dbf9bc49a50", size = 2034703, upload-time = "2025-10-06T21:10:48.524Z" }, + { url = "https://files.pythonhosted.org/packages/b2/53/d95699ce5a5cdb44bb470bd818b848b9beadf51459fd4ea06667e8ede862/pydantic_core-2.41.1-cp312-cp312-win_arm64.whl", hash = "sha256:c95caff279d49c1d6cdfe2996e6c2ad712571d3b9caaa209a404426c326c4bde", size = 1972719, upload-time = "2025-10-06T21:10:50.256Z" }, + { url = "https://files.pythonhosted.org/packages/27/8a/6d54198536a90a37807d31a156642aae7a8e1263ed9fe6fc6245defe9332/pydantic_core-2.41.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:70e790fce5f05204ef4403159857bfcd587779da78627b0babb3654f75361ebf", size = 2105825, upload-time = "2025-10-06T21:10:51.719Z" }, + { url = "https://files.pythonhosted.org/packages/4f/2e/4784fd7b22ac9c8439db25bf98ffed6853d01e7e560a346e8af821776ccc/pydantic_core-2.41.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9cebf1ca35f10930612d60bd0f78adfacee824c30a880e3534ba02c207cceceb", size = 1910126, upload-time = "2025-10-06T21:10:53.145Z" }, + { url = "https://files.pythonhosted.org/packages/f3/92/31eb0748059ba5bd0aa708fb4bab9fcb211461ddcf9e90702a6542f22d0d/pydantic_core-2.41.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:170406a37a5bc82c22c3274616bf6f17cc7df9c4a0a0a50449e559cb755db669", size = 1961472, upload-time = "2025-10-06T21:10:55.754Z" }, + { url = "https://files.pythonhosted.org/packages/ab/91/946527792275b5c4c7dde4cfa3e81241bf6900e9fee74fb1ba43e0c0f1ab/pydantic_core-2.41.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:12d4257fc9187a0ccd41b8b327d6a4e57281ab75e11dda66a9148ef2e1fb712f", size = 2063230, upload-time = "2025-10-06T21:10:57.179Z" }, + { url = "https://files.pythonhosted.org/packages/31/5d/a35c5d7b414e5c0749f1d9f0d159ee2ef4bab313f499692896b918014ee3/pydantic_core-2.41.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a75a33b4db105dd1c8d57839e17ee12db8d5ad18209e792fa325dbb4baeb00f4", size = 2229469, upload-time = "2025-10-06T21:10:59.409Z" }, + { url = "https://files.pythonhosted.org/packages/21/4d/8713737c689afa57ecfefe38db78259d4484c97aa494979e6a9d19662584/pydantic_core-2.41.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08a589f850803a74e0fcb16a72081cafb0d72a3cdda500106942b07e76b7bf62", size = 2347986, upload-time = "2025-10-06T21:11:00.847Z" }, + { url = "https://files.pythonhosted.org/packages/f6/ec/929f9a3a5ed5cda767081494bacd32f783e707a690ce6eeb5e0730ec4986/pydantic_core-2.41.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7a97939d6ea44763c456bd8a617ceada2c9b96bb5b8ab3dfa0d0827df7619014", size = 2072216, upload-time = "2025-10-06T21:11:02.43Z" }, + { url = "https://files.pythonhosted.org/packages/26/55/a33f459d4f9cc8786d9db42795dbecc84fa724b290d7d71ddc3d7155d46a/pydantic_core-2.41.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d2ae423c65c556f09569524b80ffd11babff61f33055ef9773d7c9fabc11ed8d", size = 2193047, upload-time = "2025-10-06T21:11:03.787Z" }, + { url = "https://files.pythonhosted.org/packages/77/af/d5c6959f8b089f2185760a2779079e3c2c411bfc70ea6111f58367851629/pydantic_core-2.41.1-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:4dc703015fbf8764d6a8001c327a87f1823b7328d40b47ce6000c65918ad2b4f", size = 2140613, upload-time = "2025-10-06T21:11:05.607Z" }, + { url = "https://files.pythonhosted.org/packages/58/e5/2c19bd2a14bffe7fabcf00efbfbd3ac430aaec5271b504a938ff019ac7be/pydantic_core-2.41.1-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:968e4ffdfd35698a5fe659e5e44c508b53664870a8e61c8f9d24d3d145d30257", size = 2327641, upload-time = "2025-10-06T21:11:07.143Z" }, + { url = "https://files.pythonhosted.org/packages/93/ef/e0870ccda798c54e6b100aff3c4d49df5458fd64217e860cb9c3b0a403f4/pydantic_core-2.41.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:fff2b76c8e172d34771cd4d4f0ade08072385310f214f823b5a6ad4006890d32", size = 2318229, upload-time = "2025-10-06T21:11:08.73Z" }, + { url = "https://files.pythonhosted.org/packages/b1/4b/c3b991d95f5deb24d0bd52e47bcf716098fa1afe0ce2d4bd3125b38566ba/pydantic_core-2.41.1-cp313-cp313-win32.whl", hash = "sha256:a38a5263185407ceb599f2f035faf4589d57e73c7146d64f10577f6449e8171d", size = 1997911, upload-time = "2025-10-06T21:11:10.329Z" }, + { url = "https://files.pythonhosted.org/packages/a7/ce/5c316fd62e01f8d6be1b7ee6b54273214e871772997dc2c95e204997a055/pydantic_core-2.41.1-cp313-cp313-win_amd64.whl", hash = "sha256:b42ae7fd6760782c975897e1fdc810f483b021b32245b0105d40f6e7a3803e4b", size = 2034301, upload-time = "2025-10-06T21:11:12.113Z" }, + { url = "https://files.pythonhosted.org/packages/29/41/902640cfd6a6523194123e2c3373c60f19006447f2fb06f76de4e8466c5b/pydantic_core-2.41.1-cp313-cp313-win_arm64.whl", hash = "sha256:ad4111acc63b7384e205c27a2f15e23ac0ee21a9d77ad6f2e9cb516ec90965fb", size = 1977238, upload-time = "2025-10-06T21:11:14.1Z" }, + { url = "https://files.pythonhosted.org/packages/04/04/28b040e88c1b89d851278478842f0bdf39c7a05da9e850333c6c8cbe7dfa/pydantic_core-2.41.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:440d0df7415b50084a4ba9d870480c16c5f67c0d1d4d5119e3f70925533a0edc", size = 1875626, upload-time = "2025-10-06T21:11:15.69Z" }, + { url = "https://files.pythonhosted.org/packages/d6/58/b41dd3087505220bb58bc81be8c3e8cbc037f5710cd3c838f44f90bdd704/pydantic_core-2.41.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:71eaa38d342099405dae6484216dcf1e8e4b0bebd9b44a4e08c9b43db6a2ab67", size = 2045708, upload-time = "2025-10-06T21:11:17.258Z" }, + { url = "https://files.pythonhosted.org/packages/d7/b8/760f23754e40bf6c65b94a69b22c394c24058a0ef7e2aa471d2e39219c1a/pydantic_core-2.41.1-cp313-cp313t-win_amd64.whl", hash = "sha256:555ecf7e50f1161d3f693bc49f23c82cf6cdeafc71fa37a06120772a09a38795", size = 1997171, upload-time = "2025-10-06T21:11:18.822Z" }, + { url = "https://files.pythonhosted.org/packages/41/12/cec246429ddfa2778d2d6301eca5362194dc8749ecb19e621f2f65b5090f/pydantic_core-2.41.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:05226894a26f6f27e1deb735d7308f74ef5fa3a6de3e0135bb66cdcaee88f64b", size = 2107836, upload-time = "2025-10-06T21:11:20.432Z" }, + { url = "https://files.pythonhosted.org/packages/20/39/baba47f8d8b87081302498e610aefc37142ce6a1cc98b2ab6b931a162562/pydantic_core-2.41.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:85ff7911c6c3e2fd8d3779c50925f6406d770ea58ea6dde9c230d35b52b16b4a", size = 1904449, upload-time = "2025-10-06T21:11:22.185Z" }, + { url = "https://files.pythonhosted.org/packages/50/32/9a3d87cae2c75a5178334b10358d631bd094b916a00a5993382222dbfd92/pydantic_core-2.41.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:47f1f642a205687d59b52dc1a9a607f45e588f5a2e9eeae05edd80c7a8c47674", size = 1961750, upload-time = "2025-10-06T21:11:24.348Z" }, + { url = "https://files.pythonhosted.org/packages/27/42/a96c9d793a04cf2a9773bff98003bb154087b94f5530a2ce6063ecfec583/pydantic_core-2.41.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:df11c24e138876ace5ec6043e5cae925e34cf38af1a1b3d63589e8f7b5f5cdc4", size = 2063305, upload-time = "2025-10-06T21:11:26.556Z" }, + { url = "https://files.pythonhosted.org/packages/3e/8d/028c4b7d157a005b1f52c086e2d4b0067886b213c86220c1153398dbdf8f/pydantic_core-2.41.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7f0bf7f5c8f7bf345c527e8a0d72d6b26eda99c1227b0c34e7e59e181260de31", size = 2228959, upload-time = "2025-10-06T21:11:28.426Z" }, + { url = "https://files.pythonhosted.org/packages/08/f7/ee64cda8fcc9ca3f4716e6357144f9ee71166775df582a1b6b738bf6da57/pydantic_core-2.41.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:82b887a711d341c2c47352375d73b029418f55b20bd7815446d175a70effa706", size = 2345421, upload-time = "2025-10-06T21:11:30.226Z" }, + { url = "https://files.pythonhosted.org/packages/13/c0/e8ec05f0f5ee7a3656973ad9cd3bc73204af99f6512c1a4562f6fb4b3f7d/pydantic_core-2.41.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b5f1d5d6bbba484bdf220c72d8ecd0be460f4bd4c5e534a541bb2cd57589fb8b", size = 2065288, upload-time = "2025-10-06T21:11:32.019Z" }, + { url = "https://files.pythonhosted.org/packages/0a/25/d77a73ff24e2e4fcea64472f5e39b0402d836da9b08b5361a734d0153023/pydantic_core-2.41.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2bf1917385ebe0f968dc5c6ab1375886d56992b93ddfe6bf52bff575d03662be", size = 2189759, upload-time = "2025-10-06T21:11:33.753Z" }, + { url = "https://files.pythonhosted.org/packages/66/45/4a4ebaaae12a740552278d06fe71418c0f2869537a369a89c0e6723b341d/pydantic_core-2.41.1-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:4f94f3ab188f44b9a73f7295663f3ecb8f2e2dd03a69c8f2ead50d37785ecb04", size = 2140747, upload-time = "2025-10-06T21:11:35.781Z" }, + { url = "https://files.pythonhosted.org/packages/da/6d/b727ce1022f143194a36593243ff244ed5a1eb3c9122296bf7e716aa37ba/pydantic_core-2.41.1-cp314-cp314-musllinux_1_1_armv7l.whl", hash = "sha256:3925446673641d37c30bd84a9d597e49f72eacee8b43322c8999fa17d5ae5bc4", size = 2327416, upload-time = "2025-10-06T21:11:37.75Z" }, + { url = "https://files.pythonhosted.org/packages/6f/8c/02df9d8506c427787059f87c6c7253435c6895e12472a652d9616ee0fc95/pydantic_core-2.41.1-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:49bd51cc27adb980c7b97357ae036ce9b3c4d0bb406e84fbe16fb2d368b602a8", size = 2318138, upload-time = "2025-10-06T21:11:39.463Z" }, + { url = "https://files.pythonhosted.org/packages/98/67/0cf429a7d6802536941f430e6e3243f6d4b68f41eeea4b242372f1901794/pydantic_core-2.41.1-cp314-cp314-win32.whl", hash = "sha256:a31ca0cd0e4d12ea0df0077df2d487fc3eb9d7f96bbb13c3c5b88dcc21d05159", size = 1998429, upload-time = "2025-10-06T21:11:41.989Z" }, + { url = "https://files.pythonhosted.org/packages/38/60/742fef93de5d085022d2302a6317a2b34dbfe15258e9396a535c8a100ae7/pydantic_core-2.41.1-cp314-cp314-win_amd64.whl", hash = "sha256:1b5c4374a152e10a22175d7790e644fbd8ff58418890e07e2073ff9d4414efae", size = 2028870, upload-time = "2025-10-06T21:11:43.66Z" }, + { url = "https://files.pythonhosted.org/packages/31/38/cdd8ccb8555ef7720bd7715899bd6cfbe3c29198332710e1b61b8f5dd8b8/pydantic_core-2.41.1-cp314-cp314-win_arm64.whl", hash = "sha256:4fee76d757639b493eb600fba668f1e17475af34c17dd61db7a47e824d464ca9", size = 1974275, upload-time = "2025-10-06T21:11:45.476Z" }, + { url = "https://files.pythonhosted.org/packages/e7/7e/8ac10ccb047dc0221aa2530ec3c7c05ab4656d4d4bd984ee85da7f3d5525/pydantic_core-2.41.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:f9b9c968cfe5cd576fdd7361f47f27adeb120517e637d1b189eea1c3ece573f4", size = 1875124, upload-time = "2025-10-06T21:11:47.591Z" }, + { url = "https://files.pythonhosted.org/packages/c3/e4/7d9791efeb9c7d97e7268f8d20e0da24d03438a7fa7163ab58f1073ba968/pydantic_core-2.41.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f1ebc7ab67b856384aba09ed74e3e977dded40e693de18a4f197c67d0d4e6d8e", size = 2043075, upload-time = "2025-10-06T21:11:49.542Z" }, + { url = "https://files.pythonhosted.org/packages/2d/c3/3f6e6b2342ac11ac8cd5cb56e24c7b14afa27c010e82a765ffa5f771884a/pydantic_core-2.41.1-cp314-cp314t-win_amd64.whl", hash = "sha256:8ae0dc57b62a762985bc7fbf636be3412394acc0ddb4ade07fe104230f1b9762", size = 1995341, upload-time = "2025-10-06T21:11:51.497Z" }, + { url = "https://files.pythonhosted.org/packages/2b/3e/a51c5f5d37b9288ba30683d6e96f10fa8f1defad1623ff09f1020973b577/pydantic_core-2.41.1-graalpy312-graalpy250_312_native-macosx_10_12_x86_64.whl", hash = "sha256:b04fa9ed049461a7398138c604b00550bc89e3e1151d84b81ad6dc93e39c4c06", size = 2115344, upload-time = "2025-10-07T10:50:02.466Z" }, + { url = "https://files.pythonhosted.org/packages/5a/bd/389504c9e0600ef4502cd5238396b527afe6ef8981a6a15cd1814fc7b434/pydantic_core-2.41.1-graalpy312-graalpy250_312_native-macosx_11_0_arm64.whl", hash = "sha256:b3b7d9cfbfdc43c80a16638c6dc2768e3956e73031fca64e8e1a3ae744d1faeb", size = 1927994, upload-time = "2025-10-07T10:50:04.379Z" }, + { url = "https://files.pythonhosted.org/packages/ff/9c/5111c6b128861cb792a4c082677e90dac4f2e090bb2e2fe06aa5b2d39027/pydantic_core-2.41.1-graalpy312-graalpy250_312_native-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eec83fc6abef04c7f9bec616e2d76ee9a6a4ae2a359b10c21d0f680e24a247ca", size = 1959394, upload-time = "2025-10-07T10:50:06.335Z" }, + { url = "https://files.pythonhosted.org/packages/14/3f/cfec8b9a0c48ce5d64409ec5e1903cb0b7363da38f14b41de2fcb3712700/pydantic_core-2.41.1-graalpy312-graalpy250_312_native-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6771a2d9f83c4038dfad5970a3eef215940682b2175e32bcc817bdc639019b28", size = 2147365, upload-time = "2025-10-07T10:50:07.978Z" }, +] + +[[package]] +name = "pydantic-settings" +version = "2.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "python-dotenv" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/20/c5/dbbc27b814c71676593d1c3f718e6cd7d4f00652cefa24b75f7aa3efb25e/pydantic_settings-2.11.0.tar.gz", hash = "sha256:d0e87a1c7d33593beb7194adb8470fc426e95ba02af83a0f23474a04c9a08180", size = 188394, upload-time = "2025-09-24T14:19:11.764Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/d6/887a1ff844e64aa823fb4905978d882a633cfe295c32eacad582b78a7d8b/pydantic_settings-2.11.0-py3-none-any.whl", hash = "sha256:fe2cea3413b9530d10f3a5875adffb17ada5c1e1bab0b2885546d7310415207c", size = 48608, upload-time = "2025-09-24T14:19:10.015Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +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" } +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" }, +] + +[[package]] +name = "python-dotenv" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz", hash = "sha256:a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab", size = 41978, upload-time = "2025-06-24T04:21:07.341Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl", hash = "sha256:31f23644fe2602f88ff55e1f5c79ba497e01224ee7737937930c448e4d0e24dc", size = 20556, upload-time = "2025-06-24T04:21:06.073Z" }, +] + +[[package]] +name = "python-mcp-client-foo" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "boto3" }, + { name = "mcp", extra = ["cli"] }, + { name = "opentelemetry-api" }, + { name = "opentelemetry-distro" }, + { name = "opentelemetry-exporter-otlp" }, + { name = "pip" }, + { name = "requests" }, +] + +[package.metadata] +requires-dist = [ + { name = "boto3", specifier = ">=1.40.52" }, + { name = "mcp", extras = ["cli"], specifier = ">=1.17.0" }, + { name = "opentelemetry-api", specifier = ">=1.37.0" }, + { name = "opentelemetry-distro", specifier = ">=0.58b0" }, + { name = "opentelemetry-exporter-otlp", specifier = ">=1.37.0" }, + { name = "pip", specifier = ">=25.2" }, + { name = "requests", specifier = ">=2.32.5" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "pywin32" +version = "311" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/ab/01ea1943d4eba0f850c3c61e78e8dd59757ff815ff3ccd0a84de5f541f42/pywin32-311-cp312-cp312-win32.whl", hash = "sha256:750ec6e621af2b948540032557b10a2d43b0cee2ae9758c54154d711cc852d31", size = 8706543, upload-time = "2025-07-14T20:13:20.765Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a8/a0e8d07d4d051ec7502cd58b291ec98dcc0c3fff027caad0470b72cfcc2f/pywin32-311-cp312-cp312-win_amd64.whl", hash = "sha256:b8c095edad5c211ff31c05223658e71bf7116daa0ecf3ad85f3201ea3190d067", size = 9495040, upload-time = "2025-07-14T20:13:22.543Z" }, + { url = "https://files.pythonhosted.org/packages/ba/3a/2ae996277b4b50f17d61f0603efd8253cb2d79cc7ae159468007b586396d/pywin32-311-cp312-cp312-win_arm64.whl", hash = "sha256:e286f46a9a39c4a18b319c28f59b61de793654af2f395c102b4f819e584b5852", size = 8710102, upload-time = "2025-07-14T20:13:24.682Z" }, + { url = "https://files.pythonhosted.org/packages/a5/be/3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3/pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d", size = 8705700, upload-time = "2025-07-14T20:13:26.471Z" }, + { url = "https://files.pythonhosted.org/packages/e3/28/e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c/pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d", size = 9494700, upload-time = "2025-07-14T20:13:28.243Z" }, + { url = "https://files.pythonhosted.org/packages/04/bf/90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a/pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a", size = 8709318, upload-time = "2025-07-14T20:13:30.348Z" }, + { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714, upload-time = "2025-07-14T20:13:32.449Z" }, + { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800, upload-time = "2025-07-14T20:13:34.312Z" }, + { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540, upload-time = "2025-07-14T20:13:36.379Z" }, +] + +[[package]] +name = "referencing" +version = "0.36.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +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" }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, +] + +[[package]] +name = "rich" +version = "14.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz", hash = "sha256:e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8", size = 224441, upload-time = "2025-07-25T07:32:58.125Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e3/30/3c4d035596d3cf444529e0b2953ad0466f6049528a879d27534700580395/rich-14.1.0-py3-none-any.whl", hash = "sha256:536f5f1785986d6dbdea3c75205c473f970777b4a0d6c6dd1b696aa05a3fa04f", size = 243368, upload-time = "2025-07-25T07:32:56.73Z" }, +] + +[[package]] +name = "rpds-py" +version = "0.27.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz", hash = "sha256:26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8", size = 27479, upload-time = "2025-08-27T12:16:36.024Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/fe/38de28dee5df58b8198c743fe2bea0c785c6d40941b9950bac4cdb71a014/rpds_py-0.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ae2775c1973e3c30316892737b91f9283f9908e3cc7625b9331271eaaed7dc90", size = 361887, upload-time = "2025-08-27T12:13:10.233Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/4b6c7eedc7dd90986bf0fab6ea2a091ec11c01b15f8ba0a14d3f80450468/rpds_py-0.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2643400120f55c8a96f7c9d858f7be0c88d383cd4653ae2cf0d0c88f668073e5", size = 345795, upload-time = "2025-08-27T12:13:11.65Z" }, + { url = "https://files.pythonhosted.org/packages/6f/0e/e650e1b81922847a09cca820237b0edee69416a01268b7754d506ade11ad/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16323f674c089b0360674a4abd28d5042947d54ba620f72514d69be4ff64845e", size = 385121, upload-time = "2025-08-27T12:13:13.008Z" }, + { url = "https://files.pythonhosted.org/packages/1b/ea/b306067a712988e2bff00dcc7c8f31d26c29b6d5931b461aa4b60a013e33/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a1f4814b65eacac94a00fc9a526e3fdafd78e439469644032032d0d63de4881", size = 398976, upload-time = "2025-08-27T12:13:14.368Z" }, + { url = "https://files.pythonhosted.org/packages/2c/0a/26dc43c8840cb8fe239fe12dbc8d8de40f2365e838f3d395835dde72f0e5/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ba32c16b064267b22f1850a34051121d423b6f7338a12b9459550eb2096e7ec", size = 525953, upload-time = "2025-08-27T12:13:15.774Z" }, + { url = "https://files.pythonhosted.org/packages/22/14/c85e8127b573aaf3a0cbd7fbb8c9c99e735a4a02180c84da2a463b766e9e/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5c20f33fd10485b80f65e800bbe5f6785af510b9f4056c5a3c612ebc83ba6cb", size = 407915, upload-time = "2025-08-27T12:13:17.379Z" }, + { url = "https://files.pythonhosted.org/packages/ed/7b/8f4fee9ba1fb5ec856eb22d725a4efa3deb47f769597c809e03578b0f9d9/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:466bfe65bd932da36ff279ddd92de56b042f2266d752719beb97b08526268ec5", size = 386883, upload-time = "2025-08-27T12:13:18.704Z" }, + { url = "https://files.pythonhosted.org/packages/86/47/28fa6d60f8b74fcdceba81b272f8d9836ac0340570f68f5df6b41838547b/rpds_py-0.27.1-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:41e532bbdcb57c92ba3be62c42e9f096431b4cf478da9bc3bc6ce5c38ab7ba7a", size = 405699, upload-time = "2025-08-27T12:13:20.089Z" }, + { url = "https://files.pythonhosted.org/packages/d0/fd/c5987b5e054548df56953a21fe2ebed51fc1ec7c8f24fd41c067b68c4a0a/rpds_py-0.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f149826d742b406579466283769a8ea448eed82a789af0ed17b0cd5770433444", size = 423713, upload-time = "2025-08-27T12:13:21.436Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ba/3c4978b54a73ed19a7d74531be37a8bcc542d917c770e14d372b8daea186/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80c60cfb5310677bd67cb1e85a1e8eb52e12529545441b43e6f14d90b878775a", size = 562324, upload-time = "2025-08-27T12:13:22.789Z" }, + { url = "https://files.pythonhosted.org/packages/b5/6c/6943a91768fec16db09a42b08644b960cff540c66aab89b74be6d4a144ba/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7ee6521b9baf06085f62ba9c7a3e5becffbc32480d2f1b351559c001c38ce4c1", size = 593646, upload-time = "2025-08-27T12:13:24.122Z" }, + { url = "https://files.pythonhosted.org/packages/11/73/9d7a8f4be5f4396f011a6bb7a19fe26303a0dac9064462f5651ced2f572f/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a512c8263249a9d68cac08b05dd59d2b3f2061d99b322813cbcc14c3c7421998", size = 558137, upload-time = "2025-08-27T12:13:25.557Z" }, + { url = "https://files.pythonhosted.org/packages/6e/96/6772cbfa0e2485bcceef8071de7821f81aeac8bb45fbfd5542a3e8108165/rpds_py-0.27.1-cp312-cp312-win32.whl", hash = "sha256:819064fa048ba01b6dadc5116f3ac48610435ac9a0058bbde98e569f9e785c39", size = 221343, upload-time = "2025-08-27T12:13:26.967Z" }, + { url = "https://files.pythonhosted.org/packages/67/b6/c82f0faa9af1c6a64669f73a17ee0eeef25aff30bb9a1c318509efe45d84/rpds_py-0.27.1-cp312-cp312-win_amd64.whl", hash = "sha256:d9199717881f13c32c4046a15f024971a3b78ad4ea029e8da6b86e5aa9cf4594", size = 232497, upload-time = "2025-08-27T12:13:28.326Z" }, + { url = "https://files.pythonhosted.org/packages/e1/96/2817b44bd2ed11aebacc9251da03689d56109b9aba5e311297b6902136e2/rpds_py-0.27.1-cp312-cp312-win_arm64.whl", hash = "sha256:33aa65b97826a0e885ef6e278fbd934e98cdcfed80b63946025f01e2f5b29502", size = 222790, upload-time = "2025-08-27T12:13:29.71Z" }, + { url = "https://files.pythonhosted.org/packages/cc/77/610aeee8d41e39080c7e14afa5387138e3c9fa9756ab893d09d99e7d8e98/rpds_py-0.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e4b9fcfbc021633863a37e92571d6f91851fa656f0180246e84cbd8b3f6b329b", size = 361741, upload-time = "2025-08-27T12:13:31.039Z" }, + { url = "https://files.pythonhosted.org/packages/3a/fc/c43765f201c6a1c60be2043cbdb664013def52460a4c7adace89d6682bf4/rpds_py-0.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1441811a96eadca93c517d08df75de45e5ffe68aa3089924f963c782c4b898cf", size = 345574, upload-time = "2025-08-27T12:13:32.902Z" }, + { url = "https://files.pythonhosted.org/packages/20/42/ee2b2ca114294cd9847d0ef9c26d2b0851b2e7e00bf14cc4c0b581df0fc3/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55266dafa22e672f5a4f65019015f90336ed31c6383bd53f5e7826d21a0e0b83", size = 385051, upload-time = "2025-08-27T12:13:34.228Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e8/1e430fe311e4799e02e2d1af7c765f024e95e17d651612425b226705f910/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78827d7ac08627ea2c8e02c9e5b41180ea5ea1f747e9db0915e3adf36b62dcf", size = 398395, upload-time = "2025-08-27T12:13:36.132Z" }, + { url = "https://files.pythonhosted.org/packages/82/95/9dc227d441ff2670651c27a739acb2535ccaf8b351a88d78c088965e5996/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae92443798a40a92dc5f0b01d8a7c93adde0c4dc965310a29ae7c64d72b9fad2", size = 524334, upload-time = "2025-08-27T12:13:37.562Z" }, + { url = "https://files.pythonhosted.org/packages/87/01/a670c232f401d9ad461d9a332aa4080cd3cb1d1df18213dbd0d2a6a7ab51/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c46c9dd2403b66a2a3b9720ec4b74d4ab49d4fabf9f03dfdce2d42af913fe8d0", size = 407691, upload-time = "2025-08-27T12:13:38.94Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/0a14aebbaa26fe7fab4780c76f2239e76cc95a0090bdb25e31d95c492fcd/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2efe4eb1d01b7f5f1939f4ef30ecea6c6b3521eec451fb93191bf84b2a522418", size = 386868, upload-time = "2025-08-27T12:13:40.192Z" }, + { url = "https://files.pythonhosted.org/packages/3b/03/8c897fb8b5347ff6c1cc31239b9611c5bf79d78c984430887a353e1409a1/rpds_py-0.27.1-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:15d3b4d83582d10c601f481eca29c3f138d44c92187d197aff663a269197c02d", size = 405469, upload-time = "2025-08-27T12:13:41.496Z" }, + { url = "https://files.pythonhosted.org/packages/da/07/88c60edc2df74850d496d78a1fdcdc7b54360a7f610a4d50008309d41b94/rpds_py-0.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4ed2e16abbc982a169d30d1a420274a709949e2cbdef119fe2ec9d870b42f274", size = 422125, upload-time = "2025-08-27T12:13:42.802Z" }, + { url = "https://files.pythonhosted.org/packages/6b/86/5f4c707603e41b05f191a749984f390dabcbc467cf833769b47bf14ba04f/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a75f305c9b013289121ec0f1181931975df78738cdf650093e6b86d74aa7d8dd", size = 562341, upload-time = "2025-08-27T12:13:44.472Z" }, + { url = "https://files.pythonhosted.org/packages/b2/92/3c0cb2492094e3cd9baf9e49bbb7befeceb584ea0c1a8b5939dca4da12e5/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:67ce7620704745881a3d4b0ada80ab4d99df390838839921f99e63c474f82cf2", size = 592511, upload-time = "2025-08-27T12:13:45.898Z" }, + { url = "https://files.pythonhosted.org/packages/10/bb/82e64fbb0047c46a168faa28d0d45a7851cd0582f850b966811d30f67ad8/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d992ac10eb86d9b6f369647b6a3f412fc0075cfd5d799530e84d335e440a002", size = 557736, upload-time = "2025-08-27T12:13:47.408Z" }, + { url = "https://files.pythonhosted.org/packages/00/95/3c863973d409210da7fb41958172c6b7dbe7fc34e04d3cc1f10bb85e979f/rpds_py-0.27.1-cp313-cp313-win32.whl", hash = "sha256:4f75e4bd8ab8db624e02c8e2fc4063021b58becdbe6df793a8111d9343aec1e3", size = 221462, upload-time = "2025-08-27T12:13:48.742Z" }, + { url = "https://files.pythonhosted.org/packages/ce/2c/5867b14a81dc217b56d95a9f2a40fdbc56a1ab0181b80132beeecbd4b2d6/rpds_py-0.27.1-cp313-cp313-win_amd64.whl", hash = "sha256:f9025faafc62ed0b75a53e541895ca272815bec18abe2249ff6501c8f2e12b83", size = 232034, upload-time = "2025-08-27T12:13:50.11Z" }, + { url = "https://files.pythonhosted.org/packages/c7/78/3958f3f018c01923823f1e47f1cc338e398814b92d83cd278364446fac66/rpds_py-0.27.1-cp313-cp313-win_arm64.whl", hash = "sha256:ed10dc32829e7d222b7d3b93136d25a406ba9788f6a7ebf6809092da1f4d279d", size = 222392, upload-time = "2025-08-27T12:13:52.587Z" }, + { url = "https://files.pythonhosted.org/packages/01/76/1cdf1f91aed5c3a7bf2eba1f1c4e4d6f57832d73003919a20118870ea659/rpds_py-0.27.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:92022bbbad0d4426e616815b16bc4127f83c9a74940e1ccf3cfe0b387aba0228", size = 358355, upload-time = "2025-08-27T12:13:54.012Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6f/bf142541229374287604caf3bb2a4ae17f0a580798fd72d3b009b532db4e/rpds_py-0.27.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:47162fdab9407ec3f160805ac3e154df042e577dd53341745fc7fb3f625e6d92", size = 342138, upload-time = "2025-08-27T12:13:55.791Z" }, + { url = "https://files.pythonhosted.org/packages/1a/77/355b1c041d6be40886c44ff5e798b4e2769e497b790f0f7fd1e78d17e9a8/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb89bec23fddc489e5d78b550a7b773557c9ab58b7946154a10a6f7a214a48b2", size = 380247, upload-time = "2025-08-27T12:13:57.683Z" }, + { url = "https://files.pythonhosted.org/packages/d6/a4/d9cef5c3946ea271ce2243c51481971cd6e34f21925af2783dd17b26e815/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e48af21883ded2b3e9eb48cb7880ad8598b31ab752ff3be6457001d78f416723", size = 390699, upload-time = "2025-08-27T12:13:59.137Z" }, + { url = "https://files.pythonhosted.org/packages/3a/06/005106a7b8c6c1a7e91b73169e49870f4af5256119d34a361ae5240a0c1d/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f5b7bd8e219ed50299e58551a410b64daafb5017d54bbe822e003856f06a802", size = 521852, upload-time = "2025-08-27T12:14:00.583Z" }, + { url = "https://files.pythonhosted.org/packages/e5/3e/50fb1dac0948e17a02eb05c24510a8fe12d5ce8561c6b7b7d1339ab7ab9c/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08f1e20bccf73b08d12d804d6e1c22ca5530e71659e6673bce31a6bb71c1e73f", size = 402582, upload-time = "2025-08-27T12:14:02.034Z" }, + { url = "https://files.pythonhosted.org/packages/cb/b0/f4e224090dc5b0ec15f31a02d746ab24101dd430847c4d99123798661bfc/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dc5dceeaefcc96dc192e3a80bbe1d6c410c469e97bdd47494a7d930987f18b2", size = 384126, upload-time = "2025-08-27T12:14:03.437Z" }, + { url = "https://files.pythonhosted.org/packages/54/77/ac339d5f82b6afff1df8f0fe0d2145cc827992cb5f8eeb90fc9f31ef7a63/rpds_py-0.27.1-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:d76f9cc8665acdc0c9177043746775aa7babbf479b5520b78ae4002d889f5c21", size = 399486, upload-time = "2025-08-27T12:14:05.443Z" }, + { url = "https://files.pythonhosted.org/packages/d6/29/3e1c255eee6ac358c056a57d6d6869baa00a62fa32eea5ee0632039c50a3/rpds_py-0.27.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:134fae0e36022edad8290a6661edf40c023562964efea0cc0ec7f5d392d2aaef", size = 414832, upload-time = "2025-08-27T12:14:06.902Z" }, + { url = "https://files.pythonhosted.org/packages/3f/db/6d498b844342deb3fa1d030598db93937a9964fcf5cb4da4feb5f17be34b/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb11a4f1b2b63337cfd3b4d110af778a59aae51c81d195768e353d8b52f88081", size = 557249, upload-time = "2025-08-27T12:14:08.37Z" }, + { url = "https://files.pythonhosted.org/packages/60/f3/690dd38e2310b6f68858a331399b4d6dbb9132c3e8ef8b4333b96caf403d/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:13e608ac9f50a0ed4faec0e90ece76ae33b34c0e8656e3dceb9a7db994c692cd", size = 587356, upload-time = "2025-08-27T12:14:10.034Z" }, + { url = "https://files.pythonhosted.org/packages/86/e3/84507781cccd0145f35b1dc32c72675200c5ce8d5b30f813e49424ef68fc/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dd2135527aa40f061350c3f8f89da2644de26cd73e4de458e79606384f4f68e7", size = 555300, upload-time = "2025-08-27T12:14:11.783Z" }, + { url = "https://files.pythonhosted.org/packages/e5/ee/375469849e6b429b3516206b4580a79e9ef3eb12920ddbd4492b56eaacbe/rpds_py-0.27.1-cp313-cp313t-win32.whl", hash = "sha256:3020724ade63fe320a972e2ffd93b5623227e684315adce194941167fee02688", size = 216714, upload-time = "2025-08-27T12:14:13.629Z" }, + { url = "https://files.pythonhosted.org/packages/21/87/3fc94e47c9bd0742660e84706c311a860dcae4374cf4a03c477e23ce605a/rpds_py-0.27.1-cp313-cp313t-win_amd64.whl", hash = "sha256:8ee50c3e41739886606388ba3ab3ee2aae9f35fb23f833091833255a31740797", size = 228943, upload-time = "2025-08-27T12:14:14.937Z" }, + { url = "https://files.pythonhosted.org/packages/70/36/b6e6066520a07cf029d385de869729a895917b411e777ab1cde878100a1d/rpds_py-0.27.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:acb9aafccaae278f449d9c713b64a9e68662e7799dbd5859e2c6b3c67b56d334", size = 362472, upload-time = "2025-08-27T12:14:16.333Z" }, + { url = "https://files.pythonhosted.org/packages/af/07/b4646032e0dcec0df9c73a3bd52f63bc6c5f9cda992f06bd0e73fe3fbebd/rpds_py-0.27.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b7fb801aa7f845ddf601c49630deeeccde7ce10065561d92729bfe81bd21fb33", size = 345676, upload-time = "2025-08-27T12:14:17.764Z" }, + { url = "https://files.pythonhosted.org/packages/b0/16/2f1003ee5d0af4bcb13c0cf894957984c32a6751ed7206db2aee7379a55e/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe0dd05afb46597b9a2e11c351e5e4283c741237e7f617ffb3252780cca9336a", size = 385313, upload-time = "2025-08-27T12:14:19.829Z" }, + { url = "https://files.pythonhosted.org/packages/05/cd/7eb6dd7b232e7f2654d03fa07f1414d7dfc980e82ba71e40a7c46fd95484/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b6dfb0e058adb12d8b1d1b25f686e94ffa65d9995a5157afe99743bf7369d62b", size = 399080, upload-time = "2025-08-27T12:14:21.531Z" }, + { url = "https://files.pythonhosted.org/packages/20/51/5829afd5000ec1cb60f304711f02572d619040aa3ec033d8226817d1e571/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed090ccd235f6fa8bb5861684567f0a83e04f52dfc2e5c05f2e4b1309fcf85e7", size = 523868, upload-time = "2025-08-27T12:14:23.485Z" }, + { url = "https://files.pythonhosted.org/packages/05/2c/30eebca20d5db95720ab4d2faec1b5e4c1025c473f703738c371241476a2/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf876e79763eecf3e7356f157540d6a093cef395b65514f17a356f62af6cc136", size = 408750, upload-time = "2025-08-27T12:14:24.924Z" }, + { url = "https://files.pythonhosted.org/packages/90/1a/cdb5083f043597c4d4276eae4e4c70c55ab5accec078da8611f24575a367/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12ed005216a51b1d6e2b02a7bd31885fe317e45897de81d86dcce7d74618ffff", size = 387688, upload-time = "2025-08-27T12:14:27.537Z" }, + { url = "https://files.pythonhosted.org/packages/7c/92/cf786a15320e173f945d205ab31585cc43969743bb1a48b6888f7a2b0a2d/rpds_py-0.27.1-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:ee4308f409a40e50593c7e3bb8cbe0b4d4c66d1674a316324f0c2f5383b486f9", size = 407225, upload-time = "2025-08-27T12:14:28.981Z" }, + { url = "https://files.pythonhosted.org/packages/33/5c/85ee16df5b65063ef26017bef33096557a4c83fbe56218ac7cd8c235f16d/rpds_py-0.27.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b08d152555acf1f455154d498ca855618c1378ec810646fcd7c76416ac6dc60", size = 423361, upload-time = "2025-08-27T12:14:30.469Z" }, + { url = "https://files.pythonhosted.org/packages/4b/8e/1c2741307fcabd1a334ecf008e92c4f47bb6f848712cf15c923becfe82bb/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:dce51c828941973a5684d458214d3a36fcd28da3e1875d659388f4f9f12cc33e", size = 562493, upload-time = "2025-08-27T12:14:31.987Z" }, + { url = "https://files.pythonhosted.org/packages/04/03/5159321baae9b2222442a70c1f988cbbd66b9be0675dd3936461269be360/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:c1476d6f29eb81aa4151c9a31219b03f1f798dc43d8af1250a870735516a1212", size = 592623, upload-time = "2025-08-27T12:14:33.543Z" }, + { url = "https://files.pythonhosted.org/packages/ff/39/c09fd1ad28b85bc1d4554a8710233c9f4cefd03d7717a1b8fbfd171d1167/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3ce0cac322b0d69b63c9cdb895ee1b65805ec9ffad37639f291dd79467bee675", size = 558800, upload-time = "2025-08-27T12:14:35.436Z" }, + { url = "https://files.pythonhosted.org/packages/c5/d6/99228e6bbcf4baa764b18258f519a9035131d91b538d4e0e294313462a98/rpds_py-0.27.1-cp314-cp314-win32.whl", hash = "sha256:dfbfac137d2a3d0725758cd141f878bf4329ba25e34979797c89474a89a8a3a3", size = 221943, upload-time = "2025-08-27T12:14:36.898Z" }, + { url = "https://files.pythonhosted.org/packages/be/07/c802bc6b8e95be83b79bdf23d1aa61d68324cb1006e245d6c58e959e314d/rpds_py-0.27.1-cp314-cp314-win_amd64.whl", hash = "sha256:a6e57b0abfe7cc513450fcf529eb486b6e4d3f8aee83e92eb5f1ef848218d456", size = 233739, upload-time = "2025-08-27T12:14:38.386Z" }, + { url = "https://files.pythonhosted.org/packages/c8/89/3e1b1c16d4c2d547c5717377a8df99aee8099ff050f87c45cb4d5fa70891/rpds_py-0.27.1-cp314-cp314-win_arm64.whl", hash = "sha256:faf8d146f3d476abfee026c4ae3bdd9ca14236ae4e4c310cbd1cf75ba33d24a3", size = 223120, upload-time = "2025-08-27T12:14:39.82Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/dc7931dc2fa4a6e46b2a4fa744a9fe5c548efd70e0ba74f40b39fa4a8c10/rpds_py-0.27.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:ba81d2b56b6d4911ce735aad0a1d4495e808b8ee4dc58715998741a26874e7c2", size = 358944, upload-time = "2025-08-27T12:14:41.199Z" }, + { url = "https://files.pythonhosted.org/packages/e6/22/4af76ac4e9f336bfb1a5f240d18a33c6b2fcaadb7472ac7680576512b49a/rpds_py-0.27.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:84f7d509870098de0e864cad0102711c1e24e9b1a50ee713b65928adb22269e4", size = 342283, upload-time = "2025-08-27T12:14:42.699Z" }, + { url = "https://files.pythonhosted.org/packages/1c/15/2a7c619b3c2272ea9feb9ade67a45c40b3eeb500d503ad4c28c395dc51b4/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e960fc78fecd1100539f14132425e1d5fe44ecb9239f8f27f079962021523e", size = 380320, upload-time = "2025-08-27T12:14:44.157Z" }, + { url = "https://files.pythonhosted.org/packages/a2/7d/4c6d243ba4a3057e994bb5bedd01b5c963c12fe38dde707a52acdb3849e7/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:62f85b665cedab1a503747617393573995dac4600ff51869d69ad2f39eb5e817", size = 391760, upload-time = "2025-08-27T12:14:45.845Z" }, + { url = "https://files.pythonhosted.org/packages/b4/71/b19401a909b83bcd67f90221330bc1ef11bc486fe4e04c24388d28a618ae/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fed467af29776f6556250c9ed85ea5a4dd121ab56a5f8b206e3e7a4c551e48ec", size = 522476, upload-time = "2025-08-27T12:14:47.364Z" }, + { url = "https://files.pythonhosted.org/packages/e4/44/1a3b9715c0455d2e2f0f6df5ee6d6f5afdc423d0773a8a682ed2b43c566c/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2729615f9d430af0ae6b36cf042cb55c0936408d543fb691e1a9e36648fd35a", size = 403418, upload-time = "2025-08-27T12:14:49.991Z" }, + { url = "https://files.pythonhosted.org/packages/1c/4b/fb6c4f14984eb56673bc868a66536f53417ddb13ed44b391998100a06a96/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b207d881a9aef7ba753d69c123a35d96ca7cb808056998f6b9e8747321f03b8", size = 384771, upload-time = "2025-08-27T12:14:52.159Z" }, + { url = "https://files.pythonhosted.org/packages/c0/56/d5265d2d28b7420d7b4d4d85cad8ef891760f5135102e60d5c970b976e41/rpds_py-0.27.1-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:639fd5efec029f99b79ae47e5d7e00ad8a773da899b6309f6786ecaf22948c48", size = 400022, upload-time = "2025-08-27T12:14:53.859Z" }, + { url = "https://files.pythonhosted.org/packages/8f/e9/9f5fc70164a569bdd6ed9046486c3568d6926e3a49bdefeeccfb18655875/rpds_py-0.27.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fecc80cb2a90e28af8a9b366edacf33d7a91cbfe4c2c4544ea1246e949cfebeb", size = 416787, upload-time = "2025-08-27T12:14:55.673Z" }, + { url = "https://files.pythonhosted.org/packages/d4/64/56dd03430ba491db943a81dcdef115a985aac5f44f565cd39a00c766d45c/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42a89282d711711d0a62d6f57d81aa43a1368686c45bc1c46b7f079d55692734", size = 557538, upload-time = "2025-08-27T12:14:57.245Z" }, + { url = "https://files.pythonhosted.org/packages/3f/36/92cc885a3129993b1d963a2a42ecf64e6a8e129d2c7cc980dbeba84e55fb/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:cf9931f14223de59551ab9d38ed18d92f14f055a5f78c1d8ad6493f735021bbb", size = 588512, upload-time = "2025-08-27T12:14:58.728Z" }, + { url = "https://files.pythonhosted.org/packages/dd/10/6b283707780a81919f71625351182b4f98932ac89a09023cb61865136244/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f39f58a27cc6e59f432b568ed8429c7e1641324fbe38131de852cd77b2d534b0", size = 555813, upload-time = "2025-08-27T12:15:00.334Z" }, + { url = "https://files.pythonhosted.org/packages/04/2e/30b5ea18c01379da6272a92825dd7e53dc9d15c88a19e97932d35d430ef7/rpds_py-0.27.1-cp314-cp314t-win32.whl", hash = "sha256:d5fa0ee122dc09e23607a28e6d7b150da16c662e66409bbe85230e4c85bb528a", size = 217385, upload-time = "2025-08-27T12:15:01.937Z" }, + { url = "https://files.pythonhosted.org/packages/32/7d/97119da51cb1dd3f2f3c0805f155a3aa4a95fa44fe7d78ae15e69edf4f34/rpds_py-0.27.1-cp314-cp314t-win_amd64.whl", hash = "sha256:6567d2bb951e21232c2f660c24cf3470bb96de56cdcb3f071a83feeaff8a2772", size = 230097, upload-time = "2025-08-27T12:15:03.961Z" }, +] + +[[package]] +name = "s3transfer" +version = "0.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/62/74/8d69dcb7a9efe8baa2046891735e5dfe433ad558ae23d9e3c14c633d1d58/s3transfer-0.14.0.tar.gz", hash = "sha256:eff12264e7c8b4985074ccce27a3b38a485bb7f7422cc8046fee9be4983e4125", size = 151547, upload-time = "2025-09-09T19:23:31.089Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/48/f0/ae7ca09223a81a1d890b2557186ea015f6e0502e9b8cb8e1813f1d8cfa4e/s3transfer-0.14.0-py3-none-any.whl", hash = "sha256:ea3b790c7077558ed1f02a3072fb3cb992bbbd253392f4b6e9e8976941c7d456", size = 85712, upload-time = "2025-09-09T19:23:30.041Z" }, +] + +[[package]] +name = "shellingham" +version = "1.5.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310, upload-time = "2023-10-24T04:13:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" }, +] + +[[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" } +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" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "sse-starlette" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz", hash = "sha256:ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a", size = 20985, upload-time = "2025-07-27T09:07:44.565Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/10/c78f463b4ef22eef8491f218f692be838282cd65480f6e423d7730dfd1fb/sse_starlette-3.0.2-py3-none-any.whl", hash = "sha256:16b7cbfddbcd4eaca11f7b586f3b8a080f1afe952c15813455b162edea619e5a", size = 11297, upload-time = "2025-07-27T09:07:43.268Z" }, +] + +[[package]] +name = "starlette" +version = "0.48.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a7/a5/d6f429d43394057b67a6b5bbe6eae2f77a6bf7459d961fdb224bf206eee6/starlette-0.48.0.tar.gz", hash = "sha256:7e8cee469a8ab2352911528110ce9088fdc6a37d9876926e73da7ce4aa4c7a46", size = 2652949, upload-time = "2025-09-13T08:41:05.699Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/72/2db2f49247d0a18b4f1bb9a5a39a0162869acf235f3a96418363947b3d46/starlette-0.48.0-py3-none-any.whl", hash = "sha256:0764ca97b097582558ecb498132ed0c7d942f233f365b86ba37770e026510659", size = 73736, upload-time = "2025-09-13T08:41:03.869Z" }, +] + +[[package]] +name = "typer" +version = "0.19.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "rich" }, + { name = "shellingham" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/21/ca/950278884e2ca20547ff3eb109478c6baf6b8cf219318e6bc4f666fad8e8/typer-0.19.2.tar.gz", hash = "sha256:9ad824308ded0ad06cc716434705f691d4ee0bfd0fb081839d2e426860e7fdca", size = 104755, upload-time = "2025-09-23T09:47:48.256Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/22/35617eee79080a5d071d0f14ad698d325ee6b3bf824fc0467c03b30e7fa8/typer-0.19.2-py3-none-any.whl", hash = "sha256:755e7e19670ffad8283db353267cb81ef252f595aa6834a0d1ca9312d9326cb9", size = 46748, upload-time = "2025-09-23T09:47:46.777Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, +] + +[[package]] +name = "urllib3" +version = "2.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, +] + +[[package]] +name = "uvicorn" +version = "0.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/57/1616c8274c3442d802621abf5deb230771c7a0fec9414cb6763900eb3868/uvicorn-0.37.0.tar.gz", hash = "sha256:4115c8add6d3fd536c8ee77f0e14a7fd2ebba939fed9b02583a97f80648f9e13", size = 80367, upload-time = "2025-09-23T13:33:47.486Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/cd/584a2ceb5532af99dd09e50919e3615ba99aa127e9850eafe5f31ddfdb9a/uvicorn-0.37.0-py3-none-any.whl", hash = "sha256:913b2b88672343739927ce381ff9e2ad62541f9f8289664fa1d1d3803fa2ce6c", size = 67976, upload-time = "2025-09-23T13:33:45.842Z" }, +] + +[[package]] +name = "wrapt" +version = "1.17.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/8f/aeb76c5b46e273670962298c23e7ddde79916cb74db802131d49a85e4b7d/wrapt-1.17.3.tar.gz", hash = "sha256:f66eb08feaa410fe4eebd17f2a2c8e2e46d3476e9f8c783daa8e09e0faa666d0", size = 55547, upload-time = "2025-08-12T05:53:21.714Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9f/41/cad1aba93e752f1f9268c77270da3c469883d56e2798e7df6240dcb2287b/wrapt-1.17.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:ab232e7fdb44cdfbf55fc3afa31bcdb0d8980b9b95c38b6405df2acb672af0e0", size = 53998, upload-time = "2025-08-12T05:51:47.138Z" }, + { url = "https://files.pythonhosted.org/packages/60/f8/096a7cc13097a1869fe44efe68dace40d2a16ecb853141394047f0780b96/wrapt-1.17.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:9baa544e6acc91130e926e8c802a17f3b16fbea0fd441b5a60f5cf2cc5c3deba", size = 39020, upload-time = "2025-08-12T05:51:35.906Z" }, + { url = "https://files.pythonhosted.org/packages/33/df/bdf864b8997aab4febb96a9ae5c124f700a5abd9b5e13d2a3214ec4be705/wrapt-1.17.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:6b538e31eca1a7ea4605e44f81a48aa24c4632a277431a6ed3f328835901f4fd", size = 39098, upload-time = "2025-08-12T05:51:57.474Z" }, + { url = "https://files.pythonhosted.org/packages/9f/81/5d931d78d0eb732b95dc3ddaeeb71c8bb572fb01356e9133916cd729ecdd/wrapt-1.17.3-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:042ec3bb8f319c147b1301f2393bc19dba6e176b7da446853406d041c36c7828", size = 88036, upload-time = "2025-08-12T05:52:34.784Z" }, + { url = "https://files.pythonhosted.org/packages/ca/38/2e1785df03b3d72d34fc6252d91d9d12dc27a5c89caef3335a1bbb8908ca/wrapt-1.17.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3af60380ba0b7b5aeb329bc4e402acd25bd877e98b3727b0135cb5c2efdaefe9", size = 88156, upload-time = "2025-08-12T05:52:13.599Z" }, + { url = "https://files.pythonhosted.org/packages/b3/8b/48cdb60fe0603e34e05cffda0b2a4adab81fd43718e11111a4b0100fd7c1/wrapt-1.17.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:0b02e424deef65c9f7326d8c19220a2c9040c51dc165cddb732f16198c168396", size = 87102, upload-time = "2025-08-12T05:52:14.56Z" }, + { url = "https://files.pythonhosted.org/packages/3c/51/d81abca783b58f40a154f1b2c56db1d2d9e0d04fa2d4224e357529f57a57/wrapt-1.17.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:74afa28374a3c3a11b3b5e5fca0ae03bef8450d6aa3ab3a1e2c30e3a75d023dc", size = 87732, upload-time = "2025-08-12T05:52:36.165Z" }, + { url = "https://files.pythonhosted.org/packages/9e/b1/43b286ca1392a006d5336412d41663eeef1ad57485f3e52c767376ba7e5a/wrapt-1.17.3-cp312-cp312-win32.whl", hash = "sha256:4da9f45279fff3543c371d5ababc57a0384f70be244de7759c85a7f989cb4ebe", size = 36705, upload-time = "2025-08-12T05:53:07.123Z" }, + { url = "https://files.pythonhosted.org/packages/28/de/49493f962bd3c586ab4b88066e967aa2e0703d6ef2c43aa28cb83bf7b507/wrapt-1.17.3-cp312-cp312-win_amd64.whl", hash = "sha256:e71d5c6ebac14875668a1e90baf2ea0ef5b7ac7918355850c0908ae82bcb297c", size = 38877, upload-time = "2025-08-12T05:53:05.436Z" }, + { url = "https://files.pythonhosted.org/packages/f1/48/0f7102fe9cb1e8a5a77f80d4f0956d62d97034bbe88d33e94699f99d181d/wrapt-1.17.3-cp312-cp312-win_arm64.whl", hash = "sha256:604d076c55e2fdd4c1c03d06dc1a31b95130010517b5019db15365ec4a405fc6", size = 36885, upload-time = "2025-08-12T05:52:54.367Z" }, + { url = "https://files.pythonhosted.org/packages/fc/f6/759ece88472157acb55fc195e5b116e06730f1b651b5b314c66291729193/wrapt-1.17.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a47681378a0439215912ef542c45a783484d4dd82bac412b71e59cf9c0e1cea0", size = 54003, upload-time = "2025-08-12T05:51:48.627Z" }, + { url = "https://files.pythonhosted.org/packages/4f/a9/49940b9dc6d47027dc850c116d79b4155f15c08547d04db0f07121499347/wrapt-1.17.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:54a30837587c6ee3cd1a4d1c2ec5d24e77984d44e2f34547e2323ddb4e22eb77", size = 39025, upload-time = "2025-08-12T05:51:37.156Z" }, + { url = "https://files.pythonhosted.org/packages/45/35/6a08de0f2c96dcdd7fe464d7420ddb9a7655a6561150e5fc4da9356aeaab/wrapt-1.17.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:16ecf15d6af39246fe33e507105d67e4b81d8f8d2c6598ff7e3ca1b8a37213f7", size = 39108, upload-time = "2025-08-12T05:51:58.425Z" }, + { url = "https://files.pythonhosted.org/packages/0c/37/6faf15cfa41bf1f3dba80cd3f5ccc6622dfccb660ab26ed79f0178c7497f/wrapt-1.17.3-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:6fd1ad24dc235e4ab88cda009e19bf347aabb975e44fd5c2fb22a3f6e4141277", size = 88072, upload-time = "2025-08-12T05:52:37.53Z" }, + { url = "https://files.pythonhosted.org/packages/78/f2/efe19ada4a38e4e15b6dff39c3e3f3f73f5decf901f66e6f72fe79623a06/wrapt-1.17.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0ed61b7c2d49cee3c027372df5809a59d60cf1b6c2f81ee980a091f3afed6a2d", size = 88214, upload-time = "2025-08-12T05:52:15.886Z" }, + { url = "https://files.pythonhosted.org/packages/40/90/ca86701e9de1622b16e09689fc24b76f69b06bb0150990f6f4e8b0eeb576/wrapt-1.17.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:423ed5420ad5f5529db9ce89eac09c8a2f97da18eb1c870237e84c5a5c2d60aa", size = 87105, upload-time = "2025-08-12T05:52:17.914Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e0/d10bd257c9a3e15cbf5523025252cc14d77468e8ed644aafb2d6f54cb95d/wrapt-1.17.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e01375f275f010fcbf7f643b4279896d04e571889b8a5b3f848423d91bf07050", size = 87766, upload-time = "2025-08-12T05:52:39.243Z" }, + { url = "https://files.pythonhosted.org/packages/e8/cf/7d848740203c7b4b27eb55dbfede11aca974a51c3d894f6cc4b865f42f58/wrapt-1.17.3-cp313-cp313-win32.whl", hash = "sha256:53e5e39ff71b3fc484df8a522c933ea2b7cdd0d5d15ae82e5b23fde87d44cbd8", size = 36711, upload-time = "2025-08-12T05:53:10.074Z" }, + { url = "https://files.pythonhosted.org/packages/57/54/35a84d0a4d23ea675994104e667ceff49227ce473ba6a59ba2c84f250b74/wrapt-1.17.3-cp313-cp313-win_amd64.whl", hash = "sha256:1f0b2f40cf341ee8cc1a97d51ff50dddb9fcc73241b9143ec74b30fc4f44f6cb", size = 38885, upload-time = "2025-08-12T05:53:08.695Z" }, + { url = "https://files.pythonhosted.org/packages/01/77/66e54407c59d7b02a3c4e0af3783168fff8e5d61def52cda8728439d86bc/wrapt-1.17.3-cp313-cp313-win_arm64.whl", hash = "sha256:7425ac3c54430f5fc5e7b6f41d41e704db073309acfc09305816bc6a0b26bb16", size = 36896, upload-time = "2025-08-12T05:52:55.34Z" }, + { url = "https://files.pythonhosted.org/packages/02/a2/cd864b2a14f20d14f4c496fab97802001560f9f41554eef6df201cd7f76c/wrapt-1.17.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cf30f6e3c077c8e6a9a7809c94551203c8843e74ba0c960f4a98cd80d4665d39", size = 54132, upload-time = "2025-08-12T05:51:49.864Z" }, + { url = "https://files.pythonhosted.org/packages/d5/46/d011725b0c89e853dc44cceb738a307cde5d240d023d6d40a82d1b4e1182/wrapt-1.17.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:e228514a06843cae89621384cfe3a80418f3c04aadf8a3b14e46a7be704e4235", size = 39091, upload-time = "2025-08-12T05:51:38.935Z" }, + { url = "https://files.pythonhosted.org/packages/2e/9e/3ad852d77c35aae7ddebdbc3b6d35ec8013af7d7dddad0ad911f3d891dae/wrapt-1.17.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:5ea5eb3c0c071862997d6f3e02af1d055f381b1d25b286b9d6644b79db77657c", size = 39172, upload-time = "2025-08-12T05:51:59.365Z" }, + { url = "https://files.pythonhosted.org/packages/c3/f7/c983d2762bcce2326c317c26a6a1e7016f7eb039c27cdf5c4e30f4160f31/wrapt-1.17.3-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:281262213373b6d5e4bb4353bc36d1ba4084e6d6b5d242863721ef2bf2c2930b", size = 87163, upload-time = "2025-08-12T05:52:40.965Z" }, + { url = "https://files.pythonhosted.org/packages/e4/0f/f673f75d489c7f22d17fe0193e84b41540d962f75fce579cf6873167c29b/wrapt-1.17.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:dc4a8d2b25efb6681ecacad42fca8859f88092d8732b170de6a5dddd80a1c8fa", size = 87963, upload-time = "2025-08-12T05:52:20.326Z" }, + { url = "https://files.pythonhosted.org/packages/df/61/515ad6caca68995da2fac7a6af97faab8f78ebe3bf4f761e1b77efbc47b5/wrapt-1.17.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:373342dd05b1d07d752cecbec0c41817231f29f3a89aa8b8843f7b95992ed0c7", size = 86945, upload-time = "2025-08-12T05:52:21.581Z" }, + { url = "https://files.pythonhosted.org/packages/d3/bd/4e70162ce398462a467bc09e768bee112f1412e563620adc353de9055d33/wrapt-1.17.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d40770d7c0fd5cbed9d84b2c3f2e156431a12c9a37dc6284060fb4bec0b7ffd4", size = 86857, upload-time = "2025-08-12T05:52:43.043Z" }, + { url = "https://files.pythonhosted.org/packages/2b/b8/da8560695e9284810b8d3df8a19396a6e40e7518059584a1a394a2b35e0a/wrapt-1.17.3-cp314-cp314-win32.whl", hash = "sha256:fbd3c8319de8e1dc79d346929cd71d523622da527cca14e0c1d257e31c2b8b10", size = 37178, upload-time = "2025-08-12T05:53:12.605Z" }, + { url = "https://files.pythonhosted.org/packages/db/c8/b71eeb192c440d67a5a0449aaee2310a1a1e8eca41676046f99ed2487e9f/wrapt-1.17.3-cp314-cp314-win_amd64.whl", hash = "sha256:e1a4120ae5705f673727d3253de3ed0e016f7cd78dc463db1b31e2463e1f3cf6", size = 39310, upload-time = "2025-08-12T05:53:11.106Z" }, + { url = "https://files.pythonhosted.org/packages/45/20/2cda20fd4865fa40f86f6c46ed37a2a8356a7a2fde0773269311f2af56c7/wrapt-1.17.3-cp314-cp314-win_arm64.whl", hash = "sha256:507553480670cab08a800b9463bdb881b2edeed77dc677b0a5915e6106e91a58", size = 37266, upload-time = "2025-08-12T05:52:56.531Z" }, + { url = "https://files.pythonhosted.org/packages/77/ed/dd5cf21aec36c80443c6f900449260b80e2a65cf963668eaef3b9accce36/wrapt-1.17.3-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:ed7c635ae45cfbc1a7371f708727bf74690daedc49b4dba310590ca0bd28aa8a", size = 56544, upload-time = "2025-08-12T05:51:51.109Z" }, + { url = "https://files.pythonhosted.org/packages/8d/96/450c651cc753877ad100c7949ab4d2e2ecc4d97157e00fa8f45df682456a/wrapt-1.17.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:249f88ed15503f6492a71f01442abddd73856a0032ae860de6d75ca62eed8067", size = 40283, upload-time = "2025-08-12T05:51:39.912Z" }, + { url = "https://files.pythonhosted.org/packages/d1/86/2fcad95994d9b572db57632acb6f900695a648c3e063f2cd344b3f5c5a37/wrapt-1.17.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5a03a38adec8066d5a37bea22f2ba6bbf39fcdefbe2d91419ab864c3fb515454", size = 40366, upload-time = "2025-08-12T05:52:00.693Z" }, + { url = "https://files.pythonhosted.org/packages/64/0e/f4472f2fdde2d4617975144311f8800ef73677a159be7fe61fa50997d6c0/wrapt-1.17.3-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:5d4478d72eb61c36e5b446e375bbc49ed002430d17cdec3cecb36993398e1a9e", size = 108571, upload-time = "2025-08-12T05:52:44.521Z" }, + { url = "https://files.pythonhosted.org/packages/cc/01/9b85a99996b0a97c8a17484684f206cbb6ba73c1ce6890ac668bcf3838fb/wrapt-1.17.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:223db574bb38637e8230eb14b185565023ab624474df94d2af18f1cdb625216f", size = 113094, upload-time = "2025-08-12T05:52:22.618Z" }, + { url = "https://files.pythonhosted.org/packages/25/02/78926c1efddcc7b3aa0bc3d6b33a822f7d898059f7cd9ace8c8318e559ef/wrapt-1.17.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e405adefb53a435f01efa7ccdec012c016b5a1d3f35459990afc39b6be4d5056", size = 110659, upload-time = "2025-08-12T05:52:24.057Z" }, + { url = "https://files.pythonhosted.org/packages/dc/ee/c414501ad518ac3e6fe184753632fe5e5ecacdcf0effc23f31c1e4f7bfcf/wrapt-1.17.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:88547535b787a6c9ce4086917b6e1d291aa8ed914fdd3a838b3539dc95c12804", size = 106946, upload-time = "2025-08-12T05:52:45.976Z" }, + { url = "https://files.pythonhosted.org/packages/be/44/a1bd64b723d13bb151d6cc91b986146a1952385e0392a78567e12149c7b4/wrapt-1.17.3-cp314-cp314t-win32.whl", hash = "sha256:41b1d2bc74c2cac6f9074df52b2efbef2b30bdfe5f40cb78f8ca22963bc62977", size = 38717, upload-time = "2025-08-12T05:53:15.214Z" }, + { url = "https://files.pythonhosted.org/packages/79/d9/7cfd5a312760ac4dd8bf0184a6ee9e43c33e47f3dadc303032ce012b8fa3/wrapt-1.17.3-cp314-cp314t-win_amd64.whl", hash = "sha256:73d496de46cd2cdbdbcce4ae4bcdb4afb6a11234a1df9c085249d55166b95116", size = 41334, upload-time = "2025-08-12T05:53:14.178Z" }, + { url = "https://files.pythonhosted.org/packages/46/78/10ad9781128ed2f99dbc474f43283b13fea8ba58723e98844367531c18e9/wrapt-1.17.3-cp314-cp314t-win_arm64.whl", hash = "sha256:f38e60678850c42461d4202739f9bf1e3a737c7ad283638251e79cc49effb6b6", size = 38471, upload-time = "2025-08-12T05:52:57.784Z" }, + { url = "https://files.pythonhosted.org/packages/1f/f6/a933bd70f98e9cf3e08167fc5cd7aaaca49147e48411c0bd5ae701bb2194/wrapt-1.17.3-py3-none-any.whl", hash = "sha256:7171ae35d2c33d326ac19dd8facb1e82e5fd04ef8c6c0e394d7af55a55051c22", size = 23591, upload-time = "2025-08-12T05:53:20.674Z" }, +] + +[[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" } +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" }, +] diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/README.md b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/README.md new file mode 100644 index 0000000000..a28894e7b6 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/README.md @@ -0,0 +1,6 @@ + +## Inspect the MCP Server + +```sh +uv run mcp dev ./mcp_simple_tool/server.py +``` diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/mcp_simple_tool/__init__.py b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/mcp_simple_tool/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/mcp_simple_tool/__main__.py b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/mcp_simple_tool/__main__.py new file mode 100644 index 0000000000..8b345fa2e5 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/mcp_simple_tool/__main__.py @@ -0,0 +1,5 @@ +import sys + +from .server import main + +sys.exit(main()) diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/mcp_simple_tool/server.py b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/mcp_simple_tool/server.py new file mode 100644 index 0000000000..fdcf847793 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/mcp_simple_tool/server.py @@ -0,0 +1,66 @@ +import boto3 # type: ignore[import-untyped] +import requests +from mcp.server.fastmcp import FastMCP + + +def call_http(url: str) -> str: + try: + response = requests.get(url, timeout=5) + return f"HTTP call succeeded. Status: {response.status_code}, Body length: {len(response.content)} bytes" + except requests.RequestException as exc: + return f"HTTP call failed: {str(exc)}" + + +def call_s3() -> str: + try: + s3_client = boto3.client("s3") # type: ignore[no-untyped-call] + response = s3_client.list_buckets() # type: ignore[no-untyped-call] + bucket_list = response.get("Buckets", []) # type: ignore[union-attr] + buckets = ", ".join([str(bucket.get("Name", "")) for bucket in bucket_list]) # type: ignore[union-attr] + if not buckets: + buckets = "No buckets found" + return f"S3 call succeeded. Buckets: {buckets}" + except Exception as exc: # pylint: disable=broad-exception-caught + return f"S3 call failed: {str(exc)}" + + +mcp = FastMCP("PythonMcpDemoFoo") + + +@mcp.tool() # type: ignore[misc] +def add(a: int, b: int) -> int: + """Add two numbers""" + return a + b + + +@mcp.tool() # type: ignore[misc] +def subtract(a: int, b: int) -> int: + """Subtract two numbers""" + return a - b + + +@mcp.tool() # type: ignore[misc] +def pingweb(url: str) -> str: + """Make an HTTP GET request to the specified URL""" + return call_http(url) + + +@mcp.tool() # type: ignore[misc] +def awssdkcall() -> str: + """Make an AWS S3 API call to list buckets""" + return call_s3() + + +# Add a dynamic greeting resource +@mcp.resource("greeting://{name}") # type: ignore[misc] +def get_greeting(name: str) -> str: + """Get a personalized greeting""" + return f"Hello, {name}!" + + +def main(): + mcp.run() + + +if __name__ == "__main__": + main() diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/pyproject.toml b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/pyproject.toml new file mode 100644 index 0000000000..8ec0364fe5 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/pyproject.toml @@ -0,0 +1,52 @@ +[project] +name = "mcp-server-foo" +version = "0.1.0" +description = "A simple MCP server exposing a tool" +readme = "README.md" +requires-python = ">=3.10" +authors = [{ name = "OpenTelemetry" }] +maintainers = [ +] +keywords = ["mcp", "server", "web", "fetch"] +license = { text = "MIT" } +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", +] +dependencies = [ + "anyio>=4.5", + "boto3>=1.40.52", + "click>=8.2.0", + "httpx>=0.27", + "mcp[cli]>=1.17.0", + "requests>=2.32.5", +] + +[project.scripts] +mcp-server-foo = "mcp_simple_tool.server:main" + +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[tool.hatch.build.targets.wheel] +packages = ["mcp_simple_tool"] + +[tool.pyright] +include = ["mcp_simple_tool"] +venvPath = "." +venv = ".venv" + +[tool.ruff.lint] +select = ["E", "F", "I"] +ignore = [] + +[tool.ruff] +line-length = 120 +target-version = "py310" + +[tool.uv] +dev-dependencies = ["pyright>=1.1.378", "pytest>=8.3.3", "ruff>=0.6.9"] diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/uv.lock b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/uv.lock new file mode 100644 index 0000000000..18139a9b11 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/examples/simple-client-server/server/uv.lock @@ -0,0 +1,960 @@ +version = 1 +revision = 3 +requires-python = ">=3.10" +resolution-markers = [ + "python_full_version >= '3.13'", + "python_full_version < '3.13'", +] + +[[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" } +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" }, +] + +[[package]] +name = "anyio" +version = "4.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "idna" }, + { name = "sniffio" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz", hash = "sha256:82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4", size = 219094, upload-time = "2025-09-23T09:19:12.58Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl", hash = "sha256:0287e96f4d26d4149305414d4e3bc32f0dcd0862365a4bddea19d7a1ec38c4fc", size = 109097, upload-time = "2025-09-23T09:19:10.601Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "boto3" +version = "1.40.52" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, + { name = "jmespath" }, + { name = "s3transfer" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a0/5a/8ba08c979926326d961e2384d994d789a2eda3ed281bb6cb333b36e92310/boto3-1.40.52.tar.gz", hash = "sha256:96ee720b52be647d8ef5ba92fccfce6b65d6321769430fe6edd10d57ec43c25b", size = 111530, upload-time = "2025-10-14T20:32:12.226Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0f/d2/879e9787c5263aefc5c88f0dd97cdea29ac01c480dd53c2421de77a493f7/boto3-1.40.52-py3-none-any.whl", hash = "sha256:ecc8c99d3cc96716cdfba62d9c9c6ce0eb98d02494a66690bcc2ec181c1ced67", size = 139345, upload-time = "2025-10-14T20:32:10.801Z" }, +] + +[[package]] +name = "botocore" +version = "1.40.52" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jmespath" }, + { name = "python-dateutil" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/83/74/3449d77c002d82586786b91dff6dd2e6fd52c5cdc1793d1ac7ea690ea52c/botocore-1.40.52.tar.gz", hash = "sha256:b65d970ca4ccd869639332083da17c3a933bcf495120dcc4f5c7723cb3f6216c", size = 14427680, upload-time = "2025-10-14T20:32:03.065Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/05/ad/559dc4097fe1368e5f3abb5d8ca496f9c609e4e452498bca11134fde1462/botocore-1.40.52-py3-none-any.whl", hash = "sha256:838697a06c7713df8d39f088105334b4eadcc3d65c7a260bf1a1bd8bf616ce4a", size = 14098823, upload-time = "2025-10-14T20:32:00.094Z" }, +] + +[[package]] +name = "certifi" +version = "2025.10.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/5b/b6ce21586237c77ce67d01dc5507039d444b630dd76611bbca2d8e5dcd91/certifi-2025.10.5.tar.gz", hash = "sha256:47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43", size = 164519, upload-time = "2025-10-05T04:12:15.808Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl", hash = "sha256:0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de", size = 163286, upload-time = "2025-10-05T04:12:14.03Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/2d/5fd176ceb9b2fc619e63405525573493ca23441330fcdaee6bef9460e924/charset_normalizer-3.4.3.tar.gz", hash = "sha256:6fce4b8500244f6fcb71465d4a4930d132ba9ab8e71a7859e6a5d59851068d14", size = 122371, upload-time = "2025-08-09T07:57:28.46Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/98/f3b8013223728a99b908c9344da3aa04ee6e3fa235f19409033eda92fb78/charset_normalizer-3.4.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:fb7f67a1bfa6e40b438170ebdc8158b78dc465a5a67b6dde178a46987b244a72", size = 207695, upload-time = "2025-08-09T07:55:36.452Z" }, + { url = "https://files.pythonhosted.org/packages/21/40/5188be1e3118c82dcb7c2a5ba101b783822cfb413a0268ed3be0468532de/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cc9370a2da1ac13f0153780040f465839e6cccb4a1e44810124b4e22483c93fe", size = 147153, upload-time = "2025-08-09T07:55:38.467Z" }, + { url = "https://files.pythonhosted.org/packages/37/60/5d0d74bc1e1380f0b72c327948d9c2aca14b46a9efd87604e724260f384c/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:07a0eae9e2787b586e129fdcbe1af6997f8d0e5abaa0bc98c0e20e124d67e601", size = 160428, upload-time = "2025-08-09T07:55:40.072Z" }, + { url = "https://files.pythonhosted.org/packages/85/9a/d891f63722d9158688de58d050c59dc3da560ea7f04f4c53e769de5140f5/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:74d77e25adda8581ffc1c720f1c81ca082921329452eba58b16233ab1842141c", size = 157627, upload-time = "2025-08-09T07:55:41.706Z" }, + { url = "https://files.pythonhosted.org/packages/65/1a/7425c952944a6521a9cfa7e675343f83fd82085b8af2b1373a2409c683dc/charset_normalizer-3.4.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d0e909868420b7049dafd3a31d45125b31143eec59235311fc4c57ea26a4acd2", size = 152388, upload-time = "2025-08-09T07:55:43.262Z" }, + { url = "https://files.pythonhosted.org/packages/f0/c9/a2c9c2a355a8594ce2446085e2ec97fd44d323c684ff32042e2a6b718e1d/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:c6f162aabe9a91a309510d74eeb6507fab5fff92337a15acbe77753d88d9dcf0", size = 150077, upload-time = "2025-08-09T07:55:44.903Z" }, + { url = "https://files.pythonhosted.org/packages/3b/38/20a1f44e4851aa1c9105d6e7110c9d020e093dfa5836d712a5f074a12bf7/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:4ca4c094de7771a98d7fbd67d9e5dbf1eb73efa4f744a730437d8a3a5cf994f0", size = 161631, upload-time = "2025-08-09T07:55:46.346Z" }, + { url = "https://files.pythonhosted.org/packages/a4/fa/384d2c0f57edad03d7bec3ebefb462090d8905b4ff5a2d2525f3bb711fac/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:02425242e96bcf29a49711b0ca9f37e451da7c70562bc10e8ed992a5a7a25cc0", size = 159210, upload-time = "2025-08-09T07:55:47.539Z" }, + { url = "https://files.pythonhosted.org/packages/33/9e/eca49d35867ca2db336b6ca27617deed4653b97ebf45dfc21311ce473c37/charset_normalizer-3.4.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:78deba4d8f9590fe4dae384aeff04082510a709957e968753ff3c48399f6f92a", size = 153739, upload-time = "2025-08-09T07:55:48.744Z" }, + { url = "https://files.pythonhosted.org/packages/2a/91/26c3036e62dfe8de8061182d33be5025e2424002125c9500faff74a6735e/charset_normalizer-3.4.3-cp310-cp310-win32.whl", hash = "sha256:d79c198e27580c8e958906f803e63cddb77653731be08851c7df0b1a14a8fc0f", size = 99825, upload-time = "2025-08-09T07:55:50.305Z" }, + { url = "https://files.pythonhosted.org/packages/e2/c6/f05db471f81af1fa01839d44ae2a8bfeec8d2a8b4590f16c4e7393afd323/charset_normalizer-3.4.3-cp310-cp310-win_amd64.whl", hash = "sha256:c6e490913a46fa054e03699c70019ab869e990270597018cef1d8562132c2669", size = 107452, upload-time = "2025-08-09T07:55:51.461Z" }, + { url = "https://files.pythonhosted.org/packages/7f/b5/991245018615474a60965a7c9cd2b4efbaabd16d582a5547c47ee1c7730b/charset_normalizer-3.4.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:b256ee2e749283ef3ddcff51a675ff43798d92d746d1a6e4631bf8c707d22d0b", size = 204483, upload-time = "2025-08-09T07:55:53.12Z" }, + { url = "https://files.pythonhosted.org/packages/c7/2a/ae245c41c06299ec18262825c1569c5d3298fc920e4ddf56ab011b417efd/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13faeacfe61784e2559e690fc53fa4c5ae97c6fcedb8eb6fb8d0a15b475d2c64", size = 145520, upload-time = "2025-08-09T07:55:54.712Z" }, + { url = "https://files.pythonhosted.org/packages/3a/a4/b3b6c76e7a635748c4421d2b92c7b8f90a432f98bda5082049af37ffc8e3/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:00237675befef519d9af72169d8604a067d92755e84fe76492fef5441db05b91", size = 158876, upload-time = "2025-08-09T07:55:56.024Z" }, + { url = "https://files.pythonhosted.org/packages/e2/e6/63bb0e10f90a8243c5def74b5b105b3bbbfb3e7bb753915fe333fb0c11ea/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:585f3b2a80fbd26b048a0be90c5aae8f06605d3c92615911c3a2b03a8a3b796f", size = 156083, upload-time = "2025-08-09T07:55:57.582Z" }, + { url = "https://files.pythonhosted.org/packages/87/df/b7737ff046c974b183ea9aa111b74185ac8c3a326c6262d413bd5a1b8c69/charset_normalizer-3.4.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0e78314bdc32fa80696f72fa16dc61168fda4d6a0c014e0380f9d02f0e5d8a07", size = 150295, upload-time = "2025-08-09T07:55:59.147Z" }, + { url = "https://files.pythonhosted.org/packages/61/f1/190d9977e0084d3f1dc169acd060d479bbbc71b90bf3e7bf7b9927dec3eb/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:96b2b3d1a83ad55310de8c7b4a2d04d9277d5591f40761274856635acc5fcb30", size = 148379, upload-time = "2025-08-09T07:56:00.364Z" }, + { url = "https://files.pythonhosted.org/packages/4c/92/27dbe365d34c68cfe0ca76f1edd70e8705d82b378cb54ebbaeabc2e3029d/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:939578d9d8fd4299220161fdd76e86c6a251987476f5243e8864a7844476ba14", size = 160018, upload-time = "2025-08-09T07:56:01.678Z" }, + { url = "https://files.pythonhosted.org/packages/99/04/baae2a1ea1893a01635d475b9261c889a18fd48393634b6270827869fa34/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:fd10de089bcdcd1be95a2f73dbe6254798ec1bda9f450d5828c96f93e2536b9c", size = 157430, upload-time = "2025-08-09T07:56:02.87Z" }, + { url = "https://files.pythonhosted.org/packages/2f/36/77da9c6a328c54d17b960c89eccacfab8271fdaaa228305330915b88afa9/charset_normalizer-3.4.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:1e8ac75d72fa3775e0b7cb7e4629cec13b7514d928d15ef8ea06bca03ef01cae", size = 151600, upload-time = "2025-08-09T07:56:04.089Z" }, + { url = "https://files.pythonhosted.org/packages/64/d4/9eb4ff2c167edbbf08cdd28e19078bf195762e9bd63371689cab5ecd3d0d/charset_normalizer-3.4.3-cp311-cp311-win32.whl", hash = "sha256:6cf8fd4c04756b6b60146d98cd8a77d0cdae0e1ca20329da2ac85eed779b6849", size = 99616, upload-time = "2025-08-09T07:56:05.658Z" }, + { url = "https://files.pythonhosted.org/packages/f4/9c/996a4a028222e7761a96634d1820de8a744ff4327a00ada9c8942033089b/charset_normalizer-3.4.3-cp311-cp311-win_amd64.whl", hash = "sha256:31a9a6f775f9bcd865d88ee350f0ffb0e25936a7f930ca98995c05abf1faf21c", size = 107108, upload-time = "2025-08-09T07:56:07.176Z" }, + { url = "https://files.pythonhosted.org/packages/e9/5e/14c94999e418d9b87682734589404a25854d5f5d0408df68bc15b6ff54bb/charset_normalizer-3.4.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:e28e334d3ff134e88989d90ba04b47d84382a828c061d0d1027b1b12a62b39b1", size = 205655, upload-time = "2025-08-09T07:56:08.475Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a8/c6ec5d389672521f644505a257f50544c074cf5fc292d5390331cd6fc9c3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0cacf8f7297b0c4fcb74227692ca46b4a5852f8f4f24b3c766dd94a1075c4884", size = 146223, upload-time = "2025-08-09T07:56:09.708Z" }, + { url = "https://files.pythonhosted.org/packages/fc/eb/a2ffb08547f4e1e5415fb69eb7db25932c52a52bed371429648db4d84fb1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c6fd51128a41297f5409deab284fecbe5305ebd7e5a1f959bee1c054622b7018", size = 159366, upload-time = "2025-08-09T07:56:11.326Z" }, + { url = "https://files.pythonhosted.org/packages/82/10/0fd19f20c624b278dddaf83b8464dcddc2456cb4b02bb902a6da126b87a1/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:3cfb2aad70f2c6debfbcb717f23b7eb55febc0bb23dcffc0f076009da10c6392", size = 157104, upload-time = "2025-08-09T07:56:13.014Z" }, + { url = "https://files.pythonhosted.org/packages/16/ab/0233c3231af734f5dfcf0844aa9582d5a1466c985bbed6cedab85af9bfe3/charset_normalizer-3.4.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1606f4a55c0fd363d754049cdf400175ee96c992b1f8018b993941f221221c5f", size = 151830, upload-time = "2025-08-09T07:56:14.428Z" }, + { url = "https://files.pythonhosted.org/packages/ae/02/e29e22b4e02839a0e4a06557b1999d0a47db3567e82989b5bb21f3fbbd9f/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:027b776c26d38b7f15b26a5da1044f376455fb3766df8fc38563b4efbc515154", size = 148854, upload-time = "2025-08-09T07:56:16.051Z" }, + { url = "https://files.pythonhosted.org/packages/05/6b/e2539a0a4be302b481e8cafb5af8792da8093b486885a1ae4d15d452bcec/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:42e5088973e56e31e4fa58eb6bd709e42fc03799c11c42929592889a2e54c491", size = 160670, upload-time = "2025-08-09T07:56:17.314Z" }, + { url = "https://files.pythonhosted.org/packages/31/e7/883ee5676a2ef217a40ce0bffcc3d0dfbf9e64cbcfbdf822c52981c3304b/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:cc34f233c9e71701040d772aa7490318673aa7164a0efe3172b2981218c26d93", size = 158501, upload-time = "2025-08-09T07:56:18.641Z" }, + { url = "https://files.pythonhosted.org/packages/c1/35/6525b21aa0db614cf8b5792d232021dca3df7f90a1944db934efa5d20bb1/charset_normalizer-3.4.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:320e8e66157cc4e247d9ddca8e21f427efc7a04bbd0ac8a9faf56583fa543f9f", size = 153173, upload-time = "2025-08-09T07:56:20.289Z" }, + { url = "https://files.pythonhosted.org/packages/50/ee/f4704bad8201de513fdc8aac1cabc87e38c5818c93857140e06e772b5892/charset_normalizer-3.4.3-cp312-cp312-win32.whl", hash = "sha256:fb6fecfd65564f208cbf0fba07f107fb661bcd1a7c389edbced3f7a493f70e37", size = 99822, upload-time = "2025-08-09T07:56:21.551Z" }, + { url = "https://files.pythonhosted.org/packages/39/f5/3b3836ca6064d0992c58c7561c6b6eee1b3892e9665d650c803bd5614522/charset_normalizer-3.4.3-cp312-cp312-win_amd64.whl", hash = "sha256:86df271bf921c2ee3818f0522e9a5b8092ca2ad8b065ece5d7d9d0e9f4849bcc", size = 107543, upload-time = "2025-08-09T07:56:23.115Z" }, + { url = "https://files.pythonhosted.org/packages/65/ca/2135ac97709b400c7654b4b764daf5c5567c2da45a30cdd20f9eefe2d658/charset_normalizer-3.4.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:14c2a87c65b351109f6abfc424cab3927b3bdece6f706e4d12faaf3d52ee5efe", size = 205326, upload-time = "2025-08-09T07:56:24.721Z" }, + { url = "https://files.pythonhosted.org/packages/71/11/98a04c3c97dd34e49c7d247083af03645ca3730809a5509443f3c37f7c99/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:41d1fc408ff5fdfb910200ec0e74abc40387bccb3252f3f27c0676731df2b2c8", size = 146008, upload-time = "2025-08-09T07:56:26.004Z" }, + { url = "https://files.pythonhosted.org/packages/60/f5/4659a4cb3c4ec146bec80c32d8bb16033752574c20b1252ee842a95d1a1e/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1bb60174149316da1c35fa5233681f7c0f9f514509b8e399ab70fea5f17e45c9", size = 159196, upload-time = "2025-08-09T07:56:27.25Z" }, + { url = "https://files.pythonhosted.org/packages/86/9e/f552f7a00611f168b9a5865a1414179b2c6de8235a4fa40189f6f79a1753/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:30d006f98569de3459c2fc1f2acde170b7b2bd265dc1943e87e1a4efe1b67c31", size = 156819, upload-time = "2025-08-09T07:56:28.515Z" }, + { url = "https://files.pythonhosted.org/packages/7e/95/42aa2156235cbc8fa61208aded06ef46111c4d3f0de233107b3f38631803/charset_normalizer-3.4.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:416175faf02e4b0810f1f38bcb54682878a4af94059a1cd63b8747244420801f", size = 151350, upload-time = "2025-08-09T07:56:29.716Z" }, + { url = "https://files.pythonhosted.org/packages/c2/a9/3865b02c56f300a6f94fc631ef54f0a8a29da74fb45a773dfd3dcd380af7/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:6aab0f181c486f973bc7262a97f5aca3ee7e1437011ef0c2ec04b5a11d16c927", size = 148644, upload-time = "2025-08-09T07:56:30.984Z" }, + { url = "https://files.pythonhosted.org/packages/77/d9/cbcf1a2a5c7d7856f11e7ac2d782aec12bdfea60d104e60e0aa1c97849dc/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabf8315679312cfa71302f9bd509ded4f2f263fb5b765cf1433b39106c3cc9", size = 160468, upload-time = "2025-08-09T07:56:32.252Z" }, + { url = "https://files.pythonhosted.org/packages/f6/42/6f45efee8697b89fda4d50580f292b8f7f9306cb2971d4b53f8914e4d890/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:bd28b817ea8c70215401f657edef3a8aa83c29d447fb0b622c35403780ba11d5", size = 158187, upload-time = "2025-08-09T07:56:33.481Z" }, + { url = "https://files.pythonhosted.org/packages/70/99/f1c3bdcfaa9c45b3ce96f70b14f070411366fa19549c1d4832c935d8e2c3/charset_normalizer-3.4.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:18343b2d246dc6761a249ba1fb13f9ee9a2bcd95decc767319506056ea4ad4dc", size = 152699, upload-time = "2025-08-09T07:56:34.739Z" }, + { url = "https://files.pythonhosted.org/packages/a3/ad/b0081f2f99a4b194bcbb1934ef3b12aa4d9702ced80a37026b7607c72e58/charset_normalizer-3.4.3-cp313-cp313-win32.whl", hash = "sha256:6fb70de56f1859a3f71261cbe41005f56a7842cc348d3aeb26237560bfa5e0ce", size = 99580, upload-time = "2025-08-09T07:56:35.981Z" }, + { url = "https://files.pythonhosted.org/packages/9a/8f/ae790790c7b64f925e5c953b924aaa42a243fb778fed9e41f147b2a5715a/charset_normalizer-3.4.3-cp313-cp313-win_amd64.whl", hash = "sha256:cf1ebb7d78e1ad8ec2a8c4732c7be2e736f6e5123a4146c5b89c9d1f585f8cef", size = 107366, upload-time = "2025-08-09T07:56:37.339Z" }, + { url = "https://files.pythonhosted.org/packages/8e/91/b5a06ad970ddc7a0e513112d40113e834638f4ca1120eb727a249fb2715e/charset_normalizer-3.4.3-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:3cd35b7e8aedeb9e34c41385fda4f73ba609e561faedfae0a9e75e44ac558a15", size = 204342, upload-time = "2025-08-09T07:56:38.687Z" }, + { url = "https://files.pythonhosted.org/packages/ce/ec/1edc30a377f0a02689342f214455c3f6c2fbedd896a1d2f856c002fc3062/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:b89bc04de1d83006373429975f8ef9e7932534b8cc9ca582e4db7d20d91816db", size = 145995, upload-time = "2025-08-09T07:56:40.048Z" }, + { url = "https://files.pythonhosted.org/packages/17/e5/5e67ab85e6d22b04641acb5399c8684f4d37caf7558a53859f0283a650e9/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2001a39612b241dae17b4687898843f254f8748b796a2e16f1051a17078d991d", size = 158640, upload-time = "2025-08-09T07:56:41.311Z" }, + { url = "https://files.pythonhosted.org/packages/f1/e5/38421987f6c697ee3722981289d554957c4be652f963d71c5e46a262e135/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:8dcfc373f888e4fb39a7bc57e93e3b845e7f462dacc008d9749568b1c4ece096", size = 156636, upload-time = "2025-08-09T07:56:43.195Z" }, + { url = "https://files.pythonhosted.org/packages/a0/e4/5a075de8daa3ec0745a9a3b54467e0c2967daaaf2cec04c845f73493e9a1/charset_normalizer-3.4.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:18b97b8404387b96cdbd30ad660f6407799126d26a39ca65729162fd810a99aa", size = 150939, upload-time = "2025-08-09T07:56:44.819Z" }, + { url = "https://files.pythonhosted.org/packages/02/f7/3611b32318b30974131db62b4043f335861d4d9b49adc6d57c1149cc49d4/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ccf600859c183d70eb47e05a44cd80a4ce77394d1ac0f79dbd2dd90a69a3a049", size = 148580, upload-time = "2025-08-09T07:56:46.684Z" }, + { url = "https://files.pythonhosted.org/packages/7e/61/19b36f4bd67f2793ab6a99b979b4e4f3d8fc754cbdffb805335df4337126/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:53cd68b185d98dde4ad8990e56a58dea83a4162161b1ea9272e5c9182ce415e0", size = 159870, upload-time = "2025-08-09T07:56:47.941Z" }, + { url = "https://files.pythonhosted.org/packages/06/57/84722eefdd338c04cf3030ada66889298eaedf3e7a30a624201e0cbe424a/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:30a96e1e1f865f78b030d65241c1ee850cdf422d869e9028e2fc1d5e4db73b92", size = 157797, upload-time = "2025-08-09T07:56:49.756Z" }, + { url = "https://files.pythonhosted.org/packages/72/2a/aff5dd112b2f14bcc3462c312dce5445806bfc8ab3a7328555da95330e4b/charset_normalizer-3.4.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:d716a916938e03231e86e43782ca7878fb602a125a91e7acb8b5112e2e96ac16", size = 152224, upload-time = "2025-08-09T07:56:51.369Z" }, + { url = "https://files.pythonhosted.org/packages/b7/8c/9839225320046ed279c6e839d51f028342eb77c91c89b8ef2549f951f3ec/charset_normalizer-3.4.3-cp314-cp314-win32.whl", hash = "sha256:c6dbd0ccdda3a2ba7c2ecd9d77b37f3b5831687d8dc1b6ca5f56a4880cc7b7ce", size = 100086, upload-time = "2025-08-09T07:56:52.722Z" }, + { url = "https://files.pythonhosted.org/packages/ee/7a/36fbcf646e41f710ce0a563c1c9a343c6edf9be80786edeb15b6f62e17db/charset_normalizer-3.4.3-cp314-cp314-win_amd64.whl", hash = "sha256:73dc19b562516fc9bcf6e5d6e596df0b4eb98d87e4f79f3ae71840e6ed21361c", size = 107400, upload-time = "2025-08-09T07:56:55.172Z" }, + { url = "https://files.pythonhosted.org/packages/8a/1f/f041989e93b001bc4e44bb1669ccdcf54d3f00e628229a85b08d330615c5/charset_normalizer-3.4.3-py3-none-any.whl", hash = "sha256:ce571ab16d890d23b5c278547ba694193a45011ff86a9162a71307ed9f86759a", size = 53175, upload-time = "2025-08-09T07:57:26.864Z" }, +] + +[[package]] +name = "click" +version = "8.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz", hash = "sha256:e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4", size = 276943, upload-time = "2025-09-18T17:32:23.696Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl", hash = "sha256:9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc", size = 107295, upload-time = "2025-09-18T17:32:22.42Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "exceptiongroup" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0b/9f/a65090624ecf468cdca03533906e7c69ed7588582240cfe7cc9e770b50eb/exceptiongroup-1.3.0.tar.gz", hash = "sha256:b241f5885f560bc56a59ee63ca4c6a8bfa46ae4ad651af316d4e81817bb9fd88", size = 29749, upload-time = "2025-05-10T17:42:51.123Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/f4/c6e662dade71f56cd2f3735141b265c3c79293c109549c1e6933b0651ffc/exceptiongroup-1.3.0-py3-none-any.whl", hash = "sha256:4d111e6e0c13d0644cad6ddaa7ed0261a0b36971f6d23e7ec9b4b9097da78a10", size = 16674, upload-time = "2025-05-10T17:42:49.33Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +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" } +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" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { 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" } +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" }, +] + +[[package]] +name = "httpx-sse" +version = "0.4.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6e/fa/66bd985dd0b7c109a3bcb89272ee0bfb7e2b4d06309ad7b38ff866734b2a/httpx_sse-0.4.1.tar.gz", hash = "sha256:8f44d34414bc7b21bf3602713005c5df4917884f76072479b21f68befa4ea26e", size = 12998, upload-time = "2025-06-24T13:21:05.71Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/0a/6269e3473b09aed2dab8aa1a600c70f31f00ae1349bee30658f7e358a159/httpx_sse-0.4.1-py3-none-any.whl", hash = "sha256:cba42174344c3a5b06f255ce65b350880f962d99ead85e776f23c6618a377a37", size = 8054, upload-time = "2025-06-24T13:21:04.772Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "iniconfig" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f2/97/ebf4da567aa6827c909642694d71c9fcf53e5b504f2d96afea02718862f3/iniconfig-2.1.0.tar.gz", hash = "sha256:3abbd2e30b36733fee78f9c7f7308f2d0050e88f0087fd25c2645f63c773e1c7", size = 4793, upload-time = "2025-03-19T20:09:59.721Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/e1/e6716421ea10d38022b952c159d5161ca1193197fb744506875fbb87ea7b/iniconfig-2.1.0-py3-none-any.whl", hash = "sha256:9deba5723312380e77435581c6bf4935c94cbfab9b1ed33ef8d238ea168eb760", size = 6050, upload-time = "2025-03-19T20:10:01.071Z" }, +] + +[[package]] +name = "jmespath" +version = "1.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/00/2a/e867e8531cf3e36b41201936b7fa7ba7b5702dbef42922193f05c8976cd6/jmespath-1.0.1.tar.gz", hash = "sha256:90261b206d6defd58fdd5e85f478bf633a2901798906be2ad389150c5c60edbe", size = 25843, upload-time = "2022-06-17T18:00:12.224Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/31/b4/b9b800c45527aadd64d5b442f9b932b00648617eb5d63d2c7a6587b7cafc/jmespath-1.0.1-py3-none-any.whl", hash = "sha256:02e2e4cc71b5bcab88332eebf907519190dd9e6e82107fa7f83b1003a6252980", size = 20256, upload-time = "2022-06-17T18:00:10.251Z" }, +] + +[[package]] +name = "jsonschema" +version = "4.25.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342, upload-time = "2025-08-18T17:03:50.038Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl", hash = "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", size = 90040, upload-time = "2025-08-18T17:03:48.373Z" }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2025.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "referencing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" }, +] + +[[package]] +name = "markdown-it-py" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mdurl" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5b/f5/4ec618ed16cc4f8fb3b701563655a69816155e79e24a17b651541804721d/markdown_it_py-4.0.0.tar.gz", hash = "sha256:cb0a2b4aa34f932c007117b194e945bd74e0ec24133ceb5bac59009cda1cb9f3", size = 73070, upload-time = "2025-08-11T12:57:52.854Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/54/e7d793b573f298e1c9013b8c4dade17d481164aa517d1d7148619c2cedbf/markdown_it_py-4.0.0-py3-none-any.whl", hash = "sha256:87327c59b172c5011896038353a81343b6754500a08cd7a4973bb48c6d578147", size = 87321, upload-time = "2025-08-11T12:57:51.923Z" }, +] + +[[package]] +name = "mcp" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "httpx" }, + { name = "httpx-sse" }, + { name = "jsonschema" }, + { name = "pydantic" }, + { name = "pydantic-settings" }, + { name = "python-multipart" }, + { name = "pywin32", marker = "sys_platform == 'win32'" }, + { name = "sse-starlette" }, + { name = "starlette" }, + { name = "uvicorn", marker = "sys_platform != 'emscripten'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5a/79/5724a540df19e192e8606c543cdcf162de8eb435077520cca150f7365ec0/mcp-1.17.0.tar.gz", hash = "sha256:1b57fabf3203240ccc48e39859faf3ae1ccb0b571ff798bbedae800c73c6df90", size = 477951, upload-time = "2025-10-10T12:16:44.519Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1c/72/3751feae343a5ad07959df713907b5c3fbaed269d697a14b0c449080cf2e/mcp-1.17.0-py3-none-any.whl", hash = "sha256:0660ef275cada7a545af154db3082f176cf1d2681d5e35ae63e014faf0a35d40", size = 167737, upload-time = "2025-10-10T12:16:42.863Z" }, +] + +[package.optional-dependencies] +cli = [ + { name = "python-dotenv" }, + { name = "typer" }, +] + +[[package]] +name = "mcp-server-foo" +version = "0.1.0" +source = { editable = "." } +dependencies = [ + { name = "anyio" }, + { name = "boto3" }, + { name = "click" }, + { name = "httpx" }, + { name = "mcp", extra = ["cli"] }, + { name = "requests" }, +] + +[package.dev-dependencies] +dev = [ + { name = "pyright" }, + { name = "pytest" }, + { name = "ruff" }, +] + +[package.metadata] +requires-dist = [ + { name = "anyio", specifier = ">=4.5" }, + { name = "boto3", specifier = ">=1.40.52" }, + { name = "click", specifier = ">=8.2.0" }, + { name = "httpx", specifier = ">=0.27" }, + { name = "mcp", extras = ["cli"], specifier = ">=1.17.0" }, + { name = "requests", specifier = ">=2.32.5" }, +] + +[package.metadata.requires-dev] +dev = [ + { name = "pyright", specifier = ">=1.1.378" }, + { name = "pytest", specifier = ">=8.3.3" }, + { name = "ruff", specifier = ">=0.6.9" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "nodeenv" +version = "1.9.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/16/fc88b08840de0e0a72a2f9d8c6bae36be573e475a6326ae854bcc549fc45/nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f", size = 47437, upload-time = "2024-06-04T18:44:11.171Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/1d/1b658dbd2b9fa9c4c9f32accbfc0205d532c8c6194dc0f2a4c0428e7128a/nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9", size = 22314, upload-time = "2024-06-04T18:44:08.352Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "pydantic" +version = "2.11.10" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "annotated-types" }, + { name = "pydantic-core" }, + { name = "typing-extensions" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ae/54/ecab642b3bed45f7d5f59b38443dcb36ef50f85af192e6ece103dbfe9587/pydantic-2.11.10.tar.gz", hash = "sha256:dc280f0982fbda6c38fada4e476dc0a4f3aeaf9c6ad4c28df68a666ec3c61423", size = 788494, upload-time = "2025-10-04T10:40:41.338Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/1f/73c53fcbfb0b5a78f91176df41945ca466e71e9d9d836e5c522abda39ee7/pydantic-2.11.10-py3-none-any.whl", hash = "sha256:802a655709d49bd004c31e865ef37da30b540786a46bfce02333e0e24b5fe29a", size = 444823, upload-time = "2025-10-04T10:40:39.055Z" }, +] + +[[package]] +name = "pydantic-core" +version = "2.33.2" +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" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e5/92/b31726561b5dae176c2d2c2dc43a9c5bfba5d32f96f8b4c0a600dd492447/pydantic_core-2.33.2-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:2b3d326aaef0c0399d9afffeb6367d5e26ddc24d351dbc9c636840ac355dc5d8", size = 2028817, upload-time = "2025-04-23T18:30:43.919Z" }, + { url = "https://files.pythonhosted.org/packages/a3/44/3f0b95fafdaca04a483c4e685fe437c6891001bf3ce8b2fded82b9ea3aa1/pydantic_core-2.33.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:0e5b2671f05ba48b94cb90ce55d8bdcaaedb8ba00cc5359f6810fc918713983d", size = 1861357, upload-time = "2025-04-23T18:30:46.372Z" }, + { url = "https://files.pythonhosted.org/packages/30/97/e8f13b55766234caae05372826e8e4b3b96e7b248be3157f53237682e43c/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0069c9acc3f3981b9ff4cdfaf088e98d83440a4c7ea1bc07460af3d4dc22e72d", size = 1898011, upload-time = "2025-04-23T18:30:47.591Z" }, + { url = "https://files.pythonhosted.org/packages/9b/a3/99c48cf7bafc991cc3ee66fd544c0aae8dc907b752f1dad2d79b1b5a471f/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d53b22f2032c42eaaf025f7c40c2e3b94568ae077a606f006d206a463bc69572", size = 1982730, upload-time = "2025-04-23T18:30:49.328Z" }, + { url = "https://files.pythonhosted.org/packages/de/8e/a5b882ec4307010a840fb8b58bd9bf65d1840c92eae7534c7441709bf54b/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0405262705a123b7ce9f0b92f123334d67b70fd1f20a9372b907ce1080c7ba02", size = 2136178, upload-time = "2025-04-23T18:30:50.907Z" }, + { url = "https://files.pythonhosted.org/packages/e4/bb/71e35fc3ed05af6834e890edb75968e2802fe98778971ab5cba20a162315/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4b25d91e288e2c4e0662b8038a28c6a07eaac3e196cfc4ff69de4ea3db992a1b", size = 2736462, upload-time = "2025-04-23T18:30:52.083Z" }, + { url = "https://files.pythonhosted.org/packages/31/0d/c8f7593e6bc7066289bbc366f2235701dcbebcd1ff0ef8e64f6f239fb47d/pydantic_core-2.33.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6bdfe4b3789761f3bcb4b1ddf33355a71079858958e3a552f16d5af19768fef2", size = 2005652, upload-time = "2025-04-23T18:30:53.389Z" }, + { url = "https://files.pythonhosted.org/packages/d2/7a/996d8bd75f3eda405e3dd219ff5ff0a283cd8e34add39d8ef9157e722867/pydantic_core-2.33.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:efec8db3266b76ef9607c2c4c419bdb06bf335ae433b80816089ea7585816f6a", size = 2113306, upload-time = "2025-04-23T18:30:54.661Z" }, + { url = "https://files.pythonhosted.org/packages/ff/84/daf2a6fb2db40ffda6578a7e8c5a6e9c8affb251a05c233ae37098118788/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:031c57d67ca86902726e0fae2214ce6770bbe2f710dc33063187a68744a5ecac", size = 2073720, upload-time = "2025-04-23T18:30:56.11Z" }, + { url = "https://files.pythonhosted.org/packages/77/fb/2258da019f4825128445ae79456a5499c032b55849dbd5bed78c95ccf163/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_armv7l.whl", hash = "sha256:f8de619080e944347f5f20de29a975c2d815d9ddd8be9b9b7268e2e3ef68605a", size = 2244915, upload-time = "2025-04-23T18:30:57.501Z" }, + { url = "https://files.pythonhosted.org/packages/d8/7a/925ff73756031289468326e355b6fa8316960d0d65f8b5d6b3a3e7866de7/pydantic_core-2.33.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:73662edf539e72a9440129f231ed3757faab89630d291b784ca99237fb94db2b", size = 2241884, upload-time = "2025-04-23T18:30:58.867Z" }, + { url = "https://files.pythonhosted.org/packages/0b/b0/249ee6d2646f1cdadcb813805fe76265745c4010cf20a8eba7b0e639d9b2/pydantic_core-2.33.2-cp310-cp310-win32.whl", hash = "sha256:0a39979dcbb70998b0e505fb1556a1d550a0781463ce84ebf915ba293ccb7e22", size = 1910496, upload-time = "2025-04-23T18:31:00.078Z" }, + { url = "https://files.pythonhosted.org/packages/66/ff/172ba8f12a42d4b552917aa65d1f2328990d3ccfc01d5b7c943ec084299f/pydantic_core-2.33.2-cp310-cp310-win_amd64.whl", hash = "sha256:b0379a2b24882fef529ec3b4987cb5d003b9cda32256024e6fe1586ac45fc640", size = 1955019, upload-time = "2025-04-23T18:31:01.335Z" }, + { url = "https://files.pythonhosted.org/packages/3f/8d/71db63483d518cbbf290261a1fc2839d17ff89fce7089e08cad07ccfce67/pydantic_core-2.33.2-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:4c5b0a576fb381edd6d27f0a85915c6daf2f8138dc5c267a57c08a62900758c7", size = 2028584, upload-time = "2025-04-23T18:31:03.106Z" }, + { url = "https://files.pythonhosted.org/packages/24/2f/3cfa7244ae292dd850989f328722d2aef313f74ffc471184dc509e1e4e5a/pydantic_core-2.33.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:e799c050df38a639db758c617ec771fd8fb7a5f8eaaa4b27b101f266b216a246", size = 1855071, upload-time = "2025-04-23T18:31:04.621Z" }, + { url = "https://files.pythonhosted.org/packages/b3/d3/4ae42d33f5e3f50dd467761304be2fa0a9417fbf09735bc2cce003480f2a/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dc46a01bf8d62f227d5ecee74178ffc448ff4e5197c756331f71efcc66dc980f", size = 1897823, upload-time = "2025-04-23T18:31:06.377Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f3/aa5976e8352b7695ff808599794b1fba2a9ae2ee954a3426855935799488/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:a144d4f717285c6d9234a66778059f33a89096dfb9b39117663fd8413d582dcc", size = 1983792, upload-time = "2025-04-23T18:31:07.93Z" }, + { url = "https://files.pythonhosted.org/packages/d5/7a/cda9b5a23c552037717f2b2a5257e9b2bfe45e687386df9591eff7b46d28/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:73cf6373c21bc80b2e0dc88444f41ae60b2f070ed02095754eb5a01df12256de", size = 2136338, upload-time = "2025-04-23T18:31:09.283Z" }, + { url = "https://files.pythonhosted.org/packages/2b/9f/b8f9ec8dd1417eb9da784e91e1667d58a2a4a7b7b34cf4af765ef663a7e5/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dc625f4aa79713512d1976fe9f0bc99f706a9dee21dfd1810b4bbbf228d0e8a", size = 2730998, upload-time = "2025-04-23T18:31:11.7Z" }, + { url = "https://files.pythonhosted.org/packages/47/bc/cd720e078576bdb8255d5032c5d63ee5c0bf4b7173dd955185a1d658c456/pydantic_core-2.33.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:881b21b5549499972441da4758d662aeea93f1923f953e9cbaff14b8b9565aef", size = 2003200, upload-time = "2025-04-23T18:31:13.536Z" }, + { url = "https://files.pythonhosted.org/packages/ca/22/3602b895ee2cd29d11a2b349372446ae9727c32e78a94b3d588a40fdf187/pydantic_core-2.33.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:bdc25f3681f7b78572699569514036afe3c243bc3059d3942624e936ec93450e", size = 2113890, upload-time = "2025-04-23T18:31:15.011Z" }, + { url = "https://files.pythonhosted.org/packages/ff/e6/e3c5908c03cf00d629eb38393a98fccc38ee0ce8ecce32f69fc7d7b558a7/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:fe5b32187cbc0c862ee201ad66c30cf218e5ed468ec8dc1cf49dec66e160cc4d", size = 2073359, upload-time = "2025-04-23T18:31:16.393Z" }, + { url = "https://files.pythonhosted.org/packages/12/e7/6a36a07c59ebefc8777d1ffdaf5ae71b06b21952582e4b07eba88a421c79/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_armv7l.whl", hash = "sha256:bc7aee6f634a6f4a95676fcb5d6559a2c2a390330098dba5e5a5f28a2e4ada30", size = 2245883, upload-time = "2025-04-23T18:31:17.892Z" }, + { url = "https://files.pythonhosted.org/packages/16/3f/59b3187aaa6cc0c1e6616e8045b284de2b6a87b027cce2ffcea073adf1d2/pydantic_core-2.33.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:235f45e5dbcccf6bd99f9f472858849f73d11120d76ea8707115415f8e5ebebf", size = 2241074, upload-time = "2025-04-23T18:31:19.205Z" }, + { url = "https://files.pythonhosted.org/packages/e0/ed/55532bb88f674d5d8f67ab121a2a13c385df382de2a1677f30ad385f7438/pydantic_core-2.33.2-cp311-cp311-win32.whl", hash = "sha256:6368900c2d3ef09b69cb0b913f9f8263b03786e5b2a387706c5afb66800efd51", size = 1910538, upload-time = "2025-04-23T18:31:20.541Z" }, + { url = "https://files.pythonhosted.org/packages/fe/1b/25b7cccd4519c0b23c2dd636ad39d381abf113085ce4f7bec2b0dc755eb1/pydantic_core-2.33.2-cp311-cp311-win_amd64.whl", hash = "sha256:1e063337ef9e9820c77acc768546325ebe04ee38b08703244c1309cccc4f1bab", size = 1952909, upload-time = "2025-04-23T18:31:22.371Z" }, + { url = "https://files.pythonhosted.org/packages/49/a9/d809358e49126438055884c4366a1f6227f0f84f635a9014e2deb9b9de54/pydantic_core-2.33.2-cp311-cp311-win_arm64.whl", hash = "sha256:6b99022f1d19bc32a4c2a0d544fc9a76e3be90f0b3f4af413f87d38749300e65", size = 1897786, upload-time = "2025-04-23T18:31:24.161Z" }, + { 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/46/8c/99040727b41f56616573a28771b1bfa08a3d3fe74d3d513f01251f79f172/pydantic_core-2.33.2-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:1082dd3e2d7109ad8b7da48e1d4710c8d06c253cbc4a27c1cff4fbcaa97a9e3f", size = 2015688, upload-time = "2025-04-23T18:31:53.175Z" }, + { url = "https://files.pythonhosted.org/packages/3a/cc/5999d1eb705a6cefc31f0b4a90e9f7fc400539b1a1030529700cc1b51838/pydantic_core-2.33.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f517ca031dfc037a9c07e748cefd8d96235088b83b4f4ba8939105d20fa1dcd6", size = 1844808, upload-time = "2025-04-23T18:31:54.79Z" }, + { url = "https://files.pythonhosted.org/packages/6f/5e/a0a7b8885c98889a18b6e376f344da1ef323d270b44edf8174d6bce4d622/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0a9f2c9dd19656823cb8250b0724ee9c60a82f3cdf68a080979d13092a3b0fef", size = 1885580, upload-time = "2025-04-23T18:31:57.393Z" }, + { url = "https://files.pythonhosted.org/packages/3b/2a/953581f343c7d11a304581156618c3f592435523dd9d79865903272c256a/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2b0a451c263b01acebe51895bfb0e1cc842a5c666efe06cdf13846c7418caa9a", size = 1973859, upload-time = "2025-04-23T18:31:59.065Z" }, + { url = "https://files.pythonhosted.org/packages/e6/55/f1a813904771c03a3f97f676c62cca0c0a4138654107c1b61f19c644868b/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ea40a64d23faa25e62a70ad163571c0b342b8bf66d5fa612ac0dec4f069d916", size = 2120810, upload-time = "2025-04-23T18:32:00.78Z" }, + { url = "https://files.pythonhosted.org/packages/aa/c3/053389835a996e18853ba107a63caae0b9deb4a276c6b472931ea9ae6e48/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0fb2d542b4d66f9470e8065c5469ec676978d625a8b7a363f07d9a501a9cb36a", size = 2676498, upload-time = "2025-04-23T18:32:02.418Z" }, + { url = "https://files.pythonhosted.org/packages/eb/3c/f4abd740877a35abade05e437245b192f9d0ffb48bbbbd708df33d3cda37/pydantic_core-2.33.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9fdac5d6ffa1b5a83bca06ffe7583f5576555e6c8b3a91fbd25ea7780f825f7d", size = 2000611, upload-time = "2025-04-23T18:32:04.152Z" }, + { url = "https://files.pythonhosted.org/packages/59/a7/63ef2fed1837d1121a894d0ce88439fe3e3b3e48c7543b2a4479eb99c2bd/pydantic_core-2.33.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:04a1a413977ab517154eebb2d326da71638271477d6ad87a769102f7c2488c56", size = 2107924, upload-time = "2025-04-23T18:32:06.129Z" }, + { url = "https://files.pythonhosted.org/packages/04/8f/2551964ef045669801675f1cfc3b0d74147f4901c3ffa42be2ddb1f0efc4/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:c8e7af2f4e0194c22b5b37205bfb293d166a7344a5b0d0eaccebc376546d77d5", size = 2063196, upload-time = "2025-04-23T18:32:08.178Z" }, + { url = "https://files.pythonhosted.org/packages/26/bd/d9602777e77fc6dbb0c7db9ad356e9a985825547dce5ad1d30ee04903918/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_armv7l.whl", hash = "sha256:5c92edd15cd58b3c2d34873597a1e20f13094f59cf88068adb18947df5455b4e", size = 2236389, upload-time = "2025-04-23T18:32:10.242Z" }, + { url = "https://files.pythonhosted.org/packages/42/db/0e950daa7e2230423ab342ae918a794964b053bec24ba8af013fc7c94846/pydantic_core-2.33.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:65132b7b4a1c0beded5e057324b7e16e10910c106d43675d9bd87d4f38dde162", size = 2239223, upload-time = "2025-04-23T18:32:12.382Z" }, + { url = "https://files.pythonhosted.org/packages/58/4d/4f937099c545a8a17eb52cb67fe0447fd9a373b348ccfa9a87f141eeb00f/pydantic_core-2.33.2-cp313-cp313-win32.whl", hash = "sha256:52fb90784e0a242bb96ec53f42196a17278855b0f31ac7c3cc6f5c1ec4811849", size = 1900473, upload-time = "2025-04-23T18:32:14.034Z" }, + { url = "https://files.pythonhosted.org/packages/a0/75/4a0a9bac998d78d889def5e4ef2b065acba8cae8c93696906c3a91f310ca/pydantic_core-2.33.2-cp313-cp313-win_amd64.whl", hash = "sha256:c083a3bdd5a93dfe480f1125926afcdbf2917ae714bdb80b36d34318b2bec5d9", size = 1955269, upload-time = "2025-04-23T18:32:15.783Z" }, + { url = "https://files.pythonhosted.org/packages/f9/86/1beda0576969592f1497b4ce8e7bc8cbdf614c352426271b1b10d5f0aa64/pydantic_core-2.33.2-cp313-cp313-win_arm64.whl", hash = "sha256:e80b087132752f6b3d714f041ccf74403799d3b23a72722ea2e6ba2e892555b9", size = 1893921, upload-time = "2025-04-23T18:32:18.473Z" }, + { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162, upload-time = "2025-04-23T18:32:20.188Z" }, + { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560, upload-time = "2025-04-23T18:32:22.354Z" }, + { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777, upload-time = "2025-04-23T18:32:25.088Z" }, + { url = "https://files.pythonhosted.org/packages/30/68/373d55e58b7e83ce371691f6eaa7175e3a24b956c44628eb25d7da007917/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c4aa4e82353f65e548c476b37e64189783aa5384903bfea4f41580f255fddfa", size = 2023982, upload-time = "2025-04-23T18:32:53.14Z" }, + { url = "https://files.pythonhosted.org/packages/a4/16/145f54ac08c96a63d8ed6442f9dec17b2773d19920b627b18d4f10a061ea/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d946c8bf0d5c24bf4fe333af284c59a19358aa3ec18cb3dc4370080da1e8ad29", size = 1858412, upload-time = "2025-04-23T18:32:55.52Z" }, + { url = "https://files.pythonhosted.org/packages/41/b1/c6dc6c3e2de4516c0bb2c46f6a373b91b5660312342a0cf5826e38ad82fa/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87b31b6846e361ef83fedb187bb5b4372d0da3f7e28d85415efa92d6125d6e6d", size = 1892749, upload-time = "2025-04-23T18:32:57.546Z" }, + { url = "https://files.pythonhosted.org/packages/12/73/8cd57e20afba760b21b742106f9dbdfa6697f1570b189c7457a1af4cd8a0/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa9d91b338f2df0508606f7009fde642391425189bba6d8c653afd80fd6bb64e", size = 2067527, upload-time = "2025-04-23T18:32:59.771Z" }, + { url = "https://files.pythonhosted.org/packages/e3/d5/0bb5d988cc019b3cba4a78f2d4b3854427fc47ee8ec8e9eaabf787da239c/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2058a32994f1fde4ca0480ab9d1e75a0e8c87c22b53a3ae66554f9af78f2fe8c", size = 2108225, upload-time = "2025-04-23T18:33:04.51Z" }, + { url = "https://files.pythonhosted.org/packages/f1/c5/00c02d1571913d496aabf146106ad8239dc132485ee22efe08085084ff7c/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:0e03262ab796d986f978f79c943fc5f620381be7287148b8010b4097f79a39ec", size = 2069490, upload-time = "2025-04-23T18:33:06.391Z" }, + { url = "https://files.pythonhosted.org/packages/22/a8/dccc38768274d3ed3a59b5d06f59ccb845778687652daa71df0cab4040d7/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:1a8695a8d00c73e50bff9dfda4d540b7dee29ff9b8053e38380426a85ef10052", size = 2237525, upload-time = "2025-04-23T18:33:08.44Z" }, + { url = "https://files.pythonhosted.org/packages/d4/e7/4f98c0b125dda7cf7ccd14ba936218397b44f50a56dd8c16a3091df116c3/pydantic_core-2.33.2-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:fa754d1850735a0b0e03bcffd9d4b4343eb417e47196e4485d9cca326073a42c", size = 2238446, upload-time = "2025-04-23T18:33:10.313Z" }, + { url = "https://files.pythonhosted.org/packages/ce/91/2ec36480fdb0b783cd9ef6795753c1dea13882f2e68e73bce76ae8c21e6a/pydantic_core-2.33.2-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:a11c8d26a50bfab49002947d3d237abe4d9e4b5bdc8846a63537b6488e197808", size = 2066678, upload-time = "2025-04-23T18:33:12.224Z" }, + { url = "https://files.pythonhosted.org/packages/7b/27/d4ae6487d73948d6f20dddcd94be4ea43e74349b56eba82e9bdee2d7494c/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:dd14041875d09cc0f9308e37a6f8b65f5585cf2598a53aa0123df8b129d481f8", size = 2025200, upload-time = "2025-04-23T18:33:14.199Z" }, + { url = "https://files.pythonhosted.org/packages/f1/b8/b3cb95375f05d33801024079b9392a5ab45267a63400bf1866e7ce0f0de4/pydantic_core-2.33.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:d87c561733f66531dced0da6e864f44ebf89a8fba55f31407b00c2f7f9449593", size = 1859123, upload-time = "2025-04-23T18:33:16.555Z" }, + { url = "https://files.pythonhosted.org/packages/05/bc/0d0b5adeda59a261cd30a1235a445bf55c7e46ae44aea28f7bd6ed46e091/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f82865531efd18d6e07a04a17331af02cb7a651583c418df8266f17a63c6612", size = 1892852, upload-time = "2025-04-23T18:33:18.513Z" }, + { url = "https://files.pythonhosted.org/packages/3e/11/d37bdebbda2e449cb3f519f6ce950927b56d62f0b84fd9cb9e372a26a3d5/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2bfb5112df54209d820d7bf9317c7a6c9025ea52e49f46b6a2060104bba37de7", size = 2067484, upload-time = "2025-04-23T18:33:20.475Z" }, + { url = "https://files.pythonhosted.org/packages/8c/55/1f95f0a05ce72ecb02a8a8a1c3be0579bbc29b1d5ab68f1378b7bebc5057/pydantic_core-2.33.2-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:64632ff9d614e5eecfb495796ad51b0ed98c453e447a76bcbeeb69615079fc7e", size = 2108896, upload-time = "2025-04-23T18:33:22.501Z" }, + { url = "https://files.pythonhosted.org/packages/53/89/2b2de6c81fa131f423246a9109d7b2a375e83968ad0800d6e57d0574629b/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:f889f7a40498cc077332c7ab6b4608d296d852182211787d4f3ee377aaae66e8", size = 2069475, upload-time = "2025-04-23T18:33:24.528Z" }, + { url = "https://files.pythonhosted.org/packages/b8/e9/1f7efbe20d0b2b10f6718944b5d8ece9152390904f29a78e68d4e7961159/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf", size = 2239013, upload-time = "2025-04-23T18:33:26.621Z" }, + { url = "https://files.pythonhosted.org/packages/3c/b2/5309c905a93811524a49b4e031e9851a6b00ff0fb668794472ea7746b448/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb", size = 2238715, upload-time = "2025-04-23T18:33:28.656Z" }, + { url = "https://files.pythonhosted.org/packages/32/56/8a7ca5d2cd2cda1d245d34b1c9a942920a718082ae8e54e5f3e5a58b7add/pydantic_core-2.33.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1", size = 2066757, upload-time = "2025-04-23T18:33:30.645Z" }, +] + +[[package]] +name = "pydantic-settings" +version = "2.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pydantic" }, + { name = "python-dotenv" }, + { name = "typing-inspection" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/20/c5/dbbc27b814c71676593d1c3f718e6cd7d4f00652cefa24b75f7aa3efb25e/pydantic_settings-2.11.0.tar.gz", hash = "sha256:d0e87a1c7d33593beb7194adb8470fc426e95ba02af83a0f23474a04c9a08180", size = 188394, upload-time = "2025-09-24T14:19:11.764Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/83/d6/887a1ff844e64aa823fb4905978d882a633cfe295c32eacad582b78a7d8b/pydantic_settings-2.11.0-py3-none-any.whl", hash = "sha256:fe2cea3413b9530d10f3a5875adffb17ada5c1e1bab0b2885546d7310415207c", size = 48608, upload-time = "2025-09-24T14:19:10.015Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, +] + +[[package]] +name = "pyright" +version = "1.1.406" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "nodeenv" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/f7/16/6b4fbdd1fef59a0292cbb99f790b44983e390321eccbc5921b4d161da5d1/pyright-1.1.406.tar.gz", hash = "sha256:c4872bc58c9643dac09e8a2e74d472c62036910b3bd37a32813989ef7576ea2c", size = 4113151, upload-time = "2025-10-02T01:04:45.488Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/a2/e309afbb459f50507103793aaef85ca4348b66814c86bc73908bdeb66d12/pyright-1.1.406-py3-none-any.whl", hash = "sha256:1d81fb43c2407bf566e97e57abb01c811973fdb21b2df8df59f870f688bdca71", size = 5980982, upload-time = "2025-10-02T01:04:43.137Z" }, +] + +[[package]] +name = "pytest" +version = "8.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "exceptiongroup", marker = "python_full_version < '3.11'" }, + { name = "iniconfig" }, + { name = "packaging" }, + { name = "pluggy" }, + { name = "pygments" }, + { name = "tomli", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/5c/00a0e072241553e1a7496d638deababa67c5058571567b92a7eaa258397c/pytest-8.4.2.tar.gz", hash = "sha256:86c0d0b93306b961d58d62a4db4879f27fe25513d4b969df351abdddb3c30e01", size = 1519618, upload-time = "2025-09-04T14:34:22.711Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a8/a4/20da314d277121d6534b3a980b29035dcd51e6744bd79075a6ce8fa4eb8d/pytest-8.4.2-py3-none-any.whl", hash = "sha256:872f880de3fc3a5bdc88a11b39c9710c3497a547cfa9320bc3c5e62fbf272e79", size = 365750, upload-time = "2025-09-04T14:34:20.226Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +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" } +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" }, +] + +[[package]] +name = "python-dotenv" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f6/b0/4bc07ccd3572a2f9df7e6782f52b0c6c90dcbb803ac4a167702d7d0dfe1e/python_dotenv-1.1.1.tar.gz", hash = "sha256:a8a6399716257f45be6a007360200409fce5cda2661e3dec71d23dc15f6189ab", size = 41978, upload-time = "2025-06-24T04:21:07.341Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5f/ed/539768cf28c661b5b068d66d96a2f155c4971a5d55684a514c1a0e0dec2f/python_dotenv-1.1.1-py3-none-any.whl", hash = "sha256:31f23644fe2602f88ff55e1f5c79ba497e01224ee7737937930c448e4d0e24dc", size = 20556, upload-time = "2025-06-24T04:21:06.073Z" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "pywin32" +version = "311" +source = { registry = "https://pypi.org/simple" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/40/44efbb0dfbd33aca6a6483191dae0716070ed99e2ecb0c53683f400a0b4f/pywin32-311-cp310-cp310-win32.whl", hash = "sha256:d03ff496d2a0cd4a5893504789d4a15399133fe82517455e78bad62efbb7f0a3", size = 8760432, upload-time = "2025-07-14T20:13:05.9Z" }, + { url = "https://files.pythonhosted.org/packages/5e/bf/360243b1e953bd254a82f12653974be395ba880e7ec23e3731d9f73921cc/pywin32-311-cp310-cp310-win_amd64.whl", hash = "sha256:797c2772017851984b97180b0bebe4b620bb86328e8a884bb626156295a63b3b", size = 9590103, upload-time = "2025-07-14T20:13:07.698Z" }, + { url = "https://files.pythonhosted.org/packages/57/38/d290720e6f138086fb3d5ffe0b6caa019a791dd57866940c82e4eeaf2012/pywin32-311-cp310-cp310-win_arm64.whl", hash = "sha256:0502d1facf1fed4839a9a51ccbcc63d952cf318f78ffc00a7e78528ac27d7a2b", size = 8778557, upload-time = "2025-07-14T20:13:11.11Z" }, + { url = "https://files.pythonhosted.org/packages/7c/af/449a6a91e5d6db51420875c54f6aff7c97a86a3b13a0b4f1a5c13b988de3/pywin32-311-cp311-cp311-win32.whl", hash = "sha256:184eb5e436dea364dcd3d2316d577d625c0351bf237c4e9a5fabbcfa5a58b151", size = 8697031, upload-time = "2025-07-14T20:13:13.266Z" }, + { url = "https://files.pythonhosted.org/packages/51/8f/9bb81dd5bb77d22243d33c8397f09377056d5c687aa6d4042bea7fbf8364/pywin32-311-cp311-cp311-win_amd64.whl", hash = "sha256:3ce80b34b22b17ccbd937a6e78e7225d80c52f5ab9940fe0506a1a16f3dab503", size = 9508308, upload-time = "2025-07-14T20:13:15.147Z" }, + { url = "https://files.pythonhosted.org/packages/44/7b/9c2ab54f74a138c491aba1b1cd0795ba61f144c711daea84a88b63dc0f6c/pywin32-311-cp311-cp311-win_arm64.whl", hash = "sha256:a733f1388e1a842abb67ffa8e7aad0e70ac519e09b0f6a784e65a136ec7cefd2", size = 8703930, upload-time = "2025-07-14T20:13:16.945Z" }, + { url = "https://files.pythonhosted.org/packages/e7/ab/01ea1943d4eba0f850c3c61e78e8dd59757ff815ff3ccd0a84de5f541f42/pywin32-311-cp312-cp312-win32.whl", hash = "sha256:750ec6e621af2b948540032557b10a2d43b0cee2ae9758c54154d711cc852d31", size = 8706543, upload-time = "2025-07-14T20:13:20.765Z" }, + { url = "https://files.pythonhosted.org/packages/d1/a8/a0e8d07d4d051ec7502cd58b291ec98dcc0c3fff027caad0470b72cfcc2f/pywin32-311-cp312-cp312-win_amd64.whl", hash = "sha256:b8c095edad5c211ff31c05223658e71bf7116daa0ecf3ad85f3201ea3190d067", size = 9495040, upload-time = "2025-07-14T20:13:22.543Z" }, + { url = "https://files.pythonhosted.org/packages/ba/3a/2ae996277b4b50f17d61f0603efd8253cb2d79cc7ae159468007b586396d/pywin32-311-cp312-cp312-win_arm64.whl", hash = "sha256:e286f46a9a39c4a18b319c28f59b61de793654af2f395c102b4f819e584b5852", size = 8710102, upload-time = "2025-07-14T20:13:24.682Z" }, + { url = "https://files.pythonhosted.org/packages/a5/be/3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3/pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d", size = 8705700, upload-time = "2025-07-14T20:13:26.471Z" }, + { url = "https://files.pythonhosted.org/packages/e3/28/e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c/pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d", size = 9494700, upload-time = "2025-07-14T20:13:28.243Z" }, + { url = "https://files.pythonhosted.org/packages/04/bf/90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a/pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a", size = 8709318, upload-time = "2025-07-14T20:13:30.348Z" }, + { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714, upload-time = "2025-07-14T20:13:32.449Z" }, + { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800, upload-time = "2025-07-14T20:13:34.312Z" }, + { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540, upload-time = "2025-07-14T20:13:36.379Z" }, +] + +[[package]] +name = "referencing" +version = "0.36.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +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" }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, +] + +[[package]] +name = "rich" +version = "14.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markdown-it-py" }, + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fe/75/af448d8e52bf1d8fa6a9d089ca6c07ff4453d86c65c145d0a300bb073b9b/rich-14.1.0.tar.gz", hash = "sha256:e497a48b844b0320d45007cdebfeaeed8db2a4f4bcf49f15e455cfc4af11eaa8", size = 224441, upload-time = "2025-07-25T07:32:58.125Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e3/30/3c4d035596d3cf444529e0b2953ad0466f6049528a879d27534700580395/rich-14.1.0-py3-none-any.whl", hash = "sha256:536f5f1785986d6dbdea3c75205c473f970777b4a0d6c6dd1b696aa05a3fa04f", size = 243368, upload-time = "2025-07-25T07:32:56.73Z" }, +] + +[[package]] +name = "rpds-py" +version = "0.27.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz", hash = "sha256:26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8", size = 27479, upload-time = "2025-08-27T12:16:36.024Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a5/ed/3aef893e2dd30e77e35d20d4ddb45ca459db59cead748cad9796ad479411/rpds_py-0.27.1-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:68afeec26d42ab3b47e541b272166a0b4400313946871cba3ed3a4fc0cab1cef", size = 371606, upload-time = "2025-08-27T12:12:25.189Z" }, + { url = "https://files.pythonhosted.org/packages/6d/82/9818b443e5d3eb4c83c3994561387f116aae9833b35c484474769c4a8faf/rpds_py-0.27.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:74e5b2f7bb6fa38b1b10546d27acbacf2a022a8b5543efb06cfebc72a59c85be", size = 353452, upload-time = "2025-08-27T12:12:27.433Z" }, + { url = "https://files.pythonhosted.org/packages/99/c7/d2a110ffaaa397fc6793a83c7bd3545d9ab22658b7cdff05a24a4535cc45/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9024de74731df54546fab0bfbcdb49fae19159ecaecfc8f37c18d2c7e2c0bd61", size = 381519, upload-time = "2025-08-27T12:12:28.719Z" }, + { url = "https://files.pythonhosted.org/packages/5a/bc/e89581d1f9d1be7d0247eaef602566869fdc0d084008ba139e27e775366c/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:31d3ebadefcd73b73928ed0b2fd696f7fefda8629229f81929ac9c1854d0cffb", size = 394424, upload-time = "2025-08-27T12:12:30.207Z" }, + { url = "https://files.pythonhosted.org/packages/ac/2e/36a6861f797530e74bb6ed53495f8741f1ef95939eed01d761e73d559067/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b2e7f8f169d775dd9092a1743768d771f1d1300453ddfe6325ae3ab5332b4657", size = 523467, upload-time = "2025-08-27T12:12:31.808Z" }, + { url = "https://files.pythonhosted.org/packages/c4/59/c1bc2be32564fa499f988f0a5c6505c2f4746ef96e58e4d7de5cf923d77e/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d905d16f77eb6ab2e324e09bfa277b4c8e5e6b8a78a3e7ff8f3cdf773b4c013", size = 402660, upload-time = "2025-08-27T12:12:33.444Z" }, + { url = "https://files.pythonhosted.org/packages/0a/ec/ef8bf895f0628dd0a59e54d81caed6891663cb9c54a0f4bb7da918cb88cf/rpds_py-0.27.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:50c946f048209e6362e22576baea09193809f87687a95a8db24e5fbdb307b93a", size = 384062, upload-time = "2025-08-27T12:12:34.857Z" }, + { url = "https://files.pythonhosted.org/packages/69/f7/f47ff154be8d9a5e691c083a920bba89cef88d5247c241c10b9898f595a1/rpds_py-0.27.1-cp310-cp310-manylinux_2_31_riscv64.whl", hash = "sha256:3deab27804d65cd8289eb814c2c0e807c4b9d9916c9225e363cb0cf875eb67c1", size = 401289, upload-time = "2025-08-27T12:12:36.085Z" }, + { url = "https://files.pythonhosted.org/packages/3b/d9/ca410363efd0615814ae579f6829cafb39225cd63e5ea5ed1404cb345293/rpds_py-0.27.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8b61097f7488de4be8244c89915da8ed212832ccf1e7c7753a25a394bf9b1f10", size = 417718, upload-time = "2025-08-27T12:12:37.401Z" }, + { url = "https://files.pythonhosted.org/packages/e3/a0/8cb5c2ff38340f221cc067cc093d1270e10658ba4e8d263df923daa18e86/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:8a3f29aba6e2d7d90528d3c792555a93497fe6538aa65eb675b44505be747808", size = 558333, upload-time = "2025-08-27T12:12:38.672Z" }, + { url = "https://files.pythonhosted.org/packages/6f/8c/1b0de79177c5d5103843774ce12b84caa7164dfc6cd66378768d37db11bf/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:dd6cd0485b7d347304067153a6dc1d73f7d4fd995a396ef32a24d24b8ac63ac8", size = 589127, upload-time = "2025-08-27T12:12:41.48Z" }, + { url = "https://files.pythonhosted.org/packages/c8/5e/26abb098d5e01266b0f3a2488d299d19ccc26849735d9d2b95c39397e945/rpds_py-0.27.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:6f4461bf931108c9fa226ffb0e257c1b18dc2d44cd72b125bec50ee0ab1248a9", size = 554899, upload-time = "2025-08-27T12:12:42.925Z" }, + { url = "https://files.pythonhosted.org/packages/de/41/905cc90ced13550db017f8f20c6d8e8470066c5738ba480d7ba63e3d136b/rpds_py-0.27.1-cp310-cp310-win32.whl", hash = "sha256:ee5422d7fb21f6a00c1901bf6559c49fee13a5159d0288320737bbf6585bd3e4", size = 217450, upload-time = "2025-08-27T12:12:44.813Z" }, + { url = "https://files.pythonhosted.org/packages/75/3d/6bef47b0e253616ccdf67c283e25f2d16e18ccddd38f92af81d5a3420206/rpds_py-0.27.1-cp310-cp310-win_amd64.whl", hash = "sha256:3e039aabf6d5f83c745d5f9a0a381d031e9ed871967c0a5c38d201aca41f3ba1", size = 228447, upload-time = "2025-08-27T12:12:46.204Z" }, + { url = "https://files.pythonhosted.org/packages/b5/c1/7907329fbef97cbd49db6f7303893bd1dd5a4a3eae415839ffdfb0762cae/rpds_py-0.27.1-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:be898f271f851f68b318872ce6ebebbc62f303b654e43bf72683dbdc25b7c881", size = 371063, upload-time = "2025-08-27T12:12:47.856Z" }, + { url = "https://files.pythonhosted.org/packages/11/94/2aab4bc86228bcf7c48760990273653a4900de89c7537ffe1b0d6097ed39/rpds_py-0.27.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:62ac3d4e3e07b58ee0ddecd71d6ce3b1637de2d373501412df395a0ec5f9beb5", size = 353210, upload-time = "2025-08-27T12:12:49.187Z" }, + { url = "https://files.pythonhosted.org/packages/3a/57/f5eb3ecf434342f4f1a46009530e93fd201a0b5b83379034ebdb1d7c1a58/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4708c5c0ceb2d034f9991623631d3d23cb16e65c83736ea020cdbe28d57c0a0e", size = 381636, upload-time = "2025-08-27T12:12:50.492Z" }, + { url = "https://files.pythonhosted.org/packages/ae/f4/ef95c5945e2ceb5119571b184dd5a1cc4b8541bbdf67461998cfeac9cb1e/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:abfa1171a9952d2e0002aba2ad3780820b00cc3d9c98c6630f2e93271501f66c", size = 394341, upload-time = "2025-08-27T12:12:52.024Z" }, + { url = "https://files.pythonhosted.org/packages/5a/7e/4bd610754bf492d398b61725eb9598ddd5eb86b07d7d9483dbcd810e20bc/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4b507d19f817ebaca79574b16eb2ae412e5c0835542c93fe9983f1e432aca195", size = 523428, upload-time = "2025-08-27T12:12:53.779Z" }, + { url = "https://files.pythonhosted.org/packages/9f/e5/059b9f65a8c9149361a8b75094864ab83b94718344db511fd6117936ed2a/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:168b025f8fd8d8d10957405f3fdcef3dc20f5982d398f90851f4abc58c566c52", size = 402923, upload-time = "2025-08-27T12:12:55.15Z" }, + { url = "https://files.pythonhosted.org/packages/f5/48/64cabb7daced2968dd08e8a1b7988bf358d7bd5bcd5dc89a652f4668543c/rpds_py-0.27.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cb56c6210ef77caa58e16e8c17d35c63fe3f5b60fd9ba9d424470c3400bcf9ed", size = 384094, upload-time = "2025-08-27T12:12:57.194Z" }, + { url = "https://files.pythonhosted.org/packages/ae/e1/dc9094d6ff566bff87add8a510c89b9e158ad2ecd97ee26e677da29a9e1b/rpds_py-0.27.1-cp311-cp311-manylinux_2_31_riscv64.whl", hash = "sha256:d252f2d8ca0195faa707f8eb9368955760880b2b42a8ee16d382bf5dd807f89a", size = 401093, upload-time = "2025-08-27T12:12:58.985Z" }, + { url = "https://files.pythonhosted.org/packages/37/8e/ac8577e3ecdd5593e283d46907d7011618994e1d7ab992711ae0f78b9937/rpds_py-0.27.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6e5e54da1e74b91dbc7996b56640f79b195d5925c2b78efaa8c5d53e1d88edde", size = 417969, upload-time = "2025-08-27T12:13:00.367Z" }, + { url = "https://files.pythonhosted.org/packages/66/6d/87507430a8f74a93556fe55c6485ba9c259949a853ce407b1e23fea5ba31/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:ffce0481cc6e95e5b3f0a47ee17ffbd234399e6d532f394c8dce320c3b089c21", size = 558302, upload-time = "2025-08-27T12:13:01.737Z" }, + { url = "https://files.pythonhosted.org/packages/3a/bb/1db4781ce1dda3eecc735e3152659a27b90a02ca62bfeea17aee45cc0fbc/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:a205fdfe55c90c2cd8e540ca9ceba65cbe6629b443bc05db1f590a3db8189ff9", size = 589259, upload-time = "2025-08-27T12:13:03.127Z" }, + { url = "https://files.pythonhosted.org/packages/7b/0e/ae1c8943d11a814d01b482e1f8da903f88047a962dff9bbdadf3bd6e6fd1/rpds_py-0.27.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:689fb5200a749db0415b092972e8eba85847c23885c8543a8b0f5c009b1a5948", size = 554983, upload-time = "2025-08-27T12:13:04.516Z" }, + { url = "https://files.pythonhosted.org/packages/b2/d5/0b2a55415931db4f112bdab072443ff76131b5ac4f4dc98d10d2d357eb03/rpds_py-0.27.1-cp311-cp311-win32.whl", hash = "sha256:3182af66048c00a075010bc7f4860f33913528a4b6fc09094a6e7598e462fe39", size = 217154, upload-time = "2025-08-27T12:13:06.278Z" }, + { url = "https://files.pythonhosted.org/packages/24/75/3b7ffe0d50dc86a6a964af0d1cc3a4a2cdf437cb7b099a4747bbb96d1819/rpds_py-0.27.1-cp311-cp311-win_amd64.whl", hash = "sha256:b4938466c6b257b2f5c4ff98acd8128ec36b5059e5c8f8372d79316b1c36bb15", size = 228627, upload-time = "2025-08-27T12:13:07.625Z" }, + { url = "https://files.pythonhosted.org/packages/8d/3f/4fd04c32abc02c710f09a72a30c9a55ea3cc154ef8099078fd50a0596f8e/rpds_py-0.27.1-cp311-cp311-win_arm64.whl", hash = "sha256:2f57af9b4d0793e53266ee4325535a31ba48e2f875da81a9177c9926dfa60746", size = 220998, upload-time = "2025-08-27T12:13:08.972Z" }, + { url = "https://files.pythonhosted.org/packages/bd/fe/38de28dee5df58b8198c743fe2bea0c785c6d40941b9950bac4cdb71a014/rpds_py-0.27.1-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:ae2775c1973e3c30316892737b91f9283f9908e3cc7625b9331271eaaed7dc90", size = 361887, upload-time = "2025-08-27T12:13:10.233Z" }, + { url = "https://files.pythonhosted.org/packages/7c/9a/4b6c7eedc7dd90986bf0fab6ea2a091ec11c01b15f8ba0a14d3f80450468/rpds_py-0.27.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2643400120f55c8a96f7c9d858f7be0c88d383cd4653ae2cf0d0c88f668073e5", size = 345795, upload-time = "2025-08-27T12:13:11.65Z" }, + { url = "https://files.pythonhosted.org/packages/6f/0e/e650e1b81922847a09cca820237b0edee69416a01268b7754d506ade11ad/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:16323f674c089b0360674a4abd28d5042947d54ba620f72514d69be4ff64845e", size = 385121, upload-time = "2025-08-27T12:13:13.008Z" }, + { url = "https://files.pythonhosted.org/packages/1b/ea/b306067a712988e2bff00dcc7c8f31d26c29b6d5931b461aa4b60a013e33/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:9a1f4814b65eacac94a00fc9a526e3fdafd78e439469644032032d0d63de4881", size = 398976, upload-time = "2025-08-27T12:13:14.368Z" }, + { url = "https://files.pythonhosted.org/packages/2c/0a/26dc43c8840cb8fe239fe12dbc8d8de40f2365e838f3d395835dde72f0e5/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ba32c16b064267b22f1850a34051121d423b6f7338a12b9459550eb2096e7ec", size = 525953, upload-time = "2025-08-27T12:13:15.774Z" }, + { url = "https://files.pythonhosted.org/packages/22/14/c85e8127b573aaf3a0cbd7fbb8c9c99e735a4a02180c84da2a463b766e9e/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e5c20f33fd10485b80f65e800bbe5f6785af510b9f4056c5a3c612ebc83ba6cb", size = 407915, upload-time = "2025-08-27T12:13:17.379Z" }, + { url = "https://files.pythonhosted.org/packages/ed/7b/8f4fee9ba1fb5ec856eb22d725a4efa3deb47f769597c809e03578b0f9d9/rpds_py-0.27.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:466bfe65bd932da36ff279ddd92de56b042f2266d752719beb97b08526268ec5", size = 386883, upload-time = "2025-08-27T12:13:18.704Z" }, + { url = "https://files.pythonhosted.org/packages/86/47/28fa6d60f8b74fcdceba81b272f8d9836ac0340570f68f5df6b41838547b/rpds_py-0.27.1-cp312-cp312-manylinux_2_31_riscv64.whl", hash = "sha256:41e532bbdcb57c92ba3be62c42e9f096431b4cf478da9bc3bc6ce5c38ab7ba7a", size = 405699, upload-time = "2025-08-27T12:13:20.089Z" }, + { url = "https://files.pythonhosted.org/packages/d0/fd/c5987b5e054548df56953a21fe2ebed51fc1ec7c8f24fd41c067b68c4a0a/rpds_py-0.27.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f149826d742b406579466283769a8ea448eed82a789af0ed17b0cd5770433444", size = 423713, upload-time = "2025-08-27T12:13:21.436Z" }, + { url = "https://files.pythonhosted.org/packages/ac/ba/3c4978b54a73ed19a7d74531be37a8bcc542d917c770e14d372b8daea186/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80c60cfb5310677bd67cb1e85a1e8eb52e12529545441b43e6f14d90b878775a", size = 562324, upload-time = "2025-08-27T12:13:22.789Z" }, + { url = "https://files.pythonhosted.org/packages/b5/6c/6943a91768fec16db09a42b08644b960cff540c66aab89b74be6d4a144ba/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7ee6521b9baf06085f62ba9c7a3e5becffbc32480d2f1b351559c001c38ce4c1", size = 593646, upload-time = "2025-08-27T12:13:24.122Z" }, + { url = "https://files.pythonhosted.org/packages/11/73/9d7a8f4be5f4396f011a6bb7a19fe26303a0dac9064462f5651ced2f572f/rpds_py-0.27.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:a512c8263249a9d68cac08b05dd59d2b3f2061d99b322813cbcc14c3c7421998", size = 558137, upload-time = "2025-08-27T12:13:25.557Z" }, + { url = "https://files.pythonhosted.org/packages/6e/96/6772cbfa0e2485bcceef8071de7821f81aeac8bb45fbfd5542a3e8108165/rpds_py-0.27.1-cp312-cp312-win32.whl", hash = "sha256:819064fa048ba01b6dadc5116f3ac48610435ac9a0058bbde98e569f9e785c39", size = 221343, upload-time = "2025-08-27T12:13:26.967Z" }, + { url = "https://files.pythonhosted.org/packages/67/b6/c82f0faa9af1c6a64669f73a17ee0eeef25aff30bb9a1c318509efe45d84/rpds_py-0.27.1-cp312-cp312-win_amd64.whl", hash = "sha256:d9199717881f13c32c4046a15f024971a3b78ad4ea029e8da6b86e5aa9cf4594", size = 232497, upload-time = "2025-08-27T12:13:28.326Z" }, + { url = "https://files.pythonhosted.org/packages/e1/96/2817b44bd2ed11aebacc9251da03689d56109b9aba5e311297b6902136e2/rpds_py-0.27.1-cp312-cp312-win_arm64.whl", hash = "sha256:33aa65b97826a0e885ef6e278fbd934e98cdcfed80b63946025f01e2f5b29502", size = 222790, upload-time = "2025-08-27T12:13:29.71Z" }, + { url = "https://files.pythonhosted.org/packages/cc/77/610aeee8d41e39080c7e14afa5387138e3c9fa9756ab893d09d99e7d8e98/rpds_py-0.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e4b9fcfbc021633863a37e92571d6f91851fa656f0180246e84cbd8b3f6b329b", size = 361741, upload-time = "2025-08-27T12:13:31.039Z" }, + { url = "https://files.pythonhosted.org/packages/3a/fc/c43765f201c6a1c60be2043cbdb664013def52460a4c7adace89d6682bf4/rpds_py-0.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1441811a96eadca93c517d08df75de45e5ffe68aa3089924f963c782c4b898cf", size = 345574, upload-time = "2025-08-27T12:13:32.902Z" }, + { url = "https://files.pythonhosted.org/packages/20/42/ee2b2ca114294cd9847d0ef9c26d2b0851b2e7e00bf14cc4c0b581df0fc3/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55266dafa22e672f5a4f65019015f90336ed31c6383bd53f5e7826d21a0e0b83", size = 385051, upload-time = "2025-08-27T12:13:34.228Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e8/1e430fe311e4799e02e2d1af7c765f024e95e17d651612425b226705f910/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78827d7ac08627ea2c8e02c9e5b41180ea5ea1f747e9db0915e3adf36b62dcf", size = 398395, upload-time = "2025-08-27T12:13:36.132Z" }, + { url = "https://files.pythonhosted.org/packages/82/95/9dc227d441ff2670651c27a739acb2535ccaf8b351a88d78c088965e5996/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae92443798a40a92dc5f0b01d8a7c93adde0c4dc965310a29ae7c64d72b9fad2", size = 524334, upload-time = "2025-08-27T12:13:37.562Z" }, + { url = "https://files.pythonhosted.org/packages/87/01/a670c232f401d9ad461d9a332aa4080cd3cb1d1df18213dbd0d2a6a7ab51/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c46c9dd2403b66a2a3b9720ec4b74d4ab49d4fabf9f03dfdce2d42af913fe8d0", size = 407691, upload-time = "2025-08-27T12:13:38.94Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/0a14aebbaa26fe7fab4780c76f2239e76cc95a0090bdb25e31d95c492fcd/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2efe4eb1d01b7f5f1939f4ef30ecea6c6b3521eec451fb93191bf84b2a522418", size = 386868, upload-time = "2025-08-27T12:13:40.192Z" }, + { url = "https://files.pythonhosted.org/packages/3b/03/8c897fb8b5347ff6c1cc31239b9611c5bf79d78c984430887a353e1409a1/rpds_py-0.27.1-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:15d3b4d83582d10c601f481eca29c3f138d44c92187d197aff663a269197c02d", size = 405469, upload-time = "2025-08-27T12:13:41.496Z" }, + { url = "https://files.pythonhosted.org/packages/da/07/88c60edc2df74850d496d78a1fdcdc7b54360a7f610a4d50008309d41b94/rpds_py-0.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4ed2e16abbc982a169d30d1a420274a709949e2cbdef119fe2ec9d870b42f274", size = 422125, upload-time = "2025-08-27T12:13:42.802Z" }, + { url = "https://files.pythonhosted.org/packages/6b/86/5f4c707603e41b05f191a749984f390dabcbc467cf833769b47bf14ba04f/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a75f305c9b013289121ec0f1181931975df78738cdf650093e6b86d74aa7d8dd", size = 562341, upload-time = "2025-08-27T12:13:44.472Z" }, + { url = "https://files.pythonhosted.org/packages/b2/92/3c0cb2492094e3cd9baf9e49bbb7befeceb584ea0c1a8b5939dca4da12e5/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:67ce7620704745881a3d4b0ada80ab4d99df390838839921f99e63c474f82cf2", size = 592511, upload-time = "2025-08-27T12:13:45.898Z" }, + { url = "https://files.pythonhosted.org/packages/10/bb/82e64fbb0047c46a168faa28d0d45a7851cd0582f850b966811d30f67ad8/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d992ac10eb86d9b6f369647b6a3f412fc0075cfd5d799530e84d335e440a002", size = 557736, upload-time = "2025-08-27T12:13:47.408Z" }, + { url = "https://files.pythonhosted.org/packages/00/95/3c863973d409210da7fb41958172c6b7dbe7fc34e04d3cc1f10bb85e979f/rpds_py-0.27.1-cp313-cp313-win32.whl", hash = "sha256:4f75e4bd8ab8db624e02c8e2fc4063021b58becdbe6df793a8111d9343aec1e3", size = 221462, upload-time = "2025-08-27T12:13:48.742Z" }, + { url = "https://files.pythonhosted.org/packages/ce/2c/5867b14a81dc217b56d95a9f2a40fdbc56a1ab0181b80132beeecbd4b2d6/rpds_py-0.27.1-cp313-cp313-win_amd64.whl", hash = "sha256:f9025faafc62ed0b75a53e541895ca272815bec18abe2249ff6501c8f2e12b83", size = 232034, upload-time = "2025-08-27T12:13:50.11Z" }, + { url = "https://files.pythonhosted.org/packages/c7/78/3958f3f018c01923823f1e47f1cc338e398814b92d83cd278364446fac66/rpds_py-0.27.1-cp313-cp313-win_arm64.whl", hash = "sha256:ed10dc32829e7d222b7d3b93136d25a406ba9788f6a7ebf6809092da1f4d279d", size = 222392, upload-time = "2025-08-27T12:13:52.587Z" }, + { url = "https://files.pythonhosted.org/packages/01/76/1cdf1f91aed5c3a7bf2eba1f1c4e4d6f57832d73003919a20118870ea659/rpds_py-0.27.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:92022bbbad0d4426e616815b16bc4127f83c9a74940e1ccf3cfe0b387aba0228", size = 358355, upload-time = "2025-08-27T12:13:54.012Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6f/bf142541229374287604caf3bb2a4ae17f0a580798fd72d3b009b532db4e/rpds_py-0.27.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:47162fdab9407ec3f160805ac3e154df042e577dd53341745fc7fb3f625e6d92", size = 342138, upload-time = "2025-08-27T12:13:55.791Z" }, + { url = "https://files.pythonhosted.org/packages/1a/77/355b1c041d6be40886c44ff5e798b4e2769e497b790f0f7fd1e78d17e9a8/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb89bec23fddc489e5d78b550a7b773557c9ab58b7946154a10a6f7a214a48b2", size = 380247, upload-time = "2025-08-27T12:13:57.683Z" }, + { url = "https://files.pythonhosted.org/packages/d6/a4/d9cef5c3946ea271ce2243c51481971cd6e34f21925af2783dd17b26e815/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e48af21883ded2b3e9eb48cb7880ad8598b31ab752ff3be6457001d78f416723", size = 390699, upload-time = "2025-08-27T12:13:59.137Z" }, + { url = "https://files.pythonhosted.org/packages/3a/06/005106a7b8c6c1a7e91b73169e49870f4af5256119d34a361ae5240a0c1d/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f5b7bd8e219ed50299e58551a410b64daafb5017d54bbe822e003856f06a802", size = 521852, upload-time = "2025-08-27T12:14:00.583Z" }, + { url = "https://files.pythonhosted.org/packages/e5/3e/50fb1dac0948e17a02eb05c24510a8fe12d5ce8561c6b7b7d1339ab7ab9c/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08f1e20bccf73b08d12d804d6e1c22ca5530e71659e6673bce31a6bb71c1e73f", size = 402582, upload-time = "2025-08-27T12:14:02.034Z" }, + { url = "https://files.pythonhosted.org/packages/cb/b0/f4e224090dc5b0ec15f31a02d746ab24101dd430847c4d99123798661bfc/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dc5dceeaefcc96dc192e3a80bbe1d6c410c469e97bdd47494a7d930987f18b2", size = 384126, upload-time = "2025-08-27T12:14:03.437Z" }, + { url = "https://files.pythonhosted.org/packages/54/77/ac339d5f82b6afff1df8f0fe0d2145cc827992cb5f8eeb90fc9f31ef7a63/rpds_py-0.27.1-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:d76f9cc8665acdc0c9177043746775aa7babbf479b5520b78ae4002d889f5c21", size = 399486, upload-time = "2025-08-27T12:14:05.443Z" }, + { url = "https://files.pythonhosted.org/packages/d6/29/3e1c255eee6ac358c056a57d6d6869baa00a62fa32eea5ee0632039c50a3/rpds_py-0.27.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:134fae0e36022edad8290a6661edf40c023562964efea0cc0ec7f5d392d2aaef", size = 414832, upload-time = "2025-08-27T12:14:06.902Z" }, + { url = "https://files.pythonhosted.org/packages/3f/db/6d498b844342deb3fa1d030598db93937a9964fcf5cb4da4feb5f17be34b/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb11a4f1b2b63337cfd3b4d110af778a59aae51c81d195768e353d8b52f88081", size = 557249, upload-time = "2025-08-27T12:14:08.37Z" }, + { url = "https://files.pythonhosted.org/packages/60/f3/690dd38e2310b6f68858a331399b4d6dbb9132c3e8ef8b4333b96caf403d/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:13e608ac9f50a0ed4faec0e90ece76ae33b34c0e8656e3dceb9a7db994c692cd", size = 587356, upload-time = "2025-08-27T12:14:10.034Z" }, + { url = "https://files.pythonhosted.org/packages/86/e3/84507781cccd0145f35b1dc32c72675200c5ce8d5b30f813e49424ef68fc/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dd2135527aa40f061350c3f8f89da2644de26cd73e4de458e79606384f4f68e7", size = 555300, upload-time = "2025-08-27T12:14:11.783Z" }, + { url = "https://files.pythonhosted.org/packages/e5/ee/375469849e6b429b3516206b4580a79e9ef3eb12920ddbd4492b56eaacbe/rpds_py-0.27.1-cp313-cp313t-win32.whl", hash = "sha256:3020724ade63fe320a972e2ffd93b5623227e684315adce194941167fee02688", size = 216714, upload-time = "2025-08-27T12:14:13.629Z" }, + { url = "https://files.pythonhosted.org/packages/21/87/3fc94e47c9bd0742660e84706c311a860dcae4374cf4a03c477e23ce605a/rpds_py-0.27.1-cp313-cp313t-win_amd64.whl", hash = "sha256:8ee50c3e41739886606388ba3ab3ee2aae9f35fb23f833091833255a31740797", size = 228943, upload-time = "2025-08-27T12:14:14.937Z" }, + { url = "https://files.pythonhosted.org/packages/70/36/b6e6066520a07cf029d385de869729a895917b411e777ab1cde878100a1d/rpds_py-0.27.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:acb9aafccaae278f449d9c713b64a9e68662e7799dbd5859e2c6b3c67b56d334", size = 362472, upload-time = "2025-08-27T12:14:16.333Z" }, + { url = "https://files.pythonhosted.org/packages/af/07/b4646032e0dcec0df9c73a3bd52f63bc6c5f9cda992f06bd0e73fe3fbebd/rpds_py-0.27.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b7fb801aa7f845ddf601c49630deeeccde7ce10065561d92729bfe81bd21fb33", size = 345676, upload-time = "2025-08-27T12:14:17.764Z" }, + { url = "https://files.pythonhosted.org/packages/b0/16/2f1003ee5d0af4bcb13c0cf894957984c32a6751ed7206db2aee7379a55e/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe0dd05afb46597b9a2e11c351e5e4283c741237e7f617ffb3252780cca9336a", size = 385313, upload-time = "2025-08-27T12:14:19.829Z" }, + { url = "https://files.pythonhosted.org/packages/05/cd/7eb6dd7b232e7f2654d03fa07f1414d7dfc980e82ba71e40a7c46fd95484/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b6dfb0e058adb12d8b1d1b25f686e94ffa65d9995a5157afe99743bf7369d62b", size = 399080, upload-time = "2025-08-27T12:14:21.531Z" }, + { url = "https://files.pythonhosted.org/packages/20/51/5829afd5000ec1cb60f304711f02572d619040aa3ec033d8226817d1e571/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed090ccd235f6fa8bb5861684567f0a83e04f52dfc2e5c05f2e4b1309fcf85e7", size = 523868, upload-time = "2025-08-27T12:14:23.485Z" }, + { url = "https://files.pythonhosted.org/packages/05/2c/30eebca20d5db95720ab4d2faec1b5e4c1025c473f703738c371241476a2/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf876e79763eecf3e7356f157540d6a093cef395b65514f17a356f62af6cc136", size = 408750, upload-time = "2025-08-27T12:14:24.924Z" }, + { url = "https://files.pythonhosted.org/packages/90/1a/cdb5083f043597c4d4276eae4e4c70c55ab5accec078da8611f24575a367/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12ed005216a51b1d6e2b02a7bd31885fe317e45897de81d86dcce7d74618ffff", size = 387688, upload-time = "2025-08-27T12:14:27.537Z" }, + { url = "https://files.pythonhosted.org/packages/7c/92/cf786a15320e173f945d205ab31585cc43969743bb1a48b6888f7a2b0a2d/rpds_py-0.27.1-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:ee4308f409a40e50593c7e3bb8cbe0b4d4c66d1674a316324f0c2f5383b486f9", size = 407225, upload-time = "2025-08-27T12:14:28.981Z" }, + { url = "https://files.pythonhosted.org/packages/33/5c/85ee16df5b65063ef26017bef33096557a4c83fbe56218ac7cd8c235f16d/rpds_py-0.27.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b08d152555acf1f455154d498ca855618c1378ec810646fcd7c76416ac6dc60", size = 423361, upload-time = "2025-08-27T12:14:30.469Z" }, + { url = "https://files.pythonhosted.org/packages/4b/8e/1c2741307fcabd1a334ecf008e92c4f47bb6f848712cf15c923becfe82bb/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:dce51c828941973a5684d458214d3a36fcd28da3e1875d659388f4f9f12cc33e", size = 562493, upload-time = "2025-08-27T12:14:31.987Z" }, + { url = "https://files.pythonhosted.org/packages/04/03/5159321baae9b2222442a70c1f988cbbd66b9be0675dd3936461269be360/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:c1476d6f29eb81aa4151c9a31219b03f1f798dc43d8af1250a870735516a1212", size = 592623, upload-time = "2025-08-27T12:14:33.543Z" }, + { url = "https://files.pythonhosted.org/packages/ff/39/c09fd1ad28b85bc1d4554a8710233c9f4cefd03d7717a1b8fbfd171d1167/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3ce0cac322b0d69b63c9cdb895ee1b65805ec9ffad37639f291dd79467bee675", size = 558800, upload-time = "2025-08-27T12:14:35.436Z" }, + { url = "https://files.pythonhosted.org/packages/c5/d6/99228e6bbcf4baa764b18258f519a9035131d91b538d4e0e294313462a98/rpds_py-0.27.1-cp314-cp314-win32.whl", hash = "sha256:dfbfac137d2a3d0725758cd141f878bf4329ba25e34979797c89474a89a8a3a3", size = 221943, upload-time = "2025-08-27T12:14:36.898Z" }, + { url = "https://files.pythonhosted.org/packages/be/07/c802bc6b8e95be83b79bdf23d1aa61d68324cb1006e245d6c58e959e314d/rpds_py-0.27.1-cp314-cp314-win_amd64.whl", hash = "sha256:a6e57b0abfe7cc513450fcf529eb486b6e4d3f8aee83e92eb5f1ef848218d456", size = 233739, upload-time = "2025-08-27T12:14:38.386Z" }, + { url = "https://files.pythonhosted.org/packages/c8/89/3e1b1c16d4c2d547c5717377a8df99aee8099ff050f87c45cb4d5fa70891/rpds_py-0.27.1-cp314-cp314-win_arm64.whl", hash = "sha256:faf8d146f3d476abfee026c4ae3bdd9ca14236ae4e4c310cbd1cf75ba33d24a3", size = 223120, upload-time = "2025-08-27T12:14:39.82Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/dc7931dc2fa4a6e46b2a4fa744a9fe5c548efd70e0ba74f40b39fa4a8c10/rpds_py-0.27.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:ba81d2b56b6d4911ce735aad0a1d4495e808b8ee4dc58715998741a26874e7c2", size = 358944, upload-time = "2025-08-27T12:14:41.199Z" }, + { url = "https://files.pythonhosted.org/packages/e6/22/4af76ac4e9f336bfb1a5f240d18a33c6b2fcaadb7472ac7680576512b49a/rpds_py-0.27.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:84f7d509870098de0e864cad0102711c1e24e9b1a50ee713b65928adb22269e4", size = 342283, upload-time = "2025-08-27T12:14:42.699Z" }, + { url = "https://files.pythonhosted.org/packages/1c/15/2a7c619b3c2272ea9feb9ade67a45c40b3eeb500d503ad4c28c395dc51b4/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e960fc78fecd1100539f14132425e1d5fe44ecb9239f8f27f079962021523e", size = 380320, upload-time = "2025-08-27T12:14:44.157Z" }, + { url = "https://files.pythonhosted.org/packages/a2/7d/4c6d243ba4a3057e994bb5bedd01b5c963c12fe38dde707a52acdb3849e7/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:62f85b665cedab1a503747617393573995dac4600ff51869d69ad2f39eb5e817", size = 391760, upload-time = "2025-08-27T12:14:45.845Z" }, + { url = "https://files.pythonhosted.org/packages/b4/71/b19401a909b83bcd67f90221330bc1ef11bc486fe4e04c24388d28a618ae/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fed467af29776f6556250c9ed85ea5a4dd121ab56a5f8b206e3e7a4c551e48ec", size = 522476, upload-time = "2025-08-27T12:14:47.364Z" }, + { url = "https://files.pythonhosted.org/packages/e4/44/1a3b9715c0455d2e2f0f6df5ee6d6f5afdc423d0773a8a682ed2b43c566c/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2729615f9d430af0ae6b36cf042cb55c0936408d543fb691e1a9e36648fd35a", size = 403418, upload-time = "2025-08-27T12:14:49.991Z" }, + { url = "https://files.pythonhosted.org/packages/1c/4b/fb6c4f14984eb56673bc868a66536f53417ddb13ed44b391998100a06a96/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b207d881a9aef7ba753d69c123a35d96ca7cb808056998f6b9e8747321f03b8", size = 384771, upload-time = "2025-08-27T12:14:52.159Z" }, + { url = "https://files.pythonhosted.org/packages/c0/56/d5265d2d28b7420d7b4d4d85cad8ef891760f5135102e60d5c970b976e41/rpds_py-0.27.1-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:639fd5efec029f99b79ae47e5d7e00ad8a773da899b6309f6786ecaf22948c48", size = 400022, upload-time = "2025-08-27T12:14:53.859Z" }, + { url = "https://files.pythonhosted.org/packages/8f/e9/9f5fc70164a569bdd6ed9046486c3568d6926e3a49bdefeeccfb18655875/rpds_py-0.27.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fecc80cb2a90e28af8a9b366edacf33d7a91cbfe4c2c4544ea1246e949cfebeb", size = 416787, upload-time = "2025-08-27T12:14:55.673Z" }, + { url = "https://files.pythonhosted.org/packages/d4/64/56dd03430ba491db943a81dcdef115a985aac5f44f565cd39a00c766d45c/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42a89282d711711d0a62d6f57d81aa43a1368686c45bc1c46b7f079d55692734", size = 557538, upload-time = "2025-08-27T12:14:57.245Z" }, + { url = "https://files.pythonhosted.org/packages/3f/36/92cc885a3129993b1d963a2a42ecf64e6a8e129d2c7cc980dbeba84e55fb/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:cf9931f14223de59551ab9d38ed18d92f14f055a5f78c1d8ad6493f735021bbb", size = 588512, upload-time = "2025-08-27T12:14:58.728Z" }, + { url = "https://files.pythonhosted.org/packages/dd/10/6b283707780a81919f71625351182b4f98932ac89a09023cb61865136244/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f39f58a27cc6e59f432b568ed8429c7e1641324fbe38131de852cd77b2d534b0", size = 555813, upload-time = "2025-08-27T12:15:00.334Z" }, + { url = "https://files.pythonhosted.org/packages/04/2e/30b5ea18c01379da6272a92825dd7e53dc9d15c88a19e97932d35d430ef7/rpds_py-0.27.1-cp314-cp314t-win32.whl", hash = "sha256:d5fa0ee122dc09e23607a28e6d7b150da16c662e66409bbe85230e4c85bb528a", size = 217385, upload-time = "2025-08-27T12:15:01.937Z" }, + { url = "https://files.pythonhosted.org/packages/32/7d/97119da51cb1dd3f2f3c0805f155a3aa4a95fa44fe7d78ae15e69edf4f34/rpds_py-0.27.1-cp314-cp314t-win_amd64.whl", hash = "sha256:6567d2bb951e21232c2f660c24cf3470bb96de56cdcb3f071a83feeaff8a2772", size = 230097, upload-time = "2025-08-27T12:15:03.961Z" }, + { url = "https://files.pythonhosted.org/packages/d5/63/b7cc415c345625d5e62f694ea356c58fb964861409008118f1245f8c3347/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7ba22cb9693df986033b91ae1d7a979bc399237d45fccf875b76f62bb9e52ddf", size = 371360, upload-time = "2025-08-27T12:15:29.218Z" }, + { url = "https://files.pythonhosted.org/packages/e5/8c/12e1b24b560cf378b8ffbdb9dc73abd529e1adcfcf82727dfd29c4a7b88d/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b640501be9288c77738b5492b3fd3abc4ba95c50c2e41273c8a1459f08298d3", size = 353933, upload-time = "2025-08-27T12:15:30.837Z" }, + { url = "https://files.pythonhosted.org/packages/9b/85/1bb2210c1f7a1b99e91fea486b9f0f894aa5da3a5ec7097cbad7dec6d40f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb08b65b93e0c6dd70aac7f7890a9c0938d5ec71d5cb32d45cf844fb8ae47636", size = 382962, upload-time = "2025-08-27T12:15:32.348Z" }, + { url = "https://files.pythonhosted.org/packages/cc/c9/a839b9f219cf80ed65f27a7f5ddbb2809c1b85c966020ae2dff490e0b18e/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d7ff07d696a7a38152ebdb8212ca9e5baab56656749f3d6004b34ab726b550b8", size = 394412, upload-time = "2025-08-27T12:15:33.839Z" }, + { url = "https://files.pythonhosted.org/packages/02/2d/b1d7f928b0b1f4fc2e0133e8051d199b01d7384875adc63b6ddadf3de7e5/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fb7c72262deae25366e3b6c0c0ba46007967aea15d1eea746e44ddba8ec58dcc", size = 523972, upload-time = "2025-08-27T12:15:35.377Z" }, + { url = "https://files.pythonhosted.org/packages/a9/af/2cbf56edd2d07716df1aec8a726b3159deb47cb5c27e1e42b71d705a7c2f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7b002cab05d6339716b03a4a3a2ce26737f6231d7b523f339fa061d53368c9d8", size = 403273, upload-time = "2025-08-27T12:15:37.051Z" }, + { url = "https://files.pythonhosted.org/packages/c0/93/425e32200158d44ff01da5d9612c3b6711fe69f606f06e3895511f17473b/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:23f6b69d1c26c4704fec01311963a41d7de3ee0570a84ebde4d544e5a1859ffc", size = 385278, upload-time = "2025-08-27T12:15:38.571Z" }, + { url = "https://files.pythonhosted.org/packages/eb/1a/1a04a915ecd0551bfa9e77b7672d1937b4b72a0fc204a17deef76001cfb2/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:530064db9146b247351f2a0250b8f00b289accea4596a033e94be2389977de71", size = 402084, upload-time = "2025-08-27T12:15:40.529Z" }, + { url = "https://files.pythonhosted.org/packages/51/f7/66585c0fe5714368b62951d2513b684e5215beaceab2c6629549ddb15036/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7b90b0496570bd6b0321724a330d8b545827c4df2034b6ddfc5f5275f55da2ad", size = 419041, upload-time = "2025-08-27T12:15:42.191Z" }, + { url = "https://files.pythonhosted.org/packages/8e/7e/83a508f6b8e219bba2d4af077c35ba0e0cdd35a751a3be6a7cba5a55ad71/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:879b0e14a2da6a1102a3fc8af580fc1ead37e6d6692a781bd8c83da37429b5ab", size = 560084, upload-time = "2025-08-27T12:15:43.839Z" }, + { url = "https://files.pythonhosted.org/packages/66/66/bb945683b958a1b19eb0fe715594630d0f36396ebdef4d9b89c2fa09aa56/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_i686.whl", hash = "sha256:0d807710df3b5faa66c731afa162ea29717ab3be17bdc15f90f2d9f183da4059", size = 590115, upload-time = "2025-08-27T12:15:46.647Z" }, + { url = "https://files.pythonhosted.org/packages/12/00/ccfaafaf7db7e7adace915e5c2f2c2410e16402561801e9c7f96683002d3/rpds_py-0.27.1-pp310-pypy310_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:3adc388fc3afb6540aec081fa59e6e0d3908722771aa1e37ffe22b220a436f0b", size = 556561, upload-time = "2025-08-27T12:15:48.219Z" }, + { url = "https://files.pythonhosted.org/packages/e1/b7/92b6ed9aad103bfe1c45df98453dfae40969eef2cb6c6239c58d7e96f1b3/rpds_py-0.27.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:c796c0c1cc68cb08b0284db4229f5af76168172670c74908fdbd4b7d7f515819", size = 229125, upload-time = "2025-08-27T12:15:49.956Z" }, + { url = "https://files.pythonhosted.org/packages/0c/ed/e1fba02de17f4f76318b834425257c8ea297e415e12c68b4361f63e8ae92/rpds_py-0.27.1-pp311-pypy311_pp73-macosx_10_12_x86_64.whl", hash = "sha256:cdfe4bb2f9fe7458b7453ad3c33e726d6d1c7c0a72960bcc23800d77384e42df", size = 371402, upload-time = "2025-08-27T12:15:51.561Z" }, + { url = "https://files.pythonhosted.org/packages/af/7c/e16b959b316048b55585a697e94add55a4ae0d984434d279ea83442e460d/rpds_py-0.27.1-pp311-pypy311_pp73-macosx_11_0_arm64.whl", hash = "sha256:8fabb8fd848a5f75a2324e4a84501ee3a5e3c78d8603f83475441866e60b94a3", size = 354084, upload-time = "2025-08-27T12:15:53.219Z" }, + { url = "https://files.pythonhosted.org/packages/de/c1/ade645f55de76799fdd08682d51ae6724cb46f318573f18be49b1e040428/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eda8719d598f2f7f3e0f885cba8646644b55a187762bec091fa14a2b819746a9", size = 383090, upload-time = "2025-08-27T12:15:55.158Z" }, + { url = "https://files.pythonhosted.org/packages/1f/27/89070ca9b856e52960da1472efcb6c20ba27cfe902f4f23ed095b9cfc61d/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3c64d07e95606ec402a0a1c511fe003873fa6af630bda59bac77fac8b4318ebc", size = 394519, upload-time = "2025-08-27T12:15:57.238Z" }, + { url = "https://files.pythonhosted.org/packages/b3/28/be120586874ef906aa5aeeae95ae8df4184bc757e5b6bd1c729ccff45ed5/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:93a2ed40de81bcff59aabebb626562d48332f3d028ca2036f1d23cbb52750be4", size = 523817, upload-time = "2025-08-27T12:15:59.237Z" }, + { url = "https://files.pythonhosted.org/packages/a8/ef/70cc197bc11cfcde02a86f36ac1eed15c56667c2ebddbdb76a47e90306da/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:387ce8c44ae94e0ec50532d9cb0edce17311024c9794eb196b90e1058aadeb66", size = 403240, upload-time = "2025-08-27T12:16:00.923Z" }, + { url = "https://files.pythonhosted.org/packages/cf/35/46936cca449f7f518f2f4996e0e8344db4b57e2081e752441154089d2a5f/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aaf94f812c95b5e60ebaf8bfb1898a7d7cb9c1af5744d4a67fa47796e0465d4e", size = 385194, upload-time = "2025-08-27T12:16:02.802Z" }, + { url = "https://files.pythonhosted.org/packages/e1/62/29c0d3e5125c3270b51415af7cbff1ec587379c84f55a5761cc9efa8cd06/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:4848ca84d6ded9b58e474dfdbad4b8bfb450344c0551ddc8d958bf4b36aa837c", size = 402086, upload-time = "2025-08-27T12:16:04.806Z" }, + { url = "https://files.pythonhosted.org/packages/8f/66/03e1087679227785474466fdd04157fb793b3b76e3fcf01cbf4c693c1949/rpds_py-0.27.1-pp311-pypy311_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2bde09cbcf2248b73c7c323be49b280180ff39fadcfe04e7b6f54a678d02a7cf", size = 419272, upload-time = "2025-08-27T12:16:06.471Z" }, + { url = "https://files.pythonhosted.org/packages/6a/24/e3e72d265121e00b063aef3e3501e5b2473cf1b23511d56e529531acf01e/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:94c44ee01fd21c9058f124d2d4f0c9dc7634bec93cd4b38eefc385dabe71acbf", size = 560003, upload-time = "2025-08-27T12:16:08.06Z" }, + { url = "https://files.pythonhosted.org/packages/26/ca/f5a344c534214cc2d41118c0699fffbdc2c1bc7046f2a2b9609765ab9c92/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:df8b74962e35c9249425d90144e721eed198e6555a0e22a563d29fe4486b51f6", size = 590482, upload-time = "2025-08-27T12:16:10.137Z" }, + { url = "https://files.pythonhosted.org/packages/ce/08/4349bdd5c64d9d193c360aa9db89adeee6f6682ab8825dca0a3f535f434f/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:dc23e6820e3b40847e2f4a7726462ba0cf53089512abe9ee16318c366494c17a", size = 556523, upload-time = "2025-08-27T12:16:12.188Z" }, +] + +[[package]] +name = "ruff" +version = "0.13.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/c7/8e/f9f9ca747fea8e3ac954e3690d4698c9737c23b51731d02df999c150b1c9/ruff-0.13.3.tar.gz", hash = "sha256:5b0ba0db740eefdfbcce4299f49e9eaefc643d4d007749d77d047c2bab19908e", size = 5438533, upload-time = "2025-10-02T19:29:31.582Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d2/33/8f7163553481466a92656d35dea9331095122bb84cf98210bef597dd2ecd/ruff-0.13.3-py3-none-linux_armv6l.whl", hash = "sha256:311860a4c5e19189c89d035638f500c1e191d283d0cc2f1600c8c80d6dcd430c", size = 12484040, upload-time = "2025-10-02T19:28:49.199Z" }, + { url = "https://files.pythonhosted.org/packages/b0/b5/4a21a4922e5dd6845e91896b0d9ef493574cbe061ef7d00a73c61db531af/ruff-0.13.3-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:2bdad6512fb666b40fcadb65e33add2b040fc18a24997d2e47fee7d66f7fcae2", size = 13122975, upload-time = "2025-10-02T19:28:52.446Z" }, + { url = "https://files.pythonhosted.org/packages/40/90/15649af836d88c9f154e5be87e64ae7d2b1baa5a3ef317cb0c8fafcd882d/ruff-0.13.3-py3-none-macosx_11_0_arm64.whl", hash = "sha256:fc6fa4637284708d6ed4e5e970d52fc3b76a557d7b4e85a53013d9d201d93286", size = 12346621, upload-time = "2025-10-02T19:28:54.712Z" }, + { url = "https://files.pythonhosted.org/packages/a5/42/bcbccb8141305f9a6d3f72549dd82d1134299177cc7eaf832599700f95a7/ruff-0.13.3-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1c9e6469864f94a98f412f20ea143d547e4c652f45e44f369d7b74ee78185838", size = 12574408, upload-time = "2025-10-02T19:28:56.679Z" }, + { url = "https://files.pythonhosted.org/packages/ce/19/0f3681c941cdcfa2d110ce4515624c07a964dc315d3100d889fcad3bfc9e/ruff-0.13.3-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5bf62b705f319476c78891e0e97e965b21db468b3c999086de8ffb0d40fd2822", size = 12285330, upload-time = "2025-10-02T19:28:58.79Z" }, + { url = "https://files.pythonhosted.org/packages/10/f8/387976bf00d126b907bbd7725219257feea58650e6b055b29b224d8cb731/ruff-0.13.3-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:78cc1abed87ce40cb07ee0667ce99dbc766c9f519eabfd948ed87295d8737c60", size = 13980815, upload-time = "2025-10-02T19:29:01.577Z" }, + { url = "https://files.pythonhosted.org/packages/0c/a6/7c8ec09d62d5a406e2b17d159e4817b63c945a8b9188a771193b7e1cc0b5/ruff-0.13.3-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:4fb75e7c402d504f7a9a259e0442b96403fa4a7310ffe3588d11d7e170d2b1e3", size = 14987733, upload-time = "2025-10-02T19:29:04.036Z" }, + { url = "https://files.pythonhosted.org/packages/97/e5/f403a60a12258e0fd0c2195341cfa170726f254c788673495d86ab5a9a9d/ruff-0.13.3-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:17b951f9d9afb39330b2bdd2dd144ce1c1335881c277837ac1b50bfd99985ed3", size = 14439848, upload-time = "2025-10-02T19:29:06.684Z" }, + { url = "https://files.pythonhosted.org/packages/39/49/3de381343e89364c2334c9f3268b0349dc734fc18b2d99a302d0935c8345/ruff-0.13.3-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6052f8088728898e0a449f0dde8fafc7ed47e4d878168b211977e3e7e854f662", size = 13421890, upload-time = "2025-10-02T19:29:08.767Z" }, + { url = "https://files.pythonhosted.org/packages/ab/b5/c0feca27d45ae74185a6bacc399f5d8920ab82df2d732a17213fb86a2c4c/ruff-0.13.3-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dc742c50f4ba72ce2a3be362bd359aef7d0d302bf7637a6f942eaa763bd292af", size = 13444870, upload-time = "2025-10-02T19:29:11.234Z" }, + { url = "https://files.pythonhosted.org/packages/50/a1/b655298a1f3fda4fdc7340c3f671a4b260b009068fbeb3e4e151e9e3e1bf/ruff-0.13.3-py3-none-manylinux_2_31_riscv64.whl", hash = "sha256:8e5640349493b378431637019366bbd73c927e515c9c1babfea3e932f5e68e1d", size = 13691599, upload-time = "2025-10-02T19:29:13.353Z" }, + { url = "https://files.pythonhosted.org/packages/32/b0/a8705065b2dafae007bcae21354e6e2e832e03eb077bb6c8e523c2becb92/ruff-0.13.3-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:6b139f638a80eae7073c691a5dd8d581e0ba319540be97c343d60fb12949c8d0", size = 12421893, upload-time = "2025-10-02T19:29:15.668Z" }, + { url = "https://files.pythonhosted.org/packages/0d/1e/cbe7082588d025cddbb2f23e6dfef08b1a2ef6d6f8328584ad3015b5cebd/ruff-0.13.3-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:6b547def0a40054825de7cfa341039ebdfa51f3d4bfa6a0772940ed351d2746c", size = 12267220, upload-time = "2025-10-02T19:29:17.583Z" }, + { url = "https://files.pythonhosted.org/packages/a5/99/4086f9c43f85e0755996d09bdcb334b6fee9b1eabdf34e7d8b877fadf964/ruff-0.13.3-py3-none-musllinux_1_2_i686.whl", hash = "sha256:9cc48a3564423915c93573f1981d57d101e617839bef38504f85f3677b3a0a3e", size = 13177818, upload-time = "2025-10-02T19:29:19.943Z" }, + { url = "https://files.pythonhosted.org/packages/9b/de/7b5db7e39947d9dc1c5f9f17b838ad6e680527d45288eeb568e860467010/ruff-0.13.3-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:1a993b17ec03719c502881cb2d5f91771e8742f2ca6de740034433a97c561989", size = 13618715, upload-time = "2025-10-02T19:29:22.527Z" }, + { url = "https://files.pythonhosted.org/packages/28/d3/bb25ee567ce2f61ac52430cf99f446b0e6d49bdfa4188699ad005fdd16aa/ruff-0.13.3-py3-none-win32.whl", hash = "sha256:f14e0d1fe6460f07814d03c6e32e815bff411505178a1f539a38f6097d3e8ee3", size = 12334488, upload-time = "2025-10-02T19:29:24.782Z" }, + { url = "https://files.pythonhosted.org/packages/cf/49/12f5955818a1139eed288753479ba9d996f6ea0b101784bb1fe6977ec128/ruff-0.13.3-py3-none-win_amd64.whl", hash = "sha256:621e2e5812b691d4f244638d693e640f188bacbb9bc793ddd46837cea0503dd2", size = 13455262, upload-time = "2025-10-02T19:29:26.882Z" }, + { url = "https://files.pythonhosted.org/packages/fe/72/7b83242b26627a00e3af70d0394d68f8f02750d642567af12983031777fc/ruff-0.13.3-py3-none-win_arm64.whl", hash = "sha256:9e9e9d699841eaf4c2c798fa783df2fabc680b72059a02ca0ed81c460bc58330", size = 12538484, upload-time = "2025-10-02T19:29:28.951Z" }, +] + +[[package]] +name = "s3transfer" +version = "0.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "botocore" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/62/74/8d69dcb7a9efe8baa2046891735e5dfe433ad558ae23d9e3c14c633d1d58/s3transfer-0.14.0.tar.gz", hash = "sha256:eff12264e7c8b4985074ccce27a3b38a485bb7f7422cc8046fee9be4983e4125", size = 151547, upload-time = "2025-09-09T19:23:31.089Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/48/f0/ae7ca09223a81a1d890b2557186ea015f6e0502e9b8cb8e1813f1d8cfa4e/s3transfer-0.14.0-py3-none-any.whl", hash = "sha256:ea3b790c7077558ed1f02a3072fb3cb992bbbd253392f4b6e9e8976941c7d456", size = 85712, upload-time = "2025-09-09T19:23:30.041Z" }, +] + +[[package]] +name = "shellingham" +version = "1.5.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/58/15/8b3609fd3830ef7b27b655beb4b4e9c62313a4e8da8c676e142cc210d58e/shellingham-1.5.4.tar.gz", hash = "sha256:8dbca0739d487e5bd35ab3ca4b36e11c4078f3a234bfce294b0a0291363404de", size = 10310, upload-time = "2023-10-24T04:13:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e0/f9/0595336914c5619e5f28a1fb793285925a8cd4b432c9da0a987836c7f822/shellingham-1.5.4-py2.py3-none-any.whl", hash = "sha256:7ecfff8f2fd72616f7481040475a65b2bf8af90a56c89140852d1120324e8686", size = 9755, upload-time = "2023-10-24T04:13:38.866Z" }, +] + +[[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" } +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" }, +] + +[[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" } +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" }, +] + +[[package]] +name = "sse-starlette" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz", hash = "sha256:ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a", size = 20985, upload-time = "2025-07-27T09:07:44.565Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/10/c78f463b4ef22eef8491f218f692be838282cd65480f6e423d7730dfd1fb/sse_starlette-3.0.2-py3-none-any.whl", hash = "sha256:16b7cbfddbcd4eaca11f7b586f3b8a080f1afe952c15813455b162edea619e5a", size = 11297, upload-time = "2025-07-27T09:07:43.268Z" }, +] + +[[package]] +name = "starlette" +version = "0.48.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a7/a5/d6f429d43394057b67a6b5bbe6eae2f77a6bf7459d961fdb224bf206eee6/starlette-0.48.0.tar.gz", hash = "sha256:7e8cee469a8ab2352911528110ce9088fdc6a37d9876926e73da7ce4aa4c7a46", size = 2652949, upload-time = "2025-09-13T08:41:05.699Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/be/72/2db2f49247d0a18b4f1bb9a5a39a0162869acf235f3a96418363947b3d46/starlette-0.48.0-py3-none-any.whl", hash = "sha256:0764ca97b097582558ecb498132ed0c7d942f233f365b86ba37770e026510659", size = 73736, upload-time = "2025-09-13T08:41:03.869Z" }, +] + +[[package]] +name = "tomli" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/87/302344fed471e44a87289cf4967697d07e532f2421fdaf868a303cbae4ff/tomli-2.2.1.tar.gz", hash = "sha256:cd45e1dc79c835ce60f7404ec8119f2eb06d38b1deba146f07ced3bbc44505ff", size = 17175, upload-time = "2024-11-27T22:38:36.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/ca/75707e6efa2b37c77dadb324ae7d9571cb424e61ea73fad7c56c2d14527f/tomli-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:678e4fa69e4575eb77d103de3df8a895e1591b48e740211bd1067378c69e8249", size = 131077, upload-time = "2024-11-27T22:37:54.956Z" }, + { url = "https://files.pythonhosted.org/packages/c7/16/51ae563a8615d472fdbffc43a3f3d46588c264ac4f024f63f01283becfbb/tomli-2.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:023aa114dd824ade0100497eb2318602af309e5a55595f76b626d6d9f3b7b0a6", size = 123429, upload-time = "2024-11-27T22:37:56.698Z" }, + { url = "https://files.pythonhosted.org/packages/f1/dd/4f6cd1e7b160041db83c694abc78e100473c15d54620083dbd5aae7b990e/tomli-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ece47d672db52ac607a3d9599a9d48dcb2f2f735c6c2d1f34130085bb12b112a", size = 226067, upload-time = "2024-11-27T22:37:57.63Z" }, + { url = "https://files.pythonhosted.org/packages/a9/6b/c54ede5dc70d648cc6361eaf429304b02f2871a345bbdd51e993d6cdf550/tomli-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6972ca9c9cc9f0acaa56a8ca1ff51e7af152a9f87fb64623e31d5c83700080ee", size = 236030, upload-time = "2024-11-27T22:37:59.344Z" }, + { url = "https://files.pythonhosted.org/packages/1f/47/999514fa49cfaf7a92c805a86c3c43f4215621855d151b61c602abb38091/tomli-2.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c954d2250168d28797dd4e3ac5cf812a406cd5a92674ee4c8f123c889786aa8e", size = 240898, upload-time = "2024-11-27T22:38:00.429Z" }, + { url = "https://files.pythonhosted.org/packages/73/41/0a01279a7ae09ee1573b423318e7934674ce06eb33f50936655071d81a24/tomli-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:8dd28b3e155b80f4d54beb40a441d366adcfe740969820caf156c019fb5c7ec4", size = 229894, upload-time = "2024-11-27T22:38:02.094Z" }, + { url = "https://files.pythonhosted.org/packages/55/18/5d8bc5b0a0362311ce4d18830a5d28943667599a60d20118074ea1b01bb7/tomli-2.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:e59e304978767a54663af13c07b3d1af22ddee3bb2fb0618ca1593e4f593a106", size = 245319, upload-time = "2024-11-27T22:38:03.206Z" }, + { url = "https://files.pythonhosted.org/packages/92/a3/7ade0576d17f3cdf5ff44d61390d4b3febb8a9fc2b480c75c47ea048c646/tomli-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:33580bccab0338d00994d7f16f4c4ec25b776af3ffaac1ed74e0b3fc95e885a8", size = 238273, upload-time = "2024-11-27T22:38:04.217Z" }, + { url = "https://files.pythonhosted.org/packages/72/6f/fa64ef058ac1446a1e51110c375339b3ec6be245af9d14c87c4a6412dd32/tomli-2.2.1-cp311-cp311-win32.whl", hash = "sha256:465af0e0875402f1d226519c9904f37254b3045fc5084697cefb9bdde1ff99ff", size = 98310, upload-time = "2024-11-27T22:38:05.908Z" }, + { url = "https://files.pythonhosted.org/packages/6a/1c/4a2dcde4a51b81be3530565e92eda625d94dafb46dbeb15069df4caffc34/tomli-2.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:2d0f2fdd22b02c6d81637a3c95f8cd77f995846af7414c5c4b8d0545afa1bc4b", size = 108309, upload-time = "2024-11-27T22:38:06.812Z" }, + { url = "https://files.pythonhosted.org/packages/52/e1/f8af4c2fcde17500422858155aeb0d7e93477a0d59a98e56cbfe75070fd0/tomli-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4a8f6e44de52d5e6c657c9fe83b562f5f4256d8ebbfe4ff922c495620a7f6cea", size = 132762, upload-time = "2024-11-27T22:38:07.731Z" }, + { url = "https://files.pythonhosted.org/packages/03/b8/152c68bb84fc00396b83e7bbddd5ec0bd3dd409db4195e2a9b3e398ad2e3/tomli-2.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8d57ca8095a641b8237d5b079147646153d22552f1c637fd3ba7f4b0b29167a8", size = 123453, upload-time = "2024-11-27T22:38:09.384Z" }, + { url = "https://files.pythonhosted.org/packages/c8/d6/fc9267af9166f79ac528ff7e8c55c8181ded34eb4b0e93daa767b8841573/tomli-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4e340144ad7ae1533cb897d406382b4b6fede8890a03738ff1683af800d54192", size = 233486, upload-time = "2024-11-27T22:38:10.329Z" }, + { url = "https://files.pythonhosted.org/packages/5c/51/51c3f2884d7bab89af25f678447ea7d297b53b5a3b5730a7cb2ef6069f07/tomli-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:db2b95f9de79181805df90bedc5a5ab4c165e6ec3fe99f970d0e302f384ad222", size = 242349, upload-time = "2024-11-27T22:38:11.443Z" }, + { url = "https://files.pythonhosted.org/packages/ab/df/bfa89627d13a5cc22402e441e8a931ef2108403db390ff3345c05253935e/tomli-2.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:40741994320b232529c802f8bc86da4e1aa9f413db394617b9a256ae0f9a7f77", size = 252159, upload-time = "2024-11-27T22:38:13.099Z" }, + { url = "https://files.pythonhosted.org/packages/9e/6e/fa2b916dced65763a5168c6ccb91066f7639bdc88b48adda990db10c8c0b/tomli-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:400e720fe168c0f8521520190686ef8ef033fb19fc493da09779e592861b78c6", size = 237243, upload-time = "2024-11-27T22:38:14.766Z" }, + { url = "https://files.pythonhosted.org/packages/b4/04/885d3b1f650e1153cbb93a6a9782c58a972b94ea4483ae4ac5cedd5e4a09/tomli-2.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:02abe224de6ae62c19f090f68da4e27b10af2b93213d36cf44e6e1c5abd19fdd", size = 259645, upload-time = "2024-11-27T22:38:15.843Z" }, + { url = "https://files.pythonhosted.org/packages/9c/de/6b432d66e986e501586da298e28ebeefd3edc2c780f3ad73d22566034239/tomli-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b82ebccc8c8a36f2094e969560a1b836758481f3dc360ce9a3277c65f374285e", size = 244584, upload-time = "2024-11-27T22:38:17.645Z" }, + { url = "https://files.pythonhosted.org/packages/1c/9a/47c0449b98e6e7d1be6cbac02f93dd79003234ddc4aaab6ba07a9a7482e2/tomli-2.2.1-cp312-cp312-win32.whl", hash = "sha256:889f80ef92701b9dbb224e49ec87c645ce5df3fa2cc548664eb8a25e03127a98", size = 98875, upload-time = "2024-11-27T22:38:19.159Z" }, + { url = "https://files.pythonhosted.org/packages/ef/60/9b9638f081c6f1261e2688bd487625cd1e660d0a85bd469e91d8db969734/tomli-2.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:7fc04e92e1d624a4a63c76474610238576942d6b8950a2d7f908a340494e67e4", size = 109418, upload-time = "2024-11-27T22:38:20.064Z" }, + { url = "https://files.pythonhosted.org/packages/04/90/2ee5f2e0362cb8a0b6499dc44f4d7d48f8fff06d28ba46e6f1eaa61a1388/tomli-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f4039b9cbc3048b2416cc57ab3bda989a6fcf9b36cf8937f01a6e731b64f80d7", size = 132708, upload-time = "2024-11-27T22:38:21.659Z" }, + { url = "https://files.pythonhosted.org/packages/c0/ec/46b4108816de6b385141f082ba99e315501ccd0a2ea23db4a100dd3990ea/tomli-2.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:286f0ca2ffeeb5b9bd4fcc8d6c330534323ec51b2f52da063b11c502da16f30c", size = 123582, upload-time = "2024-11-27T22:38:22.693Z" }, + { url = "https://files.pythonhosted.org/packages/a0/bd/b470466d0137b37b68d24556c38a0cc819e8febe392d5b199dcd7f578365/tomli-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a92ef1a44547e894e2a17d24e7557a5e85a9e1d0048b0b5e7541f76c5032cb13", size = 232543, upload-time = "2024-11-27T22:38:24.367Z" }, + { url = "https://files.pythonhosted.org/packages/d9/e5/82e80ff3b751373f7cead2815bcbe2d51c895b3c990686741a8e56ec42ab/tomli-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9316dc65bed1684c9a98ee68759ceaed29d229e985297003e494aa825ebb0281", size = 241691, upload-time = "2024-11-27T22:38:26.081Z" }, + { url = "https://files.pythonhosted.org/packages/05/7e/2a110bc2713557d6a1bfb06af23dd01e7dde52b6ee7dadc589868f9abfac/tomli-2.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e85e99945e688e32d5a35c1ff38ed0b3f41f43fad8df0bdf79f72b2ba7bc5272", size = 251170, upload-time = "2024-11-27T22:38:27.921Z" }, + { url = "https://files.pythonhosted.org/packages/64/7b/22d713946efe00e0adbcdfd6d1aa119ae03fd0b60ebed51ebb3fa9f5a2e5/tomli-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ac065718db92ca818f8d6141b5f66369833d4a80a9d74435a268c52bdfa73140", size = 236530, upload-time = "2024-11-27T22:38:29.591Z" }, + { url = "https://files.pythonhosted.org/packages/38/31/3a76f67da4b0cf37b742ca76beaf819dca0ebef26d78fc794a576e08accf/tomli-2.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:d920f33822747519673ee656a4b6ac33e382eca9d331c87770faa3eef562aeb2", size = 258666, upload-time = "2024-11-27T22:38:30.639Z" }, + { url = "https://files.pythonhosted.org/packages/07/10/5af1293da642aded87e8a988753945d0cf7e00a9452d3911dd3bb354c9e2/tomli-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a198f10c4d1b1375d7687bc25294306e551bf1abfa4eace6650070a5c1ae2744", size = 243954, upload-time = "2024-11-27T22:38:31.702Z" }, + { url = "https://files.pythonhosted.org/packages/5b/b9/1ed31d167be802da0fc95020d04cd27b7d7065cc6fbefdd2f9186f60d7bd/tomli-2.2.1-cp313-cp313-win32.whl", hash = "sha256:d3f5614314d758649ab2ab3a62d4f2004c825922f9e370b29416484086b264ec", size = 98724, upload-time = "2024-11-27T22:38:32.837Z" }, + { url = "https://files.pythonhosted.org/packages/c7/32/b0963458706accd9afcfeb867c0f9175a741bf7b19cd424230714d722198/tomli-2.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:a38aa0308e754b0e3c67e344754dff64999ff9b513e691d0e786265c93583c69", size = 109383, upload-time = "2024-11-27T22:38:34.455Z" }, + { url = "https://files.pythonhosted.org/packages/6e/c2/61d3e0f47e2b74ef40a68b9e6ad5984f6241a942f7cd3bbfbdbd03861ea9/tomli-2.2.1-py3-none-any.whl", hash = "sha256:cb55c73c5f4408779d0cf3eef9f762b9c9f147a77de7b258bef0a5628adc85cc", size = 14257, upload-time = "2024-11-27T22:38:35.385Z" }, +] + +[[package]] +name = "typer" +version = "0.19.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "rich" }, + { name = "shellingham" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/21/ca/950278884e2ca20547ff3eb109478c6baf6b8cf219318e6bc4f666fad8e8/typer-0.19.2.tar.gz", hash = "sha256:9ad824308ded0ad06cc716434705f691d4ee0bfd0fb081839d2e426860e7fdca", size = 104755, upload-time = "2025-09-23T09:47:48.256Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/22/35617eee79080a5d071d0f14ad698d325ee6b3bf824fc0467c03b30e7fa8/typer-0.19.2-py3-none-any.whl", hash = "sha256:755e7e19670ffad8283db353267cb81ef252f595aa6834a0d1ca9312d9326cb9", size = 46748, upload-time = "2025-09-23T09:47:46.777Z" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "typing-inspection" +version = "0.4.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/55/e3/70399cb7dd41c10ac53367ae42139cf4b1ca5f36bb3dc6c9d33acdb43655/typing_inspection-0.4.2.tar.gz", hash = "sha256:ba561c48a67c5958007083d386c3295464928b01faa735ab8547c5692e87f464", size = 75949, upload-time = "2025-10-01T02:14:41.687Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/dc/9b/47798a6c91d8bdb567fe2698fe81e0c6b7cb7ef4d13da4114b41d239f65d/typing_inspection-0.4.2-py3-none-any.whl", hash = "sha256:4ed1cacbdc298c220f1bd249ed5287caa16f34d44ef4e9c3d0cbad5b521545e7", size = 14611, upload-time = "2025-10-01T02:14:40.154Z" }, +] + +[[package]] +name = "urllib3" +version = "2.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, +] + +[[package]] +name = "uvicorn" +version = "0.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "h11" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/57/1616c8274c3442d802621abf5deb230771c7a0fec9414cb6763900eb3868/uvicorn-0.37.0.tar.gz", hash = "sha256:4115c8add6d3fd536c8ee77f0e14a7fd2ebba939fed9b02583a97f80648f9e13", size = 80367, upload-time = "2025-09-23T13:33:47.486Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/cd/584a2ceb5532af99dd09e50919e3615ba99aa127e9850eafe5f31ddfdb9a/uvicorn-0.37.0-py3-none-any.whl", hash = "sha256:913b2b88672343739927ce381ff9e2ad62541f9f8289664fa1d1d3803fa2ce6c", size = 67976, upload-time = "2025-09-23T13:33:45.842Z" }, +] diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/pyproject.toml b/instrumentation-genai/opentelemetry-instrumentation-mcp/pyproject.toml new file mode 100644 index 0000000000..5939ce715c --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/pyproject.toml @@ -0,0 +1,54 @@ +[build-system] +requires = ["hatchling"] +build-backend = "hatchling.build" + +[project] +name = "opentelemetry-instrumentation-mcp" +dynamic = ["version"] +description = "OpenTelemetry Official MCP instrumentation" +readme = "README.rst" +license = "Apache-2.0" +requires-python = ">=3.10, <3.14" +authors = [ + { name = "OpenTelemetry Authors", email = "cncf-opentelemetry-contributors@lists.cncf.io" }, +] +classifiers = [ + "Development Status :: 4 - Beta", + "Intended Audience :: Developers", + "License :: OSI Approved :: Apache Software License", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", +] +dependencies = [ + "opentelemetry-api >= 1.30", + "opentelemetry-instrumentation >= 0.51b0", + "opentelemetry-semantic-conventions >= 0.51b0" +] + +[project.optional-dependencies] +instruments = [ + "mcp >= 1.8.1", +] + +[project.urls] +Homepage = "https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation-genai/opentelemetry-instrumentation-mcp" +Repository = "https://github.com/open-telemetry/opentelemetry-python-contrib" + +[tool.hatch.version] +path = "src/opentelemetry/instrumentation/mcp/version.py" + +[tool.hatch.build.targets.sdist] +include = [ + "/src", + "/tests", +] + +[tool.hatch.build.targets.wheel] +packages = ["src/opentelemetry"] + +[project.entry-points.opentelemetry_instrumentor] +mcp = "opentelemetry.instrumentation.mcp:McpInstrumentor" diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/__init__.py b/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/__init__.py new file mode 100644 index 0000000000..b16e23415b --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/__init__.py @@ -0,0 +1,18 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from .instrumentation import McpInstrumentor +from .version import __version__ + +__all__ = ["McpInstrumentor", "__version__"] diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/attributes.py b/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/attributes.py new file mode 100644 index 0000000000..9512c4ef58 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/attributes.py @@ -0,0 +1,102 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +MCP (Model Context Protocol) Semantic Conventions. + +Based off of: https://github.com/open-telemetry/semantic-conventions/pull/2083 + +WARNING: These semantic conventions are currently in development and are considered unstable. +They may change at any time without notice. Use with caution in production environments. +""" + + +class MCPSpanAttributes: + MCP_METHOD_NAME = "mcp.method.name" + """ + The name of the request or notification method. + Examples: notifications/cancelled; initialize; notifications/initialized + """ + MCP_REQUEST_ID = "mcp.request.id" + """ + This is a unique identifier for the request. + Conditionally Required when the client executes a request. + """ + MCP_TOOL_NAME = "mcp.tool.name" + """ + The name of the tool provided in the request. + Conditionally Required when operation is related to a specific tool. + """ + MCP_REQUEST_ARGUMENT = "mcp.request.argument" + """ + Full attribute: mcp.request.argument. + Additional arguments passed to the request within params object. being the normalized argument name (lowercase), the value being the argument value. + """ + MCP_PROMPT_NAME = "mcp.prompt.name" + """ + The name of the prompt or prompt template provided in the request or response + Conditionally Required when operation is related to a specific prompt. + """ + MCP_RESOURCE_URI = "mcp.resource.uri" + """ + The value of the resource uri. + Conditionally Required when the client executes a request type that includes a resource URI parameter. + """ + MCP_TRANSPORT_TYPE = "mcp.transport.type" + """ + The transport type used for MCP communication. + Examples: stdio, streamable_http + """ + MCP_SESSION_ID = "mcp.session.id" + """ + The session identifier for HTTP transport connections. + Only present for streamable_http transport, not available for stdio. + """ + + +class MCPMethodValue: + NOTIFICATIONS_CANCELLED = "notifications/cancelled" + """ + Notification cancelling a previously-issued request. + """ + + NOTIFICATIONS_INITIALIZED = "notifications/initialized" + """ + Notification indicating that the MCP client has been initialized. + """ + NOTIFICATIONS_PROGRESS = "notifications/progress" + """ + Notification indicating the progress for a long-running operation. + """ + RESOURCES_LIST = "resources/list" + """ + Request to list resources available on server. + """ + TOOLS_LIST = "tools/list" + """ + Request to list tools available on server. + """ + TOOLS_CALL = "tools/call" + """ + Request to call a tool. + """ + INITIALIZED = "initialize" + """ + Request to initialize the MCP client. + """ + + PROMPTS_GET = "prompts/get" + """ + Request to get a prompt. + """ diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/instrumentation.py b/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/instrumentation.py new file mode 100644 index 0000000000..17f55b75a0 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/instrumentation.py @@ -0,0 +1,450 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""OpenTelemetry MCP (Model Context Protocol) instrumentation.""" + +import json +import logging +from typing import Any, Callable, Collection, Coroutine, Dict, Optional, Tuple + +from wrapt import register_post_import_hook # type: ignore[import-untyped] + +from opentelemetry import trace +from opentelemetry.instrumentation.instrumentor import BaseInstrumentor +from opentelemetry.instrumentation.utils import unwrap +from opentelemetry.propagate import get_global_textmap +from opentelemetry.trace import SpanKind, Status, StatusCode + +from .attributes import MCPMethodValue, MCPSpanAttributes +from .version import __version__ + +_LOG = logging.getLogger(__name__) + + +class McpInstrumentor(BaseInstrumentor): + """ + Instrumentor for MCP (Model Context Protocol). + + Provides automatic tracing for MCP client and server operations, + including distributed trace context propagation. + + See: https://modelcontextprotocol.io/overview + """ + + # Span naming constants + _CLIENT_SPAN_NAME = "mcp.client" + _SERVER_SPAN_NAME = "mcp.server" + + # HTTP header for session tracking + _SESSION_ID_HEADER = "mcp-session-id" + + # Instrumentation targets + _SESSION_MODULE = "mcp.shared.session" + _SERVER_MODULE = "mcp.server.lowlevel.server" + + def __init__(self, **kwargs: Any) -> None: + """ + Initialize the MCP instrumentor. + + Args: + tracer_provider: Optional tracer provider to use + propagators: Optional propagators for context injection/extraction + """ + _LOG.info("Initializing MCP instrumentor xyxyxy") + super().__init__() + self.propagators = kwargs.get("propagators") or get_global_textmap() + self.tracer = trace.get_tracer( + __name__, + __version__, + tracer_provider=kwargs.get("tracer_provider"), + ) + + def instrumentation_dependencies(self) -> Collection[str]: + """Return the dependencies required for this instrumentation.""" + return ("mcp >= 1.8.1",) + + def _instrument(self, **kwargs: Any) -> None: + """Apply instrumentation to MCP library.""" + _LOG.debug("Instrument MCP client-side session methods.") + McpInstrumentor._register_hook( + self._SESSION_MODULE, + "BaseSession.send_request", + self._wrap_session_send, + ) + McpInstrumentor._register_hook( + self._SESSION_MODULE, + "BaseSession.send_notification", + self._wrap_session_send, + ) + + _LOG.debug("Instrument MCP server-side session methods.") + McpInstrumentor._register_hook( + self._SERVER_MODULE, + "Server._handle_request", + self._wrap_server_handle_request, + ) + McpInstrumentor._register_hook( + self._SERVER_MODULE, + "Server._handle_notification", + self._wrap_server_handle_notification, + ) + + def _uninstrument(self, **kwargs: Any) -> None: + """Remove instrumentation from MCP library.""" + unwrap(self._SESSION_MODULE, "BaseSession.send_request") + unwrap(self._SESSION_MODULE, "BaseSession.send_notification") + unwrap(self._SERVER_MODULE, "Server._handle_request") + unwrap(self._SERVER_MODULE, "Server._handle_notification") + + @staticmethod + def _register_hook( + module: str, target: str, wrapper: Callable[..., Any] + ) -> None: + """Register a post-import hook for wrapping a function.""" + # pylint: disable=import-outside-toplevel + from wrapt import wrap_function_wrapper # type: ignore[import-untyped] + + def hook(_module: Any) -> None: + wrap_function_wrapper(module, target, wrapper) + + register_post_import_hook(hook, module) + + def _wrap_session_send( + self, + wrapped: Callable[..., Coroutine[Any, Any, Any]], + instance: Any, + args: Tuple[Any, ...], + kwargs: Dict[str, Any], + ) -> Coroutine[Any, Any, Any]: + """ + Wrap BaseSession.send_request and send_notification methods. + + Instruments outgoing MCP messages by: + 1. Creating a span for the operation + 2. Injecting trace context into the message + 3. Recording message attributes + + Args: + wrapped: Original method being wrapped + instance: BaseSession instance + args: Positional arguments (message, ...) + kwargs: Keyword arguments + + Returns: + Coroutine that executes the wrapped method + """ + from mcp.types import ( # pylint: disable=import-outside-toplevel + ClientNotification, + ClientRequest, + ) + + async def async_wrapper() -> Any: + message = args[0] if args else None + if not message: + return await wrapped(*args, **kwargs) + + # Determine span kind based on message type + is_client = isinstance( + message, (ClientRequest, ClientNotification) + ) + span_name = ( + self._CLIENT_SPAN_NAME if is_client else self._SERVER_SPAN_NAME + ) + span_kind = SpanKind.CLIENT if is_client else SpanKind.SERVER + + # Serialize message for modification + message_json = message.model_dump( + by_alias=True, mode="json", exclude_none=True + ) + + # Ensure _meta field exists for trace context + message_json.setdefault("params", {}).setdefault("_meta", {}) + + with self.tracer.start_as_current_span( + name=span_name, kind=span_kind + ) as span: + # Inject trace context + ctx = trace.set_span_in_context(span) + carrier: Dict[str, Any] = {} + self.propagators.inject(carrier=carrier, context=ctx) + message_json["params"]["_meta"].update(carrier) + + # Set span attributes + request_id = getattr(instance, "_request_id", None) + McpInstrumentor._generate_mcp_message_attrs( + span, message, request_id + ) + + # Reconstruct message with injected context + modified_message = message.model_validate(message_json) + new_args = (modified_message,) + args[1:] + + try: + result = await wrapped(*new_args, **kwargs) + span.set_status(Status(StatusCode.OK)) + return result + except Exception as exc: + span.set_status(Status(StatusCode.ERROR, str(exc))) + span.record_exception(exc) + raise + + return async_wrapper() + + async def _wrap_server_handle_request( + self, + wrapped: Callable[..., Coroutine[Any, Any, Any]], + instance: Any, + args: Tuple[Any, ...], + kwargs: Dict[str, Any], + ) -> Any: + """ + Wrap Server._handle_request method. + + Args: + wrapped: Original method + instance: Server instance + args: (session, request) + kwargs: Keyword arguments + """ + # https://github.com/modelcontextprotocol/python-sdk/blob/main/src/mcp/server/lowlevel/server.py + incoming_req = args[1] if len(args) > 1 else None + return await self._wrap_server_message_handler( + wrapped, instance, args, kwargs, incoming_msg=incoming_req + ) + + async def _wrap_server_handle_notification( + self, + wrapped: Callable[..., Coroutine[Any, Any, Any]], + instance: Any, + args: Tuple[Any, ...], + kwargs: Dict[str, Any], + ) -> Any: + """ + Wrap Server._handle_notification method. + + Args: + wrapped: Original method + instance: Server instance + args: (notification,) + kwargs: Keyword arguments + """ + # https://github.com/modelcontextprotocol/python-sdk/blob/main/src/mcp/server/lowlevel/server.py + incoming_notif = args[0] if args else None + return await self._wrap_server_message_handler( + wrapped, instance, args, kwargs, incoming_msg=incoming_notif + ) + + async def _wrap_server_message_handler( + self, + wrapped: Callable[..., Coroutine[Any, Any, Any]], + instance: Any, + args: Tuple[Any, ...], + kwargs: Dict[str, Any], + incoming_msg: Optional[Any], + ) -> Any: + """ + Common handler for server-side request and notification processing. + + Instruments incoming MCP messages by: + 1. Extracting trace context from the message + 2. Creating a linked server span + 3. Recording message attributes + + Args: + wrapped: Original method + instance: Server instance + args: Method arguments + kwargs: Keyword arguments + incoming_msg: The incoming request or notification + + Returns: + Result from the wrapped method + """ + if not incoming_msg: + return await wrapped(*args, **kwargs) + + # Extract request ID if present (only in requests, not notifications) + request_id = getattr(incoming_msg, "id", None) + + # Extract trace context from message metadata + carrier = self._extract_trace_context(incoming_msg) + parent_ctx = self.propagators.extract(carrier=carrier) + + with self.tracer.start_as_current_span( + self._SERVER_SPAN_NAME, + kind=SpanKind.SERVER, + context=parent_ctx, + ) as span: + # Add session ID if available (HTTP transport) + session_id = self._extract_session_id(args) + if session_id: + span.set_attribute( + MCPSpanAttributes.MCP_SESSION_ID, session_id + ) + + # Set message-specific attributes + McpInstrumentor._generate_mcp_message_attrs( + span, incoming_msg, request_id + ) + + try: + result = await wrapped(*args, **kwargs) + span.set_status(Status(StatusCode.OK)) + return result + except Exception as exc: + span.set_status(Status(StatusCode.ERROR, str(exc))) + span.record_exception(exc) + raise + + def _extract_trace_context(self, message: Any) -> Dict[str, Any]: # pylint: disable=no-self-use + """ + Extract trace context carrier from message metadata. + + Args: + message: Incoming MCP message + + Returns: + Dictionary containing trace context or empty dict + """ + try: + if ( + hasattr(message, "params") + and hasattr(message.params, "meta") + and message.params.meta + ): + return message.params.meta.model_dump() + except Exception as exc: # pylint: disable=broad-exception-caught + _LOG.debug("Failed to extract trace context: %s", exc) + return {} + + def _extract_session_id(self, args: Tuple[Any, ...]) -> Optional[str]: # pylint: disable=no-self-use + """ + Extract session ID from HTTP transport headers. + + Args: + args: Server method arguments + + Returns: + Session ID if available, None otherwise + """ + try: + # pylint: disable=import-outside-toplevel + from mcp.shared.message import ServerMessageMetadata + from mcp.shared.session import RequestResponder + + if not args: + return None + + message = args[0] + if not isinstance(message, RequestResponder): + return None + + metadata = message.message_metadata + if not isinstance(metadata, ServerMessageMetadata): + return None + + request_context = metadata.request_context + if not request_context: + return None + + headers = getattr(request_context, "headers", None) + if headers: + return headers.get(self._SESSION_ID_HEADER) + + except Exception as exc: # pylint: disable=broad-exception-caught + _LOG.debug("Failed to extract session ID: %s", exc) + + return None + + @staticmethod + def _generate_mcp_message_attrs( + span: trace.Span, message: Any, request_id: Optional[int] + ) -> None: + """ + Populate span with MCP semantic convention attributes. + + Based on: https://github.com/open-telemetry/semantic-conventions/pull/2083 + Note: These conventions are currently unstable and may change. + + Args: + span: Span to enrich with attributes + message: MCP message (ClientRequest, ServerRequest, etc.) + request_id: Request ID if available (None for notifications) + """ + from mcp import types # pylint: disable=import-outside-toplevel + + # Unwrap root if present (client-side messages) + if hasattr(message, "root"): + message = message.root + + # Set request ID if present + if request_id is not None: + span.set_attribute(MCPSpanAttributes.MCP_REQUEST_ID, request_id) + + # Always set method name + span.set_attribute(MCPSpanAttributes.MCP_METHOD_NAME, message.method) + + # Set message-type-specific attributes + if isinstance(message, types.CallToolRequest): + tool_name = message.params.name + span.update_name(f"{MCPMethodValue.TOOLS_CALL} {tool_name}") + span.set_attribute(MCPSpanAttributes.MCP_TOOL_NAME, tool_name) + + # Add tool arguments as attributes + if message.params.arguments: + for arg_name, arg_val in message.params.arguments.items(): + span.set_attribute( + f"{MCPSpanAttributes.MCP_REQUEST_ARGUMENT}.{arg_name}", + McpInstrumentor.serialize(arg_val), + ) + + elif isinstance(message, types.GetPromptRequest): + prompt_name = message.params.name + span.update_name(f"{MCPMethodValue.PROMPTS_GET} {prompt_name}") + span.set_attribute(MCPSpanAttributes.MCP_PROMPT_NAME, prompt_name) + + elif isinstance( + message, + ( + types.ReadResourceRequest, + types.SubscribeRequest, + types.UnsubscribeRequest, + types.ResourceUpdatedNotification, + ), + ): + resource_uri = str(message.params.uri) + span.update_name(f"{message.method} {resource_uri}") + span.set_attribute( + MCPSpanAttributes.MCP_RESOURCE_URI, resource_uri + ) + + else: + # Generic message - use method name as span name + span.update_name(message.method) + + @staticmethod + def serialize(value: Any) -> str: + """ + Serialize a value to JSON string for span attributes. + + Args: + value: Value to serialize + + Returns: + JSON string or empty string if serialization fails + """ + try: + return json.dumps(value) + except (TypeError, ValueError): + return "" diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/package.py b/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/package.py new file mode 100644 index 0000000000..49d4c2b931 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/package.py @@ -0,0 +1,15 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +_instruments = ("mcp >= 1.8.1",) diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/py.typed b/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/py.typed new file mode 100644 index 0000000000..e69de29bb2 diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/version.py b/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/version.py new file mode 100644 index 0000000000..61ae9b7c25 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/src/opentelemetry/instrumentation/mcp/version.py @@ -0,0 +1,15 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +__version__ = "2.0b0.dev" diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/__init__.py b/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/__init__.py new file mode 100644 index 0000000000..e69de29bb2 diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/requirements.latest.txt b/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/requirements.latest.txt new file mode 100644 index 0000000000..986d0c94f5 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/requirements.latest.txt @@ -0,0 +1,16 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +pytest +pytest-asyncio \ No newline at end of file diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/requirements.oldest.txt b/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/requirements.oldest.txt new file mode 100644 index 0000000000..6837bfa61a --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/requirements.oldest.txt @@ -0,0 +1,20 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +pytest +pytest-asyncio +opentelemetry-api==1.30.0 +opentelemetry-sdk==1.30.0 +opentelemetry-semantic-conventions==0.51b0 +opentelemetry-instrumentation==0.51b0 \ No newline at end of file diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/test_instrumentor.py b/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/test_instrumentor.py new file mode 100644 index 0000000000..7d5b1a8441 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/test_instrumentor.py @@ -0,0 +1,205 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Tests for McpInstrumentor core functionality.""" + +import unittest +from unittest.mock import MagicMock, patch + +from opentelemetry.instrumentation.mcp import McpInstrumentor +from opentelemetry.trace import TracerProvider + + +class TestMcpInstrumentorInit(unittest.TestCase): + """Test McpInstrumentor initialization.""" + + def test_init_default(self) -> None: + """Test default initialization.""" + instrumentor = McpInstrumentor() + self.assertIsNotNone(instrumentor) + self.assertIsNotNone(instrumentor.tracer) + self.assertIsNotNone(instrumentor.propagators) + + def test_init_with_tracer_provider(self) -> None: + """Test initialization with custom tracer provider.""" + mock_provider = MagicMock(spec=TracerProvider) + mock_tracer = MagicMock() + mock_provider.get_tracer.return_value = mock_tracer + + with patch("opentelemetry.trace.get_tracer") as mock_get_tracer: + mock_get_tracer.return_value = mock_tracer + instrumentor = McpInstrumentor(tracer_provider=mock_provider) + self.assertIsNotNone(instrumentor.tracer) + + def test_init_with_propagators(self) -> None: + """Test initialization with custom propagators.""" + mock_propagators = MagicMock() + instrumentor = McpInstrumentor(propagators=mock_propagators) + self.assertEqual(instrumentor.propagators, mock_propagators) + + +class TestMcpInstrumentorDependencies(unittest.TestCase): + """Test instrumentation dependencies.""" + + def test_instrumentation_dependencies(self) -> None: + """Test that instrumentation_dependencies returns correct packages.""" + instrumentor = McpInstrumentor() + deps = instrumentor.instrumentation_dependencies() + self.assertIsNotNone(deps) + self.assertEqual(len(deps), 1) + self.assertIn("mcp >= 1.8.1", deps) + + +class TestMcpInstrumentorInstrument(unittest.TestCase): + """Test _instrument method.""" + + def setUp(self): + self.instrumentor = McpInstrumentor() + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.register_post_import_hook" + ) + def test_instrument_registers_hooks(self, mock_register: MagicMock): + """Test that _instrument registers all required hooks.""" + self.instrumentor._instrument() + self.assertEqual(mock_register.call_count, 4) + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.register_post_import_hook" + ) + def test_instrument_registers_session_hooks( + self, mock_register: MagicMock + ): + """Test that _instrument registers session hooks.""" + self.instrumentor._instrument() + # Verify mcp.shared.session is registered (appears twice for send_request and send_notification) + calls = [ + call[0][1] if len(call[0]) > 1 else None + for call in mock_register.call_args_list + ] + session_calls = [c for c in calls if c == "mcp.shared.session"] + self.assertEqual(len(session_calls), 2) + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.register_post_import_hook" + ) + def test_instrument_registers_server_hooks(self, mock_register: MagicMock): + """Test that _instrument registers server hooks.""" + self.instrumentor._instrument() + # Verify mcp.server.lowlevel.server is registered (appears twice for _handle_request and _handle_notification) + calls = [ + call[0][1] if len(call[0]) > 1 else None + for call in mock_register.call_args_list + ] + server_calls = [c for c in calls if c == "mcp.server.lowlevel.server"] + self.assertEqual(len(server_calls), 2) + + +class TestMcpInstrumentorUninstrument(unittest.TestCase): + """Test _uninstrument method.""" + + def setUp(self): + self.instrumentor = McpInstrumentor() + + @patch("opentelemetry.instrumentation.mcp.instrumentation.unwrap") + def test_uninstrument_unwraps_all(self, mock_unwrap: MagicMock): + """Test that _uninstrument unwraps all hooks.""" + self.instrumentor._uninstrument() + self.assertEqual(mock_unwrap.call_count, 4) + + @patch("opentelemetry.instrumentation.mcp.instrumentation.unwrap") + def test_uninstrument_unwraps_send_request(self, mock_unwrap: MagicMock): + """Test that _uninstrument unwraps send_request.""" + self.instrumentor._uninstrument() + mock_unwrap.assert_any_call( + "mcp.shared.session", "BaseSession.send_request" + ) + + @patch("opentelemetry.instrumentation.mcp.instrumentation.unwrap") + def test_uninstrument_unwraps_send_notification( + self, mock_unwrap: MagicMock + ): + """Test that _uninstrument unwraps send_notification.""" + self.instrumentor._uninstrument() + mock_unwrap.assert_any_call( + "mcp.shared.session", "BaseSession.send_notification" + ) + + @patch("opentelemetry.instrumentation.mcp.instrumentation.unwrap") + def test_uninstrument_unwraps_handle_request(self, mock_unwrap: MagicMock): + """Test that _uninstrument unwraps handle_request.""" + self.instrumentor._uninstrument() + mock_unwrap.assert_any_call( + "mcp.server.lowlevel.server", "Server._handle_request" + ) + + @patch("opentelemetry.instrumentation.mcp.instrumentation.unwrap") + def test_uninstrument_unwraps_handle_notification( + self, mock_unwrap: MagicMock + ): + """Test that _uninstrument unwraps handle_notification.""" + self.instrumentor._uninstrument() + mock_unwrap.assert_any_call( + "mcp.server.lowlevel.server", "Server._handle_notification" + ) + + +class TestMcpInstrumentorSerialize(unittest.TestCase): + """Test serialize static method.""" + + def test_serialize_simple_dict(self) -> None: + """Test serializing a simple dictionary.""" + result = McpInstrumentor.serialize({"key": "value"}) + self.assertEqual(result, '{"key": "value"}') + + def test_serialize_nested_dict(self) -> None: + """Test serializing a nested dictionary.""" + result = McpInstrumentor.serialize({"outer": {"inner": "value"}}) + self.assertEqual(result, '{"outer": {"inner": "value"}}') + + def test_serialize_with_numbers(self) -> None: + """Test serializing dictionary with numbers.""" + result = McpInstrumentor.serialize({"int": 42, "float": 3.14}) + self.assertIn('"int": 42', result) + self.assertIn('"float": 3.14', result) + + def test_serialize_with_list(self) -> None: + """Test serializing dictionary with list.""" + result = McpInstrumentor.serialize({"list": [1, 2, 3]}) + self.assertEqual(result, '{"list": [1, 2, 3]}') + + def test_serialize_empty_dict(self) -> None: + """Test serializing empty dictionary.""" + result = McpInstrumentor.serialize({}) + self.assertEqual(result, "{}") + + def test_serialize_non_serializable(self) -> None: + """Test serializing non-serializable object returns empty string.""" + + class NonSerializable: + pass + + result = McpInstrumentor.serialize({"obj": NonSerializable()}) + self.assertEqual(result, "") + + def test_serialize_with_none(self) -> None: + """Test serializing dictionary with None value.""" + result = McpInstrumentor.serialize({"key": None}) + self.assertEqual(result, '{"key": null}') + + def test_serialize_with_boolean(self) -> None: + """Test serializing dictionary with boolean values.""" + result = McpInstrumentor.serialize({"true": True, "false": False}) + self.assertIn('"true": true', result) + self.assertIn('"false": false', result) diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/test_server_wrapper.py b/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/test_server_wrapper.py new file mode 100644 index 0000000000..c253de2a6d --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/test_server_wrapper.py @@ -0,0 +1,378 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Tests for server-side wrapper methods.""" + +import asyncio +import unittest +from typing import Any +from unittest.mock import MagicMock, patch + +from opentelemetry.instrumentation.mcp import McpInstrumentor +from opentelemetry.trace import SpanKind + + +class MockIncomingRequest: + """Mock incoming request from client.""" + + def __init__( + self, + method: str = "tools/call", + has_id: bool = True, + has_meta: bool = False, + ) -> None: + self.method = method + self.id = 123 if has_id else None + self.params = MagicMock() + if has_meta: + self.params.meta = MagicMock() + self.params.meta.model_dump.return_value = { + "traceparent": "00-trace-span-01" + } + else: + self.params.meta = None + + +class MockIncomingNotification: + """Mock incoming notification from client.""" + + def __init__( + self, method: str = "notifications/initialized", has_meta: bool = False + ) -> None: + self.method = method + self.params = MagicMock() + if has_meta: + self.params.meta = MagicMock() + self.params.meta.model_dump.return_value = { + "traceparent": "00-trace-span-01" + } + else: + self.params.meta = None + + +class TestWrapServerHandleRequest(unittest.TestCase): + """Test _wrap_server_handle_request method.""" + + def setUp(self): + self.instrumentor = McpInstrumentor() + + def test_wrap_server_handle_request_no_request(self) -> None: + """Test wrapper with no request in args.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + return {"result": "success"} + + mock_instance = MagicMock() + result = asyncio.run( + self.instrumentor._wrap_server_handle_request( + mock_wrapped, mock_instance, ("session",), {} + ) + ) + self.assertEqual(result, {"result": "success"}) + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.McpInstrumentor._generate_mcp_message_attrs" + ) + def test_wrap_server_handle_request_with_request( + self, mock_generate_attrs: MagicMock + ): + """Test wrapper with valid request.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + return {"result": "success"} + + mock_instance = MagicMock() + incoming_req = MockIncomingRequest() + + result = asyncio.run( + self.instrumentor._wrap_server_handle_request( + mock_wrapped, mock_instance, ("session", incoming_req), {} + ) + ) + + # Verify the method completes and returns result + self.assertEqual(result, {"result": "success"}) + + +class TestWrapServerHandleNotification(unittest.TestCase): + """Test _wrap_server_handle_notification method.""" + + def setUp(self): + self.instrumentor = McpInstrumentor() + + def test_wrap_server_handle_notification_no_notification(self) -> None: + """Test wrapper with no notification in args.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + return {"result": "success"} + + mock_instance = MagicMock() + result = asyncio.run( + self.instrumentor._wrap_server_handle_notification( + mock_wrapped, mock_instance, (), {} + ) + ) + self.assertEqual(result, {"result": "success"}) + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.McpInstrumentor._generate_mcp_message_attrs" + ) + def test_wrap_server_handle_notification_with_notification( + self, mock_generate_attrs: MagicMock + ): + """Test wrapper with valid notification.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + return {"result": "success"} + + mock_instance = MagicMock() + incoming_notif = MockIncomingNotification() + + result = asyncio.run( + self.instrumentor._wrap_server_handle_notification( + mock_wrapped, mock_instance, (incoming_notif,), {} + ) + ) + + # Verify the method completes and returns result + self.assertEqual(result, {"result": "success"}) + + +class TestWrapServerMessageHandler(unittest.TestCase): + """Test _wrap_server_message_handler method.""" + + def setUp(self): + self.instrumentor = McpInstrumentor() + + def test_wrap_server_message_handler_no_message(self) -> None: + """Test handler with no incoming message.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + return {"result": "success"} + + mock_instance = MagicMock() + result = asyncio.run( + self.instrumentor._wrap_server_message_handler( + mock_wrapped, mock_instance, (), {}, incoming_msg=None + ) + ) + self.assertEqual(result, {"result": "success"}) + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.McpInstrumentor._generate_mcp_message_attrs" + ) + def test_wrap_server_message_handler_with_request_id( + self, mock_generate_attrs: MagicMock + ): + """Test handler extracts request ID from request.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + return {"result": "success"} + + mock_instance = MagicMock() + incoming_msg = MockIncomingRequest(has_id=True) + + with patch.object( + self.instrumentor.tracer, "start_as_current_span" + ) as mock_span_ctx: + mock_span = MagicMock() + mock_span.__enter__ = MagicMock(return_value=mock_span) + mock_span.__exit__ = MagicMock(return_value=None) + mock_span_ctx.return_value = mock_span + + asyncio.run( + self.instrumentor._wrap_server_message_handler( + mock_wrapped, + mock_instance, + (), + {}, + incoming_msg=incoming_msg, + ) + ) + + # Verify span was created with SERVER kind + call_kwargs = mock_span_ctx.call_args[1] + self.assertEqual(call_kwargs["kind"], SpanKind.SERVER) + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.McpInstrumentor._generate_mcp_message_attrs" + ) + def test_wrap_server_message_handler_without_request_id( + self, mock_generate_attrs: MagicMock + ): + """Test handler works without request ID (notification).""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + return {"result": "success"} + + mock_instance = MagicMock() + incoming_msg = MockIncomingNotification() + + with patch.object( + self.instrumentor.tracer, "start_as_current_span" + ) as mock_span_ctx: + mock_span = MagicMock() + mock_span.__enter__ = MagicMock(return_value=mock_span) + mock_span.__exit__ = MagicMock(return_value=None) + mock_span_ctx.return_value = mock_span + + asyncio.run( + self.instrumentor._wrap_server_message_handler( + mock_wrapped, + mock_instance, + (), + {}, + incoming_msg=incoming_msg, + ) + ) + + mock_span_ctx.assert_called_once() + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.McpInstrumentor._generate_mcp_message_attrs" + ) + def test_wrap_server_message_handler_extracts_trace_context( + self, mock_generate_attrs: MagicMock + ): + """Test handler extracts trace context from message meta.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + return {"result": "success"} + + mock_instance = MagicMock() + incoming_msg = MockIncomingRequest(has_meta=True) + + with patch.object( + self.instrumentor.tracer, "start_as_current_span" + ) as mock_span_ctx: + mock_span = MagicMock() + mock_span.__enter__ = MagicMock(return_value=mock_span) + mock_span.__exit__ = MagicMock(return_value=None) + mock_span_ctx.return_value = mock_span + + with patch.object( + self.instrumentor.propagators, "extract" + ) as mock_extract: + mock_extract.return_value = MagicMock() + + asyncio.run( + self.instrumentor._wrap_server_message_handler( + mock_wrapped, + mock_instance, + (), + {}, + incoming_msg=incoming_msg, + ) + ) + + # Verify extract was called with carrier + mock_extract.assert_called_once() + call_kwargs = mock_extract.call_args[1] + self.assertIn("carrier", call_kwargs) + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.McpInstrumentor._generate_mcp_message_attrs" + ) + def test_wrap_server_message_handler_success_status( + self, mock_generate_attrs: MagicMock + ): + """Test handler sets OK status on success.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + return {"result": "success"} + + mock_instance = MagicMock() + incoming_msg = MockIncomingRequest() + + with patch.object( + self.instrumentor.tracer, "start_as_current_span" + ) as mock_span_ctx: + mock_span = MagicMock() + mock_span.__enter__ = MagicMock(return_value=mock_span) + mock_span.__exit__ = MagicMock(return_value=None) + mock_span_ctx.return_value = mock_span + + result = asyncio.run( + self.instrumentor._wrap_server_message_handler( + mock_wrapped, + mock_instance, + (), + {}, + incoming_msg=incoming_msg, + ) + ) + + self.assertEqual(result, {"result": "success"}) + mock_span.set_status.assert_called_once() + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.McpInstrumentor._generate_mcp_message_attrs" + ) + def test_wrap_server_message_handler_error_status( + self, mock_generate_attrs: MagicMock + ): + """Test handler sets ERROR status and records exception.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + raise RuntimeError("Test error") + + mock_instance = MagicMock() + incoming_msg = MockIncomingRequest() + + with patch.object( + self.instrumentor.tracer, "start_as_current_span" + ) as mock_span_ctx: + mock_span = MagicMock() + mock_span.__enter__ = MagicMock(return_value=mock_span) + mock_span.__exit__ = MagicMock(return_value=None) + mock_span_ctx.return_value = mock_span + + with self.assertRaises(RuntimeError): + asyncio.run( + self.instrumentor._wrap_server_message_handler( + mock_wrapped, + mock_instance, + (), + {}, + incoming_msg=incoming_msg, + ) + ) + + mock_span.set_status.assert_called_once() + mock_span.record_exception.assert_called_once() + + +class TestExtractSessionId(unittest.TestCase): + """Test _extract_session_id method.""" + + def setUp(self): + self.instrumentor = McpInstrumentor() + + def test_extract_session_id_no_args(self) -> None: + """Test extraction with no args.""" + result = self.instrumentor._extract_session_id(()) + self.assertIsNone(result) + + def test_extract_session_id_not_request_responder(self) -> None: + """Test extraction with non-RequestResponder object.""" + mock_obj = MagicMock() + result = self.instrumentor._extract_session_id((mock_obj,)) + self.assertIsNone(result) + + def test_extract_session_id_exception(self) -> None: + """Test extraction handles exceptions gracefully.""" + mock_obj = MagicMock() + mock_obj.side_effect = Exception("Test error") + result = self.instrumentor._extract_session_id((mock_obj,)) + self.assertIsNone(result) diff --git a/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/test_session_wrapper.py b/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/test_session_wrapper.py new file mode 100644 index 0000000000..cb01cdc9e8 --- /dev/null +++ b/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/test_session_wrapper.py @@ -0,0 +1,349 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Tests for _wrap_session_send method.""" + +import asyncio +import sys +import unittest +from typing import Any, Optional +from unittest.mock import MagicMock, patch + +from opentelemetry.instrumentation.mcp import McpInstrumentor +from opentelemetry.trace import SpanKind + + +# Mock MCP types +class MockClientRequest: + def __init__( + self, + method: str = "test_method", + params: Optional[dict[str, Any]] = None, + ) -> None: + self.method = method + self.params = params or {} + + def model_dump(self, **kwargs: Any) -> dict[str, Any]: + return {"method": self.method, "params": self.params} + + @classmethod + def model_validate(cls, data: dict[str, Any]) -> "MockClientRequest": + return cls(data.get("method", "test_method"), data.get("params", {})) + + +class MockClientNotification: + def __init__( + self, + method: str = "test_notification", + params: Optional[dict[str, Any]] = None, + ) -> None: + self.method = method + self.params = params or {} + + def model_dump(self, **kwargs: Any) -> dict[str, Any]: + return {"method": self.method, "params": self.params} + + @classmethod + def model_validate(cls, data: dict[str, Any]) -> "MockClientNotification": + return cls(data.get("method", "test_method"), data.get("params", {})) + + +class MockServerRequest: + def __init__( + self, + method: str = "test_method", + params: Optional[dict[str, Any]] = None, + ) -> None: + self.method = method + self.params = params or {} + + def model_dump(self, **kwargs: Any) -> dict[str, Any]: + return {"method": self.method, "params": self.params} + + @classmethod + def model_validate(cls, data: dict[str, Any]) -> "MockServerRequest": + return cls(data.get("method", "test_method"), data.get("params", {})) + + +class MockServerNotification: + def __init__( + self, + method: str = "test_notification", + params: Optional[dict[str, Any]] = None, + ) -> None: + self.method = method + self.params = params or {} + + def model_dump(self, **kwargs: Any) -> dict[str, Any]: + return {"method": self.method, "params": self.params} + + @classmethod + def model_validate(cls, data: dict[str, Any]) -> "MockServerNotification": + return cls(data.get("method", "test_method"), data.get("params", {})) + + +class TestWrapSessionSend(unittest.TestCase): + """Test _wrap_session_send method.""" + + def setUp(self) -> None: + self.instrumentor: McpInstrumentor = McpInstrumentor() + + # Mock mcp.types module + self.mock_types = MagicMock() + self.mock_types.ClientRequest = MockClientRequest + self.mock_types.ClientNotification = MockClientNotification + self.mock_types.ServerRequest = MockServerRequest + self.mock_types.ServerNotification = MockServerNotification + sys.modules["mcp.types"] = self.mock_types + + def tearDown(self): + if "mcp.types" in sys.modules: + del sys.modules["mcp.types"] + + def test_wrap_session_send_no_message(self) -> None: + """Test wrapper with no message in args.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + return {"result": "success"} + + mock_instance = MagicMock() + result = asyncio.run( + self.instrumentor._wrap_session_send( + mock_wrapped, mock_instance, (), {} + ) + ) + self.assertEqual(result, {"result": "success"}) + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.McpInstrumentor._generate_mcp_message_attrs" + ) + def test_wrap_session_send_client_request( + self, mock_generate_attrs: MagicMock + ) -> None: + """Test wrapper with ClientRequest creates CLIENT span.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> dict[str, str]: + return {"result": "success"} + + mock_instance = MagicMock() + mock_instance._request_id = 123 + message = MockClientRequest("tools/call", {"name": "test_tool"}) + + with patch.object( + self.instrumentor.tracer, "start_as_current_span" + ) as mock_span_ctx: + mock_span = MagicMock() + mock_span.__enter__ = MagicMock(return_value=mock_span) + mock_span.__exit__ = MagicMock(return_value=None) + mock_span_ctx.return_value = mock_span + + asyncio.run( + self.instrumentor._wrap_session_send( + mock_wrapped, mock_instance, (message,), {} + ) + ) + + mock_span_ctx.assert_called_once() + call_kwargs = mock_span_ctx.call_args[1] + self.assertEqual(call_kwargs["kind"], SpanKind.CLIENT) + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.McpInstrumentor._generate_mcp_message_attrs" + ) + def test_wrap_session_send_client_notification( + self, mock_generate_attrs: MagicMock + ) -> None: + """Test wrapper with ClientNotification creates CLIENT span.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + return {"result": "success"} + + mock_instance = MagicMock() + message = MockClientNotification("notifications/initialized") + + with patch.object( + self.instrumentor.tracer, "start_as_current_span" + ) as mock_span_ctx: + mock_span = MagicMock() + mock_span.__enter__ = MagicMock(return_value=mock_span) + mock_span.__exit__ = MagicMock(return_value=None) + mock_span_ctx.return_value = mock_span + + asyncio.run( + self.instrumentor._wrap_session_send( + mock_wrapped, mock_instance, (message,), {} + ) + ) + + call_kwargs = mock_span_ctx.call_args[1] + self.assertEqual(call_kwargs["kind"], SpanKind.CLIENT) + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.McpInstrumentor._generate_mcp_message_attrs" + ) + def test_wrap_session_send_server_request( + self, mock_generate_attrs: MagicMock + ) -> None: + """Test wrapper with ServerRequest creates SERVER span.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + return {"result": "success"} + + mock_instance = MagicMock() + message = MockServerRequest("tools/list") + + with patch.object( + self.instrumentor.tracer, "start_as_current_span" + ) as mock_span_ctx: + mock_span = MagicMock() + mock_span.__enter__ = MagicMock(return_value=mock_span) + mock_span.__exit__ = MagicMock(return_value=None) + mock_span_ctx.return_value = mock_span + + asyncio.run( + self.instrumentor._wrap_session_send( + mock_wrapped, mock_instance, (message,), {} + ) + ) + + call_kwargs = mock_span_ctx.call_args[1] + self.assertEqual(call_kwargs["kind"], SpanKind.SERVER) + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.McpInstrumentor._generate_mcp_message_attrs" + ) + def test_wrap_session_send_injects_trace_context( + self, mock_generate_attrs: MagicMock + ) -> None: + """Test that trace context is injected into message.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + # Verify trace context was injected + message: Any = args[0] + message_dict: dict[str, Any] = message.model_dump() + self.assertIn("params", message_dict) + self.assertIn("_meta", message_dict["params"]) + return {"result": "success"} + + mock_instance = MagicMock() + message = MockClientRequest("tools/call") + + with patch.object( + self.instrumentor.tracer, "start_as_current_span" + ) as mock_span_ctx: + mock_span = MagicMock() + mock_span.__enter__ = MagicMock(return_value=mock_span) + mock_span.__exit__ = MagicMock(return_value=None) + mock_span_ctx.return_value = mock_span + + asyncio.run( + self.instrumentor._wrap_session_send( + mock_wrapped, mock_instance, (message,), {} + ) + ) + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.McpInstrumentor._generate_mcp_message_attrs" + ) + def test_wrap_session_send_success_status( + self, mock_generate_attrs: MagicMock + ) -> None: + """Test that successful execution sets OK status.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + return {"result": "success"} + + mock_instance = MagicMock() + message = MockClientRequest("tools/call") + + with patch.object( + self.instrumentor.tracer, "start_as_current_span" + ) as mock_span_ctx: + mock_span = MagicMock() + mock_span.__enter__ = MagicMock(return_value=mock_span) + mock_span.__exit__ = MagicMock(return_value=None) + mock_span_ctx.return_value = mock_span + + result: Any = asyncio.run( + self.instrumentor._wrap_session_send( + mock_wrapped, mock_instance, (message,), {} + ) + ) + + self.assertEqual(result, {"result": "success"}) + mock_span.set_status.assert_called_once() + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.McpInstrumentor._generate_mcp_message_attrs" + ) + def test_wrap_session_send_error_status( + self, mock_generate_attrs: MagicMock + ) -> None: + """Test that exception sets ERROR status and records exception.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + raise ValueError("Test error") + + mock_instance = MagicMock() + message = MockClientRequest("tools/call") + + with patch.object( + self.instrumentor.tracer, "start_as_current_span" + ) as mock_span_ctx: + mock_span = MagicMock() + mock_span.__enter__ = MagicMock(return_value=mock_span) + mock_span.__exit__ = MagicMock(return_value=None) + mock_span_ctx.return_value = mock_span + + with self.assertRaises(ValueError): + asyncio.run( + self.instrumentor._wrap_session_send( + mock_wrapped, mock_instance, (message,), {} + ) + ) + + mock_span.set_status.assert_called_once() + mock_span.record_exception.assert_called_once() + + @patch( + "opentelemetry.instrumentation.mcp.instrumentation.McpInstrumentor._generate_mcp_message_attrs" + ) + def test_wrap_session_send_preserves_existing_params( + self, mock_generate_attrs: MagicMock + ) -> None: + """Test that existing params are preserved.""" + + async def mock_wrapped(*args: Any, **kwargs: Any) -> Any: + message: Any = args[0] + message_dict: dict[str, Any] = message.model_dump() + # Verify existing param is still there + self.assertEqual(message_dict["params"]["name"], "test_tool") + return {"result": "success"} + + mock_instance = MagicMock() + message = MockClientRequest("tools/call", {"name": "test_tool"}) + + with patch.object( + self.instrumentor.tracer, "start_as_current_span" + ) as mock_span_ctx: + mock_span = MagicMock() + mock_span.__enter__ = MagicMock(return_value=mock_span) + mock_span.__exit__ = MagicMock(return_value=None) + mock_span_ctx.return_value = mock_span + + asyncio.run( + self.instrumentor._wrap_session_send( + mock_wrapped, mock_instance, (message,), {} + ) + ) diff --git a/pyproject.toml b/pyproject.toml index 30ada5bb25..00114c8e39 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -203,6 +203,7 @@ include = [ "instrumentation/opentelemetry-instrumentation-threading", "instrumentation-genai/opentelemetry-instrumentation-vertexai", "instrumentation-genai/opentelemetry-instrumentation-langchain", + "instrumentation-genai/opentelemetry-instrumentation-mcp", "instrumentation-genai/opentelemetry-instrumentation-weaviate", "util/opentelemetry-util-genai", "exporter/opentelemetry-exporter-credential-provider-gcp", diff --git a/scripts/generate_instrumentation_bootstrap.py b/scripts/generate_instrumentation_bootstrap.py index 9843885fe6..e6dd2c0dc5 100755 --- a/scripts/generate_instrumentation_bootstrap.py +++ b/scripts/generate_instrumentation_bootstrap.py @@ -68,6 +68,10 @@ # development. This filter will get removed once it is further along in its # development lifecycle and ready to be included by default. "opentelemetry-instrumentation-langchain", + # MCP instrumentation is currently excluded because it is still in early + # development. This filter will get removed once it is further along in its + # development lifecycle and ready to be included by default. + "opentelemetry-instrumentation-mcp", # Weaviate instrumentation is currently excluded because it is still in early # development. This filter will get removed once it is further along in its # development lifecycle and ready to be included by default. diff --git a/tox.ini b/tox.ini index 6d3aee161e..05c36b0825 100644 --- a/tox.ini +++ b/tox.ini @@ -25,6 +25,12 @@ envlist = # pypy3-test-instrumentation-google-genai-{0,1} lint-instrumentation-google-genai + ; instrumentation-mcp + py3{10,11,12,13}-test-instrumentation-mcp-{oldest,latest} + ; MCP Python SDK requires Python >=3.10 + ; pypy3-test-instrumentation-mcp-{oldest,latest} + lint-instrumentation-mcp + ; opentelemetry-resource-detector-containerid py3{9,10,11,12,13}-test-resource-detector-containerid pypy3-test-resource-detector-containerid @@ -471,6 +477,15 @@ deps = google-genai-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.latest.txt lint-instrumentation-google-genai: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests/requirements.oldest.txt + mcp-oldest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/requirements.oldest.txt + mcp-oldest: -e {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-mcp + mcp-latest: {[testenv]test_deps} + mcp-latest: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/requirements.latest.txt + mcp-latest: -e {toxinidir}/opentelemetry-instrumentation + mcp-latest: -e {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-mcp + lint-instrumentation-mcp: -r {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-mcp/tests/requirements.oldest.txt + lint-instrumentation-mcp: -e {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-mcp + asgi: {[testenv]test_deps} asgi: -r {toxinidir}/instrumentation/opentelemetry-instrumentation-asgi/test-requirements.txt @@ -854,6 +869,9 @@ commands = test-instrumentation-google-genai: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai/tests --vcr-record=none {posargs} lint-instrumentation-google-genai: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-google-genai" + test-instrumentation-mcp: pytest {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-mcp/tests {posargs} + lint-instrumentation-mcp: sh -c "cd instrumentation-genai && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-mcp" + test-instrumentation-sio-pika: pytest {toxinidir}/instrumentation/opentelemetry-instrumentation-pika/tests {posargs} lint-instrumentation-sio-pika: sh -c "cd instrumentation && pylint --rcfile ../.pylintrc opentelemetry-instrumentation-pika" @@ -1075,6 +1093,7 @@ deps = {toxinidir}/util/opentelemetry-util-genai[upload] {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-vertexai[instruments] {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-google-genai[instruments] + {toxinidir}/instrumentation-genai/opentelemetry-instrumentation-mcp[instruments] {toxinidir}/instrumentation/opentelemetry-instrumentation-aiokafka[instruments] {toxinidir}/instrumentation/opentelemetry-instrumentation-asyncclick[instruments] {toxinidir}/exporter/opentelemetry-exporter-credential-provider-gcp diff --git a/uv.lock b/uv.lock index 5150ff87da..596239dbb3 100644 --- a/uv.lock +++ b/uv.lock @@ -1,12 +1,11 @@ version = 1 revision = 1 -requires-python = ">=3.9" +requires-python = ">=3.10, <3.14" resolution-markers = [ "python_full_version >= '3.13'", "python_full_version >= '3.12.4' and python_full_version < '3.13'", "python_full_version >= '3.11' and python_full_version < '3.12.4'", - "python_full_version == '3.10.*'", - "python_full_version < '3.10'", + "python_full_version < '3.11'", ] [manifest] @@ -45,6 +44,7 @@ members = [ "opentelemetry-instrumentation-kafka-python", "opentelemetry-instrumentation-langchain", "opentelemetry-instrumentation-logging", + "opentelemetry-instrumentation-mcp", "opentelemetry-instrumentation-mysql", "opentelemetry-instrumentation-mysqlclient", "opentelemetry-instrumentation-openai-agents-v2", @@ -86,7 +86,6 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiormq" }, { name = "exceptiongroup" }, - { name = "typing-extensions", marker = "python_full_version < '3.10'" }, { name = "yarl" }, ] sdist = { url = "https://files.pythonhosted.org/packages/48/00/5391405f15e85bd6cb859186dbe04d99186ca29410a7cdc52848b55a1d72/aio_pika-9.5.5.tar.gz", hash = "sha256:3d2f25838860fa7e209e21fc95555f558401f9b49a832897419489f1c9e1d6a4", size = 48468 } @@ -183,22 +182,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f6/0b/b5524b3bb4b01e91bc4323aad0c2fcaebdf2f1b4d2eb22743948ba364958/aiohttp-3.11.18-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d4df95ad522c53f2b9ebc07f12ccd2cb15550941e11a5bbc5ddca2ca56316d7", size = 1666614 }, { url = "https://files.pythonhosted.org/packages/c7/b7/3d7b036d5a4ed5a4c704e0754afe2eef24a824dfab08e6efbffb0f6dd36a/aiohttp-3.11.18-cp313-cp313-win32.whl", hash = "sha256:cdd1bbaf1e61f0d94aced116d6e95fe25942f7a5f42382195fd9501089db5d78", size = 411358 }, { url = "https://files.pythonhosted.org/packages/1e/3c/143831b32cd23b5263a995b2a1794e10aa42f8a895aae5074c20fda36c07/aiohttp-3.11.18-cp313-cp313-win_amd64.whl", hash = "sha256:bdd619c27e44382cf642223f11cfd4d795161362a5a1fc1fa3940397bc89db01", size = 437658 }, - { url = "https://files.pythonhosted.org/packages/da/fa/14e97d31f602866abeeb7af07c47fccd2ad92542250531b7b2975633f817/aiohttp-3.11.18-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:469ac32375d9a716da49817cd26f1916ec787fc82b151c1c832f58420e6d3533", size = 712454 }, - { url = "https://files.pythonhosted.org/packages/54/18/c651486e8f8dd44bcb79b9c2bbfd2efde42e10ddb8bbac9caa7d6e1363f6/aiohttp-3.11.18-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3cec21dd68924179258ae14af9f5418c1ebdbba60b98c667815891293902e5e0", size = 471772 }, - { url = "https://files.pythonhosted.org/packages/0e/79/3b3f5b29e1c7313569cf86bc6a08484de700a8af5b7c98daa2e25cfe3f31/aiohttp-3.11.18-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b426495fb9140e75719b3ae70a5e8dd3a79def0ae3c6c27e012fc59f16544a4a", size = 457978 }, - { url = "https://files.pythonhosted.org/packages/e3/40/f894bb78bf5d02663dac6b853965e66f18478db9fa8dbab0111a1ef06d80/aiohttp-3.11.18-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ad2f41203e2808616292db5d7170cccf0c9f9c982d02544443c7eb0296e8b0c7", size = 1598194 }, - { url = "https://files.pythonhosted.org/packages/e0/f4/206e072bd546786d225c8cd173e35a5a8a0e1c904cbea31ab7d415a40e48/aiohttp-3.11.18-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5bc0ae0a5e9939e423e065a3e5b00b24b8379f1db46046d7ab71753dfc7dd0e1", size = 1636984 }, - { url = "https://files.pythonhosted.org/packages/1c/b6/762fb278cc06fb6a6d1ab698ac9ccc852913684e69ed6c9ce58e201deb5e/aiohttp-3.11.18-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fe7cdd3f7d1df43200e1c80f1aed86bb36033bf65e3c7cf46a2b97a253ef8798", size = 1670821 }, - { url = "https://files.pythonhosted.org/packages/5d/04/83179727a2ff485da1121d22817830173934b4f5c62cc16fccdd962a30ec/aiohttp-3.11.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5199be2a2f01ffdfa8c3a6f5981205242986b9e63eb8ae03fd18f736e4840721", size = 1594289 }, - { url = "https://files.pythonhosted.org/packages/0b/3d/ce16c66106086b25b9c8f2e0ec5b4ba6b9a57463ec80ecfe09905bc5d626/aiohttp-3.11.18-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7ccec9e72660b10f8e283e91aa0295975c7bd85c204011d9f5eb69310555cf30", size = 1541054 }, - { url = "https://files.pythonhosted.org/packages/22/23/6357f8cc4240ff10fa9720a53dbcb42998dc845a76496ac5a726e51af9a8/aiohttp-3.11.18-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1596ebf17e42e293cbacc7a24c3e0dc0f8f755b40aff0402cb74c1ff6baec1d3", size = 1531172 }, - { url = "https://files.pythonhosted.org/packages/9d/6a/64e39ae4c5d7fd308be394661c136a664df5b801d850376638add277e2a1/aiohttp-3.11.18-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:eab7b040a8a873020113ba814b7db7fa935235e4cbaf8f3da17671baa1024863", size = 1547347 }, - { url = "https://files.pythonhosted.org/packages/dd/6a/91d0c16776e46cc05c59ffc998f9c8b9559534be45c70f579cd93fd6b231/aiohttp-3.11.18-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:5d61df4a05476ff891cff0030329fee4088d40e4dc9b013fac01bc3c745542c2", size = 1526207 }, - { url = "https://files.pythonhosted.org/packages/44/49/05eb21c47530b06a562f812ebf96028ada312b80f3a348a33447fac47e3d/aiohttp-3.11.18-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:46533e6792e1410f9801d09fd40cbbff3f3518d1b501d6c3c5b218f427f6ff08", size = 1605179 }, - { url = "https://files.pythonhosted.org/packages/d9/01/16ef0248d7ae21340bcef794197774076f9b1326d5c97372eb07a9df4955/aiohttp-3.11.18-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c1b90407ced992331dd6d4f1355819ea1c274cc1ee4d5b7046c6761f9ec11829", size = 1625656 }, - { url = "https://files.pythonhosted.org/packages/45/71/250147cc232ea93cba34092c80a0dffa889e9ca0020b65c5913721473a12/aiohttp-3.11.18-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a2fd04ae4971b914e54fe459dd7edbbd3f2ba875d69e057d5e3c8e8cac094935", size = 1565783 }, - { url = "https://files.pythonhosted.org/packages/d0/22/1a949e69cb9654e67b45831f675d2bfa5627eb61c4c4707a209ba5863ef4/aiohttp-3.11.18-cp39-cp39-win32.whl", hash = "sha256:b2f317d1678002eee6fe85670039fb34a757972284614638f82b903a03feacdc", size = 418350 }, - { url = "https://files.pythonhosted.org/packages/4f/ca/3f44aabf63be958ee8ee0cb4c7ad24ea58cc73b0a73919bac9a0b4b92410/aiohttp-3.11.18-cp39-cp39-win_amd64.whl", hash = "sha256:5e7007b8d1d09bce37b54111f593d173691c530b80f27c6493b928dabed9e6ef", size = 443178 }, ] [[package]] @@ -236,12 +219,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/d9/20/69f913a76916e94c4e783dc7d0d05a25c384b25faec33e121062c62411fe/aiokafka-0.12.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08c84b3894d97fd02fcc8886f394000d0f5ce771fab5c498ea2b0dd2f6b46d5b", size = 1171893 }, { url = "https://files.pythonhosted.org/packages/16/65/41cc1b19e7dea623ef58f3bf1e2720377c5757a76d9799d53a1b5fc39255/aiokafka-0.12.0-cp313-cp313-win32.whl", hash = "sha256:63875fed922c8c7cf470d9b2a82e1b76b4a1baf2ae62e07486cf516fd09ff8f2", size = 345933 }, { url = "https://files.pythonhosted.org/packages/bf/0d/4cb57231ff650a01123a09075bf098d8fdaf94b15a1a58465066b2251e8b/aiokafka-0.12.0-cp313-cp313-win_amd64.whl", hash = "sha256:bdc0a83eb386d2384325d6571f8ef65b4cfa205f8d1c16d7863e8d10cacd995a", size = 363194 }, - { url = "https://files.pythonhosted.org/packages/40/22/54ff080c72e53d1b1fe7dc9caf199b03eefbbf1fddb6654510f855447b2f/aiokafka-0.12.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a9590554fae68ec80099beae5366f2494130535a1a3db0c4fa5ccb08f37f6e46", size = 376849 }, - { url = "https://files.pythonhosted.org/packages/d4/49/c181d27e22e9042f5acc3dcc30799057c37ff593f037827d3bc97658cfd5/aiokafka-0.12.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6c77f5953ff4b25c889aef26df1f28df66c58db7abb7f34ecbe48502e9a6d273", size = 373821 }, - { url = "https://files.pythonhosted.org/packages/36/f5/c94d6f60c1d32dca606b39d3915bcd8165ff8a9259837ffee11c5713dc75/aiokafka-0.12.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f96d7fd8fdb5f439f7e7860fd8ec37870265d0578475e82049bce60ab07ca045", size = 1088780 }, - { url = "https://files.pythonhosted.org/packages/50/46/f63298e15028abd42876af47fabfd5e55bcf2c91e2cd581428acd0feded1/aiokafka-0.12.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b8ddff02b1e981083dff6d1a80d4502e0e83e0e480faf1f881766ca6f23e8d22", size = 1102714 }, - { url = "https://files.pythonhosted.org/packages/2d/f1/e3a80998715f479fbe2c3ccba1ba2f02fd65c3a82c6605e63c4188b76e25/aiokafka-0.12.0-cp39-cp39-win32.whl", hash = "sha256:4aab2767dcc8923626d8d60c314f9ba633563249cff71750db5d70b6ec813da2", size = 350767 }, - { url = "https://files.pythonhosted.org/packages/20/9e/89f8b9ff21fddfe3041fae2a476cd3816a9208e84f5432669f1d6ae3d8c7/aiokafka-0.12.0-cp39-cp39-win_amd64.whl", hash = "sha256:7a57fda053acd1b88c87803ad0381a1d2a29d36ec561550d11ce9154972b8e23", size = 369974 }, ] [[package]] @@ -406,14 +383,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ef/5f/0bf65511d4eeac3a1f41c54034a492515a707c6edbc642174ae79034d3ba/asyncpg-0.30.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:04ff0785ae7eed6cc138e73fc67b8e51d54ee7a3ce9b63666ce55a0bf095f7ba", size = 3662720 }, { url = "https://files.pythonhosted.org/packages/e7/31/1513d5a6412b98052c3ed9158d783b1e09d0910f51fbe0e05f56cc370bc4/asyncpg-0.30.0-cp313-cp313-win32.whl", hash = "sha256:ae374585f51c2b444510cdf3595b97ece4f233fde739aa14b50e0d64e8a7a590", size = 560404 }, { url = "https://files.pythonhosted.org/packages/c8/a4/cec76b3389c4c5ff66301cd100fe88c318563ec8a520e0b2e792b5b84972/asyncpg-0.30.0-cp313-cp313-win_amd64.whl", hash = "sha256:f59b430b8e27557c3fb9869222559f7417ced18688375825f8f12302c34e915e", size = 621623 }, - { url = "https://files.pythonhosted.org/packages/b4/82/d94f3ed6921136a0ef40a825740eda19437ccdad7d92d924302dca1d5c9e/asyncpg-0.30.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:6f4e83f067b35ab5e6371f8a4c93296e0439857b4569850b178a01385e82e9ad", size = 673026 }, - { url = "https://files.pythonhosted.org/packages/4e/db/7db8b73c5d86ec9a21807f405e0698f8f637a8a3ca14b7b6fd4259b66bcf/asyncpg-0.30.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5df69d55add4efcd25ea2a3b02025b669a285b767bfbf06e356d68dbce4234ff", size = 644732 }, - { url = "https://files.pythonhosted.org/packages/eb/a0/1f1910659d08050cb3e8f7d82b32983974798d7fd4ddf7620b8e2023d4ac/asyncpg-0.30.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a3479a0d9a852c7c84e822c073622baca862d1217b10a02dd57ee4a7a081f708", size = 2911761 }, - { url = "https://files.pythonhosted.org/packages/4d/53/5aa0d92488ded50bab2b6626430ed9743b0b7e2d864a2b435af1ccbf219a/asyncpg-0.30.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26683d3b9a62836fad771a18ecf4659a30f348a561279d6227dab96182f46144", size = 2946595 }, - { url = "https://files.pythonhosted.org/packages/c5/cd/d6d548d8ee721f4e0f7fbbe509bbac140d556c2e45814d945540c96cf7d4/asyncpg-0.30.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1b982daf2441a0ed314bd10817f1606f1c28b1136abd9e4f11335358c2c631cb", size = 2890135 }, - { url = "https://files.pythonhosted.org/packages/46/f0/28df398b685dabee20235e24880e1f6486d84ae7e6b0d11bdebc17740e7a/asyncpg-0.30.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1c06a3a50d014b303e5f6fc1e5f95eb28d2cee89cf58384b700da621e5d5e547", size = 3011889 }, - { url = "https://files.pythonhosted.org/packages/c8/07/8c7ffe6fe8bccff9b12fcb6410b1b2fa74b917fd8b837806a40217d5228b/asyncpg-0.30.0-cp39-cp39-win32.whl", hash = "sha256:1b11a555a198b08f5c4baa8f8231c74a366d190755aa4f99aacec5970afe929a", size = 569406 }, - { url = "https://files.pythonhosted.org/packages/05/51/f59e4df6d9b8937530d4b9fdee1598b93db40c631fe94ff3ce64207b7a95/asyncpg-0.30.0-cp39-cp39-win_amd64.whl", hash = "sha256:8b684a3c858a83cd876f05958823b68e8d14ec01bb0c0d14a6704c5bf9711773", size = 626581 }, ] [[package]] @@ -485,8 +454,7 @@ source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "jmespath" }, { name = "python-dateutil" }, - { name = "urllib3", version = "1.26.20", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "urllib3", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "urllib3" }, ] sdist = { url = "https://files.pythonhosted.org/packages/05/4a/89f2beab6757c900b15aa301227c9447feff7d327ff0595a2b74406a388c/botocore-1.38.21.tar.gz", hash = "sha256:08d5e9c00e5cc9e0ae0e60570846011789dc7f1d4ea094b3f3e3f3ae1ff2063a", size = 13904318 } wheels = [ @@ -529,12 +497,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fb/01/703dd0bdfe694fa320863e70472c0adda25fbccb2bcb92076e9773ad96cd/cassandra_driver-3.29.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee0ebe8eb4fb007d8001ffcd1c3828b74defeb01075d8a1f1116ae9c60f75541", size = 3597748 }, { url = "https://files.pythonhosted.org/packages/d3/b7/723d67d84016bf913b59826f43dd9288cf8593a514c0f9650d703748a369/cassandra_driver-3.29.2-cp312-cp312-win32.whl", hash = "sha256:83dc9399cdabe482fd3095ca54ec227212d8c491b563a7276f6c100e30ee856c", size = 340921 }, { url = "https://files.pythonhosted.org/packages/4d/49/89dcb4f4522b5c72fbd7216cae6e23bf26586728be13fb13685ea4ee1149/cassandra_driver-3.29.2-cp312-cp312-win_amd64.whl", hash = "sha256:6c74610f56a4c53863a5d44a2af9c6c3405da19d51966fabd85d7f927d5c6abc", size = 348681 }, - { url = "https://files.pythonhosted.org/packages/09/f2/beb22f1416c13a3f19acb8b1d42d72c75e3bf4b5eb20ad28c94c4da994de/cassandra_driver-3.29.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:70d4d0dce373943308ad461a425fc70a23d0f524859367b8c6fc292400f39954", size = 363773 }, - { url = "https://files.pythonhosted.org/packages/07/4e/01d207c651184c8d3e938385114dde38a761629fe5659d98b98906030fce/cassandra_driver-3.29.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b86427fab4d5a96e91ad82bb9338d4101ae4d3758ba96c356e0198da3de4d350", size = 364088 }, - { url = "https://files.pythonhosted.org/packages/ee/06/2b0142ebbebfe2ad020595e28a552e31429f450ddd1dba29e7f8272b533b/cassandra_driver-3.29.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c25b42e1a99f377a933d79ae93ea27601e337a5abb7bb843a0e951cf1b3836f7", size = 3835223 }, - { url = "https://files.pythonhosted.org/packages/bd/6b/230a74e2064701f1409ab68b00d79f613cb9b5412e7b8d6b3ce8871184b5/cassandra_driver-3.29.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9e36437288d6cd6f6c74b8ee5997692126e24adc2da3d031dc11c7dfea8bc220", size = 4108665 }, - { url = "https://files.pythonhosted.org/packages/fb/30/b07d879f44524b85e2887f4fe7868f495f72f93bdfff017197f0cc695d2f/cassandra_driver-3.29.2-cp39-cp39-win32.whl", hash = "sha256:e967c1341a651f03bdc466f3835d72d3c0a0648b562035e6d780fa0b796c02f6", size = 340915 }, - { url = "https://files.pythonhosted.org/packages/be/52/def64fd66c7e75ae71c9ff4f16750e0a46221d09dc93823f1dcfb7fc9c23/cassandra_driver-3.29.2-cp39-cp39-win_amd64.whl", hash = "sha256:c5a9aab2367e8aad48ae853847a5a8985749ac5f102676de2c119b33fef13b42", size = 348646 }, ] [[package]] @@ -543,8 +505,7 @@ version = "5.5.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "billiard" }, - { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "click" }, { name = "click-didyoumean" }, { name = "click-plugins" }, { name = "click-repl" }, @@ -621,18 +582,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/f1/47/d7145bf2dc04684935d57d67dff9d6d795b2ba2796806bb109864be3a151/cffi-1.17.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:72e72408cad3d5419375fc87d289076ee319835bdfa2caad331e377589aebba9", size = 488469 }, { url = "https://files.pythonhosted.org/packages/bf/ee/f94057fa6426481d663b88637a9a10e859e492c73d0384514a17d78ee205/cffi-1.17.1-cp313-cp313-win32.whl", hash = "sha256:e03eab0a8677fa80d646b5ddece1cbeaf556c313dcfac435ba11f107ba117b5d", size = 172475 }, { url = "https://files.pythonhosted.org/packages/7c/fc/6a8cb64e5f0324877d503c854da15d76c1e50eb722e320b15345c4d0c6de/cffi-1.17.1-cp313-cp313-win_amd64.whl", hash = "sha256:f6a16c31041f09ead72d69f583767292f750d24913dadacf5756b966aacb3f1a", size = 182009 }, - { url = "https://files.pythonhosted.org/packages/b9/ea/8bb50596b8ffbc49ddd7a1ad305035daa770202a6b782fc164647c2673ad/cffi-1.17.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:b2ab587605f4ba0bf81dc0cb08a41bd1c0a5906bd59243d56bad7668a6fc6c16", size = 182220 }, - { url = "https://files.pythonhosted.org/packages/ae/11/e77c8cd24f58285a82c23af484cf5b124a376b32644e445960d1a4654c3a/cffi-1.17.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:28b16024becceed8c6dfbc75629e27788d8a3f9030691a1dbf9821a128b22c36", size = 178605 }, - { url = "https://files.pythonhosted.org/packages/ed/65/25a8dc32c53bf5b7b6c2686b42ae2ad58743f7ff644844af7cdb29b49361/cffi-1.17.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1d599671f396c4723d016dbddb72fe8e0397082b0a77a4fab8028923bec050e8", size = 424910 }, - { url = "https://files.pythonhosted.org/packages/42/7a/9d086fab7c66bd7c4d0f27c57a1b6b068ced810afc498cc8c49e0088661c/cffi-1.17.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ca74b8dbe6e8e8263c0ffd60277de77dcee6c837a3d0881d8c1ead7268c9e576", size = 447200 }, - { url = "https://files.pythonhosted.org/packages/da/63/1785ced118ce92a993b0ec9e0d0ac8dc3e5dbfbcaa81135be56c69cabbb6/cffi-1.17.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7f5baafcc48261359e14bcd6d9bff6d4b28d9103847c9e136694cb0501aef87", size = 454565 }, - { url = "https://files.pythonhosted.org/packages/74/06/90b8a44abf3556599cdec107f7290277ae8901a58f75e6fe8f970cd72418/cffi-1.17.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98e3969bcff97cae1b2def8ba499ea3d6f31ddfdb7635374834cf89a1a08ecf0", size = 435635 }, - { url = "https://files.pythonhosted.org/packages/bd/62/a1f468e5708a70b1d86ead5bab5520861d9c7eacce4a885ded9faa7729c3/cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cdf5ce3acdfd1661132f2a9c19cac174758dc2352bfe37d98aa7512c6b7178b3", size = 445218 }, - { url = "https://files.pythonhosted.org/packages/5b/95/b34462f3ccb09c2594aa782d90a90b045de4ff1f70148ee79c69d37a0a5a/cffi-1.17.1-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:9755e4345d1ec879e3849e62222a18c7174d65a6a92d5b346b1863912168b595", size = 460486 }, - { url = "https://files.pythonhosted.org/packages/fc/fc/a1e4bebd8d680febd29cf6c8a40067182b64f00c7d105f8f26b5bc54317b/cffi-1.17.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:f1e22e8c4419538cb197e4dd60acc919d7696e5ef98ee4da4e01d3f8cfa4cc5a", size = 437911 }, - { url = "https://files.pythonhosted.org/packages/e6/c3/21cab7a6154b6a5ea330ae80de386e7665254835b9e98ecc1340b3a7de9a/cffi-1.17.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:c03e868a0b3bc35839ba98e74211ed2b05d2119be4e8a0f224fba9384f1fe02e", size = 460632 }, - { url = "https://files.pythonhosted.org/packages/cb/b5/fd9f8b5a84010ca169ee49f4e4ad6f8c05f4e3545b72ee041dbbcb159882/cffi-1.17.1-cp39-cp39-win32.whl", hash = "sha256:e31ae45bc2e29f6b2abd0de1cc3b9d5205aa847cafaecb8af1476a609a2f6eb7", size = 171820 }, - { url = "https://files.pythonhosted.org/packages/8c/52/b08750ce0bce45c143e1b5d7357ee8c55341b52bdef4b0f081af1eb248c2/cffi-1.17.1-cp39-cp39-win_amd64.whl", hash = "sha256:d016c76bdd850f3c626af19b0542c9677ba156e4ee4fccfdd7848803533ef662", size = 181290 }, ] [[package]] @@ -693,49 +642,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/78/be/8392efc43487ac051eee6c36d5fbd63032d78f7728cb37aebcc98191f1ff/charset_normalizer-3.4.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4a476b06fbcf359ad25d34a057b7219281286ae2477cc5ff5e3f70a246971148", size = 149166 }, { url = "https://files.pythonhosted.org/packages/44/96/392abd49b094d30b91d9fbda6a69519e95802250b777841cf3bda8fe136c/charset_normalizer-3.4.2-cp313-cp313-win32.whl", hash = "sha256:aaeeb6a479c7667fbe1099af9617c83aaca22182d6cf8c53966491a0f1b7ffb7", size = 98064 }, { url = "https://files.pythonhosted.org/packages/e9/b0/0200da600134e001d91851ddc797809e2fe0ea72de90e09bec5a2fbdaccb/charset_normalizer-3.4.2-cp313-cp313-win_amd64.whl", hash = "sha256:aa6af9e7d59f9c12b33ae4e9450619cf2488e2bbe9b44030905877f0b2324980", size = 105641 }, - { url = "https://files.pythonhosted.org/packages/28/f8/dfb01ff6cc9af38552c69c9027501ff5a5117c4cc18dcd27cb5259fa1888/charset_normalizer-3.4.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:005fa3432484527f9732ebd315da8da8001593e2cf46a3d817669f062c3d9ed4", size = 201671 }, - { url = "https://files.pythonhosted.org/packages/32/fb/74e26ee556a9dbfe3bd264289b67be1e6d616329403036f6507bb9f3f29c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e92fca20c46e9f5e1bb485887d074918b13543b1c2a1185e69bb8d17ab6236a7", size = 144744 }, - { url = "https://files.pythonhosted.org/packages/ad/06/8499ee5aa7addc6f6d72e068691826ff093329fe59891e83b092ae4c851c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:50bf98d5e563b83cc29471fa114366e6806bc06bc7a25fd59641e41445327836", size = 154993 }, - { url = "https://files.pythonhosted.org/packages/f1/a2/5e4c187680728219254ef107a6949c60ee0e9a916a5dadb148c7ae82459c/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:721c76e84fe669be19c5791da68232ca2e05ba5185575086e384352e2c309597", size = 147382 }, - { url = "https://files.pythonhosted.org/packages/4c/fe/56aca740dda674f0cc1ba1418c4d84534be51f639b5f98f538b332dc9a95/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82d8fd25b7f4675d0c47cf95b594d4e7b158aca33b76aa63d07186e13c0e0ab7", size = 149536 }, - { url = "https://files.pythonhosted.org/packages/53/13/db2e7779f892386b589173dd689c1b1e304621c5792046edd8a978cbf9e0/charset_normalizer-3.4.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b3daeac64d5b371dea99714f08ffc2c208522ec6b06fbc7866a450dd446f5c0f", size = 151349 }, - { url = "https://files.pythonhosted.org/packages/69/35/e52ab9a276186f729bce7a0638585d2982f50402046e4b0faa5d2c3ef2da/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:dccab8d5fa1ef9bfba0590ecf4d46df048d18ffe3eec01eeb73a42e0d9e7a8ba", size = 146365 }, - { url = "https://files.pythonhosted.org/packages/a6/d8/af7333f732fc2e7635867d56cb7c349c28c7094910c72267586947561b4b/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:aaf27faa992bfee0264dc1f03f4c75e9fcdda66a519db6b957a3f826e285cf12", size = 154499 }, - { url = "https://files.pythonhosted.org/packages/7a/3d/a5b2e48acef264d71e036ff30bcc49e51bde80219bb628ba3e00cf59baac/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:eb30abc20df9ab0814b5a2524f23d75dcf83cde762c161917a2b4b7b55b1e518", size = 157735 }, - { url = "https://files.pythonhosted.org/packages/85/d8/23e2c112532a29f3eef374375a8684a4f3b8e784f62b01da931186f43494/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c72fbbe68c6f32f251bdc08b8611c7b3060612236e960ef848e0a517ddbe76c5", size = 154786 }, - { url = "https://files.pythonhosted.org/packages/c7/57/93e0169f08ecc20fe82d12254a200dfaceddc1c12a4077bf454ecc597e33/charset_normalizer-3.4.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:982bb1e8b4ffda883b3d0a521e23abcd6fd17418f6d2c4118d257a10199c0ce3", size = 150203 }, - { url = "https://files.pythonhosted.org/packages/2c/9d/9bf2b005138e7e060d7ebdec7503d0ef3240141587651f4b445bdf7286c2/charset_normalizer-3.4.2-cp39-cp39-win32.whl", hash = "sha256:43e0933a0eff183ee85833f341ec567c0980dae57c464d8a508e1b2ceb336471", size = 98436 }, - { url = "https://files.pythonhosted.org/packages/6d/24/5849d46cf4311bbf21b424c443b09b459f5b436b1558c04e45dbb7cc478b/charset_normalizer-3.4.2-cp39-cp39-win_amd64.whl", hash = "sha256:d11b54acf878eef558599658b0ffca78138c8c3655cf4f3a4a673c437e67732e", size = 105772 }, { url = "https://files.pythonhosted.org/packages/20/94/c5790835a017658cbfabd07f3bfb549140c3ac458cfc196323996b10095a/charset_normalizer-3.4.2-py3-none-any.whl", hash = "sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0", size = 52626 }, ] -[[package]] -name = "click" -version = "8.1.8" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "colorama", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/b9/2e/0090cbf739cee7d23781ad4b89a9894a41538e4fcf4c31dcdd705b78eb8b/click-8.1.8.tar.gz", hash = "sha256:ed53c9d8990d83c2a27deae68e4ee337473f6330c040a31d4225c9574d16096a", size = 226593 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/7e/d4/7ebdbd03970677812aac39c869717059dbb71a4cfc033ca6e5221787892c/click-8.1.8-py3-none-any.whl", hash = "sha256:63c132bbbed01578a06712a2d1f497bb62d9c1c0d329b7903a866228027263b2", size = 98188 }, -] - [[package]] name = "click" version = "8.2.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.13'", - "python_full_version >= '3.12.4' and python_full_version < '3.13'", - "python_full_version >= '3.11' and python_full_version < '3.12.4'", - "python_full_version == '3.10.*'", -] dependencies = [ - { name = "colorama", marker = "python_full_version >= '3.10' and sys_platform == 'win32'" }, + { 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 } wheels = [ @@ -747,8 +662,7 @@ name = "click-didyoumean" version = "0.3.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "click" }, ] sdist = { url = "https://files.pythonhosted.org/packages/30/ce/217289b77c590ea1e7c24242d9ddd6e249e52c795ff10fac2c50062c48cb/click_didyoumean-0.3.1.tar.gz", hash = "sha256:4f82fdff0dbe64ef8ab2279bd6aa3f6a99c3b28c05aa09cbfc07c9d7fbb5a463", size = 3089 } wheels = [ @@ -760,8 +674,7 @@ name = "click-plugins" version = "1.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "click" }, ] sdist = { url = "https://files.pythonhosted.org/packages/5f/1d/45434f64ed749540af821fd7e42b8e4d23ac04b1eda7c26613288d6cd8a8/click-plugins-1.1.1.tar.gz", hash = "sha256:46ab999744a9d831159c3411bb0c79346d94a444df9a3a3742e9ed63645f264b", size = 8164 } wheels = [ @@ -773,8 +686,7 @@ name = "click-repl" version = "0.3.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "click" }, { name = "prompt-toolkit" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cb/a2/57f4ac79838cfae6912f997b4d1a64a858fb0c86d7fcaae6f7b58d267fca/click-repl-0.3.0.tar.gz", hash = "sha256:17849c23dba3d667247dc4defe1757fff98694e90fe37474f3feebb69ced26a9", size = 10449 } @@ -817,11 +729,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/15/93/4abec01bd4c10cc76370283f4864984953a933b1662015768f7470605fb3/confluent_kafka-2.7.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:9c3afbec1845d95ccd0cd5e5b986f68d8107b45425e10f1fedeffa908c498f64", size = 15310737 }, { url = "https://files.pythonhosted.org/packages/0b/f6/9ce815410402bb6ef22a9fe3fc3fae9108da76754a92e6d635deaa697541/confluent_kafka-2.7.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:81a985d1ba1d0e66e99cb4bca7bfe302f3bbf06dd6e20be07dfe9661a1eedae3", size = 4021301 }, { url = "https://files.pythonhosted.org/packages/8d/15/53754e9348fef075a9bcd3a84b3405e8c20f1d111930e644be4fd3d39a16/confluent_kafka-2.7.0-cp313-cp313-win_amd64.whl", hash = "sha256:d1cb3d365bb4fdb063654625cd1a1f64a2c1f1b3f324510ea3e008710ef76093", size = 4014154 }, - { url = "https://files.pythonhosted.org/packages/69/3f/64f1adc41004b0570c8df7d4a81ea7fb78f10c062862ed29c3d0a2e579c5/confluent_kafka-2.7.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7a27596530ef034786554d1f29ecec0b79c8182e29802034c5676ea368479224", size = 3506001 }, - { url = "https://files.pythonhosted.org/packages/d6/b5/3c9d48ccb5af00d7fb16fda5825d0a5dacb86b7ec0ea9eb8672dabfdb7e9/confluent_kafka-2.7.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:728e20ee530bf56caa21102301de828fbd6ffa88d099f822ac5b70d3b15cf752", size = 3032625 }, - { url = "https://files.pythonhosted.org/packages/2c/5f/7c567d5aa0a46ca58226310e09568459570f4a437f2063b6197a12886cdc/confluent_kafka-2.7.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:62e0391c22a315c5897d046fb743be32ebbf6ff7391df36e2dd3e7d951f57a54", size = 15295221 }, - { url = "https://files.pythonhosted.org/packages/9f/8c/a0e24204c0f0305b7ecabffeb0c4a029bb55fd3ebe5c5595255a846ad88f/confluent_kafka-2.7.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:32f95f1040edcefe1aa68b71b6bd7c801f1f9814a5cf5d5267a405c624f0b6d8", size = 4003151 }, - { url = "https://files.pythonhosted.org/packages/5d/7b/74d0716005e180d14fcf6713af5b6fe68523bc9f2e87af6b0106a69632b6/confluent_kafka-2.7.0-cp39-cp39-win_amd64.whl", hash = "sha256:27c81961b8864f0eb4c7ed8024aec3ed3ae3f249446b592840a173594cad66fb", size = 3954829 }, ] [[package]] @@ -890,21 +797,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ed/d2/808533ea5d8cccfa2bd272dc9900fa47d6cb93a6d0b2b18bcc23b0962a08/cramjam-2.10.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:76e4e42f2ecf1aca0a710adaa23000a192efb81a2aee3bcc16761f1777f08a74", size = 2132699 }, { url = "https://files.pythonhosted.org/packages/f9/18/f8a96e4e2448196ce39be0684053e48b2920a2f6b8467b43cc8be62476aa/cramjam-2.10.0-cp313-cp313-win32.whl", hash = "sha256:5b34f4678d386c64d3be402fdf67f75e8f1869627ea2ec4decd43e828d3b6fba", size = 1597001 }, { url = "https://files.pythonhosted.org/packages/dc/4f/d90e9a8379452e3882e4d937ca566a5286eea98811571a7da0277959253e/cramjam-2.10.0-cp313-cp313-win_amd64.whl", hash = "sha256:88754dd516f0e2f4dd242880b8e760dc854e917315a17fe3fc626475bea9b252", size = 1699339 }, - { url = "https://files.pythonhosted.org/packages/f4/b6/28095eb5ac373f6740cb846b6cb78665ba62f5cffb75acb834ccbd37d2f5/cramjam-2.10.0-cp39-cp39-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:967f5f0f22bf5dba4e4d7abe9594b28f5da95606225a50555926ff6e975d84dd", size = 3515722 }, - { url = "https://files.pythonhosted.org/packages/a2/21/1d23f1eaa8fb04054f430ad81bd20b78946b879f19d1cc9ab696e65183d2/cramjam-2.10.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:260732e3b5c56d6182586f3a7fc5e3f3641b27bfbad5883e8d8e292af85a6870", size = 1842106 }, - { url = "https://files.pythonhosted.org/packages/41/0b/5eaadedadcaf3861043081677f2b04388811089ef0ab99cf603ca6b359d3/cramjam-2.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:eafdc9d1721afcb4be9d20b980b61d404a592c19067197976a4077f52727bd1a", size = 1678952 }, - { url = "https://files.pythonhosted.org/packages/fb/9b/3012d33cbd070fb0cff13abb5b3417adbbad972ba2b3eea38ca087077d20/cramjam-2.10.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl", hash = "sha256:28a13c0317e71121b2059ffa8beefa2b185be241c52f740f6eb261f0067186db", size = 2020011 }, - { url = "https://files.pythonhosted.org/packages/9f/86/3182627ac109797849926ed718a4f844d9b2764c8c6e094991bf960cc400/cramjam-2.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4b3e0067ae3513e4cbd0efbabbe5a2bcfa2c2d4bddc67188eeb0751b9a02fdb7", size = 1752733 }, - { url = "https://files.pythonhosted.org/packages/0f/b1/9266bdb46fc2c5884075aabea80280ec0328bdf98bb047a06bf7f71bd262/cramjam-2.10.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:112638a4cdf806509d2d2661cb519d239d731bd5fd2e95f211c48ac0f0deeab5", size = 1849459 }, - { url = "https://files.pythonhosted.org/packages/2a/da/826a32b31937d8082fbfc50f74af95a36fa74dec7c109730eba4dc57abde/cramjam-2.10.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7ddbf6a3d3def7ae46638ebf87d7746ccebf22f885a87884ac24d97943af3f30", size = 2004005 }, - { url = "https://files.pythonhosted.org/packages/e1/0f/2e3b1437eaacea25e3ed35592e1333217d696bea0394a83fdf886792c943/cramjam-2.10.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a2923b8cd2fcbd22e0842decb66bf925a9e95bda165490d037c355e5df8fef68", size = 2312836 }, - { url = "https://files.pythonhosted.org/packages/20/08/cdb0484d73af8aaf80e7d73049ad6d441806cfbc4052e27b5ae06a653bd4/cramjam-2.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7ab6f36c772109c974890eafff2a841ddbf38ea1293b01a778b28f26089a890d", size = 1964946 }, - { url = "https://files.pythonhosted.org/packages/70/77/522e24e83f99267b70c67757cd5574ac0e366f63e59b7bd0978d7b6d9660/cramjam-2.10.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:17dda15edf256362edb30dcb1d5ecdcd727d946c6be0d1b130e736f3f49487dc", size = 2022672 }, - { url = "https://files.pythonhosted.org/packages/aa/83/ad56673d1471c5d9f816ae7f13d1fba418812afba5fc72db443a7912b1dd/cramjam-2.10.0-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:92fd6e784ade210c3522bc627b3938821d12fac52acefe4d6630460e243e28de", size = 2152491 }, - { url = "https://files.pythonhosted.org/packages/f2/93/020e22a3844005201cdfc3ec5c35546e87fb4e25333a4a9c7d512458bd37/cramjam-2.10.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:a120fc0514c9ed9a4051d040ddd36176241d4f54c4a37d8e4f3d29ac9bdb4c3a", size = 2164480 }, - { url = "https://files.pythonhosted.org/packages/95/fe/68c1f7d376fdf99ec21fcfc4bb10fb12ccc2e2030ba49f736457221ead65/cramjam-2.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a71ab695a16c6d5aeae1f02fcc37fbd1ae876e8fb339337aca187012a3d6c0a2", size = 2135388 }, - { url = "https://files.pythonhosted.org/packages/4e/46/7e9b5b61947ac9aa0b6bdcb1f2858a76b2da6b6cc3469c32ac4c19fa1831/cramjam-2.10.0-cp39-cp39-win32.whl", hash = "sha256:61b7f3c81e5e9015e73e5f423706b2f5e85a07ce79dea35645fad93505ff06cf", size = 1598025 }, - { url = "https://files.pythonhosted.org/packages/25/07/5c1a7ca5748e12aff142fa99194d555a7cf5dcc263af64a08689eacaeb93/cramjam-2.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:0d27fe3e316f9ae7fe1367b6daf0ffc993c1c66edae588165ac0f41f91a5a6b1", size = 1700294 }, { url = "https://files.pythonhosted.org/packages/db/37/96e3b41fa2e2ca8924ec8ec53ed152c7cef1b6507ee676035a9d6e4da01c/cramjam-2.10.0-pp310-pypy310_pp73-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl", hash = "sha256:77192bc1a9897ecd91cf977a5d5f990373e35a8d028c9141c8c3d3680a4a4cd7", size = 3539602 }, { url = "https://files.pythonhosted.org/packages/48/2e/5c102cda83b38f10e6021ede32915270bd2ae5c6b0f704d42b5cdef17802/cramjam-2.10.0-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:50b59e981f219d6840ac43cda8e885aff1457944ddbabaa16ac047690bfd6ad1", size = 1855894 }, { url = "https://files.pythonhosted.org/packages/e5/be/21e0a88a28d8fbfdc7d33eb78ff7ef31e5f1a67f86538607b01a25017512/cramjam-2.10.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d84581c869d279fab437182d5db2b590d44975084e8d50b164947f7aaa2c5f25", size = 1684764 }, @@ -987,37 +879,14 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2", size = 20277 }, ] -[[package]] -name = "django" -version = "4.2.21" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "asgiref", marker = "python_full_version < '3.10'" }, - { name = "sqlparse", marker = "python_full_version < '3.10'" }, - { name = "tzdata", marker = "python_full_version < '3.10' and sys_platform == 'win32'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/c1/bb/2fad5edc1af2945cb499a2e322ac28e4714fc310bd5201ed1f5a9f73a342/django-4.2.21.tar.gz", hash = "sha256:b54ac28d6aa964fc7c2f7335138a54d78980232011e0cd2231d04eed393dcb0d", size = 10424638 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/2c/4f/aeaa3098da18b625ed672f3da6d1cd94e188d1b2cc27c2c841b2f9666282/django-4.2.21-py3-none-any.whl", hash = "sha256:1d658c7bf5d31c7d0cac1cab58bc1f822df89255080fec81909256c30e6180b3", size = 7993839 }, -] - [[package]] name = "django" version = "5.2.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.13'", - "python_full_version >= '3.12.4' and python_full_version < '3.13'", - "python_full_version >= '3.11' and python_full_version < '3.12.4'", - "python_full_version == '3.10.*'", -] dependencies = [ - { name = "asgiref", marker = "python_full_version >= '3.10'" }, - { name = "sqlparse", marker = "python_full_version >= '3.10'" }, - { name = "tzdata", marker = "python_full_version >= '3.10' and sys_platform == 'win32'" }, + { name = "asgiref" }, + { name = "sqlparse" }, + { name = "tzdata", marker = "sys_platform == 'win32'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ac/10/0d546258772b8f31398e67c85e52c66ebc2b13a647193c3eef8ee433f1a8/django-5.2.1.tar.gz", hash = "sha256:57fe1f1b59462caed092c80b3dd324fd92161b620d59a9ba9181c34746c97284", size = 10818735 } wheels = [ @@ -1048,8 +917,7 @@ version = "8.17.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "certifi" }, - { name = "urllib3", version = "1.26.20", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "urllib3", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "urllib3" }, ] sdist = { url = "https://files.pythonhosted.org/packages/6a/54/d498a766ac8fa475f931da85a154666cc81a70f8eb4a780bc8e4e934e9ac/elastic_transport-8.17.1.tar.gz", hash = "sha256:5edef32ac864dca8e2f0a613ef63491ee8d6b8cfb52881fa7313ba9290cac6d2", size = 73425 } wheels = [ @@ -1120,14 +988,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b7/3b/dfdd9bd9f6114a49a55298b12048f1b65d0813b82c28676b956c4444f707/falcon-4.0.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9bfd751dd898505e17152d7ecfcdc457c9d85bceed7e651a9915183bd4afc86b", size = 11165291 }, { url = "https://files.pythonhosted.org/packages/01/61/eb3d1d2076df85d5a7c2cd823ba5dbe0a928053a3102effb9006b2851377/falcon-4.0.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4b85f9c6f50a7465303290cb305404ea5c1ddeff6702179c1a8879c4693b0e5e", size = 11831049 }, { url = "https://files.pythonhosted.org/packages/bf/c7/268cddb1f84ebe5b402acdf116083658f3fb0dd38a75571e0ee703cef212/falcon-4.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:a410e4023999a74ccf615fafa646b112044b987ef5901c8e5c5b79b163f2b3ba", size = 2052994 }, - { url = "https://files.pythonhosted.org/packages/d0/00/7be6347247812e6553be50d83b0951e569d597b9c3a71e4c0de5b00789b7/falcon-4.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f9709fd9181f58d492463b951cc42fb33b230e8f261128bc8252a37a4553f318", size = 2323679 }, - { url = "https://files.pythonhosted.org/packages/c4/71/65266fc8433e396f42a2b045e7b7069390c4314e8b66e66c4e092166226f/falcon-4.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:427c20ceb367039b856506d7baeef17c7f0c40b8fcbf1147c0e76f33a574a7cf", size = 2203699 }, - { url = "https://files.pythonhosted.org/packages/80/30/82ff9d61d6baa5f908ccbbb775585cd1ac24dd47fcc2d2e6c5b9b0f44ce4/falcon-4.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1fb50cebc3cae6720ccf4a05fccb233ea6a88e803828a07c063d6dce10a74e0e", size = 10418688 }, - { url = "https://files.pythonhosted.org/packages/bf/e5/660262ee87a90aab812d2d10ab42e6e0bffe853890b2e14268863c4dd659/falcon-4.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:628c450e14af811f13db6334265d7ff8a7b8a25ece1bde35d09a367a72046533", size = 11033845 }, - { url = "https://files.pythonhosted.org/packages/8f/b2/cf4c9567ad571e3304743e6f65c42576929cc16d494cb234f972fa70a150/falcon-4.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e04b30a7f89e5413e00c5cd1ea62bf7948323eb0220f8a5bbf705abae266a384", size = 10547880 }, - { url = "https://files.pythonhosted.org/packages/e2/b8/503d3574be76a09b64dd48214e012fd1b911a158400bc04b1ee0d4caec0f/falcon-4.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9095a36b8eeb80207322393b3bc88edaacd0426c2907e8427617618421bde9cc", size = 10218888 }, - { url = "https://files.pythonhosted.org/packages/2c/88/d96a3e9d93aee74280a82be844c2eaa603283c5548b3293165deb2d55b4e/falcon-4.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:0adc6c2887f9d7ed55fe38edef055cc85c26762e392d80dca8765184c180b921", size = 10663138 }, - { url = "https://files.pythonhosted.org/packages/38/97/4021fce87e3feb67839405ca8d2560d989da141692214c6f1b297af23443/falcon-4.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:7bffb4cadcbf7c5994695d421ef5305ad8315cfbefe971713046967614f0ffa4", size = 2121203 }, { url = "https://files.pythonhosted.org/packages/20/e2/ef821224a9ca9d4bb81d6e7ba60c6fbf3eae2e0dc10d806e6ff21b6dfdc5/falcon-4.0.2-py3-none-any.whl", hash = "sha256:077b2abf001940c6128c9b5872ae8147fe13f6ca333f928d8045d7601a5e847e", size = 318356 }, ] @@ -1151,9 +1011,7 @@ version = "3.1.1" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "blinker" }, - { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "importlib-metadata", marker = "python_full_version < '3.10'" }, + { name = "click" }, { name = "itsdangerous" }, { name = "jinja2" }, { name = "markupsafe" }, @@ -1255,23 +1113,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ef/ea/4f3e69e179a430473eaa1a75ff986526571215fefc6b9281cdc1f09a4eb8/frozenlist-1.6.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:a2bda8be77660ad4089caf2223fdbd6db1858462c4b85b67fbfa22102021e497", size = 391459 }, { url = "https://files.pythonhosted.org/packages/d3/c3/0fc2c97dea550df9afd072a37c1e95421652e3206bbeaa02378b24c2b480/frozenlist-1.6.0-cp313-cp313t-win32.whl", hash = "sha256:a4d96dc5bcdbd834ec6b0f91027817214216b5b30316494d2b1aebffb87c534f", size = 128797 }, { url = "https://files.pythonhosted.org/packages/ae/f5/79c9320c5656b1965634fe4be9c82b12a3305bdbc58ad9cb941131107b20/frozenlist-1.6.0-cp313-cp313t-win_amd64.whl", hash = "sha256:e18036cb4caa17ea151fd5f3d70be9d354c99eb8cf817a3ccde8a7873b074348", size = 134709 }, - { url = "https://files.pythonhosted.org/packages/11/87/9555739639476dfc4a5b9b675a8afaf79c71704dcdd490fde94f882c3f08/frozenlist-1.6.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:536a1236065c29980c15c7229fbb830dedf809708c10e159b8136534233545f0", size = 161525 }, - { url = "https://files.pythonhosted.org/packages/43/75/c5381e02933ad138af448d0e995aff30fd25cc23fc45287c7bc4df6200c8/frozenlist-1.6.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ed5e3a4462ff25ca84fb09e0fada8ea267df98a450340ead4c91b44857267d70", size = 124569 }, - { url = "https://files.pythonhosted.org/packages/82/63/1275253c9960cb7bd584dd44c6367cd83759c063c807496c4e1d4b5ded4a/frozenlist-1.6.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e19c0fc9f4f030fcae43b4cdec9e8ab83ffe30ec10c79a4a43a04d1af6c5e1ad", size = 122634 }, - { url = "https://files.pythonhosted.org/packages/ea/5e/4a102f3d72517b6f70c053befcec2e764223f438855b40296507e1377fec/frozenlist-1.6.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c7c608f833897501dac548585312d73a7dca028bf3b8688f0d712b7acfaf7fb3", size = 288320 }, - { url = "https://files.pythonhosted.org/packages/92/db/40c79258a4ecca09b9ddfd9e9ac8d27587644fccfa276cea11c316fec1af/frozenlist-1.6.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0dbae96c225d584f834b8d3cc688825911960f003a85cb0fd20b6e5512468c42", size = 297813 }, - { url = "https://files.pythonhosted.org/packages/62/ad/cd053d17f56770545ab361c8be63e0bc71d003c3759d9b0d4b13c9e2377b/frozenlist-1.6.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:625170a91dd7261a1d1c2a0c1a353c9e55d21cd67d0852185a5fef86587e6f5f", size = 311027 }, - { url = "https://files.pythonhosted.org/packages/fc/1e/9721930762fb042ea12b4d273a0729be91922adfbe4746552b8b28b645bc/frozenlist-1.6.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1db8b2fc7ee8a940b547a14c10e56560ad3ea6499dc6875c354e2335812f739d", size = 308229 }, - { url = "https://files.pythonhosted.org/packages/78/04/48b128738e2a808e5ea9af2bcbe01bdb76a29663f5327df80a14103baf23/frozenlist-1.6.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4da6fc43048b648275a220e3a61c33b7fff65d11bdd6dcb9d9c145ff708b804c", size = 279689 }, - { url = "https://files.pythonhosted.org/packages/62/9d/97b06744871c0d5d6e7a3873cfe9884d46d6792b630f99abc8526e908486/frozenlist-1.6.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ef8e7e8f2f3820c5f175d70fdd199b79e417acf6c72c5d0aa8f63c9f721646f", size = 288640 }, - { url = "https://files.pythonhosted.org/packages/95/13/e4def76c11b2c7b73b63bc47b848a94f6de1751a665bfeb58478553846df/frozenlist-1.6.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:aa733d123cc78245e9bb15f29b44ed9e5780dc6867cfc4e544717b91f980af3b", size = 292169 }, - { url = "https://files.pythonhosted.org/packages/4b/d4/b6428f7774ccd0cc4882de0200df04446b69ea5e12c9a9e06a0478ae17ce/frozenlist-1.6.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:ba7f8d97152b61f22d7f59491a781ba9b177dd9f318486c5fbc52cde2db12189", size = 306172 }, - { url = "https://files.pythonhosted.org/packages/ec/78/14e42aa004f634b40d97715a7c8597ba0d41caa46837899a03b800e48eda/frozenlist-1.6.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:56a0b8dd6d0d3d971c91f1df75e824986667ccce91e20dca2023683814344791", size = 287203 }, - { url = "https://files.pythonhosted.org/packages/b1/f2/40525c3c486da199e9bd6292a4269c9aa2f48b692c6e39da7967dab92058/frozenlist-1.6.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:5c9e89bf19ca148efcc9e3c44fd4c09d5af85c8a7dd3dbd0da1cb83425ef4983", size = 306991 }, - { url = "https://files.pythonhosted.org/packages/4b/2f/d48b888d6941b20305c78da3fc37d112b00b1711ba397d186d481198bb21/frozenlist-1.6.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:1330f0a4376587face7637dfd245380a57fe21ae8f9d360c1c2ef8746c4195fa", size = 309692 }, - { url = "https://files.pythonhosted.org/packages/b4/a1/bb8ed90733b73611f1f9f114b65f9d11de66b037e7208a7a16977cd6d3ab/frozenlist-1.6.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2187248203b59625566cac53572ec8c2647a140ee2738b4e36772930377a533c", size = 296256 }, - { url = "https://files.pythonhosted.org/packages/ba/50/2210d332234b02ce0f0d8360034e0ceada6e348a83d8fa924f418ae3b58c/frozenlist-1.6.0-cp39-cp39-win32.whl", hash = "sha256:2b8cf4cfea847d6c12af06091561a89740f1f67f331c3fa8623391905e878530", size = 115751 }, - { url = "https://files.pythonhosted.org/packages/8c/a2/15db0eef508761c5f7c669b70ed4ec81af4d8ddad86d1b6ef9d6746a56b4/frozenlist-1.6.0-cp39-cp39-win_amd64.whl", hash = "sha256:1255d5d64328c5a0d066ecb0f02034d086537925f1f04b50b1ae60d37afbf572", size = 120975 }, { url = "https://files.pythonhosted.org/packages/71/3e/b04a0adda73bd52b390d730071c0d577073d3d26740ee1bad25c3ad0f37b/frozenlist-1.6.0-py3-none-any.whl", hash = "sha256:535eec9987adb04701266b92745d6cdcef2e77669299359c3009c3404dd5d191", size = 12404 }, ] @@ -1289,8 +1130,7 @@ name = "geomet" version = "0.2.1.post1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "click" }, { name = "six" }, ] sdist = { url = "https://files.pythonhosted.org/packages/cf/21/58251b3de99e0b5ba649ff511f7f9e8399c3059dd52a643774106e929afa/geomet-0.2.1.post1.tar.gz", hash = "sha256:91d754f7c298cbfcabd3befdb69c641c27fe75e808b27aa55028605761d17e95", size = 19728 } @@ -1350,8 +1190,7 @@ dependencies = [ { name = "proto-plus" }, { name = "protobuf" }, { name = "pydantic" }, - { name = "shapely", version = "2.0.7", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "shapely", version = "2.1.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "shapely" }, { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/3c/a1/72dc8524e5255ee79e4e153f500a9a03ece3ea1de61a0e59a6fb5ce36406/google_cloud_aiplatform-1.94.0.tar.gz", hash = "sha256:5429dfaa953eef90e48e16fb2a6be82f26c5d4a9a0e53178fcf6f837b528373e", size = 9150001 } @@ -1452,12 +1291,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/89/32/a22a281806e3ef21b72db16f948cad22ec68e4bdd384139291e00ff82fe2/google_crc32c-1.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:0f99eaa09a9a7e642a61e06742856eec8b19fc0037832e03f941fe7cf0c8e4db", size = 33475 }, { url = "https://files.pythonhosted.org/packages/b8/c5/002975aff514e57fc084ba155697a049b3f9b52225ec3bc0f542871dd524/google_crc32c-1.7.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32d1da0d74ec5634a05f53ef7df18fc646666a25efaaca9fc7dcfd4caf1d98c3", size = 33243 }, { url = "https://files.pythonhosted.org/packages/61/cb/c585282a03a0cea70fcaa1bf55d5d702d0f2351094d663ec3be1c6c67c52/google_crc32c-1.7.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e10554d4abc5238823112c2ad7e4560f96c7bf3820b202660373d769d9e6e4c9", size = 32870 }, - { url = "https://files.pythonhosted.org/packages/e3/89/940d170a9f24e6e711666a7c5596561358243023b4060869d9adae97a762/google_crc32c-1.7.1-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:9fc196f0b8d8bd2789352c6a522db03f89e83a0ed6b64315923c396d7a932315", size = 30462 }, - { url = "https://files.pythonhosted.org/packages/42/0c/22bebe2517368e914a63e5378aab74e2b6357eb739d94b6bc0e830979a37/google_crc32c-1.7.1-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:bb5e35dcd8552f76eed9461a23de1030920a3c953c1982f324be8f97946e7127", size = 30304 }, - { url = "https://files.pythonhosted.org/packages/36/32/2daf4c46f875aaa3a057ecc8569406979cb29fb1e2389e4f2570d8ed6a5c/google_crc32c-1.7.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f2226b6a8da04f1d9e61d3e357f2460b9551c5e6950071437e122c958a18ae14", size = 37734 }, - { url = "https://files.pythonhosted.org/packages/76/b5/b3e220b68d5d265c4aacd2878301fdb2df72715c45ba49acc19f310d4555/google_crc32c-1.7.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1f2b3522222746fff0e04a9bd0a23ea003ba3cccc8cf21385c564deb1f223242", size = 32869 }, - { url = "https://files.pythonhosted.org/packages/0a/90/2931c3c8d2de1e7cde89945d3ceb2c4258a1f23f0c22c3c1c921c3c026a6/google_crc32c-1.7.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bda0fcb632d390e3ea8b6b07bf6b4f4a66c9d02dcd6fbf7ba00a197c143f582", size = 37875 }, - { url = "https://files.pythonhosted.org/packages/30/9e/0aaed8a209ea6fa4b50f66fed2d977f05c6c799e10bb509f5523a5a5c90c/google_crc32c-1.7.1-cp39-cp39-win_amd64.whl", hash = "sha256:713121af19f1a617054c41f952294764e0c5443d5a5d9034b2cd60f5dd7e0349", size = 33471 }, { url = "https://files.pythonhosted.org/packages/0b/43/31e57ce04530794917dfe25243860ec141de9fadf4aa9783dffe7dac7c39/google_crc32c-1.7.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a8e9afc74168b0b2232fb32dd202c93e46b7d5e4bf03e66ba5dc273bb3559589", size = 28242 }, { url = "https://files.pythonhosted.org/packages/eb/f3/8b84cd4e0ad111e63e30eb89453f8dd308e3ad36f42305cf8c202461cdf0/google_crc32c-1.7.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fa8136cc14dd27f34a3221c0f16fd42d8a40e4778273e61a3c19aedaa44daf6b", size = 28049 }, { url = "https://files.pythonhosted.org/packages/16/1b/1693372bf423ada422f80fd88260dbfd140754adb15cbc4d7e9a68b1cb8e/google_crc32c-1.7.1-pp311-pypy311_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85fef7fae11494e747c9fd1359a527e5970fc9603c90764843caabd3a16a0a48", size = 28241 }, @@ -1561,17 +1394,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9b/9d/d1c79286a76bc62ccdc1387291464af16a4204ea717f24e77b0acd623b99/greenlet-3.2.2-cp313-cp313t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:02a98600899ca1ca5d3a2590974c9e3ec259503b2d6ba6527605fcd74e08e207", size = 593718 }, { url = "https://files.pythonhosted.org/packages/cd/41/96ba2bf948f67b245784cd294b84e3d17933597dffd3acdb367a210d1949/greenlet-3.2.2-cp313-cp313t-musllinux_1_1_aarch64.whl", hash = "sha256:b50a8c5c162469c3209e5ec92ee4f95c8231b11db6a04db09bbe338176723bb8", size = 1105752 }, { url = "https://files.pythonhosted.org/packages/68/3b/3b97f9d33c1f2eb081759da62bd6162159db260f602f048bc2f36b4c453e/greenlet-3.2.2-cp313-cp313t-musllinux_1_1_x86_64.whl", hash = "sha256:45f9f4853fb4cc46783085261c9ec4706628f3b57de3e68bae03e8f8b3c0de51", size = 1125170 }, - { url = "https://files.pythonhosted.org/packages/31/df/b7d17d66c8d0f578d2885a3d8f565e9e4725eacc9d3fdc946d0031c055c4/greenlet-3.2.2-cp314-cp314-macosx_11_0_universal2.whl", hash = "sha256:9ea5231428af34226c05f927e16fc7f6fa5e39e3ad3cd24ffa48ba53a47f4240", size = 269899 }, - { url = "https://files.pythonhosted.org/packages/37/3a/dbf22e1c7c1affc68ad4bc8f06619945c74a92b112ae6a401bed1f1ed63b/greenlet-3.2.2-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:1e4747712c4365ef6765708f948acc9c10350719ca0545e362c24ab973017370", size = 266190 }, - { url = "https://files.pythonhosted.org/packages/33/b1/21fabb65b13f504e8428595c54be73b78e7a542a2bd08ed9e1c56c8fcee2/greenlet-3.2.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:782743700ab75716650b5238a4759f840bb2dcf7bff56917e9ffdf9f1f23ec59", size = 623904 }, - { url = "https://files.pythonhosted.org/packages/ec/9e/3346e463f13b593aafc683df6a85e9495a9b0c16c54c41f7e34353adea40/greenlet-3.2.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:354f67445f5bed6604e493a06a9a49ad65675d3d03477d38a4db4a427e9aad0e", size = 635672 }, - { url = "https://files.pythonhosted.org/packages/8e/88/6e8459e4789a276d1a18d656fd95334d21fe0609c6d6f446f88dbfd9483d/greenlet-3.2.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3aeca9848d08ce5eb653cf16e15bb25beeab36e53eb71cc32569f5f3afb2a3aa", size = 630975 }, - { url = "https://files.pythonhosted.org/packages/ab/80/81ccf96daf166e8334c37663498dad742d61114cdf801f4872a38e8e31d5/greenlet-3.2.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cb8553ee954536500d88a1a2f58fcb867e45125e600e80f586ade399b3f8819", size = 630252 }, - { url = "https://files.pythonhosted.org/packages/c1/61/3489e3fd3b7dc81c73368177313231a1a1b30df660a0c117830aa18e0f29/greenlet-3.2.2-cp39-cp39-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:1592a615b598643dbfd566bac8467f06c8c8ab6e56f069e573832ed1d5d528cc", size = 579122 }, - { url = "https://files.pythonhosted.org/packages/be/55/57685fe335e88f8c75d204f9967e46e5fba601f861fb80821e5fb7ab959d/greenlet-3.2.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:1f72667cc341c95184f1c68f957cb2d4fc31eef81646e8e59358a10ce6689457", size = 1108299 }, - { url = "https://files.pythonhosted.org/packages/ef/e2/3f27dd194989e8481ccac3b36932836b596d58f908106b8608f98587d9f7/greenlet-3.2.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a8fa80665b1a29faf76800173ff5325095f3e66a78e62999929809907aca5659", size = 1132431 }, - { url = "https://files.pythonhosted.org/packages/ce/7b/803075f7b1df9165032af07d81d783b04c59e64fb28b09fd7a0e5a249adc/greenlet-3.2.2-cp39-cp39-win32.whl", hash = "sha256:6629311595e3fe7304039c67f00d145cd1d38cf723bb5b99cc987b23c1433d61", size = 277740 }, - { url = "https://files.pythonhosted.org/packages/ff/a3/eb7713abfd0a079d24b775d01c6578afbcc6676d89508ab3cbebd5c836ea/greenlet-3.2.2-cp39-cp39-win_amd64.whl", hash = "sha256:eeb27bece45c0c2a5842ac4c5a1b5c2ceaefe5711078eed4e8043159fa05c834", size = 294863 }, ] [[package]] @@ -1646,16 +1468,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fb/ce/236dbc3dc77cf9a9242adcf1f62538734ad64727fabf39e1346ad4bd5c75/grpcio-1.71.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:a76d39b5fafd79ed604c4be0a869ec3581a172a707e2a8d7a4858cb05a5a7637", size = 6186564 }, { url = "https://files.pythonhosted.org/packages/10/fd/b3348fce9dd4280e221f513dd54024e765b21c348bc475516672da4218e9/grpcio-1.71.0-cp313-cp313-win32.whl", hash = "sha256:74258dce215cb1995083daa17b379a1a5a87d275387b7ffe137f1d5131e2cfbb", size = 3601890 }, { url = "https://files.pythonhosted.org/packages/be/f8/db5d5f3fc7e296166286c2a397836b8b042f7ad1e11028d82b061701f0f7/grpcio-1.71.0-cp313-cp313-win_amd64.whl", hash = "sha256:22c3bc8d488c039a199f7a003a38cb7635db6656fa96437a8accde8322ce2366", size = 4273308 }, - { url = "https://files.pythonhosted.org/packages/c8/e3/22cb31bbb42de95b35b8f0fb691d8da6e0579e658bb37b86efe2999c702b/grpcio-1.71.0-cp39-cp39-linux_armv7l.whl", hash = "sha256:c6a0a28450c16809f94e0b5bfe52cabff63e7e4b97b44123ebf77f448534d07d", size = 5210667 }, - { url = "https://files.pythonhosted.org/packages/f6/5e/4970fb231e57aad8f41682292343551f58fec5c7a07e261294def3cb8bb6/grpcio-1.71.0-cp39-cp39-macosx_10_14_universal2.whl", hash = "sha256:a371e6b6a5379d3692cc4ea1cb92754d2a47bdddeee755d3203d1f84ae08e03e", size = 11336193 }, - { url = "https://files.pythonhosted.org/packages/7f/a4/dd71a5540d5e86526b39c23060b7d3195f3144af3fe291947b30c3fcbdad/grpcio-1.71.0-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:39983a9245d37394fd59de71e88c4b295eb510a3555e0a847d9965088cdbd033", size = 5699572 }, - { url = "https://files.pythonhosted.org/packages/d0/69/3e3522d7c2c525a60f4bbf811891925ac7594b768b1ac8e6c9d955a72c45/grpcio-1.71.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9182e0063112e55e74ee7584769ec5a0b4f18252c35787f48738627e23a62b97", size = 6339648 }, - { url = "https://files.pythonhosted.org/packages/32/f2/9d864ca8f3949bf507db9c6a18532c150fc03910dd3d3e17fd4bc5d3e462/grpcio-1.71.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:693bc706c031aeb848849b9d1c6b63ae6bcc64057984bb91a542332b75aa4c3d", size = 5943469 }, - { url = "https://files.pythonhosted.org/packages/9b/58/aec6ce541b7fb2a9efa15d968db5897c2700bd2da6fb159c1d27515f120c/grpcio-1.71.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:20e8f653abd5ec606be69540f57289274c9ca503ed38388481e98fa396ed0b41", size = 6030255 }, - { url = "https://files.pythonhosted.org/packages/f7/4f/7356b7edd1f622d49e72faaea75a5d6ac7bdde8f4c14dd19bcfbafd56f4c/grpcio-1.71.0-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:8700a2a57771cc43ea295296330daaddc0d93c088f0a35cc969292b6db959bf3", size = 6651120 }, - { url = "https://files.pythonhosted.org/packages/54/10/c1bb13137dc8d1637e2373a85904aa57991e65ef429791bfb8a64a60d5bd/grpcio-1.71.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d35a95f05a8a2cbe8e02be137740138b3b2ea5f80bd004444e4f9a1ffc511e32", size = 6197989 }, - { url = "https://files.pythonhosted.org/packages/0e/dc/0fd537831501df786bc2f9ec5ac1724528a344cd146f6335f7991763eb2b/grpcio-1.71.0-cp39-cp39-win32.whl", hash = "sha256:f9c30c464cb2ddfbc2ddf9400287701270fdc0f14be5f08a1e3939f1e749b455", size = 3620173 }, - { url = "https://files.pythonhosted.org/packages/97/22/b1535291aaa9c046c79a9dc4db125f6b9974d41de154221b72da4e8a005c/grpcio-1.71.0-cp39-cp39-win_amd64.whl", hash = "sha256:63e41b91032f298b3e973b3fa4093cbbc620c875e2da7b93e249d4728b54559a", size = 4280941 }, ] [[package]] @@ -1857,31 +1669,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/54/46/caa2c1342655f57d8f0f2519774c6d67132205909c65e9aa8255e1d7b4f4/jiter-0.10.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:28ed2a4c05a1f32ef0e1d24c2611330219fed727dae01789f4a335617634b1ca", size = 318225 }, { url = "https://files.pythonhosted.org/packages/43/84/c7d44c75767e18946219ba2d703a5a32ab37b0bc21886a97bc6062e4da42/jiter-0.10.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:14a4c418b1ec86a195f1ca69da8b23e8926c752b685af665ce30777233dfe070", size = 350235 }, { url = "https://files.pythonhosted.org/packages/01/16/f5a0135ccd968b480daad0e6ab34b0c7c5ba3bc447e5088152696140dcb3/jiter-0.10.0-cp313-cp313t-win_amd64.whl", hash = "sha256:d7bfed2fe1fe0e4dda6ef682cee888ba444b21e7a6553e03252e4feb6cf0adca", size = 207278 }, - { url = "https://files.pythonhosted.org/packages/1c/9b/1d646da42c3de6c2188fdaa15bce8ecb22b635904fc68be025e21249ba44/jiter-0.10.0-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:5e9251a5e83fab8d87799d3e1a46cb4b7f2919b895c6f4483629ed2446f66522", size = 310866 }, - { url = "https://files.pythonhosted.org/packages/ad/0e/26538b158e8a7c7987e94e7aeb2999e2e82b1f9d2e1f6e9874ddf71ebda0/jiter-0.10.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:023aa0204126fe5b87ccbcd75c8a0d0261b9abdbbf46d55e7ae9f8e22424eeb8", size = 318772 }, - { url = "https://files.pythonhosted.org/packages/7b/fb/d302893151caa1c2636d6574d213e4b34e31fd077af6050a9c5cbb42f6fb/jiter-0.10.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c189c4f1779c05f75fc17c0c1267594ed918996a231593a21a5ca5438445216", size = 344534 }, - { url = "https://files.pythonhosted.org/packages/01/d8/5780b64a149d74e347c5128d82176eb1e3241b1391ac07935693466d6219/jiter-0.10.0-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:15720084d90d1098ca0229352607cd68256c76991f6b374af96f36920eae13c4", size = 369087 }, - { url = "https://files.pythonhosted.org/packages/e8/5b/f235a1437445160e777544f3ade57544daf96ba7e96c1a5b24a6f7ac7004/jiter-0.10.0-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e4f2fb68e5f1cfee30e2b2a09549a00683e0fde4c6a2ab88c94072fc33cb7426", size = 490694 }, - { url = "https://files.pythonhosted.org/packages/85/a9/9c3d4617caa2ff89cf61b41e83820c27ebb3f7b5fae8a72901e8cd6ff9be/jiter-0.10.0-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ce541693355fc6da424c08b7edf39a2895f58d6ea17d92cc2b168d20907dee12", size = 388992 }, - { url = "https://files.pythonhosted.org/packages/68/b1/344fd14049ba5c94526540af7eb661871f9c54d5f5601ff41a959b9a0bbd/jiter-0.10.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:31c50c40272e189d50006ad5c73883caabb73d4e9748a688b216e85a9a9ca3b9", size = 351723 }, - { url = "https://files.pythonhosted.org/packages/41/89/4c0e345041186f82a31aee7b9d4219a910df672b9fef26f129f0cda07a29/jiter-0.10.0-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fa3402a2ff9815960e0372a47b75c76979d74402448509ccd49a275fa983ef8a", size = 392215 }, - { url = "https://files.pythonhosted.org/packages/55/58/ee607863e18d3f895feb802154a2177d7e823a7103f000df182e0f718b38/jiter-0.10.0-cp314-cp314-musllinux_1_1_aarch64.whl", hash = "sha256:1956f934dca32d7bb647ea21d06d93ca40868b505c228556d3373cbd255ce853", size = 522762 }, - { url = "https://files.pythonhosted.org/packages/15/d0/9123fb41825490d16929e73c212de9a42913d68324a8ce3c8476cae7ac9d/jiter-0.10.0-cp314-cp314-musllinux_1_1_x86_64.whl", hash = "sha256:fcedb049bdfc555e261d6f65a6abe1d5ad68825b7202ccb9692636c70fcced86", size = 513427 }, - { url = "https://files.pythonhosted.org/packages/d8/b3/2bd02071c5a2430d0b70403a34411fc519c2f227da7b03da9ba6a956f931/jiter-0.10.0-cp314-cp314-win32.whl", hash = "sha256:ac509f7eccca54b2a29daeb516fb95b6f0bd0d0d8084efaf8ed5dfc7b9f0b357", size = 210127 }, - { url = "https://files.pythonhosted.org/packages/03/0c/5fe86614ea050c3ecd728ab4035534387cd41e7c1855ef6c031f1ca93e3f/jiter-0.10.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:5ed975b83a2b8639356151cef5c0d597c68376fc4922b45d0eb384ac058cfa00", size = 318527 }, - { url = "https://files.pythonhosted.org/packages/b3/4a/4175a563579e884192ba6e81725fc0448b042024419be8d83aa8a80a3f44/jiter-0.10.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3aa96f2abba33dc77f79b4cf791840230375f9534e5fac927ccceb58c5e604a5", size = 354213 }, - { url = "https://files.pythonhosted.org/packages/98/fd/aced428e2bd3c6c1132f67c5a708f9e7fd161d0ca8f8c5862b17b93cdf0a/jiter-0.10.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:bd6292a43c0fc09ce7c154ec0fa646a536b877d1e8f2f96c19707f65355b5a4d", size = 317665 }, - { url = "https://files.pythonhosted.org/packages/b6/2e/47d42f15d53ed382aef8212a737101ae2720e3697a954f9b95af06d34e89/jiter-0.10.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:39de429dcaeb6808d75ffe9effefe96a4903c6a4b376b2f6d08d77c1aaee2f18", size = 312152 }, - { url = "https://files.pythonhosted.org/packages/7b/02/aae834228ef4834fc18718724017995ace8da5f70aa1ec225b9bc2b2d7aa/jiter-0.10.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:52ce124f13a7a616fad3bb723f2bfb537d78239d1f7f219566dc52b6f2a9e48d", size = 346708 }, - { url = "https://files.pythonhosted.org/packages/35/d4/6ff39dee2d0a9abd69d8a3832ce48a3aa644eed75e8515b5ff86c526ca9a/jiter-0.10.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:166f3606f11920f9a1746b2eea84fa2c0a5d50fd313c38bdea4edc072000b0af", size = 371360 }, - { url = "https://files.pythonhosted.org/packages/a9/67/c749d962b4eb62445867ae4e64a543cbb5d63cc7d78ada274ac515500a7f/jiter-0.10.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:28dcecbb4ba402916034fc14eba7709f250c4d24b0c43fc94d187ee0580af181", size = 492105 }, - { url = "https://files.pythonhosted.org/packages/f6/d3/8fe1b1bae5161f27b1891c256668f598fa4c30c0a7dacd668046a6215fca/jiter-0.10.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86c5aa6910f9bebcc7bc4f8bc461aff68504388b43bfe5e5c0bd21efa33b52f4", size = 389577 }, - { url = "https://files.pythonhosted.org/packages/ef/28/ecb19d789b4777898a4252bfaac35e3f8caf16c93becd58dcbaac0dc24ad/jiter-0.10.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ceeb52d242b315d7f1f74b441b6a167f78cea801ad7c11c36da77ff2d42e8a28", size = 353849 }, - { url = "https://files.pythonhosted.org/packages/77/69/261f798f84790da6482ebd8c87ec976192b8c846e79444d0a2e0d33ebed8/jiter-0.10.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ff76d8887c8c8ee1e772274fcf8cc1071c2c58590d13e33bd12d02dc9a560397", size = 392029 }, - { url = "https://files.pythonhosted.org/packages/cb/08/b8d15140d4d91f16faa2f5d416c1a71ab1bbe2b66c57197b692d04c0335f/jiter-0.10.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:a9be4d0fa2b79f7222a88aa488bd89e2ae0a0a5b189462a12def6ece2faa45f1", size = 524386 }, - { url = "https://files.pythonhosted.org/packages/9b/1d/23c41765cc95c0e23ac492a88450d34bf0fd87a37218d1b97000bffe0f53/jiter-0.10.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9ab7fd8738094139b6c1ab1822d6f2000ebe41515c537235fd45dabe13ec9324", size = 515234 }, - { url = "https://files.pythonhosted.org/packages/9f/14/381d8b151132e79790579819c3775be32820569f23806769658535fe467f/jiter-0.10.0-cp39-cp39-win32.whl", hash = "sha256:5f51e048540dd27f204ff4a87f5d79294ea0aa3aa552aca34934588cf27023cf", size = 211436 }, - { url = "https://files.pythonhosted.org/packages/59/66/f23ae51dea8ee8ce429027b60008ca895d0fa0704f0c7fe5f09014a6cffb/jiter-0.10.0-cp39-cp39-win_amd64.whl", hash = "sha256:1b28302349dc65703a9e4ead16f163b1c339efffbe1049c30a44b001a2a4fff9", size = 208777 }, ] [[package]] @@ -1919,10 +1706,10 @@ name = "jsonschema" version = "4.25.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "attrs", marker = "python_full_version >= '3.10'" }, - { name = "jsonschema-specifications", marker = "python_full_version >= '3.10'" }, - { name = "referencing", marker = "python_full_version >= '3.10'" }, - { name = "rpds-py", marker = "python_full_version >= '3.10'" }, + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, ] sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342 } wheels = [ @@ -1934,7 +1721,7 @@ name = "jsonschema-specifications" version = "2025.9.1" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "referencing", marker = "python_full_version >= '3.10'" }, + { name = "referencing" }, ] sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855 } wheels = [ @@ -2117,16 +1904,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/0d/80/0985960e4b89922cb5a0bac0ed39c5b96cbc1a536a99f30e8c220a996ed9/MarkupSafe-3.0.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:131a3c7689c85f5ad20f9f6fb1b866f402c445b220c19fe4308c0b147ccd2ad9", size = 24098 }, { url = "https://files.pythonhosted.org/packages/82/78/fedb03c7d5380df2427038ec8d973587e90561b2d90cd472ce9254cf348b/MarkupSafe-3.0.2-cp313-cp313t-win32.whl", hash = "sha256:ba8062ed2cf21c07a9e295d5b8a2a5ce678b913b45fdf68c32d95d6c1291e0b6", size = 15208 }, { url = "https://files.pythonhosted.org/packages/4f/65/6079a46068dfceaeabb5dcad6d674f5f5c61a6fa5673746f42a9f4c233b3/MarkupSafe-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:e444a31f8db13eb18ada366ab3cf45fd4b31e4db1236a4448f68778c1d1a5a2f", size = 15739 }, - { url = "https://files.pythonhosted.org/packages/a7/ea/9b1530c3fdeeca613faeb0fb5cbcf2389d816072fab72a71b45749ef6062/MarkupSafe-3.0.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:eaa0a10b7f72326f1372a713e73c3f739b524b3af41feb43e4921cb529f5929a", size = 14344 }, - { url = "https://files.pythonhosted.org/packages/4b/c2/fbdbfe48848e7112ab05e627e718e854d20192b674952d9042ebd8c9e5de/MarkupSafe-3.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:48032821bbdf20f5799ff537c7ac3d1fba0ba032cfc06194faffa8cda8b560ff", size = 12389 }, - { url = "https://files.pythonhosted.org/packages/f0/25/7a7c6e4dbd4f867d95d94ca15449e91e52856f6ed1905d58ef1de5e211d0/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a9d3f5f0901fdec14d8d2f66ef7d035f2157240a433441719ac9a3fba440b13", size = 21607 }, - { url = "https://files.pythonhosted.org/packages/53/8f/f339c98a178f3c1e545622206b40986a4c3307fe39f70ccd3d9df9a9e425/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88b49a3b9ff31e19998750c38e030fc7bb937398b1f78cfa599aaef92d693144", size = 20728 }, - { url = "https://files.pythonhosted.org/packages/1a/03/8496a1a78308456dbd50b23a385c69b41f2e9661c67ea1329849a598a8f9/MarkupSafe-3.0.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:cfad01eed2c2e0c01fd0ecd2ef42c492f7f93902e39a42fc9ee1692961443a29", size = 20826 }, - { url = "https://files.pythonhosted.org/packages/e6/cf/0a490a4bd363048c3022f2f475c8c05582179bb179defcee4766fb3dcc18/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:1225beacc926f536dc82e45f8a4d68502949dc67eea90eab715dea3a21c1b5f0", size = 21843 }, - { url = "https://files.pythonhosted.org/packages/19/a3/34187a78613920dfd3cdf68ef6ce5e99c4f3417f035694074beb8848cd77/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:3169b1eefae027567d1ce6ee7cae382c57fe26e82775f460f0b2778beaad66c0", size = 21219 }, - { url = "https://files.pythonhosted.org/packages/17/d8/5811082f85bb88410ad7e452263af048d685669bbbfb7b595e8689152498/MarkupSafe-3.0.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:eb7972a85c54febfb25b5c4b4f3af4dcc731994c7da0d8a0b4a6eb0640e1d178", size = 20946 }, - { url = "https://files.pythonhosted.org/packages/7c/31/bd635fb5989440d9365c5e3c47556cfea121c7803f5034ac843e8f37c2f2/MarkupSafe-3.0.2-cp39-cp39-win32.whl", hash = "sha256:8c4e8c3ce11e1f92f6536ff07154f9d49677ebaaafc32db9db4620bc11ed480f", size = 15063 }, - { url = "https://files.pythonhosted.org/packages/b3/73/085399401383ce949f727afec55ec3abd76648d04b9f22e1c0e99cb4bec3/MarkupSafe-3.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:6e296a513ca3d94054c2c881cc913116e90fd030ad1c656b3869762b754f5f8a", size = 15506 }, ] [[package]] @@ -2134,17 +1911,17 @@ name = "mcp" version = "1.16.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "anyio", marker = "python_full_version >= '3.10'" }, - { name = "httpx", marker = "python_full_version >= '3.10'" }, - { name = "httpx-sse", marker = "python_full_version >= '3.10'" }, - { name = "jsonschema", marker = "python_full_version >= '3.10'" }, - { name = "pydantic", marker = "python_full_version >= '3.10'" }, - { name = "pydantic-settings", marker = "python_full_version >= '3.10'" }, - { name = "python-multipart", marker = "python_full_version >= '3.10'" }, - { name = "pywin32", marker = "python_full_version >= '3.10' and sys_platform == 'win32'" }, - { name = "sse-starlette", marker = "python_full_version >= '3.10'" }, - { name = "starlette", marker = "python_full_version >= '3.10'" }, - { name = "uvicorn", marker = "python_full_version >= '3.10' and sys_platform != 'emscripten'" }, + { name = "anyio" }, + { name = "httpx" }, + { name = "httpx-sse" }, + { name = "jsonschema" }, + { name = "pydantic" }, + { name = "pydantic-settings" }, + { name = "python-multipart" }, + { name = "pywin32", marker = "sys_platform == 'win32'" }, + { name = "sse-starlette" }, + { name = "starlette" }, + { name = "uvicorn", marker = "sys_platform != 'emscripten'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/3d/a1/b1f328da3b153683d2ec34f849b4b6eac2790fb240e3aef06ff2fab3df9d/mcp-1.16.0.tar.gz", hash = "sha256:39b8ca25460c578ee2cdad33feeea122694cfdf73eef58bee76c42f6ef0589df", size = 472918 } wheels = [ @@ -2254,23 +2031,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/3b/6a/a7444d113ab918701988d4abdde373dbdfd2def7bd647207e2bf645c7eac/multidict-6.4.4-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cc5d83c6619ca5c9672cb78b39ed8542f1975a803dee2cda114ff73cbb076edd", size = 221728 }, { url = "https://files.pythonhosted.org/packages/2b/b0/fdf4c73ad1c55e0f4dbbf2aa59dd37037334091f9a4961646d2b7ac91a86/multidict-6.4.4-cp313-cp313t-win32.whl", hash = "sha256:3312f63261b9df49be9d57aaa6abf53a6ad96d93b24f9cc16cf979956355ce6e", size = 41913 }, { url = "https://files.pythonhosted.org/packages/8e/92/27989ecca97e542c0d01d05a98a5ae12198a243a9ee12563a0313291511f/multidict-6.4.4-cp313-cp313t-win_amd64.whl", hash = "sha256:ba852168d814b2c73333073e1c7116d9395bea69575a01b0b3c89d2d5a87c8fb", size = 46112 }, - { url = "https://files.pythonhosted.org/packages/18/5c/92607a79e7fd0361c90b3c5d79bbd186e3968e8a4832dbefcd7808f1c823/multidict-6.4.4-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:603f39bd1cf85705c6c1ba59644b480dfe495e6ee2b877908de93322705ad7cf", size = 66007 }, - { url = "https://files.pythonhosted.org/packages/32/1e/212a154926a9290d8ae432e761d1c98ed95fccce84b1b938eaf1bf17378e/multidict-6.4.4-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fc60f91c02e11dfbe3ff4e1219c085695c339af72d1641800fe6075b91850c8f", size = 38824 }, - { url = "https://files.pythonhosted.org/packages/8b/64/5ca6fb5dbc7d5aa352cd2d013c86ae44133c3f4f6b83a80dacd42ee5c568/multidict-6.4.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:496bcf01c76a70a31c3d746fd39383aad8d685ce6331e4c709e9af4ced5fa221", size = 38117 }, - { url = "https://files.pythonhosted.org/packages/aa/20/3aee7910260e7b6f0045b6f48b97ebf041de0cab513c12f87cf6e4e514d3/multidict-6.4.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4219390fb5bf8e548e77b428bb36a21d9382960db5321b74d9d9987148074d6b", size = 218106 }, - { url = "https://files.pythonhosted.org/packages/a9/79/15f5a65b8de8ae8f3c5da1591a322620675e4fec8d39995b04101d2b2e2c/multidict-6.4.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3ef4e9096ff86dfdcbd4a78253090ba13b1d183daa11b973e842465d94ae1772", size = 213817 }, - { url = "https://files.pythonhosted.org/packages/ab/a7/90de36db90ce2936fbb1639ca51508965861a8ad5dc2947531d18f3363b9/multidict-6.4.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:49a29d7133b1fc214e818bbe025a77cc6025ed9a4f407d2850373ddde07fd04a", size = 228133 }, - { url = "https://files.pythonhosted.org/packages/df/25/5fcd66fda3c8b7d6d6f658a871017791c46824e965dfa20a4c46d4167ad4/multidict-6.4.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e32053d6d3a8b0dfe49fde05b496731a0e6099a4df92154641c00aa76786aef5", size = 224271 }, - { url = "https://files.pythonhosted.org/packages/fd/9a/1011812091fd99b2dddd9d2dbde4b7d69bbf8070e0291fe49c3bb40c2d55/multidict-6.4.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cc403092a49509e8ef2d2fd636a8ecefc4698cc57bbe894606b14579bc2a955", size = 216448 }, - { url = "https://files.pythonhosted.org/packages/cf/cc/916e066b7e2686999f95dde87f588be26fa1c2f05e70d9fd472fe2289c0b/multidict-6.4.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5363f9b2a7f3910e5c87d8b1855c478c05a2dc559ac57308117424dfaad6805c", size = 210080 }, - { url = "https://files.pythonhosted.org/packages/f8/ff/15034b18f2e4179cd559aa13bc3b376a95c22e1fd7c3b88884e078ad5466/multidict-6.4.4-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2e543a40e4946cf70a88a3be87837a3ae0aebd9058ba49e91cacb0b2cd631e2b", size = 221926 }, - { url = "https://files.pythonhosted.org/packages/17/43/4243298a6b0b869a83b6331f3fcc12a2a0544c0995292ee96badf0fec6aa/multidict-6.4.4-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:60d849912350da557fe7de20aa8cf394aada6980d0052cc829eeda4a0db1c1db", size = 211318 }, - { url = "https://files.pythonhosted.org/packages/fe/80/bc43c87d60138e401c7d1818a47e5a0f748904c9f3be99012cdab5e31446/multidict-6.4.4-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:19d08b4f22eae45bb018b9f06e2838c1e4b853c67628ef8ae126d99de0da6395", size = 217611 }, - { url = "https://files.pythonhosted.org/packages/1e/5d/2ec94209254e48910911ac2404d71b37f06fd97ec83948a92d0c87a11d3c/multidict-6.4.4-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:d693307856d1ef08041e8b6ff01d5b4618715007d288490ce2c7e29013c12b9a", size = 227893 }, - { url = "https://files.pythonhosted.org/packages/71/83/89344adc0cf08fd89d82d43de1a17a2635b03a57dfa680f6cdf2a24d481f/multidict-6.4.4-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:fad6daaed41021934917f4fb03ca2db8d8a4d79bf89b17ebe77228eb6710c003", size = 221956 }, - { url = "https://files.pythonhosted.org/packages/f0/ea/81382bb59cd3a1047d1c2ea9339d2107fc918a63491bbb9399eb1aceda91/multidict-6.4.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c10d17371bff801af0daf8b073c30b6cf14215784dc08cd5c43ab5b7b8029bbc", size = 216850 }, - { url = "https://files.pythonhosted.org/packages/0f/90/c848d62de66c2958932ce155adae418cbf79d96cfaf992e5255819f8f1d9/multidict-6.4.4-cp39-cp39-win32.whl", hash = "sha256:7e23f2f841fcb3ebd4724a40032d32e0892fbba4143e43d2a9e7695c5e50e6bd", size = 35235 }, - { url = "https://files.pythonhosted.org/packages/d4/19/dd625207c92889c1ae7b89fcbde760d99853265cfe7ffb0826393151acd1/multidict-6.4.4-cp39-cp39-win_amd64.whl", hash = "sha256:4d7b50b673ffb4ff4366e7ab43cf1f0aef4bd3608735c5fbdf0bdb6f690da411", size = 38821 }, { url = "https://files.pythonhosted.org/packages/84/5d/e17845bb0fa76334477d5de38654d27946d5b5d3695443987a094a71b440/multidict-6.4.4-py3-none-any.whl", hash = "sha256:bd4557071b561a8b3b6075c3ce93cf9bfb6182cb241805c3d66ced3b75eff4ac", size = 10481 }, ] @@ -2300,11 +2060,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/4c/19/36983937347b6a58af546950c88a9403cdce944893850e80ffb7f602a099/mysql_connector_python-9.3.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:be0ef15f6023ae2037347498f005a4471f694f8a6b8384c3194895e153120286", size = 33457288 }, { url = "https://files.pythonhosted.org/packages/18/12/7ccbc678a130df0f751596b37eddb98b2e40930d0ebc9ee41965ffbf0b92/mysql_connector_python-9.3.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:4364d3a37c449f1c0bb9e52fd4eddc620126b9897b6b9f2fd1b3f33dacc16356", size = 33853838 }, { url = "https://files.pythonhosted.org/packages/c2/5e/c361caa024ce14ffc1f5b153d90f0febf5e9483a60c4b5c84e1e012363cc/mysql_connector_python-9.3.0-cp313-cp313-win_amd64.whl", hash = "sha256:2a5de57814217077a8672063167b616b1034a37b614b93abcb602cc0b8c6fade", size = 16358561 }, - { url = "https://files.pythonhosted.org/packages/ed/fb/97f8e2cff2fbde6ccc4b6bc7ae38a8e0b85793049940c54fc46408d22ff9/mysql_connector_python-9.3.0-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:8c79b500f1f9f12761426199d0498309ee5d20c94ed94fc8ae356679667f8181", size = 15148298 }, - { url = "https://files.pythonhosted.org/packages/da/63/7544c0cb6f4ec18fe33e7fc67ccba26501383da26d1daf4e5d2900a15c1b/mysql_connector_python-9.3.0-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:d87c9e8b5aa9a16cefebe017ee45ddfbad53e668f94d01fe2e055bb8daab9353", size = 15964350 }, - { url = "https://files.pythonhosted.org/packages/a1/3c/f90e6b7d7b9d74d26048fa00215df76f4581d4d8ea62ba8556080db05d81/mysql_connector_python-9.3.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:ac70a7128f7e690dc0f4376be8366c7e5c8fa47a785232b8abba948576f016ff", size = 33447721 }, - { url = "https://files.pythonhosted.org/packages/eb/c3/7ab2e4c9c6f941544d3751abe37c874faf4a26ebad3c6b7eabe36ac21c70/mysql_connector_python-9.3.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:66d48ec0ee903a84bcaf5d4d1901ed536fdd90ce6ecae0686f094b4530faf545", size = 33845271 }, - { url = "https://files.pythonhosted.org/packages/9e/17/92c08f2e622267b8a7a92c9c29e2cdb4a8c906917d99db741854e49d9cac/mysql_connector_python-9.3.0-cp39-cp39-win_amd64.whl", hash = "sha256:55d4a8ace6f97d58d9318d1250d903b0d3b100a6b798442a99c4ac966b974d12", size = 16359159 }, { url = "https://files.pythonhosted.org/packages/23/1d/8c2c6672094b538f4881f7714e5332fdcddd05a7e196cbc9eb4a9b5e9a45/mysql_connector_python-9.3.0-py2.py3-none-any.whl", hash = "sha256:8ab7719d614cf5463521082fab86afc21ada504b538166090e00eeaa1ff729bc", size = 399302 }, ] @@ -2318,76 +2073,13 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ef/e3/3e2de3f93cd60dd63bd229ec3e3b679f682982614bf513d046c2722aa4ce/mysqlclient-2.2.7-cp311-cp311-win_amd64.whl", hash = "sha256:a22d99d26baf4af68ebef430e3131bb5a9b722b79a9fcfac6d9bbf8a88800687", size = 207745 }, { url = "https://files.pythonhosted.org/packages/bb/b5/2a8a4bcba3440550f358b839638fe8ec9146fa3c9194890b4998a530c926/mysqlclient-2.2.7-cp312-cp312-win_amd64.whl", hash = "sha256:4b4c0200890837fc64014cc938ef2273252ab544c1b12a6c1d674c23943f3f2e", size = 208032 }, { url = "https://files.pythonhosted.org/packages/29/01/e80141f1cd0459e4c9a5dd309dee135bbae41d6c6c121252fdd853001a8a/mysqlclient-2.2.7-cp313-cp313-win_amd64.whl", hash = "sha256:201a6faa301011dd07bca6b651fe5aaa546d7c9a5426835a06c3172e1056a3c5", size = 208000 }, - { url = "https://files.pythonhosted.org/packages/0e/e0/524b0777524e0d410f71987f556dd6a0e3273fdb06cd6e91e96afade7220/mysqlclient-2.2.7-cp39-cp39-win_amd64.whl", hash = "sha256:199dab53a224357dd0cb4d78ca0e54018f9cee9bf9ec68d72db50e0a23569076", size = 207857 }, { url = "https://files.pythonhosted.org/packages/16/cc/5b1570be9f8597ee41e2a0bd7b62ba861ec2c81898d9449f3d6bfbe15d29/mysqlclient-2.2.7-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:92af368ed9c9144737af569c86d3b6c74a012a6f6b792eb868384787b52bb585", size = 207800 }, - { url = "https://files.pythonhosted.org/packages/20/40/b5d03494c1caa8f4da171db41d8d9d5b0d8959f893761597d97420083362/mysqlclient-2.2.7-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:977e35244fe6ef44124e9a1c2d1554728a7b76695598e4b92b37dc2130503069", size = 207965 }, -] - -[[package]] -name = "numpy" -version = "2.0.2" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -sdist = { url = "https://files.pythonhosted.org/packages/a9/75/10dd1f8116a8b796cb2c737b674e02d02e80454bda953fa7e65d8c12b016/numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78", size = 18902015 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/21/91/3495b3237510f79f5d81f2508f9f13fea78ebfdf07538fc7444badda173d/numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece", size = 21165245 }, - { url = "https://files.pythonhosted.org/packages/05/33/26178c7d437a87082d11019292dce6d3fe6f0e9026b7b2309cbf3e489b1d/numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04", size = 13738540 }, - { url = "https://files.pythonhosted.org/packages/ec/31/cc46e13bf07644efc7a4bf68df2df5fb2a1a88d0cd0da9ddc84dc0033e51/numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66", size = 5300623 }, - { url = "https://files.pythonhosted.org/packages/6e/16/7bfcebf27bb4f9d7ec67332ffebee4d1bf085c84246552d52dbb548600e7/numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b", size = 6901774 }, - { url = "https://files.pythonhosted.org/packages/f9/a3/561c531c0e8bf082c5bef509d00d56f82e0ea7e1e3e3a7fc8fa78742a6e5/numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd", size = 13907081 }, - { url = "https://files.pythonhosted.org/packages/fa/66/f7177ab331876200ac7563a580140643d1179c8b4b6a6b0fc9838de2a9b8/numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318", size = 19523451 }, - { url = "https://files.pythonhosted.org/packages/25/7f/0b209498009ad6453e4efc2c65bcdf0ae08a182b2b7877d7ab38a92dc542/numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8", size = 19927572 }, - { url = "https://files.pythonhosted.org/packages/3e/df/2619393b1e1b565cd2d4c4403bdd979621e2c4dea1f8532754b2598ed63b/numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326", size = 14400722 }, - { url = "https://files.pythonhosted.org/packages/22/ad/77e921b9f256d5da36424ffb711ae79ca3f451ff8489eeca544d0701d74a/numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97", size = 6472170 }, - { url = "https://files.pythonhosted.org/packages/10/05/3442317535028bc29cf0c0dd4c191a4481e8376e9f0db6bcf29703cadae6/numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131", size = 15905558 }, - { url = "https://files.pythonhosted.org/packages/8b/cf/034500fb83041aa0286e0fb16e7c76e5c8b67c0711bb6e9e9737a717d5fe/numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448", size = 21169137 }, - { url = "https://files.pythonhosted.org/packages/4a/d9/32de45561811a4b87fbdee23b5797394e3d1504b4a7cf40c10199848893e/numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195", size = 13703552 }, - { url = "https://files.pythonhosted.org/packages/c1/ca/2f384720020c7b244d22508cb7ab23d95f179fcfff33c31a6eeba8d6c512/numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57", size = 5298957 }, - { url = "https://files.pythonhosted.org/packages/0e/78/a3e4f9fb6aa4e6fdca0c5428e8ba039408514388cf62d89651aade838269/numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a", size = 6905573 }, - { url = "https://files.pythonhosted.org/packages/a0/72/cfc3a1beb2caf4efc9d0b38a15fe34025230da27e1c08cc2eb9bfb1c7231/numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669", size = 13914330 }, - { url = "https://files.pythonhosted.org/packages/ba/a8/c17acf65a931ce551fee11b72e8de63bf7e8a6f0e21add4c937c83563538/numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951", size = 19534895 }, - { url = "https://files.pythonhosted.org/packages/ba/86/8767f3d54f6ae0165749f84648da9dcc8cd78ab65d415494962c86fac80f/numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9", size = 19937253 }, - { url = "https://files.pythonhosted.org/packages/df/87/f76450e6e1c14e5bb1eae6836478b1028e096fd02e85c1c37674606ab752/numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15", size = 14414074 }, - { url = "https://files.pythonhosted.org/packages/5c/ca/0f0f328e1e59f73754f06e1adfb909de43726d4f24c6a3f8805f34f2b0fa/numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4", size = 6470640 }, - { url = "https://files.pythonhosted.org/packages/eb/57/3a3f14d3a759dcf9bf6e9eda905794726b758819df4663f217d658a58695/numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc", size = 15910230 }, - { url = "https://files.pythonhosted.org/packages/45/40/2e117be60ec50d98fa08c2f8c48e09b3edea93cfcabd5a9ff6925d54b1c2/numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b", size = 20895803 }, - { url = "https://files.pythonhosted.org/packages/46/92/1b8b8dee833f53cef3e0a3f69b2374467789e0bb7399689582314df02651/numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e", size = 13471835 }, - { url = "https://files.pythonhosted.org/packages/7f/19/e2793bde475f1edaea6945be141aef6c8b4c669b90c90a300a8954d08f0a/numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c", size = 5038499 }, - { url = "https://files.pythonhosted.org/packages/e3/ff/ddf6dac2ff0dd50a7327bcdba45cb0264d0e96bb44d33324853f781a8f3c/numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c", size = 6633497 }, - { url = "https://files.pythonhosted.org/packages/72/21/67f36eac8e2d2cd652a2e69595a54128297cdcb1ff3931cfc87838874bd4/numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692", size = 13621158 }, - { url = "https://files.pythonhosted.org/packages/39/68/e9f1126d757653496dbc096cb429014347a36b228f5a991dae2c6b6cfd40/numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a", size = 19236173 }, - { url = "https://files.pythonhosted.org/packages/d1/e9/1f5333281e4ebf483ba1c888b1d61ba7e78d7e910fdd8e6499667041cc35/numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c", size = 19634174 }, - { url = "https://files.pythonhosted.org/packages/71/af/a469674070c8d8408384e3012e064299f7a2de540738a8e414dcfd639996/numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded", size = 14099701 }, - { url = "https://files.pythonhosted.org/packages/d0/3d/08ea9f239d0e0e939b6ca52ad403c84a2bce1bde301a8eb4888c1c1543f1/numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5", size = 6174313 }, - { url = "https://files.pythonhosted.org/packages/b2/b5/4ac39baebf1fdb2e72585c8352c56d063b6126be9fc95bd2bb5ef5770c20/numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a", size = 15606179 }, - { url = "https://files.pythonhosted.org/packages/43/c1/41c8f6df3162b0c6ffd4437d729115704bd43363de0090c7f913cfbc2d89/numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c", size = 21169942 }, - { url = "https://files.pythonhosted.org/packages/39/bc/fd298f308dcd232b56a4031fd6ddf11c43f9917fbc937e53762f7b5a3bb1/numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd", size = 13711512 }, - { url = "https://files.pythonhosted.org/packages/96/ff/06d1aa3eeb1c614eda245c1ba4fb88c483bee6520d361641331872ac4b82/numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b", size = 5306976 }, - { url = "https://files.pythonhosted.org/packages/2d/98/121996dcfb10a6087a05e54453e28e58694a7db62c5a5a29cee14c6e047b/numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729", size = 6906494 }, - { url = "https://files.pythonhosted.org/packages/15/31/9dffc70da6b9bbf7968f6551967fc21156207366272c2a40b4ed6008dc9b/numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1", size = 13912596 }, - { url = "https://files.pythonhosted.org/packages/b9/14/78635daab4b07c0930c919d451b8bf8c164774e6a3413aed04a6d95758ce/numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd", size = 19526099 }, - { url = "https://files.pythonhosted.org/packages/26/4c/0eeca4614003077f68bfe7aac8b7496f04221865b3a5e7cb230c9d055afd/numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d", size = 19932823 }, - { url = "https://files.pythonhosted.org/packages/f1/46/ea25b98b13dccaebddf1a803f8c748680d972e00507cd9bc6dcdb5aa2ac1/numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d", size = 14404424 }, - { url = "https://files.pythonhosted.org/packages/c8/a6/177dd88d95ecf07e722d21008b1b40e681a929eb9e329684d449c36586b2/numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa", size = 6476809 }, - { url = "https://files.pythonhosted.org/packages/ea/2b/7fc9f4e7ae5b507c1a3a21f0f15ed03e794c1242ea8a242ac158beb56034/numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73", size = 15911314 }, - { url = "https://files.pythonhosted.org/packages/8f/3b/df5a870ac6a3be3a86856ce195ef42eec7ae50d2a202be1f5a4b3b340e14/numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8", size = 21025288 }, - { url = "https://files.pythonhosted.org/packages/2c/97/51af92f18d6f6f2d9ad8b482a99fb74e142d71372da5d834b3a2747a446e/numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4", size = 6762793 }, - { url = "https://files.pythonhosted.org/packages/12/46/de1fbd0c1b5ccaa7f9a005b66761533e2f6a3e560096682683a223631fe9/numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c", size = 19334885 }, - { url = "https://files.pythonhosted.org/packages/cc/dc/d330a6faefd92b446ec0f0dfea4c3207bb1fef3c4771d19cf4543efd2c78/numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385", size = 15828784 }, ] [[package]] name = "numpy" version = "2.2.6" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.13'", - "python_full_version >= '3.12.4' and python_full_version < '3.13'", - "python_full_version >= '3.11' and python_full_version < '3.12.4'", - "python_full_version == '3.10.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/76/21/7d2a95e4bba9dc13d043ee156a356c0a8f0c6309dff6b21b4d71a073b8a8/numpy-2.2.6.tar.gz", hash = "sha256:e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd", size = 20276440 } wheels = [ { url = "https://files.pythonhosted.org/packages/9a/3e/ed6db5be21ce87955c0cbd3009f2803f59fa08df21b5df06862e2d8e2bdd/numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb", size = 21165245 }, @@ -2471,12 +2163,11 @@ version = "0.3.3" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "griffe" }, - { name = "mcp", marker = "python_full_version >= '3.10'" }, + { name = "mcp" }, { name = "openai" }, { name = "pydantic" }, { name = "requests" }, - { name = "types-requests", version = "2.31.0.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "types-requests", version = "2.32.4.20250913", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "types-requests" }, { name = "typing-extensions" }, ] sdist = { url = "https://files.pythonhosted.org/packages/a4/37/2b4f828840d3ff32d82b813c3371ec9ee26b3b8dc6b4acbb7a4a579f617a/openai_agents-0.3.3.tar.gz", hash = "sha256:b016381a6890e1cb6879eb23c53c35f8c2312be1117f1cd4e4b5e2463150839f", size = 1816230 } @@ -2940,8 +2631,7 @@ dependencies = [ [package.optional-dependencies] instruments = [ - { name = "click", version = "8.1.8", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "click" }, ] [package.metadata] @@ -3012,8 +2702,7 @@ asgi = [ { name = "opentelemetry-instrumentation-asgi" }, ] instruments = [ - { name = "django", version = "4.2.21", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "django", version = "5.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "django" }, ] [package.metadata] @@ -3301,6 +2990,29 @@ requires-dist = [ ] provides-extras = ["instruments"] +[[package]] +name = "opentelemetry-instrumentation-mcp" +source = { editable = "instrumentation-genai/opentelemetry-instrumentation-mcp" } +dependencies = [ + { name = "opentelemetry-api" }, + { name = "opentelemetry-instrumentation" }, + { name = "opentelemetry-semantic-conventions" }, +] + +[package.optional-dependencies] +instruments = [ + { name = "mcp" }, +] + +[package.metadata] +requires-dist = [ + { name = "mcp", marker = "extra == 'instruments'", specifier = ">=1.8.1" }, + { name = "opentelemetry-api", git = "https://github.com/open-telemetry/opentelemetry-python?subdirectory=opentelemetry-api&branch=main" }, + { name = "opentelemetry-instrumentation", editable = "opentelemetry-instrumentation" }, + { name = "opentelemetry-semantic-conventions", git = "https://github.com/open-telemetry/opentelemetry-python?subdirectory=opentelemetry-semantic-conventions&branch=main" }, +] +provides-extras = ["instruments"] + [[package]] name = "opentelemetry-instrumentation-mysql" source = { editable = "instrumentation/opentelemetry-instrumentation-mysql" } @@ -3855,8 +3567,7 @@ dependencies = [ [package.optional-dependencies] instruments = [ - { name = "urllib3", version = "1.26.20", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "urllib3", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "urllib3" }, ] [package.metadata] @@ -4220,19 +3931,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ad/fd/7f1d3edd4ffcd944a6a40e9f88af2197b619c931ac4d3cfba4798d4d3815/orjson-3.10.18-cp313-cp313-win32.whl", hash = "sha256:ad8eacbb5d904d5591f27dee4031e2c1db43d559edb8f91778efd642d70e6bea", size = 142687 }, { url = "https://files.pythonhosted.org/packages/4b/03/c75c6ad46be41c16f4cfe0352a2d1450546f3c09ad2c9d341110cd87b025/orjson-3.10.18-cp313-cp313-win_amd64.whl", hash = "sha256:aed411bcb68bf62e85588f2a7e03a6082cc42e5a2796e06e72a962d7c6310b52", size = 134794 }, { url = "https://files.pythonhosted.org/packages/c2/28/f53038a5a72cc4fd0b56c1eafb4ef64aec9685460d5ac34de98ca78b6e29/orjson-3.10.18-cp313-cp313-win_arm64.whl", hash = "sha256:f54c1385a0e6aba2f15a40d703b858bedad36ded0491e55d35d905b2c34a4cc3", size = 131186 }, - { url = "https://files.pythonhosted.org/packages/df/db/69488acaa2316788b7e171f024912c6fe8193aa2e24e9cfc7bc41c3669ba/orjson-3.10.18-cp39-cp39-macosx_10_15_x86_64.macosx_11_0_arm64.macosx_10_15_universal2.whl", hash = "sha256:c95fae14225edfd699454e84f61c3dd938df6629a00c6ce15e704f57b58433bb", size = 249301 }, - { url = "https://files.pythonhosted.org/packages/23/21/d816c44ec5d1482c654e1d23517d935bb2716e1453ff9380e861dc6efdd3/orjson-3.10.18-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5232d85f177f98e0cefabb48b5e7f60cff6f3f0365f9c60631fecd73849b2a82", size = 136786 }, - { url = "https://files.pythonhosted.org/packages/a5/9f/f68d8a9985b717e39ba7bf95b57ba173fcd86aeca843229ec60d38f1faa7/orjson-3.10.18-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2783e121cafedf0d85c148c248a20470018b4ffd34494a68e125e7d5857655d1", size = 132711 }, - { url = "https://files.pythonhosted.org/packages/b5/63/447f5955439bf7b99bdd67c38a3f689d140d998ac58e3b7d57340520343c/orjson-3.10.18-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e54ee3722caf3db09c91f442441e78f916046aa58d16b93af8a91500b7bbf273", size = 136841 }, - { url = "https://files.pythonhosted.org/packages/68/9e/4855972f2be74097242e4681ab6766d36638a079e09d66f3d6a5d1188ce7/orjson-3.10.18-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2daf7e5379b61380808c24f6fc182b7719301739e4271c3ec88f2984a2d61f89", size = 138082 }, - { url = "https://files.pythonhosted.org/packages/08/0f/e68431e53a39698d2355faf1f018c60a3019b4b54b4ea6be9dc6b8208a3d/orjson-3.10.18-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7f39b371af3add20b25338f4b29a8d6e79a8c7ed0e9dd49e008228a065d07781", size = 142618 }, - { url = "https://files.pythonhosted.org/packages/32/da/bdcfff239ddba1b6ef465efe49d7e43cc8c30041522feba9fd4241d47c32/orjson-3.10.18-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2b819ed34c01d88c6bec290e6842966f8e9ff84b7694632e88341363440d4cc0", size = 132627 }, - { url = "https://files.pythonhosted.org/packages/0c/28/bc634da09bbe972328f615b0961f1e7d91acb3cc68bddbca9e8dd64e8e24/orjson-3.10.18-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:2f6c57debaef0b1aa13092822cbd3698a1fb0209a9ea013a969f4efa36bdea57", size = 134832 }, - { url = "https://files.pythonhosted.org/packages/1d/d2/e8ac0c2d0ec782ed8925b4eb33f040cee1f1fbd1d8b268aeb84b94153e49/orjson-3.10.18-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:755b6d61ffdb1ffa1e768330190132e21343757c9aa2308c67257cc81a1a6f5a", size = 413161 }, - { url = "https://files.pythonhosted.org/packages/28/f0/397e98c352a27594566e865999dc6b88d6f37d5bbb87b23c982af24114c4/orjson-3.10.18-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ce8d0a875a85b4c8579eab5ac535fb4b2a50937267482be402627ca7e7570ee3", size = 153012 }, - { url = "https://files.pythonhosted.org/packages/93/bf/2c7334caeb48bdaa4cae0bde17ea417297ee136598653b1da7ae1f98c785/orjson-3.10.18-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:57b5d0673cbd26781bebc2bf86f99dd19bd5a9cb55f71cc4f66419f6b50f3d77", size = 136999 }, - { url = "https://files.pythonhosted.org/packages/35/72/4827b1c0c31621c2aa1e661a899cdd2cfac0565c6cd7131890daa4ef7535/orjson-3.10.18-cp39-cp39-win32.whl", hash = "sha256:951775d8b49d1d16ca8818b1f20c4965cae9157e7b562a2ae34d3967b8f21c8e", size = 142560 }, - { url = "https://files.pythonhosted.org/packages/72/91/ef8e76868e7eed478887c82f60607a8abf58dadd24e95817229a4b2e2639/orjson-3.10.18-cp39-cp39-win_amd64.whl", hash = "sha256:fdd9d68f83f0bc4406610b1ac68bdcded8c5ee58605cc69e643a06f4d075f429", size = 134455 }, ] [[package]] @@ -4409,22 +4107,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/4a/1f/ecd9ce27710021ae623631c0146719280a929d895a095f6d85efb6a0be2e/propcache-0.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:17d1c688a443355234f3c031349da69444be052613483f3e4158eef751abcd8a", size = 287407 }, { url = "https://files.pythonhosted.org/packages/3e/66/2e90547d6b60180fb29e23dc87bd8c116517d4255240ec6d3f7dc23d1926/propcache-0.3.1-cp313-cp313t-win32.whl", hash = "sha256:359e81a949a7619802eb601d66d37072b79b79c2505e6d3fd8b945538411400d", size = 42573 }, { url = "https://files.pythonhosted.org/packages/cb/8f/50ad8599399d1861b4d2b6b45271f0ef6af1b09b0a2386a46dbaf19c9535/propcache-0.3.1-cp313-cp313t-win_amd64.whl", hash = "sha256:e7fb9a84c9abbf2b2683fa3e7b0d7da4d8ecf139a1c635732a8bda29c5214b0e", size = 46757 }, - { url = "https://files.pythonhosted.org/packages/aa/e1/4a782cdc7ebc42dfb44224dabf93b481395a0b6cbc9f0149785edbbab19c/propcache-0.3.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:ed5f6d2edbf349bd8d630e81f474d33d6ae5d07760c44d33cd808e2f5c8f4ae6", size = 81368 }, - { url = "https://files.pythonhosted.org/packages/18/c6/9a39b2646a71321815d8d616e890851af9fb327af7d1b9fdce7d2d8377ca/propcache-0.3.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:668ddddc9f3075af019f784456267eb504cb77c2c4bd46cc8402d723b4d200bf", size = 47037 }, - { url = "https://files.pythonhosted.org/packages/f3/e2/88ad1c4c42861dd09b45924e468c42a1beb2c5267cb960b7a9f6af67dd04/propcache-0.3.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0c86e7ceea56376216eba345aa1fc6a8a6b27ac236181f840d1d7e6a1ea9ba5c", size = 46462 }, - { url = "https://files.pythonhosted.org/packages/ae/7e/3e3b36854e96be2e881bc6e87293d59c74dd734dd038dd4981474be44e26/propcache-0.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:83be47aa4e35b87c106fc0c84c0fc069d3f9b9b06d3c494cd404ec6747544894", size = 209214 }, - { url = "https://files.pythonhosted.org/packages/11/1a/ac0f757cc0babdc8217056fca85150066cf43bf11db9651e6b7d8e0646d6/propcache-0.3.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:27c6ac6aa9fc7bc662f594ef380707494cb42c22786a558d95fcdedb9aa5d035", size = 224702 }, - { url = "https://files.pythonhosted.org/packages/92/0a/0cf77d0e984b7058019ffa5385b3efd6962cbd5340a8f278ae103032863a/propcache-0.3.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:64a956dff37080b352c1c40b2966b09defb014347043e740d420ca1eb7c9b908", size = 223085 }, - { url = "https://files.pythonhosted.org/packages/05/fc/cb52a0caf803caff9b95b0a99e7c9c87f15b7e34ba0feebfd2572b49013d/propcache-0.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:82de5da8c8893056603ac2d6a89eb8b4df49abf1a7c19d536984c8dd63f481d5", size = 209613 }, - { url = "https://files.pythonhosted.org/packages/e5/fc/b1d1fdffbe1e0278ab535f8d21fc6b030889417714a545755bdd5ebe9bb0/propcache-0.3.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c3c3a203c375b08fd06a20da3cf7aac293b834b6f4f4db71190e8422750cca5", size = 199931 }, - { url = "https://files.pythonhosted.org/packages/23/a9/2a2f8d93d8f526c35dd8dbbc4a1ac22a106712cd821e15e2a6530aea8931/propcache-0.3.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:b303b194c2e6f171cfddf8b8ba30baefccf03d36a4d9cab7fd0bb68ba476a3d7", size = 208937 }, - { url = "https://files.pythonhosted.org/packages/ef/71/5247a264b95e8d4ba86757cf9ad6a523d764bd4579a2d80007a2d4d2b0ad/propcache-0.3.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:916cd229b0150129d645ec51614d38129ee74c03293a9f3f17537be0029a9641", size = 202577 }, - { url = "https://files.pythonhosted.org/packages/6f/4e/c8ec771731f1b1e7d07bd8875f1d13c1564b5d60f7483624d021eaef5687/propcache-0.3.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:a461959ead5b38e2581998700b26346b78cd98540b5524796c175722f18b0294", size = 204669 }, - { url = "https://files.pythonhosted.org/packages/c5/b8/bdfcb1170a7b8504226064d7c0b4deb61acbcc6bb2e754ee25fb36c1b72a/propcache-0.3.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:069e7212890b0bcf9b2be0a03afb0c2d5161d91e1bf51569a64f629acc7defbf", size = 214334 }, - { url = "https://files.pythonhosted.org/packages/72/c6/fdb9e8ba161a4e12c75a7415cb99314cad195d3b8ae9d770783cec54001e/propcache-0.3.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ef2e4e91fb3945769e14ce82ed53007195e616a63aa43b40fb7ebaaf907c8d4c", size = 218052 }, - { url = "https://files.pythonhosted.org/packages/67/3f/0dd87220f61598b61b590a8b3562142ae475a9c0f694ee32bf97e4e41d44/propcache-0.3.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8638f99dca15b9dff328fb6273e09f03d1c50d9b6512f3b65a4154588a7595fe", size = 210852 }, - { url = "https://files.pythonhosted.org/packages/7b/4e/e332164372af66992c07b470448beb7e36ce7dba6a06c6c2b6131f112e74/propcache-0.3.1-cp39-cp39-win32.whl", hash = "sha256:6f173bbfe976105aaa890b712d1759de339d8a7cef2fc0a1714cc1a1e1c47f64", size = 41481 }, - { url = "https://files.pythonhosted.org/packages/61/73/d64abb7bb5d18880ecfac152247c0f1a5807256ea21e4737ce3019afffeb/propcache-0.3.1-cp39-cp39-win_amd64.whl", hash = "sha256:603f1fe4144420374f1a69b907494c3acbc867a581c2d49d4175b0de7cc64566", size = 45720 }, { url = "https://files.pythonhosted.org/packages/b8/d3/c3cb8f1d6ae3b37f83e1de806713a9b3642c5895f0215a62e1a4bd6e5e34/propcache-0.3.1-py3-none-any.whl", hash = "sha256:9a8ecf38de50a7f518c21568c80f985e776397b902f1ce0b01f799aba1608b40", size = 12376 }, ] @@ -4451,8 +4133,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/46/de/7c126bbb06aa0f8a7b38aaf8bd746c514d70e6a2a3f6dd460b3b7aad7aae/protobuf-5.29.4-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:307ecba1d852ec237e9ba668e087326a67564ef83e45a0189a772ede9e854dd0", size = 417826 }, { url = "https://files.pythonhosted.org/packages/a2/b5/bade14ae31ba871a139aa45e7a8183d869efe87c34a4850c87b936963261/protobuf-5.29.4-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:aec4962f9ea93c431d5714ed1be1c93f13e1a8618e70035ba2b0564d9e633f2e", size = 319574 }, { url = "https://files.pythonhosted.org/packages/46/88/b01ed2291aae68b708f7d334288ad5fb3e7aa769a9c309c91a0d55cb91b0/protobuf-5.29.4-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:d7d3f7d1d5a66ed4942d4fefb12ac4b14a29028b209d4bfb25c68ae172059922", size = 319672 }, - { url = "https://files.pythonhosted.org/packages/8a/b8/c3847343ebd9c7ae0b762de1e173b110689fd334ac8dcf1697ffd9316861/protobuf-5.29.4-cp39-cp39-win32.whl", hash = "sha256:fd32223020cb25a2cc100366f1dedc904e2d71d9322403224cdde5fdced0dabe", size = 422675 }, - { url = "https://files.pythonhosted.org/packages/f0/74/e23e1ab05b27ce0b55f70be90df82076a5c18924d98679110459c52bacd9/protobuf-5.29.4-cp39-cp39-win_amd64.whl", hash = "sha256:678974e1e3a9b975b8bc2447fca458db5f93a2fb6b0c8db46b6675b5b5346812", size = 434594 }, { url = "https://files.pythonhosted.org/packages/12/fb/a586e0c973c95502e054ac5f81f88394f24ccc7982dac19c515acd9e2c93/protobuf-5.29.4-py3-none-any.whl", hash = "sha256:3fde11b505e1597f71b875ef2fc52062b6a9740e5f7c8997ce878b6009145862", size = 172551 }, ] @@ -4497,8 +4177,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/3d/16/4623fad6076448df21c1a870c93a9774ad8a7b4dd1660223b59082dd8fec/psycopg2-2.9.10-cp312-cp312-win32.whl", hash = "sha256:65a63d7ab0e067e2cdb3cf266de39663203d38d6a8ed97f5ca0cb315c73fe067", size = 1025113 }, { url = "https://files.pythonhosted.org/packages/66/de/baed128ae0fc07460d9399d82e631ea31a1f171c0c4ae18f9808ac6759e3/psycopg2-2.9.10-cp312-cp312-win_amd64.whl", hash = "sha256:4a579d6243da40a7b3182e0430493dbd55950c493d8c68f4eec0b302f6bbf20e", size = 1163951 }, { url = "https://files.pythonhosted.org/packages/ae/49/a6cfc94a9c483b1fa401fbcb23aca7892f60c7269c5ffa2ac408364f80dc/psycopg2-2.9.10-cp313-cp313-win_amd64.whl", hash = "sha256:91fd603a2155da8d0cfcdbf8ab24a2d54bca72795b90d2a3ed2b6da8d979dee2", size = 2569060 }, - { url = "https://files.pythonhosted.org/packages/5f/29/bc9639b9c50abd93a8274fd2deffbf70b2a65aa9e7881e63ea6bc4319e84/psycopg2-2.9.10-cp39-cp39-win32.whl", hash = "sha256:9d5b3b94b79a844a986d029eee38998232451119ad653aea42bb9220a8c5066b", size = 1025259 }, - { url = "https://files.pythonhosted.org/packages/2c/f8/0be7d99d24656b689d83ac167240c3527efb0b161d814fb1dd58329ddf75/psycopg2-2.9.10-cp39-cp39-win_amd64.whl", hash = "sha256:88138c8dedcbfa96408023ea2b0c369eda40fe5d75002c0964c78f46f11fa442", size = 1163878 }, ] [[package]] @@ -4554,17 +4232,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/c4/fc/504d4503b2abc4570fac3ca56eb8fed5e437bf9c9ef13f36b6621db8ef00/psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f0c2d907a1e102526dd2986df638343388b94c33860ff3bbe1384130828714b1", size = 2920155 }, { url = "https://files.pythonhosted.org/packages/b2/d1/323581e9273ad2c0dbd1902f3fb50c441da86e894b6e25a73c3fda32c57e/psycopg2_binary-2.9.10-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:f8157bed2f51db683f31306aa497311b560f2265998122abe1dce6428bd86567", size = 2959356 }, { url = "https://files.pythonhosted.org/packages/08/50/d13ea0a054189ae1bc21af1d85b6f8bb9bbc5572991055d70ad9006fe2d6/psycopg2_binary-2.9.10-cp313-cp313-win_amd64.whl", hash = "sha256:27422aa5f11fbcd9b18da48373eb67081243662f9b46e6fd07c3eb46e4535142", size = 2569224 }, - { url = "https://files.pythonhosted.org/packages/a2/bc/e77648009b6e61af327c607543f65fdf25bcfb4100f5a6f3bdb62ddac03c/psycopg2_binary-2.9.10-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:7a813c8bdbaaaab1f078014b9b0b13f5de757e2b5d9be6403639b298a04d218b", size = 3043437 }, - { url = "https://files.pythonhosted.org/packages/e0/e8/5a12211a1f5b959f3e3ccd342eace60c1f26422f53e06d687821dc268780/psycopg2_binary-2.9.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d00924255d7fc916ef66e4bf22f354a940c67179ad3fd7067d7a0a9c84d2fbfc", size = 2851340 }, - { url = "https://files.pythonhosted.org/packages/47/ed/5932b0458a7fc61237b653df050513c8d18a6f4083cc7f90dcef967f7bce/psycopg2_binary-2.9.10-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7559bce4b505762d737172556a4e6ea8a9998ecac1e39b5233465093e8cee697", size = 3080905 }, - { url = "https://files.pythonhosted.org/packages/71/df/8047d85c3d23864aca4613c3be1ea0fe61dbe4e050a89ac189f9dce4403e/psycopg2_binary-2.9.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e8b58f0a96e7a1e341fc894f62c1177a7c83febebb5ff9123b579418fdc8a481", size = 3264640 }, - { url = "https://files.pythonhosted.org/packages/f3/de/6157e4ef242920e8f2749f7708d5cc8815414bdd4a27a91996e7cd5c80df/psycopg2_binary-2.9.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b269105e59ac96aba877c1707c600ae55711d9dcd3fc4b5012e4af68e30c648", size = 3019812 }, - { url = "https://files.pythonhosted.org/packages/25/f9/0fc49efd2d4d6db3a8d0a3f5749b33a0d3fdd872cad49fbf5bfce1c50027/psycopg2_binary-2.9.10-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:79625966e176dc97ddabc142351e0409e28acf4660b88d1cf6adb876d20c490d", size = 2871933 }, - { url = "https://files.pythonhosted.org/packages/57/bc/2ed1bd182219065692ed458d218d311b0b220b20662d25d913bc4e8d3549/psycopg2_binary-2.9.10-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:8aabf1c1a04584c168984ac678a668094d831f152859d06e055288fa515e4d30", size = 2820990 }, - { url = "https://files.pythonhosted.org/packages/71/2a/43f77a9b8ee0b10e2de784d97ddc099d9fe0d9eec462a006e4d2cc74756d/psycopg2_binary-2.9.10-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:19721ac03892001ee8fdd11507e6a2e01f4e37014def96379411ca99d78aeb2c", size = 2919352 }, - { url = "https://files.pythonhosted.org/packages/57/86/d2943df70469e6afab3b5b8e1367fccc61891f46de436b24ddee6f2c8404/psycopg2_binary-2.9.10-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7f5d859928e635fa3ce3477704acee0f667b3a3d3e4bb109f2b18d4005f38287", size = 2957614 }, - { url = "https://files.pythonhosted.org/packages/85/21/195d69371330983aa16139e60ba855d0a18164c9295f3a3696be41bbcd54/psycopg2_binary-2.9.10-cp39-cp39-win32.whl", hash = "sha256:3216ccf953b3f267691c90c6fe742e45d890d8272326b4a8b20850a03d05b7b8", size = 1025341 }, - { url = "https://files.pythonhosted.org/packages/ad/53/73196ebc19d6fbfc22427b982fbc98698b7b9c361e5e7707e3a3247cf06d/psycopg2_binary-2.9.10-cp39-cp39-win_amd64.whl", hash = "sha256:30e34c4e97964805f715206c7b789d54a78b70f3ff19fbe590104b71c45600e5", size = 1163958 }, ] [[package]] @@ -4679,19 +4346,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a4/7d/e09391c2eebeab681df2b74bfe6c43422fffede8dc74187b2b0bf6fd7571/pydantic_core-2.33.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:61c18fba8e5e9db3ab908620af374db0ac1baa69f0f32df4f61ae23f15e586ac", size = 1806162 }, { url = "https://files.pythonhosted.org/packages/f1/3d/847b6b1fed9f8ed3bb95a9ad04fbd0b212e832d4f0f50ff4d9ee5a9f15cf/pydantic_core-2.33.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95237e53bb015f67b63c91af7518a62a8660376a6a0db19b89acc77a4d6199f5", size = 1981560 }, { url = "https://files.pythonhosted.org/packages/6f/9a/e73262f6c6656262b5fdd723ad90f518f579b7bc8622e43a942eec53c938/pydantic_core-2.33.2-cp313-cp313t-win_amd64.whl", hash = "sha256:c2fc0a768ef76c15ab9238afa6da7f69895bb5d1ee83aeea2e3509af4472d0b9", size = 1935777 }, - { url = "https://files.pythonhosted.org/packages/53/ea/bbe9095cdd771987d13c82d104a9c8559ae9aec1e29f139e286fd2e9256e/pydantic_core-2.33.2-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a2b911a5b90e0374d03813674bf0a5fbbb7741570dcd4b4e85a2e48d17def29d", size = 2028677 }, - { url = "https://files.pythonhosted.org/packages/49/1d/4ac5ed228078737d457a609013e8f7edc64adc37b91d619ea965758369e5/pydantic_core-2.33.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:6fa6dfc3e4d1f734a34710f391ae822e0a8eb8559a85c6979e14e65ee6ba2954", size = 1864735 }, - { url = "https://files.pythonhosted.org/packages/23/9a/2e70d6388d7cda488ae38f57bc2f7b03ee442fbcf0d75d848304ac7e405b/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c54c939ee22dc8e2d545da79fc5381f1c020d6d3141d3bd747eab59164dc89fb", size = 1898467 }, - { url = "https://files.pythonhosted.org/packages/ff/2e/1568934feb43370c1ffb78a77f0baaa5a8b6897513e7a91051af707ffdc4/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:53a57d2ed685940a504248187d5685e49eb5eef0f696853647bf37c418c538f7", size = 1983041 }, - { url = "https://files.pythonhosted.org/packages/01/1a/1a1118f38ab64eac2f6269eb8c120ab915be30e387bb561e3af904b12499/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:09fb9dd6571aacd023fe6aaca316bd01cf60ab27240d7eb39ebd66a3a15293b4", size = 2136503 }, - { url = "https://files.pythonhosted.org/packages/5c/da/44754d1d7ae0f22d6d3ce6c6b1486fc07ac2c524ed8f6eca636e2e1ee49b/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0e6116757f7959a712db11f3e9c0a99ade00a5bbedae83cb801985aa154f071b", size = 2736079 }, - { url = "https://files.pythonhosted.org/packages/4d/98/f43cd89172220ec5aa86654967b22d862146bc4d736b1350b4c41e7c9c03/pydantic_core-2.33.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8d55ab81c57b8ff8548c3e4947f119551253f4e3787a7bbc0b6b3ca47498a9d3", size = 2006508 }, - { url = "https://files.pythonhosted.org/packages/2b/cc/f77e8e242171d2158309f830f7d5d07e0531b756106f36bc18712dc439df/pydantic_core-2.33.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c20c462aa4434b33a2661701b861604913f912254e441ab8d78d30485736115a", size = 2113693 }, - { url = "https://files.pythonhosted.org/packages/54/7a/7be6a7bd43e0a47c147ba7fbf124fe8aaf1200bc587da925509641113b2d/pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:44857c3227d3fb5e753d5fe4a3420d6376fa594b07b621e220cd93703fe21782", size = 2074224 }, - { url = "https://files.pythonhosted.org/packages/2a/07/31cf8fadffbb03be1cb520850e00a8490c0927ec456e8293cafda0726184/pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_armv7l.whl", hash = "sha256:eb9b459ca4df0e5c87deb59d37377461a538852765293f9e6ee834f0435a93b9", size = 2245403 }, - { url = "https://files.pythonhosted.org/packages/b6/8d/bbaf4c6721b668d44f01861f297eb01c9b35f612f6b8e14173cb204e6240/pydantic_core-2.33.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:9fcd347d2cc5c23b06de6d3b7b8275be558a0c90549495c699e379a80bf8379e", size = 2242331 }, - { url = "https://files.pythonhosted.org/packages/bb/93/3cc157026bca8f5006250e74515119fcaa6d6858aceee8f67ab6dc548c16/pydantic_core-2.33.2-cp39-cp39-win32.whl", hash = "sha256:83aa99b1285bc8f038941ddf598501a86f1536789740991d7d8756e34f1e74d9", size = 1910571 }, - { url = "https://files.pythonhosted.org/packages/5b/90/7edc3b2a0d9f0dda8806c04e511a67b0b7a41d2187e2003673a996fb4310/pydantic_core-2.33.2-cp39-cp39-win_amd64.whl", hash = "sha256:f481959862f57f29601ccced557cc2e817bce7533ab8e01a797a48b49c9692b3", size = 1956504 }, { url = "https://files.pythonhosted.org/packages/30/68/373d55e58b7e83ce371691f6eaa7175e3a24b956c44628eb25d7da007917/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:5c4aa4e82353f65e548c476b37e64189783aa5384903bfea4f41580f255fddfa", size = 2023982 }, { url = "https://files.pythonhosted.org/packages/a4/16/145f54ac08c96a63d8ed6442f9dec17b2773d19920b627b18d4f10a061ea/pydantic_core-2.33.2-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d946c8bf0d5c24bf4fe333af284c59a19358aa3ec18cb3dc4370080da1e8ad29", size = 1858412 }, { url = "https://files.pythonhosted.org/packages/41/b1/c6dc6c3e2de4516c0bb2c46f6a373b91b5660312342a0cf5826e38ad82fa/pydantic_core-2.33.2-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:87b31b6846e361ef83fedb187bb5b4372d0da3f7e28d85415efa92d6125d6e6d", size = 1892749 }, @@ -4710,15 +4364,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b8/e9/1f7efbe20d0b2b10f6718944b5d8ece9152390904f29a78e68d4e7961159/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:de4b83bb311557e439b9e186f733f6c645b9417c84e2eb8203f3f820a4b988bf", size = 2239013 }, { url = "https://files.pythonhosted.org/packages/3c/b2/5309c905a93811524a49b4e031e9851a6b00ff0fb668794472ea7746b448/pydantic_core-2.33.2-pp311-pypy311_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:82f68293f055f51b51ea42fafc74b6aad03e70e191799430b90c13d643059ebb", size = 2238715 }, { url = "https://files.pythonhosted.org/packages/32/56/8a7ca5d2cd2cda1d245d34b1c9a942920a718082ae8e54e5f3e5a58b7add/pydantic_core-2.33.2-pp311-pypy311_pp73-win_amd64.whl", hash = "sha256:329467cecfb529c925cf2bbd4d60d2c509bc2fb52a20c1045bf09bb70971a9c1", size = 2066757 }, - { url = "https://files.pythonhosted.org/packages/08/98/dbf3fdfabaf81cda5622154fda78ea9965ac467e3239078e0dcd6df159e7/pydantic_core-2.33.2-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:87acbfcf8e90ca885206e98359d7dca4bcbb35abdc0ff66672a293e1d7a19101", size = 2024034 }, - { url = "https://files.pythonhosted.org/packages/8d/99/7810aa9256e7f2ccd492590f86b79d370df1e9292f1f80b000b6a75bd2fb/pydantic_core-2.33.2-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:7f92c15cd1e97d4b12acd1cc9004fa092578acfa57b67ad5e43a197175d01a64", size = 1858578 }, - { url = "https://files.pythonhosted.org/packages/d8/60/bc06fa9027c7006cc6dd21e48dbf39076dc39d9abbaf718a1604973a9670/pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3f26877a748dc4251cfcfda9dfb5f13fcb034f5308388066bcfe9031b63ae7d", size = 1892858 }, - { url = "https://files.pythonhosted.org/packages/f2/40/9d03997d9518816c68b4dfccb88969756b9146031b61cd37f781c74c9b6a/pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dac89aea9af8cd672fa7b510e7b8c33b0bba9a43186680550ccf23020f32d535", size = 2068498 }, - { url = "https://files.pythonhosted.org/packages/d8/62/d490198d05d2d86672dc269f52579cad7261ced64c2df213d5c16e0aecb1/pydantic_core-2.33.2-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:970919794d126ba8645f3837ab6046fb4e72bbc057b3709144066204c19a455d", size = 2108428 }, - { url = "https://files.pythonhosted.org/packages/9a/ec/4cd215534fd10b8549015f12ea650a1a973da20ce46430b68fc3185573e8/pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3eb3fe62804e8f859c49ed20a8451342de53ed764150cb14ca71357c765dc2a6", size = 2069854 }, - { url = "https://files.pythonhosted.org/packages/1a/1a/abbd63d47e1d9b0d632fee6bb15785d0889c8a6e0a6c3b5a8e28ac1ec5d2/pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_armv7l.whl", hash = "sha256:3abcd9392a36025e3bd55f9bd38d908bd17962cc49bc6da8e7e96285336e2bca", size = 2237859 }, - { url = "https://files.pythonhosted.org/packages/80/1c/fa883643429908b1c90598fd2642af8839efd1d835b65af1f75fba4d94fe/pydantic_core-2.33.2-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:3a1c81334778f9e3af2f8aeb7a960736e5cab1dfebfb26aabca09afd2906c039", size = 2239059 }, - { url = "https://files.pythonhosted.org/packages/d4/29/3cade8a924a61f60ccfa10842f75eb12787e1440e2b8660ceffeb26685e7/pydantic_core-2.33.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:2807668ba86cb38c6817ad9bc66215ab8584d1d304030ce4f0887336f28a5e27", size = 2066661 }, ] [[package]] @@ -4726,9 +4371,9 @@ name = "pydantic-settings" version = "2.11.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "pydantic", marker = "python_full_version >= '3.10'" }, - { name = "python-dotenv", marker = "python_full_version >= '3.10'" }, - { name = "typing-inspection", marker = "python_full_version >= '3.10'" }, + { name = "pydantic" }, + { name = "python-dotenv" }, + { name = "typing-inspection" }, ] sdist = { url = "https://files.pythonhosted.org/packages/20/c5/dbbc27b814c71676593d1c3f718e6cd7d4f00652cefa24b75f7aa3efb25e/pydantic_settings-2.11.0.tar.gz", hash = "sha256:d0e87a1c7d33593beb7194adb8470fc426e95ba02af83a0f23474a04c9a08180", size = 188394 } wheels = [ @@ -4807,17 +4452,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/17/a7/0358efc8dba796545e9bd4642d1337a9b67b60928c583799fb0726594855/pymongo-4.13.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82c36928c1c26580ce4f2497a6875968636e87c77108ff253d76b1355181a405", size = 2219131 }, { url = "https://files.pythonhosted.org/packages/58/d5/373cd1cd21eff769e22e4e0924dcbfd770dfa1298566d51a7097857267fc/pymongo-4.13.0-cp313-cp313t-win32.whl", hash = "sha256:1397eac713b84946210ab556666cfdd787eee824e910fbbe661d147e110ec516", size = 975711 }, { url = "https://files.pythonhosted.org/packages/b0/39/1e204091bdf264a0d9eccc21f7da099903a7a30045f055a91178686c0259/pymongo-4.13.0-cp313-cp313t-win_amd64.whl", hash = "sha256:99a52cfbf31579cc63c926048cd0ada6f96c98c1c4c211356193e07418e6207c", size = 1004287 }, - { url = "https://files.pythonhosted.org/packages/84/e2/6b2bced59dba2e9108263821f6141d7742e8e9ef84c1e1b15dff6ee223bc/pymongo-4.13.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:267eff6a66da5cf5255b3bcd257984619e9c4d41a53578d4e1d827553a51cf40", size = 748144 }, - { url = "https://files.pythonhosted.org/packages/84/a8/90aa028f3d2b8f498fac1768257d9493c7a986b936fe3d5b9dfd1616b9e0/pymongo-4.13.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:81b46d9bc62128c3d968336f8635bcfce33d8e9e1fc6be6ebdfb98effaccb9c7", size = 748431 }, - { url = "https://files.pythonhosted.org/packages/92/dc/a643356995ac036f86f35e0e43cb1412e4f5b3128ae2398b208a9e8ef108/pymongo-4.13.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd0c9322fdf1b9e8a5c99ca337bd9a99d972ba57c976e77b5017366ba26725e1", size = 936094 }, - { url = "https://files.pythonhosted.org/packages/7e/27/96e5dcfac38a9ebadb9c3b740f6660e6ed9372ccb5b62ab5efda35aeb299/pymongo-4.13.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d4b4942e5566a134fe34c03d7182a0b346e4a478defe625dc430dd5a178ad96e", size = 953437 }, - { url = "https://files.pythonhosted.org/packages/f9/c5/a576862c4355cf350b8a66f0a079ed5858d52e123b93e71a9ec5f52f2ab5/pymongo-4.13.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cef461fae88ac51cd6b3f81adf58171113c58c0e77c82c751b3bdcef516cfeb1", size = 945102 }, - { url = "https://files.pythonhosted.org/packages/77/11/e7a104523f40739809560675cfdd753a8524c53aeb9583c2a20481e7f068/pymongo-4.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fb780d9d284ffdf7922edd4a6d7ba08e54a6680f85f64f91fa9cc2617dd488b7", size = 937994 }, - { url = "https://files.pythonhosted.org/packages/c0/e6/6d23ee9aebccd85878f1f2851cf89e9c4090dd544dd2bb2fbc93d1131105/pymongo-4.13.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2afe49109b4d498d8e55ac9692915f2a3fce0bd31646bb7ed41f9ab3546ca19", size = 927655 }, - { url = "https://files.pythonhosted.org/packages/42/b4/9a33412c98774f9c79157acffe50786a9aa4781dca5b70b779eaa3d75cc5/pymongo-4.13.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d9a1d7d49d0d364520894116133d017b6e0e2d5131eb31c8553552fa77a65085", size = 910905 }, - { url = "https://files.pythonhosted.org/packages/ac/45/0bc5ebe2e573d5945f15806b95bda4f1e816b64a7b9feefb555c342c10db/pymongo-4.13.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:d684d9b385d97ab821d2ae74628c81a8bd12a4e5004a3ded0ec8c20381d62d0e", size = 937307 }, - { url = "https://files.pythonhosted.org/packages/5a/2c/7bbbb4c8aa758f2c86005146f5ebd0c5ffeaf420f6f7f21e526c03efd4d1/pymongo-4.13.0-cp39-cp39-win32.whl", hash = "sha256:bd23119f9d0358aa1f78174d2eda88ca5c882a722e25ca31197402278acddc6e", size = 742944 }, - { url = "https://files.pythonhosted.org/packages/81/d3/372eecea4ac8629a215e9f2e387d6d73e4a7698a4fcfaeb478f843c217fb/pymongo-4.13.0-cp39-cp39-win_amd64.whl", hash = "sha256:e7d349066f4c229d638a30f1f53ec3a4aaf4a4fc568491bdf77e7415a96003fb", size = 747675 }, ] [[package]] @@ -4867,18 +4501,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9c/2d/c187ebcaeb2832cc7ac85034897eb920b361fd63bf011a5d02b31fe2f840/pymssql-2.3.4-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:145dc2b73e4fe115e6176866245921ce95a216a8d6cb0d9420c2e05ee2a911a9", size = 4661965 }, { url = "https://files.pythonhosted.org/packages/77/59/aae5ba396d1c603325112bf7106705e1781e4604381faa45ad55161f2b0f/pymssql-2.3.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e08f1bc9e4a914c82816e3e5270b53bead13d3444435fc7bddfff9cb302b9982", size = 4903978 }, { url = "https://files.pythonhosted.org/packages/3f/a9/25ea7056857aabbfd285c397084c571e4486f341ff8e8086b067bc2e2109/pymssql-2.3.4-cp313-cp313-win32.whl", hash = "sha256:e31b507f4669671e8bbdeecf1c1c2ed9c092953a1decfae5af656200a74195d1", size = 1337662 }, - { url = "https://files.pythonhosted.org/packages/a8/17/66414aeb30a4c2a23d29b2b8715d20d23e57c3ac2dd7bfd6fee5aa093e07/pymssql-2.3.4-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:378cb74a67cb177d6864acd446e17afc7ebbc7b3cde9cfee04d7221ec1bc08ef", size = 2806568 }, - { url = "https://files.pythonhosted.org/packages/1c/e7/00a27e73300a172618d5b0cd2f910d4ef434d0c221aa2ff0a507a614ce34/pymssql-2.3.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ad790becb502b1a981fc83d922813303a1eac7867df62bda2ca12f41b73efd2", size = 3925998 }, - { url = "https://files.pythonhosted.org/packages/c1/fd/22275fbe8c2de5d0112b0809e444be922762a9f12a791ed49a8bec14e59b/pymssql-2.3.4-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b538838abef0bd45a0cf097dfe661a5b8894804aa0dc2a1da9adacf6e5013b8d", size = 3930500 }, - { url = "https://files.pythonhosted.org/packages/dc/c4/42f22e0d343bf96d84fbab902e2821fdaa7318c54fd6add31be34e6c952d/pymssql-2.3.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e43e8276d7b2977672e4ecff5837d674ace36b646d19c943ce0383f95a48ffe3", size = 4277364 }, - { url = "https://files.pythonhosted.org/packages/e9/90/61b1286b749b6e9fb96a5219e8e9642d3e8300f2e94d66602fa99ecf98bd/pymssql-2.3.4-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:6dbc315df97bc98a0af2447f44d52e51fd6af892f985db09abc49f24ddb19f3b", size = 4713395 }, - { url = "https://files.pythonhosted.org/packages/3c/fb/fab148cc6ccbebe56a20413927796f536ed13b71e77cdb0d9d53458d31d8/pymssql-2.3.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:3d6dd05274ebaee7dda6d86fe4773c5cc91962e6c163c443cb4746c8c678037f", size = 2802822 }, - { url = "https://files.pythonhosted.org/packages/b2/24/9c54e1c58522973bff59caaaae92ffbbe4e6d8a5d782aa02030940a009f0/pymssql-2.3.4-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:2091f8afb1bff4f398cbd4bb28690e9e63c88f793cd13760a8a7f366525dca0f", size = 2902371 }, - { url = "https://files.pythonhosted.org/packages/b9/69/515b29102d9969b4d25d3127e4b8a1df5a1185be3ed4f83a21291560b368/pymssql-2.3.4-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:2afa69efcf26b8dd960931d4092ad0f0bf2cc92e4bc71ffc10c83ffaebba234d", size = 4014679 }, - { url = "https://files.pythonhosted.org/packages/28/e1/a309673a01c946b1506843b68e7231aa8369cfac1ee89db9004848d56e34/pymssql-2.3.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:f59e2c17a19c042782daf41f770f8e63f30dab238b8d77aa51060a735bdb9ac4", size = 4036000 }, - { url = "https://files.pythonhosted.org/packages/83/26/ceab1deed7fce9c335ab4bf41401b5bff50dc47fd02a6c78e8b815616233/pymssql-2.3.4-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:ecc8d8a35dd319e33f4ead45e9843ccaf2353c4c2d82bd17016d4d8f2ee41a79", size = 4562300 }, - { url = "https://files.pythonhosted.org/packages/cc/66/0bf929d6adbd053b43f82c1d0002908123e3614cf782e02353acd18272fd/pymssql-2.3.4-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:dd3c22370652f643d370ab14d6d5b5bde85fb4b43bca1eca6f1105e4218be245", size = 4774300 }, - { url = "https://files.pythonhosted.org/packages/b1/7b/520fc74b072a09af20faa5fb2de988cae5be150611a15f51a96d4c8adbc2/pymssql-2.3.4-cp39-cp39-win_amd64.whl", hash = "sha256:48ea563fd02f25439fe054979ebdb469fbcc15dffdc2c67388b24dca195da313", size = 2037450 }, ] [[package]] @@ -5005,12 +4627,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a5/be/3fd5de0979fcb3994bfee0d65ed8ca9506a8a1260651b86174f6a86f52b3/pywin32-311-cp313-cp313-win32.whl", hash = "sha256:f95ba5a847cba10dd8c4d8fefa9f2a6cf283b8b88ed6178fa8a6c1ab16054d0d", size = 8705700 }, { url = "https://files.pythonhosted.org/packages/e3/28/e0a1909523c6890208295a29e05c2adb2126364e289826c0a8bc7297bd5c/pywin32-311-cp313-cp313-win_amd64.whl", hash = "sha256:718a38f7e5b058e76aee1c56ddd06908116d35147e133427e59a3983f703a20d", size = 9494700 }, { url = "https://files.pythonhosted.org/packages/04/bf/90339ac0f55726dce7d794e6d79a18a91265bdf3aa70b6b9ca52f35e022a/pywin32-311-cp313-cp313-win_arm64.whl", hash = "sha256:7b4075d959648406202d92a2310cb990fea19b535c7f4a78d3f5e10b926eeb8a", size = 8709318 }, - { url = "https://files.pythonhosted.org/packages/c9/31/097f2e132c4f16d99a22bfb777e0fd88bd8e1c634304e102f313af69ace5/pywin32-311-cp314-cp314-win32.whl", hash = "sha256:b7a2c10b93f8986666d0c803ee19b5990885872a7de910fc460f9b0c2fbf92ee", size = 8840714 }, - { url = "https://files.pythonhosted.org/packages/90/4b/07c77d8ba0e01349358082713400435347df8426208171ce297da32c313d/pywin32-311-cp314-cp314-win_amd64.whl", hash = "sha256:3aca44c046bd2ed8c90de9cb8427f581c479e594e99b5c0bb19b29c10fd6cb87", size = 9656800 }, - { url = "https://files.pythonhosted.org/packages/c0/d2/21af5c535501a7233e734b8af901574572da66fcc254cb35d0609c9080dd/pywin32-311-cp314-cp314-win_arm64.whl", hash = "sha256:a508e2d9025764a8270f93111a970e1d0fbfc33f4153b388bb649b7eec4f9b42", size = 8932540 }, - { url = "https://files.pythonhosted.org/packages/59/42/b86689aac0cdaee7ae1c58d464b0ff04ca909c19bb6502d4973cdd9f9544/pywin32-311-cp39-cp39-win32.whl", hash = "sha256:aba8f82d551a942cb20d4a83413ccbac30790b50efb89a75e4f586ac0bb8056b", size = 8760837 }, - { url = "https://files.pythonhosted.org/packages/9f/8a/1403d0353f8c5a2f0829d2b1c4becbf9da2f0a4d040886404fc4a5431e4d/pywin32-311-cp39-cp39-win_amd64.whl", hash = "sha256:e0c4cfb0621281fe40387df582097fd796e80430597cb9944f0ae70447bacd91", size = 9590187 }, - { url = "https://files.pythonhosted.org/packages/60/22/e0e8d802f124772cec9c75430b01a212f86f9de7546bda715e54140d5aeb/pywin32-311-cp39-cp39-win_arm64.whl", hash = "sha256:62ea666235135fee79bb154e695f3ff67370afefd71bd7fea7512fc70ef31e3d", size = 8778162 }, ] [[package]] @@ -5055,15 +4671,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fe/0f/25911a9f080464c59fab9027482f822b86bf0608957a5fcc6eaac85aa515/PyYAML-6.0.2-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", size = 751597 }, { url = "https://files.pythonhosted.org/packages/14/0d/e2c3b43bbce3cf6bd97c840b46088a3031085179e596d4929729d8d68270/PyYAML-6.0.2-cp313-cp313-win32.whl", hash = "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", size = 140527 }, { url = "https://files.pythonhosted.org/packages/fa/de/02b54f42487e3d3c6efb3f89428677074ca7bf43aae402517bc7cca949f3/PyYAML-6.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", size = 156446 }, - { url = "https://files.pythonhosted.org/packages/65/d8/b7a1db13636d7fb7d4ff431593c510c8b8fca920ade06ca8ef20015493c5/PyYAML-6.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", size = 184777 }, - { url = "https://files.pythonhosted.org/packages/0a/02/6ec546cd45143fdf9840b2c6be8d875116a64076218b61d68e12548e5839/PyYAML-6.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", size = 172318 }, - { url = "https://files.pythonhosted.org/packages/0e/9a/8cc68be846c972bda34f6c2a93abb644fb2476f4dcc924d52175786932c9/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", size = 720891 }, - { url = "https://files.pythonhosted.org/packages/e9/6c/6e1b7f40181bc4805e2e07f4abc10a88ce4648e7e95ff1abe4ae4014a9b2/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", size = 722614 }, - { url = "https://files.pythonhosted.org/packages/3d/32/e7bd8535d22ea2874cef6a81021ba019474ace0d13a4819c2a4bce79bd6a/PyYAML-6.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", size = 737360 }, - { url = "https://files.pythonhosted.org/packages/d7/12/7322c1e30b9be969670b672573d45479edef72c9a0deac3bb2868f5d7469/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", size = 699006 }, - { url = "https://files.pythonhosted.org/packages/82/72/04fcad41ca56491995076630c3ec1e834be241664c0c09a64c9a2589b507/PyYAML-6.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", size = 723577 }, - { url = "https://files.pythonhosted.org/packages/ed/5e/46168b1f2757f1fcd442bc3029cd8767d88a98c9c05770d8b420948743bb/PyYAML-6.0.2-cp39-cp39-win32.whl", hash = "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", size = 144593 }, - { url = "https://files.pythonhosted.org/packages/19/87/5124b1c1f2412bb95c59ec481eaf936cd32f0fe2a7b16b97b81c4c017a6a/PyYAML-6.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", size = 162312 }, ] [[package]] @@ -5083,9 +4690,9 @@ name = "referencing" version = "0.36.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "attrs", marker = "python_full_version >= '3.10'" }, - { name = "rpds-py", marker = "python_full_version >= '3.10'" }, - { name = "typing-extensions", marker = "python_full_version >= '3.10' and python_full_version < '3.13'" }, + { name = "attrs" }, + { name = "rpds-py" }, + { name = "typing-extensions", marker = "python_full_version < '3.13'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/2f/db/98b5c277be99dd18bfd91dd04e1b759cad18d1a338188c936e92f921c7e2/referencing-0.36.2.tar.gz", hash = "sha256:df2e89862cd09deabbdba16944cc3f10feb6b3e6f18e902f7cc25609a34775aa", size = 74744 } wheels = [ @@ -5116,8 +4723,7 @@ dependencies = [ { name = "certifi" }, { name = "charset-normalizer" }, { name = "idna" }, - { name = "urllib3", version = "1.26.20", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, - { name = "urllib3", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "urllib3" }, ] sdist = { url = "https://files.pythonhosted.org/packages/63/70/2bf7780ad2d390a8d301ad0b550f1581eadbd9a20f896afe06353c2a2913/requests-2.32.3.tar.gz", hash = "sha256:55365417734eb18255590a9ff9eb97e9e1da868d4ccd6402399eaf68af20a760", size = 131218 } wheels = [ @@ -5229,49 +4835,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/86/e3/84507781cccd0145f35b1dc32c72675200c5ce8d5b30f813e49424ef68fc/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dd2135527aa40f061350c3f8f89da2644de26cd73e4de458e79606384f4f68e7", size = 555300 }, { url = "https://files.pythonhosted.org/packages/e5/ee/375469849e6b429b3516206b4580a79e9ef3eb12920ddbd4492b56eaacbe/rpds_py-0.27.1-cp313-cp313t-win32.whl", hash = "sha256:3020724ade63fe320a972e2ffd93b5623227e684315adce194941167fee02688", size = 216714 }, { url = "https://files.pythonhosted.org/packages/21/87/3fc94e47c9bd0742660e84706c311a860dcae4374cf4a03c477e23ce605a/rpds_py-0.27.1-cp313-cp313t-win_amd64.whl", hash = "sha256:8ee50c3e41739886606388ba3ab3ee2aae9f35fb23f833091833255a31740797", size = 228943 }, - { url = "https://files.pythonhosted.org/packages/70/36/b6e6066520a07cf029d385de869729a895917b411e777ab1cde878100a1d/rpds_py-0.27.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:acb9aafccaae278f449d9c713b64a9e68662e7799dbd5859e2c6b3c67b56d334", size = 362472 }, - { url = "https://files.pythonhosted.org/packages/af/07/b4646032e0dcec0df9c73a3bd52f63bc6c5f9cda992f06bd0e73fe3fbebd/rpds_py-0.27.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b7fb801aa7f845ddf601c49630deeeccde7ce10065561d92729bfe81bd21fb33", size = 345676 }, - { url = "https://files.pythonhosted.org/packages/b0/16/2f1003ee5d0af4bcb13c0cf894957984c32a6751ed7206db2aee7379a55e/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe0dd05afb46597b9a2e11c351e5e4283c741237e7f617ffb3252780cca9336a", size = 385313 }, - { url = "https://files.pythonhosted.org/packages/05/cd/7eb6dd7b232e7f2654d03fa07f1414d7dfc980e82ba71e40a7c46fd95484/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b6dfb0e058adb12d8b1d1b25f686e94ffa65d9995a5157afe99743bf7369d62b", size = 399080 }, - { url = "https://files.pythonhosted.org/packages/20/51/5829afd5000ec1cb60f304711f02572d619040aa3ec033d8226817d1e571/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed090ccd235f6fa8bb5861684567f0a83e04f52dfc2e5c05f2e4b1309fcf85e7", size = 523868 }, - { url = "https://files.pythonhosted.org/packages/05/2c/30eebca20d5db95720ab4d2faec1b5e4c1025c473f703738c371241476a2/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf876e79763eecf3e7356f157540d6a093cef395b65514f17a356f62af6cc136", size = 408750 }, - { url = "https://files.pythonhosted.org/packages/90/1a/cdb5083f043597c4d4276eae4e4c70c55ab5accec078da8611f24575a367/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12ed005216a51b1d6e2b02a7bd31885fe317e45897de81d86dcce7d74618ffff", size = 387688 }, - { url = "https://files.pythonhosted.org/packages/7c/92/cf786a15320e173f945d205ab31585cc43969743bb1a48b6888f7a2b0a2d/rpds_py-0.27.1-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:ee4308f409a40e50593c7e3bb8cbe0b4d4c66d1674a316324f0c2f5383b486f9", size = 407225 }, - { url = "https://files.pythonhosted.org/packages/33/5c/85ee16df5b65063ef26017bef33096557a4c83fbe56218ac7cd8c235f16d/rpds_py-0.27.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b08d152555acf1f455154d498ca855618c1378ec810646fcd7c76416ac6dc60", size = 423361 }, - { url = "https://files.pythonhosted.org/packages/4b/8e/1c2741307fcabd1a334ecf008e92c4f47bb6f848712cf15c923becfe82bb/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:dce51c828941973a5684d458214d3a36fcd28da3e1875d659388f4f9f12cc33e", size = 562493 }, - { url = "https://files.pythonhosted.org/packages/04/03/5159321baae9b2222442a70c1f988cbbd66b9be0675dd3936461269be360/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:c1476d6f29eb81aa4151c9a31219b03f1f798dc43d8af1250a870735516a1212", size = 592623 }, - { url = "https://files.pythonhosted.org/packages/ff/39/c09fd1ad28b85bc1d4554a8710233c9f4cefd03d7717a1b8fbfd171d1167/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3ce0cac322b0d69b63c9cdb895ee1b65805ec9ffad37639f291dd79467bee675", size = 558800 }, - { url = "https://files.pythonhosted.org/packages/c5/d6/99228e6bbcf4baa764b18258f519a9035131d91b538d4e0e294313462a98/rpds_py-0.27.1-cp314-cp314-win32.whl", hash = "sha256:dfbfac137d2a3d0725758cd141f878bf4329ba25e34979797c89474a89a8a3a3", size = 221943 }, - { url = "https://files.pythonhosted.org/packages/be/07/c802bc6b8e95be83b79bdf23d1aa61d68324cb1006e245d6c58e959e314d/rpds_py-0.27.1-cp314-cp314-win_amd64.whl", hash = "sha256:a6e57b0abfe7cc513450fcf529eb486b6e4d3f8aee83e92eb5f1ef848218d456", size = 233739 }, - { url = "https://files.pythonhosted.org/packages/c8/89/3e1b1c16d4c2d547c5717377a8df99aee8099ff050f87c45cb4d5fa70891/rpds_py-0.27.1-cp314-cp314-win_arm64.whl", hash = "sha256:faf8d146f3d476abfee026c4ae3bdd9ca14236ae4e4c310cbd1cf75ba33d24a3", size = 223120 }, - { url = "https://files.pythonhosted.org/packages/62/7e/dc7931dc2fa4a6e46b2a4fa744a9fe5c548efd70e0ba74f40b39fa4a8c10/rpds_py-0.27.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:ba81d2b56b6d4911ce735aad0a1d4495e808b8ee4dc58715998741a26874e7c2", size = 358944 }, - { url = "https://files.pythonhosted.org/packages/e6/22/4af76ac4e9f336bfb1a5f240d18a33c6b2fcaadb7472ac7680576512b49a/rpds_py-0.27.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:84f7d509870098de0e864cad0102711c1e24e9b1a50ee713b65928adb22269e4", size = 342283 }, - { url = "https://files.pythonhosted.org/packages/1c/15/2a7c619b3c2272ea9feb9ade67a45c40b3eeb500d503ad4c28c395dc51b4/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e960fc78fecd1100539f14132425e1d5fe44ecb9239f8f27f079962021523e", size = 380320 }, - { url = "https://files.pythonhosted.org/packages/a2/7d/4c6d243ba4a3057e994bb5bedd01b5c963c12fe38dde707a52acdb3849e7/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:62f85b665cedab1a503747617393573995dac4600ff51869d69ad2f39eb5e817", size = 391760 }, - { url = "https://files.pythonhosted.org/packages/b4/71/b19401a909b83bcd67f90221330bc1ef11bc486fe4e04c24388d28a618ae/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fed467af29776f6556250c9ed85ea5a4dd121ab56a5f8b206e3e7a4c551e48ec", size = 522476 }, - { url = "https://files.pythonhosted.org/packages/e4/44/1a3b9715c0455d2e2f0f6df5ee6d6f5afdc423d0773a8a682ed2b43c566c/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2729615f9d430af0ae6b36cf042cb55c0936408d543fb691e1a9e36648fd35a", size = 403418 }, - { url = "https://files.pythonhosted.org/packages/1c/4b/fb6c4f14984eb56673bc868a66536f53417ddb13ed44b391998100a06a96/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b207d881a9aef7ba753d69c123a35d96ca7cb808056998f6b9e8747321f03b8", size = 384771 }, - { url = "https://files.pythonhosted.org/packages/c0/56/d5265d2d28b7420d7b4d4d85cad8ef891760f5135102e60d5c970b976e41/rpds_py-0.27.1-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:639fd5efec029f99b79ae47e5d7e00ad8a773da899b6309f6786ecaf22948c48", size = 400022 }, - { url = "https://files.pythonhosted.org/packages/8f/e9/9f5fc70164a569bdd6ed9046486c3568d6926e3a49bdefeeccfb18655875/rpds_py-0.27.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fecc80cb2a90e28af8a9b366edacf33d7a91cbfe4c2c4544ea1246e949cfebeb", size = 416787 }, - { url = "https://files.pythonhosted.org/packages/d4/64/56dd03430ba491db943a81dcdef115a985aac5f44f565cd39a00c766d45c/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42a89282d711711d0a62d6f57d81aa43a1368686c45bc1c46b7f079d55692734", size = 557538 }, - { url = "https://files.pythonhosted.org/packages/3f/36/92cc885a3129993b1d963a2a42ecf64e6a8e129d2c7cc980dbeba84e55fb/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:cf9931f14223de59551ab9d38ed18d92f14f055a5f78c1d8ad6493f735021bbb", size = 588512 }, - { url = "https://files.pythonhosted.org/packages/dd/10/6b283707780a81919f71625351182b4f98932ac89a09023cb61865136244/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f39f58a27cc6e59f432b568ed8429c7e1641324fbe38131de852cd77b2d534b0", size = 555813 }, - { url = "https://files.pythonhosted.org/packages/04/2e/30b5ea18c01379da6272a92825dd7e53dc9d15c88a19e97932d35d430ef7/rpds_py-0.27.1-cp314-cp314t-win32.whl", hash = "sha256:d5fa0ee122dc09e23607a28e6d7b150da16c662e66409bbe85230e4c85bb528a", size = 217385 }, - { url = "https://files.pythonhosted.org/packages/32/7d/97119da51cb1dd3f2f3c0805f155a3aa4a95fa44fe7d78ae15e69edf4f34/rpds_py-0.27.1-cp314-cp314t-win_amd64.whl", hash = "sha256:6567d2bb951e21232c2f660c24cf3470bb96de56cdcb3f071a83feeaff8a2772", size = 230097 }, - { url = "https://files.pythonhosted.org/packages/7f/6c/252e83e1ce7583c81f26d1d884b2074d40a13977e1b6c9c50bbf9a7f1f5a/rpds_py-0.27.1-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:c918c65ec2e42c2a78d19f18c553d77319119bf43aa9e2edf7fb78d624355527", size = 372140 }, - { url = "https://files.pythonhosted.org/packages/9d/71/949c195d927c5aeb0d0629d329a20de43a64c423a6aa53836290609ef7ec/rpds_py-0.27.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:1fea2b1a922c47c51fd07d656324531adc787e415c8b116530a1d29c0516c62d", size = 354086 }, - { url = "https://files.pythonhosted.org/packages/9f/02/e43e332ad8ce4f6c4342d151a471a7f2900ed1d76901da62eb3762663a71/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbf94c58e8e0cd6b6f38d8de67acae41b3a515c26169366ab58bdca4a6883bb8", size = 382117 }, - { url = "https://files.pythonhosted.org/packages/d0/05/b0fdeb5b577197ad72812bbdfb72f9a08fa1e64539cc3940b1b781cd3596/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c2a8fed130ce946d5c585eddc7c8eeef0051f58ac80a8ee43bd17835c144c2cc", size = 394520 }, - { url = "https://files.pythonhosted.org/packages/67/1f/4cfef98b2349a7585181e99294fa2a13f0af06902048a5d70f431a66d0b9/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:037a2361db72ee98d829bc2c5b7cc55598ae0a5e0ec1823a56ea99374cfd73c1", size = 522657 }, - { url = "https://files.pythonhosted.org/packages/44/55/ccf37ddc4c6dce7437b335088b5ca18da864b334890e2fe9aa6ddc3f79a9/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5281ed1cc1d49882f9997981c88df1a22e140ab41df19071222f7e5fc4e72125", size = 402967 }, - { url = "https://files.pythonhosted.org/packages/74/e5/5903f92e41e293b07707d5bf00ef39a0eb2af7190aff4beaf581a6591510/rpds_py-0.27.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2fd50659a069c15eef8aa3d64bbef0d69fd27bb4a50c9ab4f17f83a16cbf8905", size = 384372 }, - { url = "https://files.pythonhosted.org/packages/8f/e3/fbb409e18aeefc01e49f5922ac63d2d914328430e295c12183ce56ebf76b/rpds_py-0.27.1-cp39-cp39-manylinux_2_31_riscv64.whl", hash = "sha256:c4b676c4ae3921649a15d28ed10025548e9b561ded473aa413af749503c6737e", size = 401264 }, - { url = "https://files.pythonhosted.org/packages/55/79/529ad07794e05cb0f38e2f965fc5bb20853d523976719400acecc447ec9d/rpds_py-0.27.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:079bc583a26db831a985c5257797b2b5d3affb0386e7ff886256762f82113b5e", size = 418691 }, - { url = "https://files.pythonhosted.org/packages/33/39/6554a7fd6d9906fda2521c6d52f5d723dca123529fb719a5b5e074c15e01/rpds_py-0.27.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4e44099bd522cba71a2c6b97f68e19f40e7d85399de899d66cdb67b32d7cb786", size = 558989 }, - { url = "https://files.pythonhosted.org/packages/19/b2/76fa15173b6f9f445e5ef15120871b945fb8dd9044b6b8c7abe87e938416/rpds_py-0.27.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:e202e6d4188e53c6661af813b46c37ca2c45e497fc558bacc1a7630ec2695aec", size = 589835 }, - { url = "https://files.pythonhosted.org/packages/ee/9e/5560a4b39bab780405bed8a88ee85b30178061d189558a86003548dea045/rpds_py-0.27.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:f41f814b8eaa48768d1bb551591f6ba45f87ac76899453e8ccd41dba1289b04b", size = 555227 }, - { url = "https://files.pythonhosted.org/packages/52/d7/cd9c36215111aa65724c132bf709c6f35175973e90b32115dedc4ced09cb/rpds_py-0.27.1-cp39-cp39-win32.whl", hash = "sha256:9e71f5a087ead99563c11fdaceee83ee982fd39cf67601f4fd66cb386336ee52", size = 217899 }, - { url = "https://files.pythonhosted.org/packages/5b/e0/d75ab7b4dd8ba777f6b365adbdfc7614bbfe7c5f05703031dfa4b61c3d6c/rpds_py-0.27.1-cp39-cp39-win_amd64.whl", hash = "sha256:71108900c9c3c8590697244b9519017a400d9ba26a36c48381b3f64743a44aab", size = 228725 }, { url = "https://files.pythonhosted.org/packages/d5/63/b7cc415c345625d5e62f694ea356c58fb964861409008118f1245f8c3347/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:7ba22cb9693df986033b91ae1d7a979bc399237d45fccf875b76f62bb9e52ddf", size = 371360 }, { url = "https://files.pythonhosted.org/packages/e5/8c/12e1b24b560cf378b8ffbdb9dc73abd529e1adcfcf82727dfd29c4a7b88d/rpds_py-0.27.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:5b640501be9288c77738b5492b3fd3abc4ba95c50c2e41273c8a1459f08298d3", size = 353933 }, { url = "https://files.pythonhosted.org/packages/9b/85/1bb2210c1f7a1b99e91fea486b9f0f894aa5da3a5ec7097cbad7dec6d40f/rpds_py-0.27.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb08b65b93e0c6dd70aac7f7890a9c0938d5ec71d5cb32d45cf844fb8ae47636", size = 382962 }, @@ -5297,19 +4860,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/6a/24/e3e72d265121e00b063aef3e3501e5b2473cf1b23511d56e529531acf01e/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:94c44ee01fd21c9058f124d2d4f0c9dc7634bec93cd4b38eefc385dabe71acbf", size = 560003 }, { url = "https://files.pythonhosted.org/packages/26/ca/f5a344c534214cc2d41118c0699fffbdc2c1bc7046f2a2b9609765ab9c92/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_i686.whl", hash = "sha256:df8b74962e35c9249425d90144e721eed198e6555a0e22a563d29fe4486b51f6", size = 590482 }, { url = "https://files.pythonhosted.org/packages/ce/08/4349bdd5c64d9d193c360aa9db89adeee6f6682ab8825dca0a3f535f434f/rpds_py-0.27.1-pp311-pypy311_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:dc23e6820e3b40847e2f4a7726462ba0cf53089512abe9ee16318c366494c17a", size = 556523 }, - { url = "https://files.pythonhosted.org/packages/4e/ea/5463cd5048a7a2fcdae308b6e96432802132c141bfb9420260142632a0f1/rpds_py-0.27.1-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:aa8933159edc50be265ed22b401125c9eebff3171f570258854dbce3ecd55475", size = 371778 }, - { url = "https://files.pythonhosted.org/packages/0d/c8/f38c099db07f5114029c1467649d308543906933eebbc226d4527a5f4693/rpds_py-0.27.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:a50431bf02583e21bf273c71b89d710e7a710ad5e39c725b14e685610555926f", size = 354394 }, - { url = "https://files.pythonhosted.org/packages/7d/79/b76f97704d9dd8ddbd76fed4c4048153a847c5d6003afe20a6b5c3339065/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:78af06ddc7fe5cc0e967085a9115accee665fb912c22a3f54bad70cc65b05fe6", size = 382348 }, - { url = "https://files.pythonhosted.org/packages/8a/3f/ef23d3c1be1b837b648a3016d5bbe7cfe711422ad110b4081c0a90ef5a53/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:70d0738ef8fee13c003b100c2fbd667ec4f133468109b3472d249231108283a3", size = 394159 }, - { url = "https://files.pythonhosted.org/packages/74/8a/9e62693af1a34fd28b1a190d463d12407bd7cf561748cb4745845d9548d3/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e2f6fd8a1cea5bbe599b6e78a6e5ee08db434fc8ffea51ff201c8765679698b3", size = 522775 }, - { url = "https://files.pythonhosted.org/packages/36/0d/8d5bb122bf7a60976b54c5c99a739a3819f49f02d69df3ea2ca2aff47d5c/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8177002868d1426305bb5de1e138161c2ec9eb2d939be38291d7c431c4712df8", size = 402633 }, - { url = "https://files.pythonhosted.org/packages/0f/0e/237948c1f425e23e0cf5a566d702652a6e55c6f8fbd332a1792eb7043daf/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:008b839781d6c9bf3b6a8984d1d8e56f0ec46dc56df61fd669c49b58ae800400", size = 384867 }, - { url = "https://files.pythonhosted.org/packages/d6/0a/da0813efcd998d260cbe876d97f55b0f469ada8ba9cbc47490a132554540/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_31_riscv64.whl", hash = "sha256:a55b9132bb1ade6c734ddd2759c8dc132aa63687d259e725221f106b83a0e485", size = 401791 }, - { url = "https://files.pythonhosted.org/packages/51/78/c6c9e8a8aaca416a6f0d1b6b4a6ee35b88fe2c5401d02235d0a056eceed2/rpds_py-0.27.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a46fdec0083a26415f11d5f236b79fa1291c32aaa4a17684d82f7017a1f818b1", size = 419525 }, - { url = "https://files.pythonhosted.org/packages/a3/69/5af37e1d71487cf6d56dd1420dc7e0c2732c1b6ff612aa7a88374061c0a8/rpds_py-0.27.1-pp39-pypy39_pp73-musllinux_1_2_aarch64.whl", hash = "sha256:8a63b640a7845f2bdd232eb0d0a4a2dd939bcdd6c57e6bb134526487f3160ec5", size = 559255 }, - { url = "https://files.pythonhosted.org/packages/40/7f/8b7b136069ef7ac3960eda25d832639bdb163018a34c960ed042dd1707c8/rpds_py-0.27.1-pp39-pypy39_pp73-musllinux_1_2_i686.whl", hash = "sha256:7e32721e5d4922deaaf963469d795d5bde6093207c52fec719bd22e5d1bedbc4", size = 590384 }, - { url = "https://files.pythonhosted.org/packages/d8/06/c316d3f6ff03f43ccb0eba7de61376f8ec4ea850067dddfafe98274ae13c/rpds_py-0.27.1-pp39-pypy39_pp73-musllinux_1_2_x86_64.whl", hash = "sha256:2c426b99a068601b5f4623573df7a7c3d72e87533a2dd2253353a03e7502566c", size = 555959 }, - { url = "https://files.pythonhosted.org/packages/60/94/384cf54c430b9dac742bbd2ec26c23feb78ded0d43d6d78563a281aec017/rpds_py-0.27.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:4fc9b7fe29478824361ead6e14e4f5aed570d477e06088826537e202d25fe859", size = 228784 }, ] [[package]] @@ -5370,20 +4920,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fd/95/820767126ff13eced430becd28e50fa5f773341a57255674fc68d00b9ae7/scylla_driver-3.29.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ae799f4365a006d1e9c0f0ae947d7ea344555e1422a80d209a52d535cc9965c", size = 23186262 }, { url = "https://files.pythonhosted.org/packages/d9/4a/7b162d51d7a78e615c9b2af4f93c47854ec788878132aa9280d74deaa049/scylla_driver-3.29.0-cp313-cp313-win32.whl", hash = "sha256:2239d8d8487127712c86270c589fb2d14501afcf268157f2e4c6dae115525360", size = 2786397 }, { url = "https://files.pythonhosted.org/packages/1d/90/87f1437039d4a139057a1c2617930055973914bcece57c41d34d92491571/scylla_driver-3.29.0-cp313-cp313-win_amd64.whl", hash = "sha256:7a438e749a5e778a05e76000106ab296005079d64406d7357f30bf824992272b", size = 3208072 }, - { url = "https://files.pythonhosted.org/packages/27/08/907758de5092df20424e56228a6d127f33b2bd234aa449b454e238c98bf8/scylla_driver-3.29.0-cp39-cp39-macosx_13_0_x86_64.whl", hash = "sha256:e8b2ab1d5a9aa7e1246a1bd6252e7c01854591f6a118f010f8db71da8da5db56", size = 3956877 }, - { url = "https://files.pythonhosted.org/packages/22/fe/5a021161e12b6c2e026f6ebfe113565bbdb83e84e0398309f586812c08fc/scylla_driver-3.29.0-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:d41ddae3da7b29d10a52a539d8534329644617d496abadc52598fb2e9f01835c", size = 3617277 }, - { url = "https://files.pythonhosted.org/packages/19/a3/53ad5283c201e778da5cadb5fb1801e4df970bd30e6fe8901f085817913b/scylla_driver-3.29.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ffb707e1baa0e5e77fc631bd2f4319b1607ddb6ebb6bd2b0e5c7254509cfe517", size = 21156246 }, - { url = "https://files.pythonhosted.org/packages/16/60/2b1a0943f363aa3c887d9f970f83c4640f29cba23fb0d6d834850bc128fd/scylla_driver-3.29.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:797b5ba418d0f356a7fae2a7ec23ed5bb761fa7ef78aae331d25de579b3b5010", size = 21547361 }, - { url = "https://files.pythonhosted.org/packages/83/7e/98fa9248a8bff1450cc635dd5c6e1e08eeca3e8027bcabb462189fb03551/scylla_driver-3.29.0-cp39-cp39-win32.whl", hash = "sha256:7c2667e90599724fcf4179abeebaf8f9f00b0b8b1beb441519021f6e5e5e9ddb", size = 2901756 }, - { url = "https://files.pythonhosted.org/packages/ea/bf/eb46a00ee9bffc0ed0de7f09cfd269b4bba31825de0181c82c762b9d2eca/scylla_driver-3.29.0-cp39-cp39-win_amd64.whl", hash = "sha256:f5d8f20d18765719bd433786cbf0f550ca44fc9f47817c0be262f160f5d79148", size = 3319450 }, { url = "https://files.pythonhosted.org/packages/96/25/8c2db29b8d00e14b6b2078bea38169298991c1be3524136f9e47592e8219/scylla_driver-3.29.0-pp310-pypy310_pp73-macosx_13_0_x86_64.whl", hash = "sha256:aec766581de068e1694c21024f30a42117a14466204eebf74dbd3bd2f40b30aa", size = 353458 }, { url = "https://files.pythonhosted.org/packages/f5/e7/bc3286f4a6016c88f3987a28f956906b4781988c17559caf901aea525ccd/scylla_driver-3.29.0-pp310-pypy310_pp73-macosx_14_0_arm64.whl", hash = "sha256:74d8410734f86d095afb13b82a0a49846f549d7c68d1dbd44d523f797f3035d3", size = 353814 }, { url = "https://files.pythonhosted.org/packages/00/8c/74f6feb271e128d3abb13a18b0921aaa5f216f74d008c75bc07b2d9fbf49/scylla_driver-3.29.0-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6ce9be4414bb92b933ec04a11a6ce4c8ae1700ba9f8c70f4df969e851cd536b7", size = 354647 }, { url = "https://files.pythonhosted.org/packages/12/59/0767837804e379ddf9802916546c2145c37959508bb2c9a3e60aa756e1ea/scylla_driver-3.29.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:279438e5ef5c68c928a3a99a1b41969b21c169d977703ab787064bb05added31", size = 357745 }, - { url = "https://files.pythonhosted.org/packages/0d/c3/89426162b6d1dba65bf55b2e414cfe205533008f424643c732ea10969c10/scylla_driver-3.29.0-pp39-pypy39_pp73-macosx_13_0_x86_64.whl", hash = "sha256:c073996276eabb809e5e054bd34c9391d6f7b631fd39187f91489b61ffdfbcab", size = 353447 }, - { url = "https://files.pythonhosted.org/packages/47/df/6d1341ffb2bb86703c4f6d2971b16c361f52c320a40922e85c4eb373b090/scylla_driver-3.29.0-pp39-pypy39_pp73-macosx_14_0_arm64.whl", hash = "sha256:311a5e4f9e3d11b91555073d22901c3b5db2a3ece5b35b01936d583852b9ace0", size = 353804 }, - { url = "https://files.pythonhosted.org/packages/9d/7c/ec63b58984cebf5aba77cad34064d942959539cc0af91e714bc23824010c/scylla_driver-3.29.0-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:83122d266a25f10a721ba062ab746305cdfde0c0a25f8dd9ae58377339e2b409", size = 354640 }, - { url = "https://files.pythonhosted.org/packages/fc/ee/0e5423b1b5a19b37e08f7f2bccfdcd2125fe9ac73497959bedd0a81fde57/scylla_driver-3.29.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:cc728f6d9c1d5d59bb840f312ce9e64321d77bb29d2bedaa8542ae1b839bab1a", size = 357738 }, ] [[package]] @@ -5395,62 +4935,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/58/29/93c53c098d301132196c3238c312825324740851d77a8500a2462c0fd888/setuptools-80.8.0-py3-none-any.whl", hash = "sha256:95a60484590d24103af13b686121328cc2736bee85de8936383111e421b9edc0", size = 1201470 }, ] -[[package]] -name = "shapely" -version = "2.0.7" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "numpy", version = "2.0.2", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/21/c0/a911d1fd765d07a2b6769ce155219a281bfbe311584ebe97340d75c5bdb1/shapely-2.0.7.tar.gz", hash = "sha256:28fe2997aab9a9dc026dc6a355d04e85841546b2a5d232ed953e3321ab958ee5", size = 283413 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/15/2e/02c694d6ddacd4f13b625722d313d2838f23c5b988cbc680132983f73ce3/shapely-2.0.7-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:33fb10e50b16113714ae40adccf7670379e9ccf5b7a41d0002046ba2b8f0f691", size = 1478310 }, - { url = "https://files.pythonhosted.org/packages/87/69/b54a08bcd25e561bdd5183c008ace4424c25e80506e80674032504800efd/shapely-2.0.7-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f44eda8bd7a4bccb0f281264b34bf3518d8c4c9a8ffe69a1a05dabf6e8461147", size = 1336082 }, - { url = "https://files.pythonhosted.org/packages/b3/f9/40473fcb5b66ff849e563ca523d2a26dafd6957d52dd876ffd0eded39f1c/shapely-2.0.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cf6c50cd879831955ac47af9c907ce0310245f9d162e298703f82e1785e38c98", size = 2371047 }, - { url = "https://files.pythonhosted.org/packages/d6/f3/c9cc07a7a03b5f5e83bd059f9adf3e21cf086b0e41d7f95e6464b151e798/shapely-2.0.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:04a65d882456e13c8b417562c36324c0cd1e5915f3c18ad516bb32ee3f5fc895", size = 2469112 }, - { url = "https://files.pythonhosted.org/packages/5d/b9/fc63d6b0b25063a3ff806857a5dc88851d54d1c278288f18cef1b322b449/shapely-2.0.7-cp310-cp310-win32.whl", hash = "sha256:7e97104d28e60b69f9b6a957c4d3a2a893b27525bc1fc96b47b3ccef46726bf2", size = 1296057 }, - { url = "https://files.pythonhosted.org/packages/fe/d1/8df43f94cf4cda0edbab4545f7cdd67d3f1d02910eaff152f9f45c6d00d8/shapely-2.0.7-cp310-cp310-win_amd64.whl", hash = "sha256:35524cc8d40ee4752520819f9894b9f28ba339a42d4922e92c99b148bed3be39", size = 1441787 }, - { url = "https://files.pythonhosted.org/packages/1d/ad/21798c2fec013e289f8ab91d42d4d3299c315b8c4460c08c75fef0901713/shapely-2.0.7-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:5cf23400cb25deccf48c56a7cdda8197ae66c0e9097fcdd122ac2007e320bc34", size = 1473091 }, - { url = "https://files.pythonhosted.org/packages/15/63/eef4f180f1b5859c70e7f91d2f2570643e5c61e7d7c40743d15f8c6cbc42/shapely-2.0.7-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d8f1da01c04527f7da59ee3755d8ee112cd8967c15fab9e43bba936b81e2a013", size = 1332921 }, - { url = "https://files.pythonhosted.org/packages/fe/67/77851dd17738bbe7762a0ef1acf7bc499d756f68600dd68a987d78229412/shapely-2.0.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f623b64bb219d62014781120f47499a7adc30cf7787e24b659e56651ceebcb0", size = 2427949 }, - { url = "https://files.pythonhosted.org/packages/0b/a5/2c8dbb0f383519771df19164e3bf3a8895d195d2edeab4b6040f176ee28e/shapely-2.0.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e6d95703efaa64aaabf278ced641b888fc23d9c6dd71f8215091afd8a26a66e3", size = 2529282 }, - { url = "https://files.pythonhosted.org/packages/dc/4e/e1d608773c7fe4cde36d48903c0d6298e3233dc69412403783ac03fa5205/shapely-2.0.7-cp311-cp311-win32.whl", hash = "sha256:2f6e4759cf680a0f00a54234902415f2fa5fe02f6b05546c662654001f0793a2", size = 1295751 }, - { url = "https://files.pythonhosted.org/packages/27/57/8ec7c62012bed06731f7ee979da7f207bbc4b27feed5f36680b6a70df54f/shapely-2.0.7-cp311-cp311-win_amd64.whl", hash = "sha256:b52f3ab845d32dfd20afba86675c91919a622f4627182daec64974db9b0b4608", size = 1442684 }, - { url = "https://files.pythonhosted.org/packages/4f/3e/ea100eec5811bafd0175eb21828a3be5b0960f65250f4474391868be7c0f/shapely-2.0.7-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:4c2b9859424facbafa54f4a19b625a752ff958ab49e01bc695f254f7db1835fa", size = 1482451 }, - { url = "https://files.pythonhosted.org/packages/ce/53/c6a3487716fd32e1f813d2a9608ba7b72a8a52a6966e31c6443480a1d016/shapely-2.0.7-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5aed1c6764f51011d69a679fdf6b57e691371ae49ebe28c3edb5486537ffbd51", size = 1345765 }, - { url = "https://files.pythonhosted.org/packages/fd/dd/b35d7891d25cc11066a70fb8d8169a6a7fca0735dd9b4d563a84684969a3/shapely-2.0.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:73c9ae8cf443187d784d57202199bf9fd2d4bb7d5521fe8926ba40db1bc33e8e", size = 2421540 }, - { url = "https://files.pythonhosted.org/packages/62/de/8dbd7df60eb23cb983bb698aac982944b3d602ef0ce877a940c269eae34e/shapely-2.0.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a9469f49ff873ef566864cb3516091881f217b5d231c8164f7883990eec88b73", size = 2525741 }, - { url = "https://files.pythonhosted.org/packages/96/64/faf0413ebc7a84fe7a0790bf39ec0b02b40132b68e57aba985c0b6e4e7b6/shapely-2.0.7-cp312-cp312-win32.whl", hash = "sha256:6bca5095e86be9d4ef3cb52d56bdd66df63ff111d580855cb8546f06c3c907cd", size = 1296552 }, - { url = "https://files.pythonhosted.org/packages/63/05/8a1c279c226d6ad7604d9e237713dd21788eab96db97bf4ce0ea565e5596/shapely-2.0.7-cp312-cp312-win_amd64.whl", hash = "sha256:f86e2c0259fe598c4532acfcf638c1f520fa77c1275912bbc958faecbf00b108", size = 1443464 }, - { url = "https://files.pythonhosted.org/packages/c6/21/abea43effbfe11f792e44409ee9ad7635aa93ef1c8ada0ef59b3c1c3abad/shapely-2.0.7-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:a0c09e3e02f948631c7763b4fd3dd175bc45303a0ae04b000856dedebefe13cb", size = 1481618 }, - { url = "https://files.pythonhosted.org/packages/d9/71/af688798da36fe355a6e6ffe1d4628449cb5fa131d57fc169bcb614aeee7/shapely-2.0.7-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:06ff6020949b44baa8fc2e5e57e0f3d09486cd5c33b47d669f847c54136e7027", size = 1345159 }, - { url = "https://files.pythonhosted.org/packages/67/47/f934fe2b70d31bb9774ad4376e34f81666deed6b811306ff574faa3d115e/shapely-2.0.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d6dbf096f961ca6bec5640e22e65ccdec11e676344e8157fe7d636e7904fd36", size = 2410267 }, - { url = "https://files.pythonhosted.org/packages/f5/8a/2545cc2a30afc63fc6176c1da3b76af28ef9c7358ed4f68f7c6a9d86cf5b/shapely-2.0.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adeddfb1e22c20548e840403e5e0b3d9dc3daf66f05fa59f1fcf5b5f664f0e98", size = 2514128 }, - { url = "https://files.pythonhosted.org/packages/87/54/2344ce7da39676adec94e84fbaba92a8f1664e4ae2d33bd404dafcbe607f/shapely-2.0.7-cp313-cp313-win32.whl", hash = "sha256:a7f04691ce1c7ed974c2f8b34a1fe4c3c5dfe33128eae886aa32d730f1ec1913", size = 1295783 }, - { url = "https://files.pythonhosted.org/packages/d7/1e/6461e5cfc8e73ae165b8cff6eb26a4d65274fad0e1435137c5ba34fe4e88/shapely-2.0.7-cp313-cp313-win_amd64.whl", hash = "sha256:aaaf5f7e6cc234c1793f2a2760da464b604584fb58c6b6d7d94144fd2692d67e", size = 1442300 }, - { url = "https://files.pythonhosted.org/packages/ad/de/dc856cf99a981b83aa041d1a240a65b36618657d5145d1c0c7ffb4263d5b/shapely-2.0.7-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:4abeb44b3b946236e4e1a1b3d2a0987fb4d8a63bfb3fdefb8a19d142b72001e5", size = 1478794 }, - { url = "https://files.pythonhosted.org/packages/53/ea/70fec89a9f6fa84a8bf6bd2807111a9175cee22a3df24470965acdd5fb74/shapely-2.0.7-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:cd0e75d9124b73e06a42bf1615ad3d7d805f66871aa94538c3a9b7871d620013", size = 1336402 }, - { url = "https://files.pythonhosted.org/packages/e5/22/f6b074b08748d6f6afedd79f707d7eb88b79fa0121369246c25bbc721776/shapely-2.0.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7977d8a39c4cf0e06247cd2dca695ad4e020b81981d4c82152c996346cf1094b", size = 2376673 }, - { url = "https://files.pythonhosted.org/packages/ab/f0/befc440a6c90c577300f5f84361bad80919e7c7ac381ae4960ce3195cedc/shapely-2.0.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0145387565fcf8f7c028b073c802956431308da933ef41d08b1693de49990d27", size = 2474380 }, - { url = "https://files.pythonhosted.org/packages/13/b8/edaf33dfb97e281d9de3871810de131b01e4f33d38d8f613515abc89d91e/shapely-2.0.7-cp39-cp39-win32.whl", hash = "sha256:98697c842d5c221408ba8aa573d4f49caef4831e9bc6b6e785ce38aca42d1999", size = 1297939 }, - { url = "https://files.pythonhosted.org/packages/7b/95/4d164c2fcb19c51e50537aafb99ecfda82f62356bfdb6f4ca620a3932bad/shapely-2.0.7-cp39-cp39-win_amd64.whl", hash = "sha256:a3fb7fbae257e1b042f440289ee7235d03f433ea880e73e687f108d044b24db5", size = 1443665 }, -] - [[package]] name = "shapely" version = "2.1.1" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.13'", - "python_full_version >= '3.12.4' and python_full_version < '3.13'", - "python_full_version >= '3.11' and python_full_version < '3.12.4'", - "python_full_version == '3.10.*'", -] dependencies = [ - { name = "numpy", version = "2.2.6", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "numpy" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ca/3c/2da625233f4e605155926566c0e7ea8dda361877f48e8b1655e53456f252/shapely-2.1.1.tar.gz", hash = "sha256:500621967f2ffe9642454808009044c21e5b35db89ce69f8a2042c2ffd0e2772", size = 315422 } wheels = [ @@ -5519,7 +5009,7 @@ name = "sqlalchemy" version = "2.0.41" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "greenlet", marker = "(python_full_version < '3.14' and platform_machine == 'AMD64') or (python_full_version < '3.14' and platform_machine == 'WIN32') or (python_full_version < '3.14' and platform_machine == 'aarch64') or (python_full_version < '3.14' and platform_machine == 'amd64') or (python_full_version < '3.14' and platform_machine == 'ppc64le') or (python_full_version < '3.14' and platform_machine == 'win32') or (python_full_version < '3.14' and platform_machine == 'x86_64')" }, + { 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 } @@ -5556,14 +5046,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/fc/b2/43eacbf6ccc5276d76cea18cb7c3d73e294d6fb21f9ff8b4eef9b42bbfd5/sqlalchemy-2.0.41-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f67766965996e63bb46cfbf2ce5355fc32d9dd3b8ad7e536a920ff9ee422e23", size = 3197511 }, { url = "https://files.pythonhosted.org/packages/fa/2e/677c17c5d6a004c3c45334ab1dbe7b7deb834430b282b8a0f75ae220c8eb/sqlalchemy-2.0.41-cp313-cp313-win32.whl", hash = "sha256:bfc9064f6658a3d1cadeaa0ba07570b83ce6801a1314985bf98ec9b95d74e15f", size = 2082420 }, { url = "https://files.pythonhosted.org/packages/e9/61/e8c1b9b6307c57157d328dd8b8348ddc4c47ffdf1279365a13b2b98b8049/sqlalchemy-2.0.41-cp313-cp313-win_amd64.whl", hash = "sha256:82ca366a844eb551daff9d2e6e7a9e5e76d2612c8564f58db6c19a726869c1df", size = 2108329 }, - { url = "https://files.pythonhosted.org/packages/dd/1c/3d2a893c020fcc18463794e0a687de58044d1c8a9892d23548ca7e71274a/sqlalchemy-2.0.41-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9a420a91913092d1e20c86a2f5f1fc85c1a8924dbcaf5e0586df8aceb09c9cc2", size = 2121327 }, - { url = "https://files.pythonhosted.org/packages/3e/84/389c8f7c7b465682c4e5ba97f6e7825149a6625c629e09b5e872ec3b378f/sqlalchemy-2.0.41-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:906e6b0d7d452e9a98e5ab8507c0da791856b2380fdee61b765632bb8698026f", size = 2110739 }, - { url = "https://files.pythonhosted.org/packages/b2/3d/036e84ecb46d6687fa57dc25ab366dff50773a19364def210b8770fd1516/sqlalchemy-2.0.41-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a373a400f3e9bac95ba2a06372c4fd1412a7cee53c37fc6c05f829bf672b8769", size = 3198018 }, - { url = "https://files.pythonhosted.org/packages/8d/de/112e2142bf730a16a6cb43efc87e36dd62426e155727490c041130c6e852/sqlalchemy-2.0.41-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:087b6b52de812741c27231b5a3586384d60c353fbd0e2f81405a814b5591dc8b", size = 3197074 }, - { url = "https://files.pythonhosted.org/packages/d4/be/a766c78ec3050cb5b734c3087cd20bafd7370b0ab0c8636a87652631af1f/sqlalchemy-2.0.41-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:34ea30ab3ec98355235972dadc497bb659cc75f8292b760394824fab9cf39826", size = 3138698 }, - { url = "https://files.pythonhosted.org/packages/e5/c3/245e39ec45e1a8c86ff1ac3a88b13d0457307ac728eaeb217834a3ac6813/sqlalchemy-2.0.41-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:8280856dd7c6a68ab3a164b4a4b1c51f7691f6d04af4d4ca23d6ecf2261b7923", size = 3160877 }, - { url = "https://files.pythonhosted.org/packages/d7/0c/cda8631405f6417208e160070b513bb752da0885e462fce42ac200c8262f/sqlalchemy-2.0.41-cp39-cp39-win32.whl", hash = "sha256:b50eab9994d64f4a823ff99a0ed28a6903224ddbe7fef56a6dd865eec9243440", size = 2089270 }, - { url = "https://files.pythonhosted.org/packages/b0/1f/f68c58970d80ea5a1868ca5dc965d154a3b711f9ab06376ad9840d1475b8/sqlalchemy-2.0.41-cp39-cp39-win_amd64.whl", hash = "sha256:5e22575d169529ac3e0a120cf050ec9daa94b6a9597993d1702884f6954a7d71", size = 2113134 }, { url = "https://files.pythonhosted.org/packages/1c/fc/9ba22f01b5cdacc8f5ed0d22304718d2c758fce3fd49a5372b886a86f37c/sqlalchemy-2.0.41-py3-none-any.whl", hash = "sha256:57df5dc6fdb5ed1a88a1ed2195fd31927e705cad62dedd86b46972752a80f576", size = 1911224 }, ] @@ -5581,7 +5063,7 @@ name = "sse-starlette" version = "3.0.2" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "anyio", marker = "python_full_version >= '3.10'" }, + { name = "anyio" }, ] sdist = { url = "https://files.pythonhosted.org/packages/42/6f/22ed6e33f8a9e76ca0a412405f31abb844b779d52c5f96660766edcd737c/sse_starlette-3.0.2.tar.gz", hash = "sha256:ccd60b5765ebb3584d0de2d7a6e4f745672581de4f5005ab31c3a25d10b52b3a", size = 20985 } wheels = [ @@ -5594,7 +5076,6 @@ version = "0.46.2" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "anyio" }, - { name = "typing-extensions", marker = "python_full_version < '3.10'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/ce/20/08dfcd9c983f6a6f4a1000d934b9e6d626cff8d2eeb77a89a68eef20a2b7/starlette-0.46.2.tar.gz", hash = "sha256:7f7361f34eed179294600af672f565727419830b54b7b084efe44bb82d2fccd5", size = 2580846 } wheels = [ @@ -5674,8 +5155,8 @@ version = "0.25.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "aiosqlite" }, - { name = "iso8601", marker = "python_full_version < '4'" }, - { name = "pypika-tortoise", marker = "python_full_version < '4'" }, + { name = "iso8601" }, + { name = "pypika-tortoise" }, { name = "pytz" }, ] sdist = { url = "https://files.pythonhosted.org/packages/d8/02/89777797d2c74386e21fca4a879d15eef6a0a789e4b9564355e94c367e6e/tortoise_orm-0.25.0.tar.gz", hash = "sha256:7d0aaf31c33a25a9efad8f94b44ee50febae15889f4da119cf184ffe98002673", size = 127955 } @@ -5704,48 +5185,18 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/3b/98/36187601a15e3d37e9bfcf0e0e1055532b39d044353b06861c3a519737a9/translationstring-1.4-py2.py3-none-any.whl", hash = "sha256:5f4dc4d939573db851c8d840551e1a0fb27b946afe3b95aafc22577eed2d6262", size = 15028 }, ] -[[package]] -name = "types-requests" -version = "2.31.0.6" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -dependencies = [ - { name = "types-urllib3", marker = "python_full_version < '3.10'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/f9/b8/c1e8d39996b4929b918aba10dba5de07a8b3f4c8487bb61bb79882544e69/types-requests-2.31.0.6.tar.gz", hash = "sha256:cd74ce3b53c461f1228a9b783929ac73a666658f223e28ed29753771477b3bd0", size = 15535 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5c/a1/6f8dc74d9069e790d604ddae70cb46dcbac668f1bb08136e7b0f2f5cd3bf/types_requests-2.31.0.6-py3-none-any.whl", hash = "sha256:a2db9cb228a81da8348b49ad6db3f5519452dd20a9c1e1a868c83c5fe88fd1a9", size = 14516 }, -] - [[package]] name = "types-requests" version = "2.32.4.20250913" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.13'", - "python_full_version >= '3.12.4' and python_full_version < '3.13'", - "python_full_version >= '3.11' and python_full_version < '3.12.4'", - "python_full_version == '3.10.*'", -] dependencies = [ - { name = "urllib3", version = "2.4.0", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, + { name = "urllib3" }, ] sdist = { url = "https://files.pythonhosted.org/packages/36/27/489922f4505975b11de2b5ad07b4fe1dca0bca9be81a703f26c5f3acfce5/types_requests-2.32.4.20250913.tar.gz", hash = "sha256:abd6d4f9ce3a9383f269775a9835a4c24e5cd6b9f647d64f88aa4613c33def5d", size = 23113 } wheels = [ { url = "https://files.pythonhosted.org/packages/2a/20/9a227ea57c1285986c4cf78400d0a91615d25b24e257fd9e2969606bdfae/types_requests-2.32.4.20250913-py3-none-any.whl", hash = "sha256:78c9c1fffebbe0fa487a418e0fa5252017e9c60d1a2da394077f1780f655d7e1", size = 20658 }, ] -[[package]] -name = "types-urllib3" -version = "1.26.25.14" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/73/de/b9d7a68ad39092368fb21dd6194b362b98a1daeea5dcfef5e1adb5031c7e/types-urllib3-1.26.25.14.tar.gz", hash = "sha256:229b7f577c951b8c1b92c1bc2b2fdb0b49847bd2af6d1cc2a2e3dd340f3bda8f", size = 11239 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/11/7b/3fc711b2efea5e85a7a0bbfe269ea944aa767bbba5ec52f9ee45d362ccf3/types_urllib3-1.26.25.14-py3-none-any.whl", hash = "sha256:9683bbb7fb72e32bfe9d2be6e04875fbe1b3eeec3cbb4ea231435aa7fd6b4f0e", size = 15377 }, -] - [[package]] name = "typing-extensions" version = "4.13.2" @@ -5776,28 +5227,10 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839 }, ] -[[package]] -name = "urllib3" -version = "1.26.20" -source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version < '3.10'", -] -sdist = { url = "https://files.pythonhosted.org/packages/e4/e8/6ff5e6bc22095cfc59b6ea711b687e2b7ed4bdb373f7eeec370a97d7392f/urllib3-1.26.20.tar.gz", hash = "sha256:40c2dc0c681e47eb8f90e7e27bf6ff7df2e677421fd46756da1161c39ca70d32", size = 307380 } -wheels = [ - { url = "https://files.pythonhosted.org/packages/33/cf/8435d5a7159e2a9c83a95896ed596f68cf798005fe107cc655b5c5c14704/urllib3-1.26.20-py2.py3-none-any.whl", hash = "sha256:0ed14ccfbf1c30a9072c7ca157e4319b70d65f623e91e7b32fadb2853431016e", size = 144225 }, -] - [[package]] name = "urllib3" version = "2.4.0" source = { registry = "https://pypi.org/simple" } -resolution-markers = [ - "python_full_version >= '3.13'", - "python_full_version >= '3.12.4' and python_full_version < '3.13'", - "python_full_version >= '3.11' and python_full_version < '3.12.4'", - "python_full_version == '3.10.*'", -] sdist = { url = "https://files.pythonhosted.org/packages/8a/78/16493d9c386d8e60e442a35feac5e00f0913c0f4b7c217c11e8ec2ff53e0/urllib3-2.4.0.tar.gz", hash = "sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466", size = 390672 } wheels = [ { url = "https://files.pythonhosted.org/packages/6b/11/cc635220681e93a0183390e26485430ca2c7b5f9d33b15c74c2861cb8091/urllib3-2.4.0-py3-none-any.whl", hash = "sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813", size = 128680 }, @@ -5808,9 +5241,9 @@ name = "uvicorn" version = "0.37.0" source = { registry = "https://pypi.org/simple" } dependencies = [ - { name = "click", version = "8.2.1", source = { registry = "https://pypi.org/simple" }, marker = "python_full_version >= '3.10'" }, - { name = "h11", marker = "python_full_version >= '3.10'" }, - { name = "typing-extensions", marker = "python_full_version == '3.10.*'" }, + { name = "click" }, + { name = "h11" }, + { name = "typing-extensions", marker = "python_full_version < '3.11'" }, ] sdist = { url = "https://files.pythonhosted.org/packages/71/57/1616c8274c3442d802621abf5deb230771c7a0fec9414cb6763900eb3868/uvicorn-0.37.0.tar.gz", hash = "sha256:4115c8add6d3fd536c8ee77f0e14a7fd2ebba939fed9b02583a97f80648f9e13", size = 80367 } wheels = [ @@ -5933,29 +5366,12 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/33/2b/1f168cb6041853eef0362fb9554c3824367c5560cbdaad89ac40f8c2edfc/websockets-15.0.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:558d023b3df0bffe50a04e710bc87742de35060580a293c2a984299ed83bc4e4", size = 182195 }, { url = "https://files.pythonhosted.org/packages/86/eb/20b6cdf273913d0ad05a6a14aed4b9a85591c18a987a3d47f20fa13dcc47/websockets-15.0.1-cp313-cp313-win32.whl", hash = "sha256:ba9e56e8ceeeedb2e080147ba85ffcd5cd0711b89576b83784d8605a7df455fa", size = 176393 }, { url = "https://files.pythonhosted.org/packages/1b/6c/c65773d6cab416a64d191d6ee8a8b1c68a09970ea6909d16965d26bfed1e/websockets-15.0.1-cp313-cp313-win_amd64.whl", hash = "sha256:e09473f095a819042ecb2ab9465aee615bd9c2028e4ef7d933600a8401c79561", size = 176837 }, - { url = "https://files.pythonhosted.org/packages/36/db/3fff0bcbe339a6fa6a3b9e3fbc2bfb321ec2f4cd233692272c5a8d6cf801/websockets-15.0.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5f4c04ead5aed67c8a1a20491d54cdfba5884507a48dd798ecaf13c74c4489f5", size = 175424 }, - { url = "https://files.pythonhosted.org/packages/46/e6/519054c2f477def4165b0ec060ad664ed174e140b0d1cbb9fafa4a54f6db/websockets-15.0.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:abdc0c6c8c648b4805c5eacd131910d2a7f6455dfd3becab248ef108e89ab16a", size = 173077 }, - { url = "https://files.pythonhosted.org/packages/1a/21/c0712e382df64c93a0d16449ecbf87b647163485ca1cc3f6cbadb36d2b03/websockets-15.0.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a625e06551975f4b7ea7102bc43895b90742746797e2e14b70ed61c43a90f09b", size = 173324 }, - { url = "https://files.pythonhosted.org/packages/1c/cb/51ba82e59b3a664df54beed8ad95517c1b4dc1a913730e7a7db778f21291/websockets-15.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d591f8de75824cbb7acad4e05d2d710484f15f29d4a915092675ad3456f11770", size = 182094 }, - { url = "https://files.pythonhosted.org/packages/fb/0f/bf3788c03fec679bcdaef787518dbe60d12fe5615a544a6d4cf82f045193/websockets-15.0.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:47819cea040f31d670cc8d324bb6435c6f133b8c7a19ec3d61634e62f8d8f9eb", size = 181094 }, - { url = "https://files.pythonhosted.org/packages/5e/da/9fb8c21edbc719b66763a571afbaf206cb6d3736d28255a46fc2fe20f902/websockets-15.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ac017dd64572e5c3bd01939121e4d16cf30e5d7e110a119399cf3133b63ad054", size = 181397 }, - { url = "https://files.pythonhosted.org/packages/2e/65/65f379525a2719e91d9d90c38fe8b8bc62bd3c702ac651b7278609b696c4/websockets-15.0.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4a9fac8e469d04ce6c25bb2610dc535235bd4aa14996b4e6dbebf5e007eba5ee", size = 181794 }, - { url = "https://files.pythonhosted.org/packages/d9/26/31ac2d08f8e9304d81a1a7ed2851c0300f636019a57cbaa91342015c72cc/websockets-15.0.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:363c6f671b761efcb30608d24925a382497c12c506b51661883c3e22337265ed", size = 181194 }, - { url = "https://files.pythonhosted.org/packages/98/72/1090de20d6c91994cd4b357c3f75a4f25ee231b63e03adea89671cc12a3f/websockets-15.0.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2034693ad3097d5355bfdacfffcbd3ef5694f9718ab7f29c29689a9eae841880", size = 181164 }, - { url = "https://files.pythonhosted.org/packages/2d/37/098f2e1c103ae8ed79b0e77f08d83b0ec0b241cf4b7f2f10edd0126472e1/websockets-15.0.1-cp39-cp39-win32.whl", hash = "sha256:3b1ac0d3e594bf121308112697cf4b32be538fb1444468fb0a6ae4feebc83411", size = 176381 }, - { url = "https://files.pythonhosted.org/packages/75/8b/a32978a3ab42cebb2ebdd5b05df0696a09f4d436ce69def11893afa301f0/websockets-15.0.1-cp39-cp39-win_amd64.whl", hash = "sha256:b7643a03db5c95c799b89b31c036d5f27eeb4d259c798e878d6937d71832b1e4", size = 176841 }, { url = "https://files.pythonhosted.org/packages/02/9e/d40f779fa16f74d3468357197af8d6ad07e7c5a27ea1ca74ceb38986f77a/websockets-15.0.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:0c9e74d766f2818bb95f84c25be4dea09841ac0f734d1966f415e4edfc4ef1c3", size = 173109 }, { url = "https://files.pythonhosted.org/packages/bc/cd/5b887b8585a593073fd92f7c23ecd3985cd2c3175025a91b0d69b0551372/websockets-15.0.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1009ee0c7739c08a0cd59de430d6de452a55e42d6b522de7aa15e6f67db0b8e1", size = 173343 }, { url = "https://files.pythonhosted.org/packages/fe/ae/d34f7556890341e900a95acf4886833646306269f899d58ad62f588bf410/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:76d1f20b1c7a2fa82367e04982e708723ba0e7b8d43aa643d3dcd404d74f1475", size = 174599 }, { url = "https://files.pythonhosted.org/packages/71/e6/5fd43993a87db364ec60fc1d608273a1a465c0caba69176dd160e197ce42/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f29d80eb9a9263b8d109135351caf568cc3f80b9928bccde535c235de55c22d9", size = 174207 }, { url = "https://files.pythonhosted.org/packages/2b/fb/c492d6daa5ec067c2988ac80c61359ace5c4c674c532985ac5a123436cec/websockets-15.0.1-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b359ed09954d7c18bbc1680f380c7301f92c60bf924171629c5db97febb12f04", size = 174155 }, { url = "https://files.pythonhosted.org/packages/68/a1/dcb68430b1d00b698ae7a7e0194433bce4f07ded185f0ee5fb21e2a2e91e/websockets-15.0.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:cad21560da69f4ce7658ca2cb83138fb4cf695a2ba3e475e0559e05991aa8122", size = 176884 }, - { url = "https://files.pythonhosted.org/packages/b7/48/4b67623bac4d79beb3a6bb27b803ba75c1bdedc06bd827e465803690a4b2/websockets-15.0.1-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:7f493881579c90fc262d9cdbaa05a6b54b3811c2f300766748db79f098db9940", size = 173106 }, - { url = "https://files.pythonhosted.org/packages/ed/f0/adb07514a49fe5728192764e04295be78859e4a537ab8fcc518a3dbb3281/websockets-15.0.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:47b099e1f4fbc95b701b6e85768e1fcdaf1630f3cbe4765fa216596f12310e2e", size = 173339 }, - { url = "https://files.pythonhosted.org/packages/87/28/bd23c6344b18fb43df40d0700f6d3fffcd7cef14a6995b4f976978b52e62/websockets-15.0.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:67f2b6de947f8c757db2db9c71527933ad0019737ec374a8a6be9a956786aaf9", size = 174597 }, - { url = "https://files.pythonhosted.org/packages/6d/79/ca288495863d0f23a60f546f0905ae8f3ed467ad87f8b6aceb65f4c013e4/websockets-15.0.1-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d08eb4c2b7d6c41da6ca0600c077e93f5adcfd979cd777d747e9ee624556da4b", size = 174205 }, - { url = "https://files.pythonhosted.org/packages/04/e4/120ff3180b0872b1fe6637f6f995bcb009fb5c87d597c1fc21456f50c848/websockets-15.0.1-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b826973a4a2ae47ba357e4e82fa44a463b8f168e1ca775ac64521442b19e87f", size = 174150 }, - { url = "https://files.pythonhosted.org/packages/cb/c3/30e2f9c539b8da8b1d76f64012f3b19253271a63413b2d3adb94b143407f/websockets-15.0.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:21c1fa28a6a7e3cbdc171c694398b6df4744613ce9b36b1a498e816787e28123", size = 176877 }, { url = "https://files.pythonhosted.org/packages/fa/a8/5b41e0da817d64113292ab1f8247140aac61cbf6cfd085d6a0fa77f4984f/websockets-15.0.1-py3-none-any.whl", hash = "sha256:f7a866fbc1e97b5c617ee4116daaa09b722101d4a3c170c787450ba409f9736f", size = 169743 }, ] @@ -6032,17 +5448,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/a7/b1/0bb11e29aa5139d90b770ebbfa167267b1fc548d2302c30c8f7572851738/wrapt-1.17.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:4c82b8785d98cdd9fed4cac84d765d234ed3251bd6afe34cb7ac523cb93e8b4f", size = 106377 }, { url = "https://files.pythonhosted.org/packages/6a/e1/0122853035b40b3f333bbb25f1939fc1045e21dd518f7f0922b60c156f7c/wrapt-1.17.2-cp313-cp313t-win32.whl", hash = "sha256:13e6afb7fe71fe7485a4550a8844cc9ffbe263c0f1a1eea569bc7091d4898555", size = 37986 }, { url = "https://files.pythonhosted.org/packages/09/5e/1655cf481e079c1f22d0cabdd4e51733679932718dc23bf2db175f329b76/wrapt-1.17.2-cp313-cp313t-win_amd64.whl", hash = "sha256:eaf675418ed6b3b31c7a989fd007fa7c3be66ce14e5c3b27336383604c9da85c", size = 40750 }, - { url = "https://files.pythonhosted.org/packages/8a/f4/6ed2b8f6f1c832933283974839b88ec7c983fd12905e01e97889dadf7559/wrapt-1.17.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:99039fa9e6306880572915728d7f6c24a86ec57b0a83f6b2491e1d8ab0235b9a", size = 53308 }, - { url = "https://files.pythonhosted.org/packages/a2/a9/712a53f8f4f4545768ac532619f6e56d5d0364a87b2212531685e89aeef8/wrapt-1.17.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:2696993ee1eebd20b8e4ee4356483c4cb696066ddc24bd70bcbb80fa56ff9061", size = 38489 }, - { url = "https://files.pythonhosted.org/packages/fa/9b/e172c8f28a489a2888df18f953e2f6cb8d33b1a2e78c9dfc52d8bf6a5ead/wrapt-1.17.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:612dff5db80beef9e649c6d803a8d50c409082f1fedc9dbcdfde2983b2025b82", size = 38776 }, - { url = "https://files.pythonhosted.org/packages/cf/cb/7a07b51762dcd59bdbe07aa97f87b3169766cadf240f48d1cbe70a1be9db/wrapt-1.17.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:62c2caa1585c82b3f7a7ab56afef7b3602021d6da34fbc1cf234ff139fed3cd9", size = 83050 }, - { url = "https://files.pythonhosted.org/packages/a5/51/a42757dd41032afd6d8037617aa3bc6803ba971850733b24dfb7d5c627c4/wrapt-1.17.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c958bcfd59bacc2d0249dcfe575e71da54f9dcf4a8bdf89c4cb9a68a1170d73f", size = 74718 }, - { url = "https://files.pythonhosted.org/packages/bf/bb/d552bfe47db02fcfc950fc563073a33500f8108efa5f7b41db2f83a59028/wrapt-1.17.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fc78a84e2dfbc27afe4b2bd7c80c8db9bca75cc5b85df52bfe634596a1da846b", size = 82590 }, - { url = "https://files.pythonhosted.org/packages/77/99/77b06b3c3c410dbae411105bf22496facf03a5496bfaca8fbcf9da381889/wrapt-1.17.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:ba0f0eb61ef00ea10e00eb53a9129501f52385c44853dbd6c4ad3f403603083f", size = 81462 }, - { url = "https://files.pythonhosted.org/packages/2d/21/cf0bd85ae66f92600829ea1de8e1da778e5e9f6e574ccbe74b66db0d95db/wrapt-1.17.2-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1e1fe0e6ab7775fd842bc39e86f6dcfc4507ab0ffe206093e76d61cde37225c8", size = 74309 }, - { url = "https://files.pythonhosted.org/packages/6d/16/112d25e9092398a0dd6fec50ab7ac1b775a0c19b428f049785096067ada9/wrapt-1.17.2-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c86563182421896d73858e08e1db93afdd2b947a70064b813d515d66549e15f9", size = 81081 }, - { url = "https://files.pythonhosted.org/packages/2b/49/364a615a0cc0872685646c495c7172e4fc7bf1959e3b12a1807a03014e05/wrapt-1.17.2-cp39-cp39-win32.whl", hash = "sha256:f393cda562f79828f38a819f4788641ac7c4085f30f1ce1a68672baa686482bb", size = 36423 }, - { url = "https://files.pythonhosted.org/packages/00/ad/5d2c1b34ba3202cd833d9221833e74d6500ce66730974993a8dc9a94fb8c/wrapt-1.17.2-cp39-cp39-win_amd64.whl", hash = "sha256:36ccae62f64235cf8ddb682073a60519426fdd4725524ae38874adf72b5f2aeb", size = 38772 }, { url = "https://files.pythonhosted.org/packages/2d/82/f56956041adef78f849db6b289b282e72b55ab8045a75abad81898c28d19/wrapt-1.17.2-py3-none-any.whl", hash = "sha256:b18f2d1533a71f069c7f82d524a52599053d4c7166e9dd374ae2136b7f40f7c8", size = 23594 }, ] @@ -6142,23 +5547,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/9e/35/43fbbd082708fa42e923f314c24f8277a28483d219e049552e5007a9aaca/yarl-1.20.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:3e429857e341d5e8e15806118e0294f8073ba9c4580637e59ab7b238afca836f", size = 422242 }, { url = "https://files.pythonhosted.org/packages/ed/f7/f0f2500cf0c469beb2050b522c7815c575811627e6d3eb9ec7550ddd0bfe/yarl-1.20.0-cp313-cp313t-win32.whl", hash = "sha256:65a4053580fe88a63e8e4056b427224cd01edfb5f951498bfefca4052f0ce0ac", size = 93816 }, { url = "https://files.pythonhosted.org/packages/3f/93/f73b61353b2a699d489e782c3f5998b59f974ec3156a2050a52dfd7e8946/yarl-1.20.0-cp313-cp313t-win_amd64.whl", hash = "sha256:53b2da3a6ca0a541c1ae799c349788d480e5144cac47dba0266c7cb6c76151fe", size = 101093 }, - { url = "https://files.pythonhosted.org/packages/bc/95/3d22e1d2fa6dce3670d820a859f4fc5526400c58019650d2da4e19b9924d/yarl-1.20.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:119bca25e63a7725b0c9d20ac67ca6d98fa40e5a894bd5d4686010ff73397914", size = 146680 }, - { url = "https://files.pythonhosted.org/packages/12/43/37f2d17e0b82d4f01b2da1fe53a19ff95be6d7d9902cad11d3ebbef5bc9d/yarl-1.20.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:35d20fb919546995f1d8c9e41f485febd266f60e55383090010f272aca93edcc", size = 97707 }, - { url = "https://files.pythonhosted.org/packages/8c/3e/665501121ba7c712a0f1b58d8ee01d7633096671fbeec4cf3dc4e4357a95/yarl-1.20.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:484e7a08f72683c0f160270566b4395ea5412b4359772b98659921411d32ad26", size = 95385 }, - { url = "https://files.pythonhosted.org/packages/bf/8d/48edf4d49ca38e5229faf793276bdd6f01704740dcf519cf1d282acac6c6/yarl-1.20.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8d8a3d54a090e0fff5837cd3cc305dd8a07d3435a088ddb1f65e33b322f66a94", size = 332687 }, - { url = "https://files.pythonhosted.org/packages/e0/c1/112c516bead873c83abe30e08143714d702d1fffdfed43dc103312b81666/yarl-1.20.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:f0cf05ae2d3d87a8c9022f3885ac6dea2b751aefd66a4f200e408a61ae9b7f0d", size = 325390 }, - { url = "https://files.pythonhosted.org/packages/0b/4c/07aef11f7f23a41049eb0b3b357ceb32bd9798f62042858e0168be9f6f49/yarl-1.20.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a884b8974729e3899d9287df46f015ce53f7282d8d3340fa0ed57536b440621c", size = 348497 }, - { url = "https://files.pythonhosted.org/packages/56/d9/00d5525a2c5e5c66967eaa03866bef6317da4b129ae016582c6641826974/yarl-1.20.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f8d8aa8dd89ffb9a831fedbcb27d00ffd9f4842107d52dc9d57e64cb34073d5c", size = 343670 }, - { url = "https://files.pythonhosted.org/packages/e8/7c/2fc733090c6fce82ea5c50f431e70f5dff196d7b54da93b9d6e801031dd2/yarl-1.20.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3b4e88d6c3c8672f45a30867817e4537df1bbc6f882a91581faf1f6d9f0f1b5a", size = 335738 }, - { url = "https://files.pythonhosted.org/packages/4b/ce/6b22de535b7bc7b19f3cf23c4e744cd2368fa11a0c8f218dfd2ef46b6c3a/yarl-1.20.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bdb77efde644d6f1ad27be8a5d67c10b7f769804fff7a966ccb1da5a4de4b656", size = 328203 }, - { url = "https://files.pythonhosted.org/packages/6b/c8/3fc10db34e731a426baaff348aa1b2c0eb9cb93ff723af4e930e767c058e/yarl-1.20.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:4ba5e59f14bfe8d261a654278a0f6364feef64a794bd456a8c9e823071e5061c", size = 341922 }, - { url = "https://files.pythonhosted.org/packages/37/59/f607a63c24b31c66cf288cb819d8dbcac2bd9ec90f39bd03986f33a866b3/yarl-1.20.0-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:d0bf955b96ea44ad914bc792c26a0edcd71b4668b93cbcd60f5b0aeaaed06c64", size = 338163 }, - { url = "https://files.pythonhosted.org/packages/01/b2/5fd461fe8ab3bb788e19ef6c35a3453f44a5c0d6973f847a08060c4d6183/yarl-1.20.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:27359776bc359ee6eaefe40cb19060238f31228799e43ebd3884e9c589e63b20", size = 343096 }, - { url = "https://files.pythonhosted.org/packages/71/d3/7102efd34ed22e6839361f30a27bdad341c0a01f66fcbf09822a1d90b853/yarl-1.20.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:04d9c7a1dc0a26efb33e1acb56c8849bd57a693b85f44774356c92d610369efa", size = 358520 }, - { url = "https://files.pythonhosted.org/packages/c0/ab/754b60a5c8be8abaa746543555612b2205ba60c194fc3a0547a34e0b6a53/yarl-1.20.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:faa709b66ae0e24c8e5134033187a972d849d87ed0a12a0366bedcc6b5dc14a5", size = 359635 }, - { url = "https://files.pythonhosted.org/packages/e0/d5/369f994369a7233fcd81f642553062d4f6c657a93069b58258b9046bb87d/yarl-1.20.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:44869ee8538208fe5d9342ed62c11cc6a7a1af1b3d0bb79bb795101b6e77f6e0", size = 353906 }, - { url = "https://files.pythonhosted.org/packages/1b/59/c7f929d7cd7c1f0c918c38aca06d07cac2e4f3577a95fe3a836b3079a3ca/yarl-1.20.0-cp39-cp39-win32.whl", hash = "sha256:b7fa0cb9fd27ffb1211cde944b41f5c67ab1c13a13ebafe470b1e206b8459da8", size = 87243 }, - { url = "https://files.pythonhosted.org/packages/1c/bc/80f16fc58cb3b61b15450eaf6c874d9c984c96453d9024b9d0aa4655dac9/yarl-1.20.0-cp39-cp39-win_amd64.whl", hash = "sha256:d4fad6e5189c847820288286732075f213eabf81be4d08d6cc309912e62be5b7", size = 93457 }, { url = "https://files.pythonhosted.org/packages/ea/1f/70c57b3d7278e94ed22d85e09685d3f0a38ebdd8c5c73b65ba4c0d0fe002/yarl-1.20.0-py3-none-any.whl", hash = "sha256:5d0fe6af927a47a230f31e6004621fd0959eaa915fc62acfafa67ff7229a3124", size = 46124 }, ] @@ -6216,12 +5604,6 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/b8/f6/54548df6dc73e30ac6c8a7ff1da73ac9007ba38f866397091d5a82237bd3/zope.interface-7.2-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb23f58a446a7f09db85eda09521a498e109f137b85fb278edb2e34841055398", size = 259237 }, { url = "https://files.pythonhosted.org/packages/b6/66/ac05b741c2129fdf668b85631d2268421c5cd1a9ff99be1674371139d665/zope.interface-7.2-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a71a5b541078d0ebe373a81a3b7e71432c61d12e660f1d67896ca62d9628045b", size = 264696 }, { url = "https://files.pythonhosted.org/packages/0a/2f/1bccc6f4cc882662162a1158cda1a7f616add2ffe322b28c99cb031b4ffc/zope.interface-7.2-cp313-cp313-win_amd64.whl", hash = "sha256:4893395d5dd2ba655c38ceb13014fd65667740f09fa5bb01caa1e6284e48c0cd", size = 212472 }, - { url = "https://files.pythonhosted.org/packages/8c/2c/1f49dc8b4843c4f0848d8e43191aed312bad946a1563d1bf9e46cf2816ee/zope.interface-7.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:7bd449c306ba006c65799ea7912adbbfed071089461a19091a228998b82b1fdb", size = 208349 }, - { url = "https://files.pythonhosted.org/packages/ed/7d/83ddbfc8424c69579a90fc8edc2b797223da2a8083a94d8dfa0e374c5ed4/zope.interface-7.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a19a6cc9c6ce4b1e7e3d319a473cf0ee989cbbe2b39201d7c19e214d2dfb80c7", size = 208799 }, - { url = "https://files.pythonhosted.org/packages/36/22/b1abd91854c1be03f5542fe092e6a745096d2eca7704d69432e119100583/zope.interface-7.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:72cd1790b48c16db85d51fbbd12d20949d7339ad84fd971427cf00d990c1f137", size = 254267 }, - { url = "https://files.pythonhosted.org/packages/2a/dd/fcd313ee216ad0739ae00e6126bc22a0af62a74f76a9ca668d16cd276222/zope.interface-7.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:52e446f9955195440e787596dccd1411f543743c359eeb26e9b2c02b077b0519", size = 248614 }, - { url = "https://files.pythonhosted.org/packages/88/d4/4ba1569b856870527cec4bf22b91fe704b81a3c1a451b2ccf234e9e0666f/zope.interface-7.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2ad9913fd858274db8dd867012ebe544ef18d218f6f7d1e3c3e6d98000f14b75", size = 253800 }, - { url = "https://files.pythonhosted.org/packages/69/da/c9cfb384c18bd3a26d9fc6a9b5f32ccea49ae09444f097eaa5ca9814aff9/zope.interface-7.2-cp39-cp39-win_amd64.whl", hash = "sha256:1090c60116b3da3bfdd0c03406e2f14a1ff53e5771aebe33fec1edc0a350175d", size = 211980 }, ] [[package]] @@ -6297,20 +5679,4 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/02/90/2633473864f67a15526324b007a9f96c96f56d5f32ef2a56cc12f9548723/zstandard-0.23.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fa6ce8b52c5987b3e34d5674b0ab529a4602b632ebab0a93b07bfb4dfc8f8a33", size = 5191299 }, { url = "https://files.pythonhosted.org/packages/b0/4c/315ca5c32da7e2dc3455f3b2caee5c8c2246074a61aac6ec3378a97b7136/zstandard-0.23.0-cp313-cp313-win32.whl", hash = "sha256:a9b07268d0c3ca5c170a385a0ab9fb7fdd9f5fd866be004c4ea39e44edce47dd", size = 430862 }, { url = "https://files.pythonhosted.org/packages/a2/bf/c6aaba098e2d04781e8f4f7c0ba3c7aa73d00e4c436bcc0cf059a66691d1/zstandard-0.23.0-cp313-cp313-win_amd64.whl", hash = "sha256:f3513916e8c645d0610815c257cbfd3242adfd5c4cfa78be514e5a3ebb42a41b", size = 495578 }, - { url = "https://files.pythonhosted.org/packages/fb/96/4fcafeb7e013a2386d22f974b5b97a0b9a65004ed58c87ae001599bfbd48/zstandard-0.23.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:3aa014d55c3af933c1315eb4bb06dd0459661cc0b15cd61077afa6489bec63bb", size = 788697 }, - { url = "https://files.pythonhosted.org/packages/83/ff/a52ce725be69b86a2967ecba0497a8184540cc284c0991125515449e54e2/zstandard-0.23.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a7f0804bb3799414af278e9ad51be25edf67f78f916e08afdb983e74161b916", size = 633679 }, - { url = "https://files.pythonhosted.org/packages/34/0f/3dc62db122f6a9c481c335fff6fc9f4e88d8f6e2d47321ee3937328addb4/zstandard-0.23.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb2b1ecfef1e67897d336de3a0e3f52478182d6a47eda86cbd42504c5cbd009a", size = 4940416 }, - { url = "https://files.pythonhosted.org/packages/1d/e5/9fe0dd8c85fdc2f635e6660d07872a5dc4b366db566630161e39f9f804e1/zstandard-0.23.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:837bb6764be6919963ef41235fd56a6486b132ea64afe5fafb4cb279ac44f259", size = 5307693 }, - { url = "https://files.pythonhosted.org/packages/73/bf/fe62c0cd865c171ee8ed5bc83174b5382a2cb729c8d6162edfb99a83158b/zstandard-0.23.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1516c8c37d3a053b01c1c15b182f3b5f5eef19ced9b930b684a73bad121addf4", size = 5341236 }, - { url = "https://files.pythonhosted.org/packages/39/86/4fe79b30c794286110802a6cd44a73b6a314ac8196b9338c0fbd78c2407d/zstandard-0.23.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:48ef6a43b1846f6025dde6ed9fee0c24e1149c1c25f7fb0a0585572b2f3adc58", size = 5439101 }, - { url = "https://files.pythonhosted.org/packages/72/ed/cacec235c581ebf8c608c7fb3d4b6b70d1b490d0e5128ea6996f809ecaef/zstandard-0.23.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:11e3bf3c924853a2d5835b24f03eeba7fc9b07d8ca499e247e06ff5676461a15", size = 4860320 }, - { url = "https://files.pythonhosted.org/packages/f6/1e/2c589a2930f93946b132fc852c574a19d5edc23fad2b9e566f431050c7ec/zstandard-0.23.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:2fb4535137de7e244c230e24f9d1ec194f61721c86ebea04e1581d9d06ea1269", size = 4931933 }, - { url = "https://files.pythonhosted.org/packages/8e/f5/30eadde3686d902b5d4692bb5f286977cbc4adc082145eb3f49d834b2eae/zstandard-0.23.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:8c24f21fa2af4bb9f2c492a86fe0c34e6d2c63812a839590edaf177b7398f700", size = 5463878 }, - { url = "https://files.pythonhosted.org/packages/e0/c8/8aed1f0ab9854ef48e5ad4431367fcb23ce73f0304f7b72335a8edc66556/zstandard-0.23.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:a8c86881813a78a6f4508ef9daf9d4995b8ac2d147dcb1a450448941398091c9", size = 4857192 }, - { url = "https://files.pythonhosted.org/packages/a8/c6/55e666cfbcd032b9e271865e8578fec56e5594d4faeac379d371526514f5/zstandard-0.23.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:fe3b385d996ee0822fd46528d9f0443b880d4d05528fd26a9119a54ec3f91c69", size = 4696513 }, - { url = "https://files.pythonhosted.org/packages/dc/bd/720b65bea63ec9de0ac7414c33b9baf271c8de8996e5ff324dc93fc90ff1/zstandard-0.23.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:82d17e94d735c99621bf8ebf9995f870a6b3e6d14543b99e201ae046dfe7de70", size = 5204823 }, - { url = "https://files.pythonhosted.org/packages/d8/40/d678db1556e3941d330cd4e95623a63ef235b18547da98fa184cbc028ecf/zstandard-0.23.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:c7c517d74bea1a6afd39aa612fa025e6b8011982a0897768a2f7c8ab4ebb78a2", size = 5666490 }, - { url = "https://files.pythonhosted.org/packages/ed/cc/c89329723d7515898a1fc7ef5d251264078548c505719d13e9511800a103/zstandard-0.23.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1fd7e0f1cfb70eb2f95a19b472ee7ad6d9a0a992ec0ae53286870c104ca939e5", size = 5196622 }, - { url = "https://files.pythonhosted.org/packages/78/4c/634289d41e094327a94500dfc919e58841b10ea3a9efdfafbac614797ec2/zstandard-0.23.0-cp39-cp39-win32.whl", hash = "sha256:43da0f0092281bf501f9c5f6f3b4c975a8a0ea82de49ba3f7100e64d422a1274", size = 430620 }, - { url = "https://files.pythonhosted.org/packages/a2/e2/0b0c5a0f4f7699fecd92c1ba6278ef9b01f2b0b0dd46f62bfc6729c05659/zstandard-0.23.0-cp39-cp39-win_amd64.whl", hash = "sha256:f8346bfa098532bc1fb6c7ef06783e969d87a99dd1d2a5a18a892c1d7a643c58", size = 495528 }, ]

CbKyyy=QO>0Ov6I^JRZ$I(Y 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