From ba7279becbc67fff7a63499396211eab75e78a6f Mon Sep 17 00:00:00 2001 From: Shuguang Chen <54548843+nehcgs@users.noreply.github.com> Date: Fri, 20 Dec 2024 13:25:01 -0800 Subject: [PATCH] Use intent model from archfc to pick prompt gateway (#328) --- .github/workflows/e2e_archgw.yml | 58 + .github/workflows/e2e_model_server.yml | 40 + .github/workflows/e2e_test_demos.yml | 47 + .github/workflows/e2e_tests.yml | 5 +- .github/workflows/model-server-tests.yml | 2 +- .gitignore | 157 +- README.md | 2 +- arch/arch_config_schema.yaml | 2 + arch/docker-compose.dev.yaml | 1 + arch/envoy.template.yaml | 19 +- arch/tools/README.md | 2 +- arch/tools/cli/config_generator.py | 37 +- arch/tools/cli/consts.py | 2 - arch/tools/cli/core.py | 56 +- arch/tools/cli/main.py | 97 +- arch/tools/poetry.lock | 3691 +---------------- arch/tools/pyproject.toml | 6 +- archgw.code-workspace | 13 +- crates/common/src/api/open_ai.rs | 29 +- crates/common/src/configuration.rs | 115 +- crates/common/src/consts.rs | 10 - .../embeddings/create_embedding_request.rs | 59 - .../create_embedding_request_input.rs | 28 - .../embeddings/create_embedding_response.rs | 55 - .../create_embedding_response_usage.rs | 32 - crates/common/src/embeddings/embedding.rs | 48 - crates/common/src/embeddings/mod.rs | 10 - crates/common/src/lib.rs | 3 +- crates/common/src/path.rs | 13 +- crates/prompt_gateway/src/context.rs | 98 +- crates/prompt_gateway/src/embeddings.rs | 5 - crates/prompt_gateway/src/filter_context.rs | 210 +- crates/prompt_gateway/src/http_context.rs | 91 +- crates/prompt_gateway/src/lib.rs | 1 - crates/prompt_gateway/src/stream_context.rs | 878 +--- crates/prompt_gateway/tests/integration.rs | 267 +- demos/currency_exchange/run_demo.sh | 2 +- demos/currency_exchange/test_data.yaml | 13 + demos/hr_agent/docker-compose.yaml | 13 + demos/hr_agent/main.py | 15 - demos/hr_agent/test_data.yaml | 14 + demos/insurance_agent/arch_config.yaml | 12 +- demos/multi_turn_rag_agent/Dockerfile | 19 + demos/multi_turn_rag_agent/README.md | 22 + demos/multi_turn_rag_agent/arch_config.yaml | 59 + .../multi_turn_rag_agent/docker-compose.yaml | 24 + demos/multi_turn_rag_agent/main.py | 42 + .../mutli-turn-example.png | Bin 0 -> 872597 bytes demos/multi_turn_rag_agent/requirements.txt | 12 + demos/multi_turn_rag_agent/run_demo.sh | 47 + demos/network_agent/arch_config.yaml | 58 +- demos/network_agent/docker-compose.yaml | 19 +- demos/network_agent/main.py | 28 +- demos/network_agent/utils.py | 34 +- {e2e_tests => demos/test_runner}/common.py | 17 - demos/test_runner/poetry.lock | 484 +++ demos/test_runner/pyproject.toml | 27 + demos/test_runner/run_demo_tests.sh | 18 + demos/test_runner/test_demos.py | 60 + demos/weather_forecast/arch_config.yaml | 19 +- demos/weather_forecast/main.py | 4 +- demos/weather_forecast/pyproject.toml | 2 +- .../_static/img/input-token-metrics.png | Bin 0 -> 172894 bytes .../_static/img/llm-request-metrics.png | Bin 0 -> 120782 bytes .../_static/img/output-token-metrics.png | Bin 0 -> 160846 bytes docs/source/build_with_arch/agent.rst | 22 +- .../includes/multi_turn/multi_turn_rag.py | 39 + .../multi_turn/mutli-turn-example.png | Bin 0 -> 872597 bytes .../multi_turn/prompt_targets_multi_turn.yaml | 35 + .../includes/rag/intent_detection.py | 162 - docs/source/build_with_arch/multi_turn.rst | 90 + docs/source/build_with_arch/rag.rst | 78 +- docs/source/concepts/tech_overview/prompt.rst | 2 +- .../concepts/tech_overview/terminology.rst | 42 +- docs/source/conf.py | 2 +- docs/source/get_started/quickstart.rst | 2 +- .../guides/observability/monitoring.rst | 76 +- docs/source/index.rst | 3 +- .../resources/configuration_reference.rst | 14 +- e2e_tests/.vscode/launch.json | 15 - e2e_tests/.vscode/settings.json | 7 - e2e_tests/api_model_server.rest | 44 - model_server/.vscode/launch.json | 2 +- model_server/Dockerfile | 4 +- model_server/Dockerfile.gpu | 2 +- model_server/app/cli.py | 178 - model_server/app/commons/constants.py | 38 - model_server/app/commons/globals.py | 4 - model_server/app/commons/utilities.py | 83 - .../app/function_calling/model_handler.py | 137 - .../app/function_calling/model_utils.py | 157 - model_server/app/loader.py | 84 - model_server/app/main.py | 261 -- .../app/prompt_guard/model_handler.py | 42 - model_server/app/prompt_guard/model_utils.py | 19 - model_server/app/tests/test_app.py | 106 - model_server/app/tests/test_cases.json | 794 ---- .../app/tests/test_cli_stop_server.py | 55 - .../app/tests/test_function_calling.py | 90 - model_server/app/tests/test_hallucination.py | 148 - model_server/app/tests/test_loaders_cpu.py | 102 - model_server/app/tests/test_loaders_gpu.py | 102 - model_server/app/tests/test_loaders_mps.py | 102 - model_server/app/tests/test_state.py | 66 - model_server/poetry.lock | 2583 ++---------- model_server/pyproject.toml | 28 +- model_server/{app => src}/__init__.py | 0 model_server/src/cli.py | 214 + model_server/{app => src}/commons/__init__.py | 0 model_server/src/commons/globals.py | 38 + model_server/src/commons/utils.py | 87 + .../function_calling => src/core}/__init__.py | 0 model_server/src/core/function_calling.py | 644 +++ model_server/src/core/guardrails.py | 171 + .../core/hallucination.py} | 176 +- model_server/src/core/model_utils.py | 181 + model_server/src/main.py | 134 + .../{app/prompt_guard => tests}/__init__.py | 0 model_server/tests/core/__init__.py | 0 .../tests/core/test_function_calling.py | 173 + model_server/tests/core/test_guardrails.py | 69 + model_server/tests/core/test_state.py | 50 + model_server/tests/test_app.py | 53 + tests/archgw/arch_config.yaml | 69 + tests/archgw/common.py | 114 + tests/archgw/common.sh | 26 + tests/archgw/docker-compose.yaml | 15 + tests/archgw/poetry.lock | 788 ++++ tests/archgw/pyproject.toml | 27 + .../archgw}/test_llm_gateway.py | 2 +- tests/archgw/test_prompt_gateway.py | 119 + {e2e_tests => tests/e2e}/README.md | 0 tests/e2e/common.py | 114 + {e2e_tests => tests/e2e}/common_scripts.sh | 0 .../e2e/docker-compose.yaml | 3 +- {e2e_tests => tests/e2e}/poetry.lock | 214 +- {e2e_tests => tests/e2e}/pyproject.toml | 4 +- {e2e_tests => tests/e2e}/run_e2e_tests.sh | 14 +- .../e2e}/test_prompt_gateway.py | 55 +- tests/modelserver/poetry.lock | 850 ++++ tests/modelserver/pyproject.toml | 29 + tests/modelserver/test_hallucination.py | 49 + .../modelserver/test_hallucination_data.yaml | 264 ++ tests/modelserver/test_modelserver.py | 58 + tests/modelserver/test_success_data.yaml | 560 +++ .../rest}/api_llm_gateway.rest | 0 tests/rest/api_model_server.rest | 289 ++ .../rest}/api_prompt_gateway.rest | 1 + tests/rest/insurance_agent.rest | 406 ++ tests/rest/network_agent.rest | 441 ++ {e2e_tests => tests/rest}/tracing.rest | 0 151 files changed, 8642 insertions(+), 10932 deletions(-) create mode 100644 .github/workflows/e2e_archgw.yml create mode 100644 .github/workflows/e2e_model_server.yml create mode 100644 .github/workflows/e2e_test_demos.yml delete mode 100644 crates/common/src/embeddings/create_embedding_request.rs delete mode 100644 crates/common/src/embeddings/create_embedding_request_input.rs delete mode 100644 crates/common/src/embeddings/create_embedding_response.rs delete mode 100644 crates/common/src/embeddings/create_embedding_response_usage.rs delete mode 100644 crates/common/src/embeddings/embedding.rs delete mode 100644 crates/common/src/embeddings/mod.rs delete mode 100644 crates/prompt_gateway/src/embeddings.rs create mode 100644 demos/currency_exchange/test_data.yaml create mode 100644 demos/hr_agent/test_data.yaml create mode 100644 demos/multi_turn_rag_agent/Dockerfile create mode 100644 demos/multi_turn_rag_agent/README.md create mode 100644 demos/multi_turn_rag_agent/arch_config.yaml create mode 100644 demos/multi_turn_rag_agent/docker-compose.yaml create mode 100644 demos/multi_turn_rag_agent/main.py create mode 100644 demos/multi_turn_rag_agent/mutli-turn-example.png create mode 100644 demos/multi_turn_rag_agent/requirements.txt create mode 100644 demos/multi_turn_rag_agent/run_demo.sh rename {e2e_tests => demos/test_runner}/common.py (75%) create mode 100644 demos/test_runner/poetry.lock create mode 100644 demos/test_runner/pyproject.toml create mode 100644 demos/test_runner/run_demo_tests.sh create mode 100644 demos/test_runner/test_demos.py create mode 100644 docs/source/_static/img/input-token-metrics.png create mode 100644 docs/source/_static/img/llm-request-metrics.png create mode 100644 docs/source/_static/img/output-token-metrics.png create mode 100644 docs/source/build_with_arch/includes/multi_turn/multi_turn_rag.py create mode 100644 docs/source/build_with_arch/includes/multi_turn/mutli-turn-example.png create mode 100644 docs/source/build_with_arch/includes/multi_turn/prompt_targets_multi_turn.yaml delete mode 100644 docs/source/build_with_arch/includes/rag/intent_detection.py create mode 100644 docs/source/build_with_arch/multi_turn.rst delete mode 100644 e2e_tests/.vscode/launch.json delete mode 100644 e2e_tests/.vscode/settings.json delete mode 100644 e2e_tests/api_model_server.rest delete mode 100644 model_server/app/cli.py delete mode 100644 model_server/app/commons/constants.py delete mode 100644 model_server/app/commons/globals.py delete mode 100644 model_server/app/commons/utilities.py delete mode 100644 model_server/app/function_calling/model_handler.py delete mode 100644 model_server/app/function_calling/model_utils.py delete mode 100644 model_server/app/loader.py delete mode 100644 model_server/app/main.py delete mode 100644 model_server/app/prompt_guard/model_handler.py delete mode 100644 model_server/app/prompt_guard/model_utils.py delete mode 100644 model_server/app/tests/test_app.py delete mode 100644 model_server/app/tests/test_cases.json delete mode 100644 model_server/app/tests/test_cli_stop_server.py delete mode 100644 model_server/app/tests/test_function_calling.py delete mode 100644 model_server/app/tests/test_hallucination.py delete mode 100644 model_server/app/tests/test_loaders_cpu.py delete mode 100644 model_server/app/tests/test_loaders_gpu.py delete mode 100644 model_server/app/tests/test_loaders_mps.py delete mode 100644 model_server/app/tests/test_state.py rename model_server/{app => src}/__init__.py (100%) create mode 100644 model_server/src/cli.py rename model_server/{app => src}/commons/__init__.py (100%) create mode 100644 model_server/src/commons/globals.py create mode 100644 model_server/src/commons/utils.py rename model_server/{app/function_calling => src/core}/__init__.py (100%) create mode 100644 model_server/src/core/function_calling.py create mode 100644 model_server/src/core/guardrails.py rename model_server/{app/function_calling/hallucination_handler.py => src/core/hallucination.py} (70%) create mode 100644 model_server/src/core/model_utils.py create mode 100644 model_server/src/main.py rename model_server/{app/prompt_guard => tests}/__init__.py (100%) create mode 100644 model_server/tests/core/__init__.py create mode 100644 model_server/tests/core/test_function_calling.py create mode 100644 model_server/tests/core/test_guardrails.py create mode 100644 model_server/tests/core/test_state.py create mode 100644 model_server/tests/test_app.py create mode 100644 tests/archgw/arch_config.yaml create mode 100644 tests/archgw/common.py create mode 100644 tests/archgw/common.sh create mode 100644 tests/archgw/docker-compose.yaml create mode 100644 tests/archgw/poetry.lock create mode 100644 tests/archgw/pyproject.toml rename {e2e_tests => tests/archgw}/test_llm_gateway.py (95%) create mode 100644 tests/archgw/test_prompt_gateway.py rename {e2e_tests => tests/e2e}/README.md (100%) create mode 100644 tests/e2e/common.py rename {e2e_tests => tests/e2e}/common_scripts.sh (100%) rename arch/docker-compose.e2e.yaml => tests/e2e/docker-compose.yaml (79%) rename {e2e_tests => tests/e2e}/poetry.lock (77%) rename {e2e_tests => tests/e2e}/pyproject.toml (87%) rename {e2e_tests => tests/e2e}/run_e2e_tests.sh (92%) rename {e2e_tests => tests/e2e}/test_prompt_gateway.py (84%) create mode 100644 tests/modelserver/poetry.lock create mode 100644 tests/modelserver/pyproject.toml create mode 100644 tests/modelserver/test_hallucination.py create mode 100644 tests/modelserver/test_hallucination_data.yaml create mode 100644 tests/modelserver/test_modelserver.py create mode 100644 tests/modelserver/test_success_data.yaml rename {e2e_tests => tests/rest}/api_llm_gateway.rest (100%) create mode 100644 tests/rest/api_model_server.rest rename {e2e_tests => tests/rest}/api_prompt_gateway.rest (99%) create mode 100644 tests/rest/insurance_agent.rest create mode 100644 tests/rest/network_agent.rest rename {e2e_tests => tests/rest}/tracing.rest (100%) diff --git a/.github/workflows/e2e_archgw.yml b/.github/workflows/e2e_archgw.yml new file mode 100644 index 00000000..1703b0dd --- /dev/null +++ b/.github/workflows/e2e_archgw.yml @@ -0,0 +1,58 @@ +name: e2e archgw tests + +on: + push: + branches: + - main + pull_request: + +jobs: + test: + runs-on: ubuntu-latest-m + defaults: + run: + working-directory: ./tests/archgw + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.12" + + - name: build arch docker image + run: | + cd ../../ && docker build -f arch/Dockerfile . -t katanemo/archgw + + - name: start archgw + env: + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} + MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }} + run: | + docker compose up | tee &> archgw.logs & + + - name: wait for archgw to be healthy + run: | + source common.sh && wait_for_healthz http://localhost:10000/healthz + + - name: install poetry + run: | + curl -sSL https://install.python-poetry.org | python3 - + export PATH="$HOME/.local/bin:$PATH" + + - name: install test dependencies + run: | + poetry install + + - name: run archgw tests + run: | + poetry run pytest || tail -100 archgw.logs + + - name: stop archgw docker container + env: + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} + MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }} + run: | + docker compose down diff --git a/.github/workflows/e2e_model_server.yml b/.github/workflows/e2e_model_server.yml new file mode 100644 index 00000000..61ea00a0 --- /dev/null +++ b/.github/workflows/e2e_model_server.yml @@ -0,0 +1,40 @@ +name: e2e model server tests + +on: + push: + branches: + - main + pull_request: + +jobs: + test: + runs-on: ubuntu-latest-m + defaults: + run: + working-directory: ./tests/modelserver + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.12" + + - name: install poetry + run: | + curl -sSL https://install.python-poetry.org | python3 - + export PATH="$HOME/.local/bin:$PATH" + + - name: install model server and start it + run: | + cd ../../model_server/ && poetry install && poetry run archgw_modelserver start + + - name: install test dependencies + run: | + poetry install + + - name: run tests + run: | + poetry run pytest diff --git a/.github/workflows/e2e_test_demos.yml b/.github/workflows/e2e_test_demos.yml new file mode 100644 index 00000000..dec1576f --- /dev/null +++ b/.github/workflows/e2e_test_demos.yml @@ -0,0 +1,47 @@ +name: e2e demo tests + +on: + push: + branches: + - main + pull_request: + +jobs: + test: + runs-on: ubuntu-latest-m + + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.12" + + - name: build arch docker image + run: | + docker build -f arch/Dockerfile . -t katanemo/archgw + + - name: install poetry + run: | + curl -sSL https://install.python-poetry.org | python3 - + + - name: setup python venv + run: | + python -m venv venv + + - name: install model server, arch gateway and test dependencies + run: | + source venv/bin/activate + cd model_server/ && echo "installing model server" && poetry install + cd ../arch/tools && echo "installing archgw cli" && poetry install + cd ../../demos/test_runner && echo "installing test dependencies" && poetry install + + - name: run demo tests + env: + OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} + MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }} + run: | + source venv/bin/activate + cd demos/test_runner && sh run_demo_tests.sh diff --git a/.github/workflows/e2e_tests.yml b/.github/workflows/e2e_tests.yml index b6bff53f..d8c384b9 100644 --- a/.github/workflows/e2e_tests.yml +++ b/.github/workflows/e2e_tests.yml @@ -8,8 +8,7 @@ on: jobs: test: - runs-on: ubuntu-latest-m - # runs-on: gh-large-150gb-ssd + runs-on: ubuntu-latest steps: - name: Checkout code @@ -31,4 +30,4 @@ jobs: MISTRAL_API_KEY: ${{ secrets.MISTRAL_API_KEY }} run: | python -mvenv venv - source venv/bin/activate && cd e2e_tests && bash run_e2e_tests.sh + source venv/bin/activate && cd tests/e2e && bash run_e2e_tests.sh diff --git a/.github/workflows/model-server-tests.yml b/.github/workflows/model-server-tests.yml index 39539d0b..d2922ae6 100644 --- a/.github/workflows/model-server-tests.yml +++ b/.github/workflows/model-server-tests.yml @@ -41,4 +41,4 @@ jobs: PYTHONPATH: model_server # Ensure the app's path is available run: | cd model_server - poetry run pytest --maxfail=5 --disable-warnings + poetry run pytest diff --git a/.gitignore b/.gitignore index 1cf4b473..b140bbbe 100644 --- a/.gitignore +++ b/.gitignore @@ -1,35 +1,142 @@ -arch/qdrant_data/ -/venv/ -__pycache__ -grafana-data -prom_data +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +.hypothesis/ +.pytest_cache/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +*.sqlite3 + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# PyBuilder +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# pyenv +.python-version + +# celery beat schedule file +celerybeat-schedule + +# SageMath parsed files +*.sage.py + +# Environments .env -qdrant_data -generated -.DS_Store -*.gguf -venv -demos/function_calling/ollama/models/ -demos/function_calling/ollama/id_ed* -docs/build/ -demos/function_calling/open-webui/ -demos/employee_details_copilot/open-webui/ -demos/employee_details_copilot_arch/open-webui/ -demos/network_copilot/open-webui/ -demos/employee_details_copilot/ollama/models/ -demos/employee_details_copilot_arch/ollama/models/ -demos/network_copilot/ollama/models/ -arch_log/ -arch/tools/*.egg-info +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ + +# VSCode stuff: +.vscode/ + +# MacOS Metadata +*.DS_Store + + + +# ========================================= + +# Arch arch/tools/config arch/tools/build -model_server/model_server.egg-info + +# Archgw - model_server model_server/venv_model_server model_server/build model_server/dist + +# Archgw - Docs +docs/build/ + +# Archgw - Demos +demos/function_calling/ollama/models/ +demos/function_calling/ollama/id_ed* +demos/function_calling/open-webui/ +demos/function_calling/open-webui/ +demos/shared/signoz/data + +# Arch - Miscellaneous +grafana-data +prom_data +arch_log/ arch_logs/ -dist/ crates/*/target/ crates/target/ build.log -demos/shared/signoz/data + +archgw.log diff --git a/README.md b/README.md index f22db580..c35ebcb8 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ Arch's CLI allows you to manage and interact with the Arch gateway efficiently. ```console $ python -m venv venv $ source venv/bin/activate # On Windows, use: venv\Scripts\activate -$ pip install archgw==0.1.6 +$ pip install archgw==0.1.7 ``` ### Build AI Agent with Arch Gateway diff --git a/arch/arch_config_schema.yaml b/arch/arch_config_schema.yaml index 6daa29e8..0fe980dd 100644 --- a/arch/arch_config_schema.yaml +++ b/arch/arch_config_schema.yaml @@ -99,6 +99,8 @@ properties: type: string in_path: type: boolean + format: + type: string additionalProperties: false required: - name diff --git a/arch/docker-compose.dev.yaml b/arch/docker-compose.dev.yaml index 378e0eca..04edd8db 100644 --- a/arch/docker-compose.dev.yaml +++ b/arch/docker-compose.dev.yaml @@ -22,3 +22,4 @@ services: - OPENAI_API_KEY=${OPENAI_API_KEY:?error} - MISTRAL_API_KEY=${MISTRAL_API_KEY:?error} - OTEL_TRACING_HTTP_ENDPOINT=http://host.docker.internal:4318/v1/traces + - MODEL_SERVER_PORT=${MODEL_SERVER_PORT:-51000} diff --git a/arch/envoy.template.yaml b/arch/envoy.template.yaml index 44033cd3..5eac257f 100644 --- a/arch/envoy.template.yaml +++ b/arch/envoy.template.yaml @@ -237,8 +237,7 @@ static_resources: domains: - "*" routes: - - {% for internal_clustrer in ["embeddings", "zeroshot", "guard", "arch_fc", "hallucination"] %} + {% for internal_clustrer in ["arch_fc", "model_server"] %} - match: prefix: "/" headers: @@ -251,16 +250,16 @@ static_resources: timeout: 60s {% endfor %} - {% for _, cluster in arch_clusters.items() %} + {% for cluster_name, cluster in arch_clusters.items() %} - match: prefix: "/" headers: - name: "x-arch-upstream" string_match: - exact: {{ cluster.name }} + exact: {{ cluster_name }} route: auto_host_rewrite: true - cluster: {{ cluster.name }} + cluster: {{ cluster_name }} timeout: 60s {% endfor %} http_filters: @@ -475,7 +474,7 @@ static_resources: typed_config: "@type": type.googleapis.com/envoy.extensions.transport_sockets.tls.v3.UpstreamTlsContext sni: api.mistral.ai - {% for internal_clustrer in ["embeddings", "zeroshot", "guard", "arch_fc", "hallucination"] %} + {% for internal_clustrer in ["arch_fc", "model_server"] %} - name: {{ internal_clustrer }} connect_timeout: 5s type: STRICT_DNS @@ -489,7 +488,7 @@ static_resources: address: socket_address: address: host.docker.internal - port_value: 51000 + port_value: $MODEL_SERVER_PORT hostname: {{ internal_clustrer }} {% endfor %} - name: mistral_7b_instruct @@ -507,8 +506,8 @@ static_resources: address: mistral_7b_instruct port_value: 10001 hostname: "mistral_7b_instruct" -{% for _, cluster in arch_clusters.items() %} - - name: {{ cluster.name }} +{% for cluster_name, cluster in arch_clusters.items() %} + - name: {{ cluster_name }} {% if cluster.connect_timeout -%} connect_timeout: {{ cluster.connect_timeout }} {% else -%} @@ -518,7 +517,7 @@ static_resources: dns_lookup_family: V4_ONLY lb_policy: ROUND_ROBIN load_assignment: - cluster_name: {{ cluster.name }} + cluster_name: {{ cluster_name }} endpoints: - lb_endpoints: - endpoint: diff --git a/arch/tools/README.md b/arch/tools/README.md index 8e11a647..a679520e 100644 --- a/arch/tools/README.md +++ b/arch/tools/README.md @@ -19,7 +19,7 @@ source venv/bin/activate ### Step 3: Run the build script ```bash -pip install archgw==0.1.6 +pip install archgw==0.1.7 ``` ## Uninstall Instructions: archgw CLI diff --git a/arch/tools/cli/config_generator.py b/arch/tools/cli/config_generator.py index c32dae16..3393bb5c 100644 --- a/arch/tools/cli/config_generator.py +++ b/arch/tools/cli/config_generator.py @@ -1,3 +1,4 @@ +import json import os from jinja2 import Environment, FileSystemLoader import yaml @@ -47,32 +48,27 @@ def validate_and_render_schema(): config_schema_yaml = yaml.safe_load(arch_config_schema) inferred_clusters = {} + endpoints = config_yaml.get("endpoints", {}) + + # override the inferred clusters with the ones defined in the config + for name, endpoint_details in endpoints.items(): + inferred_clusters[name] = endpoint_details + endpoint = inferred_clusters[name]["endpoint"] + if len(endpoint.split(":")) > 1: + inferred_clusters[name]["endpoint"] = endpoint.split(":")[0] + inferred_clusters[name]["port"] = int(endpoint.split(":")[1]) + + print("defined clusters from arch_config.yaml: ", json.dumps(inferred_clusters)) + if "prompt_targets" in config_yaml: for prompt_target in config_yaml["prompt_targets"]: name = prompt_target.get("endpoint", {}).get("name", None) if not name: continue if name not in inferred_clusters: - inferred_clusters[name] = { - "name": name, - "port": 80, # default port - } - - endpoints = config_yaml.get("endpoints", {}) - - # override the inferred clusters with the ones defined in the config - for name, endpoint_details in endpoints.items(): - if name in inferred_clusters: - print("updating cluster", endpoint_details) - inferred_clusters[name].update(endpoint_details) - endpoint = inferred_clusters[name]["endpoint"] - if len(endpoint.split(":")) > 1: - inferred_clusters[name]["endpoint"] = endpoint.split(":")[0] - inferred_clusters[name]["port"] = int(endpoint.split(":")[1]) - else: - inferred_clusters[name] = endpoint_details - - print("updated clusters", inferred_clusters) + raise Exception( + f"Unknown endpoint {name}, please add it in endpoints section in your arch_config.yaml file" + ) arch_llm_providers = config_yaml["llm_providers"] arch_tracing = config_yaml.get("tracing", {}) @@ -90,6 +86,7 @@ def validate_and_render_schema(): rendered = template.render(data) print(ENVOY_CONFIG_FILE_RENDERED) + print(rendered) with open(ENVOY_CONFIG_FILE_RENDERED, "w") as file: file.write(rendered) diff --git a/arch/tools/cli/consts.py b/arch/tools/cli/consts.py index 598bc29c..fd377120 100644 --- a/arch/tools/cli/consts.py +++ b/arch/tools/cli/consts.py @@ -1,8 +1,6 @@ KATANEMO_DOCKERHUB_REPO = "katanemo/archgw" KATANEMO_LOCAL_MODEL_LIST = [ - "katanemo/Arch-Guard-cpu", "katanemo/Arch-Guard", - "katanemo/bge-large-en-v1.5", ] SERVICE_NAME_ARCHGW = "archgw" SERVICE_NAME_MODEL_SERVER = "model_server" diff --git a/arch/tools/cli/core.py b/arch/tools/cli/core.py index 0ebdcde0..65cf2837 100644 --- a/arch/tools/cli/core.py +++ b/arch/tools/cli/core.py @@ -44,6 +44,7 @@ def start_archgw_docker(client, arch_config_file, env): }, environment={ "OTEL_TRACING_HTTP_ENDPOINT": "http://host.docker.internal:4318/v1/traces", + "MODEL_SERVER_PORT": os.getenv("MODEL_SERVER_PORT", "51000"), **env, }, extra_hosts={"host.docker.internal": "host-gateway"}, @@ -78,25 +79,6 @@ def stream_gateway_logs(follow): log.info(f"Failed to stream logs: {str(e)}") -def stream_model_server_logs(follow): - """ - Get the model server logs, check if the user wants to follow/tail them. - """ - log_file_expanded = os.path.expanduser(MODEL_SERVER_LOG_FILE) - - stream_command = ["tail"] - if follow: - stream_command.append("-f") - - stream_command.append(log_file_expanded) - subprocess.run( - stream_command, - check=True, - stdout=sys.stdout, - stderr=sys.stderr, - ) - - def stream_access_logs(follow): """ Get the archgw access logs @@ -117,7 +99,7 @@ def stream_access_logs(follow): ) -def start_arch(arch_config_file, env, log_timeout=120): +def start_arch(arch_config_file, env, log_timeout=120, foreground=False): """ Start Docker Compose in detached mode and stream logs until services are healthy. @@ -130,6 +112,16 @@ def start_arch(arch_config_file, env, log_timeout=120): try: client = docker.from_env() + try: + container = client.containers.get("archgw") + log.info("archgw container found in docker, stopping and removing it") + # ensure that previous docker container is stopped and removed + container.stop() + container.remove() + log.info("Stopped and removed archgw container") + except docker.errors.NotFound as e: + pass + container = start_archgw_docker(client, arch_config_file, env) start_time = time.time() @@ -153,6 +145,13 @@ def start_arch(arch_config_file, env, log_timeout=120): log.info(f"Container health status: {container_status}") time.sleep(1) + if foreground: + for line in container.logs(stream=True): + print(line.decode("utf-8").strip("\n")) + + except KeyboardInterrupt: + log.info("Keyboard interrupt received, stopping arch gateway service.") + stop_arch() except docker.errors.APIError as e: log.info(f"Failed to start Arch: {str(e)}") @@ -186,17 +185,23 @@ def download_models_from_hf(): snapshot_download(repo_id=model) -def start_arch_modelserver(): +def start_arch_modelserver(foreground): """ Start the model server. This assumes that the archgw_modelserver package is installed locally """ try: log.info("archgw_modelserver restart") - subprocess.run( - ["archgw_modelserver", "restart"], check=True, start_new_session=True - ) - log.info("Successfully ran model_server") + if foreground: + subprocess.run( + ["archgw_modelserver", "start", "--foreground"], + check=True, + ) + else: + subprocess.run( + ["archgw_modelserver", "start"], + check=True, + ) except subprocess.CalledProcessError as e: log.info(f"Failed to start model_server. Please check archgw_modelserver logs") sys.exit(1) @@ -212,7 +217,6 @@ def stop_arch_modelserver(): ["archgw_modelserver", "stop"], check=True, ) - log.info("Successfully stopped the archgw model_server") except subprocess.CalledProcessError as e: log.info(f"Failed to start model_server. Please check archgw_modelserver logs") sys.exit(1) diff --git a/arch/tools/cli/main.py b/arch/tools/cli/main.py index e3995718..22ed7123 100644 --- a/arch/tools/cli/main.py +++ b/arch/tools/cli/main.py @@ -16,10 +16,9 @@ from cli.core import ( stop_arch_modelserver, start_arch, stop_arch, - stream_gateway_logs, - stream_model_server_logs, - stream_access_logs, download_models_from_hf, + stream_access_logs, + stream_gateway_logs, ) from cli.consts import ( KATANEMO_DOCKERHUB_REPO, @@ -138,16 +137,27 @@ def build(service): default=SERVICE_ALL, help="Service to start. Options are model_server, archgw.", ) -def up(file, path, service): +@click.option( + "--foreground", + default=False, + help="Run Arch in the foreground. Default is False", + is_flag=True, +) +def up(file, path, service, foreground): """Starts Arch.""" if service not in [SERVICE_NAME_ARCHGW, SERVICE_NAME_MODEL_SERVER, SERVICE_ALL]: log.info(f"Error: Invalid service {service}. Exiting") sys.exit(1) + if service == SERVICE_ALL and foreground: + # foreground can only be specified when starting individual services + log.info("foreground flag is only supported for individual services. Exiting.") + sys.exit(1) + if service == SERVICE_NAME_MODEL_SERVER: log.info("Download archgw models from HuggingFace...") download_models_from_hf() - start_arch_modelserver() + start_arch_modelserver(foreground) return if file: @@ -214,12 +224,11 @@ def up(file, path, service): env.update(env_stage) if service == SERVICE_NAME_ARCHGW: - start_arch(arch_config_file, env) + start_arch(arch_config_file, env, foreground=foreground) else: - # this will used the cached versions of the models, so its safe to use everytime. download_models_from_hf() - start_arch_modelserver() - start_arch(arch_config_file, env) + start_arch_modelserver(foreground) + start_arch(arch_config_file, env, foreground=foreground) @click.command() @@ -267,65 +276,37 @@ def generate_prompt_targets(file): @click.command() -@click.option( - "--service", - default=SERVICE_ALL, - help="Service to monitor. By default it will monitor both core gateway and model_server logs.", -) @click.option( "--debug", help="For detailed debug logs to trace calls from archgw <> model_server <> api_server, etc", is_flag=True, ) @click.option("--follow", help="Follow the logs", is_flag=True) -def logs(service, debug, follow): +def logs(debug, follow): """Stream logs from access logs services.""" - if service not in [SERVICE_NAME_ARCHGW, SERVICE_NAME_MODEL_SERVER, SERVICE_ALL]: - print(f"Error: Invalid service {service}. Exiting") - sys.exit(1) - - if debug: - try: - archgw_process = None - if service == SERVICE_NAME_ARCHGW or service == SERVICE_ALL: - archgw_process = multiprocessing.Process( - target=stream_gateway_logs, args=(follow,) - ) - archgw_process.start() - - model_server_process = None - if service == SERVICE_NAME_MODEL_SERVER or service == SERVICE_ALL: - model_server_process = multiprocessing.Process( - target=stream_model_server_logs, args=(follow,) - ) - model_server_process.start() - - if archgw_process: - archgw_process.join() - if model_server_process: - model_server_process.join() - except KeyboardInterrupt: - log.info("KeyboardInterrupt detected. Exiting.") - if archgw_process and archgw_process.is_alive(): - archgw_process.terminate() - - if model_server_process and model_server_process.is_alive(): - model_server_process.terminate() - else: - try: - archgw_access_logs_process = None - archgw_access_logs_process = multiprocessing.Process( - target=stream_access_logs, args=(follow,) + archgw_process = None + try: + if debug: + archgw_process = multiprocessing.Process( + target=stream_gateway_logs, args=(follow,) ) - archgw_access_logs_process.start() + archgw_process.start() - if archgw_access_logs_process: - archgw_access_logs_process.join() - except KeyboardInterrupt: - log.info("KeyboardInterrupt detected. Exiting.") - if archgw_access_logs_process.is_alive(): - archgw_access_logs_process.terminate() + archgw_access_logs_process = multiprocessing.Process( + target=stream_access_logs, args=(follow,) + ) + archgw_access_logs_process.start() + archgw_access_logs_process.join() + + if archgw_process: + archgw_process.join() + except KeyboardInterrupt: + log.info("KeyboardInterrupt detected. Exiting.") + if archgw_access_logs_process.is_alive(): + archgw_access_logs_process.terminate() + if archgw_process and archgw_process.is_alive(): + archgw_process.terminate() main.add_command(up) diff --git a/arch/tools/poetry.lock b/arch/tools/poetry.lock index 1a89b0dc..3e7c46b9 100644 --- a/arch/tools/poetry.lock +++ b/arch/tools/poetry.lock @@ -1,169 +1,5 @@ # This file is automatically @generated by Poetry 1.8.4 and should not be changed by hand. -[[package]] -name = "absl-py" -version = "2.1.0" -description = "Abseil Python Common Libraries, see https://github.com/abseil/abseil-py." -optional = false -python-versions = ">=3.7" -files = [ - {file = "absl-py-2.1.0.tar.gz", hash = "sha256:7820790efbb316739cde8b4e19357243fc3608a152024288513dd968d7d959ff"}, - {file = "absl_py-2.1.0-py3-none-any.whl", hash = "sha256:526a04eadab8b4ee719ce68f204172ead1027549089702d99b9059f129ff1308"}, -] - -[[package]] -name = "accelerate" -version = "1.2.0" -description = "Accelerate" -optional = false -python-versions = ">=3.9.0" -files = [ - {file = "accelerate-1.2.0-py3-none-any.whl", hash = "sha256:815708367eb83cd682e120da634b2cf318729bff95f30e2f046c086aae20201e"}, - {file = "accelerate-1.2.0.tar.gz", hash = "sha256:4187a9dea21101255ada3a1974532585feeb6ca8b681693dba362d6d25e85ef2"}, -] - -[package.dependencies] -huggingface-hub = ">=0.21.0" -numpy = ">=1.17,<3.0.0" -packaging = ">=20.0" -psutil = "*" -pyyaml = "*" -safetensors = ">=0.4.3" -torch = ">=1.10.0" - -[package.extras] -deepspeed = ["deepspeed"] -dev = ["bitsandbytes", "black (>=23.1,<24.0)", "datasets", "diffusers", "evaluate", "hf-doc-builder (>=0.3.0)", "parameterized", "pytest (>=7.2.0,<=8.0.0)", "pytest-subtests", "pytest-xdist", "rich", "ruff (>=0.6.4,<0.7.0)", "scikit-learn", "scipy", "timm", "torchdata (>=0.8.0)", "torchpippy (>=0.2.0)", "tqdm", "transformers"] -quality = ["black (>=23.1,<24.0)", "hf-doc-builder (>=0.3.0)", "ruff (>=0.6.4,<0.7.0)"] -rich = ["rich"] -sagemaker = ["sagemaker"] -test-dev = ["bitsandbytes", "datasets", "diffusers", "evaluate", "scikit-learn", "scipy", "timm", "torchdata (>=0.8.0)", "torchpippy (>=0.2.0)", "tqdm", "transformers"] -test-prod = ["parameterized", "pytest (>=7.2.0,<=8.0.0)", "pytest-subtests", "pytest-xdist"] -test-trackers = ["comet-ml", "dvclive", "tensorboard", "wandb"] -testing = ["bitsandbytes", "datasets", "diffusers", "evaluate", "parameterized", "pytest (>=7.2.0,<=8.0.0)", "pytest-subtests", "pytest-xdist", "scikit-learn", "scipy", "timm", "torchdata (>=0.8.0)", "torchpippy (>=0.2.0)", "tqdm", "transformers"] - -[[package]] -name = "aiohappyeyeballs" -version = "2.4.4" -description = "Happy Eyeballs for asyncio" -optional = false -python-versions = ">=3.8" -files = [ - {file = "aiohappyeyeballs-2.4.4-py3-none-any.whl", hash = "sha256:a980909d50efcd44795c4afeca523296716d50cd756ddca6af8c65b996e27de8"}, - {file = "aiohappyeyeballs-2.4.4.tar.gz", hash = "sha256:5fdd7d87889c63183afc18ce9271f9b0a7d32c2303e394468dd45d514a757745"}, -] - -[[package]] -name = "aiohttp" -version = "3.11.10" -description = "Async http client/server framework (asyncio)" -optional = false -python-versions = ">=3.9" -files = [ - {file = "aiohttp-3.11.10-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:cbad88a61fa743c5d283ad501b01c153820734118b65aee2bd7dbb735475ce0d"}, - {file = "aiohttp-3.11.10-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:80886dac673ceaef499de2f393fc80bb4481a129e6cb29e624a12e3296cc088f"}, - {file = "aiohttp-3.11.10-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:61b9bae80ed1f338c42f57c16918853dc51775fb5cb61da70d590de14d8b5fb4"}, - {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9e2e576caec5c6a6b93f41626c9c02fc87cd91538b81a3670b2e04452a63def6"}, - {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:02c13415b5732fb6ee7ff64583a5e6ed1c57aa68f17d2bda79c04888dfdc2769"}, - {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4cfce37f31f20800a6a6620ce2cdd6737b82e42e06e6e9bd1b36f546feb3c44f"}, - {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3bbbfff4c679c64e6e23cb213f57cc2c9165c9a65d63717108a644eb5a7398df"}, - {file = "aiohttp-3.11.10-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:49c7dbbc1a559ae14fc48387a115b7d4bbc84b4a2c3b9299c31696953c2a5219"}, - {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:68386d78743e6570f054fe7949d6cb37ef2b672b4d3405ce91fafa996f7d9b4d"}, - {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:9ef405356ba989fb57f84cac66f7b0260772836191ccefbb987f414bcd2979d9"}, - {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5d6958671b296febe7f5f859bea581a21c1d05430d1bbdcf2b393599b1cdce77"}, - {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:99b7920e7165be5a9e9a3a7f1b680f06f68ff0d0328ff4079e5163990d046767"}, - {file = "aiohttp-3.11.10-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0dc49f42422163efb7e6f1df2636fe3db72713f6cd94688e339dbe33fe06d61d"}, - {file = "aiohttp-3.11.10-cp310-cp310-win32.whl", hash = "sha256:40d1c7a7f750b5648642586ba7206999650208dbe5afbcc5284bcec6579c9b91"}, - {file = "aiohttp-3.11.10-cp310-cp310-win_amd64.whl", hash = "sha256:68ff6f48b51bd78ea92b31079817aff539f6c8fc80b6b8d6ca347d7c02384e33"}, - {file = "aiohttp-3.11.10-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:77c4aa15a89847b9891abf97f3d4048f3c2d667e00f8a623c89ad2dccee6771b"}, - {file = "aiohttp-3.11.10-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:909af95a72cedbefe5596f0bdf3055740f96c1a4baa0dd11fd74ca4de0b4e3f1"}, - {file = "aiohttp-3.11.10-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:386fbe79863eb564e9f3615b959e28b222259da0c48fd1be5929ac838bc65683"}, - {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3de34936eb1a647aa919655ff8d38b618e9f6b7f250cc19a57a4bf7fd2062b6d"}, - {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:0c9527819b29cd2b9f52033e7fb9ff08073df49b4799c89cb5754624ecd98299"}, - {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65a96e3e03300b41f261bbfd40dfdbf1c301e87eab7cd61c054b1f2e7c89b9e8"}, - {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:98f5635f7b74bcd4f6f72fcd85bea2154b323a9f05226a80bc7398d0c90763b0"}, - {file = "aiohttp-3.11.10-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:03b6002e20938fc6ee0918c81d9e776bebccc84690e2b03ed132331cca065ee5"}, - {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6362cc6c23c08d18ddbf0e8c4d5159b5df74fea1a5278ff4f2c79aed3f4e9f46"}, - {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:3691ed7726fef54e928fe26344d930c0c8575bc968c3e239c2e1a04bd8cf7838"}, - {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:31d5093d3acd02b31c649d3a69bb072d539d4c7659b87caa4f6d2bcf57c2fa2b"}, - {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:8b3cf2dc0f0690a33f2d2b2cb15db87a65f1c609f53c37e226f84edb08d10f52"}, - {file = "aiohttp-3.11.10-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:fbbaea811a2bba171197b08eea288b9402faa2bab2ba0858eecdd0a4105753a3"}, - {file = "aiohttp-3.11.10-cp311-cp311-win32.whl", hash = "sha256:4b2c7ac59c5698a7a8207ba72d9e9c15b0fc484a560be0788b31312c2c5504e4"}, - {file = "aiohttp-3.11.10-cp311-cp311-win_amd64.whl", hash = "sha256:974d3a2cce5fcfa32f06b13ccc8f20c6ad9c51802bb7f829eae8a1845c4019ec"}, - {file = "aiohttp-3.11.10-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b78f053a7ecfc35f0451d961dacdc671f4bcbc2f58241a7c820e9d82559844cf"}, - {file = "aiohttp-3.11.10-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ab7485222db0959a87fbe8125e233b5a6f01f4400785b36e8a7878170d8c3138"}, - {file = "aiohttp-3.11.10-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cf14627232dfa8730453752e9cdc210966490992234d77ff90bc8dc0dce361d5"}, - {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:076bc454a7e6fd646bc82ea7f98296be0b1219b5e3ef8a488afbdd8e81fbac50"}, - {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:482cafb7dc886bebeb6c9ba7925e03591a62ab34298ee70d3dd47ba966370d2c"}, - {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf3d1a519a324af764a46da4115bdbd566b3c73fb793ffb97f9111dbc684fc4d"}, - {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:24213ba85a419103e641e55c27dc7ff03536c4873470c2478cce3311ba1eee7b"}, - {file = "aiohttp-3.11.10-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b99acd4730ad1b196bfb03ee0803e4adac371ae8efa7e1cbc820200fc5ded109"}, - {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:14cdb5a9570be5a04eec2ace174a48ae85833c2aadc86de68f55541f66ce42ab"}, - {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7e97d622cb083e86f18317282084bc9fbf261801b0192c34fe4b1febd9f7ae69"}, - {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:012f176945af138abc10c4a48743327a92b4ca9adc7a0e078077cdb5dbab7be0"}, - {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44224d815853962f48fe124748227773acd9686eba6dc102578defd6fc99e8d9"}, - {file = "aiohttp-3.11.10-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c87bf31b7fdab94ae3adbe4a48e711bfc5f89d21cf4c197e75561def39e223bc"}, - {file = "aiohttp-3.11.10-cp312-cp312-win32.whl", hash = "sha256:06a8e2ee1cbac16fe61e51e0b0c269400e781b13bcfc33f5425912391a542985"}, - {file = "aiohttp-3.11.10-cp312-cp312-win_amd64.whl", hash = "sha256:be2b516f56ea883a3e14dda17059716593526e10fb6303189aaf5503937db408"}, - {file = "aiohttp-3.11.10-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8cc5203b817b748adccb07f36390feb730b1bc5f56683445bfe924fc270b8816"}, - {file = "aiohttp-3.11.10-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:5ef359ebc6949e3a34c65ce20230fae70920714367c63afd80ea0c2702902ccf"}, - {file = "aiohttp-3.11.10-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:9bca390cb247dbfaec3c664326e034ef23882c3f3bfa5fbf0b56cad0320aaca5"}, - {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:811f23b3351ca532af598405db1093f018edf81368e689d1b508c57dcc6b6a32"}, - {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ddf5f7d877615f6a1e75971bfa5ac88609af3b74796ff3e06879e8422729fd01"}, - {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:6ab29b8a0beb6f8eaf1e5049252cfe74adbaafd39ba91e10f18caeb0e99ffb34"}, - {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c49a76c1038c2dd116fa443eba26bbb8e6c37e924e2513574856de3b6516be99"}, - {file = "aiohttp-3.11.10-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7f3dc0e330575f5b134918976a645e79adf333c0a1439dcf6899a80776c9ab39"}, - {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:efb15a17a12497685304b2d976cb4939e55137df7b09fa53f1b6a023f01fcb4e"}, - {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:db1d0b28fcb7f1d35600150c3e4b490775251dea70f894bf15c678fdd84eda6a"}, - {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:15fccaf62a4889527539ecb86834084ecf6e9ea70588efde86e8bc775e0e7542"}, - {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:593c114a2221444f30749cc5e5f4012488f56bd14de2af44fe23e1e9894a9c60"}, - {file = "aiohttp-3.11.10-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7852bbcb4d0d2f0c4d583f40c3bc750ee033265d80598d0f9cb6f372baa6b836"}, - {file = "aiohttp-3.11.10-cp313-cp313-win32.whl", hash = "sha256:65e55ca7debae8faaffee0ebb4b47a51b4075f01e9b641c31e554fd376595c6c"}, - {file = "aiohttp-3.11.10-cp313-cp313-win_amd64.whl", hash = "sha256:beb39a6d60a709ae3fb3516a1581777e7e8b76933bb88c8f4420d875bb0267c6"}, - {file = "aiohttp-3.11.10-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:0580f2e12de2138f34debcd5d88894786453a76e98febaf3e8fe5db62d01c9bf"}, - {file = "aiohttp-3.11.10-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a55d2ad345684e7c3dd2c20d2f9572e9e1d5446d57200ff630e6ede7612e307f"}, - {file = "aiohttp-3.11.10-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:04814571cb72d65a6899db6099e377ed00710bf2e3eafd2985166f2918beaf59"}, - {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e44a9a3c053b90c6f09b1bb4edd880959f5328cf63052503f892c41ea786d99f"}, - {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:502a1464ccbc800b4b1995b302efaf426e8763fadf185e933c2931df7db9a199"}, - {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:613e5169f8ae77b1933e42e418a95931fb4867b2991fc311430b15901ed67079"}, - {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4cca22a61b7fe45da8fc73c3443150c3608750bbe27641fc7558ec5117b27fdf"}, - {file = "aiohttp-3.11.10-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:86a5dfcc39309470bd7b68c591d84056d195428d5d2e0b5ccadfbaf25b026ebc"}, - {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:77ae58586930ee6b2b6f696c82cf8e78c8016ec4795c53e36718365f6959dc82"}, - {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:78153314f26d5abef3239b4a9af20c229c6f3ecb97d4c1c01b22c4f87669820c"}, - {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:98283b94cc0e11c73acaf1c9698dea80c830ca476492c0fe2622bd931f34b487"}, - {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:53bf2097e05c2accc166c142a2090e4c6fd86581bde3fd9b2d3f9e93dda66ac1"}, - {file = "aiohttp-3.11.10-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c5532f0441fc09c119e1dca18fbc0687e64fbeb45aa4d6a87211ceaee50a74c4"}, - {file = "aiohttp-3.11.10-cp39-cp39-win32.whl", hash = "sha256:47ad15a65fb41c570cd0ad9a9ff8012489e68176e7207ec7b82a0940dddfd8be"}, - {file = "aiohttp-3.11.10-cp39-cp39-win_amd64.whl", hash = "sha256:c6b9e6d7e41656d78e37ce754813fa44b455c3d0d0dced2a047def7dc5570b74"}, - {file = "aiohttp-3.11.10.tar.gz", hash = "sha256:b1fc6b45010a8d0ff9e88f9f2418c6fd408c99c211257334aff41597ebece42e"}, -] - -[package.dependencies] -aiohappyeyeballs = ">=2.3.0" -aiosignal = ">=1.1.2" -attrs = ">=17.3.0" -frozenlist = ">=1.1.1" -multidict = ">=4.5,<7.0" -propcache = ">=0.2.0" -yarl = ">=1.17.0,<2.0" - -[package.extras] -speedups = ["Brotli", "aiodns (>=3.2.0)", "brotlicffi"] - -[[package]] -name = "aiosignal" -version = "1.3.1" -description = "aiosignal: a list of registered asynchronous callbacks" -optional = false -python-versions = ">=3.7" -files = [ - {file = "aiosignal-1.3.1-py3-none-any.whl", hash = "sha256:f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17"}, - {file = "aiosignal-1.3.1.tar.gz", hash = "sha256:54cd96e15e1649b75d6c87526a6ff0b6c1b0dd3459f43d9ca11d48c339b68cfc"}, -] - -[package.dependencies] -frozenlist = ">=1.1.0" - [[package]] name = "annotated-types" version = "0.7.0" @@ -176,119 +12,46 @@ files = [ ] [[package]] -name = "anyio" -version = "4.7.0" -description = "High level compatibility layer for multiple asynchronous event loop implementations" -optional = false -python-versions = ">=3.9" -files = [ - {file = "anyio-4.7.0-py3-none-any.whl", hash = "sha256:ea60c3723ab42ba6fff7e8ccb0488c898ec538ff4df1f1d5e642c3601d07e352"}, - {file = "anyio-4.7.0.tar.gz", hash = "sha256:2f834749c602966b7d456a7567cafcb309f96482b5081d14ac93ccd457f9dd48"}, -] - -[package.dependencies] -idna = ">=2.8" -sniffio = ">=1.1" -typing_extensions = {version = ">=4.5", markers = "python_version < \"3.13\""} - -[package.extras] -doc = ["Sphinx (>=7.4,<8.0)", "packaging", "sphinx-autodoc-typehints (>=1.2.0)", "sphinx_rtd_theme"] -test = ["anyio[trio]", "coverage[toml] (>=7)", "exceptiongroup (>=1.2.0)", "hypothesis (>=4.0)", "psutil (>=5.9)", "pytest (>=7.0)", "pytest-mock (>=3.6.1)", "trustme", "truststore (>=0.9.1)", "uvloop (>=0.21)"] -trio = ["trio (>=0.26.1)"] - -[[package]] -name = "archgw-modelserver" -version = "0.1.6" +name = "archgw_modelserver" +version = "0.1.7" description = "A model server for serving models" optional = false -python-versions = ">=3.12" -files = [ - {file = "archgw_modelserver-0.1.6-py3-none-any.whl", hash = "sha256:18db20262a5da350034feb2be14212d9f171fd2ae59d3b44543d3c5dc65da93a"}, - {file = "archgw_modelserver-0.1.6.tar.gz", hash = "sha256:15845dd2306b469550e2c6c522d0c330d2a0738d1b3165745f1c7068743bc62a"}, -] - -[package.dependencies] -accelerate = "*" -dateparser = "*" -fastapi = "0.115.0" -httpx = "0.27.2" -onnx = "1.17.0" -onnxruntime = "1.19.2" -openai = "1.50.2" -opentelemetry-api = ">=1.28.0,<2.0.0" -opentelemetry-exporter-otlp = ">=1.28.0,<2.0.0" -opentelemetry-instrumentation-fastapi = ">=0.49b0,<0.50" -opentelemetry-sdk = ">=1.28.0,<2.0.0" -openvino = "2024.4.0" -optimum-intel = "*" -pandas = "*" -psutil = "6.0.0" -pytest = "*" -pytest-asyncio = "*" -pyyaml = "6.0.2" -sentence-transformers = "3.1.1" -tf-keras = "*" -torch = "2.4.1" -transformers = "*" -uvicorn = "0.31.0" - -[[package]] -name = "asgiref" -version = "3.8.1" -description = "ASGI specs, helper code, and adapters" -optional = false -python-versions = ">=3.8" -files = [ - {file = "asgiref-3.8.1-py3-none-any.whl", hash = "sha256:3e1e3ecc849832fe52ccf2cb6686b7a55f82bb1d6aee72a58826471390335e47"}, - {file = "asgiref-3.8.1.tar.gz", hash = "sha256:c343bd80a0bec947a9860adb4c432ffa7db769836c64238fc34bdc3fec84d590"}, -] - -[package.extras] -tests = ["mypy (>=0.800)", "pytest", "pytest-asyncio"] - -[[package]] -name = "astunparse" -version = "1.6.3" -description = "An AST unparser for Python" -optional = false python-versions = "*" -files = [ - {file = "astunparse-1.6.3-py2.py3-none-any.whl", hash = "sha256:c2652417f2c8b5bb325c885ae329bdf3f86424075c4fd1a128674bc6fba4b8e8"}, - {file = "astunparse-1.6.3.tar.gz", hash = "sha256:5ad93a8456f0d084c3456d059fd9a92cce667963232cbf763eac3bc5b7940872"}, -] +files = [] +develop = true -[package.dependencies] -six = ">=1.6.1,<2.0" -wheel = ">=0.23.0,<1.0" +[package.source] +type = "directory" +url = "../../model_server" [[package]] name = "attrs" -version = "24.2.0" +version = "24.3.0" description = "Classes Without Boilerplate" optional = false -python-versions = ">=3.7" +python-versions = ">=3.8" files = [ - {file = "attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2"}, - {file = "attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346"}, + {file = "attrs-24.3.0-py3-none-any.whl", hash = "sha256:ac96cd038792094f438ad1f6ff80837353805ac950cd2aa0e0625ef19850c308"}, + {file = "attrs-24.3.0.tar.gz", hash = "sha256:8f5c07333d543103541ba7be0e2ce16eeee8130cb0b3f9238ab904ce1e85baff"}, ] [package.extras] benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] -dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit-uv", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] [[package]] name = "certifi" -version = "2024.8.30" +version = "2024.12.14" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, - {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, + {file = "certifi-2024.12.14-py3-none-any.whl", hash = "sha256:1275f7a45be9464efc1173084eaa30f866fe2e47d389406136d332ed4967ec56"}, + {file = "certifi-2024.12.14.tar.gz", hash = "sha256:b650d30f370c2b724812bee08008be0c4163b163ddaec3f2546c1caf65f191db"}, ] [[package]] @@ -430,129 +193,6 @@ files = [ {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, ] -[[package]] -name = "coloredlogs" -version = "15.0.1" -description = "Colored terminal output for Python's logging module" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "coloredlogs-15.0.1-py2.py3-none-any.whl", hash = "sha256:612ee75c546f53e92e70049c9dbfcc18c935a2b9a53b66085ce9ef6a6e5c0934"}, - {file = "coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0"}, -] - -[package.dependencies] -humanfriendly = ">=9.1" - -[package.extras] -cron = ["capturer (>=2.4)"] - -[[package]] -name = "datasets" -version = "2.14.4" -description = "HuggingFace community-driven open-source library of datasets" -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "datasets-2.14.4-py3-none-any.whl", hash = "sha256:29336bd316a7d827ccd4da2236596279b20ca2ac78f64c04c9483da7cbc2459b"}, - {file = "datasets-2.14.4.tar.gz", hash = "sha256:ef29c2b5841de488cd343cfc26ab979bff77efa4d2285af51f1ad7db5c46a83b"}, -] - -[package.dependencies] -aiohttp = "*" -dill = ">=0.3.0,<0.3.8" -fsspec = {version = ">=2021.11.1", extras = ["http"]} -huggingface-hub = ">=0.14.0,<1.0.0" -multiprocess = "*" -numpy = ">=1.17" -packaging = "*" -pandas = "*" -pyarrow = ">=8.0.0" -pyyaml = ">=5.1" -requests = ">=2.19.0" -tqdm = ">=4.62.1" -xxhash = "*" - -[package.extras] -apache-beam = ["apache-beam (>=2.26.0,<2.44.0)"] -audio = ["librosa", "soundfile (>=0.12.1)"] -benchmarks = ["tensorflow (==2.12.0)", "torch (==2.0.1)", "transformers (==4.30.1)"] -dev = ["Pillow (>=6.2.1)", "absl-py", "apache-beam (>=2.26.0,<2.44.0)", "black (>=23.1,<24.0)", "elasticsearch (<8.0.0)", "faiss-cpu (>=1.6.4)", "joblib (<1.3.0)", "joblibspark", "librosa", "lz4", "py7zr", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "pyyaml (>=5.3.1)", "rarfile (>=4.0)", "ruff (>=0.0.241)", "s3fs", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "sqlalchemy (<2.0.0)", "tensorflow (>=2.2.0,!=2.6.0,!=2.6.1)", "tensorflow (>=2.3,!=2.6.0,!=2.6.1)", "tensorflow-macos", "tiktoken", "torch", "transformers", "zstandard"] -docs = ["s3fs", "tensorflow (>=2.2.0,!=2.6.0,!=2.6.1)", "tensorflow-macos", "torch", "transformers"] -jax = ["jax (>=0.2.8,!=0.3.2,<=0.3.25)", "jaxlib (>=0.1.65,<=0.3.25)"] -metrics-tests = ["Werkzeug (>=1.0.1)", "accelerate", "bert-score (>=0.3.6)", "jiwer", "langdetect", "mauve-text", "nltk", "requests-file (>=1.5.1)", "rouge-score", "sacrebleu", "sacremoses", "scikit-learn", "scipy", "sentencepiece", "seqeval", "six (>=1.15.0,<1.16.0)", "spacy (>=3.0.0)", "texttable (>=1.6.3)", "tldextract", "tldextract (>=3.1.0)", "toml (>=0.10.1)", "typer (<0.5.0)"] -quality = ["black (>=23.1,<24.0)", "pyyaml (>=5.3.1)", "ruff (>=0.0.241)"] -s3 = ["s3fs"] -tensorflow = ["tensorflow (>=2.2.0,!=2.6.0,!=2.6.1)", "tensorflow-macos"] -tensorflow-gpu = ["tensorflow-gpu (>=2.2.0,!=2.6.0,!=2.6.1)"] -tests = ["Pillow (>=6.2.1)", "absl-py", "apache-beam (>=2.26.0,<2.44.0)", "elasticsearch (<8.0.0)", "faiss-cpu (>=1.6.4)", "joblib (<1.3.0)", "joblibspark", "librosa", "lz4", "py7zr", "pyspark (>=3.4)", "pytest", "pytest-datadir", "pytest-xdist", "rarfile (>=4.0)", "s3fs (>=2021.11.1)", "soundfile (>=0.12.1)", "sqlalchemy (<2.0.0)", "tensorflow (>=2.3,!=2.6.0,!=2.6.1)", "tensorflow-macos", "tiktoken", "torch", "transformers", "zstandard"] -torch = ["torch"] -vision = ["Pillow (>=6.2.1)"] - -[[package]] -name = "dateparser" -version = "1.2.0" -description = "Date parsing library designed to parse dates from HTML pages" -optional = false -python-versions = ">=3.7" -files = [ - {file = "dateparser-1.2.0-py2.py3-none-any.whl", hash = "sha256:0b21ad96534e562920a0083e97fd45fa959882d4162acc358705144520a35830"}, - {file = "dateparser-1.2.0.tar.gz", hash = "sha256:7975b43a4222283e0ae15be7b4999d08c9a70e2d378ac87385b1ccf2cffbbb30"}, -] - -[package.dependencies] -python-dateutil = "*" -pytz = "*" -regex = "<2019.02.19 || >2019.02.19,<2021.8.27 || >2021.8.27" -tzlocal = "*" - -[package.extras] -calendars = ["convertdate", "hijri-converter"] -fasttext = ["fasttext"] -langdetect = ["langdetect"] - -[[package]] -name = "deprecated" -version = "1.2.15" -description = "Python @deprecated decorator to deprecate old python classes, functions or methods." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" -files = [ - {file = "Deprecated-1.2.15-py2.py3-none-any.whl", hash = "sha256:353bc4a8ac4bfc96800ddab349d89c25dec1079f65fd53acdcc1e0b975b21320"}, - {file = "deprecated-1.2.15.tar.gz", hash = "sha256:683e561a90de76239796e6b6feac66b99030d2dd3fcf61ef996330f14bbb9b0d"}, -] - -[package.dependencies] -wrapt = ">=1.10,<2" - -[package.extras] -dev = ["PyTest", "PyTest-Cov", "bump2version (<1)", "jinja2 (>=3.0.3,<3.1.0)", "setuptools", "sphinx (<2)", "tox"] - -[[package]] -name = "dill" -version = "0.3.7" -description = "serialize all of Python" -optional = false -python-versions = ">=3.7" -files = [ - {file = "dill-0.3.7-py3-none-any.whl", hash = "sha256:76b122c08ef4ce2eedcd4d1abd8e641114bfc6c2867f49f3c41facf65bf19f5e"}, - {file = "dill-0.3.7.tar.gz", hash = "sha256:cc1c8b182eb3013e24bd475ff2e9295af86c1a38eb1aff128dac8962a9ce3c03"}, -] - -[package.extras] -graph = ["objgraph (>=1.7.2)"] - -[[package]] -name = "distro" -version = "1.9.0" -description = "Distro - an OS platform information API" -optional = false -python-versions = ">=3.6" -files = [ - {file = "distro-1.9.0-py3-none-any.whl", hash = "sha256:7bffd925d65168f85027d8da9af6bddab658135b840670a223589bc0c8ef02b2"}, - {file = "distro-1.9.0.tar.gz", hash = "sha256:2fa77c6fd8940f116ee1d6b94a2f90b13b5ea8d019b98bc8bafdcabcdd9bdbed"}, -] - [[package]] name = "docker" version = "7.1.0" @@ -575,26 +215,6 @@ docs = ["myst-parser (==0.18.0)", "sphinx (==5.1.1)"] ssh = ["paramiko (>=2.4.3)"] websockets = ["websocket-client (>=1.3.0)"] -[[package]] -name = "fastapi" -version = "0.115.0" -description = "FastAPI framework, high performance, easy to learn, fast to code, ready for production" -optional = false -python-versions = ">=3.8" -files = [ - {file = "fastapi-0.115.0-py3-none-any.whl", hash = "sha256:17ea427674467486e997206a5ab25760f6b09e069f099b96f5b55a32fb6f1631"}, - {file = "fastapi-0.115.0.tar.gz", hash = "sha256:f93b4ca3529a8ebc6fc3fcf710e5efa8de3df9b41570958abf1d97d843138004"}, -] - -[package.dependencies] -pydantic = ">=1.7.4,<1.8 || >1.8,<1.8.1 || >1.8.1,<2.0.0 || >2.0.0,<2.0.1 || >2.0.1,<2.1.0 || >2.1.0,<3.0.0" -starlette = ">=0.37.2,<0.39.0" -typing-extensions = ">=4.8.0" - -[package.extras] -all = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.7)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] -standard = ["email-validator (>=2.0.0)", "fastapi-cli[standard] (>=0.0.5)", "httpx (>=0.23.0)", "jinja2 (>=2.11.2)", "python-multipart (>=0.0.7)", "uvicorn[standard] (>=0.12.0)"] - [[package]] name = "filelock" version = "3.16.1" @@ -611,118 +231,6 @@ docs = ["furo (>=2024.8.6)", "sphinx (>=8.0.2)", "sphinx-autodoc-typehints (>=2. testing = ["covdefaults (>=2.3)", "coverage (>=7.6.1)", "diff-cover (>=9.2)", "pytest (>=8.3.3)", "pytest-asyncio (>=0.24)", "pytest-cov (>=5)", "pytest-mock (>=3.14)", "pytest-timeout (>=2.3.1)", "virtualenv (>=20.26.4)"] typing = ["typing-extensions (>=4.12.2)"] -[[package]] -name = "flatbuffers" -version = "24.3.25" -description = "The FlatBuffers serialization format for Python" -optional = false -python-versions = "*" -files = [ - {file = "flatbuffers-24.3.25-py2.py3-none-any.whl", hash = "sha256:8dbdec58f935f3765e4f7f3cf635ac3a77f83568138d6a2311f524ec96364812"}, - {file = "flatbuffers-24.3.25.tar.gz", hash = "sha256:de2ec5b203f21441716617f38443e0a8ebf3d25bf0d9c0bb0ce68fa00ad546a4"}, -] - -[[package]] -name = "frozenlist" -version = "1.5.0" -description = "A list-like structure which implements collections.abc.MutableSequence" -optional = false -python-versions = ">=3.8" -files = [ - {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:5b6a66c18b5b9dd261ca98dffcb826a525334b2f29e7caa54e182255c5f6a65a"}, - {file = "frozenlist-1.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:d1b3eb7b05ea246510b43a7e53ed1653e55c2121019a97e60cad7efb881a97bb"}, - {file = "frozenlist-1.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:15538c0cbf0e4fa11d1e3a71f823524b0c46299aed6e10ebb4c2089abd8c3bec"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e79225373c317ff1e35f210dd5f1344ff31066ba8067c307ab60254cd3a78ad5"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9272fa73ca71266702c4c3e2d4a28553ea03418e591e377a03b8e3659d94fa76"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:498524025a5b8ba81695761d78c8dd7382ac0b052f34e66939c42df860b8ff17"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:92b5278ed9d50fe610185ecd23c55d8b307d75ca18e94c0e7de328089ac5dcba"}, - {file = "frozenlist-1.5.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f3c8c1dacd037df16e85227bac13cca58c30da836c6f936ba1df0c05d046d8d"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f2ac49a9bedb996086057b75bf93538240538c6d9b38e57c82d51f75a73409d2"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:e66cc454f97053b79c2ab09c17fbe3c825ea6b4de20baf1be28919460dd7877f"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:5a3ba5f9a0dfed20337d3e966dc359784c9f96503674c2faf015f7fe8e96798c"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:6321899477db90bdeb9299ac3627a6a53c7399c8cd58d25da094007402b039ab"}, - {file = "frozenlist-1.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:76e4753701248476e6286f2ef492af900ea67d9706a0155335a40ea21bf3b2f5"}, - {file = "frozenlist-1.5.0-cp310-cp310-win32.whl", hash = "sha256:977701c081c0241d0955c9586ffdd9ce44f7a7795df39b9151cd9a6fd0ce4cfb"}, - {file = "frozenlist-1.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:189f03b53e64144f90990d29a27ec4f7997d91ed3d01b51fa39d2dbe77540fd4"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:fd74520371c3c4175142d02a976aee0b4cb4a7cc912a60586ffd8d5929979b30"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2f3f7a0fbc219fb4455264cae4d9f01ad41ae6ee8524500f381de64ffaa077d5"}, - {file = "frozenlist-1.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f47c9c9028f55a04ac254346e92977bf0f166c483c74b4232bee19a6697e4778"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0996c66760924da6e88922756d99b47512a71cfd45215f3570bf1e0b694c206a"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a2fe128eb4edeabe11896cb6af88fca5346059f6c8d807e3b910069f39157869"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a8ea951bbb6cacd492e3948b8da8c502a3f814f5d20935aae74b5df2b19cf3d"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:de537c11e4aa01d37db0d403b57bd6f0546e71a82347a97c6a9f0dcc532b3a45"}, - {file = "frozenlist-1.5.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c2623347b933fcb9095841f1cc5d4ff0b278addd743e0e966cb3d460278840d"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:cee6798eaf8b1416ef6909b06f7dc04b60755206bddc599f52232606e18179d3"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:f5f9da7f5dbc00a604fe74aa02ae7c98bcede8a3b8b9666f9f86fc13993bc71a"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:90646abbc7a5d5c7c19461d2e3eeb76eb0b204919e6ece342feb6032c9325ae9"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bdac3c7d9b705d253b2ce370fde941836a5f8b3c5c2b8fd70940a3ea3af7f4f2"}, - {file = "frozenlist-1.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:03d33c2ddbc1816237a67f66336616416e2bbb6beb306e5f890f2eb22b959cdf"}, - {file = "frozenlist-1.5.0-cp311-cp311-win32.whl", hash = "sha256:237f6b23ee0f44066219dae14c70ae38a63f0440ce6750f868ee08775073f942"}, - {file = "frozenlist-1.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:0cc974cc93d32c42e7b0f6cf242a6bd941c57c61b618e78b6c0a96cb72788c1d"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:31115ba75889723431aa9a4e77d5f398f5cf976eea3bdf61749731f62d4a4a21"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7437601c4d89d070eac8323f121fcf25f88674627505334654fd027b091db09d"}, - {file = "frozenlist-1.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7948140d9f8ece1745be806f2bfdf390127cf1a763b925c4a805c603df5e697e"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:feeb64bc9bcc6b45c6311c9e9b99406660a9c05ca8a5b30d14a78555088b0b3a"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:683173d371daad49cffb8309779e886e59c2f369430ad28fe715f66d08d4ab1a"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7d57d8f702221405a9d9b40f9da8ac2e4a1a8b5285aac6100f3393675f0a85ee"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:30c72000fbcc35b129cb09956836c7d7abf78ab5416595e4857d1cae8d6251a6"}, - {file = "frozenlist-1.5.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:000a77d6034fbad9b6bb880f7ec073027908f1b40254b5d6f26210d2dab1240e"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5d7f5a50342475962eb18b740f3beecc685a15b52c91f7d975257e13e029eca9"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:87f724d055eb4785d9be84e9ebf0f24e392ddfad00b3fe036e43f489fafc9039"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:6e9080bb2fb195a046e5177f10d9d82b8a204c0736a97a153c2466127de87784"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:9b93d7aaa36c966fa42efcaf716e6b3900438632a626fb09c049f6a2f09fc631"}, - {file = "frozenlist-1.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:52ef692a4bc60a6dd57f507429636c2af8b6046db8b31b18dac02cbc8f507f7f"}, - {file = "frozenlist-1.5.0-cp312-cp312-win32.whl", hash = "sha256:29d94c256679247b33a3dc96cce0f93cbc69c23bf75ff715919332fdbb6a32b8"}, - {file = "frozenlist-1.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:7a1a048f9215c90973402e26c01d1cff8a209e1f1b53f72b95c13db61b00f953"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd47a5181ce5fcb463b5d9e17ecfdb02b678cca31280639255ce9d0e5aa67af0"}, - {file = "frozenlist-1.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1431d60b36d15cda188ea222033eec8e0eab488f39a272461f2e6d9e1a8e63c2"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6482a5851f5d72767fbd0e507e80737f9c8646ae7fd303def99bfe813f76cf7f"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:44c49271a937625619e862baacbd037a7ef86dd1ee215afc298a417ff3270608"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:12f78f98c2f1c2429d42e6a485f433722b0061d5c0b0139efa64f396efb5886b"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce3aa154c452d2467487765e3adc730a8c153af77ad84096bc19ce19a2400840"}, - {file = "frozenlist-1.5.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9b7dc0c4338e6b8b091e8faf0db3168a37101943e687f373dce00959583f7439"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:45e0896250900b5aa25180f9aec243e84e92ac84bd4a74d9ad4138ef3f5c97de"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:561eb1c9579d495fddb6da8959fd2a1fca2c6d060d4113f5844b433fc02f2641"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:df6e2f325bfee1f49f81aaac97d2aa757c7646534a06f8f577ce184afe2f0a9e"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:140228863501b44b809fb39ec56b5d4071f4d0aa6d216c19cbb08b8c5a7eadb9"}, - {file = "frozenlist-1.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:7707a25d6a77f5d27ea7dc7d1fc608aa0a478193823f88511ef5e6b8a48f9d03"}, - {file = "frozenlist-1.5.0-cp313-cp313-win32.whl", hash = "sha256:31a9ac2b38ab9b5a8933b693db4939764ad3f299fcaa931a3e605bc3460e693c"}, - {file = "frozenlist-1.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:11aabdd62b8b9c4b84081a3c246506d1cddd2dd93ff0ad53ede5defec7886b28"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:dd94994fc91a6177bfaafd7d9fd951bc8689b0a98168aa26b5f543868548d3ca"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:2d0da8bbec082bf6bf18345b180958775363588678f64998c2b7609e34719b10"}, - {file = "frozenlist-1.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:73f2e31ea8dd7df61a359b731716018c2be196e5bb3b74ddba107f694fbd7604"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:828afae9f17e6de596825cf4228ff28fbdf6065974e5ac1410cecc22f699d2b3"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f1577515d35ed5649d52ab4319db757bb881ce3b2b796d7283e6634d99ace307"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2150cc6305a2c2ab33299453e2968611dacb970d2283a14955923062c8d00b10"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a72b7a6e3cd2725eff67cd64c8f13335ee18fc3c7befc05aed043d24c7b9ccb9"}, - {file = "frozenlist-1.5.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c16d2fa63e0800723139137d667e1056bee1a1cf7965153d2d104b62855e9b99"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:17dcc32fc7bda7ce5875435003220a457bcfa34ab7924a49a1c19f55b6ee185c"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:97160e245ea33d8609cd2b8fd997c850b56db147a304a262abc2b3be021a9171"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f1e6540b7fa044eee0bb5111ada694cf3dc15f2b0347ca125ee9ca984d5e9e6e"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:91d6c171862df0a6c61479d9724f22efb6109111017c87567cfeb7b5d1449fdf"}, - {file = "frozenlist-1.5.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:c1fac3e2ace2eb1052e9f7c7db480818371134410e1f5c55d65e8f3ac6d1407e"}, - {file = "frozenlist-1.5.0-cp38-cp38-win32.whl", hash = "sha256:b97f7b575ab4a8af9b7bc1d2ef7f29d3afee2226bd03ca3875c16451ad5a7723"}, - {file = "frozenlist-1.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:374ca2dabdccad8e2a76d40b1d037f5bd16824933bf7bcea3e59c891fd4a0923"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:9bbcdfaf4af7ce002694a4e10a0159d5a8d20056a12b05b45cea944a4953f972"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:1893f948bf6681733aaccf36c5232c231e3b5166d607c5fa77773611df6dc336"}, - {file = "frozenlist-1.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2b5e23253bb709ef57a8e95e6ae48daa9ac5f265637529e4ce6b003a37b2621f"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f253985bb515ecd89629db13cb58d702035ecd8cfbca7d7a7e29a0e6d39af5f"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:04a5c6babd5e8fb7d3c871dc8b321166b80e41b637c31a995ed844a6139942b6"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9fe0f1c29ba24ba6ff6abf688cb0b7cf1efab6b6aa6adc55441773c252f7411"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:226d72559fa19babe2ccd920273e767c96a49b9d3d38badd7c91a0fdeda8ea08"}, - {file = "frozenlist-1.5.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:15b731db116ab3aedec558573c1a5eec78822b32292fe4f2f0345b7f697745c2"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:366d8f93e3edfe5a918c874702f78faac300209a4d5bf38352b2c1bdc07a766d"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:1b96af8c582b94d381a1c1f51ffaedeb77c821c690ea5f01da3d70a487dd0a9b"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:c03eff4a41bd4e38415cbed054bbaff4a075b093e2394b6915dca34a40d1e38b"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:50cf5e7ee9b98f22bdecbabf3800ae78ddcc26e4a435515fc72d97903e8488e0"}, - {file = "frozenlist-1.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1e76bfbc72353269c44e0bc2cfe171900fbf7f722ad74c9a7b638052afe6a00c"}, - {file = "frozenlist-1.5.0-cp39-cp39-win32.whl", hash = "sha256:666534d15ba8f0fda3f53969117383d5dc021266b3c1a42c9ec4855e4b58b9d3"}, - {file = "frozenlist-1.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:5c28f4b5dbef8a0d8aad0d4de24d1e9e981728628afaf4ea0792f5d0939372f0"}, - {file = "frozenlist-1.5.0-py3-none-any.whl", hash = "sha256:d994863bba198a4a518b467bb971c56e1db3f180a25c6cf7bb1949c267f748c3"}, - {file = "frozenlist-1.5.0.tar.gz", hash = "sha256:81d5af29e61b9c8348e876d442253723928dce6433e0e76cd925cd83f1b4b817"}, -] - [[package]] name = "fsspec" version = "2024.10.0" @@ -734,9 +242,6 @@ files = [ {file = "fsspec-2024.10.0.tar.gz", hash = "sha256:eda2d8a4116d4f2429db8550f2457da57279247dd930bb12f821b58391359493"}, ] -[package.dependencies] -aiohttp = {version = "<4.0.0a0 || >4.0.0a0,<4.0.0a1 || >4.0.0a1", optional = true, markers = "extra == \"http\""} - [package.extras] abfs = ["adlfs"] adl = ["adlfs"] @@ -765,211 +270,6 @@ test-downstream = ["aiobotocore (>=2.5.4,<3.0.0)", "dask-expr", "dask[dataframe, test-full = ["adlfs", "aiohttp (!=4.0.0a0,!=4.0.0a1)", "cloudpickle", "dask", "distributed", "dropbox", "dropboxdrivefs", "fastparquet", "fusepy", "gcsfs", "jinja2", "kerchunk", "libarchive-c", "lz4", "notebook", "numpy", "ocifs", "pandas", "panel", "paramiko", "pyarrow", "pyarrow (>=1)", "pyftpdlib", "pygit2", "pytest", "pytest-asyncio (!=0.22.0)", "pytest-benchmark", "pytest-cov", "pytest-mock", "pytest-recording", "pytest-rerunfailures", "python-snappy", "requests", "smbprotocol", "tqdm", "urllib3", "zarr", "zstandard"] tqdm = ["tqdm"] -[[package]] -name = "gast" -version = "0.6.0" -description = "Python AST that abstracts the underlying Python version" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7" -files = [ - {file = "gast-0.6.0-py3-none-any.whl", hash = "sha256:52b182313f7330389f72b069ba00f174cfe2a06411099547288839c6cbafbd54"}, - {file = "gast-0.6.0.tar.gz", hash = "sha256:88fc5300d32c7ac6ca7b515310862f71e6fdf2c029bbec7c66c0f5dd47b6b1fb"}, -] - -[[package]] -name = "google-pasta" -version = "0.2.0" -description = "pasta is an AST-based Python refactoring library" -optional = false -python-versions = "*" -files = [ - {file = "google-pasta-0.2.0.tar.gz", hash = "sha256:c9f2c8dfc8f96d0d5808299920721be30c9eec37f2389f28904f454565c8a16e"}, - {file = "google_pasta-0.2.0-py2-none-any.whl", hash = "sha256:4612951da876b1a10fe3960d7226f0c7682cf901e16ac06e473b267a5afa8954"}, - {file = "google_pasta-0.2.0-py3-none-any.whl", hash = "sha256:b32482794a366b5366a32c92a9a9201b107821889935a02b3e51f6b432ea84ed"}, -] - -[package.dependencies] -six = "*" - -[[package]] -name = "googleapis-common-protos" -version = "1.66.0" -description = "Common protobufs used in Google APIs" -optional = false -python-versions = ">=3.7" -files = [ - {file = "googleapis_common_protos-1.66.0-py2.py3-none-any.whl", hash = "sha256:d7abcd75fabb2e0ec9f74466401f6c119a0b498e27370e9be4c94cb7e382b8ed"}, - {file = "googleapis_common_protos-1.66.0.tar.gz", hash = "sha256:c3e7b33d15fdca5374cc0a7346dd92ffa847425cc4ea941d970f13680052ec8c"}, -] - -[package.dependencies] -protobuf = ">=3.20.2,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0.dev0" - -[package.extras] -grpc = ["grpcio (>=1.44.0,<2.0.0.dev0)"] - -[[package]] -name = "grpcio" -version = "1.68.1" -description = "HTTP/2-based RPC framework" -optional = false -python-versions = ">=3.8" -files = [ - {file = "grpcio-1.68.1-cp310-cp310-linux_armv7l.whl", hash = "sha256:d35740e3f45f60f3c37b1e6f2f4702c23867b9ce21c6410254c9c682237da68d"}, - {file = "grpcio-1.68.1-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:d99abcd61760ebb34bdff37e5a3ba333c5cc09feda8c1ad42547bea0416ada78"}, - {file = "grpcio-1.68.1-cp310-cp310-manylinux_2_17_aarch64.whl", hash = "sha256:f8261fa2a5f679abeb2a0a93ad056d765cdca1c47745eda3f2d87f874ff4b8c9"}, - {file = "grpcio-1.68.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0feb02205a27caca128627bd1df4ee7212db051019a9afa76f4bb6a1a80ca95e"}, - {file = "grpcio-1.68.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:919d7f18f63bcad3a0f81146188e90274fde800a94e35d42ffe9eadf6a9a6330"}, - {file = "grpcio-1.68.1-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:963cc8d7d79b12c56008aabd8b457f400952dbea8997dd185f155e2f228db079"}, - {file = "grpcio-1.68.1-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ccf2ebd2de2d6661e2520dae293298a3803a98ebfc099275f113ce1f6c2a80f1"}, - {file = "grpcio-1.68.1-cp310-cp310-win32.whl", hash = "sha256:2cc1fd04af8399971bcd4f43bd98c22d01029ea2e56e69c34daf2bf8470e47f5"}, - {file = "grpcio-1.68.1-cp310-cp310-win_amd64.whl", hash = "sha256:ee2e743e51cb964b4975de572aa8fb95b633f496f9fcb5e257893df3be854746"}, - {file = "grpcio-1.68.1-cp311-cp311-linux_armv7l.whl", hash = "sha256:55857c71641064f01ff0541a1776bfe04a59db5558e82897d35a7793e525774c"}, - {file = "grpcio-1.68.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:4b177f5547f1b995826ef529d2eef89cca2f830dd8b2c99ffd5fde4da734ba73"}, - {file = "grpcio-1.68.1-cp311-cp311-manylinux_2_17_aarch64.whl", hash = "sha256:3522c77d7e6606d6665ec8d50e867f13f946a4e00c7df46768f1c85089eae515"}, - {file = "grpcio-1.68.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9d1fae6bbf0816415b81db1e82fb3bf56f7857273c84dcbe68cbe046e58e1ccd"}, - {file = "grpcio-1.68.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:298ee7f80e26f9483f0b6f94cc0a046caf54400a11b644713bb5b3d8eb387600"}, - {file = "grpcio-1.68.1-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:cbb5780e2e740b6b4f2d208e90453591036ff80c02cc605fea1af8e6fc6b1bbe"}, - {file = "grpcio-1.68.1-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:ddda1aa22495d8acd9dfbafff2866438d12faec4d024ebc2e656784d96328ad0"}, - {file = "grpcio-1.68.1-cp311-cp311-win32.whl", hash = "sha256:b33bd114fa5a83f03ec6b7b262ef9f5cac549d4126f1dc702078767b10c46ed9"}, - {file = "grpcio-1.68.1-cp311-cp311-win_amd64.whl", hash = "sha256:7f20ebec257af55694d8f993e162ddf0d36bd82d4e57f74b31c67b3c6d63d8b2"}, - {file = "grpcio-1.68.1-cp312-cp312-linux_armv7l.whl", hash = "sha256:8829924fffb25386995a31998ccbbeaa7367223e647e0122043dfc485a87c666"}, - {file = "grpcio-1.68.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:3aed6544e4d523cd6b3119b0916cef3d15ef2da51e088211e4d1eb91a6c7f4f1"}, - {file = "grpcio-1.68.1-cp312-cp312-manylinux_2_17_aarch64.whl", hash = "sha256:4efac5481c696d5cb124ff1c119a78bddbfdd13fc499e3bc0ca81e95fc573684"}, - {file = "grpcio-1.68.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ab2d912ca39c51f46baf2a0d92aa265aa96b2443266fc50d234fa88bf877d8e"}, - {file = "grpcio-1.68.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:95c87ce2a97434dffe7327a4071839ab8e8bffd0054cc74cbe971fba98aedd60"}, - {file = "grpcio-1.68.1-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:e4842e4872ae4ae0f5497bf60a0498fa778c192cc7a9e87877abd2814aca9475"}, - {file = "grpcio-1.68.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:255b1635b0ed81e9f91da4fcc8d43b7ea5520090b9a9ad9340d147066d1d3613"}, - {file = "grpcio-1.68.1-cp312-cp312-win32.whl", hash = "sha256:7dfc914cc31c906297b30463dde0b9be48e36939575eaf2a0a22a8096e69afe5"}, - {file = "grpcio-1.68.1-cp312-cp312-win_amd64.whl", hash = "sha256:a0c8ddabef9c8f41617f213e527254c41e8b96ea9d387c632af878d05db9229c"}, - {file = "grpcio-1.68.1-cp313-cp313-linux_armv7l.whl", hash = "sha256:a47faedc9ea2e7a3b6569795c040aae5895a19dde0c728a48d3c5d7995fda385"}, - {file = "grpcio-1.68.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:390eee4225a661c5cd133c09f5da1ee3c84498dc265fd292a6912b65c421c78c"}, - {file = "grpcio-1.68.1-cp313-cp313-manylinux_2_17_aarch64.whl", hash = "sha256:66a24f3d45c33550703f0abb8b656515b0ab777970fa275693a2f6dc8e35f1c1"}, - {file = "grpcio-1.68.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c08079b4934b0bf0a8847f42c197b1d12cba6495a3d43febd7e99ecd1cdc8d54"}, - {file = "grpcio-1.68.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8720c25cd9ac25dd04ee02b69256d0ce35bf8a0f29e20577427355272230965a"}, - {file = "grpcio-1.68.1-cp313-cp313-musllinux_1_1_i686.whl", hash = "sha256:04cfd68bf4f38f5bb959ee2361a7546916bd9a50f78617a346b3aeb2b42e2161"}, - {file = "grpcio-1.68.1-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:c28848761a6520c5c6071d2904a18d339a796ebe6b800adc8b3f474c5ce3c3ad"}, - {file = "grpcio-1.68.1-cp313-cp313-win32.whl", hash = "sha256:77d65165fc35cff6e954e7fd4229e05ec76102d4406d4576528d3a3635fc6172"}, - {file = "grpcio-1.68.1-cp313-cp313-win_amd64.whl", hash = "sha256:a8040f85dcb9830d8bbb033ae66d272614cec6faceee88d37a88a9bd1a7a704e"}, - {file = "grpcio-1.68.1-cp38-cp38-linux_armv7l.whl", hash = "sha256:eeb38ff04ab6e5756a2aef6ad8d94e89bb4a51ef96e20f45c44ba190fa0bcaad"}, - {file = "grpcio-1.68.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:8a3869a6661ec8f81d93f4597da50336718bde9eb13267a699ac7e0a1d6d0bea"}, - {file = "grpcio-1.68.1-cp38-cp38-manylinux_2_17_aarch64.whl", hash = "sha256:2c4cec6177bf325eb6faa6bd834d2ff6aa8bb3b29012cceb4937b86f8b74323c"}, - {file = "grpcio-1.68.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:12941d533f3cd45d46f202e3667be8ebf6bcb3573629c7ec12c3e211d99cfccf"}, - {file = "grpcio-1.68.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:80af6f1e69c5e68a2be529990684abdd31ed6622e988bf18850075c81bb1ad6e"}, - {file = "grpcio-1.68.1-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:e8dbe3e00771bfe3d04feed8210fc6617006d06d9a2679b74605b9fed3e8362c"}, - {file = "grpcio-1.68.1-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:83bbf5807dc3ee94ce1de2dfe8a356e1d74101e4b9d7aa8c720cc4818a34aded"}, - {file = "grpcio-1.68.1-cp38-cp38-win32.whl", hash = "sha256:8cb620037a2fd9eeee97b4531880e439ebfcd6d7d78f2e7dcc3726428ab5ef63"}, - {file = "grpcio-1.68.1-cp38-cp38-win_amd64.whl", hash = "sha256:52fbf85aa71263380d330f4fce9f013c0798242e31ede05fcee7fbe40ccfc20d"}, - {file = "grpcio-1.68.1-cp39-cp39-linux_armv7l.whl", hash = "sha256:cb400138e73969eb5e0535d1d06cae6a6f7a15f2cc74add320e2130b8179211a"}, - {file = "grpcio-1.68.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:a1b988b40f2fd9de5c820f3a701a43339d8dcf2cb2f1ca137e2c02671cc83ac1"}, - {file = "grpcio-1.68.1-cp39-cp39-manylinux_2_17_aarch64.whl", hash = "sha256:96f473cdacfdd506008a5d7579c9f6a7ff245a9ade92c3c0265eb76cc591914f"}, - {file = "grpcio-1.68.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:37ea3be171f3cf3e7b7e412a98b77685eba9d4fd67421f4a34686a63a65d99f9"}, - {file = "grpcio-1.68.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3ceb56c4285754e33bb3c2fa777d055e96e6932351a3082ce3559be47f8024f0"}, - {file = "grpcio-1.68.1-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:dffd29a2961f3263a16d73945b57cd44a8fd0b235740cb14056f0612329b345e"}, - {file = "grpcio-1.68.1-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:025f790c056815b3bf53da850dd70ebb849fd755a4b1ac822cb65cd631e37d43"}, - {file = "grpcio-1.68.1-cp39-cp39-win32.whl", hash = "sha256:1098f03dedc3b9810810568060dea4ac0822b4062f537b0f53aa015269be0a76"}, - {file = "grpcio-1.68.1-cp39-cp39-win_amd64.whl", hash = "sha256:334ab917792904245a028f10e803fcd5b6f36a7b2173a820c0b5b076555825e1"}, - {file = "grpcio-1.68.1.tar.gz", hash = "sha256:44a8502dd5de653ae6a73e2de50a401d84184f0331d0ac3daeb044e66d5c5054"}, -] - -[package.extras] -protobuf = ["grpcio-tools (>=1.68.1)"] - -[[package]] -name = "h11" -version = "0.14.0" -description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" -optional = false -python-versions = ">=3.7" -files = [ - {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, - {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, -] - -[[package]] -name = "h5py" -version = "3.12.1" -description = "Read and write HDF5 files from Python" -optional = false -python-versions = ">=3.9" -files = [ - {file = "h5py-3.12.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:2f0f1a382cbf494679c07b4371f90c70391dedb027d517ac94fa2c05299dacda"}, - {file = "h5py-3.12.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:cb65f619dfbdd15e662423e8d257780f9a66677eae5b4b3fc9dca70b5fd2d2a3"}, - {file = "h5py-3.12.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3b15d8dbd912c97541312c0e07438864d27dbca857c5ad634de68110c6beb1c2"}, - {file = "h5py-3.12.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:59685fe40d8c1fbbee088c88cd4da415a2f8bee5c270337dc5a1c4aa634e3307"}, - {file = "h5py-3.12.1-cp310-cp310-win_amd64.whl", hash = "sha256:577d618d6b6dea3da07d13cc903ef9634cde5596b13e832476dd861aaf651f3e"}, - {file = "h5py-3.12.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:ccd9006d92232727d23f784795191bfd02294a4f2ba68708825cb1da39511a93"}, - {file = "h5py-3.12.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ad8a76557880aed5234cfe7279805f4ab5ce16b17954606cca90d578d3e713ef"}, - {file = "h5py-3.12.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1473348139b885393125126258ae2d70753ef7e9cec8e7848434f385ae72069e"}, - {file = "h5py-3.12.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:018a4597f35092ae3fb28ee851fdc756d2b88c96336b8480e124ce1ac6fb9166"}, - {file = "h5py-3.12.1-cp311-cp311-win_amd64.whl", hash = "sha256:3fdf95092d60e8130ba6ae0ef7a9bd4ade8edbe3569c13ebbaf39baefffc5ba4"}, - {file = "h5py-3.12.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:06a903a4e4e9e3ebbc8b548959c3c2552ca2d70dac14fcfa650d9261c66939ed"}, - {file = "h5py-3.12.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7b3b8f3b48717e46c6a790e3128d39c61ab595ae0a7237f06dfad6a3b51d5351"}, - {file = "h5py-3.12.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:050a4f2c9126054515169c49cb900949814987f0c7ae74c341b0c9f9b5056834"}, - {file = "h5py-3.12.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5c4b41d1019322a5afc5082864dfd6359f8935ecd37c11ac0029be78c5d112c9"}, - {file = "h5py-3.12.1-cp312-cp312-win_amd64.whl", hash = "sha256:e4d51919110a030913201422fb07987db4338eba5ec8c5a15d6fab8e03d443fc"}, - {file = "h5py-3.12.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:513171e90ed92236fc2ca363ce7a2fc6f2827375efcbb0cc7fbdd7fe11fecafc"}, - {file = "h5py-3.12.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:59400f88343b79655a242068a9c900001a34b63e3afb040bd7cdf717e440f653"}, - {file = "h5py-3.12.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3e465aee0ec353949f0f46bf6c6f9790a2006af896cee7c178a8c3e5090aa32"}, - {file = "h5py-3.12.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ba51c0c5e029bb5420a343586ff79d56e7455d496d18a30309616fdbeed1068f"}, - {file = "h5py-3.12.1-cp313-cp313-win_amd64.whl", hash = "sha256:52ab036c6c97055b85b2a242cb540ff9590bacfda0c03dd0cf0661b311f522f8"}, - {file = "h5py-3.12.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:d2b8dd64f127d8b324f5d2cd1c0fd6f68af69084e9e47d27efeb9e28e685af3e"}, - {file = "h5py-3.12.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:4532c7e97fbef3d029735db8b6f5bf01222d9ece41e309b20d63cfaae2fb5c4d"}, - {file = "h5py-3.12.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6fdf6d7936fa824acfa27305fe2d9f39968e539d831c5bae0e0d83ed521ad1ac"}, - {file = "h5py-3.12.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:84342bffd1f82d4f036433e7039e241a243531a1d3acd7341b35ae58cdab05bf"}, - {file = "h5py-3.12.1-cp39-cp39-win_amd64.whl", hash = "sha256:62be1fc0ef195891949b2c627ec06bc8e837ff62d5b911b6e42e38e0f20a897d"}, - {file = "h5py-3.12.1.tar.gz", hash = "sha256:326d70b53d31baa61f00b8aa5f95c2fcb9621a3ee8365d770c551a13dbbcbfdf"}, -] - -[package.dependencies] -numpy = ">=1.19.3" - -[[package]] -name = "httpcore" -version = "1.0.7" -description = "A minimal low-level HTTP client." -optional = false -python-versions = ">=3.8" -files = [ - {file = "httpcore-1.0.7-py3-none-any.whl", hash = "sha256:a3fff8f43dc260d5bd363d9f9cf1830fa3a458b332856f34282de498ed420edd"}, - {file = "httpcore-1.0.7.tar.gz", hash = "sha256:8551cb62a169ec7162ac7be8d4817d561f60e08eaa485234898414bb5a8a0b4c"}, -] - -[package.dependencies] -certifi = "*" -h11 = ">=0.13,<0.15" - -[package.extras] -asyncio = ["anyio (>=4.0,<5.0)"] -http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] -trio = ["trio (>=0.22.0,<1.0)"] - -[[package]] -name = "httpx" -version = "0.27.2" -description = "The next generation HTTP client." -optional = false -python-versions = ">=3.8" -files = [ - {file = "httpx-0.27.2-py3-none-any.whl", hash = "sha256:7bb2708e112d8fdd7829cd4243970f0c223274051cb35ee80c03301ee29a3df0"}, - {file = "httpx-0.27.2.tar.gz", hash = "sha256:f7c2be1d2f3c3c3160d441802406b206c2b76f5947b11115e6df10c6c65e66c2"}, -] - -[package.dependencies] -anyio = "*" -certifi = "*" -httpcore = "==1.*" -idna = "*" -sniffio = "*" - -[package.extras] -brotli = ["brotli", "brotlicffi"] -cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] -http2 = ["h2 (>=3,<5)"] -socks = ["socksio (==1.*)"] -zstd = ["zstandard (>=0.18.0)"] - [[package]] name = "huggingface-hub" version = "0.26.5" @@ -1004,20 +304,6 @@ testing = ["InquirerPy (==0.3.4)", "Jinja2", "Pillow", "aiohttp", "fastapi", "gr torch = ["safetensors[torch]", "torch"] typing = ["types-PyYAML", "types-requests", "types-simplejson", "types-toml", "types-tqdm", "types-urllib3", "typing-extensions (>=4.8.0)"] -[[package]] -name = "humanfriendly" -version = "10.0" -description = "Human friendly output for text interfaces using Python" -optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" -files = [ - {file = "humanfriendly-10.0-py2.py3-none-any.whl", hash = "sha256:1697e1a8a8f550fd43c2865cd84542fc175a61dcb779b6fee18cf6b6ccba1477"}, - {file = "humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc"}, -] - -[package.dependencies] -pyreadline3 = {version = "*", markers = "sys_platform == \"win32\" and python_version >= \"3.8\""} - [[package]] name = "idna" version = "3.10" @@ -1032,40 +318,6 @@ files = [ [package.extras] all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] -[[package]] -name = "importlib-metadata" -version = "8.5.0" -description = "Read metadata from Python packages" -optional = false -python-versions = ">=3.8" -files = [ - {file = "importlib_metadata-8.5.0-py3-none-any.whl", hash = "sha256:45e54197d28b7a7f1559e60b95e7c567032b602131fbd588f1497f47880aa68b"}, - {file = "importlib_metadata-8.5.0.tar.gz", hash = "sha256:71522656f0abace1d072b9e5481a48f07c138e00f079c38c8f883823f9c26bd7"}, -] - -[package.dependencies] -zipp = ">=3.20" - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -perf = ["ipython"] -test = ["flufl.flake8", "importlib-resources (>=1.3)", "jaraco.test (>=5.4)", "packaging", "pyfakefs", "pytest (>=6,!=8.1.*)", "pytest-perf (>=0.9.2)"] -type = ["pytest-mypy"] - -[[package]] -name = "iniconfig" -version = "2.0.0" -description = "brain-dead simple config-ini parsing" -optional = false -python-versions = ">=3.7" -files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, -] - [[package]] name = "jinja2" version = "3.1.4" @@ -1083,101 +335,6 @@ MarkupSafe = ">=2.0" [package.extras] i18n = ["Babel (>=2.7)"] -[[package]] -name = "jiter" -version = "0.8.0" -description = "Fast iterable JSON parser." -optional = false -python-versions = ">=3.8" -files = [ - {file = "jiter-0.8.0-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:dee4eeb293ffcd2c3b31ebab684dbf7f7b71fe198f8eddcdf3a042cc6e10205a"}, - {file = "jiter-0.8.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:aad1e6e9b01cf0304dcee14db03e92e0073287a6297caf5caf2e9dbfea16a924"}, - {file = "jiter-0.8.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:504099fb7acdbe763e10690d560a25d4aee03d918d6a063f3a761d8a09fb833f"}, - {file = "jiter-0.8.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:2373487caad7fe39581f588ab5c9262fc1ade078d448626fec93f4ffba528858"}, - {file = "jiter-0.8.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c341ecc3f9bccde952898b0c97c24f75b84b56a7e2f8bbc7c8e38cab0875a027"}, - {file = "jiter-0.8.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0e48e7a336529b9419d299b70c358d4ebf99b8f4b847ed3f1000ec9f320e8c0c"}, - {file = "jiter-0.8.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5ee157a8afd2943be690db679f82fafb8d347a8342e8b9c34863de30c538d55"}, - {file = "jiter-0.8.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d7dceae3549b80087f913aad4acc2a7c1e0ab7cb983effd78bdc9c41cabdcf18"}, - {file = "jiter-0.8.0-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e29e9ecce53d396772590438214cac4ab89776f5e60bd30601f1050b34464019"}, - {file = "jiter-0.8.0-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fa1782f22d5f92c620153133f35a9a395d3f3823374bceddd3e7032e2fdfa0b1"}, - {file = "jiter-0.8.0-cp310-none-win32.whl", hash = "sha256:f754ef13b4e4f67a3bf59fe974ef4342523801c48bf422f720bd37a02a360584"}, - {file = "jiter-0.8.0-cp310-none-win_amd64.whl", hash = "sha256:796f750b65f5d605f5e7acaccc6b051675e60c41d7ac3eab40dbd7b5b81a290f"}, - {file = "jiter-0.8.0-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:f6f4e645efd96b4690b9b6091dbd4e0fa2885ba5c57a0305c1916b75b4f30ff6"}, - {file = "jiter-0.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f61cf6d93c1ade9b8245c9f14b7900feadb0b7899dbe4aa8de268b705647df81"}, - {file = "jiter-0.8.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0396bc5cb1309c6dab085e70bb3913cdd92218315e47b44afe9eace68ee8adaa"}, - {file = "jiter-0.8.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:62d0e42ec5dc772bd8554a304358220be5d97d721c4648b23f3a9c01ccc2cb26"}, - {file = "jiter-0.8.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ec4b711989860705733fc59fb8c41b2def97041cea656b37cf6c8ea8dee1c3f4"}, - {file = "jiter-0.8.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:859cc35bf304ab066d88f10a44a3251a9cd057fb11ec23e00be22206db878f4f"}, - {file = "jiter-0.8.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5000195921aa293b39b9b5bc959d7fa658e7f18f938c0e52732da8e3cc70a278"}, - {file = "jiter-0.8.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:36050284c0abde57aba34964d3920f3d6228211b65df7187059bb7c7f143759a"}, - {file = "jiter-0.8.0-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:a88f608e050cfe45c48d771e86ecdbf5258314c883c986d4217cc79e1fb5f689"}, - {file = "jiter-0.8.0-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:646cf4237665b2e13b4159d8f26d53f59bc9f2e6e135e3a508a2e5dd26d978c6"}, - {file = "jiter-0.8.0-cp311-none-win32.whl", hash = "sha256:21fe5b8345db1b3023052b2ade9bb4d369417827242892051244af8fae8ba231"}, - {file = "jiter-0.8.0-cp311-none-win_amd64.whl", hash = "sha256:30c2161c5493acf6b6c3c909973fb64ae863747def01cc7574f3954e0a15042c"}, - {file = "jiter-0.8.0-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:d91a52d8f49ada2672a4b808a0c5c25d28f320a2c9ca690e30ebd561eb5a1002"}, - {file = "jiter-0.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:c38cf25cf7862f61410b7a49684d34eb3b5bcbd7ddaf4773eea40e0bd43de706"}, - {file = "jiter-0.8.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c6189beb5c4b3117624be6b2e84545cff7611f5855d02de2d06ff68e316182be"}, - {file = "jiter-0.8.0-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e13fa849c0e30643554add089983caa82f027d69fad8f50acadcb21c462244ab"}, - {file = "jiter-0.8.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d7765ca159d0a58e8e0f8ca972cd6d26a33bc97b4480d0d2309856763807cd28"}, - {file = "jiter-0.8.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1b0befe7c6e9fc867d5bed21bab0131dfe27d1fa5cd52ba2bced67da33730b7d"}, - {file = "jiter-0.8.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e7d6363d4c6f1052b1d8b494eb9a72667c3ef5f80ebacfe18712728e85327000"}, - {file = "jiter-0.8.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a873e57009863eeac3e3969e4653f07031d6270d037d6224415074ac17e5505c"}, - {file = "jiter-0.8.0-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:2582912473c0d9940791479fe1bf2976a34f212eb8e0a82ee9e645ac275c5d16"}, - {file = "jiter-0.8.0-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:646163201af42f55393ee6e8f6136b8df488253a6533f4230a64242ecbfe6048"}, - {file = "jiter-0.8.0-cp312-none-win32.whl", hash = "sha256:96e75c9abfbf7387cba89a324d2356d86d8897ac58c956017d062ad510832dae"}, - {file = "jiter-0.8.0-cp312-none-win_amd64.whl", hash = "sha256:ed6074552b4a32e047b52dad5ab497223721efbd0e9efe68c67749f094a092f7"}, - {file = "jiter-0.8.0-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:dd5e351cb9b3e676ec3360a85ea96def515ad2b83c8ae3a251ce84985a2c9a6f"}, - {file = "jiter-0.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ba9f12b0f801ecd5ed0cec29041dc425d1050922b434314c592fc30d51022467"}, - {file = "jiter-0.8.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a7ba461c3681728d556392e8ae56fb44a550155a24905f01982317b367c21dd4"}, - {file = "jiter-0.8.0-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:3a15ed47ab09576db560dbc5c2c5a64477535beb056cd7d997d5dd0f2798770e"}, - {file = "jiter-0.8.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cef55042816d0737142b0ec056c0356a5f681fb8d6aa8499b158e87098f4c6f8"}, - {file = "jiter-0.8.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:549f170215adeb5e866f10617c3d019d8eb4e6d4e3c6b724b3b8c056514a3487"}, - {file = "jiter-0.8.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f867edeb279d22020877640d2ea728de5817378c60a51be8af731a8a8f525306"}, - {file = "jiter-0.8.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:aef8845f463093799db4464cee2aa59d61aa8edcb3762aaa4aacbec3f478c929"}, - {file = "jiter-0.8.0-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:d0d6e22e4062c3d3c1bf3594baa2f67fc9dcdda8275abad99e468e0c6540bc54"}, - {file = "jiter-0.8.0-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:079e62e64696241ac3f408e337aaac09137ed760ccf2b72b1094b48745c13641"}, - {file = "jiter-0.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:74d2b56ed3da5760544df53b5f5c39782e68efb64dc3aa0bba4cc08815e6fae8"}, - {file = "jiter-0.8.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:798dafe108cba58a7bb0a50d4d5971f98bb7f3c974e1373e750de6eb21c1a329"}, - {file = "jiter-0.8.0-cp313-none-win32.whl", hash = "sha256:ca6d3064dfc743eb0d3d7539d89d4ba886957c717567adc72744341c1e3573c9"}, - {file = "jiter-0.8.0-cp313-none-win_amd64.whl", hash = "sha256:38caedda64fe1f04b06d7011fc15e86b3b837ed5088657bf778656551e3cd8f9"}, - {file = "jiter-0.8.0-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:bb5c8a0a8d081c338db22e5b8d53a89a121790569cbb85f7d3cfb1fe0fbe9836"}, - {file = "jiter-0.8.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:202dbe8970bfb166fab950eaab8f829c505730a0b33cc5e1cfb0a1c9dd56b2f9"}, - {file = "jiter-0.8.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9046812e5671fdcfb9ae02881fff1f6a14d484b7e8b3316179a372cdfa1e8026"}, - {file = "jiter-0.8.0-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e6ac56425023e52d65150918ae25480d0a1ce2a6bf5ea2097f66a2cc50f6d692"}, - {file = "jiter-0.8.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7dfcf97210c6eab9d2a1c6af15dd39e1d5154b96a7145d0a97fa1df865b7b834"}, - {file = "jiter-0.8.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d4e3c8444d418686f78c9a547b9b90031faf72a0a1a46bfec7fb31edbd889c0d"}, - {file = "jiter-0.8.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6507011a299b7f578559084256405a8428875540d8d13530e00b688e41b09493"}, - {file = "jiter-0.8.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0aae4738eafdd34f0f25c2d3668ce9e8fa0d7cb75a2efae543c9a69aebc37323"}, - {file = "jiter-0.8.0-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:7f5d782e790396b13f2a7b36bdcaa3736a33293bdda80a4bf1a3ce0cd5ef9f15"}, - {file = "jiter-0.8.0-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:cc7f993bc2c4e03015445adbb16790c303282fce2e8d9dc3a3905b1d40e50564"}, - {file = "jiter-0.8.0-cp38-none-win32.whl", hash = "sha256:d4a8a6eda018a991fa58ef707dd51524055d11f5acb2f516d70b1be1d15ab39c"}, - {file = "jiter-0.8.0-cp38-none-win_amd64.whl", hash = "sha256:4cca948a3eda8ea24ed98acb0ee19dc755b6ad2e570ec85e1527d5167f91ff67"}, - {file = "jiter-0.8.0-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:ef89663678d8257063ce7c00d94638e05bd72f662c5e1eb0e07a172e6c1a9a9f"}, - {file = "jiter-0.8.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:c402ddcba90b4cc71db3216e8330f4db36e0da2c78cf1d8a9c3ed8f272602a94"}, - {file = "jiter-0.8.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1a6dfe795b7a173a9f8ba7421cdd92193d60c1c973bbc50dc3758a9ad0fa5eb6"}, - {file = "jiter-0.8.0-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8ec29a31b9abd6be39453a2c45da067138a3005d65d2c0507c530e0f1fdcd9a4"}, - {file = "jiter-0.8.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2a488f8c54bddc3ddefaf3bfd6de4a52c97fc265d77bc2dcc6ee540c17e8c342"}, - {file = "jiter-0.8.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:aeb5561adf4d26ca0d01b5811b4d7b56a8986699a473d700757b4758ef787883"}, - {file = "jiter-0.8.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4ab961858d7ad13132328517d29f121ae1b2d94502191d6bcf96bddcc8bb5d1c"}, - {file = "jiter-0.8.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a207e718d114d23acf0850a2174d290f42763d955030d9924ffa4227dbd0018f"}, - {file = "jiter-0.8.0-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:733bc9dc8ff718a0ae4695239e9268eb93e88b73b367dfac3ec227d8ce2f1e77"}, - {file = "jiter-0.8.0-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:d1ec27299e22d05e13a06e460bf7f75f26f9aaa0e0fb7d060f40e88df1d81faa"}, - {file = "jiter-0.8.0-cp39-none-win32.whl", hash = "sha256:e8dbfcb46553e6661d3fc1f33831598fcddf73d0f67834bce9fc3e9ebfe5c439"}, - {file = "jiter-0.8.0-cp39-none-win_amd64.whl", hash = "sha256:af2ce2487b3a93747e2cb5150081d4ae1e5874fce5924fc1a12e9e768e489ad8"}, - {file = "jiter-0.8.0.tar.gz", hash = "sha256:86fee98b569d4cc511ff2e3ec131354fafebd9348a487549c31ad371ae730310"}, -] - -[[package]] -name = "joblib" -version = "1.4.2" -description = "Lightweight pipelining with Python functions" -optional = false -python-versions = ">=3.8" -files = [ - {file = "joblib-1.4.2-py3-none-any.whl", hash = "sha256:06d478d5674cbc267e7496a410ee875abd68e4340feff4490bcb7afb88060ae6"}, - {file = "joblib-1.4.2.tar.gz", hash = "sha256:2382c5816b2636fbd20a09e0f4e9dad4736765fdfb7dca582943b9c1366b3f0e"}, -] - [[package]] name = "jsonschema" version = "4.23.0" @@ -1213,85 +370,6 @@ files = [ [package.dependencies] referencing = ">=0.31.0" -[[package]] -name = "keras" -version = "3.7.0" -description = "Multi-backend Keras" -optional = false -python-versions = ">=3.9" -files = [ - {file = "keras-3.7.0-py3-none-any.whl", hash = "sha256:546a64f302e4779c129c06d9826fa586de752cdfd43d7dc4010c31b282587969"}, - {file = "keras-3.7.0.tar.gz", hash = "sha256:a4451a5591e75dfb414d0b84a3fd2fb9c0240cc87ebe7e397f547ce10b0e67b7"}, -] - -[package.dependencies] -absl-py = "*" -h5py = "*" -ml-dtypes = "*" -namex = "*" -numpy = "*" -optree = "*" -packaging = "*" -rich = "*" - -[[package]] -name = "libclang" -version = "18.1.1" -description = "Clang Python Bindings, mirrored from the official LLVM repo: https://github.com/llvm/llvm-project/tree/main/clang/bindings/python, to make the installation process easier." -optional = false -python-versions = "*" -files = [ - {file = "libclang-18.1.1-1-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:0b2e143f0fac830156feb56f9231ff8338c20aecfe72b4ffe96f19e5a1dbb69a"}, - {file = "libclang-18.1.1-py2.py3-none-macosx_10_9_x86_64.whl", hash = "sha256:6f14c3f194704e5d09769108f03185fce7acaf1d1ae4bbb2f30a72c2400cb7c5"}, - {file = "libclang-18.1.1-py2.py3-none-macosx_11_0_arm64.whl", hash = "sha256:83ce5045d101b669ac38e6da8e58765f12da2d3aafb3b9b98d88b286a60964d8"}, - {file = "libclang-18.1.1-py2.py3-none-manylinux2010_x86_64.whl", hash = "sha256:c533091d8a3bbf7460a00cb6c1a71da93bffe148f172c7d03b1c31fbf8aa2a0b"}, - {file = "libclang-18.1.1-py2.py3-none-manylinux2014_aarch64.whl", hash = "sha256:54dda940a4a0491a9d1532bf071ea3ef26e6dbaf03b5000ed94dd7174e8f9592"}, - {file = "libclang-18.1.1-py2.py3-none-manylinux2014_armv7l.whl", hash = "sha256:cf4a99b05376513717ab5d82a0db832c56ccea4fd61a69dbb7bccf2dfb207dbe"}, - {file = "libclang-18.1.1-py2.py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:69f8eb8f65c279e765ffd28aaa7e9e364c776c17618af8bff22a8df58677ff4f"}, - {file = "libclang-18.1.1-py2.py3-none-win_amd64.whl", hash = "sha256:4dd2d3b82fab35e2bf9ca717d7b63ac990a3519c7e312f19fa8e86dcc712f7fb"}, - {file = "libclang-18.1.1-py2.py3-none-win_arm64.whl", hash = "sha256:3f0e1f49f04d3cd198985fea0511576b0aee16f9ff0e0f0cad7f9c57ec3c20e8"}, - {file = "libclang-18.1.1.tar.gz", hash = "sha256:a1214966d08d73d971287fc3ead8dfaf82eb07fb197680d8b3859dbbbbf78250"}, -] - -[[package]] -name = "markdown" -version = "3.7" -description = "Python implementation of John Gruber's Markdown." -optional = false -python-versions = ">=3.8" -files = [ - {file = "Markdown-3.7-py3-none-any.whl", hash = "sha256:7eb6df5690b81a1d7942992c97fad2938e956e79df20cbc6186e9c3a77b1c803"}, - {file = "markdown-3.7.tar.gz", hash = "sha256:2ae2471477cfd02dbbf038d5d9bc226d40def84b4fe2986e49b59b6b472bbed2"}, -] - -[package.extras] -docs = ["mdx-gh-links (>=0.2)", "mkdocs (>=1.5)", "mkdocs-gen-files", "mkdocs-literate-nav", "mkdocs-nature (>=0.6)", "mkdocs-section-index", "mkdocstrings[python]"] -testing = ["coverage", "pyyaml"] - -[[package]] -name = "markdown-it-py" -version = "3.0.0" -description = "Python port of markdown-it. Markdown parsing, done right!" -optional = false -python-versions = ">=3.8" -files = [ - {file = "markdown-it-py-3.0.0.tar.gz", hash = "sha256:e3f60a94fa066dc52ec76661e37c851cb232d92f9886b15cb560aaada2df8feb"}, - {file = "markdown_it_py-3.0.0-py3-none-any.whl", hash = "sha256:355216845c60bd96232cd8d8c40e8f9765cc86f46880e43a8fd22dc1a1a8cab1"}, -] - -[package.dependencies] -mdurl = ">=0.1,<1.0" - -[package.extras] -benchmarking = ["psutil", "pytest", "pytest-benchmark"] -code-style = ["pre-commit (>=3.0,<4.0)"] -compare = ["commonmark (>=0.9,<1.0)", "markdown (>=3.4,<4.0)", "mistletoe (>=1.0,<2.0)", "mistune (>=2.0,<3.0)", "panflute (>=2.3,<3.0)"] -linkify = ["linkify-it-py (>=1,<3)"] -plugins = ["mdit-py-plugins"] -profiling = ["gprof2dot"] -rtd = ["jupyter_sphinx", "mdit-py-plugins", "myst-parser", "pyyaml", "sphinx", "sphinx-copybutton", "sphinx-design", "sphinx_book_theme"] -testing = ["coverage", "pytest", "pytest-cov", "pytest-regressions"] - [[package]] name = "markupsafe" version = "3.0.2" @@ -1362,976 +440,6 @@ files = [ {file = "markupsafe-3.0.2.tar.gz", hash = "sha256:ee55d3edf80167e48ea11a923c7386f4669df67d7994554387f84e7d8b0a2bf0"}, ] -[[package]] -name = "mdurl" -version = "0.1.2" -description = "Markdown URL utilities" -optional = false -python-versions = ">=3.7" -files = [ - {file = "mdurl-0.1.2-py3-none-any.whl", hash = "sha256:84008a41e51615a49fc9966191ff91509e3c40b939176e643fd50a5c2196b8f8"}, - {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, -] - -[[package]] -name = "ml-dtypes" -version = "0.4.1" -description = "" -optional = false -python-versions = ">=3.9" -files = [ - {file = "ml_dtypes-0.4.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:1fe8b5b5e70cd67211db94b05cfd58dace592f24489b038dc6f9fe347d2e07d5"}, - {file = "ml_dtypes-0.4.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c09a6d11d8475c2a9fd2bc0695628aec105f97cab3b3a3fb7c9660348ff7d24"}, - {file = "ml_dtypes-0.4.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f5e8f75fa371020dd30f9196e7d73babae2abd51cf59bdd56cb4f8de7e13354"}, - {file = "ml_dtypes-0.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:15fdd922fea57e493844e5abb930b9c0bd0af217d9edd3724479fc3d7ce70e3f"}, - {file = "ml_dtypes-0.4.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:2d55b588116a7085d6e074cf0cdb1d6fa3875c059dddc4d2c94a4cc81c23e975"}, - {file = "ml_dtypes-0.4.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e138a9b7a48079c900ea969341a5754019a1ad17ae27ee330f7ebf43f23877f9"}, - {file = "ml_dtypes-0.4.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:74c6cfb5cf78535b103fde9ea3ded8e9f16f75bc07789054edc7776abfb3d752"}, - {file = "ml_dtypes-0.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:274cc7193dd73b35fb26bef6c5d40ae3eb258359ee71cd82f6e96a8c948bdaa6"}, - {file = "ml_dtypes-0.4.1-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:827d3ca2097085cf0355f8fdf092b888890bb1b1455f52801a2d7756f056f54b"}, - {file = "ml_dtypes-0.4.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:772426b08a6172a891274d581ce58ea2789cc8abc1c002a27223f314aaf894e7"}, - {file = "ml_dtypes-0.4.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:126e7d679b8676d1a958f2651949fbfa182832c3cd08020d8facd94e4114f3e9"}, - {file = "ml_dtypes-0.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:df0fb650d5c582a9e72bb5bd96cfebb2cdb889d89daff621c8fbc60295eba66c"}, - {file = "ml_dtypes-0.4.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:e35e486e97aee577d0890bc3bd9e9f9eece50c08c163304008587ec8cfe7575b"}, - {file = "ml_dtypes-0.4.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:560be16dc1e3bdf7c087eb727e2cf9c0e6a3d87e9f415079d2491cc419b3ebf5"}, - {file = "ml_dtypes-0.4.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ad0b757d445a20df39035c4cdeed457ec8b60d236020d2560dbc25887533cf50"}, - {file = "ml_dtypes-0.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:ef0d7e3fece227b49b544fa69e50e607ac20948f0043e9f76b44f35f229ea450"}, - {file = "ml_dtypes-0.4.1.tar.gz", hash = "sha256:fad5f2de464fd09127e49b7fd1252b9006fb43d2edc1ff112d390c324af5ca7a"}, -] - -[package.dependencies] -numpy = {version = ">=1.26.0", markers = "python_version >= \"3.12\""} - -[package.extras] -dev = ["absl-py", "pyink", "pylint (>=2.6.0)", "pytest", "pytest-xdist"] - -[[package]] -name = "mpmath" -version = "1.3.0" -description = "Python library for arbitrary-precision floating-point arithmetic" -optional = false -python-versions = "*" -files = [ - {file = "mpmath-1.3.0-py3-none-any.whl", hash = "sha256:a0b2b9fe80bbcd81a6647ff13108738cfb482d481d826cc0e02f5b35e5c88d2c"}, - {file = "mpmath-1.3.0.tar.gz", hash = "sha256:7a28eb2a9774d00c7bc92411c19a89209d5da7c4c9a9e227be8330a23a25b91f"}, -] - -[package.extras] -develop = ["codecov", "pycodestyle", "pytest (>=4.6)", "pytest-cov", "wheel"] -docs = ["sphinx"] -gmpy = ["gmpy2 (>=2.1.0a4)"] -tests = ["pytest (>=4.6)"] - -[[package]] -name = "multidict" -version = "6.1.0" -description = "multidict implementation" -optional = false -python-versions = ">=3.8" -files = [ - {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:3380252550e372e8511d49481bd836264c009adb826b23fefcc5dd3c69692f60"}, - {file = "multidict-6.1.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:99f826cbf970077383d7de805c0681799491cb939c25450b9b5b3ced03ca99f1"}, - {file = "multidict-6.1.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a114d03b938376557927ab23f1e950827c3b893ccb94b62fd95d430fd0e5cf53"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1c416351ee6271b2f49b56ad7f308072f6f44b37118d69c2cad94f3fa8a40d5"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6b5d83030255983181005e6cfbac1617ce9746b219bc2aad52201ad121226581"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3e97b5e938051226dc025ec80980c285b053ffb1e25a3db2a3aa3bc046bf7f56"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d618649d4e70ac6efcbba75be98b26ef5078faad23592f9b51ca492953012429"}, - {file = "multidict-6.1.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10524ebd769727ac77ef2278390fb0068d83f3acb7773792a5080f2b0abf7748"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:ff3827aef427c89a25cc96ded1759271a93603aba9fb977a6d264648ebf989db"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:06809f4f0f7ab7ea2cabf9caca7d79c22c0758b58a71f9d32943ae13c7ace056"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:f179dee3b863ab1c59580ff60f9d99f632f34ccb38bf67a33ec6b3ecadd0fd76"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:aaed8b0562be4a0876ee3b6946f6869b7bcdb571a5d1496683505944e268b160"}, - {file = "multidict-6.1.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:3c8b88a2ccf5493b6c8da9076fb151ba106960a2df90c2633f342f120751a9e7"}, - {file = "multidict-6.1.0-cp310-cp310-win32.whl", hash = "sha256:4a9cb68166a34117d6646c0023c7b759bf197bee5ad4272f420a0141d7eb03a0"}, - {file = "multidict-6.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:20b9b5fbe0b88d0bdef2012ef7dee867f874b72528cf1d08f1d59b0e3850129d"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:3efe2c2cb5763f2f1b275ad2bf7a287d3f7ebbef35648a9726e3b69284a4f3d6"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c7053d3b0353a8b9de430a4f4b4268ac9a4fb3481af37dfe49825bf45ca24156"}, - {file = "multidict-6.1.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:27e5fc84ccef8dfaabb09d82b7d179c7cf1a3fbc8a966f8274fcb4ab2eb4cadb"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e2b90b43e696f25c62656389d32236e049568b39320e2735d51f08fd362761b"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d83a047959d38a7ff552ff94be767b7fd79b831ad1cd9920662db05fec24fe72"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d1a9dd711d0877a1ece3d2e4fea11a8e75741ca21954c919406b44e7cf971304"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ec2abea24d98246b94913b76a125e855eb5c434f7c46546046372fe60f666351"}, - {file = "multidict-6.1.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4867cafcbc6585e4b678876c489b9273b13e9fff9f6d6d66add5e15d11d926cb"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:5b48204e8d955c47c55b72779802b219a39acc3ee3d0116d5080c388970b76e3"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:d8fff389528cad1618fb4b26b95550327495462cd745d879a8c7c2115248e399"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a7a9541cd308eed5e30318430a9c74d2132e9a8cb46b901326272d780bf2d423"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:da1758c76f50c39a2efd5e9859ce7d776317eb1dd34317c8152ac9251fc574a3"}, - {file = "multidict-6.1.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:c943a53e9186688b45b323602298ab727d8865d8c9ee0b17f8d62d14b56f0753"}, - {file = "multidict-6.1.0-cp311-cp311-win32.whl", hash = "sha256:90f8717cb649eea3504091e640a1b8568faad18bd4b9fcd692853a04475a4b80"}, - {file = "multidict-6.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:82176036e65644a6cc5bd619f65f6f19781e8ec2e5330f51aa9ada7504cc1926"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436"}, - {file = "multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925"}, - {file = "multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6"}, - {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3"}, - {file = "multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133"}, - {file = "multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:d569388c381b24671589335a3be6e1d45546c2988c2ebe30fdcada8457a31008"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:052e10d2d37810b99cc170b785945421141bf7bb7d2f8799d431e7db229c385f"}, - {file = "multidict-6.1.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f90c822a402cb865e396a504f9fc8173ef34212a342d92e362ca498cad308e28"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b225d95519a5bf73860323e633a664b0d85ad3d5bede6d30d95b35d4dfe8805b"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:23bfd518810af7de1116313ebd9092cb9aa629beb12f6ed631ad53356ed6b86c"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5c09fcfdccdd0b57867577b719c69e347a436b86cd83747f179dbf0cc0d4c1f3"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf6bea52ec97e95560af5ae576bdac3aa3aae0b6758c6efa115236d9e07dae44"}, - {file = "multidict-6.1.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57feec87371dbb3520da6192213c7d6fc892d5589a93db548331954de8248fd2"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:0c3f390dc53279cbc8ba976e5f8035eab997829066756d811616b652b00a23a3"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:59bfeae4b25ec05b34f1956eaa1cb38032282cd4dfabc5056d0a1ec4d696d3aa"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:b2f59caeaf7632cc633b5cf6fc449372b83bbdf0da4ae04d5be36118e46cc0aa"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:37bb93b2178e02b7b618893990941900fd25b6b9ac0fa49931a40aecdf083fe4"}, - {file = "multidict-6.1.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4e9f48f58c2c523d5a06faea47866cd35b32655c46b443f163d08c6d0ddb17d6"}, - {file = "multidict-6.1.0-cp313-cp313-win32.whl", hash = "sha256:3a37ffb35399029b45c6cc33640a92bef403c9fd388acce75cdc88f58bd19a81"}, - {file = "multidict-6.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:e9aa71e15d9d9beaad2c6b9319edcdc0a49a43ef5c0a4c8265ca9ee7d6c67774"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:db7457bac39421addd0c8449933ac32d8042aae84a14911a757ae6ca3eef1392"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:d094ddec350a2fb899fec68d8353c78233debde9b7d8b4beeafa70825f1c281a"}, - {file = "multidict-6.1.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:5845c1fd4866bb5dd3125d89b90e57ed3138241540897de748cdf19de8a2fca2"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9079dfc6a70abe341f521f78405b8949f96db48da98aeb43f9907f342f627cdc"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3914f5aaa0f36d5d60e8ece6a308ee1c9784cd75ec8151062614657a114c4478"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c08be4f460903e5a9d0f76818db3250f12e9c344e79314d1d570fc69d7f4eae4"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d093be959277cb7dee84b801eb1af388b6ad3ca6a6b6bf1ed7585895789d027d"}, - {file = "multidict-6.1.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3702ea6872c5a2a4eeefa6ffd36b042e9773f05b1f37ae3ef7264b1163c2dcf6"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:2090f6a85cafc5b2db085124d752757c9d251548cedabe9bd31afe6363e0aff2"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:f67f217af4b1ff66c68a87318012de788dd95fcfeb24cc889011f4e1c7454dfd"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:189f652a87e876098bbc67b4da1049afb5f5dfbaa310dd67c594b01c10388db6"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:6bb5992037f7a9eff7991ebe4273ea7f51f1c1c511e6a2ce511d0e7bdb754492"}, - {file = "multidict-6.1.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f4c2b9e770c4e393876e35a7046879d195cd123b4f116d299d442b335bcd"}, - {file = "multidict-6.1.0-cp38-cp38-win32.whl", hash = "sha256:e27bbb6d14416713a8bd7aaa1313c0fc8d44ee48d74497a0ff4c3a1b6ccb5167"}, - {file = "multidict-6.1.0-cp38-cp38-win_amd64.whl", hash = "sha256:22f3105d4fb15c8f57ff3959a58fcab6ce36814486500cd7485651230ad4d4ef"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:4e18b656c5e844539d506a0a06432274d7bd52a7487e6828c63a63d69185626c"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:a185f876e69897a6f3325c3f19f26a297fa058c5e456bfcff8015e9a27e83ae1"}, - {file = "multidict-6.1.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:ab7c4ceb38d91570a650dba194e1ca87c2b543488fe9309b4212694174fd539c"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e617fb6b0b6953fffd762669610c1c4ffd05632c138d61ac7e14ad187870669c"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16e5f4bf4e603eb1fdd5d8180f1a25f30056f22e55ce51fb3d6ad4ab29f7d96f"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4c035da3f544b1882bac24115f3e2e8760f10a0107614fc9839fd232200b875"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:957cf8e4b6e123a9eea554fa7ebc85674674b713551de587eb318a2df3e00255"}, - {file = "multidict-6.1.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:483a6aea59cb89904e1ceabd2b47368b5600fb7de78a6e4a2c2987b2d256cf30"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:87701f25a2352e5bf7454caa64757642734da9f6b11384c1f9d1a8e699758057"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:682b987361e5fd7a139ed565e30d81fd81e9629acc7d925a205366877d8c8657"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:ce2186a7df133a9c895dea3331ddc5ddad42cdd0d1ea2f0a51e5d161e4762f28"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9f636b730f7e8cb19feb87094949ba54ee5357440b9658b2a32a5ce4bce53972"}, - {file = "multidict-6.1.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:73eae06aa53af2ea5270cc066dcaf02cc60d2994bbb2c4ef5764949257d10f43"}, - {file = "multidict-6.1.0-cp39-cp39-win32.whl", hash = "sha256:1ca0083e80e791cffc6efce7660ad24af66c8d4079d2a750b29001b53ff59ada"}, - {file = "multidict-6.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:aa466da5b15ccea564bdab9c89175c762bc12825f4659c11227f515cee76fa4a"}, - {file = "multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506"}, - {file = "multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a"}, -] - -[[package]] -name = "multiprocess" -version = "0.70.15" -description = "better multiprocessing and multithreading in Python" -optional = false -python-versions = ">=3.7" -files = [ - {file = "multiprocess-0.70.15-pp310-pypy310_pp73-macosx_10_9_x86_64.whl", hash = "sha256:aa36c7ed16f508091438687fe9baa393a7a8e206731d321e443745e743a0d4e5"}, - {file = "multiprocess-0.70.15-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:20e024018c46d0d1602024c613007ac948f9754659e3853b0aa705e83f6931d8"}, - {file = "multiprocess-0.70.15-pp37-pypy37_pp73-manylinux_2_24_i686.whl", hash = "sha256:e576062981c91f0fe8a463c3d52506e598dfc51320a8dd8d78b987dfca91c5db"}, - {file = "multiprocess-0.70.15-pp37-pypy37_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:e73f497e6696a0f5433ada2b3d599ae733b87a6e8b008e387c62ac9127add177"}, - {file = "multiprocess-0.70.15-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:73db2e7b32dcc7f9b0f075c2ffa45c90b6729d3f1805f27e88534c8d321a1be5"}, - {file = "multiprocess-0.70.15-pp38-pypy38_pp73-manylinux_2_24_i686.whl", hash = "sha256:4271647bd8a49c28ecd6eb56a7fdbd3c212c45529ad5303b40b3c65fc6928e5f"}, - {file = "multiprocess-0.70.15-pp38-pypy38_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:cf981fb998d6ec3208cb14f0cf2e9e80216e834f5d51fd09ebc937c32b960902"}, - {file = "multiprocess-0.70.15-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:18f9f2c7063346d1617bd1684fdcae8d33380ae96b99427260f562e1a1228b67"}, - {file = "multiprocess-0.70.15-pp39-pypy39_pp73-manylinux_2_24_i686.whl", hash = "sha256:0eac53214d664c49a34695e5824872db4006b1a465edd7459a251809c3773370"}, - {file = "multiprocess-0.70.15-pp39-pypy39_pp73-manylinux_2_24_x86_64.whl", hash = "sha256:1a51dd34096db47fb21fa2b839e615b051d51b97af9a67afbcdaa67186b44883"}, - {file = "multiprocess-0.70.15-py310-none-any.whl", hash = "sha256:7dd58e33235e83cf09d625e55cffd7b0f0eede7ee9223cdd666a87624f60c21a"}, - {file = "multiprocess-0.70.15-py311-none-any.whl", hash = "sha256:134f89053d82c9ed3b73edd3a2531eb791e602d4f4156fc92a79259590bd9670"}, - {file = "multiprocess-0.70.15-py37-none-any.whl", hash = "sha256:f7d4a1629bccb433114c3b4885f69eccc200994323c80f6feee73b0edc9199c5"}, - {file = "multiprocess-0.70.15-py38-none-any.whl", hash = "sha256:bee9afba476c91f9ebee7beeee0601face9eff67d822e893f9a893725fbd6316"}, - {file = "multiprocess-0.70.15-py39-none-any.whl", hash = "sha256:3e0953f5d52b4c76f1c973eaf8214554d146f2be5decb48e928e55c7a2d19338"}, - {file = "multiprocess-0.70.15.tar.gz", hash = "sha256:f20eed3036c0ef477b07a4177cf7c1ba520d9a2677870a4f47fe026f0cd6787e"}, -] - -[package.dependencies] -dill = ">=0.3.7" - -[[package]] -name = "namex" -version = "0.0.8" -description = "A simple utility to separate the implementation of your Python package and its public API surface." -optional = false -python-versions = "*" -files = [ - {file = "namex-0.0.8-py3-none-any.whl", hash = "sha256:7ddb6c2bb0e753a311b7590f84f6da659dd0c05e65cb89d519d54c0a250c0487"}, - {file = "namex-0.0.8.tar.gz", hash = "sha256:32a50f6c565c0bb10aa76298c959507abdc0e850efe085dc38f3440fcb3aa90b"}, -] - -[[package]] -name = "networkx" -version = "3.4.2" -description = "Python package for creating and manipulating graphs and networks" -optional = false -python-versions = ">=3.10" -files = [ - {file = "networkx-3.4.2-py3-none-any.whl", hash = "sha256:df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f"}, - {file = "networkx-3.4.2.tar.gz", hash = "sha256:307c3669428c5362aab27c8a1260aa8f47c4e91d3891f48be0141738d8d053e1"}, -] - -[package.extras] -default = ["matplotlib (>=3.7)", "numpy (>=1.24)", "pandas (>=2.0)", "scipy (>=1.10,!=1.11.0,!=1.11.1)"] -developer = ["changelist (==0.5)", "mypy (>=1.1)", "pre-commit (>=3.2)", "rtoml"] -doc = ["intersphinx-registry", "myst-nb (>=1.1)", "numpydoc (>=1.8.0)", "pillow (>=9.4)", "pydata-sphinx-theme (>=0.15)", "sphinx (>=7.3)", "sphinx-gallery (>=0.16)", "texext (>=0.6.7)"] -example = ["cairocffi (>=1.7)", "contextily (>=1.6)", "igraph (>=0.11)", "momepy (>=0.7.2)", "osmnx (>=1.9)", "scikit-learn (>=1.5)", "seaborn (>=0.13)"] -extra = ["lxml (>=4.6)", "pydot (>=3.0.1)", "pygraphviz (>=1.14)", "sympy (>=1.10)"] -test = ["pytest (>=7.2)", "pytest-cov (>=4.0)"] - -[[package]] -name = "numpy" -version = "2.0.2" -description = "Fundamental package for array computing in Python" -optional = false -python-versions = ">=3.9" -files = [ - {file = "numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece"}, - {file = "numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04"}, - {file = "numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66"}, - {file = "numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b"}, - {file = "numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd"}, - {file = "numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318"}, - {file = "numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8"}, - {file = "numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326"}, - {file = "numpy-2.0.2-cp310-cp310-win32.whl", hash = "sha256:984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97"}, - {file = "numpy-2.0.2-cp310-cp310-win_amd64.whl", hash = "sha256:c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131"}, - {file = "numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448"}, - {file = "numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195"}, - {file = "numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57"}, - {file = "numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a"}, - {file = "numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669"}, - {file = "numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951"}, - {file = "numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9"}, - {file = "numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15"}, - {file = "numpy-2.0.2-cp311-cp311-win32.whl", hash = "sha256:a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4"}, - {file = "numpy-2.0.2-cp311-cp311-win_amd64.whl", hash = "sha256:286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc"}, - {file = "numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b"}, - {file = "numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e"}, - {file = "numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c"}, - {file = "numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c"}, - {file = "numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692"}, - {file = "numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a"}, - {file = "numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c"}, - {file = "numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded"}, - {file = "numpy-2.0.2-cp312-cp312-win32.whl", hash = "sha256:671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5"}, - {file = "numpy-2.0.2-cp312-cp312-win_amd64.whl", hash = "sha256:cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a"}, - {file = "numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c"}, - {file = "numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd"}, - {file = "numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl", hash = "sha256:2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b"}, - {file = "numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl", hash = "sha256:97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729"}, - {file = "numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1"}, - {file = "numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd"}, - {file = "numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d"}, - {file = "numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d"}, - {file = "numpy-2.0.2-cp39-cp39-win32.whl", hash = "sha256:905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa"}, - {file = "numpy-2.0.2-cp39-cp39-win_amd64.whl", hash = "sha256:a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73"}, - {file = "numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl", hash = "sha256:7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8"}, - {file = "numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl", hash = "sha256:312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4"}, - {file = "numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c"}, - {file = "numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385"}, - {file = "numpy-2.0.2.tar.gz", hash = "sha256:883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78"}, -] - -[[package]] -name = "nvidia-cublas-cu12" -version = "12.1.3.1" -description = "CUBLAS native runtime libraries" -optional = false -python-versions = ">=3" -files = [ - {file = "nvidia_cublas_cu12-12.1.3.1-py3-none-manylinux1_x86_64.whl", hash = "sha256:ee53ccca76a6fc08fb9701aa95b6ceb242cdaab118c3bb152af4e579af792728"}, - {file = "nvidia_cublas_cu12-12.1.3.1-py3-none-win_amd64.whl", hash = "sha256:2b964d60e8cf11b5e1073d179d85fa340c120e99b3067558f3cf98dd69d02906"}, -] - -[[package]] -name = "nvidia-cuda-cupti-cu12" -version = "12.1.105" -description = "CUDA profiling tools runtime libs." -optional = false -python-versions = ">=3" -files = [ - {file = "nvidia_cuda_cupti_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:e54fde3983165c624cb79254ae9818a456eb6e87a7fd4d56a2352c24ee542d7e"}, - {file = "nvidia_cuda_cupti_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:bea8236d13a0ac7190bd2919c3e8e6ce1e402104276e6f9694479e48bb0eb2a4"}, -] - -[[package]] -name = "nvidia-cuda-nvrtc-cu12" -version = "12.1.105" -description = "NVRTC native runtime libraries" -optional = false -python-versions = ">=3" -files = [ - {file = "nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:339b385f50c309763ca65456ec75e17bbefcbbf2893f462cb8b90584cd27a1c2"}, - {file = "nvidia_cuda_nvrtc_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:0a98a522d9ff138b96c010a65e145dc1b4850e9ecb75a0172371793752fd46ed"}, -] - -[[package]] -name = "nvidia-cuda-runtime-cu12" -version = "12.1.105" -description = "CUDA Runtime native Libraries" -optional = false -python-versions = ">=3" -files = [ - {file = "nvidia_cuda_runtime_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:6e258468ddf5796e25f1dc591a31029fa317d97a0a94ed93468fc86301d61e40"}, - {file = "nvidia_cuda_runtime_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:dfb46ef84d73fababab44cf03e3b83f80700d27ca300e537f85f636fac474344"}, -] - -[[package]] -name = "nvidia-cudnn-cu12" -version = "9.1.0.70" -description = "cuDNN runtime libraries" -optional = false -python-versions = ">=3" -files = [ - {file = "nvidia_cudnn_cu12-9.1.0.70-py3-none-manylinux2014_x86_64.whl", hash = "sha256:165764f44ef8c61fcdfdfdbe769d687e06374059fbb388b6c89ecb0e28793a6f"}, - {file = "nvidia_cudnn_cu12-9.1.0.70-py3-none-win_amd64.whl", hash = "sha256:6278562929433d68365a07a4a1546c237ba2849852c0d4b2262a486e805b977a"}, -] - -[package.dependencies] -nvidia-cublas-cu12 = "*" - -[[package]] -name = "nvidia-cufft-cu12" -version = "11.0.2.54" -description = "CUFFT native runtime libraries" -optional = false -python-versions = ">=3" -files = [ - {file = "nvidia_cufft_cu12-11.0.2.54-py3-none-manylinux1_x86_64.whl", hash = "sha256:794e3948a1aa71fd817c3775866943936774d1c14e7628c74f6f7417224cdf56"}, - {file = "nvidia_cufft_cu12-11.0.2.54-py3-none-win_amd64.whl", hash = "sha256:d9ac353f78ff89951da4af698f80870b1534ed69993f10a4cf1d96f21357e253"}, -] - -[[package]] -name = "nvidia-curand-cu12" -version = "10.3.2.106" -description = "CURAND native runtime libraries" -optional = false -python-versions = ">=3" -files = [ - {file = "nvidia_curand_cu12-10.3.2.106-py3-none-manylinux1_x86_64.whl", hash = "sha256:9d264c5036dde4e64f1de8c50ae753237c12e0b1348738169cd0f8a536c0e1e0"}, - {file = "nvidia_curand_cu12-10.3.2.106-py3-none-win_amd64.whl", hash = "sha256:75b6b0c574c0037839121317e17fd01f8a69fd2ef8e25853d826fec30bdba74a"}, -] - -[[package]] -name = "nvidia-cusolver-cu12" -version = "11.4.5.107" -description = "CUDA solver native runtime libraries" -optional = false -python-versions = ">=3" -files = [ - {file = "nvidia_cusolver_cu12-11.4.5.107-py3-none-manylinux1_x86_64.whl", hash = "sha256:8a7ec542f0412294b15072fa7dab71d31334014a69f953004ea7a118206fe0dd"}, - {file = "nvidia_cusolver_cu12-11.4.5.107-py3-none-win_amd64.whl", hash = "sha256:74e0c3a24c78612192a74fcd90dd117f1cf21dea4822e66d89e8ea80e3cd2da5"}, -] - -[package.dependencies] -nvidia-cublas-cu12 = "*" -nvidia-cusparse-cu12 = "*" -nvidia-nvjitlink-cu12 = "*" - -[[package]] -name = "nvidia-cusparse-cu12" -version = "12.1.0.106" -description = "CUSPARSE native runtime libraries" -optional = false -python-versions = ">=3" -files = [ - {file = "nvidia_cusparse_cu12-12.1.0.106-py3-none-manylinux1_x86_64.whl", hash = "sha256:f3b50f42cf363f86ab21f720998517a659a48131e8d538dc02f8768237bd884c"}, - {file = "nvidia_cusparse_cu12-12.1.0.106-py3-none-win_amd64.whl", hash = "sha256:b798237e81b9719373e8fae8d4f091b70a0cf09d9d85c95a557e11df2d8e9a5a"}, -] - -[package.dependencies] -nvidia-nvjitlink-cu12 = "*" - -[[package]] -name = "nvidia-nccl-cu12" -version = "2.20.5" -description = "NVIDIA Collective Communication Library (NCCL) Runtime" -optional = false -python-versions = ">=3" -files = [ - {file = "nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_aarch64.whl", hash = "sha256:1fc150d5c3250b170b29410ba682384b14581db722b2531b0d8d33c595f33d01"}, - {file = "nvidia_nccl_cu12-2.20.5-py3-none-manylinux2014_x86_64.whl", hash = "sha256:057f6bf9685f75215d0c53bf3ac4a10b3e6578351de307abad9e18a99182af56"}, -] - -[[package]] -name = "nvidia-nvjitlink-cu12" -version = "12.6.85" -description = "Nvidia JIT LTO Library" -optional = false -python-versions = ">=3" -files = [ - {file = "nvidia_nvjitlink_cu12-12.6.85-py3-none-manylinux2010_x86_64.manylinux_2_12_x86_64.whl", hash = "sha256:eedc36df9e88b682efe4309aa16b5b4e78c2407eac59e8c10a6a47535164369a"}, - {file = "nvidia_nvjitlink_cu12-12.6.85-py3-none-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cf4eaa7d4b6b543ffd69d6abfb11efdeb2db48270d94dfd3a452c24150829e41"}, - {file = "nvidia_nvjitlink_cu12-12.6.85-py3-none-win_amd64.whl", hash = "sha256:e61120e52ed675747825cdd16febc6a0730537451d867ee58bee3853b1b13d1c"}, -] - -[[package]] -name = "nvidia-nvtx-cu12" -version = "12.1.105" -description = "NVIDIA Tools Extension" -optional = false -python-versions = ">=3" -files = [ - {file = "nvidia_nvtx_cu12-12.1.105-py3-none-manylinux1_x86_64.whl", hash = "sha256:dc21cf308ca5691e7c04d962e213f8a4aa9bbfa23d95412f452254c2caeb09e5"}, - {file = "nvidia_nvtx_cu12-12.1.105-py3-none-win_amd64.whl", hash = "sha256:65f4d98982b31b60026e0e6de73fbdfc09d08a96f4656dd3665ca616a11e1e82"}, -] - -[[package]] -name = "onnx" -version = "1.17.0" -description = "Open Neural Network Exchange" -optional = false -python-versions = ">=3.8" -files = [ - {file = "onnx-1.17.0-cp310-cp310-macosx_12_0_universal2.whl", hash = "sha256:38b5df0eb22012198cdcee527cc5f917f09cce1f88a69248aaca22bd78a7f023"}, - {file = "onnx-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d545335cb49d4d8c47cc803d3a805deb7ad5d9094dc67657d66e568610a36d7d"}, - {file = "onnx-1.17.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3193a3672fc60f1a18c0f4c93ac81b761bc72fd8a6c2035fa79ff5969f07713e"}, - {file = "onnx-1.17.0-cp310-cp310-win32.whl", hash = "sha256:0141c2ce806c474b667b7e4499164227ef594584da432fd5613ec17c1855e311"}, - {file = "onnx-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:dfd777d95c158437fda6b34758f0877d15b89cbe9ff45affbedc519b35345cf9"}, - {file = "onnx-1.17.0-cp311-cp311-macosx_12_0_universal2.whl", hash = "sha256:d6fc3a03fc0129b8b6ac03f03bc894431ffd77c7d79ec023d0afd667b4d35869"}, - {file = "onnx-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f01a4b63d4e1d8ec3e2f069e7b798b2955810aa434f7361f01bc8ca08d69cce4"}, - {file = "onnx-1.17.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a183c6178be001bf398260e5ac2c927dc43e7746e8638d6c05c20e321f8c949"}, - {file = "onnx-1.17.0-cp311-cp311-win32.whl", hash = "sha256:081ec43a8b950171767d99075b6b92553901fa429d4bc5eb3ad66b36ef5dbe3a"}, - {file = "onnx-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:95c03e38671785036bb704c30cd2e150825f6ab4763df3a4f1d249da48525957"}, - {file = "onnx-1.17.0-cp312-cp312-macosx_12_0_universal2.whl", hash = "sha256:0e906e6a83437de05f8139ea7eaf366bf287f44ae5cc44b2850a30e296421f2f"}, - {file = "onnx-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3d955ba2939878a520a97614bcf2e79c1df71b29203e8ced478fa78c9a9c63c2"}, - {file = "onnx-1.17.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4f3fb5cc4e2898ac5312a7dc03a65133dd2abf9a5e520e69afb880a7251ec97a"}, - {file = "onnx-1.17.0-cp312-cp312-win32.whl", hash = "sha256:317870fca3349d19325a4b7d1b5628f6de3811e9710b1e3665c68b073d0e68d7"}, - {file = "onnx-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:659b8232d627a5460d74fd3c96947ae83db6d03f035ac633e20cd69cfa029227"}, - {file = "onnx-1.17.0-cp38-cp38-macosx_12_0_universal2.whl", hash = "sha256:23b8d56a9df492cdba0eb07b60beea027d32ff5e4e5fe271804eda635bed384f"}, - {file = "onnx-1.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ecf2b617fd9a39b831abea2df795e17bac705992a35a98e1f0363f005c4a5247"}, - {file = "onnx-1.17.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ea5023a8dcdadbb23fd0ed0179ce64c1f6b05f5b5c34f2909b4e927589ebd0e4"}, - {file = "onnx-1.17.0-cp38-cp38-win32.whl", hash = "sha256:f0e437f8f2f0c36f629e9743d28cf266312baa90be6a899f405f78f2d4cb2e1d"}, - {file = "onnx-1.17.0-cp38-cp38-win_amd64.whl", hash = "sha256:e4673276b558b5b572b960b7f9ef9214dce9305673683eb289bb97a7df379a4b"}, - {file = "onnx-1.17.0-cp39-cp39-macosx_12_0_universal2.whl", hash = "sha256:67e1c59034d89fff43b5301b6178222e54156eadd6ab4cd78ddc34b2f6274a66"}, - {file = "onnx-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3e19fd064b297f7773b4c1150f9ce6213e6d7d041d7a9201c0d348041009cdcd"}, - {file = "onnx-1.17.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8167295f576055158a966161f8ef327cb491c06ede96cc23392be6022071b6ed"}, - {file = "onnx-1.17.0-cp39-cp39-win32.whl", hash = "sha256:76884fe3e0258c911c749d7d09667fb173365fd27ee66fcedaf9fa039210fd13"}, - {file = "onnx-1.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:5ca7a0894a86d028d509cdcf99ed1864e19bfe5727b44322c11691d834a1c546"}, - {file = "onnx-1.17.0.tar.gz", hash = "sha256:48ca1a91ff73c1d5e3ea2eef20ae5d0e709bb8a2355ed798ffc2169753013fd3"}, -] - -[package.dependencies] -numpy = ">=1.20" -protobuf = ">=3.20.2" - -[package.extras] -reference = ["Pillow", "google-re2"] - -[[package]] -name = "onnxruntime" -version = "1.19.2" -description = "ONNX Runtime is a runtime accelerator for Machine Learning models" -optional = false -python-versions = "*" -files = [ - {file = "onnxruntime-1.19.2-cp310-cp310-macosx_11_0_universal2.whl", hash = "sha256:84fa57369c06cadd3c2a538ae2a26d76d583e7c34bdecd5769d71ca5c0fc750e"}, - {file = "onnxruntime-1.19.2-cp310-cp310-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bdc471a66df0c1cdef774accef69e9f2ca168c851ab5e4f2f3341512c7ef4666"}, - {file = "onnxruntime-1.19.2-cp310-cp310-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e3a4ce906105d99ebbe817f536d50a91ed8a4d1592553f49b3c23c4be2560ae6"}, - {file = "onnxruntime-1.19.2-cp310-cp310-win32.whl", hash = "sha256:4b3d723cc154c8ddeb9f6d0a8c0d6243774c6b5930847cc83170bfe4678fafb3"}, - {file = "onnxruntime-1.19.2-cp310-cp310-win_amd64.whl", hash = "sha256:17ed7382d2c58d4b7354fb2b301ff30b9bf308a1c7eac9546449cd122d21cae5"}, - {file = "onnxruntime-1.19.2-cp311-cp311-macosx_11_0_universal2.whl", hash = "sha256:d863e8acdc7232d705d49e41087e10b274c42f09e259016a46f32c34e06dc4fd"}, - {file = "onnxruntime-1.19.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c1dfe4f660a71b31caa81fc298a25f9612815215a47b286236e61d540350d7b6"}, - {file = "onnxruntime-1.19.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a36511dc07c5c964b916697e42e366fa43c48cdb3d3503578d78cef30417cb84"}, - {file = "onnxruntime-1.19.2-cp311-cp311-win32.whl", hash = "sha256:50cbb8dc69d6befad4746a69760e5b00cc3ff0a59c6c3fb27f8afa20e2cab7e7"}, - {file = "onnxruntime-1.19.2-cp311-cp311-win_amd64.whl", hash = "sha256:1c3e5d415b78337fa0b1b75291e9ea9fb2a4c1f148eb5811e7212fed02cfffa8"}, - {file = "onnxruntime-1.19.2-cp312-cp312-macosx_11_0_universal2.whl", hash = "sha256:68e7051bef9cfefcbb858d2d2646536829894d72a4130c24019219442b1dd2ed"}, - {file = "onnxruntime-1.19.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d2d366fbcc205ce68a8a3bde2185fd15c604d9645888703785b61ef174265168"}, - {file = "onnxruntime-1.19.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:477b93df4db467e9cbf34051662a4b27c18e131fa1836e05974eae0d6e4cf29b"}, - {file = "onnxruntime-1.19.2-cp312-cp312-win32.whl", hash = "sha256:9a174073dc5608fad05f7cf7f320b52e8035e73d80b0a23c80f840e5a97c0147"}, - {file = "onnxruntime-1.19.2-cp312-cp312-win_amd64.whl", hash = "sha256:190103273ea4507638ffc31d66a980594b237874b65379e273125150eb044857"}, - {file = "onnxruntime-1.19.2-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:636bc1d4cc051d40bc52e1f9da87fbb9c57d9d47164695dfb1c41646ea51ea66"}, - {file = "onnxruntime-1.19.2-cp38-cp38-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5bd8b875757ea941cbcfe01582970cc299893d1b65bd56731e326a8333f638a3"}, - {file = "onnxruntime-1.19.2-cp38-cp38-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b2046fc9560f97947bbc1acbe4c6d48585ef0f12742744307d3364b131ac5778"}, - {file = "onnxruntime-1.19.2-cp38-cp38-win32.whl", hash = "sha256:31c12840b1cde4ac1f7d27d540c44e13e34f2345cf3642762d2a3333621abb6a"}, - {file = "onnxruntime-1.19.2-cp38-cp38-win_amd64.whl", hash = "sha256:016229660adea180e9a32ce218b95f8f84860a200f0f13b50070d7d90e92956c"}, - {file = "onnxruntime-1.19.2-cp39-cp39-macosx_11_0_universal2.whl", hash = "sha256:006c8d326835c017a9e9f74c9c77ebb570a71174a1e89fe078b29a557d9c3848"}, - {file = "onnxruntime-1.19.2-cp39-cp39-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:df2a94179a42d530b936f154615b54748239c2908ee44f0d722cb4df10670f68"}, - {file = "onnxruntime-1.19.2-cp39-cp39-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fae4b4de45894b9ce7ae418c5484cbf0341db6813effec01bb2216091c52f7fb"}, - {file = "onnxruntime-1.19.2-cp39-cp39-win32.whl", hash = "sha256:dc5430f473e8706fff837ae01323be9dcfddd3ea471c900a91fa7c9b807ec5d3"}, - {file = "onnxruntime-1.19.2-cp39-cp39-win_amd64.whl", hash = "sha256:38475e29a95c5f6c62c2c603d69fc7d4c6ccbf4df602bd567b86ae1138881c49"}, -] - -[package.dependencies] -coloredlogs = "*" -flatbuffers = "*" -numpy = ">=1.21.6" -packaging = "*" -protobuf = "*" -sympy = "*" - -[[package]] -name = "openai" -version = "1.50.2" -description = "The official Python library for the openai API" -optional = false -python-versions = ">=3.7.1" -files = [ - {file = "openai-1.50.2-py3-none-any.whl", hash = "sha256:822dd2051baa3393d0d5406990611975dd6f533020dc9375a34d4fe67e8b75f7"}, - {file = "openai-1.50.2.tar.gz", hash = "sha256:3987ae027152fc8bea745d60b02c8f4c4a76e1b5c70e73565fa556db6f78c9e6"}, -] - -[package.dependencies] -anyio = ">=3.5.0,<5" -distro = ">=1.7.0,<2" -httpx = ">=0.23.0,<1" -jiter = ">=0.4.0,<1" -pydantic = ">=1.9.0,<3" -sniffio = "*" -tqdm = ">4" -typing-extensions = ">=4.11,<5" - -[package.extras] -datalib = ["numpy (>=1)", "pandas (>=1.2.3)", "pandas-stubs (>=1.1.0.11)"] - -[[package]] -name = "opentelemetry-api" -version = "1.28.2" -description = "OpenTelemetry Python API" -optional = false -python-versions = ">=3.8" -files = [ - {file = "opentelemetry_api-1.28.2-py3-none-any.whl", hash = "sha256:6fcec89e265beb258fe6b1acaaa3c8c705a934bd977b9f534a2b7c0d2d4275a6"}, - {file = "opentelemetry_api-1.28.2.tar.gz", hash = "sha256:ecdc70c7139f17f9b0cf3742d57d7020e3e8315d6cffcdf1a12a905d45b19cc0"}, -] - -[package.dependencies] -deprecated = ">=1.2.6" -importlib-metadata = ">=6.0,<=8.5.0" - -[[package]] -name = "opentelemetry-exporter-otlp" -version = "1.28.2" -description = "OpenTelemetry Collector Exporters" -optional = false -python-versions = ">=3.8" -files = [ - {file = "opentelemetry_exporter_otlp-1.28.2-py3-none-any.whl", hash = "sha256:b50f6d4a80e6bcd329e36f360ac486ecfa106ea704d6226ceea05d3a48455f70"}, - {file = "opentelemetry_exporter_otlp-1.28.2.tar.gz", hash = "sha256:45f8d7fe4cdd41526464b542ce91b1fd1ae661be92d2c6cba71a3d948b2bdf70"}, -] - -[package.dependencies] -opentelemetry-exporter-otlp-proto-grpc = "1.28.2" -opentelemetry-exporter-otlp-proto-http = "1.28.2" - -[[package]] -name = "opentelemetry-exporter-otlp-proto-common" -version = "1.28.2" -description = "OpenTelemetry Protobuf encoding" -optional = false -python-versions = ">=3.8" -files = [ - {file = "opentelemetry_exporter_otlp_proto_common-1.28.2-py3-none-any.whl", hash = "sha256:545b1943b574f666c35b3d6cc67cb0b111060727e93a1e2866e346b33bff2a12"}, - {file = "opentelemetry_exporter_otlp_proto_common-1.28.2.tar.gz", hash = "sha256:7aebaa5fc9ff6029374546df1f3a62616fda07fccd9c6a8b7892ec130dd8baca"}, -] - -[package.dependencies] -opentelemetry-proto = "1.28.2" - -[[package]] -name = "opentelemetry-exporter-otlp-proto-grpc" -version = "1.28.2" -description = "OpenTelemetry Collector Protobuf over gRPC Exporter" -optional = false -python-versions = ">=3.8" -files = [ - {file = "opentelemetry_exporter_otlp_proto_grpc-1.28.2-py3-none-any.whl", hash = "sha256:6083d9300863aab35bfce7c172d5fc1007686e6f8dff366eae460cd9a21592e2"}, - {file = "opentelemetry_exporter_otlp_proto_grpc-1.28.2.tar.gz", hash = "sha256:07c10378380bbb01a7f621a5ce833fc1fab816e971140cd3ea1cd587840bc0e6"}, -] - -[package.dependencies] -deprecated = ">=1.2.6" -googleapis-common-protos = ">=1.52,<2.0" -grpcio = ">=1.63.2,<2.0.0" -opentelemetry-api = ">=1.15,<2.0" -opentelemetry-exporter-otlp-proto-common = "1.28.2" -opentelemetry-proto = "1.28.2" -opentelemetry-sdk = ">=1.28.2,<1.29.0" - -[[package]] -name = "opentelemetry-exporter-otlp-proto-http" -version = "1.28.2" -description = "OpenTelemetry Collector Protobuf over HTTP Exporter" -optional = false -python-versions = ">=3.8" -files = [ - {file = "opentelemetry_exporter_otlp_proto_http-1.28.2-py3-none-any.whl", hash = "sha256:af921c18212a56ef4be68458ba475791c0517ebfd8a2ff04669c9cd477d90ff2"}, - {file = "opentelemetry_exporter_otlp_proto_http-1.28.2.tar.gz", hash = "sha256:d9b353d67217f091aaf4cfe8693c170973bb3e90a558992570d97020618fda79"}, -] - -[package.dependencies] -deprecated = ">=1.2.6" -googleapis-common-protos = ">=1.52,<2.0" -opentelemetry-api = ">=1.15,<2.0" -opentelemetry-exporter-otlp-proto-common = "1.28.2" -opentelemetry-proto = "1.28.2" -opentelemetry-sdk = ">=1.28.2,<1.29.0" -requests = ">=2.7,<3.0" - -[[package]] -name = "opentelemetry-instrumentation" -version = "0.49b2" -description = "Instrumentation Tools & Auto Instrumentation for OpenTelemetry Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "opentelemetry_instrumentation-0.49b2-py3-none-any.whl", hash = "sha256:f6d782b0ef9fef4a4c745298651c65f5c532c34cd4c40d230ab5b9f3b3b4d151"}, - {file = "opentelemetry_instrumentation-0.49b2.tar.gz", hash = "sha256:8cf00cc8d9d479e4b72adb9bd267ec544308c602b7188598db5a687e77b298e2"}, -] - -[package.dependencies] -opentelemetry-api = ">=1.4,<2.0" -opentelemetry-semantic-conventions = "0.49b2" -packaging = ">=18.0" -wrapt = ">=1.0.0,<2.0.0" - -[[package]] -name = "opentelemetry-instrumentation-asgi" -version = "0.49b2" -description = "ASGI instrumentation for OpenTelemetry" -optional = false -python-versions = ">=3.8" -files = [ - {file = "opentelemetry_instrumentation_asgi-0.49b2-py3-none-any.whl", hash = "sha256:c8ede13ed781402458a800411cb7ec16a25386dc21de8e5b9a568b386a1dc5f4"}, - {file = "opentelemetry_instrumentation_asgi-0.49b2.tar.gz", hash = "sha256:2af5faf062878330714efe700127b837038c4d9d3b70b451ab2424d5076d6c1c"}, -] - -[package.dependencies] -asgiref = ">=3.0,<4.0" -opentelemetry-api = ">=1.12,<2.0" -opentelemetry-instrumentation = "0.49b2" -opentelemetry-semantic-conventions = "0.49b2" -opentelemetry-util-http = "0.49b2" - -[package.extras] -instruments = ["asgiref (>=3.0,<4.0)"] - -[[package]] -name = "opentelemetry-instrumentation-fastapi" -version = "0.49b2" -description = "OpenTelemetry FastAPI Instrumentation" -optional = false -python-versions = ">=3.8" -files = [ - {file = "opentelemetry_instrumentation_fastapi-0.49b2-py3-none-any.whl", hash = "sha256:c66331d05bf806d7ca4f9579c1db7383aad31a9f6665dbaa2b7c9a4c1e830892"}, - {file = "opentelemetry_instrumentation_fastapi-0.49b2.tar.gz", hash = "sha256:3aa81ed7acf6aa5236d96e90a1218c5e84a9c0dce8fa63bf34ceee6218354b63"}, -] - -[package.dependencies] -opentelemetry-api = ">=1.12,<2.0" -opentelemetry-instrumentation = "0.49b2" -opentelemetry-instrumentation-asgi = "0.49b2" -opentelemetry-semantic-conventions = "0.49b2" -opentelemetry-util-http = "0.49b2" - -[package.extras] -instruments = ["fastapi (>=0.58,<1.0)"] - -[[package]] -name = "opentelemetry-proto" -version = "1.28.2" -description = "OpenTelemetry Python Proto" -optional = false -python-versions = ">=3.8" -files = [ - {file = "opentelemetry_proto-1.28.2-py3-none-any.whl", hash = "sha256:0837498f59db55086462915e5898d0b1a18c1392f6db4d7e937143072a72370c"}, - {file = "opentelemetry_proto-1.28.2.tar.gz", hash = "sha256:7c0d125a6b71af88bfeeda16bfdd0ff63dc2cf0039baf6f49fa133b203e3f566"}, -] - -[package.dependencies] -protobuf = ">=5.0,<6.0" - -[[package]] -name = "opentelemetry-sdk" -version = "1.28.2" -description = "OpenTelemetry Python SDK" -optional = false -python-versions = ">=3.8" -files = [ - {file = "opentelemetry_sdk-1.28.2-py3-none-any.whl", hash = "sha256:93336c129556f1e3ccd21442b94d3521759541521861b2214c499571b85cb71b"}, - {file = "opentelemetry_sdk-1.28.2.tar.gz", hash = "sha256:5fed24c5497e10df30282456fe2910f83377797511de07d14cec0d3e0a1a3110"}, -] - -[package.dependencies] -opentelemetry-api = "1.28.2" -opentelemetry-semantic-conventions = "0.49b2" -typing-extensions = ">=3.7.4" - -[[package]] -name = "opentelemetry-semantic-conventions" -version = "0.49b2" -description = "OpenTelemetry Semantic Conventions" -optional = false -python-versions = ">=3.8" -files = [ - {file = "opentelemetry_semantic_conventions-0.49b2-py3-none-any.whl", hash = "sha256:51e7e1d0daa958782b6c2a8ed05e5f0e7dd0716fc327ac058777b8659649ee54"}, - {file = "opentelemetry_semantic_conventions-0.49b2.tar.gz", hash = "sha256:44e32ce6a5bb8d7c0c617f84b9dc1c8deda1045a07dc16a688cc7cbeab679997"}, -] - -[package.dependencies] -deprecated = ">=1.2.6" -opentelemetry-api = "1.28.2" - -[[package]] -name = "opentelemetry-util-http" -version = "0.49b2" -description = "Web util for OpenTelemetry" -optional = false -python-versions = ">=3.8" -files = [ - {file = "opentelemetry_util_http-0.49b2-py3-none-any.whl", hash = "sha256:e325d6511c6bee7b43170eb0c93261a210ec57e20ab1d7a99838515ef6d2bf58"}, - {file = "opentelemetry_util_http-0.49b2.tar.gz", hash = "sha256:5958c7009f79146bbe98b0fdb23d9d7bf1ea9cd154a1c199029b1a89e0557199"}, -] - -[[package]] -name = "openvino" -version = "2024.4.0" -description = "OpenVINO(TM) Runtime" -optional = false -python-versions = "*" -files = [ - {file = "openvino-2024.4.0-16579-cp310-cp310-macosx_10_15_x86_64.whl", hash = "sha256:8f19d4200ea04ab315a02f8279268851362f434beaa1a70b4f35d2eea1efa402"}, - {file = "openvino-2024.4.0-16579-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4a1da4c8db12559bf2760c8a7c8455e0b4373a20364eaee2c9832a6bb23c88a9"}, - {file = "openvino-2024.4.0-16579-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:98325dec5ca8bd79f19ea10fd45ad4631a33d9ab50e30659a91a6239ae02d8f4"}, - {file = "openvino-2024.4.0-16579-cp310-cp310-manylinux_2_31_aarch64.whl", hash = "sha256:61f68366017262603be0d876e2e9b7015789ee6b319da8f1792da28b733193f8"}, - {file = "openvino-2024.4.0-16579-cp310-cp310-win_amd64.whl", hash = "sha256:a5499d6daa91c358803441561b8792231dd964c5432e838df653c1e5df8de945"}, - {file = "openvino-2024.4.0-16579-cp311-cp311-macosx_10_15_x86_64.whl", hash = "sha256:e333a5f8155ae357f74e54b664d52d85fa4036a5ccea5da49a7df7f78826c1ce"}, - {file = "openvino-2024.4.0-16579-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:b59fb073da74c7ab6d89f2559e3024044f340750b3e519e25975426beb154942"}, - {file = "openvino-2024.4.0-16579-cp311-cp311-manylinux2014_x86_64.whl", hash = "sha256:4bd3e21a70eff12166bae3b5ea824787b8c766f975f39e3f2d93729b47b74cb6"}, - {file = "openvino-2024.4.0-16579-cp311-cp311-manylinux_2_31_aarch64.whl", hash = "sha256:49b578c4d7325e4a519eb66ee5655871a2b7cd5be9d2de0d5109df23301d10a9"}, - {file = "openvino-2024.4.0-16579-cp311-cp311-win_amd64.whl", hash = "sha256:ab42204c185a4f0df5600a0adb4a4a0c97cebdf630696f94f9d06732714385bc"}, - {file = "openvino-2024.4.0-16579-cp312-cp312-macosx_10_15_x86_64.whl", hash = "sha256:d67d30f830fa3147eb37f31f53c9eaee424a4e93f33eed00d8288f304ef0250a"}, - {file = "openvino-2024.4.0-16579-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:50e05d59a90f7950c205d95bb1559e9a8a7d655fe843449d3d426c579fe665f1"}, - {file = "openvino-2024.4.0-16579-cp312-cp312-manylinux2014_x86_64.whl", hash = "sha256:d4cf229fb240b8af44d14686b5bdd94f9eabc70120b9808fc804252fac9ef615"}, - {file = "openvino-2024.4.0-16579-cp312-cp312-manylinux_2_31_aarch64.whl", hash = "sha256:5c8ceeb537019280f69dbe86049c3136e648e94fa9f3da9ef0433975e479ad09"}, - {file = "openvino-2024.4.0-16579-cp312-cp312-win_amd64.whl", hash = "sha256:83af7df6f9b7e2a96dfc5d63a774e6ca3f87d64c7372d14f7ae339387474fc5c"}, - {file = "openvino-2024.4.0-16579-cp38-cp38-macosx_10_15_x86_64.whl", hash = "sha256:b23fd5114bf42f04773f293b16965a541d58e46e6847053f1417cd6e47acddf5"}, - {file = "openvino-2024.4.0-16579-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:fa6e9fffd31c095e052f6cecb9ac3ff95e0c122418b81b9926b7687465475742"}, - {file = "openvino-2024.4.0-16579-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:24b28379bd8d43963829b0b4df957d659269fa647f4f842bd0b3d2f8db76782b"}, - {file = "openvino-2024.4.0-16579-cp38-cp38-manylinux_2_31_aarch64.whl", hash = "sha256:4ed049ab7a2ffb624690e6cf38366383630cd58736320953cc62c78e8b31eae5"}, - {file = "openvino-2024.4.0-16579-cp38-cp38-win_amd64.whl", hash = "sha256:0cccaa53a61629b44408fe0c7537db637be913697b0f3c54c78756e95dfc4498"}, - {file = "openvino-2024.4.0-16579-cp39-cp39-macosx_10_15_x86_64.whl", hash = "sha256:3b0834492ff5bc129debb506a705d26b640bca99a10e641af8f710bd081c9af0"}, - {file = "openvino-2024.4.0-16579-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0e01c22a9989470ebcbb7b05fd07e4297bf6c5ecdca202b05f5dc9d2b3186f39"}, - {file = "openvino-2024.4.0-16579-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:fb4781dd9691dc4cfbc6b69f56f724286699e309d4ddc7894fed3ee77b683e2f"}, - {file = "openvino-2024.4.0-16579-cp39-cp39-manylinux_2_31_aarch64.whl", hash = "sha256:74094f8ad81c2ae8500d3361ac087455316a6583016f693d7e1dd1500217ceec"}, - {file = "openvino-2024.4.0-16579-cp39-cp39-win_amd64.whl", hash = "sha256:be834d95405fe3724f104b54f3836e7053646d952c4f8a5dad2267665f55d88f"}, -] - -[package.dependencies] -numpy = ">=1.16.6,<2.1.0" -openvino-telemetry = ">=2023.2.1" -packaging = "*" - -[[package]] -name = "openvino-telemetry" -version = "2024.5.0" -description = "OpenVINO™ Telemetry package for sending statistics with user's consent, used in combination with other OpenVINO™ packages." -optional = false -python-versions = "*" -files = [ - {file = "openvino_telemetry-2024.5.0-py3-none-any.whl", hash = "sha256:c29073f4b0c4d4229be5d10612b072f90a6aea97bcb17005085248f1404ec2ab"}, - {file = "openvino_telemetry-2024.5.0.tar.gz", hash = "sha256:592d266954903e8f800d984a7573f218af8118a6c15fc623545ea0b5b0fa72e1"}, -] - -[[package]] -name = "opt-einsum" -version = "3.4.0" -description = "Path optimization of einsum functions." -optional = false -python-versions = ">=3.8" -files = [ - {file = "opt_einsum-3.4.0-py3-none-any.whl", hash = "sha256:69bb92469f86a1565195ece4ac0323943e83477171b91d24c35afe028a90d7cd"}, - {file = "opt_einsum-3.4.0.tar.gz", hash = "sha256:96ca72f1b886d148241348783498194c577fa30a8faac108586b14f1ba4473ac"}, -] - -[[package]] -name = "optimum" -version = "1.23.3" -description = "Optimum Library is an extension of the Hugging Face Transformers library, providing a framework to integrate third-party libraries from Hardware Partners and interface with their specific functionality." -optional = false -python-versions = ">=3.7.0" -files = [ - {file = "optimum-1.23.3-py3-none-any.whl", hash = "sha256:ac34b497310e74e919e8eb3bc01cfea48bca304ade3e3ce8a7707d125120001a"}, - {file = "optimum-1.23.3.tar.gz", hash = "sha256:2089bd73d1232686473a80effd53800f8a8c385c02126e80d35c07227c1b9bf5"}, -] - -[package.dependencies] -coloredlogs = "*" -datasets = "*" -huggingface-hub = ">=0.8.0" -numpy = "*" -packaging = "*" -sympy = "*" -torch = ">=1.11" -transformers = ">=4.29" - -[package.extras] -amd = ["optimum-amd"] -benchmark = ["evaluate (>=0.2.0)", "optuna", "scikit-learn", "seqeval", "torchvision", "tqdm"] -dev = ["Pillow", "accelerate", "black (>=23.1,<24.0)", "diffusers (>=0.17.0)", "einops", "parameterized", "pytest (<=8.0.0)", "pytest-xdist", "requests", "rjieba", "ruff (==0.1.5)", "sacremoses", "scikit-learn", "sentencepiece", "timm", "torchaudio", "torchvision"] -diffusers = ["diffusers"] -doc-build = ["accelerate"] -exporters = ["onnx", "onnxruntime", "timm", "transformers (<4.47.0)"] -exporters-gpu = ["onnx", "onnxruntime-gpu", "timm", "transformers (<4.47.0)"] -exporters-tf = ["datasets (<=2.16)", "h5py", "numpy (<1.24.0)", "onnx", "onnxruntime", "tensorflow (>=2.4,<=2.12.1)", "tf2onnx", "timm", "transformers (>=4.26,<4.38)"] -furiosa = ["optimum-furiosa"] -graphcore = ["optimum-graphcore"] -habana = ["optimum-habana", "transformers (>=4.45.0,<4.46.0)"] -intel = ["optimum-intel (>=1.18.0)"] -ipex = ["optimum-intel[ipex] (>=1.18.0)"] -neural-compressor = ["optimum-intel[neural-compressor] (>=1.18.0)"] -neuron = ["optimum-neuron[neuron] (>=0.0.20)", "transformers (>=4.36.2,<4.42.0)"] -neuronx = ["optimum-neuron[neuronx] (>=0.0.20)", "transformers (>=4.36.2,<4.42.0)"] -nncf = ["optimum-intel[nncf] (>=1.18.0)"] -onnxruntime = ["datasets (>=1.2.1)", "evaluate", "onnx", "onnxruntime (>=1.11.0)", "protobuf (>=3.20.1)", "transformers (<4.47.0)"] -onnxruntime-gpu = ["accelerate", "datasets (>=1.2.1)", "evaluate", "onnx", "onnxruntime-gpu (>=1.11.0)", "protobuf (>=3.20.1)", "transformers (<4.47.0)"] -openvino = ["optimum-intel[openvino] (>=1.18.0)"] -quality = ["black (>=23.1,<24.0)", "ruff (==0.1.5)"] -quanto = ["optimum-quanto (>=0.2.4)"] -tests = ["Pillow", "accelerate", "diffusers (>=0.17.0)", "einops", "parameterized", "pytest (<=8.0.0)", "pytest-xdist", "requests", "rjieba", "sacremoses", "scikit-learn", "sentencepiece", "timm", "torchaudio", "torchvision"] - -[[package]] -name = "optimum-intel" -version = "1.21.0" -description = "Optimum Library is an extension of the Hugging Face Transformers library, providing a framework to integrate third-party libraries from Hardware Partners and interface with their specific functionality." -optional = false -python-versions = "*" -files = [ - {file = "optimum-intel-1.21.0.tar.gz", hash = "sha256:82f380f1a50e327a3eedda069d8cd19eb7ccc19e35561739c49ff644dd26441b"}, - {file = "optimum_intel-1.21.0-py3-none-any.whl", hash = "sha256:bd9c3c960a4de423f042266ce9d483530bc2e5afc73e7b5f16a98f5957c04f4e"}, -] - -[package.dependencies] -datasets = ">=1.4.0" -onnx = "*" -optimum = ">=1.23,<2.0" -scipy = "*" -sentencepiece = "*" -setuptools = "*" -torch = ">=1.11" -transformers = ">=4.36,<4.47" - -[package.extras] -diffusers = ["diffusers"] -ipex = ["intel-extension-for-pytorch (>=2.4)", "transformers (>4.45,<4.47)"] -neural-compressor = ["accelerate", "neural-compressor[pt] (>3.0)", "transformers (<4.46)"] -nncf = ["nncf (>=2.14.0)"] -openvino = ["nncf (>=2.14.0)", "openvino (>=2024.5.0)", "openvino-tokenizers (>=2024.5.0)"] -quality = ["black (>=23.1,<24.0)", "ruff (==0.4.4)"] -tests = ["Pillow", "accelerate", "diffusers", "einops", "evaluate", "invisible-watermark (>=0.2.0)", "open-clip-torch (>=2.26.1)", "parameterized", "peft", "py-cpuinfo", "pytest (>=7.2.0,<8.0.0)", "rjieba", "sacremoses", "sentence-transformers", "tiktoken", "timm", "torchaudio", "transformers-stream-generator"] - -[[package]] -name = "optree" -version = "0.13.1" -description = "Optimized PyTree Utilities." -optional = false -python-versions = ">=3.7" -files = [ - {file = "optree-0.13.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:f8e2a546cecc5077ec7d4fe24ec8aede43ca8555b832d115f1ebbb4f3b35bc78"}, - {file = "optree-0.13.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:a3058e2d6a6a7d6362d40f7826258204d9fc2cc4cc8f72eaa3dbff14b6622025"}, - {file = "optree-0.13.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:34b4dd0f5d73170c7740726cadfca973220ccbed9559beb51fab446d9e584d0a"}, - {file = "optree-0.13.1-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d1844b966bb5c95b64af5c6f92f99e4037452b92b18d060fbd80097b5b773d86"}, - {file = "optree-0.13.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d74ff3dfe8599935d52b26a2fe5a43242b4d3f47be6fc1c5ce34c25e116d616"}, - {file = "optree-0.13.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:940c739c9957404a9bbe40ed9289792adaf476cece59eca4fe2f32137fa15a8d"}, - {file = "optree-0.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cfdf7f5cfb5f9b1c0188c667a3dc56551e60a52a918cb8600f84e2f0ad882106"}, - {file = "optree-0.13.1-cp310-cp310-win32.whl", hash = "sha256:135e29e0a69149958003443d43f49af0ebb65f03ae52cddf4142e94d5a36b0c8"}, - {file = "optree-0.13.1-cp310-cp310-win_amd64.whl", hash = "sha256:64032b77420410c3d315a4b9bcbece15853432c155613bb4261d87809b3ee357"}, - {file = "optree-0.13.1-cp310-cp310-win_arm64.whl", hash = "sha256:d0c5a389c108367007151bcfef494f8c2674e4aa23d80ac9163876f5b213dfb6"}, - {file = "optree-0.13.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:c84ecb6977ba7f5d4ba24d0312cbffb74c6860237572701c2716bd811ca9b226"}, - {file = "optree-0.13.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6bc9aae5ee17a38e3657c8c5db1a60923cc10debd177f6781f352362a846feeb"}, - {file = "optree-0.13.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5f94a627c5a2fb776bbfa8f7558db5b918916d37586ba943e74e5f22789c4301"}, - {file = "optree-0.13.1-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b21ac55473476007e317500fd5851d0a0d695a0c51742bd65fe7347d18530da2"}, - {file = "optree-0.13.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:360f2e8f7eb22ff131bc7e3e241035908e6b47d41372eb3d68d77bc7036ddb30"}, - {file = "optree-0.13.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5dec0785bc4bbcabecd7e82be3f189b21f3ce8a1244b243009736912a6d8f737"}, - {file = "optree-0.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:efbffeec15e4a79ed9921dc2227cbba1b64db353c4b72ce4ce83e62fbce9e652"}, - {file = "optree-0.13.1-cp311-cp311-win32.whl", hash = "sha256:f74fb880472572d550d85d2f1563365b6f194e2157a7703790cbd54d9ab5cf29"}, - {file = "optree-0.13.1-cp311-cp311-win_amd64.whl", hash = "sha256:0adc896018f34b5f37f6c92c35ae639877578725c5281cc9d4a0ac2ab2c46f77"}, - {file = "optree-0.13.1-cp311-cp311-win_arm64.whl", hash = "sha256:cf85ba1a7d80b6dc19ef5ca4c17d2ff0290dc9306c5b8b468d51cede287f3c8d"}, - {file = "optree-0.13.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0914ba436d6c0781dc9b04e3b95e06fe5c4fc6a87e94893da971805a3790efe8"}, - {file = "optree-0.13.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:111172446e8a4f0d3be13a853fa28cb46b5679a1c7ca15b2e6db2b43dbbf9efb"}, - {file = "optree-0.13.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:28f083ede9be89503357a6b9e5d304826701596abe13d33e8f6fa2cd85b407fc"}, - {file = "optree-0.13.1-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0aec6da79a6130b4c76073241c0f31c11b96a38e70c7a00f9ed918d7464394ab"}, - {file = "optree-0.13.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a408a43f16840475612c7058eb80b53791bf8b8266c5b3cd07f69697958fd97d"}, - {file = "optree-0.13.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3da76fc43dcc22fe58d11634a04672ca7cc270aed469ac35fd5c78b7b9bc9125"}, - {file = "optree-0.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d866f707b9f3a9f0e670a73fe8feee4993b2dbdbf9eef598e1cf2e5cb2876413"}, - {file = "optree-0.13.1-cp312-cp312-win32.whl", hash = "sha256:bc9c396f64f9aacdf852713bd75f1b9a83f118660fd82e87c937c081b7ddccd1"}, - {file = "optree-0.13.1-cp312-cp312-win_amd64.whl", hash = "sha256:587fb8de8e75e80fe7c7240e269630876bec3ee2038724893370976207813e4b"}, - {file = "optree-0.13.1-cp312-cp312-win_arm64.whl", hash = "sha256:5da0fd26325a07354915cc4e3a9aee797cb75dff07c60d24b3f309457069abd3"}, - {file = "optree-0.13.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:f788b2ad120deb73b4908a74473cd6de79cfb9f33bbe9dcb59cea2e2477d4e28"}, - {file = "optree-0.13.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2909cb42add6bb1a5a2b0243bdd8c4b861bf072f3741e26239481907ac8ad4e6"}, - {file = "optree-0.13.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bbc5fa2ff5090389f3a906567446f01d692bd6fe5cfcc5ae2d5861f24e8e0e4d"}, - {file = "optree-0.13.1-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4711f5cac5a2a49c3d6c9f0eca7b77c22b452170bb33ea01c3214ebb17931db9"}, - {file = "optree-0.13.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6c4ab1d391b89cb88eb3c63383d5eb0930bc21141de9d5acd277feed9e38eb65"}, - {file = "optree-0.13.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b5e5f09c85ae558a6bdaea57e63168082e728e777391393e9e2792f0d15b7b59"}, - {file = "optree-0.13.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9c8ee1e988c634a451146b87d9ebdbf650a75dc1f52a9cffcd89fabb7289321c"}, - {file = "optree-0.13.1-cp313-cp313-win32.whl", hash = "sha256:5b6531cd4eb23fadbbf77faf834e1119da06d7af3154f55786b59953cd87bb8a"}, - {file = "optree-0.13.1-cp313-cp313-win_amd64.whl", hash = "sha256:27d81dc43b522ba47ba7d2e7d91dbb486940348b1bf85caeb0afc2815c0aa492"}, - {file = "optree-0.13.1-cp313-cp313-win_arm64.whl", hash = "sha256:f39c7174a3f3cdc3f5fe6fb4b832f608c40ac174d7567ed6734b2ee952094631"}, - {file = "optree-0.13.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:3010ae24e994f6e00071098d34e98e78eb995b7454a2ef629a0bf7df17441b24"}, - {file = "optree-0.13.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:5b5626c38d4a18a144063db5c1dbb558431d83ca10682324f74665a12214801f"}, - {file = "optree-0.13.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1935639dd498a42367633e3877797e1330e39d44d48bbca1a136bb4dbe4c1bc9"}, - {file = "optree-0.13.1-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:01819c3df950696f32c91faf8d376ae6b695ffdba18f330f1cab6b8e314e4612"}, - {file = "optree-0.13.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:48c29d9c6c64c8dc48c8ee97f7c1d5cdb83e37320f0be0857c06ce4b97994aea"}, - {file = "optree-0.13.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:025d23400b8b579462a251420f0a9ae77d3d3593f84276f3465985731d79d722"}, - {file = "optree-0.13.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:55e82426bef151149cfa41d68ac957730fcd420996c0db8324fca81aa6a810ba"}, - {file = "optree-0.13.1-cp313-cp313t-win32.whl", hash = "sha256:e40f018f522fcfd244688d1b3a360518e636ba7f636385aae0566eae3e7d29bc"}, - {file = "optree-0.13.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d580f1bf23bb352c4db6b3544f282f1ac08dcb0d9ab537d25e56220353438cf7"}, - {file = "optree-0.13.1-cp313-cp313t-win_arm64.whl", hash = "sha256:c4d13f55dbd509d27be3af54d53b4ca0751bc518244ced6d0567e518e51452a2"}, - {file = "optree-0.13.1-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:9824a4258b058282eeaee1b388c8dfc704e49beda957b99177db8bd8249a3abe"}, - {file = "optree-0.13.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d21a8b449e47fdbf118ac1938cf6f97d8a60258bc45c6eba3e61f79feeb1ea8"}, - {file = "optree-0.13.1-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22ce30c9d733c2214fa321c8370e4dfc8c7829970364618b2b5cacffbc9e8949"}, - {file = "optree-0.13.1-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2521840d6aded4dac62c787f50bcb1cacbfcda86b9319d666b4025fa0ba5545a"}, - {file = "optree-0.13.1-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c99891c2ea6050738f7e3de5ab4038736cf33555a752b34a06922ebc9bf0488e"}, - {file = "optree-0.13.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1496f29d5b9633fed4b3f1fd4b7e772d77200eb2370c08ef8e14404309c669b9"}, - {file = "optree-0.13.1-cp37-cp37m-win32.whl", hash = "sha256:63b2749504fe0b9ac3892e26bf55a040ae2973bcf8da1476afe9266a4624be9d"}, - {file = "optree-0.13.1-cp37-cp37m-win_amd64.whl", hash = "sha256:7e1c1da6574d59073b6a6b9a13633217f584ec271ddee4e014c7e422f171e9b4"}, - {file = "optree-0.13.1-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:50dd6a9c8ccef267ab4941f07eac53faf6a00666dce4d209da20525570ffaca3"}, - {file = "optree-0.13.1-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:536ecf0e555432cc939d958590e33e00e75cc254ab0dd269e84fc9de8352db61"}, - {file = "optree-0.13.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:84a6a974aa9dc4119fe502865c8e1755090ac17dbb53a964619a8ece1130831e"}, - {file = "optree-0.13.1-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1891267f9dc76e9ddfed947ff7b755ad438ad483de0537a6b5bcf38478d5a33c"}, - {file = "optree-0.13.1-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:de1ae16ea0410497e50fe2b4d48a83c37bfc87da76e1e82f9cc8c800b4fc8be6"}, - {file = "optree-0.13.1-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d89891e11a55ad83ab3e2810f8571774b2117a6198b4044fa44e0f37f72855e"}, - {file = "optree-0.13.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2063234ef4d58f11277e157d1cf066a8bd07be911da226bff84fc9761b8c1a25"}, - {file = "optree-0.13.1-cp38-cp38-win32.whl", hash = "sha256:5c950c85561c47efb3b1a3771ed1b2b2339bd5e28a0ca42bdcedadccc645eeac"}, - {file = "optree-0.13.1-cp38-cp38-win_amd64.whl", hash = "sha256:f2a9eadcab78ccc04114a6916e9decdbc886bbe04c1b7a7bb32e723209162998"}, - {file = "optree-0.13.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:b94f9081cd810a59faae4dbac8f0447e59ce0fb2d70cfb388dc123c33a9fd1a8"}, - {file = "optree-0.13.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:7abf1c6fe42cb112f0fb169f80d7b26476fa44226d2caf3727b49d210bdc3343"}, - {file = "optree-0.13.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aee696272eece657c2b9e3cf079d8fc7cbbcc8a5c8199dbcd0960ddf7e672fe9"}, - {file = "optree-0.13.1-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5569b95e214d20a1b7acb7d9477fabbd709d334bc34f3257368ea1418b811a44"}, - {file = "optree-0.13.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:100d70cc57af5284649f881e6b266fee3a3e86e82024484eaa64ee18d1587e42"}, - {file = "optree-0.13.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:30b02951c48ecca6fbeb6a3cc7a858267c4d82d1c874481a639061e845168da5"}, - {file = "optree-0.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b291aed475ca5992a0c587ca4b72f074724209e01afca9d015c9a5b2089c68d"}, - {file = "optree-0.13.1-cp39-cp39-win32.whl", hash = "sha256:363939b255a9fa0e077d8297a8301857c859592fc581cee19ec9238e0c145c4a"}, - {file = "optree-0.13.1-cp39-cp39-win_amd64.whl", hash = "sha256:2cba7ca4cf991270a9fdd080b091d2cbdbcbf27858acebda6af40ff57312d1ea"}, - {file = "optree-0.13.1-cp39-cp39-win_arm64.whl", hash = "sha256:04252b5f24e5dae716647848b302f5f7849ecb028f8c617666d1b89a42eb988b"}, - {file = "optree-0.13.1-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:0f1bde49e41a158af28d99fae1bd425fbd664907c53cf595106fb5b35e5cbe26"}, - {file = "optree-0.13.1-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fafeda2e35e3270532132e27b471ea3e3aeac18f7966a4d0469137d1f36046ec"}, - {file = "optree-0.13.1-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ce962f0dd387137817dcda600bd6cf2e1b65103411807b6cdbbd9ffddf1061f6"}, - {file = "optree-0.13.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0f9707547635cfede8d79e4161c066021ffefc401d98bbf8eba452b1355a42c7"}, - {file = "optree-0.13.1-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5c6aed6c5eabda59a91376aca08ba508a06f1c68850216a98743b5f8f55af841"}, - {file = "optree-0.13.1-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:95298846c057cce2e7d114c03c645e86a5381b72388c8c390986bdefe69a759c"}, - {file = "optree-0.13.1-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:37948e2d796db23d6ccd07105b709b827eba26549d34dd2149e95887c89fe9b4"}, - {file = "optree-0.13.1-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:395ac2eb69528613fd0f2ee8706890b7921b8ff3159df53b6e9f67eaf519c5cb"}, - {file = "optree-0.13.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:652287e43fcbb29b8d1821144987e3bc558be4e5eec0d42fce7007cc3ee8e574"}, - {file = "optree-0.13.1-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:3d0161012d80e4865017e10298ac55652cc3ad9a3eae9440229d4bf00b140e01"}, - {file = "optree-0.13.1.tar.gz", hash = "sha256:af67856aa8073d237fe67313d84f8aeafac32c1cef7239c628a2768d02679c43"}, -] - -[package.dependencies] -typing-extensions = ">=4.5.0" - -[package.extras] -benchmark = ["dm-tree (>=0.1,<0.2.0a0)", "jax[cpu] (>=0.4.6,<0.5.0a0)", "pandas", "tabulate", "termcolor", "torch (>=2.0,<2.4.0a0)", "torchvision"] -docs = ["docutils", "jax[cpu]", "numpy", "sphinx", "sphinx-autoapi", "sphinx-autobuild", "sphinx-autodoc-typehints", "sphinx-copybutton", "sphinx-rtd-theme", "sphinxcontrib-bibtex", "torch"] -jax = ["jax"] -lint = ["black", "cpplint", "doc8", "flake8", "flake8-bugbear", "flake8-comprehensions", "flake8-docstrings", "flake8-pyi", "flake8-simplify", "isort", "mypy", "pre-commit", "pydocstyle", "pyenchant", "pylint[spelling]", "ruff", "xdoctest"] -numpy = ["numpy"] -test = ["pytest", "pytest-cov", "pytest-xdist"] -torch = ["torch"] - [[package]] name = "packaging" version = "24.2" @@ -2343,389 +451,6 @@ files = [ {file = "packaging-24.2.tar.gz", hash = "sha256:c228a6dc5e932d346bc5739379109d49e8853dd8223571c7c5b55260edc0b97f"}, ] -[[package]] -name = "pandas" -version = "2.2.3" -description = "Powerful data structures for data analysis, time series, and statistics" -optional = false -python-versions = ">=3.9" -files = [ - {file = "pandas-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:1948ddde24197a0f7add2bdc4ca83bf2b1ef84a1bc8ccffd95eda17fd836ecb5"}, - {file = "pandas-2.2.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:381175499d3802cde0eabbaf6324cce0c4f5d52ca6f8c377c29ad442f50f6348"}, - {file = "pandas-2.2.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d9c45366def9a3dd85a6454c0e7908f2b3b8e9c138f5dc38fed7ce720d8453ed"}, - {file = "pandas-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:86976a1c5b25ae3f8ccae3a5306e443569ee3c3faf444dfd0f41cda24667ad57"}, - {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:b8661b0238a69d7aafe156b7fa86c44b881387509653fdf857bebc5e4008ad42"}, - {file = "pandas-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:37e0aced3e8f539eccf2e099f65cdb9c8aa85109b0be6e93e2baff94264bdc6f"}, - {file = "pandas-2.2.3-cp310-cp310-win_amd64.whl", hash = "sha256:56534ce0746a58afaf7942ba4863e0ef81c9c50d3f0ae93e9497d6a41a057645"}, - {file = "pandas-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:66108071e1b935240e74525006034333f98bcdb87ea116de573a6a0dccb6c039"}, - {file = "pandas-2.2.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7c2875855b0ff77b2a64a0365e24455d9990730d6431b9e0ee18ad8acee13dbd"}, - {file = "pandas-2.2.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:cd8d0c3be0515c12fed0bdbae072551c8b54b7192c7b1fda0ba56059a0179698"}, - {file = "pandas-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c124333816c3a9b03fbeef3a9f230ba9a737e9e5bb4060aa2107a86cc0a497fc"}, - {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:63cc132e40a2e084cf01adf0775b15ac515ba905d7dcca47e9a251819c575ef3"}, - {file = "pandas-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:29401dbfa9ad77319367d36940cd8a0b3a11aba16063e39632d98b0e931ddf32"}, - {file = "pandas-2.2.3-cp311-cp311-win_amd64.whl", hash = "sha256:3fc6873a41186404dad67245896a6e440baacc92f5b716ccd1bc9ed2995ab2c5"}, - {file = "pandas-2.2.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b1d432e8d08679a40e2a6d8b2f9770a5c21793a6f9f47fdd52c5ce1948a5a8a9"}, - {file = "pandas-2.2.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a5a1595fe639f5988ba6a8e5bc9649af3baf26df3998a0abe56c02609392e0a4"}, - {file = "pandas-2.2.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:5de54125a92bb4d1c051c0659e6fcb75256bf799a732a87184e5ea503965bce3"}, - {file = "pandas-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fffb8ae78d8af97f849404f21411c95062db1496aeb3e56f146f0355c9989319"}, - {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6dfcb5ee8d4d50c06a51c2fffa6cff6272098ad6540aed1a76d15fb9318194d8"}, - {file = "pandas-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:062309c1b9ea12a50e8ce661145c6aab431b1e99530d3cd60640e255778bd43a"}, - {file = "pandas-2.2.3-cp312-cp312-win_amd64.whl", hash = "sha256:59ef3764d0fe818125a5097d2ae867ca3fa64df032331b7e0917cf5d7bf66b13"}, - {file = "pandas-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:f00d1345d84d8c86a63e476bb4955e46458b304b9575dcf71102b5c705320015"}, - {file = "pandas-2.2.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3508d914817e153ad359d7e069d752cdd736a247c322d932eb89e6bc84217f28"}, - {file = "pandas-2.2.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:22a9d949bfc9a502d320aa04e5d02feab689d61da4e7764b62c30b991c42c5f0"}, - {file = "pandas-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f3a255b2c19987fbbe62a9dfd6cff7ff2aa9ccab3fc75218fd4b7530f01efa24"}, - {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:800250ecdadb6d9c78eae4990da62743b857b470883fa27f652db8bdde7f6659"}, - {file = "pandas-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6374c452ff3ec675a8f46fd9ab25c4ad0ba590b71cf0656f8b6daa5202bca3fb"}, - {file = "pandas-2.2.3-cp313-cp313-win_amd64.whl", hash = "sha256:61c5ad4043f791b61dd4752191d9f07f0ae412515d59ba8f005832a532f8736d"}, - {file = "pandas-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:3b71f27954685ee685317063bf13c7709a7ba74fc996b84fc6821c59b0f06468"}, - {file = "pandas-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:38cf8125c40dae9d5acc10fa66af8ea6fdf760b2714ee482ca691fc66e6fcb18"}, - {file = "pandas-2.2.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:ba96630bc17c875161df3818780af30e43be9b166ce51c9a18c1feae342906c2"}, - {file = "pandas-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1db71525a1538b30142094edb9adc10be3f3e176748cd7acc2240c2f2e5aa3a4"}, - {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:15c0e1e02e93116177d29ff83e8b1619c93ddc9c49083f237d4312337a61165d"}, - {file = "pandas-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:ad5b65698ab28ed8d7f18790a0dc58005c7629f227be9ecc1072aa74c0c1d43a"}, - {file = "pandas-2.2.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bc6b93f9b966093cb0fd62ff1a7e4c09e6d546ad7c1de191767baffc57628f39"}, - {file = "pandas-2.2.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5dbca4c1acd72e8eeef4753eeca07de9b1db4f398669d5994086f788a5d7cc30"}, - {file = "pandas-2.2.3-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:8cd6d7cc958a3910f934ea8dbdf17b2364827bb4dafc38ce6eef6bb3d65ff09c"}, - {file = "pandas-2.2.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:99df71520d25fade9db7c1076ac94eb994f4d2673ef2aa2e86ee039b6746d20c"}, - {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31d0ced62d4ea3e231a9f228366919a5ea0b07440d9d4dac345376fd8e1477ea"}, - {file = "pandas-2.2.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7eee9e7cea6adf3e3d24e304ac6b8300646e2a5d1cd3a3c2abed9101b0846761"}, - {file = "pandas-2.2.3-cp39-cp39-win_amd64.whl", hash = "sha256:4850ba03528b6dd51d6c5d273c46f183f39a9baf3f0143e566b89450965b105e"}, - {file = "pandas-2.2.3.tar.gz", hash = "sha256:4f18ba62b61d7e192368b84517265a99b4d7ee8912f8708660fb4a366cc82667"}, -] - -[package.dependencies] -numpy = {version = ">=1.26.0", markers = "python_version >= \"3.12\""} -python-dateutil = ">=2.8.2" -pytz = ">=2020.1" -tzdata = ">=2022.7" - -[package.extras] -all = ["PyQt5 (>=5.15.9)", "SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)", "beautifulsoup4 (>=4.11.2)", "bottleneck (>=1.3.6)", "dataframe-api-compat (>=0.1.7)", "fastparquet (>=2022.12.0)", "fsspec (>=2022.11.0)", "gcsfs (>=2022.11.0)", "html5lib (>=1.1)", "hypothesis (>=6.46.1)", "jinja2 (>=3.1.2)", "lxml (>=4.9.2)", "matplotlib (>=3.6.3)", "numba (>=0.56.4)", "numexpr (>=2.8.4)", "odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "pandas-gbq (>=0.19.0)", "psycopg2 (>=2.9.6)", "pyarrow (>=10.0.1)", "pymysql (>=1.0.2)", "pyreadstat (>=1.2.0)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "qtpy (>=2.3.0)", "s3fs (>=2022.11.0)", "scipy (>=1.10.0)", "tables (>=3.8.0)", "tabulate (>=0.9.0)", "xarray (>=2022.12.0)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)", "zstandard (>=0.19.0)"] -aws = ["s3fs (>=2022.11.0)"] -clipboard = ["PyQt5 (>=5.15.9)", "qtpy (>=2.3.0)"] -compression = ["zstandard (>=0.19.0)"] -computation = ["scipy (>=1.10.0)", "xarray (>=2022.12.0)"] -consortium-standard = ["dataframe-api-compat (>=0.1.7)"] -excel = ["odfpy (>=1.4.1)", "openpyxl (>=3.1.0)", "python-calamine (>=0.1.7)", "pyxlsb (>=1.0.10)", "xlrd (>=2.0.1)", "xlsxwriter (>=3.0.5)"] -feather = ["pyarrow (>=10.0.1)"] -fss = ["fsspec (>=2022.11.0)"] -gcp = ["gcsfs (>=2022.11.0)", "pandas-gbq (>=0.19.0)"] -hdf5 = ["tables (>=3.8.0)"] -html = ["beautifulsoup4 (>=4.11.2)", "html5lib (>=1.1)", "lxml (>=4.9.2)"] -mysql = ["SQLAlchemy (>=2.0.0)", "pymysql (>=1.0.2)"] -output-formatting = ["jinja2 (>=3.1.2)", "tabulate (>=0.9.0)"] -parquet = ["pyarrow (>=10.0.1)"] -performance = ["bottleneck (>=1.3.6)", "numba (>=0.56.4)", "numexpr (>=2.8.4)"] -plot = ["matplotlib (>=3.6.3)"] -postgresql = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "psycopg2 (>=2.9.6)"] -pyarrow = ["pyarrow (>=10.0.1)"] -spss = ["pyreadstat (>=1.2.0)"] -sql-other = ["SQLAlchemy (>=2.0.0)", "adbc-driver-postgresql (>=0.8.0)", "adbc-driver-sqlite (>=0.8.0)"] -test = ["hypothesis (>=6.46.1)", "pytest (>=7.3.2)", "pytest-xdist (>=2.2.0)"] -xml = ["lxml (>=4.9.2)"] - -[[package]] -name = "pillow" -version = "11.0.0" -description = "Python Imaging Library (Fork)" -optional = false -python-versions = ">=3.9" -files = [ - {file = "pillow-11.0.0-cp310-cp310-macosx_10_10_x86_64.whl", hash = "sha256:6619654954dc4936fcff82db8eb6401d3159ec6be81e33c6000dfd76ae189947"}, - {file = "pillow-11.0.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:b3c5ac4bed7519088103d9450a1107f76308ecf91d6dabc8a33a2fcfb18d0fba"}, - {file = "pillow-11.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a65149d8ada1055029fcb665452b2814fe7d7082fcb0c5bed6db851cb69b2086"}, - {file = "pillow-11.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:88a58d8ac0cc0e7f3a014509f0455248a76629ca9b604eca7dc5927cc593c5e9"}, - {file = "pillow-11.0.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:c26845094b1af3c91852745ae78e3ea47abf3dbcd1cf962f16b9a5fbe3ee8488"}, - {file = "pillow-11.0.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:1a61b54f87ab5786b8479f81c4b11f4d61702830354520837f8cc791ebba0f5f"}, - {file = "pillow-11.0.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:674629ff60030d144b7bca2b8330225a9b11c482ed408813924619c6f302fdbb"}, - {file = "pillow-11.0.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:598b4e238f13276e0008299bd2482003f48158e2b11826862b1eb2ad7c768b97"}, - {file = "pillow-11.0.0-cp310-cp310-win32.whl", hash = "sha256:9a0f748eaa434a41fccf8e1ee7a3eed68af1b690e75328fd7a60af123c193b50"}, - {file = "pillow-11.0.0-cp310-cp310-win_amd64.whl", hash = "sha256:a5629742881bcbc1f42e840af185fd4d83a5edeb96475a575f4da50d6ede337c"}, - {file = "pillow-11.0.0-cp310-cp310-win_arm64.whl", hash = "sha256:ee217c198f2e41f184f3869f3e485557296d505b5195c513b2bfe0062dc537f1"}, - {file = "pillow-11.0.0-cp311-cp311-macosx_10_10_x86_64.whl", hash = "sha256:1c1d72714f429a521d8d2d018badc42414c3077eb187a59579f28e4270b4b0fc"}, - {file = "pillow-11.0.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:499c3a1b0d6fc8213519e193796eb1a86a1be4b1877d678b30f83fd979811d1a"}, - {file = "pillow-11.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c8b2351c85d855293a299038e1f89db92a2f35e8d2f783489c6f0b2b5f3fe8a3"}, - {file = "pillow-11.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6f4dba50cfa56f910241eb7f883c20f1e7b1d8f7d91c750cd0b318bad443f4d5"}, - {file = "pillow-11.0.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:5ddbfd761ee00c12ee1be86c9c0683ecf5bb14c9772ddbd782085779a63dd55b"}, - {file = "pillow-11.0.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:45c566eb10b8967d71bf1ab8e4a525e5a93519e29ea071459ce517f6b903d7fa"}, - {file = "pillow-11.0.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b4fd7bd29610a83a8c9b564d457cf5bd92b4e11e79a4ee4716a63c959699b306"}, - {file = "pillow-11.0.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:cb929ca942d0ec4fac404cbf520ee6cac37bf35be479b970c4ffadf2b6a1cad9"}, - {file = "pillow-11.0.0-cp311-cp311-win32.whl", hash = "sha256:006bcdd307cc47ba43e924099a038cbf9591062e6c50e570819743f5607404f5"}, - {file = "pillow-11.0.0-cp311-cp311-win_amd64.whl", hash = "sha256:52a2d8323a465f84faaba5236567d212c3668f2ab53e1c74c15583cf507a0291"}, - {file = "pillow-11.0.0-cp311-cp311-win_arm64.whl", hash = "sha256:16095692a253047fe3ec028e951fa4221a1f3ed3d80c397e83541a3037ff67c9"}, - {file = "pillow-11.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2c0a187a92a1cb5ef2c8ed5412dd8d4334272617f532d4ad4de31e0495bd923"}, - {file = "pillow-11.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:084a07ef0821cfe4858fe86652fffac8e187b6ae677e9906e192aafcc1b69903"}, - {file = "pillow-11.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8069c5179902dcdce0be9bfc8235347fdbac249d23bd90514b7a47a72d9fecf4"}, - {file = "pillow-11.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f02541ef64077f22bf4924f225c0fd1248c168f86e4b7abdedd87d6ebaceab0f"}, - {file = "pillow-11.0.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:fcb4621042ac4b7865c179bb972ed0da0218a076dc1820ffc48b1d74c1e37fe9"}, - {file = "pillow-11.0.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:00177a63030d612148e659b55ba99527803288cea7c75fb05766ab7981a8c1b7"}, - {file = "pillow-11.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:8853a3bf12afddfdf15f57c4b02d7ded92c7a75a5d7331d19f4f9572a89c17e6"}, - {file = "pillow-11.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3107c66e43bda25359d5ef446f59c497de2b5ed4c7fdba0894f8d6cf3822dafc"}, - {file = "pillow-11.0.0-cp312-cp312-win32.whl", hash = "sha256:86510e3f5eca0ab87429dd77fafc04693195eec7fd6a137c389c3eeb4cfb77c6"}, - {file = "pillow-11.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:8ec4a89295cd6cd4d1058a5e6aec6bf51e0eaaf9714774e1bfac7cfc9051db47"}, - {file = "pillow-11.0.0-cp312-cp312-win_arm64.whl", hash = "sha256:27a7860107500d813fcd203b4ea19b04babe79448268403172782754870dac25"}, - {file = "pillow-11.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:bcd1fb5bb7b07f64c15618c89efcc2cfa3e95f0e3bcdbaf4642509de1942a699"}, - {file = "pillow-11.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:0e038b0745997c7dcaae350d35859c9715c71e92ffb7e0f4a8e8a16732150f38"}, - {file = "pillow-11.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0ae08bd8ffc41aebf578c2af2f9d8749d91f448b3bfd41d7d9ff573d74f2a6b2"}, - {file = "pillow-11.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d69bfd8ec3219ae71bcde1f942b728903cad25fafe3100ba2258b973bd2bc1b2"}, - {file = "pillow-11.0.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:61b887f9ddba63ddf62fd02a3ba7add935d053b6dd7d58998c630e6dbade8527"}, - {file = "pillow-11.0.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:c6a660307ca9d4867caa8d9ca2c2658ab685de83792d1876274991adec7b93fa"}, - {file = "pillow-11.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:73e3a0200cdda995c7e43dd47436c1548f87a30bb27fb871f352a22ab8dcf45f"}, - {file = "pillow-11.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:fba162b8872d30fea8c52b258a542c5dfd7b235fb5cb352240c8d63b414013eb"}, - {file = "pillow-11.0.0-cp313-cp313-win32.whl", hash = "sha256:f1b82c27e89fffc6da125d5eb0ca6e68017faf5efc078128cfaa42cf5cb38798"}, - {file = "pillow-11.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:8ba470552b48e5835f1d23ecb936bb7f71d206f9dfeee64245f30c3270b994de"}, - {file = "pillow-11.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:846e193e103b41e984ac921b335df59195356ce3f71dcfd155aa79c603873b84"}, - {file = "pillow-11.0.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:4ad70c4214f67d7466bea6a08061eba35c01b1b89eaa098040a35272a8efb22b"}, - {file = "pillow-11.0.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:6ec0d5af64f2e3d64a165f490d96368bb5dea8b8f9ad04487f9ab60dc4bb6003"}, - {file = "pillow-11.0.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c809a70e43c7977c4a42aefd62f0131823ebf7dd73556fa5d5950f5b354087e2"}, - {file = "pillow-11.0.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:4b60c9520f7207aaf2e1d94de026682fc227806c6e1f55bba7606d1c94dd623a"}, - {file = "pillow-11.0.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:1e2688958a840c822279fda0086fec1fdab2f95bf2b717b66871c4ad9859d7e8"}, - {file = "pillow-11.0.0-cp313-cp313t-win32.whl", hash = "sha256:607bbe123c74e272e381a8d1957083a9463401f7bd01287f50521ecb05a313f8"}, - {file = "pillow-11.0.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5c39ed17edea3bc69c743a8dd3e9853b7509625c2462532e62baa0732163a904"}, - {file = "pillow-11.0.0-cp313-cp313t-win_arm64.whl", hash = "sha256:75acbbeb05b86bc53cbe7b7e6fe00fbcf82ad7c684b3ad82e3d711da9ba287d3"}, - {file = "pillow-11.0.0-cp39-cp39-macosx_10_10_x86_64.whl", hash = "sha256:2e46773dc9f35a1dd28bd6981332fd7f27bec001a918a72a79b4133cf5291dba"}, - {file = "pillow-11.0.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:2679d2258b7f1192b378e2893a8a0a0ca472234d4c2c0e6bdd3380e8dfa21b6a"}, - {file = "pillow-11.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:eda2616eb2313cbb3eebbe51f19362eb434b18e3bb599466a1ffa76a033fb916"}, - {file = "pillow-11.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:20ec184af98a121fb2da42642dea8a29ec80fc3efbaefb86d8fdd2606619045d"}, - {file = "pillow-11.0.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:8594f42df584e5b4bb9281799698403f7af489fba84c34d53d1c4bfb71b7c4e7"}, - {file = "pillow-11.0.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:c12b5ae868897c7338519c03049a806af85b9b8c237b7d675b8c5e089e4a618e"}, - {file = "pillow-11.0.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:70fbbdacd1d271b77b7721fe3cdd2d537bbbd75d29e6300c672ec6bb38d9672f"}, - {file = "pillow-11.0.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5178952973e588b3f1360868847334e9e3bf49d19e169bbbdfaf8398002419ae"}, - {file = "pillow-11.0.0-cp39-cp39-win32.whl", hash = "sha256:8c676b587da5673d3c75bd67dd2a8cdfeb282ca38a30f37950511766b26858c4"}, - {file = "pillow-11.0.0-cp39-cp39-win_amd64.whl", hash = "sha256:94f3e1780abb45062287b4614a5bc0874519c86a777d4a7ad34978e86428b8dd"}, - {file = "pillow-11.0.0-cp39-cp39-win_arm64.whl", hash = "sha256:290f2cc809f9da7d6d622550bbf4c1e57518212da51b6a30fe8e0a270a5b78bd"}, - {file = "pillow-11.0.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:1187739620f2b365de756ce086fdb3604573337cc28a0d3ac4a01ab6b2d2a6d2"}, - {file = "pillow-11.0.0-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:fbbcb7b57dc9c794843e3d1258c0fbf0f48656d46ffe9e09b63bbd6e8cd5d0a2"}, - {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5d203af30149ae339ad1b4f710d9844ed8796e97fda23ffbc4cc472968a47d0b"}, - {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:21a0d3b115009ebb8ac3d2ebec5c2982cc693da935f4ab7bb5c8ebe2f47d36f2"}, - {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_28_aarch64.whl", hash = "sha256:73853108f56df97baf2bb8b522f3578221e56f646ba345a372c78326710d3830"}, - {file = "pillow-11.0.0-pp310-pypy310_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:e58876c91f97b0952eb766123bfef372792ab3f4e3e1f1a2267834c2ab131734"}, - {file = "pillow-11.0.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:224aaa38177597bb179f3ec87eeefcce8e4f85e608025e9cfac60de237ba6316"}, - {file = "pillow-11.0.0-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:5bd2d3bdb846d757055910f0a59792d33b555800813c3b39ada1829c372ccb06"}, - {file = "pillow-11.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:375b8dd15a1f5d2feafff536d47e22f69625c1aa92f12b339ec0b2ca40263273"}, - {file = "pillow-11.0.0-pp39-pypy39_pp73-manylinux_2_28_x86_64.whl", hash = "sha256:daffdf51ee5db69a82dd127eabecce20729e21f7a3680cf7cbb23f0829189790"}, - {file = "pillow-11.0.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7326a1787e3c7b0429659e0a944725e1b03eeaa10edd945a86dead1913383944"}, - {file = "pillow-11.0.0.tar.gz", hash = "sha256:72bacbaf24ac003fea9bff9837d1eedb6088758d41e100c1552930151f677739"}, -] - -[package.extras] -docs = ["furo", "olefile", "sphinx (>=8.1)", "sphinx-copybutton", "sphinx-inline-tabs", "sphinxext-opengraph"] -fpx = ["olefile"] -mic = ["olefile"] -tests = ["check-manifest", "coverage", "defusedxml", "markdown2", "olefile", "packaging", "pyroma", "pytest", "pytest-cov", "pytest-timeout"] -typing = ["typing-extensions"] -xmp = ["defusedxml"] - -[[package]] -name = "pluggy" -version = "1.5.0" -description = "plugin and hook calling mechanisms for python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, - {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, -] - -[package.extras] -dev = ["pre-commit", "tox"] -testing = ["pytest", "pytest-benchmark"] - -[[package]] -name = "propcache" -version = "0.2.1" -description = "Accelerated property cache" -optional = false -python-versions = ">=3.9" -files = [ - {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:6b3f39a85d671436ee3d12c017f8fdea38509e4f25b28eb25877293c98c243f6"}, - {file = "propcache-0.2.1-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:39d51fbe4285d5db5d92a929e3e21536ea3dd43732c5b177c7ef03f918dff9f2"}, - {file = "propcache-0.2.1-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6445804cf4ec763dc70de65a3b0d9954e868609e83850a47ca4f0cb64bd79fea"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f9479aa06a793c5aeba49ce5c5692ffb51fcd9a7016e017d555d5e2b0045d212"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d9631c5e8b5b3a0fda99cb0d29c18133bca1e18aea9effe55adb3da1adef80d3"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3156628250f46a0895f1f36e1d4fbe062a1af8718ec3ebeb746f1d23f0c5dc4d"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6b6fb63ae352e13748289f04f37868099e69dba4c2b3e271c46061e82c745634"}, - {file = "propcache-0.2.1-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:887d9b0a65404929641a9fabb6452b07fe4572b269d901d622d8a34a4e9043b2"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:a96dc1fa45bd8c407a0af03b2d5218392729e1822b0c32e62c5bf7eeb5fb3958"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:a7e65eb5c003a303b94aa2c3852ef130230ec79e349632d030e9571b87c4698c"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:999779addc413181912e984b942fbcc951be1f5b3663cd80b2687758f434c583"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:19a0f89a7bb9d8048d9c4370c9c543c396e894c76be5525f5e1ad287f1750ddf"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:1ac2f5fe02fa75f56e1ad473f1175e11f475606ec9bd0be2e78e4734ad575034"}, - {file = "propcache-0.2.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:574faa3b79e8ebac7cb1d7930f51184ba1ccf69adfdec53a12f319a06030a68b"}, - {file = "propcache-0.2.1-cp310-cp310-win32.whl", hash = "sha256:03ff9d3f665769b2a85e6157ac8b439644f2d7fd17615a82fa55739bc97863f4"}, - {file = "propcache-0.2.1-cp310-cp310-win_amd64.whl", hash = "sha256:2d3af2e79991102678f53e0dbf4c35de99b6b8b58f29a27ca0325816364caaba"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:1ffc3cca89bb438fb9c95c13fc874012f7b9466b89328c3c8b1aa93cdcfadd16"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:f174bbd484294ed9fdf09437f889f95807e5f229d5d93588d34e92106fbf6717"}, - {file = "propcache-0.2.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:70693319e0b8fd35dd863e3e29513875eb15c51945bf32519ef52927ca883bc3"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b480c6a4e1138e1aa137c0079b9b6305ec6dcc1098a8ca5196283e8a49df95a9"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d27b84d5880f6d8aa9ae3edb253c59d9f6642ffbb2c889b78b60361eed449787"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:857112b22acd417c40fa4595db2fe28ab900c8c5fe4670c7989b1c0230955465"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:cf6c4150f8c0e32d241436526f3c3f9cbd34429492abddbada2ffcff506c51af"}, - {file = "propcache-0.2.1-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:66d4cfda1d8ed687daa4bc0274fcfd5267873db9a5bc0418c2da19273040eeb7"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:c2f992c07c0fca81655066705beae35fc95a2fa7366467366db627d9f2ee097f"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:4a571d97dbe66ef38e472703067021b1467025ec85707d57e78711c085984e54"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:bb6178c241278d5fe853b3de743087be7f5f4c6f7d6d22a3b524d323eecec505"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:ad1af54a62ffe39cf34db1aa6ed1a1873bd548f6401db39d8e7cd060b9211f82"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e7048abd75fe40712005bcfc06bb44b9dfcd8e101dda2ecf2f5aa46115ad07ca"}, - {file = "propcache-0.2.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:160291c60081f23ee43d44b08a7e5fb76681221a8e10b3139618c5a9a291b84e"}, - {file = "propcache-0.2.1-cp311-cp311-win32.whl", hash = "sha256:819ce3b883b7576ca28da3861c7e1a88afd08cc8c96908e08a3f4dd64a228034"}, - {file = "propcache-0.2.1-cp311-cp311-win_amd64.whl", hash = "sha256:edc9fc7051e3350643ad929df55c451899bb9ae6d24998a949d2e4c87fb596d3"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:081a430aa8d5e8876c6909b67bd2d937bfd531b0382d3fdedb82612c618bc41a"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d2ccec9ac47cf4e04897619c0e0c1a48c54a71bdf045117d3a26f80d38ab1fb0"}, - {file = "propcache-0.2.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:14d86fe14b7e04fa306e0c43cdbeebe6b2c2156a0c9ce56b815faacc193e320d"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:049324ee97bb67285b49632132db351b41e77833678432be52bdd0289c0e05e4"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1cd9a1d071158de1cc1c71a26014dcdfa7dd3d5f4f88c298c7f90ad6f27bb46d"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:98110aa363f1bb4c073e8dcfaefd3a5cea0f0834c2aab23dda657e4dab2f53b5"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:647894f5ae99c4cf6bb82a1bb3a796f6e06af3caa3d32e26d2350d0e3e3faf24"}, - {file = "propcache-0.2.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bfd3223c15bebe26518d58ccf9a39b93948d3dcb3e57a20480dfdd315356baff"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:d71264a80f3fcf512eb4f18f59423fe82d6e346ee97b90625f283df56aee103f"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:e73091191e4280403bde6c9a52a6999d69cdfde498f1fdf629105247599b57ec"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3935bfa5fede35fb202c4b569bb9c042f337ca4ff7bd540a0aa5e37131659348"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f508b0491767bb1f2b87fdfacaba5f7eddc2f867740ec69ece6d1946d29029a6"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1672137af7c46662a1c2be1e8dc78cb6d224319aaa40271c9257d886be4363a6"}, - {file = "propcache-0.2.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:b74c261802d3d2b85c9df2dfb2fa81b6f90deeef63c2db9f0e029a3cac50b518"}, - {file = "propcache-0.2.1-cp312-cp312-win32.whl", hash = "sha256:d09c333d36c1409d56a9d29b3a1b800a42c76a57a5a8907eacdbce3f18768246"}, - {file = "propcache-0.2.1-cp312-cp312-win_amd64.whl", hash = "sha256:c214999039d4f2a5b2073ac506bba279945233da8c786e490d411dfc30f855c1"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:aca405706e0b0a44cc6bfd41fbe89919a6a56999157f6de7e182a990c36e37bc"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:12d1083f001ace206fe34b6bdc2cb94be66d57a850866f0b908972f90996b3e9"}, - {file = "propcache-0.2.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:d93f3307ad32a27bda2e88ec81134b823c240aa3abb55821a8da553eed8d9439"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba278acf14471d36316159c94a802933d10b6a1e117b8554fe0d0d9b75c9d536"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4e6281aedfca15301c41f74d7005e6e3f4ca143584ba696ac69df4f02f40d629"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5b750a8e5a1262434fb1517ddf64b5de58327f1adc3524a5e44c2ca43305eb0b"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bf72af5e0fb40e9babf594308911436c8efde3cb5e75b6f206c34ad18be5c052"}, - {file = "propcache-0.2.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b2d0a12018b04f4cb820781ec0dffb5f7c7c1d2a5cd22bff7fb055a2cb19ebce"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e800776a79a5aabdb17dcc2346a7d66d0777e942e4cd251defeb084762ecd17d"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:4160d9283bd382fa6c0c2b5e017acc95bc183570cd70968b9202ad6d8fc48dce"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:30b43e74f1359353341a7adb783c8f1b1c676367b011709f466f42fda2045e95"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:58791550b27d5488b1bb52bc96328456095d96206a250d28d874fafe11b3dfaf"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:0f022d381747f0dfe27e99d928e31bc51a18b65bb9e481ae0af1380a6725dd1f"}, - {file = "propcache-0.2.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:297878dc9d0a334358f9b608b56d02e72899f3b8499fc6044133f0d319e2ec30"}, - {file = "propcache-0.2.1-cp313-cp313-win32.whl", hash = "sha256:ddfab44e4489bd79bda09d84c430677fc7f0a4939a73d2bba3073036f487a0a6"}, - {file = "propcache-0.2.1-cp313-cp313-win_amd64.whl", hash = "sha256:556fc6c10989f19a179e4321e5d678db8eb2924131e64652a51fe83e4c3db0e1"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:6a9a8c34fb7bb609419a211e59da8887eeca40d300b5ea8e56af98f6fbbb1541"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:ae1aa1cd222c6d205853b3013c69cd04515f9d6ab6de4b0603e2e1c33221303e"}, - {file = "propcache-0.2.1-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:accb6150ce61c9c4b7738d45550806aa2b71c7668c6942f17b0ac182b6142fd4"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5eee736daafa7af6d0a2dc15cc75e05c64f37fc37bafef2e00d77c14171c2097"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f7a31fc1e1bd362874863fdeed71aed92d348f5336fd84f2197ba40c59f061bd"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cba4cfa1052819d16699e1d55d18c92b6e094d4517c41dd231a8b9f87b6fa681"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f089118d584e859c62b3da0892b88a83d611c2033ac410e929cb6754eec0ed16"}, - {file = "propcache-0.2.1-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:781e65134efaf88feb447e8c97a51772aa75e48b794352f94cb7ea717dedda0d"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:31f5af773530fd3c658b32b6bdc2d0838543de70eb9a2156c03e410f7b0d3aae"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:a7a078f5d37bee6690959c813977da5291b24286e7b962e62a94cec31aa5188b"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:cea7daf9fc7ae6687cf1e2c049752f19f146fdc37c2cc376e7d0032cf4f25347"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:8b3489ff1ed1e8315674d0775dc7d2195fb13ca17b3808721b54dbe9fd020faf"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:9403db39be1393618dd80c746cb22ccda168efce239c73af13c3763ef56ffc04"}, - {file = "propcache-0.2.1-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:5d97151bc92d2b2578ff7ce779cdb9174337390a535953cbb9452fb65164c587"}, - {file = "propcache-0.2.1-cp39-cp39-win32.whl", hash = "sha256:9caac6b54914bdf41bcc91e7eb9147d331d29235a7c967c150ef5df6464fd1bb"}, - {file = "propcache-0.2.1-cp39-cp39-win_amd64.whl", hash = "sha256:92fc4500fcb33899b05ba73276dfb684a20d31caa567b7cb5252d48f896a91b1"}, - {file = "propcache-0.2.1-py3-none-any.whl", hash = "sha256:52277518d6aae65536e9cea52d4e7fd2f7a66f4aa2d30ed3f2fcea620ace3c54"}, - {file = "propcache-0.2.1.tar.gz", hash = "sha256:3f77ce728b19cb537714499928fe800c3dda29e8d9428778fc7c186da4c09a64"}, -] - -[[package]] -name = "protobuf" -version = "5.29.1" -description = "" -optional = false -python-versions = ">=3.8" -files = [ - {file = "protobuf-5.29.1-cp310-abi3-win32.whl", hash = "sha256:22c1f539024241ee545cbcb00ee160ad1877975690b16656ff87dde107b5f110"}, - {file = "protobuf-5.29.1-cp310-abi3-win_amd64.whl", hash = "sha256:1fc55267f086dd4050d18ef839d7bd69300d0d08c2a53ca7df3920cc271a3c34"}, - {file = "protobuf-5.29.1-cp38-abi3-macosx_10_9_universal2.whl", hash = "sha256:d473655e29c0c4bbf8b69e9a8fb54645bc289dead6d753b952e7aa660254ae18"}, - {file = "protobuf-5.29.1-cp38-abi3-manylinux2014_aarch64.whl", hash = "sha256:b5ba1d0e4c8a40ae0496d0e2ecfdbb82e1776928a205106d14ad6985a09ec155"}, - {file = "protobuf-5.29.1-cp38-abi3-manylinux2014_x86_64.whl", hash = "sha256:8ee1461b3af56145aca2800e6a3e2f928108c749ba8feccc6f5dd0062c410c0d"}, - {file = "protobuf-5.29.1-cp38-cp38-win32.whl", hash = "sha256:50879eb0eb1246e3a5eabbbe566b44b10348939b7cc1b267567e8c3d07213853"}, - {file = "protobuf-5.29.1-cp38-cp38-win_amd64.whl", hash = "sha256:027fbcc48cea65a6b17028510fdd054147057fa78f4772eb547b9274e5219331"}, - {file = "protobuf-5.29.1-cp39-cp39-win32.whl", hash = "sha256:5a41deccfa5e745cef5c65a560c76ec0ed8e70908a67cc8f4da5fce588b50d57"}, - {file = "protobuf-5.29.1-cp39-cp39-win_amd64.whl", hash = "sha256:012ce28d862ff417fd629285aca5d9772807f15ceb1a0dbd15b88f58c776c98c"}, - {file = "protobuf-5.29.1-py3-none-any.whl", hash = "sha256:32600ddb9c2a53dedc25b8581ea0f1fd8ea04956373c0c07577ce58d312522e0"}, - {file = "protobuf-5.29.1.tar.gz", hash = "sha256:683be02ca21a6ffe80db6dd02c0b5b2892322c59ca57fd6c872d652cb80549cb"}, -] - -[[package]] -name = "psutil" -version = "6.0.0" -description = "Cross-platform lib for process and system monitoring in Python." -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" -files = [ - {file = "psutil-6.0.0-cp27-cp27m-macosx_10_9_x86_64.whl", hash = "sha256:a021da3e881cd935e64a3d0a20983bda0bb4cf80e4f74fa9bfcb1bc5785360c6"}, - {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_i686.whl", hash = "sha256:1287c2b95f1c0a364d23bc6f2ea2365a8d4d9b726a3be7294296ff7ba97c17f0"}, - {file = "psutil-6.0.0-cp27-cp27m-manylinux2010_x86_64.whl", hash = "sha256:a9a3dbfb4de4f18174528d87cc352d1f788b7496991cca33c6996f40c9e3c92c"}, - {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_i686.whl", hash = "sha256:6ec7588fb3ddaec7344a825afe298db83fe01bfaaab39155fa84cf1c0d6b13c3"}, - {file = "psutil-6.0.0-cp27-cp27mu-manylinux2010_x86_64.whl", hash = "sha256:1e7c870afcb7d91fdea2b37c24aeb08f98b6d67257a5cb0a8bc3ac68d0f1a68c"}, - {file = "psutil-6.0.0-cp27-none-win32.whl", hash = "sha256:02b69001f44cc73c1c5279d02b30a817e339ceb258ad75997325e0e6169d8b35"}, - {file = "psutil-6.0.0-cp27-none-win_amd64.whl", hash = "sha256:21f1fb635deccd510f69f485b87433460a603919b45e2a324ad65b0cc74f8fb1"}, - {file = "psutil-6.0.0-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:c588a7e9b1173b6e866756dde596fd4cad94f9399daf99ad8c3258b3cb2b47a0"}, - {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ed2440ada7ef7d0d608f20ad89a04ec47d2d3ab7190896cd62ca5fc4fe08bf0"}, - {file = "psutil-6.0.0-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5fd9a97c8e94059b0ef54a7d4baf13b405011176c3b6ff257c247cae0d560ecd"}, - {file = "psutil-6.0.0-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e2e8d0054fc88153ca0544f5c4d554d42e33df2e009c4ff42284ac9ebdef4132"}, - {file = "psutil-6.0.0-cp36-cp36m-win32.whl", hash = "sha256:fc8c9510cde0146432bbdb433322861ee8c3efbf8589865c8bf8d21cb30c4d14"}, - {file = "psutil-6.0.0-cp36-cp36m-win_amd64.whl", hash = "sha256:34859b8d8f423b86e4385ff3665d3f4d94be3cdf48221fbe476e883514fdb71c"}, - {file = "psutil-6.0.0-cp37-abi3-win32.whl", hash = "sha256:a495580d6bae27291324fe60cea0b5a7c23fa36a7cd35035a16d93bdcf076b9d"}, - {file = "psutil-6.0.0-cp37-abi3-win_amd64.whl", hash = "sha256:33ea5e1c975250a720b3a6609c490db40dae5d83a4eb315170c4fe0d8b1f34b3"}, - {file = "psutil-6.0.0-cp38-abi3-macosx_11_0_arm64.whl", hash = "sha256:ffe7fc9b6b36beadc8c322f84e1caff51e8703b88eee1da46d1e3a6ae11b4fd0"}, - {file = "psutil-6.0.0.tar.gz", hash = "sha256:8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2"}, -] - -[package.extras] -test = ["enum34", "ipaddress", "mock", "pywin32", "wmi"] - -[[package]] -name = "pyarrow" -version = "18.1.0" -description = "Python library for Apache Arrow" -optional = false -python-versions = ">=3.9" -files = [ - {file = "pyarrow-18.1.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:e21488d5cfd3d8b500b3238a6c4b075efabc18f0f6d80b29239737ebd69caa6c"}, - {file = "pyarrow-18.1.0-cp310-cp310-macosx_12_0_x86_64.whl", hash = "sha256:b516dad76f258a702f7ca0250885fc93d1fa5ac13ad51258e39d402bd9e2e1e4"}, - {file = "pyarrow-18.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f443122c8e31f4c9199cb23dca29ab9427cef990f283f80fe15b8e124bcc49b"}, - {file = "pyarrow-18.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0a03da7f2758645d17b7b4f83c8bffeae5bbb7f974523fe901f36288d2eab71"}, - {file = "pyarrow-18.1.0-cp310-cp310-manylinux_2_28_aarch64.whl", hash = "sha256:ba17845efe3aa358ec266cf9cc2800fa73038211fb27968bfa88acd09261a470"}, - {file = "pyarrow-18.1.0-cp310-cp310-manylinux_2_28_x86_64.whl", hash = "sha256:3c35813c11a059056a22a3bef520461310f2f7eea5c8a11ef9de7062a23f8d56"}, - {file = "pyarrow-18.1.0-cp310-cp310-win_amd64.whl", hash = "sha256:9736ba3c85129d72aefa21b4f3bd715bc4190fe4426715abfff90481e7d00812"}, - {file = "pyarrow-18.1.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:eaeabf638408de2772ce3d7793b2668d4bb93807deed1725413b70e3156a7854"}, - {file = "pyarrow-18.1.0-cp311-cp311-macosx_12_0_x86_64.whl", hash = "sha256:3b2e2239339c538f3464308fd345113f886ad031ef8266c6f004d49769bb074c"}, - {file = "pyarrow-18.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f39a2e0ed32a0970e4e46c262753417a60c43a3246972cfc2d3eb85aedd01b21"}, - {file = "pyarrow-18.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e31e9417ba9c42627574bdbfeada7217ad8a4cbbe45b9d6bdd4b62abbca4c6f6"}, - {file = "pyarrow-18.1.0-cp311-cp311-manylinux_2_28_aarch64.whl", hash = "sha256:01c034b576ce0eef554f7c3d8c341714954be9b3f5d5bc7117006b85fcf302fe"}, - {file = "pyarrow-18.1.0-cp311-cp311-manylinux_2_28_x86_64.whl", hash = "sha256:f266a2c0fc31995a06ebd30bcfdb7f615d7278035ec5b1cd71c48d56daaf30b0"}, - {file = "pyarrow-18.1.0-cp311-cp311-win_amd64.whl", hash = "sha256:d4f13eee18433f99adefaeb7e01d83b59f73360c231d4782d9ddfaf1c3fbde0a"}, - {file = "pyarrow-18.1.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:9f3a76670b263dc41d0ae877f09124ab96ce10e4e48f3e3e4257273cee61ad0d"}, - {file = "pyarrow-18.1.0-cp312-cp312-macosx_12_0_x86_64.whl", hash = "sha256:da31fbca07c435be88a0c321402c4e31a2ba61593ec7473630769de8346b54ee"}, - {file = "pyarrow-18.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:543ad8459bc438efc46d29a759e1079436290bd583141384c6f7a1068ed6f992"}, - {file = "pyarrow-18.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0743e503c55be0fdb5c08e7d44853da27f19dc854531c0570f9f394ec9671d54"}, - {file = "pyarrow-18.1.0-cp312-cp312-manylinux_2_28_aarch64.whl", hash = "sha256:d4b3d2a34780645bed6414e22dda55a92e0fcd1b8a637fba86800ad737057e33"}, - {file = "pyarrow-18.1.0-cp312-cp312-manylinux_2_28_x86_64.whl", hash = "sha256:c52f81aa6f6575058d8e2c782bf79d4f9fdc89887f16825ec3a66607a5dd8e30"}, - {file = "pyarrow-18.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:0ad4892617e1a6c7a551cfc827e072a633eaff758fa09f21c4ee548c30bcaf99"}, - {file = "pyarrow-18.1.0-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:84e314d22231357d473eabec709d0ba285fa706a72377f9cc8e1cb3c8013813b"}, - {file = "pyarrow-18.1.0-cp313-cp313-macosx_12_0_x86_64.whl", hash = "sha256:f591704ac05dfd0477bb8f8e0bd4b5dc52c1cadf50503858dce3a15db6e46ff2"}, - {file = "pyarrow-18.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:acb7564204d3c40babf93a05624fc6a8ec1ab1def295c363afc40b0c9e66c191"}, - {file = "pyarrow-18.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:74de649d1d2ccb778f7c3afff6085bd5092aed4c23df9feeb45dd6b16f3811aa"}, - {file = "pyarrow-18.1.0-cp313-cp313-manylinux_2_28_aarch64.whl", hash = "sha256:f96bd502cb11abb08efea6dab09c003305161cb6c9eafd432e35e76e7fa9b90c"}, - {file = "pyarrow-18.1.0-cp313-cp313-manylinux_2_28_x86_64.whl", hash = "sha256:36ac22d7782554754a3b50201b607d553a8d71b78cdf03b33c1125be4b52397c"}, - {file = "pyarrow-18.1.0-cp313-cp313-win_amd64.whl", hash = "sha256:25dbacab8c5952df0ca6ca0af28f50d45bd31c1ff6fcf79e2d120b4a65ee7181"}, - {file = "pyarrow-18.1.0-cp313-cp313t-macosx_12_0_arm64.whl", hash = "sha256:6a276190309aba7bc9d5bd2933230458b3521a4317acfefe69a354f2fe59f2bc"}, - {file = "pyarrow-18.1.0-cp313-cp313t-macosx_12_0_x86_64.whl", hash = "sha256:ad514dbfcffe30124ce655d72771ae070f30bf850b48bc4d9d3b25993ee0e386"}, - {file = "pyarrow-18.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:aebc13a11ed3032d8dd6e7171eb6e86d40d67a5639d96c35142bd568b9299324"}, - {file = "pyarrow-18.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d6cf5c05f3cee251d80e98726b5c7cc9f21bab9e9783673bac58e6dfab57ecc8"}, - {file = "pyarrow-18.1.0-cp313-cp313t-manylinux_2_28_aarch64.whl", hash = "sha256:11b676cd410cf162d3f6a70b43fb9e1e40affbc542a1e9ed3681895f2962d3d9"}, - {file = "pyarrow-18.1.0-cp313-cp313t-manylinux_2_28_x86_64.whl", hash = "sha256:b76130d835261b38f14fc41fdfb39ad8d672afb84c447126b84d5472244cfaba"}, - {file = "pyarrow-18.1.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:0b331e477e40f07238adc7ba7469c36b908f07c89b95dd4bd3a0ec84a3d1e21e"}, - {file = "pyarrow-18.1.0-cp39-cp39-macosx_12_0_x86_64.whl", hash = "sha256:2c4dd0c9010a25ba03e198fe743b1cc03cd33c08190afff371749c52ccbbaf76"}, - {file = "pyarrow-18.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4f97b31b4c4e21ff58c6f330235ff893cc81e23da081b1a4b1c982075e0ed4e9"}, - {file = "pyarrow-18.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a4813cb8ecf1809871fd2d64a8eff740a1bd3691bbe55f01a3cf6c5ec869754"}, - {file = "pyarrow-18.1.0-cp39-cp39-manylinux_2_28_aarch64.whl", hash = "sha256:05a5636ec3eb5cc2a36c6edb534a38ef57b2ab127292a716d00eabb887835f1e"}, - {file = "pyarrow-18.1.0-cp39-cp39-manylinux_2_28_x86_64.whl", hash = "sha256:73eeed32e724ea3568bb06161cad5fa7751e45bc2228e33dcb10c614044165c7"}, - {file = "pyarrow-18.1.0-cp39-cp39-win_amd64.whl", hash = "sha256:a1880dd6772b685e803011a6b43a230c23b566859a6e0c9a276c1e0faf4f4052"}, - {file = "pyarrow-18.1.0.tar.gz", hash = "sha256:9386d3ca9c145b5539a1cfc75df07757dff870168c959b473a0bccbc3abc8c73"}, -] - -[package.extras] -test = ["cffi", "hypothesis", "pandas", "pytest", "pytz"] - [[package]] name = "pydantic" version = "2.10.3" @@ -2858,86 +583,6 @@ files = [ [package.dependencies] typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" -[[package]] -name = "pygments" -version = "2.18.0" -description = "Pygments is a syntax highlighting package written in Python." -optional = false -python-versions = ">=3.8" -files = [ - {file = "pygments-2.18.0-py3-none-any.whl", hash = "sha256:b8e6aca0523f3ab76fee51799c488e38782ac06eafcf95e7ba832985c8e7b13a"}, - {file = "pygments-2.18.0.tar.gz", hash = "sha256:786ff802f32e91311bff3889f6e9a86e81505fe99f2735bb6d60ae0c5004f199"}, -] - -[package.extras] -windows-terminal = ["colorama (>=0.4.6)"] - -[[package]] -name = "pyreadline3" -version = "3.5.4" -description = "A python implementation of GNU readline." -optional = false -python-versions = ">=3.8" -files = [ - {file = "pyreadline3-3.5.4-py3-none-any.whl", hash = "sha256:eaf8e6cc3c49bcccf145fc6067ba8643d1df34d604a1ec0eccbf7a18e6d3fae6"}, - {file = "pyreadline3-3.5.4.tar.gz", hash = "sha256:8d57d53039a1c75adba8e50dd3d992b28143480816187ea5efbd5c78e6c885b7"}, -] - -[package.extras] -dev = ["build", "flake8", "mypy", "pytest", "twine"] - -[[package]] -name = "pytest" -version = "8.3.4" -description = "pytest: simple powerful testing with Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pytest-8.3.4-py3-none-any.whl", hash = "sha256:50e16d954148559c9a74109af1eaf0c945ba2d8f30f0a3d3335edde19788b6f6"}, - {file = "pytest-8.3.4.tar.gz", hash = "sha256:965370d062bce11e73868e0335abac31b4d3de0e82f4007408d242b4f8610761"}, -] - -[package.dependencies] -colorama = {version = "*", markers = "sys_platform == \"win32\""} -iniconfig = "*" -packaging = "*" -pluggy = ">=1.5,<2" - -[package.extras] -dev = ["argcomplete", "attrs (>=19.2)", "hypothesis (>=3.56)", "mock", "pygments (>=2.7.2)", "requests", "setuptools", "xmlschema"] - -[[package]] -name = "pytest-asyncio" -version = "0.24.0" -description = "Pytest support for asyncio" -optional = false -python-versions = ">=3.8" -files = [ - {file = "pytest_asyncio-0.24.0-py3-none-any.whl", hash = "sha256:a811296ed596b69bf0b6f3dc40f83bcaf341b155a269052d82efa2b25ac7037b"}, - {file = "pytest_asyncio-0.24.0.tar.gz", hash = "sha256:d081d828e576d85f875399194281e92bf8a68d60d72d1a2faf2feddb6c46b276"}, -] - -[package.dependencies] -pytest = ">=8.2,<9" - -[package.extras] -docs = ["sphinx (>=5.3)", "sphinx-rtd-theme (>=1.0)"] -testing = ["coverage (>=6.2)", "hypothesis (>=5.7.1)"] - -[[package]] -name = "python-dateutil" -version = "2.9.0.post0" -description = "Extensions to the standard Python datetime module" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3"}, - {file = "python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427"}, -] - -[package.dependencies] -six = ">=1.5" - [[package]] name = "python-dotenv" version = "1.0.1" @@ -2952,17 +597,6 @@ files = [ [package.extras] cli = ["click (>=5.0)"] -[[package]] -name = "pytz" -version = "2024.2" -description = "World timezone definitions, modern and historical" -optional = false -python-versions = "*" -files = [ - {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, - {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, -] - [[package]] name = "pywin32" version = "308" @@ -3067,109 +701,6 @@ files = [ attrs = ">=22.2.0" rpds-py = ">=0.7.0" -[[package]] -name = "regex" -version = "2024.11.6" -description = "Alternative regular expression module, to replace re." -optional = false -python-versions = ">=3.8" -files = [ - {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:ff590880083d60acc0433f9c3f713c51f7ac6ebb9adf889c79a261ecf541aa91"}, - {file = "regex-2024.11.6-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:658f90550f38270639e83ce492f27d2c8d2cd63805c65a13a14d36ca126753f0"}, - {file = "regex-2024.11.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:164d8b7b3b4bcb2068b97428060b2a53be050085ef94eca7f240e7947f1b080e"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d3660c82f209655a06b587d55e723f0b813d3a7db2e32e5e7dc64ac2a9e86fde"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d22326fcdef5e08c154280b71163ced384b428343ae16a5ab2b3354aed12436e"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f1ac758ef6aebfc8943560194e9fd0fa18bcb34d89fd8bd2af18183afd8da3a2"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:997d6a487ff00807ba810e0f8332c18b4eb8d29463cfb7c820dc4b6e7562d0cf"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:02a02d2bb04fec86ad61f3ea7f49c015a0681bf76abb9857f945d26159d2968c"}, - {file = "regex-2024.11.6-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:f02f93b92358ee3f78660e43b4b0091229260c5d5c408d17d60bf26b6c900e86"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:06eb1be98df10e81ebaded73fcd51989dcf534e3c753466e4b60c4697a003b67"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:040df6fe1a5504eb0f04f048e6d09cd7c7110fef851d7c567a6b6e09942feb7d"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:fdabbfc59f2c6edba2a6622c647b716e34e8e3867e0ab975412c5c2f79b82da2"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8447d2d39b5abe381419319f942de20b7ecd60ce86f16a23b0698f22e1b70008"}, - {file = "regex-2024.11.6-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:da8f5fc57d1933de22a9e23eec290a0d8a5927a5370d24bda9a6abe50683fe62"}, - {file = "regex-2024.11.6-cp310-cp310-win32.whl", hash = "sha256:b489578720afb782f6ccf2840920f3a32e31ba28a4b162e13900c3e6bd3f930e"}, - {file = "regex-2024.11.6-cp310-cp310-win_amd64.whl", hash = "sha256:5071b2093e793357c9d8b2929dfc13ac5f0a6c650559503bb81189d0a3814519"}, - {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:5478c6962ad548b54a591778e93cd7c456a7a29f8eca9c49e4f9a806dcc5d638"}, - {file = "regex-2024.11.6-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:2c89a8cc122b25ce6945f0423dc1352cb9593c68abd19223eebbd4e56612c5b7"}, - {file = "regex-2024.11.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:94d87b689cdd831934fa3ce16cc15cd65748e6d689f5d2b8f4f4df2065c9fa20"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1062b39a0a2b75a9c694f7a08e7183a80c63c0d62b301418ffd9c35f55aaa114"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:167ed4852351d8a750da48712c3930b031f6efdaa0f22fa1933716bfcd6bf4a3"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2d548dafee61f06ebdb584080621f3e0c23fff312f0de1afc776e2a2ba99a74f"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2a19f302cd1ce5dd01a9099aaa19cae6173306d1302a43b627f62e21cf18ac0"}, - {file = "regex-2024.11.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:bec9931dfb61ddd8ef2ebc05646293812cb6b16b60cf7c9511a832b6f1854b55"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:9714398225f299aa85267fd222f7142fcb5c769e73d7733344efc46f2ef5cf89"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:202eb32e89f60fc147a41e55cb086db2a3f8cb82f9a9a88440dcfc5d37faae8d"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:4181b814e56078e9b00427ca358ec44333765f5ca1b45597ec7446d3a1ef6e34"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:068376da5a7e4da51968ce4c122a7cd31afaaec4fccc7856c92f63876e57b51d"}, - {file = "regex-2024.11.6-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:ac10f2c4184420d881a3475fb2c6f4d95d53a8d50209a2500723d831036f7c45"}, - {file = "regex-2024.11.6-cp311-cp311-win32.whl", hash = "sha256:c36f9b6f5f8649bb251a5f3f66564438977b7ef8386a52460ae77e6070d309d9"}, - {file = "regex-2024.11.6-cp311-cp311-win_amd64.whl", hash = "sha256:02e28184be537f0e75c1f9b2f8847dc51e08e6e171c6bde130b2687e0c33cf60"}, - {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:52fb28f528778f184f870b7cf8f225f5eef0a8f6e3778529bdd40c7b3920796a"}, - {file = "regex-2024.11.6-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:fdd6028445d2460f33136c55eeb1f601ab06d74cb3347132e1c24250187500d9"}, - {file = "regex-2024.11.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:805e6b60c54bf766b251e94526ebad60b7de0c70f70a4e6210ee2891acb70bf2"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b85c2530be953a890eaffde05485238f07029600e8f098cdf1848d414a8b45e4"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:bb26437975da7dc36b7efad18aa9dd4ea569d2357ae6b783bf1118dabd9ea577"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:abfa5080c374a76a251ba60683242bc17eeb2c9818d0d30117b4486be10c59d3"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b7fa6606c2881c1db9479b0eaa11ed5dfa11c8d60a474ff0e095099f39d98e"}, - {file = "regex-2024.11.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0c32f75920cf99fe6b6c539c399a4a128452eaf1af27f39bce8909c9a3fd8cbe"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:982e6d21414e78e1f51cf595d7f321dcd14de1f2881c5dc6a6e23bbbbd68435e"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a7c2155f790e2fb448faed6dd241386719802296ec588a8b9051c1f5c481bc29"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149f5008d286636e48cd0b1dd65018548944e495b0265b45e1bffecce1ef7f39"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e5364a4502efca094731680e80009632ad6624084aff9a23ce8c8c6820de3e51"}, - {file = "regex-2024.11.6-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0a86e7eeca091c09e021db8eb72d54751e527fa47b8d5787caf96d9831bd02ad"}, - {file = "regex-2024.11.6-cp312-cp312-win32.whl", hash = "sha256:32f9a4c643baad4efa81d549c2aadefaeba12249b2adc5af541759237eee1c54"}, - {file = "regex-2024.11.6-cp312-cp312-win_amd64.whl", hash = "sha256:a93c194e2df18f7d264092dc8539b8ffb86b45b899ab976aa15d48214138e81b"}, - {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:a6ba92c0bcdf96cbf43a12c717eae4bc98325ca3730f6b130ffa2e3c3c723d84"}, - {file = "regex-2024.11.6-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:525eab0b789891ac3be914d36893bdf972d483fe66551f79d3e27146191a37d4"}, - {file = "regex-2024.11.6-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:086a27a0b4ca227941700e0b31425e7a28ef1ae8e5e05a33826e17e47fbfdba0"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bde01f35767c4a7899b7eb6e823b125a64de314a8ee9791367c9a34d56af18d0"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b583904576650166b3d920d2bcce13971f6f9e9a396c673187f49811b2769dc7"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1c4de13f06a0d54fa0d5ab1b7138bfa0d883220965a29616e3ea61b35d5f5fc7"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3cde6e9f2580eb1665965ce9bf17ff4952f34f5b126beb509fee8f4e994f143c"}, - {file = "regex-2024.11.6-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d7f453dca13f40a02b79636a339c5b62b670141e63efd511d3f8f73fba162b3"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:59dfe1ed21aea057a65c6b586afd2a945de04fc7db3de0a6e3ed5397ad491b07"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:b97c1e0bd37c5cd7902e65f410779d39eeda155800b65fc4d04cc432efa9bc6e"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:f9d1e379028e0fc2ae3654bac3cbbef81bf3fd571272a42d56c24007979bafb6"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:13291b39131e2d002a7940fb176e120bec5145f3aeb7621be6534e46251912c4"}, - {file = "regex-2024.11.6-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:4f51f88c126370dcec4908576c5a627220da6c09d0bff31cfa89f2523843316d"}, - {file = "regex-2024.11.6-cp313-cp313-win32.whl", hash = "sha256:63b13cfd72e9601125027202cad74995ab26921d8cd935c25f09c630436348ff"}, - {file = "regex-2024.11.6-cp313-cp313-win_amd64.whl", hash = "sha256:2b3361af3198667e99927da8b84c1b010752fa4b1115ee30beaa332cabc3ef1a"}, - {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:3a51ccc315653ba012774efca4f23d1d2a8a8f278a6072e29c7147eee7da446b"}, - {file = "regex-2024.11.6-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:ad182d02e40de7459b73155deb8996bbd8e96852267879396fb274e8700190e3"}, - {file = "regex-2024.11.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:ba9b72e5643641b7d41fa1f6d5abda2c9a263ae835b917348fc3c928182ad467"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40291b1b89ca6ad8d3f2b82782cc33807f1406cf68c8d440861da6304d8ffbbd"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cdf58d0e516ee426a48f7b2c03a332a4114420716d55769ff7108c37a09951bf"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a36fdf2af13c2b14738f6e973aba563623cb77d753bbbd8d414d18bfaa3105dd"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d1cee317bfc014c2419a76bcc87f071405e3966da434e03e13beb45f8aced1a6"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:50153825ee016b91549962f970d6a4442fa106832e14c918acd1c8e479916c4f"}, - {file = "regex-2024.11.6-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:ea1bfda2f7162605f6e8178223576856b3d791109f15ea99a9f95c16a7636fb5"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:df951c5f4a1b1910f1a99ff42c473ff60f8225baa1cdd3539fe2819d9543e9df"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:072623554418a9911446278f16ecb398fb3b540147a7828c06e2011fa531e773"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:f654882311409afb1d780b940234208a252322c24a93b442ca714d119e68086c"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:89d75e7293d2b3e674db7d4d9b1bee7f8f3d1609428e293771d1a962617150cc"}, - {file = "regex-2024.11.6-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:f65557897fc977a44ab205ea871b690adaef6b9da6afda4790a2484b04293a5f"}, - {file = "regex-2024.11.6-cp38-cp38-win32.whl", hash = "sha256:6f44ec28b1f858c98d3036ad5d7d0bfc568bdd7a74f9c24e25f41ef1ebfd81a4"}, - {file = "regex-2024.11.6-cp38-cp38-win_amd64.whl", hash = "sha256:bb8f74f2f10dbf13a0be8de623ba4f9491faf58c24064f32b65679b021ed0001"}, - {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:5704e174f8ccab2026bd2f1ab6c510345ae8eac818b613d7d73e785f1310f839"}, - {file = "regex-2024.11.6-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:220902c3c5cc6af55d4fe19ead504de80eb91f786dc102fbd74894b1551f095e"}, - {file = "regex-2024.11.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:5e7e351589da0850c125f1600a4c4ba3c722efefe16b297de54300f08d734fbf"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5056b185ca113c88e18223183aa1a50e66507769c9640a6ff75859619d73957b"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2e34b51b650b23ed3354b5a07aab37034d9f923db2a40519139af34f485f77d0"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5670bce7b200273eee1840ef307bfa07cda90b38ae56e9a6ebcc9f50da9c469b"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:08986dce1339bc932923e7d1232ce9881499a0e02925f7402fb7c982515419ef"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:93c0b12d3d3bc25af4ebbf38f9ee780a487e8bf6954c115b9f015822d3bb8e48"}, - {file = "regex-2024.11.6-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl", hash = "sha256:764e71f22ab3b305e7f4c21f1a97e1526a25ebdd22513e251cf376760213da13"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:f056bf21105c2515c32372bbc057f43eb02aae2fda61052e2f7622c801f0b4e2"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:69ab78f848845569401469da20df3e081e6b5a11cb086de3eed1d48f5ed57c95"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:86fddba590aad9208e2fa8b43b4c098bb0ec74f15718bb6a704e3c63e2cef3e9"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:684d7a212682996d21ca12ef3c17353c021fe9de6049e19ac8481ec35574a70f"}, - {file = "regex-2024.11.6-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:a03e02f48cd1abbd9f3b7e3586d97c8f7a9721c436f51a5245b3b9483044480b"}, - {file = "regex-2024.11.6-cp39-cp39-win32.whl", hash = "sha256:41758407fc32d5c3c5de163888068cfee69cb4c2be844e7ac517a52770f9af57"}, - {file = "regex-2024.11.6-cp39-cp39-win_amd64.whl", hash = "sha256:b2837718570f95dd41675328e111345f9b7095d821bac435aac173ac80b19983"}, - {file = "regex-2024.11.6.tar.gz", hash = "sha256:7ab159b063c52a0333c884e4679f8d7a85112ee3078fe3d9004b2dd875585519"}, -] - [[package]] name = "requests" version = "2.32.3" @@ -3191,24 +722,6 @@ urllib3 = ">=1.21.1,<3" socks = ["PySocks (>=1.5.6,!=1.5.7)"] use-chardet-on-py3 = ["chardet (>=3.0.2,<6)"] -[[package]] -name = "rich" -version = "13.9.4" -description = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "rich-13.9.4-py3-none-any.whl", hash = "sha256:6049d5e6ec054bf2779ab3358186963bac2ea89175919d699e378b99738c2a90"}, - {file = "rich-13.9.4.tar.gz", hash = "sha256:439594978a49a09530cff7ebc4b5c7103ef57baf48d5ea3184f21d9a2befa098"}, -] - -[package.dependencies] -markdown-it-py = ">=2.2.0" -pygments = ">=2.13.0,<3.0.0" - -[package.extras] -jupyter = ["ipywidgets (>=7.5.1,<9)"] - [[package]] name = "rpds-py" version = "0.22.3" @@ -3321,324 +834,6 @@ files = [ {file = "rpds_py-0.22.3.tar.gz", hash = "sha256:e32fee8ab45d3c2db6da19a5323bc3362237c8b653c70194414b892fd06a080d"}, ] -[[package]] -name = "safetensors" -version = "0.4.5" -description = "" -optional = false -python-versions = ">=3.7" -files = [ - {file = "safetensors-0.4.5-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:a63eaccd22243c67e4f2b1c3e258b257effc4acd78f3b9d397edc8cf8f1298a7"}, - {file = "safetensors-0.4.5-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:23fc9b4ec7b602915cbb4ec1a7c1ad96d2743c322f20ab709e2c35d1b66dad27"}, - {file = "safetensors-0.4.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6885016f34bef80ea1085b7e99b3c1f92cb1be78a49839203060f67b40aee761"}, - {file = "safetensors-0.4.5-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:133620f443450429322f238fda74d512c4008621227fccf2f8cf4a76206fea7c"}, - {file = "safetensors-0.4.5-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:4fb3e0609ec12d2a77e882f07cced530b8262027f64b75d399f1504ffec0ba56"}, - {file = "safetensors-0.4.5-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d0f1dd769f064adc33831f5e97ad07babbd728427f98e3e1db6902e369122737"}, - {file = "safetensors-0.4.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c6d156bdb26732feada84f9388a9f135528c1ef5b05fae153da365ad4319c4c5"}, - {file = "safetensors-0.4.5-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9e347d77e2c77eb7624400ccd09bed69d35c0332f417ce8c048d404a096c593b"}, - {file = "safetensors-0.4.5-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9f556eea3aec1d3d955403159fe2123ddd68e880f83954ee9b4a3f2e15e716b6"}, - {file = "safetensors-0.4.5-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:9483f42be3b6bc8ff77dd67302de8ae411c4db39f7224dec66b0eb95822e4163"}, - {file = "safetensors-0.4.5-cp310-none-win32.whl", hash = "sha256:7389129c03fadd1ccc37fd1ebbc773f2b031483b04700923c3511d2a939252cc"}, - {file = "safetensors-0.4.5-cp310-none-win_amd64.whl", hash = "sha256:e98ef5524f8b6620c8cdef97220c0b6a5c1cef69852fcd2f174bb96c2bb316b1"}, - {file = "safetensors-0.4.5-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:21f848d7aebd5954f92538552d6d75f7c1b4500f51664078b5b49720d180e47c"}, - {file = "safetensors-0.4.5-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:bb07000b19d41e35eecef9a454f31a8b4718a185293f0d0b1c4b61d6e4487971"}, - {file = "safetensors-0.4.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09dedf7c2fda934ee68143202acff6e9e8eb0ddeeb4cfc24182bef999efa9f42"}, - {file = "safetensors-0.4.5-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:59b77e4b7a708988d84f26de3ebead61ef1659c73dcbc9946c18f3b1786d2688"}, - {file = "safetensors-0.4.5-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5d3bc83e14d67adc2e9387e511097f254bd1b43c3020440e708858c684cbac68"}, - {file = "safetensors-0.4.5-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:39371fc551c1072976073ab258c3119395294cf49cdc1f8476794627de3130df"}, - {file = "safetensors-0.4.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a6c19feda32b931cae0acd42748a670bdf56bee6476a046af20181ad3fee4090"}, - {file = "safetensors-0.4.5-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a659467495de201e2f282063808a41170448c78bada1e62707b07a27b05e6943"}, - {file = "safetensors-0.4.5-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:bad5e4b2476949bcd638a89f71b6916fa9a5cae5c1ae7eede337aca2100435c0"}, - {file = "safetensors-0.4.5-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:a3a315a6d0054bc6889a17f5668a73f94f7fe55121ff59e0a199e3519c08565f"}, - {file = "safetensors-0.4.5-cp311-none-win32.whl", hash = "sha256:a01e232e6d3d5cf8b1667bc3b657a77bdab73f0743c26c1d3c5dd7ce86bd3a92"}, - {file = "safetensors-0.4.5-cp311-none-win_amd64.whl", hash = "sha256:cbd39cae1ad3e3ef6f63a6f07296b080c951f24cec60188378e43d3713000c04"}, - {file = "safetensors-0.4.5-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:473300314e026bd1043cef391bb16a8689453363381561b8a3e443870937cc1e"}, - {file = "safetensors-0.4.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:801183a0f76dc647f51a2d9141ad341f9665602a7899a693207a82fb102cc53e"}, - {file = "safetensors-0.4.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1524b54246e422ad6fb6aea1ac71edeeb77666efa67230e1faf6999df9b2e27f"}, - {file = "safetensors-0.4.5-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b3139098e3e8b2ad7afbca96d30ad29157b50c90861084e69fcb80dec7430461"}, - {file = "safetensors-0.4.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:65573dc35be9059770808e276b017256fa30058802c29e1038eb1c00028502ea"}, - {file = "safetensors-0.4.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fd33da8e9407559f8779c82a0448e2133737f922d71f884da27184549416bfed"}, - {file = "safetensors-0.4.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3685ce7ed036f916316b567152482b7e959dc754fcc4a8342333d222e05f407c"}, - {file = "safetensors-0.4.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:dde2bf390d25f67908278d6f5d59e46211ef98e44108727084d4637ee70ab4f1"}, - {file = "safetensors-0.4.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7469d70d3de970b1698d47c11ebbf296a308702cbaae7fcb993944751cf985f4"}, - {file = "safetensors-0.4.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:3a6ba28118636a130ccbb968bc33d4684c48678695dba2590169d5ab03a45646"}, - {file = "safetensors-0.4.5-cp312-none-win32.whl", hash = "sha256:c859c7ed90b0047f58ee27751c8e56951452ed36a67afee1b0a87847d065eec6"}, - {file = "safetensors-0.4.5-cp312-none-win_amd64.whl", hash = "sha256:b5a8810ad6a6f933fff6c276eae92c1da217b39b4d8b1bc1c0b8af2d270dc532"}, - {file = "safetensors-0.4.5-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:25e5f8e2e92a74f05b4ca55686234c32aac19927903792b30ee6d7bd5653d54e"}, - {file = "safetensors-0.4.5-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:81efb124b58af39fcd684254c645e35692fea81c51627259cdf6d67ff4458916"}, - {file = "safetensors-0.4.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:585f1703a518b437f5103aa9cf70e9bd437cb78eea9c51024329e4fb8a3e3679"}, - {file = "safetensors-0.4.5-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4b99fbf72e3faf0b2f5f16e5e3458b93b7d0a83984fe8d5364c60aa169f2da89"}, - {file = "safetensors-0.4.5-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b17b299ca9966ca983ecda1c0791a3f07f9ca6ab5ded8ef3d283fff45f6bcd5f"}, - {file = "safetensors-0.4.5-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:76ded72f69209c9780fdb23ea89e56d35c54ae6abcdec67ccb22af8e696e449a"}, - {file = "safetensors-0.4.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2783956926303dcfeb1de91a4d1204cd4089ab441e622e7caee0642281109db3"}, - {file = "safetensors-0.4.5-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d94581aab8c6b204def4d7320f07534d6ee34cd4855688004a4354e63b639a35"}, - {file = "safetensors-0.4.5-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:67e1e7cb8678bb1b37ac48ec0df04faf689e2f4e9e81e566b5c63d9f23748523"}, - {file = "safetensors-0.4.5-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:dbd280b07e6054ea68b0cb4b16ad9703e7d63cd6890f577cb98acc5354780142"}, - {file = "safetensors-0.4.5-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:77d9b228da8374c7262046a36c1f656ba32a93df6cc51cd4453af932011e77f1"}, - {file = "safetensors-0.4.5-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:500cac01d50b301ab7bb192353317035011c5ceeef0fca652f9f43c000bb7f8d"}, - {file = "safetensors-0.4.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:75331c0c746f03158ded32465b7d0b0e24c5a22121743662a2393439c43a45cf"}, - {file = "safetensors-0.4.5-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:670e95fe34e0d591d0529e5e59fd9d3d72bc77b1444fcaa14dccda4f36b5a38b"}, - {file = "safetensors-0.4.5-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:098923e2574ff237c517d6e840acada8e5b311cb1fa226019105ed82e9c3b62f"}, - {file = "safetensors-0.4.5-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:13ca0902d2648775089fa6a0c8fc9e6390c5f8ee576517d33f9261656f851e3f"}, - {file = "safetensors-0.4.5-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5f0032bedc869c56f8d26259fe39cd21c5199cd57f2228d817a0e23e8370af25"}, - {file = "safetensors-0.4.5-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f4b15f51b4f8f2a512341d9ce3475cacc19c5fdfc5db1f0e19449e75f95c7dc8"}, - {file = "safetensors-0.4.5-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:f6594d130d0ad933d885c6a7b75c5183cb0e8450f799b80a39eae2b8508955eb"}, - {file = "safetensors-0.4.5-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:60c828a27e852ded2c85fc0f87bf1ec20e464c5cd4d56ff0e0711855cc2e17f8"}, - {file = "safetensors-0.4.5-cp37-none-win32.whl", hash = "sha256:6d3de65718b86c3eeaa8b73a9c3d123f9307a96bbd7be9698e21e76a56443af5"}, - {file = "safetensors-0.4.5-cp37-none-win_amd64.whl", hash = "sha256:5a2d68a523a4cefd791156a4174189a4114cf0bf9c50ceb89f261600f3b2b81a"}, - {file = "safetensors-0.4.5-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:e7a97058f96340850da0601a3309f3d29d6191b0702b2da201e54c6e3e44ccf0"}, - {file = "safetensors-0.4.5-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:63bfd425e25f5c733f572e2246e08a1c38bd6f2e027d3f7c87e2e43f228d1345"}, - {file = "safetensors-0.4.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3664ac565d0e809b0b929dae7ccd74e4d3273cd0c6d1220c6430035befb678e"}, - {file = "safetensors-0.4.5-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:313514b0b9b73ff4ddfb4edd71860696dbe3c1c9dc4d5cc13dbd74da283d2cbf"}, - {file = "safetensors-0.4.5-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:31fa33ee326f750a2f2134a6174773c281d9a266ccd000bd4686d8021f1f3dac"}, - {file = "safetensors-0.4.5-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:09566792588d77b68abe53754c9f1308fadd35c9f87be939e22c623eaacbed6b"}, - {file = "safetensors-0.4.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309aaec9b66cbf07ad3a2e5cb8a03205663324fea024ba391594423d0f00d9fe"}, - {file = "safetensors-0.4.5-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:53946c5813b8f9e26103c5efff4a931cc45d874f45229edd68557ffb35ffb9f8"}, - {file = "safetensors-0.4.5-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:868f9df9e99ad1e7f38c52194063a982bc88fedc7d05096f4f8160403aaf4bd6"}, - {file = "safetensors-0.4.5-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:9cc9449bd0b0bc538bd5e268221f0c5590bc5c14c1934a6ae359d44410dc68c4"}, - {file = "safetensors-0.4.5-cp38-none-win32.whl", hash = "sha256:83c4f13a9e687335c3928f615cd63a37e3f8ef072a3f2a0599fa09f863fb06a2"}, - {file = "safetensors-0.4.5-cp38-none-win_amd64.whl", hash = "sha256:b98d40a2ffa560653f6274e15b27b3544e8e3713a44627ce268f419f35c49478"}, - {file = "safetensors-0.4.5-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:cf727bb1281d66699bef5683b04d98c894a2803442c490a8d45cd365abfbdeb2"}, - {file = "safetensors-0.4.5-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:96f1d038c827cdc552d97e71f522e1049fef0542be575421f7684756a748e457"}, - {file = "safetensors-0.4.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:139fbee92570ecea774e6344fee908907db79646d00b12c535f66bc78bd5ea2c"}, - {file = "safetensors-0.4.5-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c36302c1c69eebb383775a89645a32b9d266878fab619819ce660309d6176c9b"}, - {file = "safetensors-0.4.5-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d641f5b8149ea98deb5ffcf604d764aad1de38a8285f86771ce1abf8e74c4891"}, - {file = "safetensors-0.4.5-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b4db6a61d968de73722b858038c616a1bebd4a86abe2688e46ca0cc2d17558f2"}, - {file = "safetensors-0.4.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b75a616e02f21b6f1d5785b20cecbab5e2bd3f6358a90e8925b813d557666ec1"}, - {file = "safetensors-0.4.5-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:788ee7d04cc0e0e7f944c52ff05f52a4415b312f5efd2ee66389fb7685ee030c"}, - {file = "safetensors-0.4.5-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:87bc42bd04fd9ca31396d3ca0433db0be1411b6b53ac5a32b7845a85d01ffc2e"}, - {file = "safetensors-0.4.5-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:4037676c86365a721a8c9510323a51861d703b399b78a6b4486a54a65a975fca"}, - {file = "safetensors-0.4.5-cp39-none-win32.whl", hash = "sha256:1500418454529d0ed5c1564bda376c4ddff43f30fce9517d9bee7bcce5a8ef50"}, - {file = "safetensors-0.4.5-cp39-none-win_amd64.whl", hash = "sha256:9d1a94b9d793ed8fe35ab6d5cea28d540a46559bafc6aae98f30ee0867000cab"}, - {file = "safetensors-0.4.5-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:fdadf66b5a22ceb645d5435a0be7a0292ce59648ca1d46b352f13cff3ea80410"}, - {file = "safetensors-0.4.5-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:d42ffd4c2259f31832cb17ff866c111684c87bd930892a1ba53fed28370c918c"}, - {file = "safetensors-0.4.5-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd8a1f6d2063a92cd04145c7fd9e31a1c7d85fbec20113a14b487563fdbc0597"}, - {file = "safetensors-0.4.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:951d2fcf1817f4fb0ef0b48f6696688a4e852a95922a042b3f96aaa67eedc920"}, - {file = "safetensors-0.4.5-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6ac85d9a8c1af0e3132371d9f2d134695a06a96993c2e2f0bbe25debb9e3f67a"}, - {file = "safetensors-0.4.5-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:e3cec4a29eb7fe8da0b1c7988bc3828183080439dd559f720414450de076fcab"}, - {file = "safetensors-0.4.5-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:21742b391b859e67b26c0b2ac37f52c9c0944a879a25ad2f9f9f3cd61e7fda8f"}, - {file = "safetensors-0.4.5-pp37-pypy37_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c7db3006a4915151ce1913652e907cdede299b974641a83fbc092102ac41b644"}, - {file = "safetensors-0.4.5-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f68bf99ea970960a237f416ea394e266e0361895753df06e3e06e6ea7907d98b"}, - {file = "safetensors-0.4.5-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8158938cf3324172df024da511839d373c40fbfaa83e9abf467174b2910d7b4c"}, - {file = "safetensors-0.4.5-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:540ce6c4bf6b58cb0fd93fa5f143bc0ee341c93bb4f9287ccd92cf898cc1b0dd"}, - {file = "safetensors-0.4.5-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:bfeaa1a699c6b9ed514bd15e6a91e74738b71125a9292159e3d6b7f0a53d2cde"}, - {file = "safetensors-0.4.5-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:01c8f00da537af711979e1b42a69a8ec9e1d7112f208e0e9b8a35d2c381085ef"}, - {file = "safetensors-0.4.5-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:a0dd565f83b30f2ca79b5d35748d0d99dd4b3454f80e03dfb41f0038e3bdf180"}, - {file = "safetensors-0.4.5-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:023b6e5facda76989f4cba95a861b7e656b87e225f61811065d5c501f78cdb3f"}, - {file = "safetensors-0.4.5-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9633b663393d5796f0b60249549371e392b75a0b955c07e9c6f8708a87fc841f"}, - {file = "safetensors-0.4.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:78dd8adfb48716233c45f676d6e48534d34b4bceb50162c13d1f0bdf6f78590a"}, - {file = "safetensors-0.4.5-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:8e8deb16c4321d61ae72533b8451ec4a9af8656d1c61ff81aa49f966406e4b68"}, - {file = "safetensors-0.4.5-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:52452fa5999dc50c4decaf0c53aa28371f7f1e0fe5c2dd9129059fbe1e1599c7"}, - {file = "safetensors-0.4.5-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:d5f23198821e227cfc52d50fa989813513db381255c6d100927b012f0cfec63d"}, - {file = "safetensors-0.4.5-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f4beb84b6073b1247a773141a6331117e35d07134b3bb0383003f39971d414bb"}, - {file = "safetensors-0.4.5-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:68814d599d25ed2fdd045ed54d370d1d03cf35e02dce56de44c651f828fb9b7b"}, - {file = "safetensors-0.4.5-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f0b6453c54c57c1781292c46593f8a37254b8b99004c68d6c3ce229688931a22"}, - {file = "safetensors-0.4.5-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:adaa9c6dead67e2dd90d634f89131e43162012479d86e25618e821a03d1eb1dc"}, - {file = "safetensors-0.4.5-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:73e7d408e9012cd17511b382b43547850969c7979efc2bc353f317abaf23c84c"}, - {file = "safetensors-0.4.5-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:775409ce0fcc58b10773fdb4221ed1eb007de10fe7adbdf8f5e8a56096b6f0bc"}, - {file = "safetensors-0.4.5-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:834001bed193e4440c4a3950a31059523ee5090605c907c66808664c932b549c"}, - {file = "safetensors-0.4.5.tar.gz", hash = "sha256:d73de19682deabb02524b3d5d1f8b3aaba94c72f1bbfc7911b9b9d5d391c0310"}, -] - -[package.extras] -all = ["safetensors[jax]", "safetensors[numpy]", "safetensors[paddlepaddle]", "safetensors[pinned-tf]", "safetensors[quality]", "safetensors[testing]", "safetensors[torch]"] -dev = ["safetensors[all]"] -jax = ["flax (>=0.6.3)", "jax (>=0.3.25)", "jaxlib (>=0.3.25)", "safetensors[numpy]"] -mlx = ["mlx (>=0.0.9)"] -numpy = ["numpy (>=1.21.6)"] -paddlepaddle = ["paddlepaddle (>=2.4.1)", "safetensors[numpy]"] -pinned-tf = ["safetensors[numpy]", "tensorflow (==2.11.0)"] -quality = ["black (==22.3)", "click (==8.0.4)", "flake8 (>=3.8.3)", "isort (>=5.5.4)"] -tensorflow = ["safetensors[numpy]", "tensorflow (>=2.11.0)"] -testing = ["h5py (>=3.7.0)", "huggingface-hub (>=0.12.1)", "hypothesis (>=6.70.2)", "pytest (>=7.2.0)", "pytest-benchmark (>=4.0.0)", "safetensors[numpy]", "setuptools-rust (>=1.5.2)"] -torch = ["safetensors[numpy]", "torch (>=1.10)"] - -[[package]] -name = "scikit-learn" -version = "1.5.2" -description = "A set of python modules for machine learning and data mining" -optional = false -python-versions = ">=3.9" -files = [ - {file = "scikit_learn-1.5.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:299406827fb9a4f862626d0fe6c122f5f87f8910b86fe5daa4c32dcd742139b6"}, - {file = "scikit_learn-1.5.2-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:2d4cad1119c77930b235579ad0dc25e65c917e756fe80cab96aa3b9428bd3fb0"}, - {file = "scikit_learn-1.5.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8c412ccc2ad9bf3755915e3908e677b367ebc8d010acbb3f182814524f2e5540"}, - {file = "scikit_learn-1.5.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3a686885a4b3818d9e62904d91b57fa757fc2bed3e465c8b177be652f4dd37c8"}, - {file = "scikit_learn-1.5.2-cp310-cp310-win_amd64.whl", hash = "sha256:c15b1ca23d7c5f33cc2cb0a0d6aaacf893792271cddff0edbd6a40e8319bc113"}, - {file = "scikit_learn-1.5.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:03b6158efa3faaf1feea3faa884c840ebd61b6484167c711548fce208ea09445"}, - {file = "scikit_learn-1.5.2-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:1ff45e26928d3b4eb767a8f14a9a6efbf1cbff7c05d1fb0f95f211a89fd4f5de"}, - {file = "scikit_learn-1.5.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f763897fe92d0e903aa4847b0aec0e68cadfff77e8a0687cabd946c89d17e675"}, - {file = "scikit_learn-1.5.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f8b0ccd4a902836493e026c03256e8b206656f91fbcc4fde28c57a5b752561f1"}, - {file = "scikit_learn-1.5.2-cp311-cp311-win_amd64.whl", hash = "sha256:6c16d84a0d45e4894832b3c4d0bf73050939e21b99b01b6fd59cbb0cf39163b6"}, - {file = "scikit_learn-1.5.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:f932a02c3f4956dfb981391ab24bda1dbd90fe3d628e4b42caef3e041c67707a"}, - {file = "scikit_learn-1.5.2-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:3b923d119d65b7bd555c73be5423bf06c0105678ce7e1f558cb4b40b0a5502b1"}, - {file = "scikit_learn-1.5.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f60021ec1574e56632be2a36b946f8143bf4e5e6af4a06d85281adc22938e0dd"}, - {file = "scikit_learn-1.5.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:394397841449853c2290a32050382edaec3da89e35b3e03d6cc966aebc6a8ae6"}, - {file = "scikit_learn-1.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:57cc1786cfd6bd118220a92ede80270132aa353647684efa385a74244a41e3b1"}, - {file = "scikit_learn-1.5.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9a702e2de732bbb20d3bad29ebd77fc05a6b427dc49964300340e4c9328b3f5"}, - {file = "scikit_learn-1.5.2-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:b0768ad641981f5d3a198430a1d31c3e044ed2e8a6f22166b4d546a5116d7908"}, - {file = "scikit_learn-1.5.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:178ddd0a5cb0044464fc1bfc4cca5b1833bfc7bb022d70b05db8530da4bb3dd3"}, - {file = "scikit_learn-1.5.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f7284ade780084d94505632241bf78c44ab3b6f1e8ccab3d2af58e0e950f9c12"}, - {file = "scikit_learn-1.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:b7b0f9a0b1040830d38c39b91b3a44e1b643f4b36e36567b80b7c6bd2202a27f"}, - {file = "scikit_learn-1.5.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:757c7d514ddb00ae249832fe87100d9c73c6ea91423802872d9e74970a0e40b9"}, - {file = "scikit_learn-1.5.2-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:52788f48b5d8bca5c0736c175fa6bdaab2ef00a8f536cda698db61bd89c551c1"}, - {file = "scikit_learn-1.5.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:643964678f4b5fbdc95cbf8aec638acc7aa70f5f79ee2cdad1eec3df4ba6ead8"}, - {file = "scikit_learn-1.5.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ca64b3089a6d9b9363cd3546f8978229dcbb737aceb2c12144ee3f70f95684b7"}, - {file = "scikit_learn-1.5.2-cp39-cp39-win_amd64.whl", hash = "sha256:3bed4909ba187aca80580fe2ef370d9180dcf18e621a27c4cf2ef10d279a7efe"}, - {file = "scikit_learn-1.5.2.tar.gz", hash = "sha256:b4237ed7b3fdd0a4882792e68ef2545d5baa50aca3bb45aa7df468138ad8f94d"}, -] - -[package.dependencies] -joblib = ">=1.2.0" -numpy = ">=1.19.5" -scipy = ">=1.6.0" -threadpoolctl = ">=3.1.0" - -[package.extras] -benchmark = ["matplotlib (>=3.3.4)", "memory_profiler (>=0.57.0)", "pandas (>=1.1.5)"] -build = ["cython (>=3.0.10)", "meson-python (>=0.16.0)", "numpy (>=1.19.5)", "scipy (>=1.6.0)"] -docs = ["Pillow (>=7.1.2)", "matplotlib (>=3.3.4)", "memory_profiler (>=0.57.0)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "polars (>=0.20.30)", "pooch (>=1.6.0)", "pydata-sphinx-theme (>=0.15.3)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)", "sphinx (>=7.3.7)", "sphinx-copybutton (>=0.5.2)", "sphinx-design (>=0.5.0)", "sphinx-design (>=0.6.0)", "sphinx-gallery (>=0.16.0)", "sphinx-prompt (>=1.4.0)", "sphinx-remove-toctrees (>=1.0.0.post1)", "sphinxcontrib-sass (>=0.3.4)", "sphinxext-opengraph (>=0.9.1)"] -examples = ["matplotlib (>=3.3.4)", "pandas (>=1.1.5)", "plotly (>=5.14.0)", "pooch (>=1.6.0)", "scikit-image (>=0.17.2)", "seaborn (>=0.9.0)"] -install = ["joblib (>=1.2.0)", "numpy (>=1.19.5)", "scipy (>=1.6.0)", "threadpoolctl (>=3.1.0)"] -maintenance = ["conda-lock (==2.5.6)"] -tests = ["black (>=24.3.0)", "matplotlib (>=3.3.4)", "mypy (>=1.9)", "numpydoc (>=1.2.0)", "pandas (>=1.1.5)", "polars (>=0.20.30)", "pooch (>=1.6.0)", "pyamg (>=4.0.0)", "pyarrow (>=12.0.0)", "pytest (>=7.1.2)", "pytest-cov (>=2.9.0)", "ruff (>=0.2.1)", "scikit-image (>=0.17.2)"] - -[[package]] -name = "scipy" -version = "1.14.1" -description = "Fundamental algorithms for scientific computing in Python" -optional = false -python-versions = ">=3.10" -files = [ - {file = "scipy-1.14.1-cp310-cp310-macosx_10_13_x86_64.whl", hash = "sha256:b28d2ca4add7ac16ae8bb6632a3c86e4b9e4d52d3e34267f6e1b0c1f8d87e389"}, - {file = "scipy-1.14.1-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:d0d2821003174de06b69e58cef2316a6622b60ee613121199cb2852a873f8cf3"}, - {file = "scipy-1.14.1-cp310-cp310-macosx_14_0_arm64.whl", hash = "sha256:8bddf15838ba768bb5f5083c1ea012d64c9a444e16192762bd858f1e126196d0"}, - {file = "scipy-1.14.1-cp310-cp310-macosx_14_0_x86_64.whl", hash = "sha256:97c5dddd5932bd2a1a31c927ba5e1463a53b87ca96b5c9bdf5dfd6096e27efc3"}, - {file = "scipy-1.14.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2ff0a7e01e422c15739ecd64432743cf7aae2b03f3084288f399affcefe5222d"}, - {file = "scipy-1.14.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8e32dced201274bf96899e6491d9ba3e9a5f6b336708656466ad0522d8528f69"}, - {file = "scipy-1.14.1-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:8426251ad1e4ad903a4514712d2fa8fdd5382c978010d1c6f5f37ef286a713ad"}, - {file = "scipy-1.14.1-cp310-cp310-win_amd64.whl", hash = "sha256:a49f6ed96f83966f576b33a44257d869756df6cf1ef4934f59dd58b25e0327e5"}, - {file = "scipy-1.14.1-cp311-cp311-macosx_10_13_x86_64.whl", hash = "sha256:2da0469a4ef0ecd3693761acbdc20f2fdeafb69e6819cc081308cc978153c675"}, - {file = "scipy-1.14.1-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:c0ee987efa6737242745f347835da2cc5bb9f1b42996a4d97d5c7ff7928cb6f2"}, - {file = "scipy-1.14.1-cp311-cp311-macosx_14_0_arm64.whl", hash = "sha256:3a1b111fac6baec1c1d92f27e76511c9e7218f1695d61b59e05e0fe04dc59617"}, - {file = "scipy-1.14.1-cp311-cp311-macosx_14_0_x86_64.whl", hash = "sha256:8475230e55549ab3f207bff11ebfc91c805dc3463ef62eda3ccf593254524ce8"}, - {file = "scipy-1.14.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:278266012eb69f4a720827bdd2dc54b2271c97d84255b2faaa8f161a158c3b37"}, - {file = "scipy-1.14.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fef8c87f8abfb884dac04e97824b61299880c43f4ce675dd2cbeadd3c9b466d2"}, - {file = "scipy-1.14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b05d43735bb2f07d689f56f7b474788a13ed8adc484a85aa65c0fd931cf9ccd2"}, - {file = "scipy-1.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:716e389b694c4bb564b4fc0c51bc84d381735e0d39d3f26ec1af2556ec6aad94"}, - {file = "scipy-1.14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:631f07b3734d34aced009aaf6fedfd0eb3498a97e581c3b1e5f14a04164a456d"}, - {file = "scipy-1.14.1-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:af29a935803cc707ab2ed7791c44288a682f9c8107bc00f0eccc4f92c08d6e07"}, - {file = "scipy-1.14.1-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:2843f2d527d9eebec9a43e6b406fb7266f3af25a751aa91d62ff416f54170bc5"}, - {file = "scipy-1.14.1-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:eb58ca0abd96911932f688528977858681a59d61a7ce908ffd355957f7025cfc"}, - {file = "scipy-1.14.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:30ac8812c1d2aab7131a79ba62933a2a76f582d5dbbc695192453dae67ad6310"}, - {file = "scipy-1.14.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8f9ea80f2e65bdaa0b7627fb00cbeb2daf163caa015e59b7516395fe3bd1e066"}, - {file = "scipy-1.14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:edaf02b82cd7639db00dbff629995ef185c8df4c3ffa71a5562a595765a06ce1"}, - {file = "scipy-1.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:2ff38e22128e6c03ff73b6bb0f85f897d2362f8c052e3b8ad00532198fbdae3f"}, - {file = "scipy-1.14.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:1729560c906963fc8389f6aac023739ff3983e727b1a4d87696b7bf108316a79"}, - {file = "scipy-1.14.1-cp313-cp313-macosx_12_0_arm64.whl", hash = "sha256:4079b90df244709e675cdc8b93bfd8a395d59af40b72e339c2287c91860deb8e"}, - {file = "scipy-1.14.1-cp313-cp313-macosx_14_0_arm64.whl", hash = "sha256:e0cf28db0f24a38b2a0ca33a85a54852586e43cf6fd876365c86e0657cfe7d73"}, - {file = "scipy-1.14.1-cp313-cp313-macosx_14_0_x86_64.whl", hash = "sha256:0c2f95de3b04e26f5f3ad5bb05e74ba7f68b837133a4492414b3afd79dfe540e"}, - {file = "scipy-1.14.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b99722ea48b7ea25e8e015e8341ae74624f72e5f21fc2abd45f3a93266de4c5d"}, - {file = "scipy-1.14.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:5149e3fd2d686e42144a093b206aef01932a0059c2a33ddfa67f5f035bdfe13e"}, - {file = "scipy-1.14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:e4f5a7c49323533f9103d4dacf4e4f07078f360743dec7f7596949149efeec06"}, - {file = "scipy-1.14.1-cp313-cp313-win_amd64.whl", hash = "sha256:baff393942b550823bfce952bb62270ee17504d02a1801d7fd0719534dfb9c84"}, - {file = "scipy-1.14.1.tar.gz", hash = "sha256:5a275584e726026a5699459aa72f828a610821006228e841b94275c4a7c08417"}, -] - -[package.dependencies] -numpy = ">=1.23.5,<2.3" - -[package.extras] -dev = ["cython-lint (>=0.12.2)", "doit (>=0.36.0)", "mypy (==1.10.0)", "pycodestyle", "pydevtool", "rich-click", "ruff (>=0.0.292)", "types-psutil", "typing_extensions"] -doc = ["jupyterlite-pyodide-kernel", "jupyterlite-sphinx (>=0.13.1)", "jupytext", "matplotlib (>=3.5)", "myst-nb", "numpydoc", "pooch", "pydata-sphinx-theme (>=0.15.2)", "sphinx (>=5.0.0,<=7.3.7)", "sphinx-design (>=0.4.0)"] -test = ["Cython", "array-api-strict (>=2.0)", "asv", "gmpy2", "hypothesis (>=6.30)", "meson", "mpmath", "ninja", "pooch", "pytest", "pytest-cov", "pytest-timeout", "pytest-xdist", "scikit-umfpack", "threadpoolctl"] - -[[package]] -name = "sentence-transformers" -version = "3.1.1" -description = "State-of-the-Art Text Embeddings" -optional = false -python-versions = ">=3.8" -files = [ - {file = "sentence_transformers-3.1.1-py3-none-any.whl", hash = "sha256:c73bf6f17e3676bb9372a6133a254ebfb5907586b470f2bac5a840c64c3cf97e"}, - {file = "sentence_transformers-3.1.1.tar.gz", hash = "sha256:8f00020ef4ad6b918475c38af545c22f61403b67eb22d994860bab06902db160"}, -] - -[package.dependencies] -huggingface-hub = ">=0.19.3" -Pillow = "*" -scikit-learn = "*" -scipy = "*" -torch = ">=1.11.0" -tqdm = "*" -transformers = ">=4.38.0,<5.0.0" - -[package.extras] -dev = ["accelerate (>=0.20.3)", "datasets", "pre-commit", "pytest", "pytest-cov"] -train = ["accelerate (>=0.20.3)", "datasets"] - -[[package]] -name = "sentencepiece" -version = "0.2.0" -description = "SentencePiece python wrapper" -optional = false -python-versions = "*" -files = [ - {file = "sentencepiece-0.2.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:188779e1298a1c8b8253c7d3ad729cb0a9891e5cef5e5d07ce4592c54869e227"}, - {file = "sentencepiece-0.2.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:bed9cf85b296fa2b76fc2547b9cbb691a523864cebaee86304c43a7b4cb1b452"}, - {file = "sentencepiece-0.2.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:d7b67e724bead13f18db6e1d10b6bbdc454af574d70efbb36f27d90387be1ca3"}, - {file = "sentencepiece-0.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2fde4b08cfe237be4484c6c7c2e2c75fb862cfeab6bd5449ce4caeafd97b767a"}, - {file = "sentencepiece-0.2.0-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4c378492056202d1c48a4979650981635fd97875a00eabb1f00c6a236b013b5e"}, - {file = "sentencepiece-0.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1380ce6540a368de2ef6d7e6ba14ba8f3258df650d39ba7d833b79ee68a52040"}, - {file = "sentencepiece-0.2.0-cp310-cp310-win32.whl", hash = "sha256:a1151d6a6dd4b43e552394aed0edfe9292820272f0194bd56c7c1660a0c06c3d"}, - {file = "sentencepiece-0.2.0-cp310-cp310-win_amd64.whl", hash = "sha256:d490142b0521ef22bc1085f061d922a2a6666175bb6b42e588ff95c0db6819b2"}, - {file = "sentencepiece-0.2.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:17982700c4f6dbb55fa3594f3d7e5dd1c8659a274af3738e33c987d2a27c9d5c"}, - {file = "sentencepiece-0.2.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:7c867012c0e8bcd5bdad0f791609101cb5c66acb303ab3270218d6debc68a65e"}, - {file = "sentencepiece-0.2.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:7fd6071249c74f779c5b27183295b9202f8dedb68034e716784364443879eaa6"}, - {file = "sentencepiece-0.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:27f90c55a65013cbb8f4d7aab0599bf925cde4adc67ae43a0d323677b5a1c6cb"}, - {file = "sentencepiece-0.2.0-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b293734059ef656dcd65be62ff771507bea8fed0a711b6733976e1ed3add4553"}, - {file = "sentencepiece-0.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e58b47f933aca74c6a60a79dcb21d5b9e47416256c795c2d58d55cec27f9551d"}, - {file = "sentencepiece-0.2.0-cp311-cp311-win32.whl", hash = "sha256:c581258cf346b327c62c4f1cebd32691826306f6a41d8c4bec43b010dee08e75"}, - {file = "sentencepiece-0.2.0-cp311-cp311-win_amd64.whl", hash = "sha256:0993dbc665f4113017892f1b87c3904a44d0640eda510abcacdfb07f74286d36"}, - {file = "sentencepiece-0.2.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:ea5f536e32ea8ec96086ee00d7a4a131ce583a1b18d130711707c10e69601cb2"}, - {file = "sentencepiece-0.2.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d0cb51f53b6aae3c36bafe41e86167c71af8370a039f542c43b0cce5ef24a68c"}, - {file = "sentencepiece-0.2.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3212121805afc58d8b00ab4e7dd1f8f76c203ddb9dc94aa4079618a31cf5da0f"}, - {file = "sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2a3149e3066c2a75e0d68a43eb632d7ae728c7925b517f4c05c40f6f7280ce08"}, - {file = "sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:632f3594d3e7ac8b367bca204cb3fd05a01d5b21455acd097ea4c0e30e2f63d7"}, - {file = "sentencepiece-0.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f295105c6bdbb05bd5e1b0cafbd78ff95036f5d3641e7949455a3f4e5e7c3109"}, - {file = "sentencepiece-0.2.0-cp312-cp312-win32.whl", hash = "sha256:fb89f811e5efd18bab141afc3fea3de141c3f69f3fe9e898f710ae7fe3aab251"}, - {file = "sentencepiece-0.2.0-cp312-cp312-win_amd64.whl", hash = "sha256:7a673a72aab81fef5ebe755c6e0cc60087d1f3a4700835d40537183c1703a45f"}, - {file = "sentencepiece-0.2.0-cp36-cp36m-macosx_10_9_x86_64.whl", hash = "sha256:4547683f330289ec4f093027bfeb87f9ef023b2eb6f879fdc4a8187c7e0ffb90"}, - {file = "sentencepiece-0.2.0-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7cd6175f7eaec7142d2bf6f6597ce7db4c9ac89acf93fcdb17410c3a8b781eeb"}, - {file = "sentencepiece-0.2.0-cp36-cp36m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:859ba1acde782609a0910a26a60e16c191a82bf39b5621107552c0cd79fad00f"}, - {file = "sentencepiece-0.2.0-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bcbbef6cc277f8f18f36959e305f10b1c620442d75addc79c21d7073ae581b50"}, - {file = "sentencepiece-0.2.0-cp36-cp36m-win32.whl", hash = "sha256:536b934e244829e3fe6c4f198652cd82da48adb9aa145c9f00889542726dee3d"}, - {file = "sentencepiece-0.2.0-cp36-cp36m-win_amd64.whl", hash = "sha256:0a91aaa3c769b52440df56fafda683b3aa48e3f2169cf7ee5b8c8454a7f3ae9b"}, - {file = "sentencepiece-0.2.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:787e480ca4c1d08c9985a7eb1eae4345c107729c99e9b5a9a00f2575fc7d4b4b"}, - {file = "sentencepiece-0.2.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f4d158189eb2ecffea3a51edf6d25e110b3678ec47f1a40f2d541eafbd8f6250"}, - {file = "sentencepiece-0.2.0-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d1e5ca43013e8935f25457a4fca47e315780172c3e821b4b13a890668911c792"}, - {file = "sentencepiece-0.2.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7140d9e5a74a0908493bb4a13f1f16a401297bd755ada4c707e842fbf6f0f5bf"}, - {file = "sentencepiece-0.2.0-cp37-cp37m-win32.whl", hash = "sha256:6cf333625234f247ab357b0bd9836638405ea9082e1543d5b8408f014979dcbf"}, - {file = "sentencepiece-0.2.0-cp37-cp37m-win_amd64.whl", hash = "sha256:ff88712338b01031910e8e61e7239aff3ce8869ee31a47df63cb38aadd591bea"}, - {file = "sentencepiece-0.2.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:20813a68d4c221b1849c62c30e1281ea81687894d894b8d4a0f4677d9311e0f5"}, - {file = "sentencepiece-0.2.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:926ef920ae2e8182db31d3f5d081ada57804e3e1d3a8c4ef8b117f9d9fb5a945"}, - {file = "sentencepiece-0.2.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:89f65f69636b7e9c015b79dff9c9985a9bc7d19ded6f79ef9f1ec920fdd73ecf"}, - {file = "sentencepiece-0.2.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f67eae0dbe6f2d7d6ba50a354623d787c99965f068b81e145d53240198021b0"}, - {file = "sentencepiece-0.2.0-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:98501e075f35dd1a1d5a20f65be26839fcb1938752ec61539af008a5aa6f510b"}, - {file = "sentencepiece-0.2.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e3d1d2cc4882e8d6a1adf9d5927d7716f80617fc693385661caff21888972269"}, - {file = "sentencepiece-0.2.0-cp38-cp38-win32.whl", hash = "sha256:b99a308a2e5e569031ab164b74e6fab0b6f37dfb493c32f7816225f4d411a6dd"}, - {file = "sentencepiece-0.2.0-cp38-cp38-win_amd64.whl", hash = "sha256:cdb701eec783d3ec86b7cd4c763adad8eaf6b46db37ee1c36e5e6c44b3fe1b5f"}, - {file = "sentencepiece-0.2.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:1e0f9c4d0a6b0af59b613175f019916e28ade076e21242fd5be24340d8a2f64a"}, - {file = "sentencepiece-0.2.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:298f21cc1366eb60311aedba3169d30f885c363ddbf44214b0a587d2908141ad"}, - {file = "sentencepiece-0.2.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:3f1ec95aa1e5dab11f37ac7eff190493fd87770f7a8b81ebc9dd768d1a3c8704"}, - {file = "sentencepiece-0.2.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7b06b70af54daa4b4904cbb90b4eb6d35c9f3252fdc86c9c32d5afd4d30118d8"}, - {file = "sentencepiece-0.2.0-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:22e37bac44dd6603388cb598c64ff7a76e41ca774646f21c23aadfbf5a2228ab"}, - {file = "sentencepiece-0.2.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0461324897735512a32d222e3d886e24ad6a499761952b6bda2a9ee6e4313ea5"}, - {file = "sentencepiece-0.2.0-cp39-cp39-win32.whl", hash = "sha256:38aed822fb76435fa1f12185f10465a94ab9e51d5e8a9159e9a540ce926f0ffd"}, - {file = "sentencepiece-0.2.0-cp39-cp39-win_amd64.whl", hash = "sha256:d8cf876516548b5a1d6ac4745d8b554f5c07891d55da557925e5c13ff0b4e6ad"}, - {file = "sentencepiece-0.2.0.tar.gz", hash = "sha256:a52c19171daaf2e697dc6cbe67684e0fa341b1248966f6aebb541de654d15843"}, -] - [[package]] name = "setuptools" version = "75.5.0" @@ -3659,369 +854,6 @@ enabler = ["pytest-enabler (>=2.2)"] test = ["build[virtualenv] (>=1.0.3)", "filelock (>=3.4.0)", "ini2toml[lite] (>=0.14)", "jaraco.develop (>=7.21)", "jaraco.envs (>=2.2)", "jaraco.path (>=3.2.0)", "jaraco.test (>=5.5)", "packaging (>=24.2)", "pip (>=19.1)", "pyproject-hooks (!=1.1)", "pytest (>=6,!=8.1.*)", "pytest-home (>=0.5)", "pytest-perf", "pytest-subprocess", "pytest-timeout", "pytest-xdist (>=3)", "tomli-w (>=1.0.0)", "virtualenv (>=13.0.0)", "wheel (>=0.44.0)"] type = ["importlib-metadata (>=7.0.2)", "jaraco.develop (>=7.21)", "mypy (>=1.12,<1.14)", "pytest-mypy"] -[[package]] -name = "six" -version = "1.17.0" -description = "Python 2 and 3 compatibility utilities" -optional = false -python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,>=2.7" -files = [ - {file = "six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274"}, - {file = "six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81"}, -] - -[[package]] -name = "sniffio" -version = "1.3.1" -description = "Sniff out which async library your code is running under" -optional = false -python-versions = ">=3.7" -files = [ - {file = "sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2"}, - {file = "sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc"}, -] - -[[package]] -name = "starlette" -version = "0.38.6" -description = "The little ASGI library that shines." -optional = false -python-versions = ">=3.8" -files = [ - {file = "starlette-0.38.6-py3-none-any.whl", hash = "sha256:4517a1409e2e73ee4951214ba012052b9e16f60e90d73cfb06192c19203bbb05"}, - {file = "starlette-0.38.6.tar.gz", hash = "sha256:863a1588f5574e70a821dadefb41e4881ea451a47a3cd1b4df359d4ffefe5ead"}, -] - -[package.dependencies] -anyio = ">=3.4.0,<5" - -[package.extras] -full = ["httpx (>=0.22.0)", "itsdangerous", "jinja2", "python-multipart (>=0.0.7)", "pyyaml"] - -[[package]] -name = "sympy" -version = "1.13.3" -description = "Computer algebra system (CAS) in Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "sympy-1.13.3-py3-none-any.whl", hash = "sha256:54612cf55a62755ee71824ce692986f23c88ffa77207b30c1368eda4a7060f73"}, - {file = "sympy-1.13.3.tar.gz", hash = "sha256:b27fd2c6530e0ab39e275fc9b683895367e51d5da91baa8d3d64db2565fec4d9"}, -] - -[package.dependencies] -mpmath = ">=1.1.0,<1.4" - -[package.extras] -dev = ["hypothesis (>=6.70.0)", "pytest (>=7.1.0)"] - -[[package]] -name = "tensorboard" -version = "2.18.0" -description = "TensorBoard lets you watch Tensors Flow" -optional = false -python-versions = ">=3.9" -files = [ - {file = "tensorboard-2.18.0-py3-none-any.whl", hash = "sha256:107ca4821745f73e2aefa02c50ff70a9b694f39f790b11e6f682f7d326745eab"}, -] - -[package.dependencies] -absl-py = ">=0.4" -grpcio = ">=1.48.2" -markdown = ">=2.6.8" -numpy = ">=1.12.0" -packaging = "*" -protobuf = ">=3.19.6,<4.24.0 || >4.24.0" -setuptools = ">=41.0.0" -six = ">1.9" -tensorboard-data-server = ">=0.7.0,<0.8.0" -werkzeug = ">=1.0.1" - -[[package]] -name = "tensorboard-data-server" -version = "0.7.2" -description = "Fast data loading for TensorBoard" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tensorboard_data_server-0.7.2-py3-none-any.whl", hash = "sha256:7e0610d205889588983836ec05dc098e80f97b7e7bbff7e994ebb78f578d0ddb"}, - {file = "tensorboard_data_server-0.7.2-py3-none-macosx_10_9_x86_64.whl", hash = "sha256:9fe5d24221b29625dbc7328b0436ca7fc1c23de4acf4d272f1180856e32f9f60"}, - {file = "tensorboard_data_server-0.7.2-py3-none-manylinux_2_31_x86_64.whl", hash = "sha256:ef687163c24185ae9754ed5650eb5bc4d84ff257aabdc33f0cc6f74d8ba54530"}, -] - -[[package]] -name = "tensorflow" -version = "2.18.0" -description = "TensorFlow is an open source machine learning framework for everyone." -optional = false -python-versions = ">=3.9" -files = [ - {file = "tensorflow-2.18.0-cp310-cp310-macosx_12_0_arm64.whl", hash = "sha256:8da90a9388a1f6dd00d626590d2b5810faffbb3e7367f9783d80efff882340ee"}, - {file = "tensorflow-2.18.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:589342fb9bdcab2e9af0f946da4ca97757677e297d934fcdc087e87db99d6353"}, - {file = "tensorflow-2.18.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1eb77fae50d699442726d1b23c7512c97cd688cc7d857b028683d4535bbf3709"}, - {file = "tensorflow-2.18.0-cp310-cp310-win_amd64.whl", hash = "sha256:46f5a8b4e6273f488dc069fc3ac2211b23acd3d0437d919349c787fa341baa8a"}, - {file = "tensorflow-2.18.0-cp311-cp311-macosx_12_0_arm64.whl", hash = "sha256:453cb60638a02fd26316fb36c8cbcf1569d33671f17c658ca0cf2b4626f851e7"}, - {file = "tensorflow-2.18.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:85f1e7369af6d329b117b52e86093cd1e0458dd5404bf5b665853f873dd00b48"}, - {file = "tensorflow-2.18.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:70b8dd70fa3600bfce66ab529eebb804e1f9d7c863d2f71bc8fe9fc7a1ec3976"}, - {file = "tensorflow-2.18.0-cp311-cp311-win_amd64.whl", hash = "sha256:6e8b0f499ef0b7652480a58e358a73844932047f21c42c56f7f3bdcaf0803edc"}, - {file = "tensorflow-2.18.0-cp312-cp312-macosx_12_0_arm64.whl", hash = "sha256:ec4133a215c59314e929e7cbe914579d3afbc7874d9fa924873ee633fe4f71d0"}, - {file = "tensorflow-2.18.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4822904b3559d8a9c25f0fe5fef191cfc1352ceca42ca64f2a7bc7ae0ff4a1f5"}, - {file = "tensorflow-2.18.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bfdd65ea7e064064283dd78d529dd621257ee617218f63681935fd15817c6286"}, - {file = "tensorflow-2.18.0-cp312-cp312-win_amd64.whl", hash = "sha256:a701c2d3dca5f2efcab315b2c217f140ebd3da80410744e87d77016b3aaf53cb"}, - {file = "tensorflow-2.18.0-cp39-cp39-macosx_12_0_arm64.whl", hash = "sha256:336cace378c129c20fee6292f6a541165073d153a9a4c9cf4f14478a81895776"}, - {file = "tensorflow-2.18.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bcfd32134de8f95515b2d0ced89cdae15484b787d3a21893e9291def06c10c4e"}, - {file = "tensorflow-2.18.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ada1f7290c75b34748ee7378c1b77927e4044c94b8dc72dc75e7667c4fdaeb94"}, - {file = "tensorflow-2.18.0-cp39-cp39-win_amd64.whl", hash = "sha256:f8c946df1cb384504578fac1c199a95322373b8e04abd88aa8ae01301df469ea"}, -] - -[package.dependencies] -absl-py = ">=1.0.0" -astunparse = ">=1.6.0" -flatbuffers = ">=24.3.25" -gast = ">=0.2.1,<0.5.0 || >0.5.0,<0.5.1 || >0.5.1,<0.5.2 || >0.5.2" -google-pasta = ">=0.1.1" -grpcio = ">=1.24.3,<2.0" -h5py = ">=3.11.0" -keras = ">=3.5.0" -libclang = ">=13.0.0" -ml-dtypes = ">=0.4.0,<0.5.0" -numpy = ">=1.26.0,<2.1.0" -opt-einsum = ">=2.3.2" -packaging = "*" -protobuf = ">=3.20.3,<4.21.0 || >4.21.0,<4.21.1 || >4.21.1,<4.21.2 || >4.21.2,<4.21.3 || >4.21.3,<4.21.4 || >4.21.4,<4.21.5 || >4.21.5,<6.0.0dev" -requests = ">=2.21.0,<3" -setuptools = "*" -six = ">=1.12.0" -tensorboard = ">=2.18,<2.19" -termcolor = ">=1.1.0" -typing-extensions = ">=3.6.6" -wrapt = ">=1.11.0" - -[package.extras] -and-cuda = ["nvidia-cublas-cu12 (==12.5.3.2)", "nvidia-cuda-cupti-cu12 (==12.5.82)", "nvidia-cuda-nvcc-cu12 (==12.5.82)", "nvidia-cuda-nvrtc-cu12 (==12.5.82)", "nvidia-cuda-runtime-cu12 (==12.5.82)", "nvidia-cudnn-cu12 (==9.3.0.75)", "nvidia-cufft-cu12 (==11.2.3.61)", "nvidia-curand-cu12 (==10.3.6.82)", "nvidia-cusolver-cu12 (==11.6.3.83)", "nvidia-cusparse-cu12 (==12.5.1.3)", "nvidia-nccl-cu12 (==2.21.5)", "nvidia-nvjitlink-cu12 (==12.5.82)"] - -[[package]] -name = "termcolor" -version = "2.5.0" -description = "ANSI color formatting for output in terminal" -optional = false -python-versions = ">=3.9" -files = [ - {file = "termcolor-2.5.0-py3-none-any.whl", hash = "sha256:37b17b5fc1e604945c2642c872a3764b5d547a48009871aea3edd3afa180afb8"}, - {file = "termcolor-2.5.0.tar.gz", hash = "sha256:998d8d27da6d48442e8e1f016119076b690d962507531df4890fcd2db2ef8a6f"}, -] - -[package.extras] -tests = ["pytest", "pytest-cov"] - -[[package]] -name = "tf-keras" -version = "2.18.0" -description = "Deep learning for humans." -optional = false -python-versions = ">=3.9" -files = [ - {file = "tf_keras-2.18.0-py3-none-any.whl", hash = "sha256:c431d04027eef790fcd3261cf7fdf93eb74f3cb32e05078b57b7f5a54bd53262"}, - {file = "tf_keras-2.18.0.tar.gz", hash = "sha256:ebf744519b322afead33086a2aba872245473294affd40973694f3eb7c7ad77d"}, -] - -[package.dependencies] -tensorflow = ">=2.18,<2.19" - -[[package]] -name = "threadpoolctl" -version = "3.5.0" -description = "threadpoolctl" -optional = false -python-versions = ">=3.8" -files = [ - {file = "threadpoolctl-3.5.0-py3-none-any.whl", hash = "sha256:56c1e26c150397e58c4926da8eeee87533b1e32bef131bd4bf6a2f45f3185467"}, - {file = "threadpoolctl-3.5.0.tar.gz", hash = "sha256:082433502dd922bf738de0d8bcc4fdcbf0979ff44c42bd40f5af8a282f6fa107"}, -] - -[[package]] -name = "tokenizers" -version = "0.20.3" -description = "" -optional = false -python-versions = ">=3.7" -files = [ - {file = "tokenizers-0.20.3-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:31ccab28dbb1a9fe539787210b0026e22debeab1662970f61c2d921f7557f7e4"}, - {file = "tokenizers-0.20.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:c6361191f762bda98c773da418cf511cbaa0cb8d0a1196f16f8c0119bde68ff8"}, - {file = "tokenizers-0.20.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f128d5da1202b78fa0a10d8d938610472487da01b57098d48f7e944384362514"}, - {file = "tokenizers-0.20.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:79c4121a2e9433ad7ef0769b9ca1f7dd7fa4c0cd501763d0a030afcbc6384481"}, - {file = "tokenizers-0.20.3-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b7850fde24197fe5cd6556e2fdba53a6d3bae67c531ea33a3d7c420b90904141"}, - {file = "tokenizers-0.20.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b357970c095dc134978a68c67d845a1e3803ab7c4fbb39195bde914e7e13cf8b"}, - {file = "tokenizers-0.20.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a333d878c4970b72d6c07848b90c05f6b045cf9273fc2bc04a27211721ad6118"}, - {file = "tokenizers-0.20.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1fd9fee817f655a8f50049f685e224828abfadd436b8ff67979fc1d054b435f1"}, - {file = "tokenizers-0.20.3-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:9e7816808b402129393a435ea2a509679b41246175d6e5e9f25b8692bfaa272b"}, - {file = "tokenizers-0.20.3-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:ba96367db9d8a730d3a1d5996b4b7babb846c3994b8ef14008cd8660f55db59d"}, - {file = "tokenizers-0.20.3-cp310-none-win32.whl", hash = "sha256:ee31ba9d7df6a98619426283e80c6359f167e2e9882d9ce1b0254937dbd32f3f"}, - {file = "tokenizers-0.20.3-cp310-none-win_amd64.whl", hash = "sha256:a845c08fdad554fe0871d1255df85772f91236e5fd6b9287ef8b64f5807dbd0c"}, - {file = "tokenizers-0.20.3-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:585b51e06ca1f4839ce7759941e66766d7b060dccfdc57c4ca1e5b9a33013a90"}, - {file = "tokenizers-0.20.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:61cbf11954f3b481d08723ebd048ba4b11e582986f9be74d2c3bdd9293a4538d"}, - {file = "tokenizers-0.20.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ef820880d5e4e8484e2fa54ff8d297bb32519eaa7815694dc835ace9130a3eea"}, - {file = "tokenizers-0.20.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:67ef4dcb8841a4988cd00dd288fb95dfc8e22ed021f01f37348fd51c2b055ba9"}, - {file = "tokenizers-0.20.3-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ff1ef8bd47a02b0dc191688ccb4da53600df5d4c9a05a4b68e1e3de4823e78eb"}, - {file = "tokenizers-0.20.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:444d188186eab3148baf0615b522461b41b1f0cd58cd57b862ec94b6ac9780f1"}, - {file = "tokenizers-0.20.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:37c04c032c1442740b2c2d925f1857885c07619224a533123ac7ea71ca5713da"}, - {file = "tokenizers-0.20.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:453c7769d22231960ee0e883d1005c93c68015025a5e4ae56275406d94a3c907"}, - {file = "tokenizers-0.20.3-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:4bb31f7b2847e439766aaa9cc7bccf7ac7088052deccdb2275c952d96f691c6a"}, - {file = "tokenizers-0.20.3-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:843729bf0f991b29655a069a2ff58a4c24375a553c70955e15e37a90dd4e045c"}, - {file = "tokenizers-0.20.3-cp311-none-win32.whl", hash = "sha256:efcce3a927b1e20ca694ba13f7a68c59b0bd859ef71e441db68ee42cf20c2442"}, - {file = "tokenizers-0.20.3-cp311-none-win_amd64.whl", hash = "sha256:88301aa0801f225725b6df5dea3d77c80365ff2362ca7e252583f2b4809c4cc0"}, - {file = "tokenizers-0.20.3-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:49d12a32e190fad0e79e5bdb788d05da2f20d8e006b13a70859ac47fecf6ab2f"}, - {file = "tokenizers-0.20.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:282848cacfb9c06d5e51489f38ec5aa0b3cd1e247a023061945f71f41d949d73"}, - {file = "tokenizers-0.20.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:abe4e08c7d0cd6154c795deb5bf81d2122f36daf075e0c12a8b050d824ef0a64"}, - {file = "tokenizers-0.20.3-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ca94fc1b73b3883c98f0c88c77700b13d55b49f1071dfd57df2b06f3ff7afd64"}, - {file = "tokenizers-0.20.3-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ef279c7e239f95c8bdd6ff319d9870f30f0d24915b04895f55b1adcf96d6c60d"}, - {file = "tokenizers-0.20.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:16384073973f6ccbde9852157a4fdfe632bb65208139c9d0c0bd0176a71fd67f"}, - {file = "tokenizers-0.20.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:312d522caeb8a1a42ebdec87118d99b22667782b67898a76c963c058a7e41d4f"}, - {file = "tokenizers-0.20.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f2b7cb962564785a83dafbba0144ecb7f579f1d57d8c406cdaa7f32fe32f18ad"}, - {file = "tokenizers-0.20.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:124c5882ebb88dadae1fc788a582299fcd3a8bd84fc3e260b9918cf28b8751f5"}, - {file = "tokenizers-0.20.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:2b6e54e71f84c4202111a489879005cb14b92616a87417f6c102c833af961ea2"}, - {file = "tokenizers-0.20.3-cp312-none-win32.whl", hash = "sha256:83d9bfbe9af86f2d9df4833c22e94d94750f1d0cd9bfb22a7bb90a86f61cdb1c"}, - {file = "tokenizers-0.20.3-cp312-none-win_amd64.whl", hash = "sha256:44def74cee574d609a36e17c8914311d1b5dbcfe37c55fd29369d42591b91cf2"}, - {file = "tokenizers-0.20.3-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e0b630e0b536ef0e3c8b42c685c1bc93bd19e98c0f1543db52911f8ede42cf84"}, - {file = "tokenizers-0.20.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a02d160d2b19bcbfdf28bd9a4bf11be4cb97d0499c000d95d4c4b1a4312740b6"}, - {file = "tokenizers-0.20.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0e3d80d89b068bc30034034b5319218c7c0a91b00af19679833f55f3becb6945"}, - {file = "tokenizers-0.20.3-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:174a54910bed1b089226512b4458ea60d6d6fd93060254734d3bc3540953c51c"}, - {file = "tokenizers-0.20.3-cp313-cp313-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:098b8a632b8656aa5802c46689462c5c48f02510f24029d71c208ec2c822e771"}, - {file = "tokenizers-0.20.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:78c8c143e3ae41e718588281eb3e212c2b31623c9d6d40410ec464d7d6221fb5"}, - {file = "tokenizers-0.20.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2b26b0aadb18cd8701077362ba359a06683662d5cafe3e8e8aba10eb05c037f1"}, - {file = "tokenizers-0.20.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07d7851a72717321022f3774e84aa9d595a041d643fafa2e87fbc9b18711dac0"}, - {file = "tokenizers-0.20.3-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:bd44e48a430ada902c6266a8245f5036c4fe744fcb51f699999fbe82aa438797"}, - {file = "tokenizers-0.20.3-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:a4c186bb006ccbe1f5cc4e0380d1ce7806f5955c244074fd96abc55e27b77f01"}, - {file = "tokenizers-0.20.3-cp313-none-win32.whl", hash = "sha256:6e19e0f1d854d6ab7ea0c743d06e764d1d9a546932be0a67f33087645f00fe13"}, - {file = "tokenizers-0.20.3-cp313-none-win_amd64.whl", hash = "sha256:d50ede425c7e60966a9680d41b58b3a0950afa1bb570488e2972fa61662c4273"}, - {file = "tokenizers-0.20.3-cp37-cp37m-macosx_10_12_x86_64.whl", hash = "sha256:9adda1ff5fb9dcdf899ceca672a4e2ce9e797adb512a6467305ca3d8bfcfbdd0"}, - {file = "tokenizers-0.20.3-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:6dde2cae6004ba7a3badff4a11911cae03ebf23e97eebfc0e71fef2530e5074f"}, - {file = "tokenizers-0.20.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c4a7fd678b35614fca708579eb95b7587a5e8a6d328171bd2488fd9f27d82be4"}, - {file = "tokenizers-0.20.3-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:1b80e3c7283a01a356bd2210f53d1a4a5d32b269c2024389ed0173137708d50e"}, - {file = "tokenizers-0.20.3-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a8cc0e8176b762973758a77f0d9c4467d310e33165fb74173418ca3734944da4"}, - {file = "tokenizers-0.20.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d5634b2e2f5f3d2b4439d2d74066e22eb4b1f04f3fea05cb2a3c12d89b5a3bcd"}, - {file = "tokenizers-0.20.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b4ba635165bc1ea46f2da8e5d80b5f70f6ec42161e38d96dbef33bb39df73964"}, - {file = "tokenizers-0.20.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18e4c7c64172e7789bd8b07aa3087ea87c4c4de7e90937a2aa036b5d92332536"}, - {file = "tokenizers-0.20.3-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:1f74909ef7675c26d4095a817ec3393d67f3158ca4836c233212e5613ef640c4"}, - {file = "tokenizers-0.20.3-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:0e9b81321a1e05b16487d312b4264984513f8b4a7556229cafac6e88c2036b09"}, - {file = "tokenizers-0.20.3-cp37-none-win32.whl", hash = "sha256:ab48184cd58b4a03022a2ec75b54c9f600ffea9a733612c02325ed636f353729"}, - {file = "tokenizers-0.20.3-cp37-none-win_amd64.whl", hash = "sha256:60ac483cebee1c12c71878523e768df02fa17e4c54412966cb3ac862c91b36c1"}, - {file = "tokenizers-0.20.3-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:3229ef103c89583d10b9378afa5d601b91e6337530a0988e17ca8d635329a996"}, - {file = "tokenizers-0.20.3-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:6ac52cc24bad3de865c7e65b1c4e7b70d00938a8ae09a92a453b8f676e714ad5"}, - {file = "tokenizers-0.20.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:04627b7b502fa6a2a005e1bd446fa4247d89abcb1afaa1b81eb90e21aba9a60f"}, - {file = "tokenizers-0.20.3-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:c27ceb887f0e81a3c377eb4605dca7a95a81262761c0fba308d627b2abb98f2b"}, - {file = "tokenizers-0.20.3-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:65ab780194da4e1fcf5670523a2f377c4838ebf5249efe41fa1eddd2a84fb49d"}, - {file = "tokenizers-0.20.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:98d343134f47159e81f7f242264b0eb222e6b802f37173c8d7d7b64d5c9d1388"}, - {file = "tokenizers-0.20.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2475bb004ab2009d29aff13b5047bfdb3d4b474f0aa9d4faa13a7f34dbbbb43"}, - {file = "tokenizers-0.20.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7b6583a65c01db1197c1eb36857ceba8ec329d53afadd268b42a6b04f4965724"}, - {file = "tokenizers-0.20.3-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:62d00ba208358c037eeab7bfc00a905adc67b2d31b68ab40ed09d75881e114ea"}, - {file = "tokenizers-0.20.3-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:0fc7a39e5bedc817bda395a798dfe2d9c5f7c71153c90d381b5135a0328d9520"}, - {file = "tokenizers-0.20.3-cp38-none-win32.whl", hash = "sha256:84d40ee0f8550d64d3ea92dd7d24a8557a9172165bdb986c9fb2503b4fe4e3b6"}, - {file = "tokenizers-0.20.3-cp38-none-win_amd64.whl", hash = "sha256:205a45246ed7f1718cf3785cff88450ba603352412aaf220ace026384aa3f1c0"}, - {file = "tokenizers-0.20.3-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:93e37f0269a11dc3b1a953f1fca9707f0929ebf8b4063c591c71a0664219988e"}, - {file = "tokenizers-0.20.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:f4cb0c614b0135e781de96c2af87e73da0389ac1458e2a97562ed26e29490d8d"}, - {file = "tokenizers-0.20.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7eb2fb1c432f5746b22f8a7f09fc18c4156cb0031c77f53cb19379d82d43297a"}, - {file = "tokenizers-0.20.3-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bfa8d029bb156181b006643309d6b673615a24e4ed24cf03aa191d599b996f51"}, - {file = "tokenizers-0.20.3-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6f90549622de3bf476ad9f1dd6f3f952ec3ed6ab8615ae88ef060d0c5bfad55d"}, - {file = "tokenizers-0.20.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a1d469c74eebf5c43fd61cd9b030e271d17198edd7bd45392e03a3c091d7d6d4"}, - {file = "tokenizers-0.20.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bee8f53b2594749f4460d53253bae55d718f04e9b633efa0f5df8938bd98e4f0"}, - {file = "tokenizers-0.20.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:938441babf3e5720e4459e306ef2809fb267680df9d1ff2873458b22aef60248"}, - {file = "tokenizers-0.20.3-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:7310ab23d7b0caebecc0e8be11a1146f320f5f07284000f6ea54793e83de1b75"}, - {file = "tokenizers-0.20.3-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:16121eb030a2b13094cfec936b0c12e8b4063c5f839591ea7d0212336d8f9921"}, - {file = "tokenizers-0.20.3-cp39-none-win32.whl", hash = "sha256:401cc21ef642ee235985d747f65e18f639464d377c70836c9003df208d582064"}, - {file = "tokenizers-0.20.3-cp39-none-win_amd64.whl", hash = "sha256:7498f3ea7746133335a6adb67a77cf77227a8b82c8483f644a2e5f86fea42b8d"}, - {file = "tokenizers-0.20.3-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:e919f2e3e68bb51dc31de4fcbbeff3bdf9c1cad489044c75e2b982a91059bd3c"}, - {file = "tokenizers-0.20.3-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:b8e9608f2773996cc272156e305bd79066163a66b0390fe21750aff62df1ac07"}, - {file = "tokenizers-0.20.3-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:39270a7050deaf50f7caff4c532c01b3c48f6608d42b3eacdebdc6795478c8df"}, - {file = "tokenizers-0.20.3-pp310-pypy310_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e005466632b1c5d2d2120f6de8aa768cc9d36cd1ab7d51d0c27a114c91a1e6ee"}, - {file = "tokenizers-0.20.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a07962340b36189b6c8feda552ea1bfeee6cf067ff922a1d7760662c2ee229e5"}, - {file = "tokenizers-0.20.3-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:55046ad3dd5f2b3c67501fcc8c9cbe3e901d8355f08a3b745e9b57894855f85b"}, - {file = "tokenizers-0.20.3-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:efcf0eb939988b627558aaf2b9dc3e56d759cad2e0cfa04fcab378e4b48fc4fd"}, - {file = "tokenizers-0.20.3-pp37-pypy37_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f3558a7ae6a6d38a77dfce12172a1e2e1bf3e8871e744a1861cd7591ea9ebe24"}, - {file = "tokenizers-0.20.3-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4d53029fe44bc70c3ff14ef512460a0cf583495a0f8e2f4b70e26eb9438e38a9"}, - {file = "tokenizers-0.20.3-pp37-pypy37_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57a2a56397b2bec5a629b516b23f0f8a3e4f978c7488d4a299980f8375954b85"}, - {file = "tokenizers-0.20.3-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1e5bfaae740ef9ece000f8a07e78ac0e2b085c5ce9648f8593ddf0243c9f76d"}, - {file = "tokenizers-0.20.3-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:fbaf3ea28fedfb2283da60e710aff25492e795a7397cad8a50f1e079b65a5a70"}, - {file = "tokenizers-0.20.3-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:c47c037116310dc976eb96b008e41b9cfaba002ed8005848d4d632ee0b7ba9ae"}, - {file = "tokenizers-0.20.3-pp38-pypy38_pp73-macosx_10_12_x86_64.whl", hash = "sha256:c31751f0721f58f5e19bb27c1acc259aeff860d8629c4e1a900b26a1979ada8e"}, - {file = "tokenizers-0.20.3-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:c697cbd3be7a79ea250ea5f380d6f12e534c543cfb137d5c734966b3ee4f34cc"}, - {file = "tokenizers-0.20.3-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b48971b88ef9130bf35b41b35fd857c3c4dae4a9cd7990ebc7fc03e59cc92438"}, - {file = "tokenizers-0.20.3-pp38-pypy38_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4e615de179bbe060ab33773f0d98a8a8572b5883dd7dac66c1de8c056c7e748c"}, - {file = "tokenizers-0.20.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da1ec842035ed9999c62e45fbe0ff14b7e8a7e02bb97688cc6313cf65e5cd755"}, - {file = "tokenizers-0.20.3-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:6ee4954c1dd23aadc27958dad759006e71659d497dcb0ef0c7c87ea992c16ebd"}, - {file = "tokenizers-0.20.3-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:3eda46ca402751ec82553a321bf35a617b76bbed7586e768c02ccacbdda94d6d"}, - {file = "tokenizers-0.20.3-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:de082392a85eb0055cc055c535bff2f0cc15d7a000bdc36fbf601a0f3cf8507a"}, - {file = "tokenizers-0.20.3-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:c3db46cc0647bfd88263afdb739b92017a02a87ee30945cb3e86c7e25c7c9917"}, - {file = "tokenizers-0.20.3-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a292392f24ab9abac5cfa8197e5a6208f2e43723420217e1ceba0b4ec77816ac"}, - {file = "tokenizers-0.20.3-pp39-pypy39_pp73-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8dcd91f4e60f62b20d83a87a84fe062035a1e3ff49a8c2bbdeb2d441c8e311f4"}, - {file = "tokenizers-0.20.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:900991a2b8ee35961b1095db7e265342e0e42a84c1a594823d5ee9f8fb791958"}, - {file = "tokenizers-0.20.3-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:5a8d8261ca2133d4f98aa9627c748189502b3787537ba3d7e2beb4f7cfc5d627"}, - {file = "tokenizers-0.20.3-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:c4fd4d71e6deb6ddf99d8d0eab87d1d16f635898906e631914a9bae8ae9f2cfb"}, - {file = "tokenizers-0.20.3.tar.gz", hash = "sha256:2278b34c5d0dd78e087e1ca7f9b1dcbf129d80211afa645f214bd6e051037539"}, -] - -[package.dependencies] -huggingface-hub = ">=0.16.4,<1.0" - -[package.extras] -dev = ["tokenizers[testing]"] -docs = ["setuptools-rust", "sphinx", "sphinx-rtd-theme"] -testing = ["black (==22.3)", "datasets", "numpy", "pytest", "requests", "ruff"] - -[[package]] -name = "torch" -version = "2.4.1" -description = "Tensors and Dynamic neural networks in Python with strong GPU acceleration" -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "torch-2.4.1-cp310-cp310-manylinux1_x86_64.whl", hash = "sha256:362f82e23a4cd46341daabb76fba08f04cd646df9bfaf5da50af97cb60ca4971"}, - {file = "torch-2.4.1-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:e8ac1985c3ff0f60d85b991954cfc2cc25f79c84545aead422763148ed2759e3"}, - {file = "torch-2.4.1-cp310-cp310-win_amd64.whl", hash = "sha256:91e326e2ccfb1496e3bee58f70ef605aeb27bd26be07ba64f37dcaac3d070ada"}, - {file = "torch-2.4.1-cp310-none-macosx_11_0_arm64.whl", hash = "sha256:d36a8ef100f5bff3e9c3cea934b9e0d7ea277cb8210c7152d34a9a6c5830eadd"}, - {file = "torch-2.4.1-cp311-cp311-manylinux1_x86_64.whl", hash = "sha256:0b5f88afdfa05a335d80351e3cea57d38e578c8689f751d35e0ff36bce872113"}, - {file = "torch-2.4.1-cp311-cp311-manylinux2014_aarch64.whl", hash = "sha256:ef503165f2341942bfdf2bd520152f19540d0c0e34961232f134dc59ad435be8"}, - {file = "torch-2.4.1-cp311-cp311-win_amd64.whl", hash = "sha256:092e7c2280c860eff762ac08c4bdcd53d701677851670695e0c22d6d345b269c"}, - {file = "torch-2.4.1-cp311-none-macosx_11_0_arm64.whl", hash = "sha256:ddddbd8b066e743934a4200b3d54267a46db02106876d21cf31f7da7a96f98ea"}, - {file = "torch-2.4.1-cp312-cp312-manylinux1_x86_64.whl", hash = "sha256:fdc4fe11db3eb93c1115d3e973a27ac7c1a8318af8934ffa36b0370efe28e042"}, - {file = "torch-2.4.1-cp312-cp312-manylinux2014_aarch64.whl", hash = "sha256:18835374f599207a9e82c262153c20ddf42ea49bc76b6eadad8e5f49729f6e4d"}, - {file = "torch-2.4.1-cp312-cp312-win_amd64.whl", hash = "sha256:ebea70ff30544fc021d441ce6b219a88b67524f01170b1c538d7d3ebb5e7f56c"}, - {file = "torch-2.4.1-cp312-none-macosx_11_0_arm64.whl", hash = "sha256:72b484d5b6cec1a735bf3fa5a1c4883d01748698c5e9cfdbeb4ffab7c7987e0d"}, - {file = "torch-2.4.1-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:c99e1db4bf0c5347107845d715b4aa1097e601bdc36343d758963055e9599d93"}, - {file = "torch-2.4.1-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:b57f07e92858db78c5b72857b4f0b33a65b00dc5d68e7948a8494b0314efb880"}, - {file = "torch-2.4.1-cp38-cp38-win_amd64.whl", hash = "sha256:f18197f3f7c15cde2115892b64f17c80dbf01ed72b008020e7da339902742cf6"}, - {file = "torch-2.4.1-cp38-none-macosx_11_0_arm64.whl", hash = "sha256:5fc1d4d7ed265ef853579caf272686d1ed87cebdcd04f2a498f800ffc53dab71"}, - {file = "torch-2.4.1-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:40f6d3fe3bae74efcf08cb7f8295eaddd8a838ce89e9d26929d4edd6d5e4329d"}, - {file = "torch-2.4.1-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:c9299c16c9743001ecef515536ac45900247f4338ecdf70746f2461f9e4831db"}, - {file = "torch-2.4.1-cp39-cp39-win_amd64.whl", hash = "sha256:6bce130f2cd2d52ba4e2c6ada461808de7e5eccbac692525337cfb4c19421846"}, - {file = "torch-2.4.1-cp39-none-macosx_11_0_arm64.whl", hash = "sha256:a38de2803ee6050309aac032676536c3d3b6a9804248537e38e098d0e14817ec"}, -] - -[package.dependencies] -filelock = "*" -fsspec = "*" -jinja2 = "*" -networkx = "*" -nvidia-cublas-cu12 = {version = "12.1.3.1", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} -nvidia-cuda-cupti-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} -nvidia-cuda-nvrtc-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} -nvidia-cuda-runtime-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} -nvidia-cudnn-cu12 = {version = "9.1.0.70", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} -nvidia-cufft-cu12 = {version = "11.0.2.54", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} -nvidia-curand-cu12 = {version = "10.3.2.106", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} -nvidia-cusolver-cu12 = {version = "11.4.5.107", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} -nvidia-cusparse-cu12 = {version = "12.1.0.106", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} -nvidia-nccl-cu12 = {version = "2.20.5", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} -nvidia-nvtx-cu12 = {version = "12.1.105", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\""} -setuptools = "*" -sympy = "*" -triton = {version = "3.0.0", markers = "platform_system == \"Linux\" and platform_machine == \"x86_64\" and python_version < \"3.13\""} -typing-extensions = ">=4.8.0" - -[package.extras] -opt-einsum = ["opt-einsum (>=3.3)"] -optree = ["optree (>=0.11.0)"] - [[package]] name = "tqdm" version = "4.67.1" @@ -4043,97 +875,6 @@ notebook = ["ipywidgets (>=6)"] slack = ["slack-sdk"] telegram = ["requests"] -[[package]] -name = "transformers" -version = "4.46.3" -description = "State-of-the-art Machine Learning for JAX, PyTorch and TensorFlow" -optional = false -python-versions = ">=3.8.0" -files = [ - {file = "transformers-4.46.3-py3-none-any.whl", hash = "sha256:a12ef6f52841fd190a3e5602145b542d03507222f2c64ebb7ee92e8788093aef"}, - {file = "transformers-4.46.3.tar.gz", hash = "sha256:8ee4b3ae943fe33e82afff8e837f4b052058b07ca9be3cb5b729ed31295f72cc"}, -] - -[package.dependencies] -filelock = "*" -huggingface-hub = ">=0.23.2,<1.0" -numpy = ">=1.17" -packaging = ">=20.0" -pyyaml = ">=5.1" -regex = "!=2019.12.17" -requests = "*" -safetensors = ">=0.4.1" -tokenizers = ">=0.20,<0.21" -tqdm = ">=4.27" - -[package.extras] -accelerate = ["accelerate (>=0.26.0)"] -agents = ["Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "datasets (!=2.5.0)", "diffusers", "opencv-python", "sentencepiece (>=0.1.91,!=0.1.92)", "torch"] -all = ["Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "av (==9.2.0)", "codecarbon (==1.2.0)", "flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "librosa", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "phonemizer", "protobuf", "pyctcdecode (>=0.4.0)", "ray[tune] (>=2.7.0)", "scipy (<1.13.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timm (<=0.9.16)", "tokenizers (>=0.20,<0.21)", "torch", "torchaudio", "torchvision"] -audio = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] -benchmark = ["optimum-benchmark (>=0.3.0)"] -codecarbon = ["codecarbon (==1.2.0)"] -deepspeed = ["accelerate (>=0.26.0)", "deepspeed (>=0.9.3)"] -deepspeed-testing = ["GitPython (<3.1.19)", "accelerate (>=0.26.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "deepspeed (>=0.9.3)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "nltk (<=3.8.1)", "optuna", "parameterized", "protobuf", "psutil", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-rich", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] -dev = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "av (==9.2.0)", "beautifulsoup4", "codecarbon (==1.2.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "flax (>=0.4.1,<=0.7.0)", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "libcst", "librosa", "nltk (<=3.8.1)", "onnxconverter-common", "optax (>=0.0.8,<=0.1.4)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-rich", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "scipy (<1.13.0)", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timeout-decorator", "timm (<=0.9.16)", "tokenizers (>=0.20,<0.21)", "torch", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] -dev-tensorflow = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "isort (>=5.5.4)", "kenlm", "keras-nlp (>=0.3.1,<0.14.0)", "libcst", "librosa", "nltk (<=3.8.1)", "onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-rich", "pytest-timeout", "pytest-xdist", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx", "timeout-decorator", "tokenizers (>=0.20,<0.21)", "urllib3 (<2.0.0)"] -dev-torch = ["GitPython (<3.1.19)", "Pillow (>=10.0.1,<=15.0)", "accelerate (>=0.26.0)", "beautifulsoup4", "codecarbon (==1.2.0)", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "isort (>=5.5.4)", "kenlm", "libcst", "librosa", "nltk (<=3.8.1)", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "optuna", "parameterized", "phonemizer", "protobuf", "psutil", "pyctcdecode (>=0.4.0)", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-rich", "pytest-timeout", "pytest-xdist", "ray[tune] (>=2.7.0)", "rhoknp (>=1.1.0,<1.3.1)", "rich", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "scikit-learn", "sentencepiece (>=0.1.91,!=0.1.92)", "sigopt", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "tensorboard", "timeout-decorator", "timm (<=0.9.16)", "tokenizers (>=0.20,<0.21)", "torch", "torchaudio", "torchvision", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)", "urllib3 (<2.0.0)"] -flax = ["flax (>=0.4.1,<=0.7.0)", "jax (>=0.4.1,<=0.4.13)", "jaxlib (>=0.4.1,<=0.4.13)", "optax (>=0.0.8,<=0.1.4)", "scipy (<1.13.0)"] -flax-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] -ftfy = ["ftfy"] -integrations = ["optuna", "ray[tune] (>=2.7.0)", "sigopt"] -ja = ["fugashi (>=1.0)", "ipadic (>=1.0.0,<2.0)", "rhoknp (>=1.1.0,<1.3.1)", "sudachidict-core (>=20220729)", "sudachipy (>=0.6.6)", "unidic (>=1.0.2)", "unidic-lite (>=1.0.7)"] -modelcreation = ["cookiecutter (==1.7.3)"] -natten = ["natten (>=0.14.6,<0.15.0)"] -onnx = ["onnxconverter-common", "onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)", "tf2onnx"] -onnxruntime = ["onnxruntime (>=1.4.0)", "onnxruntime-tools (>=1.4.2)"] -optuna = ["optuna"] -quality = ["GitPython (<3.1.19)", "datasets (!=2.5.0)", "isort (>=5.5.4)", "libcst", "rich", "ruff (==0.5.1)", "urllib3 (<2.0.0)"] -ray = ["ray[tune] (>=2.7.0)"] -retrieval = ["datasets (!=2.5.0)", "faiss-cpu"] -ruff = ["ruff (==0.5.1)"] -sagemaker = ["sagemaker (>=2.31.0)"] -sentencepiece = ["protobuf", "sentencepiece (>=0.1.91,!=0.1.92)"] -serving = ["fastapi", "pydantic", "starlette", "uvicorn"] -sigopt = ["sigopt"] -sklearn = ["scikit-learn"] -speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)", "torchaudio"] -testing = ["GitPython (<3.1.19)", "beautifulsoup4", "cookiecutter (==1.7.3)", "datasets (!=2.5.0)", "dill (<0.3.5)", "evaluate (>=0.2.0)", "faiss-cpu", "nltk (<=3.8.1)", "parameterized", "psutil", "pydantic", "pytest (>=7.2.0,<8.0.0)", "pytest-rich", "pytest-timeout", "pytest-xdist", "rjieba", "rouge-score (!=0.0.7,!=0.0.8,!=0.1,!=0.1.1)", "ruff (==0.5.1)", "sacrebleu (>=1.4.12,<2.0.0)", "sacremoses", "sentencepiece (>=0.1.91,!=0.1.92)", "tensorboard", "timeout-decorator"] -tf = ["keras-nlp (>=0.3.1,<0.14.0)", "onnxconverter-common", "tensorflow (>2.9,<2.16)", "tensorflow-text (<2.16)", "tf2onnx"] -tf-cpu = ["keras (>2.9,<2.16)", "keras-nlp (>=0.3.1,<0.14.0)", "onnxconverter-common", "tensorflow-cpu (>2.9,<2.16)", "tensorflow-probability (<0.24)", "tensorflow-text (<2.16)", "tf2onnx"] -tf-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)"] -tiktoken = ["blobfile", "tiktoken"] -timm = ["timm (<=0.9.16)"] -tokenizers = ["tokenizers (>=0.20,<0.21)"] -torch = ["accelerate (>=0.26.0)", "torch"] -torch-speech = ["kenlm", "librosa", "phonemizer", "pyctcdecode (>=0.4.0)", "torchaudio"] -torch-vision = ["Pillow (>=10.0.1,<=15.0)", "torchvision"] -torchhub = ["filelock", "huggingface-hub (>=0.23.2,<1.0)", "importlib-metadata", "numpy (>=1.17)", "packaging (>=20.0)", "protobuf", "regex (!=2019.12.17)", "requests", "sentencepiece (>=0.1.91,!=0.1.92)", "tokenizers (>=0.20,<0.21)", "torch", "tqdm (>=4.27)"] -video = ["av (==9.2.0)"] -vision = ["Pillow (>=10.0.1,<=15.0)"] - -[[package]] -name = "triton" -version = "3.0.0" -description = "A language and compiler for custom Deep Learning operations" -optional = false -python-versions = "*" -files = [ - {file = "triton-3.0.0-1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:e1efef76935b2febc365bfadf74bcb65a6f959a9872e5bddf44cc9e0adce1e1a"}, - {file = "triton-3.0.0-1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:5ce8520437c602fb633f1324cc3871c47bee3b67acf9756c1a66309b60e3216c"}, - {file = "triton-3.0.0-1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:34e509deb77f1c067d8640725ef00c5cbfcb2052a1a3cb6a6d343841f92624eb"}, - {file = "triton-3.0.0-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:bcbf3b1c48af6a28011a5c40a5b3b9b5330530c3827716b5fbf6d7adcc1e53e9"}, - {file = "triton-3.0.0-1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:6e5727202f7078c56f91ff13ad0c1abab14a0e7f2c87e91b12b6f64f3e8ae609"}, -] - -[package.dependencies] -filelock = "*" - -[package.extras] -build = ["cmake (>=3.20)", "lit"] -tests = ["autopep8", "flake8", "isort", "llnl-hatchet", "numpy", "pytest", "scipy (>=1.7.1)"] -tutorials = ["matplotlib", "pandas", "tabulate"] - [[package]] name = "typing-extensions" version = "4.12.2" @@ -4145,34 +886,6 @@ files = [ {file = "typing_extensions-4.12.2.tar.gz", hash = "sha256:1a7ead55c7e559dd4dee8856e3a88b41225abfe1ce8df57b7c13915fe121ffb8"}, ] -[[package]] -name = "tzdata" -version = "2024.2" -description = "Provider of IANA time zone data" -optional = false -python-versions = ">=2" -files = [ - {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, - {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, -] - -[[package]] -name = "tzlocal" -version = "5.2" -description = "tzinfo object for the local timezone" -optional = false -python-versions = ">=3.8" -files = [ - {file = "tzlocal-5.2-py3-none-any.whl", hash = "sha256:49816ef2fe65ea8ac19d19aa7a1ae0551c834303d5014c6d5a62e4cbda8047b8"}, - {file = "tzlocal-5.2.tar.gz", hash = "sha256:8d399205578f1a9342816409cc1e46a93ebd5755e39ea2d85334bea911bf0e6e"}, -] - -[package.dependencies] -tzdata = {version = "*", markers = "platform_system == \"Windows\""} - -[package.extras] -devenv = ["check-manifest", "pytest (>=4.3)", "pytest-cov", "pytest-mock (>=3.3)", "zest.releaser"] - [[package]] name = "urllib3" version = "2.2.3" @@ -4190,377 +903,7 @@ h2 = ["h2 (>=4,<5)"] socks = ["pysocks (>=1.5.6,!=1.5.7,<2.0)"] zstd = ["zstandard (>=0.18.0)"] -[[package]] -name = "uvicorn" -version = "0.31.0" -description = "The lightning-fast ASGI server." -optional = false -python-versions = ">=3.8" -files = [ - {file = "uvicorn-0.31.0-py3-none-any.whl", hash = "sha256:cac7be4dd4d891c363cd942160a7b02e69150dcbc7a36be04d5f4af4b17c8ced"}, - {file = "uvicorn-0.31.0.tar.gz", hash = "sha256:13bc21373d103859f68fe739608e2eb054a816dea79189bc3ca08ea89a275906"}, -] - -[package.dependencies] -click = ">=7.0" -h11 = ">=0.8" - -[package.extras] -standard = ["colorama (>=0.4)", "httptools (>=0.5.0)", "python-dotenv (>=0.13)", "pyyaml (>=5.1)", "uvloop (>=0.14.0,!=0.15.0,!=0.15.1)", "watchfiles (>=0.13)", "websockets (>=10.4)"] - -[[package]] -name = "werkzeug" -version = "3.1.3" -description = "The comprehensive WSGI web application library." -optional = false -python-versions = ">=3.9" -files = [ - {file = "werkzeug-3.1.3-py3-none-any.whl", hash = "sha256:54b78bf3716d19a65be4fceccc0d1d7b89e608834989dfae50ea87564639213e"}, - {file = "werkzeug-3.1.3.tar.gz", hash = "sha256:60723ce945c19328679790e3282cc758aa4a6040e4bb330f53d30fa546d44746"}, -] - -[package.dependencies] -MarkupSafe = ">=2.1.1" - -[package.extras] -watchdog = ["watchdog (>=2.3)"] - -[[package]] -name = "wheel" -version = "0.45.1" -description = "A built-package format for Python" -optional = false -python-versions = ">=3.8" -files = [ - {file = "wheel-0.45.1-py3-none-any.whl", hash = "sha256:708e7481cc80179af0e556bbf0cc00b8444c7321e2700b8d8580231d13017248"}, - {file = "wheel-0.45.1.tar.gz", hash = "sha256:661e1abd9198507b1409a20c02106d9670b2576e916d58f520316666abca6729"}, -] - -[package.extras] -test = ["pytest (>=6.0.0)", "setuptools (>=65)"] - -[[package]] -name = "wrapt" -version = "1.17.0" -description = "Module for decorators, wrappers and monkey patching." -optional = false -python-versions = ">=3.8" -files = [ - {file = "wrapt-1.17.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:2a0c23b8319848426f305f9cb0c98a6e32ee68a36264f45948ccf8e7d2b941f8"}, - {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b1ca5f060e205f72bec57faae5bd817a1560fcfc4af03f414b08fa29106b7e2d"}, - {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e185ec6060e301a7e5f8461c86fb3640a7beb1a0f0208ffde7a65ec4074931df"}, - {file = "wrapt-1.17.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:bb90765dd91aed05b53cd7a87bd7f5c188fcd95960914bae0d32c5e7f899719d"}, - {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:879591c2b5ab0a7184258274c42a126b74a2c3d5a329df16d69f9cee07bba6ea"}, - {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fce6fee67c318fdfb7f285c29a82d84782ae2579c0e1b385b7f36c6e8074fffb"}, - {file = "wrapt-1.17.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:0698d3a86f68abc894d537887b9bbf84d29bcfbc759e23f4644be27acf6da301"}, - {file = "wrapt-1.17.0-cp310-cp310-win32.whl", hash = "sha256:69d093792dc34a9c4c8a70e4973a3361c7a7578e9cd86961b2bbf38ca71e4e22"}, - {file = "wrapt-1.17.0-cp310-cp310-win_amd64.whl", hash = "sha256:f28b29dc158ca5d6ac396c8e0a2ef45c4e97bb7e65522bfc04c989e6fe814575"}, - {file = "wrapt-1.17.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:74bf625b1b4caaa7bad51d9003f8b07a468a704e0644a700e936c357c17dd45a"}, - {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0f2a28eb35cf99d5f5bd12f5dd44a0f41d206db226535b37b0c60e9da162c3ed"}, - {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:81b1289e99cf4bad07c23393ab447e5e96db0ab50974a280f7954b071d41b489"}, - {file = "wrapt-1.17.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9f2939cd4a2a52ca32bc0b359015718472d7f6de870760342e7ba295be9ebaf9"}, - {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6a9653131bda68a1f029c52157fd81e11f07d485df55410401f745007bd6d339"}, - {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:4e4b4385363de9052dac1a67bfb535c376f3d19c238b5f36bddc95efae15e12d"}, - {file = "wrapt-1.17.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bdf62d25234290db1837875d4dceb2151e4ea7f9fff2ed41c0fde23ed542eb5b"}, - {file = "wrapt-1.17.0-cp311-cp311-win32.whl", hash = "sha256:5d8fd17635b262448ab8f99230fe4dac991af1dabdbb92f7a70a6afac8a7e346"}, - {file = "wrapt-1.17.0-cp311-cp311-win_amd64.whl", hash = "sha256:92a3d214d5e53cb1db8b015f30d544bc9d3f7179a05feb8f16df713cecc2620a"}, - {file = "wrapt-1.17.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:89fc28495896097622c3fc238915c79365dd0ede02f9a82ce436b13bd0ab7569"}, - {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:875d240fdbdbe9e11f9831901fb8719da0bd4e6131f83aa9f69b96d18fae7504"}, - {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e5ed16d95fd142e9c72b6c10b06514ad30e846a0d0917ab406186541fe68b451"}, - {file = "wrapt-1.17.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:18b956061b8db634120b58f668592a772e87e2e78bc1f6a906cfcaa0cc7991c1"}, - {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:daba396199399ccabafbfc509037ac635a6bc18510ad1add8fd16d4739cdd106"}, - {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:4d63f4d446e10ad19ed01188d6c1e1bb134cde8c18b0aa2acfd973d41fcc5ada"}, - {file = "wrapt-1.17.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:8a5e7cc39a45fc430af1aefc4d77ee6bad72c5bcdb1322cfde852c15192b8bd4"}, - {file = "wrapt-1.17.0-cp312-cp312-win32.whl", hash = "sha256:0a0a1a1ec28b641f2a3a2c35cbe86c00051c04fffcfcc577ffcdd707df3f8635"}, - {file = "wrapt-1.17.0-cp312-cp312-win_amd64.whl", hash = "sha256:3c34f6896a01b84bab196f7119770fd8466c8ae3dfa73c59c0bb281e7b588ce7"}, - {file = "wrapt-1.17.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:714c12485aa52efbc0fc0ade1e9ab3a70343db82627f90f2ecbc898fdf0bb181"}, - {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:da427d311782324a376cacb47c1a4adc43f99fd9d996ffc1b3e8529c4074d393"}, - {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ba1739fb38441a27a676f4de4123d3e858e494fac05868b7a281c0a383c098f4"}, - {file = "wrapt-1.17.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e711fc1acc7468463bc084d1b68561e40d1eaa135d8c509a65dd534403d83d7b"}, - {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:140ea00c87fafc42739bd74a94a5a9003f8e72c27c47cd4f61d8e05e6dec8721"}, - {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:73a96fd11d2b2e77d623a7f26e004cc31f131a365add1ce1ce9a19e55a1eef90"}, - {file = "wrapt-1.17.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:0b48554952f0f387984da81ccfa73b62e52817a4386d070c75e4db7d43a28c4a"}, - {file = "wrapt-1.17.0-cp313-cp313-win32.whl", hash = "sha256:498fec8da10e3e62edd1e7368f4b24aa362ac0ad931e678332d1b209aec93045"}, - {file = "wrapt-1.17.0-cp313-cp313-win_amd64.whl", hash = "sha256:fd136bb85f4568fffca995bd3c8d52080b1e5b225dbf1c2b17b66b4c5fa02838"}, - {file = "wrapt-1.17.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:17fcf043d0b4724858f25b8826c36e08f9fb2e475410bece0ec44a22d533da9b"}, - {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e4a557d97f12813dc5e18dad9fa765ae44ddd56a672bb5de4825527c847d6379"}, - {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0229b247b0fc7dee0d36176cbb79dbaf2a9eb7ecc50ec3121f40ef443155fb1d"}, - {file = "wrapt-1.17.0-cp313-cp313t-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8425cfce27b8b20c9b89d77fb50e368d8306a90bf2b6eef2cdf5cd5083adf83f"}, - {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9c900108df470060174108012de06d45f514aa4ec21a191e7ab42988ff42a86c"}, - {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:4e547b447073fc0dbfcbff15154c1be8823d10dab4ad401bdb1575e3fdedff1b"}, - {file = "wrapt-1.17.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:914f66f3b6fc7b915d46c1cc424bc2441841083de01b90f9e81109c9759e43ab"}, - {file = "wrapt-1.17.0-cp313-cp313t-win32.whl", hash = "sha256:a4192b45dff127c7d69b3bdfb4d3e47b64179a0b9900b6351859f3001397dabf"}, - {file = "wrapt-1.17.0-cp313-cp313t-win_amd64.whl", hash = "sha256:4f643df3d4419ea3f856c5c3f40fec1d65ea2e89ec812c83f7767c8730f9827a"}, - {file = "wrapt-1.17.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:69c40d4655e078ede067a7095544bcec5a963566e17503e75a3a3e0fe2803b13"}, - {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2f495b6754358979379f84534f8dd7a43ff8cff2558dcdea4a148a6e713a758f"}, - {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:baa7ef4e0886a6f482e00d1d5bcd37c201b383f1d314643dfb0367169f94f04c"}, - {file = "wrapt-1.17.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a8fc931382e56627ec4acb01e09ce66e5c03c384ca52606111cee50d931a342d"}, - {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:8f8909cdb9f1b237786c09a810e24ee5e15ef17019f7cecb207ce205b9b5fcce"}, - {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ad47b095f0bdc5585bced35bd088cbfe4177236c7df9984b3cc46b391cc60627"}, - {file = "wrapt-1.17.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:948a9bd0fb2c5120457b07e59c8d7210cbc8703243225dbd78f4dfc13c8d2d1f"}, - {file = "wrapt-1.17.0-cp38-cp38-win32.whl", hash = "sha256:5ae271862b2142f4bc687bdbfcc942e2473a89999a54231aa1c2c676e28f29ea"}, - {file = "wrapt-1.17.0-cp38-cp38-win_amd64.whl", hash = "sha256:f335579a1b485c834849e9075191c9898e0731af45705c2ebf70e0cd5d58beed"}, - {file = "wrapt-1.17.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:d751300b94e35b6016d4b1e7d0e7bbc3b5e1751e2405ef908316c2a9024008a1"}, - {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7264cbb4a18dc4acfd73b63e4bcfec9c9802614572025bdd44d0721983fc1d9c"}, - {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:33539c6f5b96cf0b1105a0ff4cf5db9332e773bb521cc804a90e58dc49b10578"}, - {file = "wrapt-1.17.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c30970bdee1cad6a8da2044febd824ef6dc4cc0b19e39af3085c763fdec7de33"}, - {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:bc7f729a72b16ee21795a943f85c6244971724819819a41ddbaeb691b2dd85ad"}, - {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6ff02a91c4fc9b6a94e1c9c20f62ea06a7e375f42fe57587f004d1078ac86ca9"}, - {file = "wrapt-1.17.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:2dfb7cff84e72e7bf975b06b4989477873dcf160b2fd89959c629535df53d4e0"}, - {file = "wrapt-1.17.0-cp39-cp39-win32.whl", hash = "sha256:2399408ac33ffd5b200480ee858baa58d77dd30e0dd0cab6a8a9547135f30a88"}, - {file = "wrapt-1.17.0-cp39-cp39-win_amd64.whl", hash = "sha256:4f763a29ee6a20c529496a20a7bcb16a73de27f5da6a843249c7047daf135977"}, - {file = "wrapt-1.17.0-py3-none-any.whl", hash = "sha256:d2c63b93548eda58abf5188e505ffed0229bf675f7c3090f8e36ad55b8cbc371"}, - {file = "wrapt-1.17.0.tar.gz", hash = "sha256:16187aa2317c731170a88ef35e8937ae0f533c402872c1ee5e6d079fcf320801"}, -] - -[[package]] -name = "xxhash" -version = "3.5.0" -description = "Python binding for xxHash" -optional = false -python-versions = ">=3.7" -files = [ - {file = "xxhash-3.5.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:ece616532c499ee9afbb83078b1b952beffef121d989841f7f4b3dc5ac0fd212"}, - {file = "xxhash-3.5.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3171f693dbc2cef6477054a665dc255d996646b4023fe56cb4db80e26f4cc520"}, - {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7c5d3e570ef46adaf93fc81b44aca6002b5a4d8ca11bd0580c07eac537f36680"}, - {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:7cb29a034301e2982df8b1fe6328a84f4b676106a13e9135a0d7e0c3e9f806da"}, - {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5d0d307d27099bb0cbeea7260eb39ed4fdb99c5542e21e94bb6fd29e49c57a23"}, - {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c0342aafd421795d740e514bc9858ebddfc705a75a8c5046ac56d85fe97bf196"}, - {file = "xxhash-3.5.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:3dbbd9892c5ebffeca1ed620cf0ade13eb55a0d8c84e0751a6653adc6ac40d0c"}, - {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:4cc2d67fdb4d057730c75a64c5923abfa17775ae234a71b0200346bfb0a7f482"}, - {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:ec28adb204b759306a3d64358a5e5c07d7b1dd0ccbce04aa76cb9377b7b70296"}, - {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:1328f6d8cca2b86acb14104e381225a3d7b42c92c4b86ceae814e5c400dbb415"}, - {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:8d47ebd9f5d9607fd039c1fbf4994e3b071ea23eff42f4ecef246ab2b7334198"}, - {file = "xxhash-3.5.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b96d559e0fcddd3343c510a0fe2b127fbff16bf346dd76280b82292567523442"}, - {file = "xxhash-3.5.0-cp310-cp310-win32.whl", hash = "sha256:61c722ed8d49ac9bc26c7071eeaa1f6ff24053d553146d5df031802deffd03da"}, - {file = "xxhash-3.5.0-cp310-cp310-win_amd64.whl", hash = "sha256:9bed5144c6923cc902cd14bb8963f2d5e034def4486ab0bbe1f58f03f042f9a9"}, - {file = "xxhash-3.5.0-cp310-cp310-win_arm64.whl", hash = "sha256:893074d651cf25c1cc14e3bea4fceefd67f2921b1bb8e40fcfeba56820de80c6"}, - {file = "xxhash-3.5.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02c2e816896dc6f85922ced60097bcf6f008dedfc5073dcba32f9c8dd786f3c1"}, - {file = "xxhash-3.5.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6027dcd885e21581e46d3c7f682cfb2b870942feeed58a21c29583512c3f09f8"}, - {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1308fa542bbdbf2fa85e9e66b1077eea3a88bef38ee8a06270b4298a7a62a166"}, - {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c28b2fdcee797e1c1961cd3bcd3d545cab22ad202c846235197935e1df2f8ef7"}, - {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:924361811732ddad75ff23e90efd9ccfda4f664132feecb90895bade6a1b4623"}, - {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:89997aa1c4b6a5b1e5b588979d1da048a3c6f15e55c11d117a56b75c84531f5a"}, - {file = "xxhash-3.5.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:685c4f4e8c59837de103344eb1c8a3851f670309eb5c361f746805c5471b8c88"}, - {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:dbd2ecfbfee70bc1a4acb7461fa6af7748ec2ab08ac0fa298f281c51518f982c"}, - {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:25b5a51dc3dfb20a10833c8eee25903fd2e14059e9afcd329c9da20609a307b2"}, - {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a8fb786fb754ef6ff8c120cb96629fb518f8eb5a61a16aac3a979a9dbd40a084"}, - {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:a905ad00ad1e1c34fe4e9d7c1d949ab09c6fa90c919860c1534ff479f40fd12d"}, - {file = "xxhash-3.5.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:963be41bcd49f53af6d795f65c0da9b4cc518c0dd9c47145c98f61cb464f4839"}, - {file = "xxhash-3.5.0-cp311-cp311-win32.whl", hash = "sha256:109b436096d0a2dd039c355fa3414160ec4d843dfecc64a14077332a00aeb7da"}, - {file = "xxhash-3.5.0-cp311-cp311-win_amd64.whl", hash = "sha256:b702f806693201ad6c0a05ddbbe4c8f359626d0b3305f766077d51388a6bac58"}, - {file = "xxhash-3.5.0-cp311-cp311-win_arm64.whl", hash = "sha256:c4dcb4120d0cc3cc448624147dba64e9021b278c63e34a38789b688fd0da9bf3"}, - {file = "xxhash-3.5.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:14470ace8bd3b5d51318782cd94e6f94431974f16cb3b8dc15d52f3b69df8e00"}, - {file = "xxhash-3.5.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:59aa1203de1cb96dbeab595ded0ad0c0056bb2245ae11fac11c0ceea861382b9"}, - {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:08424f6648526076e28fae6ea2806c0a7d504b9ef05ae61d196d571e5c879c84"}, - {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:61a1ff00674879725b194695e17f23d3248998b843eb5e933007ca743310f793"}, - {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2f2c61bee5844d41c3eb015ac652a0229e901074951ae48581d58bfb2ba01be"}, - {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d32a592cac88d18cc09a89172e1c32d7f2a6e516c3dfde1b9adb90ab5df54a6"}, - {file = "xxhash-3.5.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:70dabf941dede727cca579e8c205e61121afc9b28516752fd65724be1355cc90"}, - {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e5d0ddaca65ecca9c10dcf01730165fd858533d0be84c75c327487c37a906a27"}, - {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e5b5e16c5a480fe5f59f56c30abdeba09ffd75da8d13f6b9b6fd224d0b4d0a2"}, - {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:149b7914451eb154b3dfaa721315117ea1dac2cc55a01bfbd4df7c68c5dd683d"}, - {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:eade977f5c96c677035ff39c56ac74d851b1cca7d607ab3d8f23c6b859379cab"}, - {file = "xxhash-3.5.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fa9f547bd98f5553d03160967866a71056a60960be00356a15ecc44efb40ba8e"}, - {file = "xxhash-3.5.0-cp312-cp312-win32.whl", hash = "sha256:f7b58d1fd3551b8c80a971199543379be1cee3d0d409e1f6d8b01c1a2eebf1f8"}, - {file = "xxhash-3.5.0-cp312-cp312-win_amd64.whl", hash = "sha256:fa0cafd3a2af231b4e113fba24a65d7922af91aeb23774a8b78228e6cd785e3e"}, - {file = "xxhash-3.5.0-cp312-cp312-win_arm64.whl", hash = "sha256:586886c7e89cb9828bcd8a5686b12e161368e0064d040e225e72607b43858ba2"}, - {file = "xxhash-3.5.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:37889a0d13b0b7d739cfc128b1c902f04e32de17b33d74b637ad42f1c55101f6"}, - {file = "xxhash-3.5.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:97a662338797c660178e682f3bc180277b9569a59abfb5925e8620fba00b9fc5"}, - {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7f85e0108d51092bdda90672476c7d909c04ada6923c14ff9d913c4f7dc8a3bc"}, - {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cd2fd827b0ba763ac919440042302315c564fdb797294d86e8cdd4578e3bc7f3"}, - {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:82085c2abec437abebf457c1d12fccb30cc8b3774a0814872511f0f0562c768c"}, - {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:07fda5de378626e502b42b311b049848c2ef38784d0d67b6f30bb5008642f8eb"}, - {file = "xxhash-3.5.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:c279f0d2b34ef15f922b77966640ade58b4ccdfef1c4d94b20f2a364617a493f"}, - {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:89e66ceed67b213dec5a773e2f7a9e8c58f64daeb38c7859d8815d2c89f39ad7"}, - {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:bcd51708a633410737111e998ceb3b45d3dbc98c0931f743d9bb0a209033a326"}, - {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3ff2c0a34eae7df88c868be53a8dd56fbdf592109e21d4bfa092a27b0bf4a7bf"}, - {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:4e28503dccc7d32e0b9817aa0cbfc1f45f563b2c995b7a66c4c8a0d232e840c7"}, - {file = "xxhash-3.5.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:a6c50017518329ed65a9e4829154626f008916d36295b6a3ba336e2458824c8c"}, - {file = "xxhash-3.5.0-cp313-cp313-win32.whl", hash = "sha256:53a068fe70301ec30d868ece566ac90d873e3bb059cf83c32e76012c889b8637"}, - {file = "xxhash-3.5.0-cp313-cp313-win_amd64.whl", hash = "sha256:80babcc30e7a1a484eab952d76a4f4673ff601f54d5142c26826502740e70b43"}, - {file = "xxhash-3.5.0-cp313-cp313-win_arm64.whl", hash = "sha256:4811336f1ce11cac89dcbd18f3a25c527c16311709a89313c3acaf771def2d4b"}, - {file = "xxhash-3.5.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:6e5f70f6dca1d3b09bccb7daf4e087075ff776e3da9ac870f86ca316736bb4aa"}, - {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e76e83efc7b443052dd1e585a76201e40b3411fe3da7af4fe434ec51b2f163b"}, - {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:33eac61d0796ca0591f94548dcfe37bb193671e0c9bcf065789b5792f2eda644"}, - {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:0ec70a89be933ea49222fafc3999987d7899fc676f688dd12252509434636622"}, - {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dd86b8e7f703ec6ff4f351cfdb9f428955859537125904aa8c963604f2e9d3e7"}, - {file = "xxhash-3.5.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0adfbd36003d9f86c8c97110039f7539b379f28656a04097e7434d3eaf9aa131"}, - {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:63107013578c8a730419adc05608756c3fa640bdc6abe806c3123a49fb829f43"}, - {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:683b94dbd1ca67557850b86423318a2e323511648f9f3f7b1840408a02b9a48c"}, - {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:5d2a01dcce81789cf4b12d478b5464632204f4c834dc2d064902ee27d2d1f0ee"}, - {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:a9d360a792cbcce2fe7b66b8d51274ec297c53cbc423401480e53b26161a290d"}, - {file = "xxhash-3.5.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:f0b48edbebea1b7421a9c687c304f7b44d0677c46498a046079d445454504737"}, - {file = "xxhash-3.5.0-cp37-cp37m-win32.whl", hash = "sha256:7ccb800c9418e438b44b060a32adeb8393764da7441eb52aa2aa195448935306"}, - {file = "xxhash-3.5.0-cp37-cp37m-win_amd64.whl", hash = "sha256:c3bc7bf8cb8806f8d1c9bf149c18708cb1c406520097d6b0a73977460ea03602"}, - {file = "xxhash-3.5.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:74752ecaa544657d88b1d1c94ae68031e364a4d47005a90288f3bab3da3c970f"}, - {file = "xxhash-3.5.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:dee1316133c9b463aa81aca676bc506d3f80d8f65aeb0bba2b78d0b30c51d7bd"}, - {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:602d339548d35a8579c6b013339fb34aee2df9b4e105f985443d2860e4d7ffaa"}, - {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:695735deeddfb35da1677dbc16a083445360e37ff46d8ac5c6fcd64917ff9ade"}, - {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1030a39ba01b0c519b1a82f80e8802630d16ab95dc3f2b2386a0b5c8ed5cbb10"}, - {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a5bc08f33c4966f4eb6590d6ff3ceae76151ad744576b5fc6c4ba8edd459fdec"}, - {file = "xxhash-3.5.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:160e0c19ee500482ddfb5d5570a0415f565d8ae2b3fd69c5dcfce8a58107b1c3"}, - {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:f1abffa122452481a61c3551ab3c89d72238e279e517705b8b03847b1d93d738"}, - {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:d5e9db7ef3ecbfc0b4733579cea45713a76852b002cf605420b12ef3ef1ec148"}, - {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:23241ff6423378a731d84864bf923a41649dc67b144debd1077f02e6249a0d54"}, - {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:82b833d5563fefd6fceafb1aed2f3f3ebe19f84760fdd289f8b926731c2e6e91"}, - {file = "xxhash-3.5.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:0a80ad0ffd78bef9509eee27b4a29e56f5414b87fb01a888353e3d5bda7038bd"}, - {file = "xxhash-3.5.0-cp38-cp38-win32.whl", hash = "sha256:50ac2184ffb1b999e11e27c7e3e70cc1139047e7ebc1aa95ed12f4269abe98d4"}, - {file = "xxhash-3.5.0-cp38-cp38-win_amd64.whl", hash = "sha256:392f52ebbb932db566973693de48f15ce787cabd15cf6334e855ed22ea0be5b3"}, - {file = "xxhash-3.5.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:bfc8cdd7f33d57f0468b0614ae634cc38ab9202c6957a60e31d285a71ebe0301"}, - {file = "xxhash-3.5.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:e0c48b6300cd0b0106bf49169c3e0536408dfbeb1ccb53180068a18b03c662ab"}, - {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe1a92cfbaa0a1253e339ccec42dbe6db262615e52df591b68726ab10338003f"}, - {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:33513d6cc3ed3b559134fb307aae9bdd94d7e7c02907b37896a6c45ff9ce51bd"}, - {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:eefc37f6138f522e771ac6db71a6d4838ec7933939676f3753eafd7d3f4c40bc"}, - {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a606c8070ada8aa2a88e181773fa1ef17ba65ce5dd168b9d08038e2a61b33754"}, - {file = "xxhash-3.5.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:42eca420c8fa072cc1dd62597635d140e78e384a79bb4944f825fbef8bfeeef6"}, - {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:604253b2143e13218ff1ef0b59ce67f18b8bd1c4205d2ffda22b09b426386898"}, - {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:6e93a5ad22f434d7876665444a97e713a8f60b5b1a3521e8df11b98309bff833"}, - {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:7a46e1d6d2817ba8024de44c4fd79913a90e5f7265434cef97026215b7d30df6"}, - {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:30eb2efe6503c379b7ab99c81ba4a779748e3830241f032ab46bd182bf5873af"}, - {file = "xxhash-3.5.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:c8aa771ff2c13dd9cda8166d685d7333d389fae30a4d2bb39d63ab5775de8606"}, - {file = "xxhash-3.5.0-cp39-cp39-win32.whl", hash = "sha256:5ed9ebc46f24cf91034544b26b131241b699edbfc99ec5e7f8f3d02d6eb7fba4"}, - {file = "xxhash-3.5.0-cp39-cp39-win_amd64.whl", hash = "sha256:220f3f896c6b8d0316f63f16c077d52c412619e475f9372333474ee15133a558"}, - {file = "xxhash-3.5.0-cp39-cp39-win_arm64.whl", hash = "sha256:a7b1d8315d9b5e9f89eb2933b73afae6ec9597a258d52190944437158b49d38e"}, - {file = "xxhash-3.5.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl", hash = "sha256:2014c5b3ff15e64feecb6b713af12093f75b7926049e26a580e94dcad3c73d8c"}, - {file = "xxhash-3.5.0-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fab81ef75003eda96239a23eda4e4543cedc22e34c373edcaf744e721a163986"}, - {file = "xxhash-3.5.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4e2febf914ace002132aa09169cc572e0d8959d0f305f93d5828c4836f9bc5a6"}, - {file = "xxhash-3.5.0-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5d3a10609c51da2a1c0ea0293fc3968ca0a18bd73838455b5bca3069d7f8e32b"}, - {file = "xxhash-3.5.0-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:5a74f23335b9689b66eb6dbe2a931a88fcd7a4c2cc4b1cb0edba8ce381c7a1da"}, - {file = "xxhash-3.5.0-pp37-pypy37_pp73-macosx_10_9_x86_64.whl", hash = "sha256:2b4154c00eb22e4d543f472cfca430e7962a0f1d0f3778334f2e08a7ba59363c"}, - {file = "xxhash-3.5.0-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d30bbc1644f726b825b3278764240f449d75f1a8bdda892e641d4a688b1494ae"}, - {file = "xxhash-3.5.0-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fa0b72f2423e2aa53077e54a61c28e181d23effeaafd73fcb9c494e60930c8e"}, - {file = "xxhash-3.5.0-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:13de2b76c1835399b2e419a296d5b38dc4855385d9e96916299170085ef72f57"}, - {file = "xxhash-3.5.0-pp37-pypy37_pp73-win_amd64.whl", hash = "sha256:0691bfcc4f9c656bcb96cc5db94b4d75980b9d5589f2e59de790091028580837"}, - {file = "xxhash-3.5.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl", hash = "sha256:297595fe6138d4da2c8ce9e72a04d73e58725bb60f3a19048bc96ab2ff31c692"}, - {file = "xxhash-3.5.0-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:cc1276d369452040cbb943300dc8abeedab14245ea44056a2943183822513a18"}, - {file = "xxhash-3.5.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2061188a1ba352fc699c82bff722f4baacb4b4b8b2f0c745d2001e56d0dfb514"}, - {file = "xxhash-3.5.0-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:38c384c434021e4f62b8d9ba0bc9467e14d394893077e2c66d826243025e1f81"}, - {file = "xxhash-3.5.0-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:e6a4dd644d72ab316b580a1c120b375890e4c52ec392d4aef3c63361ec4d77d1"}, - {file = "xxhash-3.5.0-pp39-pypy39_pp73-macosx_10_15_x86_64.whl", hash = "sha256:531af8845aaadcadf951b7e0c1345c6b9c68a990eeb74ff9acd8501a0ad6a1c9"}, - {file = "xxhash-3.5.0-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7ce379bcaa9fcc00f19affa7773084dd09f5b59947b3fb47a1ceb0179f91aaa1"}, - {file = "xxhash-3.5.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:fd1b2281d01723f076df3c8188f43f2472248a6b63118b036e641243656b1b0f"}, - {file = "xxhash-3.5.0-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9c770750cc80e8694492244bca7251385188bc5597b6a39d98a9f30e8da984e0"}, - {file = "xxhash-3.5.0-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:b150b8467852e1bd844387459aa6fbe11d7f38b56e901f9f3b3e6aba0d660240"}, - {file = "xxhash-3.5.0.tar.gz", hash = "sha256:84f2caddf951c9cbf8dc2e22a89d4ccf5d86391ac6418fe81e3c67d0cf60b45f"}, -] - -[[package]] -name = "yarl" -version = "1.18.3" -description = "Yet another URL library" -optional = false -python-versions = ">=3.9" -files = [ - {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7df647e8edd71f000a5208fe6ff8c382a1de8edfbccdbbfe649d263de07d8c34"}, - {file = "yarl-1.18.3-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:c69697d3adff5aa4f874b19c0e4ed65180ceed6318ec856ebc423aa5850d84f7"}, - {file = "yarl-1.18.3-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:602d98f2c2d929f8e697ed274fbadc09902c4025c5a9963bf4e9edfc3ab6f7ed"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c654d5207c78e0bd6d749f6dae1dcbbfde3403ad3a4b11f3c5544d9906969dde"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5094d9206c64181d0f6e76ebd8fb2f8fe274950a63890ee9e0ebfd58bf9d787b"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35098b24e0327fc4ebdc8ffe336cee0a87a700c24ffed13161af80124b7dc8e5"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3236da9272872443f81fedc389bace88408f64f89f75d1bdb2256069a8730ccc"}, - {file = "yarl-1.18.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e2c08cc9b16f4f4bc522771d96734c7901e7ebef70c6c5c35dd0f10845270bcd"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:80316a8bd5109320d38eef8833ccf5f89608c9107d02d2a7f985f98ed6876990"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_armv7l.whl", hash = "sha256:c1e1cc06da1491e6734f0ea1e6294ce00792193c463350626571c287c9a704db"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:fea09ca13323376a2fdfb353a5fa2e59f90cd18d7ca4eaa1fd31f0a8b4f91e62"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:e3b9fd71836999aad54084906f8663dffcd2a7fb5cdafd6c37713b2e72be1760"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:757e81cae69244257d125ff31663249b3013b5dc0a8520d73694aed497fb195b"}, - {file = "yarl-1.18.3-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:b1771de9944d875f1b98a745bc547e684b863abf8f8287da8466cf470ef52690"}, - {file = "yarl-1.18.3-cp310-cp310-win32.whl", hash = "sha256:8874027a53e3aea659a6d62751800cf6e63314c160fd607489ba5c2edd753cf6"}, - {file = "yarl-1.18.3-cp310-cp310-win_amd64.whl", hash = "sha256:93b2e109287f93db79210f86deb6b9bbb81ac32fc97236b16f7433db7fc437d8"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:8503ad47387b8ebd39cbbbdf0bf113e17330ffd339ba1144074da24c545f0069"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:02ddb6756f8f4517a2d5e99d8b2f272488e18dd0bfbc802f31c16c6c20f22193"}, - {file = "yarl-1.18.3-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:67a283dd2882ac98cc6318384f565bffc751ab564605959df4752d42483ad889"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:d980e0325b6eddc81331d3f4551e2a333999fb176fd153e075c6d1c2530aa8a8"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b643562c12680b01e17239be267bc306bbc6aac1f34f6444d1bded0c5ce438ca"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c017a3b6df3a1bd45b9fa49a0f54005e53fbcad16633870104b66fa1a30a29d8"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:75674776d96d7b851b6498f17824ba17849d790a44d282929c42dbb77d4f17ae"}, - {file = "yarl-1.18.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ccaa3a4b521b780a7e771cc336a2dba389a0861592bbce09a476190bb0c8b4b3"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:2d06d3005e668744e11ed80812e61efd77d70bb7f03e33c1598c301eea20efbb"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:9d41beda9dc97ca9ab0b9888cb71f7539124bc05df02c0cff6e5acc5a19dcc6e"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:ba23302c0c61a9999784e73809427c9dbedd79f66a13d84ad1b1943802eaaf59"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:6748dbf9bfa5ba1afcc7556b71cda0d7ce5f24768043a02a58846e4a443d808d"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:0b0cad37311123211dc91eadcb322ef4d4a66008d3e1bdc404808992260e1a0e"}, - {file = "yarl-1.18.3-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:0fb2171a4486bb075316ee754c6d8382ea6eb8b399d4ec62fde2b591f879778a"}, - {file = "yarl-1.18.3-cp311-cp311-win32.whl", hash = "sha256:61b1a825a13bef4a5f10b1885245377d3cd0bf87cba068e1d9a88c2ae36880e1"}, - {file = "yarl-1.18.3-cp311-cp311-win_amd64.whl", hash = "sha256:b9d60031cf568c627d028239693fd718025719c02c9f55df0a53e587aab951b5"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:1dd4bdd05407ced96fed3d7f25dbbf88d2ffb045a0db60dbc247f5b3c5c25d50"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:7c33dd1931a95e5d9a772d0ac5e44cac8957eaf58e3c8da8c1414de7dd27c576"}, - {file = "yarl-1.18.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:25b411eddcfd56a2f0cd6a384e9f4f7aa3efee14b188de13048c25b5e91f1640"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:436c4fc0a4d66b2badc6c5fc5ef4e47bb10e4fd9bf0c79524ac719a01f3607c2"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e35ef8683211db69ffe129a25d5634319a677570ab6b2eba4afa860f54eeaf75"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:84b2deecba4a3f1a398df819151eb72d29bfeb3b69abb145a00ddc8d30094512"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:00e5a1fea0fd4f5bfa7440a47eff01d9822a65b4488f7cff83155a0f31a2ecba"}, - {file = "yarl-1.18.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d0e883008013c0e4aef84dcfe2a0b172c4d23c2669412cf5b3371003941f72bb"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:5a3f356548e34a70b0172d8890006c37be92995f62d95a07b4a42e90fba54272"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:ccd17349166b1bee6e529b4add61727d3f55edb7babbe4069b5764c9587a8cc6"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b958ddd075ddba5b09bb0be8a6d9906d2ce933aee81100db289badbeb966f54e"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:c7d79f7d9aabd6011004e33b22bc13056a3e3fb54794d138af57f5ee9d9032cb"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:4891ed92157e5430874dad17b15eb1fda57627710756c27422200c52d8a4e393"}, - {file = "yarl-1.18.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:ce1af883b94304f493698b00d0f006d56aea98aeb49d75ec7d98cd4a777e9285"}, - {file = "yarl-1.18.3-cp312-cp312-win32.whl", hash = "sha256:f91c4803173928a25e1a55b943c81f55b8872f0018be83e3ad4938adffb77dd2"}, - {file = "yarl-1.18.3-cp312-cp312-win_amd64.whl", hash = "sha256:7e2ee16578af3b52ac2f334c3b1f92262f47e02cc6193c598502bd46f5cd1477"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:90adb47ad432332d4f0bc28f83a5963f426ce9a1a8809f5e584e704b82685dcb"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:913829534200eb0f789d45349e55203a091f45c37a2674678744ae52fae23efa"}, - {file = "yarl-1.18.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:ef9f7768395923c3039055c14334ba4d926f3baf7b776c923c93d80195624782"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88a19f62ff30117e706ebc9090b8ecc79aeb77d0b1f5ec10d2d27a12bc9f66d0"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e17c9361d46a4d5addf777c6dd5eab0715a7684c2f11b88c67ac37edfba6c482"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1a74a13a4c857a84a845505fd2d68e54826a2cd01935a96efb1e9d86c728e186"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:41f7ce59d6ee7741af71d82020346af364949314ed3d87553763a2df1829cc58"}, - {file = "yarl-1.18.3-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:f52a265001d830bc425f82ca9eabda94a64a4d753b07d623a9f2863fde532b53"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:82123d0c954dc58db301f5021a01854a85bf1f3bb7d12ae0c01afc414a882ca2"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:2ec9bbba33b2d00999af4631a3397d1fd78290c48e2a3e52d8dd72db3a067ac8"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:fbd6748e8ab9b41171bb95c6142faf068f5ef1511935a0aa07025438dd9a9bc1"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:877d209b6aebeb5b16c42cbb377f5f94d9e556626b1bfff66d7b0d115be88d0a"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b464c4ab4bfcb41e3bfd3f1c26600d038376c2de3297760dfe064d2cb7ea8e10"}, - {file = "yarl-1.18.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8d39d351e7faf01483cc7ff7c0213c412e38e5a340238826be7e0e4da450fdc8"}, - {file = "yarl-1.18.3-cp313-cp313-win32.whl", hash = "sha256:61ee62ead9b68b9123ec24bc866cbef297dd266175d53296e2db5e7f797f902d"}, - {file = "yarl-1.18.3-cp313-cp313-win_amd64.whl", hash = "sha256:578e281c393af575879990861823ef19d66e2b1d0098414855dd367e234f5b3c"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:61e5e68cb65ac8f547f6b5ef933f510134a6bf31bb178be428994b0cb46c2a04"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:fe57328fbc1bfd0bd0514470ac692630f3901c0ee39052ae47acd1d90a436719"}, - {file = "yarl-1.18.3-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a440a2a624683108a1b454705ecd7afc1c3438a08e890a1513d468671d90a04e"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:09c7907c8548bcd6ab860e5f513e727c53b4a714f459b084f6580b49fa1b9cee"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b4f6450109834af88cb4cc5ecddfc5380ebb9c228695afc11915a0bf82116789"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a9ca04806f3be0ac6d558fffc2fdf8fcef767e0489d2684a21912cc4ed0cd1b8"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:77a6e85b90a7641d2e07184df5557132a337f136250caafc9ccaa4a2a998ca2c"}, - {file = "yarl-1.18.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6333c5a377c8e2f5fae35e7b8f145c617b02c939d04110c76f29ee3676b5f9a5"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:0b3c92fa08759dbf12b3a59579a4096ba9af8dd344d9a813fc7f5070d86bbab1"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_armv7l.whl", hash = "sha256:4ac515b860c36becb81bb84b667466885096b5fc85596948548b667da3bf9f24"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:045b8482ce9483ada4f3f23b3774f4e1bf4f23a2d5c912ed5170f68efb053318"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:a4bb030cf46a434ec0225bddbebd4b89e6471814ca851abb8696170adb163985"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:54d6921f07555713b9300bee9c50fb46e57e2e639027089b1d795ecd9f7fa910"}, - {file = "yarl-1.18.3-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:1d407181cfa6e70077df3377938c08012d18893f9f20e92f7d2f314a437c30b1"}, - {file = "yarl-1.18.3-cp39-cp39-win32.whl", hash = "sha256:ac36703a585e0929b032fbaab0707b75dc12703766d0b53486eabd5139ebadd5"}, - {file = "yarl-1.18.3-cp39-cp39-win_amd64.whl", hash = "sha256:ba87babd629f8af77f557b61e49e7c7cac36f22f871156b91e10a6e9d4f829e9"}, - {file = "yarl-1.18.3-py3-none-any.whl", hash = "sha256:b57f4f58099328dfb26c6a771d09fb20dbbae81d20cfb66141251ea063bd101b"}, - {file = "yarl-1.18.3.tar.gz", hash = "sha256:ac1801c45cbf77b6c99242eeff4fffb5e4e73a800b5c4ad4fc0be5def634d2e1"}, -] - -[package.dependencies] -idna = ">=2.0" -multidict = ">=4.0" -propcache = ">=0.2.0" - -[[package]] -name = "zipp" -version = "3.21.0" -description = "Backport of pathlib-compatible object wrapper for zip files" -optional = false -python-versions = ">=3.9" -files = [ - {file = "zipp-3.21.0-py3-none-any.whl", hash = "sha256:ac1bbe05fd2991f160ebce24ffbac5f6d11d83dc90891255885223d42b3cd931"}, - {file = "zipp-3.21.0.tar.gz", hash = "sha256:2c9958f6430a2040341a52eb608ed6dd93ef4392e02ffe219417c1b28b5dd1f4"}, -] - -[package.extras] -check = ["pytest-checkdocs (>=2.4)", "pytest-ruff (>=0.2.1)"] -cover = ["pytest-cov"] -doc = ["furo", "jaraco.packaging (>=9.3)", "jaraco.tidelift (>=1.4)", "rst.linker (>=1.9)", "sphinx (>=3.5)", "sphinx-lint"] -enabler = ["pytest-enabler (>=2.2)"] -test = ["big-O", "importlib-resources", "jaraco.functools", "jaraco.itertools", "jaraco.test", "more-itertools", "pytest (>=6,!=8.1.*)", "pytest-ignore-flaky"] -type = ["pytest-mypy"] - [metadata] lock-version = "2.0" -python-versions = ">=3.12" -content-hash = "a22bf182fc042147a8de7d528e72a6386ea52f6ad71adfd6a5cc421a5b4880c3" +python-versions = "^3.12" +content-hash = "6016abef181ad0b4053e51b3b7de2ce5f1b852e8f4dd950eda8cde7294e70026" diff --git a/arch/tools/pyproject.toml b/arch/tools/pyproject.toml index 212de467..24410562 100644 --- a/arch/tools/pyproject.toml +++ b/arch/tools/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "archgw" -version = "0.1.6" +version = "0.1.7" description = "Python-based CLI tool to manage Arch Gateway." authors = ["Katanemo Labs, Inc."] packages = [ @@ -9,8 +9,8 @@ packages = [ readme = "README.md" [tool.poetry.dependencies] -python = ">=3.12" -archgw_modelserver = "0.1.6" +python = "^3.12" +archgw_modelserver = "0.1.7" pyyaml = "^6.0.2" pydantic = "^2.10.1" click = "^8.1.7" diff --git a/archgw.code-workspace b/archgw.code-workspace index 5e04c71a..3c968e72 100644 --- a/archgw.code-workspace +++ b/archgw.code-workspace @@ -17,8 +17,16 @@ "path": "model_server" }, { - "name": "e2e_tests", - "path": "e2e_tests" + "name": "tests_e2e", + "path": "tests/e2e" + }, + { + "name": "tests_archgw", + "path": "tests/archgw" + }, + { + "name": "tests_modelserver", + "path": "tests/modelserver" }, { "name": "chatbot_ui", @@ -41,6 +49,7 @@ "eamodio.gitlens", "ms-python.black-formatter", "tamasfe.even-better-toml", + "esbenp.prettier-vscode", ] } } diff --git a/crates/common/src/api/open_ai.rs b/crates/common/src/api/open_ai.rs index 20b550ae..8c72a7cd 100644 --- a/crates/common/src/api/open_ai.rs +++ b/crates/common/src/api/open_ai.rs @@ -21,7 +21,7 @@ pub struct ChatCompletionsRequest { pub metadata: Option>, } -#[derive(Debug, Clone, Serialize, Deserialize)] +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)] pub enum ToolType { #[serde(rename = "function")] Function, @@ -80,6 +80,8 @@ pub struct FunctionParameter { pub enum_values: Option>, #[serde(skip_serializing_if = "Option::is_none")] pub default: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub format: Option, } impl Serialize for FunctionParameter { @@ -96,6 +98,9 @@ impl Serialize for FunctionParameter { if let Some(default) = &self.default { map.serialize_entry("default", default)?; } + if let Some(format) = &self.format { + map.serialize_entry("format", format)?; + } map.end() } } @@ -165,8 +170,8 @@ pub struct Message { #[derive(Debug, Clone, Serialize, Deserialize)] pub struct Choice { - pub finish_reason: String, - pub index: usize, + pub finish_reason: Option, + pub index: Option, pub message: Message, } @@ -197,6 +202,18 @@ pub struct ToolCallState { pub enum ArchState { ToolCall(Vec), } +#[derive(Deserialize, Serialize)] +#[serde(untagged)] +pub enum ModelServerResponse { + ChatCompletionsResponse(ChatCompletionsResponse), + ModelServerErrorResponse(ModelServerErrorResponse), +} + +#[derive(Debug, Clone, Serialize, Deserialize)] +pub struct ModelServerErrorResponse { + pub result: String, + pub intent_latency: f64, +} #[derive(Debug, Clone, Serialize, Deserialize)] pub struct ChatCompletionsResponse { @@ -217,8 +234,8 @@ impl ChatCompletionsResponse { tool_calls: None, tool_call_id: None, }, - index: 0, - finish_reason: "done".to_string(), + index: Some(0), + finish_reason: Some("done".to_string()), }], usage: None, model: ARCH_FC_MODEL_NAME.to_string(), @@ -408,6 +425,7 @@ mod test { required: Some(true), enum_values: None, default: Some("test".to_string()), + format: None, }, ); @@ -462,6 +480,7 @@ mod test { required: Some(true), enum_values: None, default: Some("test".to_string()), + format: None, }, )]); diff --git a/crates/common/src/configuration.rs b/crates/common/src/configuration.rs index 0d9bea80..e83c1117 100644 --- a/crates/common/src/configuration.rs +++ b/crates/common/src/configuration.rs @@ -2,6 +2,10 @@ use serde::{Deserialize, Serialize}; use std::collections::HashMap; use std::fmt::Display; +use crate::api::open_ai::{ + ChatCompletionTool, FunctionDefinition, FunctionParameter, FunctionParameters, ParameterType, +}; + #[derive(Debug, Clone, Serialize, Deserialize)] pub struct Configuration { pub version: String, @@ -192,6 +196,7 @@ pub struct Parameter { pub enum_values: Option>, pub default: Option, pub in_path: Option, + pub format: Option, } #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Hash, Default)] @@ -231,11 +236,47 @@ pub struct PromptTarget { pub auto_llm_dispatch_on_response: Option, } +// convert PromptTarget to ChatCompletionTool +impl From<&PromptTarget> for ChatCompletionTool { + fn from(val: &PromptTarget) -> Self { + let properties: HashMap = match val.parameters { + Some(ref entities) => { + let mut properties: HashMap = HashMap::new(); + for entity in entities.iter() { + let param = FunctionParameter { + parameter_type: ParameterType::from( + entity.parameter_type.clone().unwrap_or("str".to_string()), + ), + description: entity.description.clone(), + required: entity.required, + enum_values: entity.enum_values.clone(), + default: entity.default.clone(), + format: entity.format.clone(), + }; + properties.insert(entity.name.clone(), param); + } + properties + } + None => HashMap::new(), + }; + + ChatCompletionTool { + tool_type: crate::api::open_ai::ToolType::Function, + function: FunctionDefinition { + name: val.name.clone(), + description: val.description.clone(), + parameters: FunctionParameters { properties }, + }, + } + } +} + #[cfg(test)] mod test { + use pretty_assertions::assert_eq; use std::fs; - use crate::configuration::GuardType; + use crate::{api::open_ai::ToolType, configuration::GuardType}; #[test] fn test_deserialize_configuration() { @@ -307,4 +348,76 @@ mod test { let mode = config.mode.as_ref().unwrap_or(&super::GatewayMode::Prompt); assert_eq!(*mode, super::GatewayMode::Prompt); } + + #[test] + fn test_tool_conversion() { + let ref_config = fs::read_to_string( + "../../docs/source/resources/includes/arch_config_full_reference.yaml", + ) + .expect("reference config file not found"); + let config: super::Configuration = serde_yaml::from_str(&ref_config).unwrap(); + let prompt_targets = &config.prompt_targets; + let prompt_target = prompt_targets + .as_ref() + .unwrap() + .iter() + .find(|p| p.name == "reboot_network_device") + .unwrap(); + let chat_completion_tool: super::ChatCompletionTool = prompt_target.into(); + assert_eq!(chat_completion_tool.tool_type, ToolType::Function); + assert_eq!(chat_completion_tool.function.name, "reboot_network_device"); + assert_eq!( + chat_completion_tool.function.description, + "Reboot a specific network device" + ); + assert_eq!(chat_completion_tool.function.parameters.properties.len(), 2); + assert_eq!( + chat_completion_tool + .function + .parameters + .properties + .contains_key("device_id"), + true + ); + assert_eq!( + chat_completion_tool + .function + .parameters + .properties + .get("device_id") + .unwrap() + .parameter_type, + crate::api::open_ai::ParameterType::String + ); + assert_eq!( + chat_completion_tool + .function + .parameters + .properties + .get("device_id") + .unwrap() + .description, + "Identifier of the network device to reboot.".to_string() + ); + assert_eq!( + chat_completion_tool + .function + .parameters + .properties + .get("device_id") + .unwrap() + .required, + Some(true) + ); + assert_eq!( + chat_completion_tool + .function + .parameters + .properties + .get("confirmation") + .unwrap() + .parameter_type, + crate::api::open_ai::ParameterType::Bool + ); + } } diff --git a/crates/common/src/consts.rs b/crates/common/src/consts.rs index 28db9fb8..561dbae3 100644 --- a/crates/common/src/consts.rs +++ b/crates/common/src/consts.rs @@ -1,7 +1,3 @@ -pub const DEFAULT_EMBEDDING_MODEL: &str = "katanemo/bge-large-en-v1.5"; -pub const DEFAULT_INTENT_MODEL: &str = "katanemo/bart-large-mnli"; -pub const DEFAULT_PROMPT_TARGET_THRESHOLD: f64 = 0.8; -pub const DEFAULT_HALLUCINATED_THRESHOLD: f64 = 0.25; pub const RATELIMIT_SELECTOR_HEADER_KEY: &str = "x-arch-ratelimit-selector"; pub const SYSTEM_ROLE: &str = "system"; pub const USER_ROLE: &str = "user"; @@ -9,11 +5,6 @@ pub const TOOL_ROLE: &str = "tool"; pub const ASSISTANT_ROLE: &str = "assistant"; pub const ARCH_FC_REQUEST_TIMEOUT_MS: u64 = 120000; // 2 minutes pub const MODEL_SERVER_NAME: &str = "model_server"; -pub const ZEROSHOT_INTERNAL_HOST: &str = "zeroshot"; -pub const ARCH_FC_INTERNAL_HOST: &str = "arch_fc"; -pub const HALLUCINATION_INTERNAL_HOST: &str = "hallucination"; -pub const EMBEDDINGS_INTERNAL_HOST: &str = "embeddings"; -pub const GUARD_INTERNAL_HOST: &str = "guard"; pub const ARCH_ROUTING_HEADER: &str = "x-arch-llm-provider"; pub const MESSAGES_KEY: &str = "messages"; pub const ARCH_PROVIDER_HINT_HEADER: &str = "x-arch-llm-provider-hint"; @@ -25,7 +16,6 @@ pub const REQUEST_ID_HEADER: &str = "x-request-id"; pub const TRACE_PARENT_HEADER: &str = "traceparent"; pub const ARCH_INTERNAL_CLUSTER_NAME: &str = "arch_internal"; pub const ARCH_UPSTREAM_HOST_HEADER: &str = "x-arch-upstream"; -pub const ARCH_LLM_UPSTREAM_LISTENER: &str = "arch_llm_listener"; pub const ARCH_MODEL_PREFIX: &str = "Arch"; pub const HALLUCINATION_TEMPLATE: &str = "It seems I'm missing some information. Could you provide the following details "; diff --git a/crates/common/src/embeddings/create_embedding_request.rs b/crates/common/src/embeddings/create_embedding_request.rs deleted file mode 100644 index 21e52f8a..00000000 --- a/crates/common/src/embeddings/create_embedding_request.rs +++ /dev/null @@ -1,59 +0,0 @@ -/* - * OMF Embeddings - * - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 1.0.0 - * - * Generated by: https://openapi-generator.tech - */ - -use crate::embeddings; -use serde::{Deserialize, Serialize}; - -#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] -pub struct CreateEmbeddingRequest { - #[serde(rename = "input")] - pub input: Box, - /// ID of the model to use. You can use the [List models](/docs/api-reference/models/list) API to see all of your available models, or see our [Model overview](/docs/models/overview) for descriptions of them. - #[serde(rename = "model")] - pub model: String, - /// The format to return the embeddings in. Can be either `float` or [`base64`](https://pypi.org/project/pybase64/). - #[serde(rename = "encoding_format", skip_serializing_if = "Option::is_none")] - pub encoding_format: Option, - /// The number of dimensions the resulting output embeddings should have. Only supported in `text-embedding-3` and later models. - #[serde(rename = "dimensions", skip_serializing_if = "Option::is_none")] - pub dimensions: Option, - /// A unique identifier representing your end-user, which can help to monitor and detect abuse. [Learn more](/docs/guides/safety-best-practices/end-user-ids). - #[serde(rename = "user", skip_serializing_if = "Option::is_none")] - pub user: Option, -} - -impl CreateEmbeddingRequest { - pub fn new( - input: embeddings::CreateEmbeddingRequestInput, - model: String, - ) -> CreateEmbeddingRequest { - CreateEmbeddingRequest { - input: Box::new(input), - model, - encoding_format: None, - dimensions: None, - user: None, - } - } -} -/// The format to return the embeddings in. Can be either `float` or [`base64`](https://pypi.org/project/pybase64/). -#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] -pub enum EncodingFormat { - #[serde(rename = "float")] - Float, - #[serde(rename = "base64")] - Base64, -} - -impl Default for EncodingFormat { - fn default() -> EncodingFormat { - Self::Float - } -} diff --git a/crates/common/src/embeddings/create_embedding_request_input.rs b/crates/common/src/embeddings/create_embedding_request_input.rs deleted file mode 100644 index 83195ced..00000000 --- a/crates/common/src/embeddings/create_embedding_request_input.rs +++ /dev/null @@ -1,28 +0,0 @@ -/* - * OMF Embeddings - * - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 1.0.0 - * - * Generated by: https://openapi-generator.tech - */ - -use serde::{Deserialize, Serialize}; - -/// CreateEmbeddingRequestInput : Input text to embed, encoded as a string or array of tokens. To embed multiple inputs in a single request, pass an array of strings or array of token arrays. The input must not exceed the max input tokens for the model (8192 tokens for `text-embedding-ada-002`), cannot be an empty string, and any array must be 2048 dimensions or less. for counting tokens. -/// Input text to embed, encoded as a string or array of tokens. To embed multiple inputs in a single request, pass an array of strings or array of token arrays. The input must not exceed the max input tokens for the model (8192 tokens for `text-embedding-ada-002`), cannot be an empty string, and any array must be 2048 dimensions or less. for counting tokens. -#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)] -#[serde(untagged)] -pub enum CreateEmbeddingRequestInput { - /// The string that will be turned into an embedding. - String(String), - /// The array of integers that will be turned into an embedding. - Array(Vec), -} - -impl Default for CreateEmbeddingRequestInput { - fn default() -> Self { - Self::String(Default::default()) - } -} diff --git a/crates/common/src/embeddings/create_embedding_response.rs b/crates/common/src/embeddings/create_embedding_response.rs deleted file mode 100644 index 278929e0..00000000 --- a/crates/common/src/embeddings/create_embedding_response.rs +++ /dev/null @@ -1,55 +0,0 @@ -/* - * OMF Embeddings - * - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 1.0.0 - * - * Generated by: https://openapi-generator.tech - */ - -use crate::embeddings; -use serde::{Deserialize, Serialize}; - -#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] -pub struct CreateEmbeddingResponse { - /// The list of embeddings generated by the model. - #[serde(rename = "data")] - pub data: Vec, - /// The name of the model used to generate the embedding. - #[serde(rename = "model")] - pub model: String, - /// The object type, which is always \"list\". - #[serde(rename = "object")] - pub object: Object, - #[serde(rename = "usage")] - pub usage: Box, -} - -impl CreateEmbeddingResponse { - pub fn new( - data: Vec, - model: String, - object: Object, - usage: embeddings::CreateEmbeddingResponseUsage, - ) -> CreateEmbeddingResponse { - CreateEmbeddingResponse { - data, - model, - object, - usage: Box::new(usage), - } - } -} -/// The object type, which is always \"list\". -#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] -pub enum Object { - #[serde(rename = "list")] - List, -} - -impl Default for Object { - fn default() -> Object { - Self::List - } -} diff --git a/crates/common/src/embeddings/create_embedding_response_usage.rs b/crates/common/src/embeddings/create_embedding_response_usage.rs deleted file mode 100644 index 2a4730ca..00000000 --- a/crates/common/src/embeddings/create_embedding_response_usage.rs +++ /dev/null @@ -1,32 +0,0 @@ -/* - * OMF Embeddings - * - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 1.0.0 - * - * Generated by: https://openapi-generator.tech - */ - -use serde::{Deserialize, Serialize}; - -/// CreateEmbeddingResponseUsage : The usage information for the request. -#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] -pub struct CreateEmbeddingResponseUsage { - /// The number of tokens used by the prompt. - #[serde(rename = "prompt_tokens")] - pub prompt_tokens: i32, - /// The total number of tokens used by the request. - #[serde(rename = "total_tokens")] - pub total_tokens: i32, -} - -impl CreateEmbeddingResponseUsage { - /// The usage information for the request. - pub fn new(prompt_tokens: i32, total_tokens: i32) -> CreateEmbeddingResponseUsage { - CreateEmbeddingResponseUsage { - prompt_tokens, - total_tokens, - } - } -} diff --git a/crates/common/src/embeddings/embedding.rs b/crates/common/src/embeddings/embedding.rs deleted file mode 100644 index e36db376..00000000 --- a/crates/common/src/embeddings/embedding.rs +++ /dev/null @@ -1,48 +0,0 @@ -/* - * OMF Embeddings - * - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - * The version of the OpenAPI document: 1.0.0 - * - * Generated by: https://openapi-generator.tech - */ - -use serde::{Deserialize, Serialize}; - -/// Embedding : Represents an embedding vector returned by embedding endpoint. -#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)] -pub struct Embedding { - /// The index of the embedding in the list of embeddings. - #[serde(rename = "index")] - pub index: i32, - /// The embedding vector, which is a list of floats. The length of vector depends on the model as listed in the [embedding guide](/docs/guides/embeddings). - #[serde(rename = "embedding")] - pub embedding: Vec, - /// The object type, which is always \"embedding\" - #[serde(rename = "object")] - pub object: Object, -} - -impl Embedding { - /// Represents an embedding vector returned by embedding endpoint. - pub fn new(index: i32, embedding: Vec, object: Object) -> Embedding { - Embedding { - index, - embedding, - object, - } - } -} -/// The object type, which is always \"embedding\" -#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)] -pub enum Object { - #[serde(rename = "embedding")] - Embedding, -} - -impl Default for Object { - fn default() -> Object { - Self::Embedding - } -} diff --git a/crates/common/src/embeddings/mod.rs b/crates/common/src/embeddings/mod.rs deleted file mode 100644 index d7ef176b..00000000 --- a/crates/common/src/embeddings/mod.rs +++ /dev/null @@ -1,10 +0,0 @@ -pub mod create_embedding_request; -pub use self::create_embedding_request::CreateEmbeddingRequest; -pub mod create_embedding_request_input; -pub use self::create_embedding_request_input::CreateEmbeddingRequestInput; -pub mod create_embedding_response; -pub use self::create_embedding_response::CreateEmbeddingResponse; -pub mod create_embedding_response_usage; -pub use self::create_embedding_response_usage::CreateEmbeddingResponseUsage; -pub mod embedding; -pub use self::embedding::Embedding; diff --git a/crates/common/src/lib.rs b/crates/common/src/lib.rs index cd5238a3..32549893 100644 --- a/crates/common/src/lib.rs +++ b/crates/common/src/lib.rs @@ -1,14 +1,13 @@ pub mod api; pub mod configuration; pub mod consts; -pub mod embeddings; pub mod errors; pub mod http; pub mod llm_providers; +pub mod path; pub mod pii; pub mod ratelimit; pub mod routing; pub mod stats; pub mod tokenizer; pub mod tracing; -pub mod path; diff --git a/crates/common/src/path.rs b/crates/common/src/path.rs index 2b289c9d..3bf2aed5 100644 --- a/crates/common/src/path.rs +++ b/crates/common/src/path.rs @@ -1,6 +1,9 @@ use std::collections::HashMap; -pub fn replace_params_in_path(path: &str, params: &HashMap) -> Result { +pub fn replace_params_in_path( + path: &str, + params: &HashMap, +) -> Result { let mut result = String::new(); let mut in_param = false; let mut current_param = String::new(); @@ -17,12 +20,10 @@ pub fn replace_params_in_path(path: &str, params: &HashMap) -> R return Err(format!("Missing value for parameter `{}`", param_name)); } current_param.clear(); + } else if in_param { + current_param.push(c); } else { - if in_param { - current_param.push(c); - } else { - result.push(c); - } + result.push(c); } } diff --git a/crates/prompt_gateway/src/context.rs b/crates/prompt_gateway/src/context.rs index 567f41eb..2b0f8d3f 100644 --- a/crates/prompt_gateway/src/context.rs +++ b/crates/prompt_gateway/src/context.rs @@ -1,5 +1,9 @@ +use std::str::FromStr; + use common::errors::ServerError; use common::stats::IncrementingMetric; +use http::StatusCode; +use log::{debug, warn}; use proxy_wasm::traits::Context; use crate::stream_context::{ResponseHandlerType, StreamContext}; @@ -19,76 +23,34 @@ impl Context for StreamContext { .expect("invalid token_id"); self.metrics.active_http_calls.increment(-1); - /* - state transition + let body = self + .get_http_call_response_body(0, body_size) + .unwrap_or(vec![]); - graph LR - - on_http_request_body --> prompt received - prompt received --> get embeddings & arch guard - arch guard --> get embeddings - get embeddings --> zeroshot intent - - ┌──────────────────────┐ ┌─────────────────┐ ┌────────────────┐ ┌─────────────────┐ - │ │ │ │ │ │ │ │ - │ on_http_request_body ├──►│ prompt received ├──►│ get embeddings ├──►│ zeroshot intent │ - │ │ │ │ │ │ │ │ - └──────────────────────┘ └────────┬────────┘ └────────────────┘ └─────────────────┘ - │ ▲ - │ │ - │ │ - │ ┌────────┴───────┐ - │ │ │ - └───────────►│ arch guard │ - │ │ - └────────────────┘ - - - continue from zeroshot intent - - graph LR - - zeroshot intent --> arch_fc - zeroshot intent --> default prompt target - arch_fc --> developer api call & hallucination check - hallucination check --> parameter gathering & developer api call - developer api call --> resume request to llm - - - ┌─────────────────┐ ┌───────────────────────┐ ┌─────────────────────┐ ┌───────────────────────┐ - │ │ │ │ │ │ │ │ - │ zeroshot intent ├──►│ arch_fc ├──►│ developer api call ├──►│ resume request to llm │ - │ │ │ │ │ │ │ │ - └────────┬────────┘ └───────────┬───────────┘ └─────────────────────┘ └───────────────────────┘ - │ │ ▲ - │ └─────────────┐ │ - │ │ │ - │ ┌───────────────────────┐ │ ┌──────────┴──────────┐ ┌───────────────────────┐ - │ │ │ │ │ │ │ │ - └───────────►│ default prompt target │ └▲│ hallucination check ├──►│ parameter gathering │ - │ │ │ │ │ │ - └───────────────────────┘ └─────────────────────┘ └───────────────────────┘ - - - using https://mermaid-ascii.art/ - */ - - if let Some(body) = self.get_http_call_response_body(0, body_size) { - #[cfg_attr(any(), rustfmt::skip)] - match callout_context.response_handler_type { - ResponseHandlerType::ArchGuard => self.arch_guard_handler(body, callout_context), - ResponseHandlerType::Embeddings => self.embeddings_handler(body, callout_context), - ResponseHandlerType::ZeroShotIntent => self.zero_shot_intent_detection_resp_handler(body, callout_context), - ResponseHandlerType::ArchFC => self.arch_fc_response_handler(body, callout_context), - ResponseHandlerType::Hallucination => self.hallucination_classification_resp_handler(body, callout_context), - ResponseHandlerType::FunctionCall => self.api_call_response_handler(body, callout_context), - ResponseHandlerType::DefaultTarget =>self.default_target_handler(body, callout_context), - } - } else { - self.send_server_error( - ServerError::LogicError(String::from("No response body in inline HTTP request")), - None, + let http_status = self + .get_http_call_response_header(":status") + .unwrap_or(StatusCode::OK.as_str().to_string()); + debug!("http call response code: {}", http_status); + if http_status != StatusCode::OK.as_str() { + let server_error = ServerError::Upstream { + host: callout_context.upstream_cluster.unwrap(), + path: callout_context.upstream_cluster_path.unwrap(), + status: http_status.clone(), + body: String::from_utf8(body).unwrap(), + }; + warn!("filter received non 2xx code: {:?}", server_error); + return self.send_server_error( + server_error, + Some(StatusCode::from_str(http_status.as_str()).unwrap()), ); } + + debug!("http call response handler type: {:?}", callout_context.response_handler_type); + #[cfg_attr(any(), rustfmt::skip)] + match callout_context.response_handler_type { + ResponseHandlerType::ArchFC => self.arch_fc_response_handler(body, callout_context), + ResponseHandlerType::FunctionCall => self.api_call_response_handler(body, callout_context), + ResponseHandlerType::DefaultTarget =>self.default_target_handler(body, callout_context), + } } } diff --git a/crates/prompt_gateway/src/embeddings.rs b/crates/prompt_gateway/src/embeddings.rs deleted file mode 100644 index f2883682..00000000 --- a/crates/prompt_gateway/src/embeddings.rs +++ /dev/null @@ -1,5 +0,0 @@ -#[derive(Debug, Clone, Copy, Hash, PartialEq, Eq)] -pub enum EmbeddingType { - Name, - Description, -} diff --git a/crates/prompt_gateway/src/filter_context.rs b/crates/prompt_gateway/src/filter_context.rs index 449be126..9780ed7d 100644 --- a/crates/prompt_gateway/src/filter_context.rs +++ b/crates/prompt_gateway/src/filter_context.rs @@ -1,35 +1,17 @@ -use crate::embeddings::EmbeddingType; use crate::metrics::Metrics; use crate::stream_context::StreamContext; use common::configuration::{Configuration, Overrides, PromptGuards, PromptTarget, Tracing}; -use common::consts::ARCH_UPSTREAM_HOST_HEADER; -use common::consts::DEFAULT_EMBEDDING_MODEL; -use common::consts::{ARCH_INTERNAL_CLUSTER_NAME, EMBEDDINGS_INTERNAL_HOST}; -use common::embeddings::{ - CreateEmbeddingRequest, CreateEmbeddingRequestInput, CreateEmbeddingResponse, -}; -use common::http::CallArgs; use common::http::Client; use common::stats::Gauge; -use common::stats::IncrementingMetric; -use http::StatusCode; -use log::{debug, info, trace, warn}; +use log::debug; use proxy_wasm::traits::*; use proxy_wasm::types::*; use std::cell::RefCell; -use std::collections::hash_map::Entry; use std::collections::HashMap; use std::rc::Rc; -use std::time::Duration; - -pub type EmbeddingTypeMap = HashMap>; -pub type EmbeddingsStore = HashMap; #[derive(Debug)] -pub struct FilterCallContext { - pub prompt_target_name: String, - pub embedding_type: EmbeddingType, -} +pub struct FilterCallContext {} #[derive(Debug)] pub struct FilterContext { @@ -40,9 +22,6 @@ pub struct FilterContext { system_prompt: Rc>, prompt_targets: Rc>, prompt_guards: Rc, - embeddings_store: Option>, - temp_embeddings_store: EmbeddingsStore, - active_embedding_calls_count: u32, tracing: Rc>, } @@ -55,131 +34,9 @@ impl FilterContext { prompt_targets: Rc::new(HashMap::new()), overrides: Rc::new(None), prompt_guards: Rc::new(PromptGuards::default()), - embeddings_store: Some(Rc::new(HashMap::new())), - temp_embeddings_store: HashMap::new(), - active_embedding_calls_count: 0, tracing: Rc::new(None), } } - - fn process_prompt_targets(&mut self) { - let prompt_target_description: Vec<(String, String)> = self - .prompt_targets - .iter() - .map(|(k, v)| (k.clone(), v.description.clone())) - .collect(); - - prompt_target_description - .iter() - .for_each(|(name, description)| { - self.schedule_embeddings_call(name, description, EmbeddingType::Description); - }); - } - - fn schedule_embeddings_call( - &mut self, - prompt_target_name: &str, - input: &str, - embedding_type: EmbeddingType, - ) { - let embeddings_input = CreateEmbeddingRequest { - input: Box::new(CreateEmbeddingRequestInput::String(String::from(input))), - model: String::from(DEFAULT_EMBEDDING_MODEL), - encoding_format: None, - dimensions: None, - user: None, - }; - let json_data = serde_json::to_string(&embeddings_input).unwrap(); - - let call_args = CallArgs::new( - ARCH_INTERNAL_CLUSTER_NAME, - "/embeddings", - vec![ - (ARCH_UPSTREAM_HOST_HEADER, EMBEDDINGS_INTERNAL_HOST), - (":method", "POST"), - (":path", "/embeddings"), - (":authority", EMBEDDINGS_INTERNAL_HOST), - ("content-type", "application/json"), - ("x-envoy-upstream-rq-timeout-ms", "60000"), - ], - Some(json_data.as_bytes()), - vec![], - Duration::from_secs(60), - ); - - let call_context = crate::filter_context::FilterCallContext { - prompt_target_name: String::from(prompt_target_name), - embedding_type, - }; - - self.active_embedding_calls_count += 1; - if let Err(error) = self.http_call(call_args, call_context) { - panic!("{error}") - } - } - - fn embedding_response_handler( - &mut self, - embedding_type: EmbeddingType, - prompt_target_name: String, - body: Vec, - ) { - let prompt_target = self - .prompt_targets - .get(&prompt_target_name) - .unwrap_or_else(|| { - panic!( - "Received embeddings response for unknown prompt target name={}", - prompt_target_name - ) - }); - - if !body.is_empty() { - let mut embedding_response: CreateEmbeddingResponse = - match serde_json::from_slice(&body) { - Ok(response) => response, - Err(e) => { - panic!( - "Error deserializing embedding response. body: {:?}: {:?}", - String::from_utf8(body).unwrap(), - e - ); - } - }; - - let embeddings = embedding_response.data.remove(0).embedding; - debug!( - "Adding embeddings for prompt target name: {:?}, description: {:?}, embedding type: {:?}", - prompt_target.name, - prompt_target.description, - embedding_type - ); - - let entry = self.temp_embeddings_store.entry(prompt_target_name); - match entry { - Entry::Occupied(_) => { - entry.and_modify(|e| { - if let Entry::Vacant(e) = e.entry(embedding_type) { - e.insert(embeddings); - } else { - panic!( - "Duplicate {:?} for prompt target with name=\"{}\"", - &embedding_type, prompt_target.name - ) - } - }); - } - Entry::Vacant(_) => { - entry.or_insert(HashMap::from([(embedding_type, embeddings)])); - } - } - - if self.prompt_targets.len() == self.temp_embeddings_store.len() { - self.embeddings_store = - Some(Rc::new(std::mem::take(&mut self.temp_embeddings_store))) - } - } - } } impl Client for FilterContext { @@ -194,46 +51,7 @@ impl Client for FilterContext { } } -impl Context for FilterContext { - fn on_http_call_response( - &mut self, - token_id: u32, - _num_headers: usize, - body_size: usize, - _num_trailers: usize, - ) { - trace!( - "filter_context: on_http_call_response called with token_id: {:?}", - token_id - ); - let callout_data = self - .callouts - .borrow_mut() - .remove(&token_id) - .expect("invalid token_id"); - - self.active_embedding_calls_count -= 1; - self.metrics.active_http_calls.increment(-1); - let body_bytes = self.get_http_call_response_body(0, body_size).unwrap(); - - if let Some(status_code) = self.get_http_call_response_header(":status") { - if status_code == StatusCode::OK.as_str() { - self.embedding_response_handler( - callout_data.embedding_type, - callout_data.prompt_target_name, - body_bytes, - ); - } else { - warn!( - "Received non-200 status code: {} for callout with token_id: {}: body_str: {}", - status_code, - token_id, - String::from_utf8(body_bytes).unwrap() - ); - } - } - } -} +impl Context for FilterContext {} // RootContext allows the Rust code to reach into the Envoy Config impl RootContext for FilterContext { @@ -271,15 +89,12 @@ impl RootContext for FilterContext { context_id ); - let embedding_store = self.embeddings_store.as_ref().map(Rc::clone); Some(Box::new(StreamContext::new( context_id, Rc::clone(&self.metrics), Rc::clone(&self.system_prompt), Rc::clone(&self.prompt_targets), - Rc::clone(&self.prompt_guards), Rc::clone(&self.overrides), - embedding_store, Rc::clone(&self.tracing), ))) } @@ -289,25 +104,6 @@ impl RootContext for FilterContext { } fn on_vm_start(&mut self, _: usize) -> bool { - self.set_tick_period(Duration::from_secs(1)); true } - - fn on_tick(&mut self) { - if self.embeddings_store.is_some() - && self.embeddings_store.as_ref().unwrap().len() == self.prompt_targets.len() - { - info!("embeddings store initialized"); - self.set_tick_period(Duration::from_secs(0)); - } else { - if self.active_embedding_calls_count == 0 { - info!("retrieving embeddings from embedding server"); - self.process_prompt_targets(); - } else { - info!("waiting for embeddings store to be initialized"); - } - - self.set_tick_period(Duration::from_secs(5)); - } - } } diff --git a/crates/prompt_gateway/src/http_context.rs b/crates/prompt_gateway/src/http_context.rs index 7508f852..76e137c1 100644 --- a/crates/prompt_gateway/src/http_context.rs +++ b/crates/prompt_gateway/src/http_context.rs @@ -1,13 +1,12 @@ use crate::stream_context::{ResponseHandlerType, StreamCallContext, StreamContext}; use common::{ - api::{ - open_ai::{self, ArchState, ChatCompletionStreamResponse, ChatCompletionsRequest}, - prompt_guard::{PromptGuardRequest, PromptGuardTask}, + api::open_ai::{ + self, ArchState, ChatCompletionStreamResponse, ChatCompletionTool, ChatCompletionsRequest, }, consts::{ ARCH_FC_MODEL_NAME, ARCH_INTERNAL_CLUSTER_NAME, ARCH_STATE_HEADER, - ARCH_UPSTREAM_HOST_HEADER, ASSISTANT_ROLE, CHAT_COMPLETIONS_PATH, GUARD_INTERNAL_HOST, - HEALTHZ_PATH, REQUEST_ID_HEADER, TOOL_ROLE, TRACE_PARENT_HEADER, USER_ROLE, + ARCH_UPSTREAM_HOST_HEADER, ASSISTANT_ROLE, CHAT_COMPLETIONS_PATH, HEALTHZ_PATH, + MODEL_SERVER_NAME, REQUEST_ID_HEADER, TOOL_ROLE, TRACE_PARENT_HEADER, USER_ROLE, }, errors::ServerError, http::{CallArgs, Client}, @@ -35,11 +34,7 @@ impl HttpContext for StreamContext { let request_path = self.get_http_request_header(":path").unwrap_or_default(); if request_path == HEALTHZ_PATH { - if self.is_embedding_store_initialized() { - self.send_http_response(200, vec![], None); - } else { - self.send_http_response(503, vec![], None); - } + self.send_http_response(200, vec![], None); return Action::Continue; } @@ -138,43 +133,25 @@ impl HttpContext for StreamContext { self.user_prompt = Some(last_user_prompt.clone()); - let user_message_str = self.user_prompt.as_ref().unwrap().content.clone(); + // convert prompt targets to ChatCompletionTool + let tool_calls: Vec = self + .prompt_targets + .iter() + .map(|(_, pt)| pt.into()) + .collect(); - let prompt_guard_jailbreak_task = self - .prompt_guards - .input_guards - .contains_key(&common::configuration::GuardType::Jailbreak); + let arch_fc_chat_completion_request = ChatCompletionsRequest { + messages: deserialized_body.messages.clone(), + metadata: deserialized_body.metadata.clone(), + stream: deserialized_body.stream, + model: "--".to_string(), + stream_options: deserialized_body.stream_options.clone(), + tools: Some(tool_calls), + }; self.chat_completions_request = Some(deserialized_body); - if !prompt_guard_jailbreak_task { - debug!("Missing input guard. Making inline call to retrieve embeddings"); - let callout_context = StreamCallContext { - response_handler_type: ResponseHandlerType::ArchGuard, - user_message: user_message_str.clone(), - prompt_target_name: None, - request_body: self.chat_completions_request.as_ref().unwrap().clone(), - similarity_scores: None, - upstream_cluster: None, - upstream_cluster_path: None, - }; - self.get_embeddings(callout_context); - return Action::Pause; - } - - let get_prompt_guards_request = PromptGuardRequest { - input: self - .user_prompt - .as_ref() - .unwrap() - .content - .as_ref() - .unwrap() - .clone(), - task: PromptGuardTask::Jailbreak, - }; - - let json_data: String = match serde_json::to_string(&get_prompt_guards_request) { + let json_data = match serde_json::to_string(&arch_fc_chat_completion_request) { Ok(json_data) => json_data, Err(error) => { self.send_server_error(ServerError::Serialization(error), None); @@ -182,14 +159,14 @@ impl HttpContext for StreamContext { } }; + debug!("archgw => archfc: {}", json_data); + let mut headers = vec![ - (ARCH_UPSTREAM_HOST_HEADER, GUARD_INTERNAL_HOST), + (ARCH_UPSTREAM_HOST_HEADER, MODEL_SERVER_NAME), (":method", "POST"), - (":path", "/guard"), - (":authority", GUARD_INTERNAL_HOST), + (":path", "/function_calling"), ("content-type", "application/json"), - ("x-envoy-max-retries", "3"), - ("x-envoy-upstream-rq-timeout-ms", "60000"), + (":authority", MODEL_SERVER_NAME), ]; if self.request_id.is_some() { @@ -202,23 +179,25 @@ impl HttpContext for StreamContext { let call_args = CallArgs::new( ARCH_INTERNAL_CLUSTER_NAME, - "/guard", + "/function_calling", headers, Some(json_data.as_bytes()), vec![], Duration::from_secs(5), ); + let call_context = StreamCallContext { - response_handler_type: ResponseHandlerType::ArchGuard, + response_handler_type: ResponseHandlerType::ArchFC, user_message: self.user_prompt.as_ref().unwrap().content.clone(), prompt_target_name: None, request_body: self.chat_completions_request.as_ref().unwrap().clone(), similarity_scores: None, - upstream_cluster: None, - upstream_cluster_path: None, + upstream_cluster: Some(ARCH_INTERNAL_CLUSTER_NAME.to_string()), + upstream_cluster_path: Some("/function_calling".to_string()), }; if let Err(e) = self.http_call(call_args, call_context) { + debug!("http_call failed: {:?}", e); self.send_server_error(ServerError::HttpDispatch(e), None); } @@ -337,9 +316,11 @@ impl HttpContext for StreamContext { let mut data = match serde_json::from_str(&body_utf8) { Ok(data) => data, Err(e) => { - warn!("could not deserialize response: {}", e); - self.send_server_error(ServerError::Deserialization(e), None); - return Action::Pause; + warn!( + "could not deserialize response, sending data as it is: {}", + e + ); + return Action::Continue; } }; // use serde::Value to manipulate the json object and ensure that we don't lose any data diff --git a/crates/prompt_gateway/src/lib.rs b/crates/prompt_gateway/src/lib.rs index 9d828dac..1acd4d6d 100644 --- a/crates/prompt_gateway/src/lib.rs +++ b/crates/prompt_gateway/src/lib.rs @@ -3,7 +3,6 @@ use proxy_wasm::traits::*; use proxy_wasm::types::*; mod context; -mod embeddings; mod filter_context; mod http_context; mod metrics; diff --git a/crates/prompt_gateway/src/stream_context.rs b/crates/prompt_gateway/src/stream_context.rs index 8671af63..b8a5007f 100644 --- a/crates/prompt_gateway/src/stream_context.rs +++ b/crates/prompt_gateway/src/stream_context.rs @@ -1,36 +1,20 @@ -use crate::embeddings::EmbeddingType; -use crate::filter_context::EmbeddingsStore; use crate::metrics::Metrics; -use acap::cos; -use common::api::hallucination::{ - extract_messages_for_hallucination, HallucinationClassificationRequest, - HallucinationClassificationResponse, -}; use common::api::open_ai::{ - to_server_events, ArchState, ChatCompletionStreamResponse, ChatCompletionTool, - ChatCompletionsRequest, ChatCompletionsResponse, FunctionDefinition, FunctionParameter, - FunctionParameters, Message, ParameterType, ToolCall, ToolType, + to_server_events, ArchState, ChatCompletionStreamResponse, ChatCompletionsRequest, + ChatCompletionsResponse, Message, ModelServerResponse, ToolCall, }; -use common::api::prompt_guard::PromptGuardResponse; -use common::api::zero_shot::{ZeroShotClassificationRequest, ZeroShotClassificationResponse}; -use common::configuration::{Overrides, PromptGuards, PromptTarget, Tracing}; +use common::configuration::{Overrides, PromptTarget, Tracing}; use common::consts::{ - ARCH_FC_INTERNAL_HOST, ARCH_FC_MODEL_NAME, ARCH_FC_REQUEST_TIMEOUT_MS, - ARCH_INTERNAL_CLUSTER_NAME, ARCH_MODEL_PREFIX, ARCH_STATE_HEADER, ARCH_UPSTREAM_HOST_HEADER, - ASSISTANT_ROLE, DEFAULT_EMBEDDING_MODEL, DEFAULT_HALLUCINATED_THRESHOLD, DEFAULT_INTENT_MODEL, - DEFAULT_PROMPT_TARGET_THRESHOLD, EMBEDDINGS_INTERNAL_HOST, HALLUCINATION_INTERNAL_HOST, - HALLUCINATION_TEMPLATE, MESSAGES_KEY, REQUEST_ID_HEADER, SYSTEM_ROLE, TOOL_ROLE, - TRACE_PARENT_HEADER, USER_ROLE, ZEROSHOT_INTERNAL_HOST, -}; -use common::embeddings::{ - CreateEmbeddingRequest, CreateEmbeddingRequestInput, CreateEmbeddingResponse, + ARCH_FC_MODEL_NAME, ARCH_FC_REQUEST_TIMEOUT_MS, ARCH_INTERNAL_CLUSTER_NAME, + ARCH_UPSTREAM_HOST_HEADER, ASSISTANT_ROLE, MESSAGES_KEY, REQUEST_ID_HEADER, SYSTEM_ROLE, + TOOL_ROLE, TRACE_PARENT_HEADER, USER_ROLE, }; use common::errors::ServerError; use common::http::{CallArgs, Client}; use common::stats::Gauge; use derivative::Derivative; use http::StatusCode; -use log::{debug, info, trace, warn}; +use log::{debug, warn}; use proxy_wasm::traits::*; use serde_yaml::Value; use std::cell::RefCell; @@ -41,12 +25,8 @@ use std::time::{Duration, SystemTime, UNIX_EPOCH}; #[derive(Debug, Clone)] pub enum ResponseHandlerType { - Embeddings, ArchFC, FunctionCall, - ZeroShotIntent, - Hallucination, - ArchGuard, DefaultTarget, } @@ -66,8 +46,7 @@ pub struct StreamCallContext { pub struct StreamContext { system_prompt: Rc>, pub prompt_targets: Rc>, - pub embeddings_store: Option>, - overrides: Rc>, + _overrides: Rc>, pub metrics: Rc, pub callouts: RefCell>, pub context_id: u32, @@ -79,12 +58,11 @@ pub struct StreamContext { pub streaming_response: bool, pub is_chat_completions_request: bool, pub chat_completions_request: Option, - pub prompt_guards: Rc, pub request_id: Option, pub start_upstream_llm_request_time: u128, pub time_to_first_token: Option, pub traceparent: Option, - pub tracing: Rc>, + pub _tracing: Rc>, } impl StreamContext { @@ -94,9 +72,7 @@ impl StreamContext { metrics: Rc, system_prompt: Rc>, prompt_targets: Rc>, - prompt_guards: Rc, overrides: Rc>, - embeddings_store: Option>, tracing: Rc>, ) -> Self { StreamContext { @@ -104,7 +80,6 @@ impl StreamContext { metrics, system_prompt, prompt_targets, - embeddings_store, callouts: RefCell::new(HashMap::new()), chat_completions_request: None, tool_calls: None, @@ -114,32 +89,15 @@ impl StreamContext { streaming_response: false, user_prompt: None, is_chat_completions_request: false, - prompt_guards, - overrides, + _overrides: overrides, request_id: None, traceparent: None, - tracing, + _tracing: tracing, start_upstream_llm_request_time: 0, time_to_first_token: None, } } - fn embeddings_store(&self) -> &EmbeddingsStore { - self.embeddings_store.as_ref().unwrap() - } - - pub fn is_embedding_store_initialized(&self) -> bool { - if self.embeddings_store.as_ref().is_none() { - return false; - } - - if self.embeddings_store.as_ref().unwrap().len() == self.prompt_targets.len() { - return true; - } - - false - } - pub fn send_server_error(&self, error: ServerError, override_status_code: Option) { self.send_http_response( override_status_code @@ -151,190 +109,8 @@ impl StreamContext { ); } - pub fn get_embeddings(&mut self, callout_context: StreamCallContext) { - let user_message = callout_context.user_message.unwrap(); - let get_embeddings_input = CreateEmbeddingRequest { - // Need to clone into input because user_message is used below. - input: Box::new(CreateEmbeddingRequestInput::String(user_message.clone())), - model: String::from(DEFAULT_EMBEDDING_MODEL), - encoding_format: None, - dimensions: None, - user: None, - }; - - let embeddings_request_str: String = match serde_json::to_string(&get_embeddings_input) { - Ok(json_data) => json_data, - Err(error) => { - warn!("error serializing get embeddings request: {}", error); - return self.send_server_error(ServerError::Deserialization(error), None); - } - }; - - let mut headers = vec![ - (ARCH_UPSTREAM_HOST_HEADER, EMBEDDINGS_INTERNAL_HOST), - (":method", "POST"), - (":path", "/embeddings"), - (":authority", EMBEDDINGS_INTERNAL_HOST), - ("content-type", "application/json"), - ("x-envoy-max-retries", "3"), - ("x-envoy-upstream-rq-timeout-ms", "60000"), - ]; - - if self.request_id.is_some() { - headers.push((REQUEST_ID_HEADER, self.request_id.as_ref().unwrap())); - } - - if self.trace_arch_internal() && self.traceparent.is_some() { - headers.push((TRACE_PARENT_HEADER, self.traceparent.as_ref().unwrap())); - } - - let call_args = CallArgs::new( - ARCH_INTERNAL_CLUSTER_NAME, - "/embeddings", - headers, - Some(embeddings_request_str.as_bytes()), - vec![], - Duration::from_secs(5), - ); - let call_context = StreamCallContext { - response_handler_type: ResponseHandlerType::Embeddings, - user_message: Some(user_message), - prompt_target_name: None, - request_body: callout_context.request_body, - similarity_scores: None, - upstream_cluster: None, - upstream_cluster_path: None, - }; - - debug!( - "archgw => get embeddings request: {}", - embeddings_request_str - ); - if let Err(e) = self.http_call(call_args, call_context) { - warn!("error dispatching get embeddings request: {}", e); - self.send_server_error(ServerError::HttpDispatch(e), None); - } - } - - pub fn embeddings_handler(&mut self, body: Vec, mut callout_context: StreamCallContext) { - let embedding_response: CreateEmbeddingResponse = match serde_json::from_slice(&body) { - Ok(embedding_response) => embedding_response, - Err(e) => { - warn!("error deserializing embedding response: {}", e); - return self.send_server_error(ServerError::Deserialization(e), None); - } - }; - - let prompt_embeddings_vector = &embedding_response.data[0].embedding; - - trace!( - "embedding model: {}, vector length: {:?}", - embedding_response.model, - prompt_embeddings_vector.len() - ); - - let prompt_target_names = self - .prompt_targets - .iter() - // exclude default target - .filter(|(_, prompt_target)| !prompt_target.default.unwrap_or(false)) - .map(|(name, _)| name.clone()) - .collect(); - - let similarity_scores: Vec<(String, f64)> = self - .prompt_targets - .iter() - // exclude default prompt target - .filter(|(_, prompt_target)| !prompt_target.default.unwrap_or(false)) - .map(|(prompt_name, _)| { - let pte = match self.embeddings_store().get(prompt_name) { - Some(embeddings) => embeddings, - None => { - warn!( - "embeddings not found for prompt target name: {}", - prompt_name - ); - return (prompt_name.clone(), 0.0); - } - }; - - let description_embeddings = match pte.get(&EmbeddingType::Description) { - Some(embeddings) => embeddings, - None => { - warn!( - "description embeddings not found for prompt target name: {}", - prompt_name - ); - return (prompt_name.clone(), 0.0); - } - }; - let similarity_score_description = - cos::cosine_similarity(&prompt_embeddings_vector, &description_embeddings); - (prompt_name.clone(), similarity_score_description) - }) - .collect(); - - debug!( - "similarity scores based on description embeddings match: {:?}", - similarity_scores - ); - - callout_context.similarity_scores = Some(similarity_scores); - - let zero_shot_classification_request = ZeroShotClassificationRequest { - // Need to clone into input because user_message is used below. - input: callout_context.user_message.as_ref().unwrap().clone(), - model: String::from(DEFAULT_INTENT_MODEL), - labels: prompt_target_names, - }; - - let json_data: String = match serde_json::to_string(&zero_shot_classification_request) { - Ok(json_data) => json_data, - Err(error) => { - debug!( - "error serializing zero shot classification request: {}", - error - ); - return self.send_server_error(ServerError::Serialization(error), None); - } - }; - - let mut headers = vec![ - (ARCH_UPSTREAM_HOST_HEADER, ZEROSHOT_INTERNAL_HOST), - (":method", "POST"), - (":path", "/zeroshot"), - (":authority", ZEROSHOT_INTERNAL_HOST), - ("content-type", "application/json"), - ("x-envoy-max-retries", "3"), - ("x-envoy-upstream-rq-timeout-ms", "60000"), - ]; - - if self.request_id.is_some() { - headers.push((REQUEST_ID_HEADER, self.request_id.as_ref().unwrap())); - } - - if self.trace_arch_internal() && self.traceparent.is_some() { - headers.push((TRACE_PARENT_HEADER, self.traceparent.as_ref().unwrap())); - } - - let call_args = CallArgs::new( - ARCH_INTERNAL_CLUSTER_NAME, - "/zeroshot", - headers, - Some(json_data.as_bytes()), - vec![], - Duration::from_secs(5), - ); - callout_context.response_handler_type = ResponseHandlerType::ZeroShotIntent; - - if let Err(e) = self.http_call(call_args, callout_context) { - warn!("error dispatching zero shot classification request: {}", e); - self.send_server_error(ServerError::HttpDispatch(e), None); - } - } - - fn trace_arch_internal(&self) -> bool { - match self.tracing.as_ref() { + fn _trace_arch_internal(&self) -> bool { + match self._tracing.as_ref() { Some(tracing) => match tracing.trace_arch_internal.as_ref() { Some(trace_arch_internal) => *trace_arch_internal, None => false, @@ -343,359 +119,6 @@ impl StreamContext { } } - pub fn hallucination_classification_resp_handler( - &mut self, - body: Vec, - callout_context: StreamCallContext, - ) { - let body_str = String::from_utf8(body).expect("could not convert body to string"); - debug!("archgw <= hallucination response: {}", body_str); - let hallucination_response: HallucinationClassificationResponse = - match serde_json::from_str(body_str.as_str()) { - Ok(hallucination_response) => hallucination_response, - Err(e) => { - warn!( - "error deserializing hallucination response: {}, body: {}", - e, - body_str.as_str() - ); - return self.send_server_error(ServerError::Deserialization(e), None); - } - }; - let mut keys_with_low_score: Vec = Vec::new(); - for (key, value) in &hallucination_response.params_scores { - if *value < DEFAULT_HALLUCINATED_THRESHOLD { - debug!( - "hallucination detected: score for {} : {} is less than threshold {}", - key, value, DEFAULT_HALLUCINATED_THRESHOLD - ); - keys_with_low_score.push(key.clone().to_string()); - } - } - - if !keys_with_low_score.is_empty() { - let response = - HALLUCINATION_TEMPLATE.to_string() + &keys_with_low_score.join(", ") + " ?"; - - let response_str = if self.streaming_response { - let chunks = vec![ - ChatCompletionStreamResponse::new( - None, - Some(ASSISTANT_ROLE.to_string()), - Some(ARCH_FC_MODEL_NAME.to_owned()), - None, - ), - ChatCompletionStreamResponse::new( - Some(response), - None, - Some(ARCH_FC_MODEL_NAME.to_owned()), - None, - ), - ]; - - to_server_events(chunks) - } else { - let chat_completion_response = ChatCompletionsResponse::new(response); - serde_json::to_string(&chat_completion_response).unwrap() - }; - debug!("hallucination response: {:?}", response_str); - // make sure on_http_response_body does not attach tool calls and tool response to the response - self.tool_calls = None; - self.send_http_response( - StatusCode::OK.as_u16().into(), - vec![], - Some(response_str.as_bytes()), - ); - } else { - // not a hallucination, resume the flow - self.schedule_api_call_request(callout_context); - } - } - - pub fn zero_shot_intent_detection_resp_handler( - &mut self, - body: Vec, - mut callout_context: StreamCallContext, - ) { - let zeroshot_intent_response: ZeroShotClassificationResponse = - match serde_json::from_slice(&body) { - Ok(zeroshot_response) => zeroshot_response, - Err(e) => { - warn!( - "error deserializing zero shot classification response: {}", - e - ); - return self.send_server_error(ServerError::Deserialization(e), None); - } - }; - - trace!( - "zeroshot intent response: {}", - serde_json::to_string(&zeroshot_intent_response).unwrap() - ); - - let desc_emb_similarity_map: HashMap = callout_context - .similarity_scores - .clone() - .unwrap() - .into_iter() - .collect(); - - let pred_class_desc_emb_similarity = desc_emb_similarity_map - .get(&zeroshot_intent_response.predicted_class) - .unwrap(); - - let prompt_target_similarity_score = zeroshot_intent_response.predicted_class_score * 0.7 - + pred_class_desc_emb_similarity * 0.3; - - debug!( - "similarity score: {:.3}, intent score: {:.3}, description embedding score: {:.3}, prompt: {}", - prompt_target_similarity_score, - zeroshot_intent_response.predicted_class_score, - pred_class_desc_emb_similarity, - callout_context.user_message.as_ref().unwrap() - ); - - let prompt_target_name = zeroshot_intent_response.predicted_class.clone(); - - // Check to see who responded to user message. This will help us identify if control should be passed to Arch FC or not. - // If the last message was from Arch FC, then Arch FC is handling the conversation (possibly for parameter collection). - let mut arch_assistant = false; - let messages = &callout_context.request_body.messages; - if messages.len() >= 2 { - let latest_assistant_message = &messages[messages.len() - 2]; - if let Some(model) = latest_assistant_message.model.as_ref() { - if model.contains(ARCH_MODEL_PREFIX) { - arch_assistant = true; - } - } - } else { - debug!("no assistant message found, probably first interaction"); - } - - // get prompt target similarity thresold from overrides - let prompt_target_intent_matching_threshold = match self.overrides.as_ref() { - Some(overrides) => match overrides.prompt_target_intent_matching_threshold { - Some(threshold) => threshold, - None => DEFAULT_PROMPT_TARGET_THRESHOLD, - }, - None => DEFAULT_PROMPT_TARGET_THRESHOLD, - }; - - // check to ensure that the prompt target similarity score is above the threshold - if prompt_target_similarity_score < prompt_target_intent_matching_threshold - || arch_assistant - { - debug!("intent score is low or arch assistant is handling the conversation"); - // if arch fc responded to the user message, then we don't need to check the similarity score - // it may be that arch fc is handling the conversation for parameter collection - if arch_assistant { - info!("arch fc is engaged in parameter collection"); - } else if let Some(default_prompt_target) = self - .prompt_targets - .values() - .find(|pt| pt.default.unwrap_or(false)) - { - debug!("default prompt target found, forwarding request to default prompt target"); - let endpoint = default_prompt_target.endpoint.clone().unwrap(); - let upstream_path: String = endpoint.path.unwrap_or(String::from("/")); - - let upstream_endpoint = endpoint.name; - let mut params = HashMap::new(); - params.insert( - MESSAGES_KEY.to_string(), - callout_context.request_body.messages.clone(), - ); - let arch_messages_json = serde_json::to_string(¶ms).unwrap(); - let timeout_str = ARCH_FC_REQUEST_TIMEOUT_MS.to_string(); - - let mut headers = vec![ - (":method", "POST"), - (ARCH_UPSTREAM_HOST_HEADER, &upstream_endpoint), - (":path", &upstream_path), - (":authority", &upstream_endpoint), - ("content-type", "application/json"), - ("x-envoy-max-retries", "3"), - ("x-envoy-upstream-rq-timeout-ms", timeout_str.as_str()), - ]; - - if self.request_id.is_some() { - headers.push((REQUEST_ID_HEADER, self.request_id.as_ref().unwrap())); - } - - if self.trace_arch_internal() && self.traceparent.is_some() { - headers.push((TRACE_PARENT_HEADER, self.traceparent.as_ref().unwrap())); - } - - let call_args = CallArgs::new( - ARCH_INTERNAL_CLUSTER_NAME, - &upstream_path, - headers, - Some(arch_messages_json.as_bytes()), - vec![], - Duration::from_secs(5), - ); - callout_context.response_handler_type = ResponseHandlerType::DefaultTarget; - callout_context.prompt_target_name = Some(default_prompt_target.name.clone()); - - if let Err(e) = self.http_call(call_args, callout_context) { - warn!("error dispatching default prompt target request: {}", e); - return self.send_server_error( - ServerError::HttpDispatch(e), - Some(StatusCode::BAD_REQUEST), - ); - } - return; - } else { - // if no default prompt target is found and similarity score is low send response to upstream llm - // removing tool calls and tool response - - let messages = self.filter_out_arch_messages(&callout_context); - - let chat_completions_request: ChatCompletionsRequest = ChatCompletionsRequest { - model: callout_context.request_body.model, - messages, - tools: None, - stream: callout_context.request_body.stream, - stream_options: callout_context.request_body.stream_options, - metadata: None, - }; - - let llm_request_str = match serde_json::to_string(&chat_completions_request) { - Ok(json_string) => json_string, - Err(e) => { - return self.send_server_error(ServerError::Serialization(e), None); - } - }; - debug!( - "archgw (low similarity score) => llm request: {}", - llm_request_str - ); - - self.set_http_request_body( - 0, - self.request_body_size, - &llm_request_str.into_bytes(), - ); - - self.resume_http_request(); - return; - } - } - - let prompt_target = self - .prompt_targets - .get(&prompt_target_name) - .expect("prompt target not found") - .clone(); - - let mut chat_completion_tools: Vec = Vec::new(); - for pt in self.prompt_targets.values() { - if pt.default.unwrap_or_default() { - continue; - } - // only extract entity names - let properties: HashMap = match pt.parameters { - // Clone is unavoidable here because we don't want to move the values out of the prompt target struct. - Some(ref entities) => { - let mut properties: HashMap = HashMap::new(); - for entity in entities.iter() { - let param = FunctionParameter { - parameter_type: ParameterType::from( - entity.parameter_type.clone().unwrap_or("str".to_string()), - ), - description: entity.description.clone(), - required: entity.required, - enum_values: entity.enum_values.clone(), - default: entity.default.clone(), - }; - properties.insert(entity.name.clone(), param); - } - properties - } - None => HashMap::new(), - }; - let tools_parameters = FunctionParameters { properties }; - - chat_completion_tools.push({ - ChatCompletionTool { - tool_type: ToolType::Function, - function: FunctionDefinition { - name: pt.name.clone(), - description: pt.description.clone(), - parameters: tools_parameters, - }, - } - }); - } - - // archfc handler needs state so it can expand tool calls - let mut metadata = HashMap::new(); - metadata.insert( - ARCH_STATE_HEADER.to_string(), - serde_json::to_string(&self.arch_state).unwrap(), - ); - - let chat_completions = ChatCompletionsRequest { - model: self - .chat_completions_request - .as_ref() - .unwrap() - .model - .clone(), - messages: callout_context.request_body.messages.clone(), - tools: Some(chat_completion_tools), - stream: false, - stream_options: None, - metadata: Some(metadata), - }; - - let msg_body = match serde_json::to_string(&chat_completions) { - Ok(msg_body) => msg_body, - Err(e) => { - warn!("error serializing arch_fc request body: {}", e); - return self.send_server_error(ServerError::Serialization(e), None); - } - }; - - let timeout_str = ARCH_FC_REQUEST_TIMEOUT_MS.to_string(); - - let mut headers = vec![ - (":method", "POST"), - (ARCH_UPSTREAM_HOST_HEADER, ARCH_FC_INTERNAL_HOST), - (":path", "/v1/chat/completions"), - (":authority", ARCH_FC_INTERNAL_HOST), - ("content-type", "application/json"), - ("x-envoy-max-retries", "3"), - ("x-envoy-upstream-rq-timeout-ms", timeout_str.as_str()), - ]; - - if self.request_id.is_some() { - headers.push((REQUEST_ID_HEADER, self.request_id.as_ref().unwrap())); - } - - if self.trace_arch_internal() && self.traceparent.is_some() { - headers.push((TRACE_PARENT_HEADER, self.traceparent.as_ref().unwrap())); - } - - let call_args = CallArgs::new( - ARCH_INTERNAL_CLUSTER_NAME, - "/v1/chat/completions", - headers, - Some(msg_body.as_bytes()), - vec![], - Duration::from_secs(5), - ); - callout_context.response_handler_type = ResponseHandlerType::ArchFC; - callout_context.prompt_target_name = Some(prompt_target.name); - - debug!("archgw => archfc request: {}", msg_body); - if let Err(e) = self.http_call(call_args, callout_context) { - debug!("error dispatching arch_fc request: {}", e); - self.send_server_error(ServerError::HttpDispatch(e), Some(StatusCode::BAD_REQUEST)); - } - } - pub fn arch_fc_response_handler( &mut self, body: Vec, @@ -704,14 +127,87 @@ impl StreamContext { let body_str = String::from_utf8(body).unwrap(); debug!("archgw <= archfc response: {}", body_str); - let arch_fc_response: ChatCompletionsResponse = match serde_json::from_str(&body_str) { + let model_server_response: ModelServerResponse = match serde_json::from_str(&body_str) { Ok(arch_fc_response) => arch_fc_response, Err(e) => { - warn!("error deserializing archfc response: {}", e); + warn!( + "error deserializing archfc response: {}, body: {}", + e, body_str + ); return self.send_server_error(ServerError::Deserialization(e), None); } }; + let arch_fc_response = match model_server_response { + ModelServerResponse::ChatCompletionsResponse(response) => response, + ModelServerResponse::ModelServerErrorResponse(response) => { + debug!("archgw <= archfc error response: {}", response.result); + if response.result == "No intent matched" { + if let Some(default_prompt_target) = self + .prompt_targets + .values() + .find(|pt| pt.default.unwrap_or(false)) + { + debug!("default prompt target found, forwarding request to default prompt target"); + let endpoint = default_prompt_target.endpoint.clone().unwrap(); + let upstream_path: String = endpoint.path.unwrap_or(String::from("/")); + + let upstream_endpoint = endpoint.name; + let mut params = HashMap::new(); + params.insert( + MESSAGES_KEY.to_string(), + callout_context.request_body.messages.clone(), + ); + let arch_messages_json = serde_json::to_string(¶ms).unwrap(); + let timeout_str = ARCH_FC_REQUEST_TIMEOUT_MS.to_string(); + + let mut headers = vec![ + (":method", "POST"), + (ARCH_UPSTREAM_HOST_HEADER, &upstream_endpoint), + (":path", &upstream_path), + (":authority", &upstream_endpoint), + ("content-type", "application/json"), + ("x-envoy-max-retries", "3"), + ("x-envoy-upstream-rq-timeout-ms", timeout_str.as_str()), + ]; + + if self.request_id.is_some() { + headers.push((REQUEST_ID_HEADER, self.request_id.as_ref().unwrap())); + } + + // if self.trace_arch_internal() && self.traceparent.is_some() { + // headers.push((TRACE_PARENT_HEADER, self.traceparent.as_ref().unwrap())); + // } + + let call_args = CallArgs::new( + ARCH_INTERNAL_CLUSTER_NAME, + &upstream_path, + headers, + Some(arch_messages_json.as_bytes()), + vec![], + Duration::from_secs(5), + ); + callout_context.response_handler_type = ResponseHandlerType::DefaultTarget; + callout_context.prompt_target_name = + Some(default_prompt_target.name.clone()); + + if let Err(e) = self.http_call(call_args, callout_context) { + warn!("error dispatching default prompt target request: {}", e); + return self.send_server_error( + ServerError::HttpDispatch(e), + Some(StatusCode::BAD_REQUEST), + ); + } + return; + } + } + return self.send_server_error( + ServerError::LogicError(response.result), + Some(StatusCode::BAD_REQUEST), + ); + } + }; + arch_fc_response.choices[0] .message .tool_calls @@ -767,114 +263,7 @@ impl StreamContext { ); } - // TODO CO: pass nli check - let tools_call_name = self.tool_calls.as_ref().unwrap()[0].function.name.clone(); - let prompt_target = self - .prompt_targets - .get(&tools_call_name) - .expect("prompt target not found for tool call") - .clone(); - - debug!( - "prompt_target_name: {}, tool_name(s): {:?}", - prompt_target.name, - self.tool_calls - .as_ref() - .unwrap() - .iter() - .map(|tc| tc.function.name.clone()) - .collect::>(), - ); - - // If hallucination, pass chat template to check parameters - //HACK: for now we only support one tool call, we will support multiple tool calls in the future - - let mut tool_params = self.tool_calls.as_ref().unwrap()[0] - .function - .arguments - .clone(); - let tool_params_json_str = serde_json::to_string(&tool_params).unwrap(); - debug!( - "tool_params (without messages history): {}", - tool_params_json_str - ); - tool_params.insert( - String::from(MESSAGES_KEY), - serde_yaml::to_value(&callout_context.request_body.messages).unwrap(), - ); - let tool_params_json_str = serde_json::to_string(&tool_params).unwrap(); - - use serde_json::Value; - let v: Value = serde_json::from_str(&tool_params_json_str).unwrap(); - let tool_params_dict: HashMap = match v.as_object() { - Some(obj) => obj - .iter() - .map(|(key, value)| { - // Convert each value to a string, regardless of its type - (key.clone(), value.to_string()) - }) - .collect(), - None => HashMap::new(), // Return an empty HashMap if v is not an object - }; - - let all_user_messages = - extract_messages_for_hallucination(&callout_context.request_body.messages); - let user_messages_str = all_user_messages.join(", "); - debug!("user messages: {}", user_messages_str); - - let hallucination_classification_request = HallucinationClassificationRequest { - prompt: user_messages_str, - model: String::from(DEFAULT_INTENT_MODEL), - parameters: tool_params_dict, - }; - - let hallucination_request_str: String = - match serde_json::to_string(&hallucination_classification_request) { - Ok(json_data) => json_data, - Err(error) => { - debug!( - "error serializing hallucination classification request: {}", - error - ); - return self.send_server_error(ServerError::Serialization(error), None); - } - }; - - let mut headers = vec![ - (ARCH_UPSTREAM_HOST_HEADER, HALLUCINATION_INTERNAL_HOST), - (":method", "POST"), - (":path", "/hallucination"), - (":authority", HALLUCINATION_INTERNAL_HOST), - ("content-type", "application/json"), - ("x-envoy-max-retries", "3"), - ("x-envoy-upstream-rq-timeout-ms", "60000"), - ]; - - if self.request_id.is_some() { - headers.push((REQUEST_ID_HEADER, self.request_id.as_ref().unwrap())); - } - - if self.trace_arch_internal() && self.traceparent.is_some() { - headers.push((TRACE_PARENT_HEADER, self.traceparent.as_ref().unwrap())); - } - - let call_args = CallArgs::new( - ARCH_INTERNAL_CLUSTER_NAME, - "/hallucination", - headers, - Some(hallucination_request_str.as_bytes()), - vec![], - Duration::from_secs(5), - ); - callout_context.response_handler_type = ResponseHandlerType::Hallucination; - - debug!( - "archgw => hallucination request: {}", - hallucination_request_str - ); - if let Err(e) = self.http_call(call_args, callout_context) { - self.send_server_error(ServerError::HttpDispatch(e), None); - } + self.schedule_api_call_request(callout_context); } fn schedule_api_call_request(&mut self, mut callout_context: StreamCallContext) { @@ -969,8 +358,9 @@ impl StreamContext { pub fn api_call_response_handler(&mut self, body: Vec, callout_context: StreamCallContext) { let http_status = self .get_http_call_response_header(":status") - .expect("http status code not found"); - if http_status != StatusCode::OK.as_str() { + .unwrap_or(StatusCode::OK.as_str().to_string()); + debug!("api_call_response_handler: http_status: {}", http_status); + if http_status != StatusCode::OK.as_str() { warn!( "api server responded with non 2xx status code: {}", http_status @@ -1093,56 +483,24 @@ impl StreamContext { messages } - pub fn arch_guard_handler(&mut self, body: Vec, callout_context: StreamCallContext) { - let prompt_guard_resp: PromptGuardResponse = serde_json::from_slice(&body).unwrap(); - debug!( - "archgw <= archguard response: {:?}", - serde_json::to_string(&prompt_guard_resp) - ); - - if prompt_guard_resp.jailbreak_verdict.unwrap_or_default() { - //TODO: handle other scenarios like forward to error target - let msg = self - .prompt_guards - .jailbreak_on_exception_message() - .unwrap_or("refrain from discussing jailbreaking."); - info!("jailbreak detected: {}", msg); - - let response_str = if self.streaming_response { - let chunks = vec![ - ChatCompletionStreamResponse::new( - None, - Some(ASSISTANT_ROLE.to_string()), - Some(ARCH_FC_MODEL_NAME.to_owned()), - None, - ), - ChatCompletionStreamResponse::new( - Some(msg.to_string()), - None, - Some(ARCH_FC_MODEL_NAME.to_owned()), - None, - ), - ]; - - to_server_events(chunks) - } else { - let chat_completion_response = ChatCompletionsResponse::new(msg.to_string()); - serde_json::to_string(&chat_completion_response).unwrap() - }; - - self.send_http_response( - StatusCode::OK.as_u16().into(), - vec![], - Some(response_str.as_bytes()), - ); - - return self.send_server_error( - ServerError::Jailbreak(String::from(msg)), - Some(StatusCode::BAD_REQUEST), - ); + pub fn generate_toll_call_message(&mut self) -> Message { + Message { + role: ASSISTANT_ROLE.to_string(), + content: None, + model: Some(ARCH_FC_MODEL_NAME.to_string()), + tool_calls: self.tool_calls.clone(), + tool_call_id: None, } + } - self.get_embeddings(callout_context); + pub fn generate_api_response_message(&mut self) -> Message { + Message { + role: TOOL_ROLE.to_string(), + content: self.tool_call_response.clone(), + model: None, + tool_calls: None, + tool_call_id: Some(self.tool_calls.as_ref().unwrap()[0].id.clone()), + } } pub fn default_target_handler(&self, body: Vec, mut callout_context: StreamCallContext) { @@ -1264,26 +622,6 @@ impl StreamContext { self.set_http_request_body(0, self.request_body_size, json_resp.as_bytes()); self.resume_http_request(); } - - pub fn generate_toll_call_message(&mut self) -> Message { - Message { - role: ASSISTANT_ROLE.to_string(), - content: None, - model: Some(ARCH_FC_MODEL_NAME.to_string()), - tool_calls: self.tool_calls.clone(), - tool_call_id: None, - } - } - - pub fn generate_api_response_message(&mut self) -> Message { - Message { - role: TOOL_ROLE.to_string(), - content: self.tool_call_response.clone(), - model: None, - tool_calls: None, - tool_call_id: Some(self.tool_calls.as_ref().unwrap()[0].id.clone()), - } - } } impl Client for StreamContext { diff --git a/crates/prompt_gateway/tests/integration.rs b/crates/prompt_gateway/tests/integration.rs index ac6009f8..cb9054f3 100644 --- a/crates/prompt_gateway/tests/integration.rs +++ b/crates/prompt_gateway/tests/integration.rs @@ -1,14 +1,7 @@ -use common::api::hallucination::HallucinationClassificationResponse; use common::api::open_ai::{ ChatCompletionsResponse, Choice, FunctionCallDetail, Message, ToolCall, ToolType, Usage, }; -use common::api::prompt_guard::PromptGuardResponse; -use common::api::zero_shot::ZeroShotClassificationResponse; use common::configuration::Configuration; -use common::embeddings::{ - create_embedding_response, embedding, CreateEmbeddingResponse, CreateEmbeddingResponseUsage, - Embedding, -}; use http::StatusCode; use proxy_wasm_test_framework::tester::{self, Tester}; use proxy_wasm_test_framework::types::{ @@ -83,13 +76,11 @@ fn normal_flow(module: &mut Tester, filter_context: i32, http_context: i32) { .expect_http_call( Some("arch_internal"), Some(vec![ - ("x-arch-upstream", "guard"), + ("x-arch-upstream", "model_server"), (":method", "POST"), - (":path", "/guard"), - (":authority", "guard"), + (":path", "/function_calling"), ("content-type", "application/json"), - ("x-envoy-max-retries", "3"), - ("x-envoy-upstream-rq-timeout-ms", "60000"), + (":authority", "model_server"), ]), None, None, @@ -97,139 +88,11 @@ fn normal_flow(module: &mut Tester, filter_context: i32, http_context: i32) { ) .returning(Some(1)) .expect_log(Some(LogLevel::Debug), None) + .expect_log(Some(LogLevel::Debug), None) .expect_log(Some(LogLevel::Trace), None) .expect_metric_increment("active_http_calls", 1) .execute_and_expect(ReturnType::Action(Action::Pause)) .unwrap(); - - let prompt_guard_response = PromptGuardResponse { - toxic_prob: None, - toxic_verdict: None, - jailbreak_prob: None, - jailbreak_verdict: None, - }; - let prompt_guard_response_buffer = serde_json::to_string(&prompt_guard_response).unwrap(); - module - .call_proxy_on_http_call_response( - http_context, - 1, - 0, - prompt_guard_response_buffer.len() as i32, - 0, - ) - .expect_metric_increment("active_http_calls", -1) - .expect_get_buffer_bytes(Some(BufferType::HttpCallResponseBody)) - .returning(Some(&prompt_guard_response_buffer)) - .expect_log(Some(LogLevel::Debug), None) - .expect_log(Some(LogLevel::Debug), None) - .expect_log(Some(LogLevel::Trace), None) - .expect_http_call( - Some("arch_internal"), - Some(vec![ - ("x-arch-upstream", "embeddings"), - (":method", "POST"), - (":path", "/embeddings"), - (":authority", "embeddings"), - ("content-type", "application/json"), - ("x-envoy-max-retries", "3"), - ("x-envoy-upstream-rq-timeout-ms", "60000"), - ]), - None, - None, - None, - ) - .returning(Some(2)) - .expect_metric_increment("active_http_calls", 1) - .execute_and_expect(ReturnType::None) - .unwrap(); - - let embedding_response = CreateEmbeddingResponse { - data: vec![Embedding { - index: 0, - embedding: vec![], - object: embedding::Object::default(), - }], - model: String::from("test"), - object: create_embedding_response::Object::default(), - usage: Box::new(CreateEmbeddingResponseUsage::new(0, 0)), - }; - let embeddings_response_buffer = serde_json::to_string(&embedding_response).unwrap(); - module - .call_proxy_on_http_call_response( - http_context, - 2, - 0, - embeddings_response_buffer.len() as i32, - 0, - ) - .expect_metric_increment("active_http_calls", -1) - .expect_get_buffer_bytes(Some(BufferType::HttpCallResponseBody)) - .returning(Some(&embeddings_response_buffer)) - .expect_log(Some(LogLevel::Trace), None) - .expect_log(Some(LogLevel::Warn), None) - .expect_log(Some(LogLevel::Debug), None) - .expect_log(Some(LogLevel::Trace), None) - .expect_http_call( - Some("arch_internal"), - Some(vec![ - ("x-arch-upstream", "zeroshot"), - (":method", "POST"), - (":path", "/zeroshot"), - (":authority", "zeroshot"), - ("content-type", "application/json"), - ("x-envoy-max-retries", "3"), - ("x-envoy-upstream-rq-timeout-ms", "60000"), - ]), - None, - None, - None, - ) - .returning(Some(3)) - .expect_metric_increment("active_http_calls", 1) - .execute_and_expect(ReturnType::None) - .unwrap(); - - let zero_shot_response = ZeroShotClassificationResponse { - predicted_class: "weather_forecast".to_string(), - predicted_class_score: 0.1, - scores: HashMap::new(), - model: "test-model".to_string(), - }; - let zeroshot_intent_detection_buffer = serde_json::to_string(&zero_shot_response).unwrap(); - module - .call_proxy_on_http_call_response( - http_context, - 3, - 0, - zeroshot_intent_detection_buffer.len() as i32, - 0, - ) - .expect_metric_increment("active_http_calls", -1) - .expect_get_buffer_bytes(Some(BufferType::HttpCallResponseBody)) - .returning(Some(&zeroshot_intent_detection_buffer)) - .expect_log(Some(LogLevel::Trace), None) - .expect_log(Some(LogLevel::Debug), None) - .expect_log(Some(LogLevel::Debug), None) - .expect_log(Some(LogLevel::Trace), None) - .expect_http_call( - Some("arch_internal"), - Some(vec![ - (":method", "POST"), - ("x-arch-upstream", "arch_fc"), - (":path", "/v1/chat/completions"), - (":authority", "arch_fc"), - ("content-type", "application/json"), - ("x-envoy-max-retries", "3"), - ("x-envoy-upstream-rq-timeout-ms", "120000"), - ]), - None, - None, - None, - ) - .returning(Some(4)) - .expect_metric_increment("active_http_calls", 1) - .execute_and_expect(ReturnType::None) - .unwrap(); } fn setup_filter(module: &mut Tester, config: &str) -> i32 { @@ -248,69 +111,6 @@ fn setup_filter(module: &mut Tester, config: &str) -> i32 { .execute_and_expect(ReturnType::Bool(true)) .unwrap(); - module - .call_proxy_on_tick(filter_context) - .expect_log(Some(LogLevel::Info), None) - .expect_log(Some(LogLevel::Trace), None) - .expect_http_call( - Some("arch_internal"), - Some(vec![ - ("x-arch-upstream", "embeddings"), - (":method", "POST"), - (":path", "/embeddings"), - (":authority", "embeddings"), - ("content-type", "application/json"), - ("x-envoy-upstream-rq-timeout-ms", "60000"), - ]), - None, - None, - None, - ) - .returning(Some(101)) - .expect_metric_increment("active_http_calls", 1) - .expect_set_tick_period_millis(Some(5000)) - .execute_and_expect(ReturnType::None) - .unwrap(); - - let embedding_response = CreateEmbeddingResponse { - data: vec![Embedding { - embedding: vec![], - index: 0, - object: embedding::Object::default(), - }], - model: String::from("test"), - object: create_embedding_response::Object::default(), - usage: Box::new(CreateEmbeddingResponseUsage { - prompt_tokens: 0, - total_tokens: 0, - }), - }; - let embedding_response_str = serde_json::to_string(&embedding_response).unwrap(); - module - .call_proxy_on_http_call_response( - filter_context, - 101, - 0, - embedding_response_str.len() as i32, - 0, - ) - .expect_log( - Some(LogLevel::Trace), - Some( - format!( - "filter_context: on_http_call_response called with token_id: {:?}", - 101 - ) - .as_str(), - ), - ) - .expect_metric_increment("active_http_calls", -1) - .expect_get_buffer_bytes(Some(BufferType::HttpCallResponseBody)) - .returning(Some(&embedding_response_str)) - .expect_log(Some(LogLevel::Debug), None) - .execute_and_expect(ReturnType::None) - .unwrap(); - filter_context } @@ -435,6 +235,7 @@ fn prompt_gateway_successful_request_to_open_ai_chat_completions() { .returning(Some(chat_completions_request_body)) .expect_log(Some(LogLevel::Trace), None) .expect_log(Some(LogLevel::Debug), None) + .expect_log(Some(LogLevel::Debug), None) .expect_log(Some(LogLevel::Trace), None) .expect_http_call(Some("arch_internal"), None, None, None, None) .returning(Some(4)) @@ -538,8 +339,8 @@ fn prompt_gateway_request_to_llm_gateway() { completion_tokens: 0, }), choices: vec![Choice { - finish_reason: "test".to_string(), - index: 0, + finish_reason: Some("test".to_string()), + index: Some(0), message: Message { role: "system".to_string(), content: None, @@ -564,7 +365,7 @@ fn prompt_gateway_request_to_llm_gateway() { let arch_fc_resp_str = serde_json::to_string(&arch_fc_resp).unwrap(); module - .call_proxy_on_http_call_response(http_context, 4, 0, arch_fc_resp_str.len() as i32, 0) + .call_proxy_on_http_call_response(http_context, 1, 0, arch_fc_resp_str.len() as i32, 0) .expect_metric_increment("active_http_calls", -1) .expect_get_buffer_bytes(Some(BufferType::HttpCallResponseBody)) .returning(Some(&arch_fc_resp_str)) @@ -572,47 +373,7 @@ fn prompt_gateway_request_to_llm_gateway() { .expect_log(Some(LogLevel::Debug), None) .expect_log(Some(LogLevel::Debug), None) .expect_log(Some(LogLevel::Debug), None) - .expect_log(Some(LogLevel::Debug), None) .expect_log(Some(LogLevel::Trace), None) - .expect_http_call( - Some("arch_internal"), - Some(vec![ - ("x-arch-upstream", "hallucination"), - (":method", "POST"), - (":path", "/hallucination"), - (":authority", "hallucination"), - ("content-type", "application/json"), - ("x-envoy-max-retries", "3"), - ("x-envoy-upstream-rq-timeout-ms", "60000"), - ]), - None, - None, - None, - ) - .returning(Some(5)) - .expect_metric_increment("active_http_calls", 1) - .execute_and_expect(ReturnType::None) - .unwrap(); - - // hallucination should return that parameters were not halliucinated - // prompt: str - // parameters: dict - // model: str - - let hallucatination_body = HallucinationClassificationResponse { - params_scores: HashMap::from([("city".to_string(), 0.99)]), - model: "nli-model".to_string(), - }; - - let body_text = serde_json::to_string(&hallucatination_body).unwrap(); - - module - .call_proxy_on_http_call_response(http_context, 5, 0, body_text.len() as i32, 0) - .expect_metric_increment("active_http_calls", -1) - .expect_get_buffer_bytes(Some(BufferType::HttpCallResponseBody)) - .returning(Some(&body_text)) - .expect_log(Some(LogLevel::Debug), None) - .expect_log(Some(LogLevel::Debug), None) .expect_log(Some(LogLevel::Trace), None) .expect_http_call( Some("arch_internal"), @@ -628,14 +389,14 @@ fn prompt_gateway_request_to_llm_gateway() { None, None, ) - .returning(Some(6)) + .returning(Some(2)) .expect_metric_increment("active_http_calls", 1) .execute_and_expect(ReturnType::None) .unwrap(); let body_text = String::from("test body"); module - .call_proxy_on_http_call_response(http_context, 6, 0, body_text.len() as i32, 0) + .call_proxy_on_http_call_response(http_context, 2, 0, body_text.len() as i32, 0) .expect_metric_increment("active_http_calls", -1) .expect_get_buffer_bytes(Some(BufferType::HttpCallResponseBody)) .returning(Some(&body_text)) @@ -643,6 +404,10 @@ fn prompt_gateway_request_to_llm_gateway() { .expect_get_header_map_value(Some(MapType::HttpCallResponseHeaders), Some(":status")) .returning(Some("200")) .expect_log(Some(LogLevel::Debug), None) + .expect_log(Some(LogLevel::Debug), None) + .expect_log(Some(LogLevel::Debug), None) + .expect_log(Some(LogLevel::Debug), None) + .expect_log(Some(LogLevel::Debug), None) .expect_set_buffer_bytes(Some(BufferType::HttpRequestBody), None) .execute_and_expect(ReturnType::None) .unwrap(); @@ -652,8 +417,8 @@ fn prompt_gateway_request_to_llm_gateway() { completion_tokens: 0, }), choices: vec![Choice { - finish_reason: "test".to_string(), - index: 0, + finish_reason: Some("test".to_string()), + index: Some(0), message: Message { role: "assistant".to_string(), content: Some("hello from fake llm gateway".to_string()), diff --git a/demos/currency_exchange/run_demo.sh b/demos/currency_exchange/run_demo.sh index e6c678e8..eb47dce6 100644 --- a/demos/currency_exchange/run_demo.sh +++ b/demos/currency_exchange/run_demo.sh @@ -22,7 +22,7 @@ start_demo() { echo "Starting Arch with arch_config.yaml..." archgw up arch_config.yaml - # Step 4: Start Network Agent + # Step 4: Start developer services echo "Starting Network Agent using Docker Compose..." docker compose up -d # Run in detached mode } diff --git a/demos/currency_exchange/test_data.yaml b/demos/currency_exchange/test_data.yaml new file mode 100644 index 00000000..90eb85e2 --- /dev/null +++ b/demos/currency_exchange/test_data.yaml @@ -0,0 +1,13 @@ +test_cases: + - id: "get exchange rate" + input: + messages: + - role: user + content: what is exchange rate for gbp + expected_tools: + - type: function + function: + name: currency_exchange + arguments: + currency_symbol: GBP + expected_output_contains: gbp diff --git a/demos/hr_agent/docker-compose.yaml b/demos/hr_agent/docker-compose.yaml index 8f44a124..61c710a2 100644 --- a/demos/hr_agent/docker-compose.yaml +++ b/demos/hr_agent/docker-compose.yaml @@ -15,3 +15,16 @@ services: test: ["CMD", "curl" ,"http://localhost:80/healthz"] interval: 5s retries: 20 + + chatbot_ui: + build: + context: ../shared/chatbot_ui + dockerfile: Dockerfile + ports: + - "18080:8080" + environment: + - CHAT_COMPLETION_ENDPOINT=http://host.docker.internal:10000/v1 + extra_hosts: + - "host.docker.internal:host-gateway" + volumes: + - ./arch_config.yaml:/app/arch_config.yaml diff --git a/demos/hr_agent/main.py b/demos/hr_agent/main.py index e1c4bbe3..1abd34dd 100644 --- a/demos/hr_agent/main.py +++ b/demos/hr_agent/main.py @@ -11,14 +11,9 @@ from typing import List, Optional, Tuple from slack_sdk import WebClient from slack_sdk.errors import SlackApiError from openai import OpenAI -from common import create_gradio_app app = FastAPI() workforce_data_df = None -demo_description = """This demo showcases how the **Arch** can be used to build an -HR agent to manage workforce-related inquiries, workforce planning, and communication via Slack. -It intelligently routes incoming prompts to the correct targets, providing concise and useful responses -tailored for HR and workforce decision-making. """ with open("workforce_data.json") as file: workforce_data = json.load(file) @@ -95,15 +90,5 @@ def get_workforce(request: WorkforceRequest): return response -CHAT_COMPLETION_ENDPOINT = os.getenv("CHAT_COMPLETION_ENDPOINT") -client = OpenAI( - api_key="--", - base_url=CHAT_COMPLETION_ENDPOINT, -) - -gr.mount_gradio_app( - app, create_gradio_app(demo_description, client), path="/agent/chat" -) - if __name__ == "__main__": app.run(debug=True) diff --git a/demos/hr_agent/test_data.yaml b/demos/hr_agent/test_data.yaml new file mode 100644 index 00000000..684cecf2 --- /dev/null +++ b/demos/hr_agent/test_data.yaml @@ -0,0 +1,14 @@ +test_cases: + - id: get workforce data + input: + messages: + - role: user + content: what is workforce data for asia for fte employees + expected_tools: + - type: function + function: + name: workforce + arguments: + staffing_type: fte + region: asia + expected_output_contains: asia diff --git a/demos/insurance_agent/arch_config.yaml b/demos/insurance_agent/arch_config.yaml index 607c988a..ce8a0088 100644 --- a/demos/insurance_agent/arch_config.yaml +++ b/demos/insurance_agent/arch_config.yaml @@ -34,7 +34,7 @@ prompt_targets: default: true - name: get_policy_coverage - description: Retrieve the coverage details for a given policy type (car, boat, house, motorcycle). + description: Retrieve the coverage details for an insurance policy. endpoint: name: app_server path: /policy/coverage @@ -42,7 +42,7 @@ prompt_targets: parameters: - name: policy_type type: str - description: The type of policy, option - car, boat, house, motorcycle. + description: The type of policy default: car required: true @@ -51,11 +51,11 @@ prompt_targets: name: app_server path: /policy/initiate http_method: POST - description: Start a policy coverage for car, boat, motorcycle or house. + description: Start a policy coverage for an insurance policy parameters: - name: policy_type type: str - description: The type of policy, option - car, boat, house, motorcycle. + description: The type of policy default: car required: true - name: deductible @@ -84,11 +84,11 @@ prompt_targets: name: app_server path: /policy/deductible http_method: POST - description: Update the deductible amount for a specific policy coverage. + description: Update the deductible amount for a specific insurance policy coverage. parameters: - name: policy_id type: str - description: The id of the policy + description: The id of the insurance policy required: true - name: deductible type: float diff --git a/demos/multi_turn_rag_agent/Dockerfile b/demos/multi_turn_rag_agent/Dockerfile new file mode 100644 index 00000000..d54fa746 --- /dev/null +++ b/demos/multi_turn_rag_agent/Dockerfile @@ -0,0 +1,19 @@ +FROM python:3.12 AS base + +FROM base AS builder + +WORKDIR /src + +COPY requirements.txt /src/ +RUN pip install --prefix=/runtime --force-reinstall -r requirements.txt + +COPY . /src + +FROM python:3.12-slim AS output + +COPY --from=builder /runtime /usr/local + +COPY . /app +WORKDIR /app + +CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80", "--log-level", "info"] diff --git a/demos/multi_turn_rag_agent/README.md b/demos/multi_turn_rag_agent/README.md new file mode 100644 index 00000000..b2ec539d --- /dev/null +++ b/demos/multi_turn_rag_agent/README.md @@ -0,0 +1,22 @@ +# Multi-Turn Agentic Demo (RAG) + +This demo showcases how the **Arch** can be used to build accurate multi-turn RAG agent by just writing simple APIs. + +![Example of Multi-turn Interaction](mutli-turn-example.png) + +### Energy Source Q/A +Provides information about various energy sources and considerations. + +- **Endpoint**: `/agent/energy_source` +- **Parameters**: + - `energy_source` (`str`, **required**): A source of energy (e.g., `renewable`, `fossil`). + - `consideration` (`str`, *optional*): A specific type of consideration for an energy source (e.g., `cost`, `economic`, `technology`). + +# Starting the demo +1. Please make sure the [pre-requisites](https://github.com/katanemo/arch/?tab=readme-ov-file#prerequisites) are installed correctly +2. Start Arch + ```sh + sh run_demo.sh + ``` +3. Navigate to http://localhost:18080 +4. Ask "give me information about renewable energy sources" diff --git a/demos/multi_turn_rag_agent/arch_config.yaml b/demos/multi_turn_rag_agent/arch_config.yaml new file mode 100644 index 00000000..0faffd6d --- /dev/null +++ b/demos/multi_turn_rag_agent/arch_config.yaml @@ -0,0 +1,59 @@ +version: v0.1 + +listener: + address: 127.0.0.1 + port: 10000 + message_format: huggingface + connect_timeout: 0.005s + +endpoints: + rag_energy_source_agent: + endpoint: host.docker.internal:18083 + connect_timeout: 0.005s + +llm_providers: + - name: gpt-4o-mini + access_key: $OPENAI_API_KEY + provider: openai + model: gpt-4o-mini + default: true + +system_prompt: | + You are a helpful assistant and can offer information about energy sources. + You will get a JSON object with energy_source and consideration fields. Focus on answering the querstion using those fields. + Keep your responses to just three main points to make it easy for the reader to digest the information + +prompt_targets: + - name: get_info_for_energy_source + description: get information about an energy source + parameters: + - name: energy_source + type: str + description: a source of energy + required: true + enum: [renewable, fossil] + - name: consideration + type: str + description: a specific type of consideration for an energy source + enum: [cost, economic, technology] + endpoint: + name: rag_energy_source_agent + path: /agent/energy_source_info + http_method: POST + + - name: default_target + default: true + description: This is the default target for all unmatched prompts. + endpoint: + name: rag_energy_source_agent + path: /default_target + http_method: POST + system_prompt: | + You are a helpful assistant! Summarize the user's request and provide a helpful response. + # if it is set to false arch will send response that it received from this prompt target to the user + # if true arch will forward the response to the default LLM + auto_llm_dispatch_on_response: false + +tracing: + random_sampling: 100 + trace_arch_internal: true diff --git a/demos/multi_turn_rag_agent/docker-compose.yaml b/demos/multi_turn_rag_agent/docker-compose.yaml new file mode 100644 index 00000000..3bc8fc40 --- /dev/null +++ b/demos/multi_turn_rag_agent/docker-compose.yaml @@ -0,0 +1,24 @@ +services: + rag_energy_source_agent: + build: + context: . + dockerfile: Dockerfile + ports: + - "18083:80" + healthcheck: + test: ["CMD", "curl" ,"http://localhost:80/healthz"] + interval: 5s + retries: 20 + + chatbot_ui: + build: + context: ../shared/chatbot_ui + dockerfile: Dockerfile + ports: + - "18080:8080" + environment: + - CHAT_COMPLETION_ENDPOINT=http://host.docker.internal:10000/v1 + extra_hosts: + - "host.docker.internal:host-gateway" + volumes: + - ./arch_config.yaml:/app/arch_config.yaml diff --git a/demos/multi_turn_rag_agent/main.py b/demos/multi_turn_rag_agent/main.py new file mode 100644 index 00000000..5c129d7f --- /dev/null +++ b/demos/multi_turn_rag_agent/main.py @@ -0,0 +1,42 @@ +import os +import gradio as gr + +from fastapi import FastAPI, HTTPException +from pydantic import BaseModel +from typing import Optional +from openai import OpenAI + +app = FastAPI() + + +# Define the request model +class EnergySourceRequest(BaseModel): + energy_source: str + consideration: Optional[str] = None + + +class EnergySourceResponse(BaseModel): + energy_source: str + consideration: Optional[str] = None + + +# Post method for device summary +@app.post("/agent/energy_source_info") +def get_workforce(request: EnergySourceRequest): + """ + Endpoint to get details about energy source + """ + considertion = "You don't have any specific consideration. Feel free to talk in a more open ended fashion" + + if request.consideration is not None: + considertion = f"Add specific focus on the following consideration when you summarize the content for the energy source: {request.consideration}" + + response = { + "energy_source": request.energy_source, + "consideration": considertion, + } + return response + + +if __name__ == "__main__": + app.run(debug=True) diff --git a/demos/multi_turn_rag_agent/mutli-turn-example.png b/demos/multi_turn_rag_agent/mutli-turn-example.png new file mode 100644 index 0000000000000000000000000000000000000000..cc7322cb8f508db08dea701018e821afc917a352 GIT binary patch literal 872597 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

k%)3(y0e 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πMQiNk;B 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

_QK&0QuW^q;@?cViZmG`b+sl{&O87D=KTKAPx!J zCY386t^7+!)Y!P5(c7TqZ4IXI#|7qJBq5C72$_b`<$Q#ibZ`(q8?S3#u-}0E`!~(w z*3XgfQDXseyU8Cj;DAB}Q+}Jj9r1`0j8v!HP2GPHG}=;9Me(cp)7hi7QaNLK2F76j zeZ@&>q}j3o>^A&TJ!Y}2n8d^kDzlnJgPHvIwQ&f)maAB;0EMO3=UoJC9bnumgujd~ z8EtNrxW?GKyNV_;+<6L*d3klt@>y~CQ(pe~0BCNYDi8*SVitVY$4S}SaQvg?zwQ&9AT9zOApZv4Glds#fLe6 zU{YxAOB7_)z#TJFJJbJMZxgj;t(cTmC#jTf!Z&GwC*L{r(zdv8XN{h7A~E@s^l!P` zKs=zw3EM{Y4^*U{692*sY|En5}uNA=U9h&(dgig7&H- zWDon<%1v{iUqNIOV=(eQq@^6QCwN*GtE!Cp`?*tSq z`Lm1C+jM7`BVg&-hJVrw?2nAhZS(XxDuy6y}8<*IJ_kCi;`O-=KQS zIifB}ccN7RX0Q0_JG#gPV2+8N5qSOn=DKlIFu?7@ zrQ>9|$`<_$f=M`5_Cg~{6Xt9CBsvkR<8Bw`QJ<8HdIC?1>mH7+Tn%ZO7gFY%PmKE^ zI{`gU)jWoQ?2wLYK{q=Ua)9Y0<6-n0Ny|a0I!tQ05Jq?7n&~A+=5-Rh)d1{)@vTF0 zEQ;j8wUT|>47xu~7eC%T3mMvh%6CR?Kd=1i_CfmU@&Nz!V9vFLrR8%R#^`PtXaBo7 z_VQm~4j!0iZG!mw(WUgBkBKt|@WJu`$)k)M2tojc6*p_nnQ{3mQaaA`kyogBgtQqU zgy(~ZPhVGzrAuAQ`&TsOt-q3P22bQ;qxBa1Q>CV;g4Y2Yz4C={c zQ$n4xD|C9))4va2Q>O{PajTDi+ZAp8uyK8L&QC+P{yv?tW+zvsN}@w!iXw*VJ*8nJ z9p6hiHwMpTCi_-U{KlW(=+CZgqHo@*MyFKv?%+35oO}M`e>xgur9X=H$0wO!F_4iMf0b3vvmw{^QtO;ica_F&t>tfF)Vw) zCe!xMQNU#)u(>@B=@Rq7vLtcAw^Z*?FjJ%nd}cqi_&6rZSUlLGkYJ-zs%~-D4kk0$ z@cyt$Z>rL>bI&`Y5|B5U_gyO@`TIoM)PD#eWl|LVU*1INC^Pyg2 zM*3dvzT^GCC=lb(PuY7@$6Np5lr4VxU}ik0ZeSS#vrQmT?Y(Nk@-w#(dbzy&h?6~F zi4KLbpPKIf`ATaG=~AaZxyFq_fgbTevFSlH9UdQ5Ib3@@+A5>Vk57^m_#!g1raHm4ShqGmY2F)YOS!^Hpgl=bI93*Dm!Xh+Ul79i5 zxW>YcGF42&wN3<6LZz=yzwIa1V0;ccT5@LVsBu*h*mGt7l@3SR0lJld0cUzJ2Ht(P zmBPL@(LRMwpM&x7Kf0Dt-udGMJgk6hezy9er%VBbfl$Pd<;jk*SCwQ37TYqdKomd4 z64_%VgzQRh0$Eg%`fHffl8`D zFPu^q4C>m`4V8)bjZDF6SS@`kU#m}zo+*xxHk#+t>6_w}CKN%IiMmc;A=9fm{SpiB z>8eWCpVF?=ZBYq9l^4u`h@}Du4$k7Tq%U7`2mGxo9a2~s5~AxY@mL9e#Ql6d z_HdJ2iJITVtgCrlwtnF$gpBOlr`L4`eBln$RVoJ``R^=Y3j_>Zfu-n>SMAZb?(0X) z_WSTX5_zHyDLhumxLg~-J+I}MYgJ`)v{un+WnIAp9y(5x`zT*`xE`VO_S9S!rvnFO z2QK1C1O@jv`8CydgZc=h=jG|Zm>IfQXaYVCb&uKR=e4IzRT4l+lK-;r`7}+$!k6O^ zf6OJOf^2@1X)p}`YT6TON4lGlXWEz=dylHS87J`m7fq#6hTltjo$si0QFT9ldT9>& zPITp4EE8yB?qff&13RVHRDq}SDQ2CjOR=n$ZBWmz$;F3p_l^1TP26XM0vzA6{^0wo z<5-Sqi8Z2zbJeUL;cY?qP$#<_VoDV_HwCC{g@xvK9_;!_UNchshu1?>YaOuJFUC%7F!aD#h6_7clznL4_gR>ncE*Hr` zaHP%$hs?!jRYb$0WOEBm(=x^HWDvwsGE;SEmgJ}pQqDhD$D<78?zx*+VfW|GcQVAt zG<$j)V_ZC!LB@VSbBWfsU{yx5WGv3*#h(+8bJ?G)^pHR2b)x$webh-US#Cawi^`M) z3ZS|Ic!`gB&3AJghWxtt9-HhcM`>nA!7eSQSL`Tuu|g()F8%C}k-)PE)pTKR6UMQv z^X-Y}=G|bRVBXXos*DcvQxCT3R5q$sS?ZjPZ+n7tD@OvHVl5|a^ z%nwj`y5IBTEywarpFeK8)5=c&lvOouP*Oe=hOiL%;3C(^><2*XL-sd(=fm{t?-;{g z=>SPkowDefoV4aZGG-tpp=ayMhXy(6WEjGI+YgrK-`dlq+10vekyxqg?4ciQM;f&D z^L27+$qf%(OD)>V9lJv{&zGXOEvg!Hdmmq<&+h(}!`-E8JtxPIZI42}(A>MOKSEa<4zs}W(77*-3 z_2Wm9*{O^L9Up0O&V${sA0s^1M>tUKbH9d!anzgP!>4pPA_9Tr@F*GF;^Dhx=Ts2OG2#0|;FISA+?QTlbK>|=tXe?Z5SXNgx5vP^jQ z5Emf3W3S!w?~mJ3KK*L+ePd7^oX-L;Fp%KScej<%Gya_JLu`qSN7!+v9KFtsiIce<+tMe>?>ZIH9-0^?Nn^Anu*xKdIp zQCGDz_m$81;Y?Nx_SPT?f90W)Gm$-(9ge1NqxIrvLdG2W*k7Jcv&PL%2%{n4sW9H+ z7e8NI&~?$f5H7)Ub4N078f1^IlN=keGAU8J5LLv-4uq%95%ZPQ73oTrhLv}K-H0h{ zHHLvg!=GE6#8{pVW;JA*j>#y7gSQ|rqn0ks7{{m*O<)yVN-F+wZO~?Y1uR}St0E7n zM*Ptw2v}HIZKW1D9^VkgsN9f09Bh<6nU?kR{gFLUW=%jBl|B(;+tU_6zMN8{teSt6zjCNL*MO7%nb9$4EArZ@C_rVfdr#LFqQ1g_1iW4>|x%n|fJ zsiWxp8o1Jtz&3<`2_LnKCM!a)CPfc0JIEz(z$9ROF=TxmLp-fnC;5Z4=VBOo{+2Bz z(4>vqTUHEbAYh|n;JXG3&A`Q8cdKKt(BBljC&~DA`b;IZN9630PgTRR=*?i7K8!5uY_xo@4amGEP!X+}< zdG<1Y*$$RVHM)1DAG;?e8^F5TJFkD@>0@#ISB7OIM}Gp%vLM|MVUxU+(Si>HhYuHv zeueOE-ar%Gdlny>Ux84+BzdeaBQzZ2&h}A_Co$8)gD=oZSMl!s!wjz$zUG%%+#Pa~ zmcJhpVp3-+et(g$z8tY{R{m0;^A1c>8b~V?W%kTB^X9$9*1qE$j?e3FqtA4m8vTgs z`gYx)QnL9gU54ts#=TMFAY@_?@G`Ub^_j%I4ylCtJKN%(eKRmJD!i}PM7?xNLt0;^ z!TgI!Je`A63Ix+~PY67#PiA>GS%aFrTHs-?=UYgklk2oTo)=bx%s0=ATeLxis7h1F z;dg%nZ&6LwRlemiDdJ!UjFmvOrYSV}4WQGhCC__8h-|}3B~PV_|I!vr5QlAnII(Pd zJ(!*_kzK|L?r&J@JlpQ*oUtO5q-dYnF+egTSxESP#0Wa?~ zrVSS%7CH4Vk^&1htUQl{p74H5INw2{1mKWmbdNdLiJLP7+RicofG{d91B0a=4VBnj#6Kv?!oX#nxAPI7wUc7L< z_xKlx66aHRu7^FG#rdRUE%d}%hY#!%wqu$g#Lrw3Z1oCryxb=hE-1fhw6If=IsW@z1A5q3RfWp8_?0cyl>ku?{VNI&7Xn+(ol;wQcu)q$aEZK&T9eMqiSKH78##ToIU)+NMjl zg7I&jhlAW-AqrTj>(7ab0`%~j^#o=x%@g2E$ z4Ubo()@8bIC+}_q1B|gPB9IX+H=)dWrXj^GtdIGEYcgFU>!bEbu;!vvxudc*kbw69 z!pE}4f3<;=+E{ON8C(+%nV|mRdpN`{-m%M5xJZA7rwHAn-~T9`(Wt2L$kzFDB>FV7a1K5o@^|WqLYJ_LJTj#i=hk84R zWU*{KJds?S$A`8N6j!-cZ0G$21wz_`49h_cpQXQ)ng9{X%QGB?l5EEZrdSM5RK2X zA3r2U1R0#lURZjkMi1)Gwd$V$;^$ZcnxpDua2_V!cfjk`@Lh|kn<>6xCFWnviH!L^ zTmN4C?b}jkAy>knNPgS(k4u;GeiryyHvo)Z!QMrCBVtM;XwO|95-Yh75%N0`<^6aE z$%0QyiDbFMf#QDx)gpzi0_ffo8`lb#*LhRrP6IgqYT(RBOF*^}c>JL|^+>aaDo2z5 z3u2FfPy-$U2{uH`Q$4Hmzgl2dztq-)oor7Te&nCM@V40}G-z&fM$JmSp6?9AlxOXD zs@o%2?V`ueJN7&j7*y-XGmuFfGukW~1LK-sn4BsGGocHC-B27yLg-6xF1{|+sn4&m zS_UJHscc_dq0eBBmZo^-Jglxjt}GT?;k_9mG@&! z@R%=UKOWMz4ui=xlFUpOf2kQBLm{wm%i;Vh1(M*Aev?z69?n^anuTkgh}pXJFtOMW zFv4SfRON`rx>)Hr*Y9|GD7|&1o+4XeM$+uD*C&X1iNi%kY=Qm2D#$J`sF@HW0>6qW z?hBmH{N+#ZJN~At=M{i}SHOgZLBu>DGN+c{+_CZSP4N&db*k_-jSz`hCXMK>XUbnH z$jX4s$;PIpWJ}%Af=}_AOv&_M)vjR2#+2`~FLP4jP5DE(7_D%T&w$U__xB}&=+qwI zB#-J~1Ws~SmX8{O`3I>bO0(NNj)Wn~b|%RN1Qd~&CH8V6;^^lcr52+2l+mopMkRj- z{RKT*<(7)zt zEoQ5%?R>P=%Ts6CsH?bVD`N7{(%8g`$h!BK&cita@~X#js%1oJ6HZFLOiZUy*Vet# zp$v%cc8z!xqqvWSJh&U%$j>DdIs)@>iD0O^~df=-bk(EVU_BBH4H z+klrVTGfAGDBz4a)<3eniN0RkHQG369)4f zzXB^12UZZ>G2E9Uq={10YYRb>bu5xi=dYBBUX8B=U3lL00B`wTER6<(+_Xpqy4z{UO88qwcs_m?jRNDl_gDq(w&?V*@Q@G4onsi1+FVjdva$yNOHUWq3!y8d8nNCedpumN&9p-5_D#p5(`jP7rnOc98&f66%6R+v)x-x*=2R{fQ+wezPr^5m0;>SM!rkJxco_W8UQr5 z*gGH<&8NU7-F3LV!o3h?b%9~= zxM8rSb0u$$m^?G~5&9}sy@iEpxVcxfr(zTPV=i5>1db(oF9c}|iE3fr-*zKz|FxE0X)bGAt{uEV^LqU8W zhTkXQzO(+p(8*&RsWd7`YV1G6D=z+Gg`8R?mb-}YtzNN7f%C6gHNI^c4Ptrd+iOsE ze}<24I%aIJcf3PbZB4L)_B@3g!6bg4nf;tjUih))q4@SsdE5leUAC_&aEOA!Tmx}| zI()ayY)xo?&t%tQA*lIv?#te~<81?{`69cM)n0E9Y_l@$C@n0L@8dGf@)hCYBAh*1 zGbCP*7v>3s*t}9z4UY}C!*o4d=eJMmdZ2)PbVr>{mT%G1-yw^Z($vTpKNoD4@)1;+ zZ$Pxwzx)tFe1upaZ*@wQ%!YG8#0uAbn=5xnkXt%{8IW6@Su=(`Gl^Dt3K$ouUKAG7 z`;q+4mda{iT5?>!9SxhjA|b-6I151A!|7m?xvo<9IOab6HVI;piF>9fu`o?GiADd! zNDw_1%aL-EWB`toHyx>4N;D(vX5(4ue~47L4|HACcG zXxZ?CTi_JP5F=%na%P0d*BC~!l%T(o#dPZBscz)%QftFY(YB)%Wj;TA4&g%SVSGBF zg5f6y8|A3iH+$55u+C9mw|7@dN`c2RF;S(ZzuSmFnCz~$U!>Ftu1+!tT^)K@4+5$hH6sWvZoZ%VDdekr-yBt>5+XA;+qZoq0LI8NFUfFy(j~R+KHJ z6Ge1?bOM_Nu@X2Xdd1;0&D&V0T^7Fwv9u+FK<;l?JhY;l*$4R9aQfNo2#d+EHQJib zrL#I3)n1n|O7z2}1U`l@@mSA&yYw6zx>|F!EXR`e0iJ$DI`LAItuAnABf9f;1U8`M z&>>>?gJ4gQo~o5}U64v1crHIXV#Q)xQlxm_-rk;VDS8ce~4SR54 zY$fr5F?NnkK@FN{!-_9RzbyDMB$hRfu+3Jc(*B1HG)uAFr1YOrN>jIdQwpE`h#;G& z{v!#D;1dAP@6OEAtij3s>p}TRzwUFl#G2J*l7AS{P4n&?OI*XLMMlwi=lkX-P=53_ z#%eRU3^ixB&E-6!YUi?c#kWF6Jir)QCDmcZ2!>zC2SZTtztA?X=gJH~7xUu$oFLcHZ76g1-j&!b zvlwIf)c5k2!{GD8y1;Fb-xlFlhy49z;SdgCQy@2L70VEvA@+TF-UKiW$V-iSM(Ee)@;v;(9k$w=c-daH-n;#0o zA#GGszVoCXa;QQeQM6*J_#!=zXMzX{r+rovb6hi0Ns(<2^$0HtRXh09C&?ei=}@;; zHNDm%6yBan^MHlzAMRYGLsSc$tO@uroLk17-mQ8U2m92yz9OUA18#g7_xbs?HF@HPBK9X?_nU$ktTJt#5N{FUhuNJWGSwE9V-hz{oVVbGW>^r0;^9#7F7rbyF ztXw!}u);T%y`coPCws@^b+kkLf~znZ^3NI1)q&Bmhlw|6*?-B@ zuqBt$YooU?)F*-I+~Mw8?7-*O&vIt-1PR-?NDLaKRl0HIp$qL82J-bI1I#+JAFg{G z0E*6TzNxuJv+W6VAuFJhJeA&qx-5m+p6-F|WVz!rwpw>oern%B2_tHQRF!MkoK}{e z(Ok5(yEeKd?h3SQ!-C@$R{nSB1z&PXyqoj>DvT|M?QeT-Pa!;*eGA6gW*=dWLnti( zG<%$y1;LX#*`~nK4P7xAJk;BMl$>rJnP4`d5|sZq0AYau`r`YM@r=&3OK`nRmAZWRh*0yq*jn+4kjKCZfHG0CKY!F(Y_Z27|^p z267*r9SroAM=6f$i((|US2Vq>!(|G#k+gyku)eai?ui?(V>BIo1A~D?Fp0>cURu~t zt1qFlUR0QnsCw};-;3xElU0i5WUhd^;R!^w3*ad4>LfR(yp>#0g}@LE5aI*CFOT$zvkIBImxFH1Jj(D{5%;N>`F90KJ5Ixz zbDb96SwASRF|KeeBkANJUF)E8-qIXhpeBova#HqWyMpc@1|BJD=jH>Ee`-TNc z=@2$jn+BzkF4=Uagmi-v(%nc%!v;i3Nm~?$9<)6NWf!ly52)moPl04~xA0j6T= z4{`DzqNz0H9xVL@-I#)`u42|&$ABXYhPNF*kw%G!M7LQ%?u0FY9%?sJh(eD>Bl0TP z@>kSQAd+ec&1V3|g;lw#OfmWQ`VkrclZhV-}%c5fZwKVhsuYga11hrd&L|`ZA9a@d(%xo_`d=H?uYUu`#+O7!w z1Z{>*483r;x&&>;WrL7M8qBhJaBIE6*U6kxJZ8asOP%m88#d>_A`IF zsRO>`<8(DHvGFHF{h@`&N45CPm)-sFVcs3*NoRhDAm9Da6o!?9Q2>WWi^ALP4!g6p zuHXD_(w!xpolXxtOmeA?r;ARH*QyB*MVb8D>w$dK;Yuy}&U z-DOIa;0|I|4-b_;enGsnr+IKPzZw%j76K)hqg51&24ozDa_`dOYMO1)447>VBVw%mMuNBe?Pxom|@1PUyY&E)XOJiAdNfGbc8 z@+nmeSu0_tb$dRh{1J@Vw5R7AT1aYChwsmnq?T*cp6VnLr4HdxA>vL7^an%6!g$WL zQ>xuyR6SNH^L88~3)UxjxLYOAWI{p>;0Y;55SJZJy;p&vHCdkNmOzR{041X7D0-6@ zP@S%}a^o2~vY-bI%c!)$CzA{ZJ%8=5`=2aGotlwga8v?7h|)|hoowd0nkx=gAh0$}T)_dr#5G>Na24PF&Pt0AM)PRfDpjx7;izqa9 z|BJkJc%0gHZ7`c03?0|DC^B1?rKI&7gWe=xPAJkPmmpqPFNX|L z4@op1wiTDdQV!93HQGCT4nVOSWozJM{8~WO6=?-rr;D(L_wi8M%iEYiC*86n-fi-qHWI7GQWsm@c04WccUsN)Z4@<9~L>G}PInHGU z9GTLnUiUYi?x;qG6V3{?9Q=Ut%9*NdV3W9_>+h&>cxD@V+xiB|CLG$pn4Dq>^B=kW zBvV+fZJMp_7L~-zqrXJe<4192ruZI4Ita>-=hSvXa+F>>=yaSNjA(wf#V~Q0T{xEK z){Csl%S>ONodj>I{ze4CLXfEnNu;fTPTVt=){MiOK7Z4^q6Br^>2d&u7m!7)+E zt>QwoqVoj)Av?T?aMTX#5VX^Y7v$Tbo66Cj0jZ&K1($5GV)5t9kk?pV_EK{^UK2TC z^3Mg^aJx*8TucUw*$keadMb9m&_*1P5fI%G@$cMggbJQEl@Sl-hsa))em>upIc_@V z0jc_7u_FR0Pw4V7>!HafoMCYbzIYWNlai5xvH+@>;f9m#<|U6|l0&&J0Y89<&?J){ z`e1!YhuqVr^iMyCrR0LKXPgX3NI(J@ryoF6(?o9V9wbXsQ`eJ1hJa@;|`*@9msH0 zwZ9svd75{-qSe6?shj>LxTka@f(OlL9({? zUo4W_|4890Brz%{R?CP_aJ^~|Ms-z!rT>Vk1S32obCo2#eI`F4loh6I-=|T1Byxr% zzdN5>_PzK`9U$O41(Lq`-(`YV*ahE1kTDC)VSm~RAbg#hPsJtZpW}L9&RxmQNWfVG zm)=K~oQpUq8Hhbxxmxkucacv_hT2|^4l!k0r5UdesU_0WI}XyM<-4pCQsTGAOU?1L z$155LvmPE}f&=*cy;YZT)Zc~r>jicNF+D~VL$(|g3ci1k18uZR5`pcX7~mp-QU}Ss zB%rFbAX0$jfW~=vESs=W+03=m7`G3(emA-cl#0O*@|Gsc6dO?1s0kJKmfG0Q={JS9hm*gxw;1u{pY&*^@k zLR6KmHq+o%g0JtmoxYcwi z$q`NO+Cz*-?MFFTs}fT?eNf&qvK>k3aXGJY$xx26gZ5ximU0aZ5!AOmF?poNW#Y?A zHwJDrW-EV4DVNd57ouhc9bdOjPaa^+Oaf`j@q>tjflZ8K*6eXM?q+|##6IzhidVdD zZ&(mX$^8%^IucGhL=-{5WVA}R_ z1&>bfNTb#N<~fSsC5j|hm0YH2)6WNhJKR)DE+StqYc$+18HWA%`!oyp6sIICvIay! zQ*rf>jbt5Tmo5@4%p%8grTUWVF0ZV$=tnbLQcxq;n#>azGjMv&4|0%kfZ{^mw}%F1 z(c~iPl z%j~>knkB>`keNk5kVDQ$*wv^vZ4i;}oEANb{twyCp_PW_t~A9VVz+!q<%@p&vt;~x z_GOwJIZ~|(=|Gm(qO*vCJbfmm2Wu#gJlY=vj7NCa!llAppEtzbqNTl<{CY|+MZPA* zAIR^tx?*@eR5YIU5FAHX@Q}J zJhP8tJ5&<;u5v|B38v?S2zCI!6AV(JkHcRpQ0TPD^y-#cI8X9dfx?G*SxbZdN~LUi zkaa&PZGY$gtA@1crajq(2#8Jywo-%$BE;=KoM9N%FpOF(6C$uz$-BD8Q~8%BlnwJH zw{$pKrgrOWyFGJ%-CMynv3e`0-o-Q8r`azK$9e95c#(DR+xXkI&ir5vKrXlqASEby zZWTx<#2#jHk7Ws(6DP9L&Iv9sen5a24v`dJfGw|K=)tG8`2~FY#9vC`UprI*YBcY78HHO}a z#90%`uydLZVCH=DK7GQap_71VYws5(t_N)RoN2;dBv+UXB`kF9-E`-e>cnz!$9*1eer^AiSKPA$6Z9<(lqSWHk% z6)LE_=wxGmU;cpLMuw@sv*zlm>Z7C$WFtA0@x1dJq&;9W9 zKUiA);!|Fqo3NQ>_8MblfCyJoe5Vw-0f%rG^Cz9q`h65G<~G|zRqVs-4Wr87+3>ON z_xxHA-Ox7^V-0B68FMF@<7VF>`TJ9Wkm&OE7OiYA_N}+LGGSELC^|qX) zI^kUi@42G%sQJwo*-lht(FeEvg1$ZeUF*m>ZMzGouh<%K{?4mt7X!6M-@q4F>~nmq z&4#Hd-HCVjB=H9|ysl5Y(flIkD8+o$bn+#AKON&}cX3kB@eS;Q5s5ddvkA~cde49K z8bg6o=J#e@e08~Dqs>*&I5qF<8b*NgadTr3+1;pHreZd`o(DFD=_br92y*V$S? zB`M+j<7*`gtSRXzLWVtJ`PC1eujdPQqrI`$azg#P-@YG^41O{CWZt%K<0iiX1Y33S z_>@w_hHwM2IrEU(f|v8zqswd`BUt1W==LW2FWV>U^hsu_S=W&D5YA9xF>L>CRH?bSL0v54Bb??wUB z7aIWsGM1?4Hl+M>Z=1K%eJ^sy-^%+1VWO}L@nvM8YHq*nh)|!Yd-42JYMb5N?Zbw* zXog6bm9AUP_Turqo?hJAp9ZZ4J`|u(tUj)N^4xmn!{rK*US13iwHQp^;DmNJ{5Hx7 z2k_Az@?6p%Q2`)X_AqJiq1&WkUcM-mIy^y)xC%?Dh@+f_R4_;l8GQyXln&*2l!$;h z?nSOB@DMa|MVm#|8M`Is;Ge<2{J4u18P4<@v|Ya8jO}Z7{ei+avqx?=`LC!~^gQ7}NKcp%dYS|lE>9sLFK94=T?TeUb zdis0@IK<}@&!K0o;TR(gFOUpqc<_A?w2#lfvONpc0EJTx#U>xJv$Tu~gr<9%~Gk?auC<2de^cVS1_JlPz*Y+=1+qCL^g7wWFZK zcX-4x4DhN48GarA6a86{#ZW%{(SxzPS!qLw27OUlz_5shOacBRs>MMR2jf%0;DoP$ z76KQ6?nRUFbhI7jtfQNs08zo>Bn8Gad?^U7A{e8FsnI%VQ<|Na|LBz}%k*qDsmI`} zlC+5??>=L0-Spw4Ffl<7Y4$na3QgHf&`s-=;?Qb~#|-Lxq=4OUkI)N!v~Ni`fWR}y z@rsOP|Ah7kgC+tGn>WKR7^yp6ZJn~z$_mztLTrwev;d|>oOKg#F(V}#n(CC(XA7cZ zuFo%iT&3j?fq_q-v)W3fO>y9F9wIBoGDsiipY(VIWb^m%*Y!?V#G3nc` z_!k$q*Dl$JLq`S_z0Oy~8Vt=ULPjvmCQn?75AZ-d=LZQ>RcpV*@+7t|Xd!3|-aBku z8Fs@bMZ!J2(PWUvT#vpbd3R5}0QW{$+u81SBb|zLamXfcWX+SoW4uIAYXn_(`j`Ns zT4Jj&QYc|nge-EHtOeQ;DxHDBoHVZWlX%kTIebPFdBFjCwrBba>e-Ojy2;qu_%=OZ zX#)x32PGN>RZm_;xBq~T_>K+&sI10AS}(eN$ekQk+NXgULD0&3NC(|t`-7E*x^sPz zhf>n2)x{aA)&k`DY@XN&hju@43r%>$T1-A#;4tUzoMac0@@Wlvb3c#5sj1i5ZJ7eJ%3R~tT7bCcxZioBtYeRMf`n8I^W|3@Xo0;qjBnFID0nMt|D`AfdEiRvD&v zkE2@4er+ZmDuoW~653jweD;HUq&vXTkd2%JH^Mv`L7sp&svm6rkV1+S$?ORwiuPy9 z?HK$3(7cy2{C-4gh&ps3Yl4kyrlI}^k6Mf#@fX$X!|o@l%JF$H%lIbxf-jzfBrcd- z0IHc$8RGG%qa$BFDHQu-&XLNk?N1q%k?@o3QiY97$OB0N1rue%su-HfSbxGHT28FT zZJYYp;e=J^eb0))^Qi&_qxlFWf&-&=8^5JCe;O;r;)T^=&)P_-?o6-GJC*NRK5|HZqp&QTu=ViK^VpL%C49fRx;yeD z>S7@aazNFAZ46Q-W8~h1K7!j1e@Yz}4z8-RbqPjcJCVT+HQLMEuia@p@#kL7O~{QRA^#P_x0`j<|A2}9Mxu*tqe5!+~cQR;)!A=H;1>Zw*4j|6+okVuYR z!}sv-a=c)-*=>F zJ1Arihrz7mGtnzYiet(=aU&5cRN*l0g-%4dM9AefWv7LJfys5P=OJO{QX)whdae17 zw~7xm2bbF0;uEV34=s@+kf>E5+5_eo7`X5tOhL2&#vc1w&^N(UHHhYh5OVgc;EdJU zleaGaNGAzHTet(bk79|a%e5OwV13bI z-i^!KU``J_gua^nLXgvuboBrs)UB&XK=Kkg-OCZ<#N~84N6X3Y^&t67O5x%aexK`flecNrf8k~7*hneAv6q> zeUG9ts)Ii!kAB91sm;4;x^yBvWGETr@;;zg3(ja-OVL&kIvPAdu7B~|#ft3IW<~;} zshjYfamBD}0!}I>M)pxY#hZ`yo7q6B$Ce!3hp0Y|;IU{}A>~5+LSOFTmfXJV}i zIU=JLq`M{7bQVtTJJ1!#zkc z^JlahU5XK9ePRhbjM`SbAy$q|}4lfDWABjYyhgSs1pChPEg>42<9{Mn=FFsz3>`ul+dM=I3n zc{04G?98vmCnm?q!@Q0j$fMa>Am98D-ft?*${H8HECN`U+cUeBLwTc3x`P49je82Q ze{-)NV7g{s0mHthnw!s>5^jWd9`D^O7@Gw^gjSVpZ;8Vji%c^E8 zC6kQ9U;JYX0ZGK@Gg46`{I3o1(XU&t9AaztMSa}g%;seci+j$Egr_%r7DuLQdI}9O zApBgPI23SmT8Oyg*~;S>uf}h_$f@ABM$tePF(#kLMqtsJ9w9iS zv#_4Z+;agQSGg2)$;vJ*OE#XPS)f*B3q5(h=@lSan4e#SPV4trs2yb+Pf$`dsMBku z9ZO!;{|D-J;L(e6vWtRWlI0(+0V!M6jS4|yOVn24y!L*k`-lob-~82MU##7vss;V% z(X^Qa`qVc7rzO8Lg8|9spAnOPXIMLtSTlCM%_OJ}*Gy3-0vXd%}Gl*^X;P+?Mf`x=kFuZ379g!WN z1VY)dVjB~(B177~tno-CSRB#n95RkR^tj&3IpLS`^AzJw>3RdGT=#ksn~?KS#Z|Wq z#P0q9)O)`fuZCUMbF}GuBSy5xh?U-EScW=#pVFt;c3^&r7%ARl<1|SP*&4I{!cK>? z&{+?6rO9gA|9xNO_f5KLDw$PQcOe4z zCG~Z#;GbuFfWGIyn&r(bpSSdMS+{3HW3`Y5e!_C>YBDo7Lld&G=&@e~j0N6SQU8Mg z`HGQG+txNms8H-FbrjPJaBrLdt<9rH%b_$A%#^5<_*c~=aV>M0C&#Sw&tRso1)+cK zlSQQ`b9C&j%|r3HYfED0nrIE}TZG-@9|pM8Ez&tKAlRr7H!pV2+%3OBU#2_A54{ls zpeix{@rS+&XIsyYN0!)%8IHkRL749Km^7A9W5^^+2uqz;Vbl%*+cTLNHGvQH2)vN~ zazo){3-iY(-#17SBFlVkLrBHnu4W>zB<<*fM2^|9@mW~ntz}WVe>D8y*P?{LBClNn z1@sq9icp!NUwJZBZcjxO@Qb6-X|K}K#ls-_TvG>P9JOScTBObSA}5WmHWDKH7Go5 zb88^zf%nzw<=&rZ7gsDc?IT>sL4CRBIX(FS@8ed#*TA0S;O8clf$@=dnJV@wB;SU~ zGyJPJd35kjL`{3rk>pY!PMD4b9(J>CJj=qbZ42!5c%4!qMh>8ssS}1*gpRzwLdBh! zHHS{D?H`X8Mmr<8ODRaB+N1l{A6(i&NHoDBA(;Ce5Mqkd^Loq94;xSVoA>zyj(e-y zhtjQW!y$LdJ^&>=o9y;yN&;sekty`R1ADjqw8O^>?-DHyK_p3Wf&Q$H(&WPUx4RA$ka>t|cEtB-n|2DE<6JMk48vO6IU*Xp;O4@)oToq$)u)uSDrq zez7bspk@!Cxjt`^dEs?oHcMSEdD8{-u+a}zn#*Q_TEt$F@vc3)NBAPi%w`^Ckx8^} zH@}Zqh+XY7?3@e{XFc+8$*qgb`u)K0T}A@hvz6R{_6UE-^crPT_H~ZOrhYv636Bu8 z9tV01i7r&Rd4)5Tfk`yC-n2%i9HDW7OE2WMnJk^>15Mp(wN-qFmHq4j?~izl((oQs zxap`(bd+Y^M9{V0U204wrO6NPB0sj+xWXWTzES?FgE?hwJ^GaZ9fu`REiv|Fr| z2O3;rEh*j{Rihd8C(GmHQe!~7V*48~m}aR=r26bYK3C?4dJ%Z?8Rz5mhf5Tu)TOtg zB(_8g&WRgu+fCjZKskCy>@zEAA?Y56zOTP)9wLiJ3}O;7Vvf9&>Gi+VCJ7t1lEc$L ztqS+8lFO3}cYmtbl!X7tT$6wNTOI4V&=6`r>psH&tuQ0|ey(2wcl>t3fGD!Sl2@a? zU4FELEzzd#rOJXMGNj&n%5bU!5>!7mD>7ktg$Ew$(DGhPbXLa!@9vkSDqN z4auduVHWsyOEAm7zOeP`1`5id76Xdf3CfDhLBTlx71Tmuf$en+a2QR}Aur>LYxJLg z=;7S{)iH<0(rt>&m7=PE0e!8L)AMx>!Y_7V(d12R=wq)bnhJ%RCMNfJQkt509rbpP z+hm%q@WEoG+VB;eoSe2FaCA|iUHb}7}xE!)xmslwqRRr4s7 z=(rMeaXsJR=x{`o8}4I%pO|a$3+PMfoOc~T%Zde1=f^L!5gpE!aHa@xk?Sd3(jQ{* zZuHetFK_a3|WWRR_%%jwD00bM zoK||EOWX*BH3#m6!X@zaTwK3)0!T)c!>tOQmT1{FmYP}ilh+!6LZPhd`+m#bHfsDu z-P8v`Oh8^=%b)q`)w_kkd7I9=qd)(YFs?}7vAOg6%KI=H(Q;>Rz1v^cWk$_iWL#!& zZ`yA*BL+=z))I?1 z{Ui;UkS_mAtxE$D#VH{|VanO)N?vOR4iEQb>#<%DWFTkXl=VgzFcEFVJ$7K!`%}N> zf9&JTFQk?oP4SWA4F>S&!nVYvm?N18d{wC~o=cQ(>QLh$##~a=xc_Fv582NOWTdi@ z!l>VpZ7H(l5VM&5*R%+k;A^M`lq%u6DpZ5sX1abl2rL_S9Bo4kPoRM6!=ng$&`YG$*q%=sfsEQ@*?NzW_s zm+{zo#8UWa;q)rC_zH=5^G7PRPgHhtq-5x+VZX0JF1F`W_TuRYmvV@Y1kdG1ANhn4 zs(WTn3k{ufH?Cz;`(Jhb({d#Vf`ZLOj3S334%Qb*m+y5gw9Sh^Rs5!O&phCKe%EsU zZ{Kv{Uhzka4eEh=+D(CSI^RWIr^!l>mw_ki%ObVG!tLA%;q9;OG=c3 zVnX{(xv=LGPEYt9@;CM}o=&|zTeHsg%P~^OSVLivU-G4BsuUP2w)*u^W$d%^sA$}Q zR{PJC)edOj>H{n(05PSXt#bS=EzuO|k}J^tzPg|vIA0>cWZ9eiq|aTb#+=6Ti=vY97!1^U$=$7MnH*JdlOx9Kjj1P? z^33vfyGg$LCta$kYAc}O8NsmF&zgfM!MHO07m@d0G_n^@?vE;3qLMM#o1b&42&yrW zMC`!~$s#v#l11+bnL)aWWlNKfY!KrDn0#a)5Ha4vqODwVU#ptbfQO+_2FL6fv4Ca& zo$*shm?3u7I0p(%$tKt{_vn)8mCRYi-A+*I z@Hv;h#SZaV0+T`VffEBg7oy8;|006=IC{VEsny+;A8`sz zxwU_(q5H_PrS9|168;PqUAXYKH{FHJX)!u~Qaq+HJ}dYAvn{6s!C9`t%>_SVGyO(s z-*V$~+Na3R6H6^xVfX$3 zzC!q~6c0vmg6tePfB|vQn{woIq$#RbA*Y;^9Yxx7(e+ZNMiKrYQ((tEtN5=4vb~S^ zuavlbItdlhr2D%5X$0Quq5T^|z>55x8m#$^4hF-ZR4`P5AtByK68eq_{>eF-TI;p% zxt`9gJRLU-6OH);v@b#}Q5H_WBIvb1sKEaB`Wux(vF?=PKN(HWBV>TxfAo5f2mBIp zKa>C8)**ftA3PO14Sec|J$cfJ_FOGkjnJ45+~7og6gl*Gwo6{el+L{#6NCz4zT6j; z_OtGyMPF@3TzD>|E=RyRi;10;|MUFZF!24!XozoH7~nt5&G-KcRQ8`2Bni^QxqroO zOon+Ll^z=EZVQaOakl*f25x#l!m28`(TB0u`2d$qXA>i>1?1A( zIT1^6S+EFt6=vY^;Dtu*U$(KcoZ-#ll0qWD2oKs)Ou(JHkCZb}u*X zPB3UEaj8!MSQh4BW+mJ>K%j60Zy7o-k|P!vLahlSr(qO$JeGb5l0(zhRX9XO1?3h zVzwY z>b98DjsJPV>u2}RzQYN2%Ffg@(?6-_KYI)*>V<#^DE z4Gyv!vqyuZ%KNV=7LD8(%Z-kuxoy3MOpfNAE#8RZtP2u(c=&ttH|{-4Nh`7y+a*)5 zh031?b3vDLQ??sY_UMrKy%s`CMI5ufW&d;31pbxdx}p5?eDJSGsZU1jHYi&6{}L)c z-uw{tA4NCqTNN(t2|!DXBj9%TlEg1wx)?ai*;_lL%p#7DeJg^J6y~K;vD}j1K98$f zkrr|E(|3Xg*bbYvQyd|dagi|@ydr$UEq9uIf1stIU{5SDP-;{N4vHtniL{)=rHNdO z(rN-Vve=>~=de+S!r8vHIb1Su3Hp zqs}BAn#jb?g{=p_Y*HMcAPHs`2T<*sQnhWL6FvSf9la&i?9vjY*1s4Q>^*az6_ z92J0&8{%lWbq*5pRlE6ydBKg0>dei}>MFQQJ|2J_Xmr53(Yw8lNrVa%441S@v?m0? zPz)w3BB8_YaQ#!S%A#1aXjo7s1kFu#Sl_PdUwaq2K?iQZ(#eGTOl7|KI)B=-O^G|U zu9Q)9^zbv;-sNG-keDL@MtER?U$vX`~BSF`9k zYruD{%R`^l#k?$YO2qmlW7XwcBwLK~Jng~ai+>-*(OdYdr!s4_wSv7<)~`Y2v6M-rl6T~pP)fu zru)Z$U}QdEP%{Yh@z;FIX;qegyt_UJk{>(3=vLBy!|gq(_>kc70FNpI^W8*M;9ZVn zxa%^xn>AzD-D^hYzx}tDZ(6JEXSIK=p^_RvquN!5v|{xh{Jq-mB|QJ23E;^arPUg< zC=JKJfJsG6?*{0y-YOMX(ny<&d76vH?+IZtl#xO_$6tc{&D~G7GJ2$(!ugi zA??Ce&Z+QN+lp5x+~NPeIP)QX_F}5IIUO?oUK(}Z=*&lD|Au&wH_FvD%@QQ54ykRw z9#T76CF>;>dILv&7|1gyV95AjmS^s0FQUE^2t=td@w>i~sUPqGqk5&!kgu!7L==l6 zsS`sX=y-y%vDbMaF>*`>@a&B^D$!gtT*m2Xf)sYc?%TiSQPtk3uYQr|6PB3ivFVh(Vrb&rcvq zj62(3`ON?zfHDA_ORztsEI!hwN=Yf@jUJFzEVYECob0jjPRRFWFl+eY0h)& zK?CbQQ~YkF9@CboLPnB#4DeWE1xU%t$m7S!#@+b~kNcvj(eeD{an?PDY8(SnT`txN zyWD#=3)lK}1OWPSq|*Vy#Z@FND=Ulr`e}}<6vlv0h9XB*)QyY?zm%z{5e5Rg_~u@ul|}NemU9FR zxF9tH)d&x{_%4BXOLTBu@v#pDrmFc0ts7%job1v3>Og^9ZIjEYY-FnUHkksxf>|^_ zCV6gns={4vyXs}nz8xK0PXE!C>a1Tf1Kd|Y>M}_GZX-LOxC1Rj92vPo;f?mXsmKwb zf|3l_E_6dm+OW`elpxG!QoZ0tT!OQ1m2(3!*Fy}U_4&s0FGxXun;x32ZkLevz83b- zkTx>%zi=Z9yxyI29XqWO`eT;+I*=lb&pwQhd%n?Q^f=%1JPfBb3Vl!q_Q?Ks5KcmG zHUD^-Px087moEDZcODTR@WihNrfY0n+Fb11)G8J%RbVhln)stPGx4SzO`KBwqdAh~ zZWD|&M_f)T#NkINY~&krPTg!DD?Ao1_qiBDE>Uzv$|6em+%~K=gf`NP)niW*!uQbIx)P$wUZ@FZ6n+Ghu6u7wHxO~ z9KEsJ`ASrYAh4v$e#4l*a6P;K?@XoSKIJdz`F=y;mwBJ9EEk_yXk!*IDEd3g#8KtV zn(*3RiWlC?9S-Y)3Pd`k^+lM{$LD%oD-4z*-ac)*aa`+-`z<@ZH>a+K^}v#aa@>W! zpQB#_FE>35my!`{jL>cQG1gD-lTG%hYBRb)OLrm#R$_9{U1n8C=XkagW!s{V>P{Lh z;oy5ZK}?gLA~Z+tAz`}B2{P;22HJ%Lk>%8!SF32INoZ(a1H zE|OM!=iMeRNqLduz{9J`fx_8OcfA9ShU2Y%`X`2;FIBqnF>+PC+m7}|abecPE;~8D z17gliN59qDOyx}NqkvOlHBb`S4D&4XI<`Wx>|+y$9^Y$}ej8Ee_w+Hps%)oyD+1PN zON#*>|42vt6Vo+Hg2B;t3^r!L(qF1f^Olb%d7;XEJB=T#OF(sA+dtuujcwOamBZiIvF9r7tq9hJT z*MW`q`Fz~CWUxN~Szm4u5`(N6oA$E06OP^{W3_3}2afeDZ3d~LxW*q~d^s@vE z$p?M+#52U3Mr<4Z@yDNm%)8sGTDx*1O?-u)VKLeovB&WMKPJWSjkz1Bw90({0W-%F+(iYJLN(C4vxQ5PZOoy{OjUwrfE`# ztZn7E(4@D4Jm3TphtgSl>C1IM{_zwy_aUiVeupw`J@~*BtH)_|A;o^zpV;}-UC+kj zWgDLwE5cl?iz2jIQXr~JX_$^}vXxT25TGgreg9%GoB>sysGO@i3_U##vP{b?%c#9N6O?J#4+TCa|D^MpkBs1{g|4|a0mW&jM1AIK5H^1x5uH@h9 z+9i-bj3PaFZRzB$q$Gc+!44;nGCj`t3EE7cy@M~$bLQIn8H(H|t8}=$;PGzi3Of`; zMegZ(7p$C)6gO(W=SH<e;p-(6o>CoHTIxhR=6+8zhVX2(!f^*+I8SUUf%kZAVn7n%N5; zo8gj%k1bmvcyUPrSPvw6aNx1E#*9Lhszo7nZ+ zCVZ}v8lH73pI<-@b$Pj?!(w}UYp`x{F!|>8+51#25civ`JKw)t$vFv%cfaT`-$d&T zzzKMmA?y*f62f8BpTgf~Qr6(DZkeLCGC&_4u;_Q*OsE{M3c!bwBfKc9rscD$|0*-z zez|W%#90M&CCbOzRc&vM_jYmoibUDHkGgKrQJ*zrkV_zjTwq(t8&j z92pnRzu#xq8m*2N?TLPIEEXP}gx=S#$FQ(F$la%!f3AsH08{CXr98ndSS<@#rGaC! z%eXhyTh!WpR*6u}%!qi$Zz6S*uqbCS0N`xdhZ%S}Epg(v<7u3xx$J6>q?y(Ej_~)q z_R^QiRF9reFr(YQJ4+!;<9F+*=WiU+uzc1DjL8+p%G7dlvzFV*WHKz_MxUYwFz1}> z?I#)FGW`^5*{*d>c_MbnID%3a)3!@F;Z(ohxi7Ho4_rwu56%U%L4iRjL86+%zMe~* z>L{P{JEI6K^dk`q4sKOF?nJy5a>Ee2&{1B&7&S8{Y>`grJ}nJ=xWt4=VZ(c;&6nTV zU!JU-K`Uw;a>Dk4<_GSx2^s;r3@drb0Iu{0MEn7)#0fQ9Wb z2{eD+I|25gHD>;rUzW(bBQ9G$yy3D6znww0bav*8EM9?8mON$mx?imP*(w};rgvLGlxiPgMn09~Hc@Qex zMT|+p{{$ybGKt7g7dm)#<8Wmi>$pxkc`;`a!{l95tn(~~#TV@V{K(271_bm>^^1%} zgwn_IXQ_pZkdrbnyBz$G@N-RV?C&Sx=_{T(dF^;|;LzR+h$7KajU zJ%L3YC(hJ-?`(YuJ)hgX3&WbOQ>-PhWAvFbe!`U_C4{d)#OPZS)yZRuL%aV&(^>e_{r~TOHs*+NFx_!5J!aE+42S7B zx@V@FsX4m4rcDmhIX!J-a>jHs-TiyMKi}K$58&oFuh%oK>w4TTF7-mi4)aVb2dAUg zf4;bvc$g$6ah5N;>k);F1grQtsKl@F)`ZQ z6ns$3N4W8zA;^*I+dtltbH1KZ&nCOp2ubq&O^{93RruvbIt#r=HqCTzn8 zyZC><(ERh_&`P=tVpL^XVD~40gJ;8v)e@5F*lQJkUsEgU;EQhoKNAQ^IH$m8-p<^G zobTT&h|EyFOV_W*ZMysZyHG%{_RELxrf}x`wG+c)r2d6{5*{zgvCZ|e{nZR`@`{#Q$L@K(g2+~F@UpBK>U4; zhvleUoc57=0fLzP-iYi0_2DQzPzNW^{C|Vfd}+b$&DZ7t?<6+j&*+XWE{lQ;{X9Yu z&erb#rny|36wHr92OXQ7EHuShJi%VrbsSz}?ssWXuzk;7p$Pford@ued2*{e>6OvB zp7{;q>BMmW?`OtXAKYG>1f|*NmRuT3)+P(}`XAfC?SmzJ6oSsHZU;reIj?KErEK82#(#{6~=r z!&Y63M}j%rIF^-#;^+zbe+{<5clwq)H1s?ZEpgOj3bko9J3+sM*`pT7C8l3-YlPh-(j&hRKm z)PLjiXPj-4+!M>%CkJq?*a9G+45B6kdd931Su#QX@|}_70(cxscA+-EI{UGXy-%K8 zL1PS7(Y}Sfs^nyLH9vV`8+nmY5^OX2_Kic|!_xeyoOCy=IJZyht)@NUd7l+9`w4tB z0i6^!`+l++zT;ot^D@2V^E*`+IoK#Y>6UY?rOPNN>SVS^FR3U~-%$Jc>U8NWg}CnP z`bc)gSsp-dVu=+H^IbiWW=%@2$p;5Xu_Wi=>cRyJj!w7x{*;C{bYA2DqxQHk290sJ z`0Xgh%9k&ibI&6i>~OWb<5^rTuTH<($t738)*Aou4*y(%gz{y+j{17A!*H?#s)Oo& z0z7W6TpYs{t`N^>w@%?WWfIO<*0 z-o6`V`~F8}=_)?0o>RVAx?mdwZjjsypQP(8UqSC~$D@seCx@#=e@K+u-rX$ES$Yl{%!WVABq92`>}7?1x8B6hG0dXQyz zTfVt|(-Z2PkT+(Pvg!#pGXM5%KxoS}$Gw-lF_p5w~n;rqLkSgzb|2^^>G z|H>F8(!ZQV*>k<|Bd>VvV$UkiOF|E-$_d^C=c}br@~dLg%Ja!gXupt^=Vh-^;f2#n zf5IjIEVgog+j?E*d@eZbx-a^5>F8_ou%K5(Yp`Y1wdd5gsd$)z#e;7u4Ff~PIq;3M zo8yW>x`t8f>B=k{YgKv7Gth<+aXJd|8ECw}dr6Q$h>8Dp8m#ioif(sP-yTg_TMQe0KVmAkj zFk3ReOzFQ%uxl{;fQ|F0CAR&bO93$mO5RH26CsEnCLJLco=xp{S354m-UkJgYBqrA zI^P{;^z3r;9}r1^0xLCL*UU~Fei==+M6qc5hO?KWw_4unI3k^=<4 zLQ#qS*(`n*PEJnM88Qxa9K2tOkNLX%p8}aZ)-GhccB@>i{@HOwBsL^$us*AQe5YU?hKk=_w{tNKz1QjS z4zh_DXWKMrkD(P;?Yc&W(ZPeBsv7$vNBr`-NL{A|yG`KGZNe_x=;n#Kodn*Bc_y4f z3ihoA^MM%MuY%@i1~D`vtR*X5IrD&{EnhYt!X~+%((c#x%ojAd$dFla;`AYkPsa|H zvcoP^`>p4$lnBfdxxs#pgSR$?Pky11$eLUy5ap=5b?o-cm+CApOANg zPOGft&Kx$*cwO;#*rU*RUR{;EVdX3lnQMT4^^{xjxH;rPOkdt6(-J-mIf1Y-sJyKO zH~e{xhlIKNK=Hs{!AU+5O=K~ZuQVL>V`gC)$ZNbBBfZ*}?UtAU9IQ9+!~J}_>t(cu zn7bdVnH1+uKoI{+U$VonRw!DQLyk|1VZ z0UnL@*i-1ig0HahF&dZH%c6I)mR?;skHohx0qC$U>zkKxCl^6%D`0Ln8Qv`h;7@Yr zJ@DZ@M5o?ge1zGSyP_KKSbGrF&5V+d&LO>xZU=B(1ofRN1{>UlYRmi|1HR2%Pmwd9 z<#1vpCc7_m>O_0ORX>U%r8J3ZZ6q&@fbsQvBTV06`YeXFIfw605b$q1quCQZ6X>w9 z5EXv!i=wgpvdH2F2OP-PC<+5wL#R}y#a}AEw>EIvhxL)xwaPaEEXxyK`>jPw$6WhV zx6FEProL$MnMS&v&#^Gfc@{0=c^2Vcg9$yCXdY z#&hM537z75F*x{J(V&rtln8iDR) zAkZrH5FOmFCYWreR4K=5iYp}+j;#JGSjPpVn{h5DMjLiK8uuSSM5X%j7LhHgF{m%iM*P`Y)%qw0&ItZ>G- zir#dKN*zd*Hpt^3TLCxpBE6@Wx4dG8jxulLrG4H+;4Fy67@#k{cx5}oaGd;i@V@y> z(m>RZ%4Z(fG^e-K68_#HqO)skT52XKzAyM+eIA)xx}z2^(Pa%9{HwOVATesB7cBO6N} z(zCWF*zSR2ILk=w`Ld}a``cGvDS~Z&EcS~V!n9TKMhCQcQz65tpHj~-C^%xFi5`bt zA7ID}+!xPC5R;lJX|L>ab?Kj9R6k^FJemv|j37f1ZqQbhQ=_mSsn-S(KAP;rMg%^0 z`^S`qdtJ&u%^RH}J}d!^#at;%oZJa6#hZlT=VrYFsFbDm7^qX+JUk*Zj;EEe1L?1_ zV>L39{;_1njvF+Kl&lgv9;@w#4%Z9|DL|GG2%)wkggDGv&T_7~F6qJTYQhp?N}4b_Zg zhLVBSaP@x~1w`l&^Q~mg*_OgL_Nq?FJPzapiE`|vIY1@gFMm{)|N17kOc2w5vMoc_ z`TLXKvOnx^Q*Zp}i^VS%8R>O;t;meAFY!kCoYy&evJap=P{=c*`X2wv?+hCN%oz<` z?dM*7%KjVRm;Q;~o~R?Z;*#%giW=fGp&Fs8z;aVlb($)(XL|l;RhJXC(h)Co-c4jM zDUMFLHqMZ9n1!><#jQ6>lVK(-EJyY>rrg}9(Hfcr;aA{jP$Du5n# zcYD1f#k|dL;uMp#d%W($vOH!V&bU=Hm-XSj9q|wyBgnRtx+W%VPLQK(Qkg`O9X9D+ zAEcid6d){0`n-~E^Z=l;zx~O3AF2Xl3{25JaRe#&v$9Y2KUL92SMoB68NQcu$+TChHxYj;D!*f`$+f2^n zt0-_sDQLDL-5|v$x5mmemAxI|5C!QgW5|2CI}*-MA+$Y5j$jmBcONU^1AHMYNehIL zCZ&R9Xt-NXs@u+a>nFb&$o8mRdH24eGCxn!o{Erj7a+WJqLU1}QBPsTxgz3t27(o} z_~`}}%_U*+>nAcNwvg(7C{%}Psn#1#(wXfHL1&qd&E4O2>(^(vIzSVzk0dR7 z0w80D5|1wMCM#>T9BNmY{>yydu?#w$&&00(IdgiE6dZ`4X2AeDF*{sqoi&kqR!{2h zHA>BFmz(NwZOz%P@K#N^-a<))DIl6X#`TcCIuox|uFxz^j{dodVNJAb{iizU%mkn& zFbF=@s*)1uA(;XeWyvBPYcckeQ+Wow?r-sHxjV0j^xX#tkFbb(try^PW?Y)J#oWfc zB52O zaqd{Vt1rD#_7ENHg2-2$7Z*x?3k~}?Lc`;IzueUgPbh1n1fAO^9kx=wx%=tP(u~lv zf_T6qUA*od0fd*a{u@P(9OvJ*v-KsZA<#d~rv_{{2OOu52#6#j#c)j;%?IKsHjdWB zcLd-!kW1rX5l{^6UU$dP4UoidNJSkpUxs9Z661HCL~TuGlxReW)xkkyDIhX7JV!jI0ayLolH^ zVEVaR(HMLn*av|Z#sD8QodLI2#b3i?dI>Dodh>@2<0T2Uo*M_%%KzOs@1To4r5 zXtEj)o?UVh7X3H)+f+MAEa+C!_R~P ze;J)}4;E8dqwS#-ZuSUop?C8cIp`*G`mq6_1W@r+Y7P&)_|H;7P6#TgJryk*tFanO z`%|x-@>g33DcYPj22O=fE4G*AOPC1e89MYXVJ~*jN81C!<4mX}u7O}Qeln@#hpl=ZCbK`_y*FSoUtC5GVPj4W< z0iv9FODcYzj~|8#vag-@kbc&97l>@Vzf)=spT|N>5D((!#$I*ZkYJ|4#R8(MKZ~`4 z=549RKUMRJeXi@-n3qx<9IUVq?ZD_?#?sLT09Ile`XRa_`fsWB(hsCE=pRD416jJL zPOD{OicW6 z=R5fW`L?N0NwZGjPO=|A+@7MnAMKkGt$hTir()vD8*OwXdQqVS23Y0|fcsgP4MCOb z&V9|Jw2c#rF%CS%N`A6Mkm&LF5FJHsdeuuwsUVJ27*}jAVGQN1LWli6BWR_cqc;LD zOSaP^`0lrN*`UC%G*3i|*EQX}C?^L_{dNd;mDJsh8ndU%A5Og6d35@_@$l4XpKaHg z)w2G(ZtW%}%;tDwg!?y9zVE&&Z;CI~D8^wPs4NP%c#Q$u=01furG6Nz+aW@v5|Uli z^ym29qs7-7I8{VUIYzNk-$P&SyG2sk;A2W6^w2E_V_wQE?4iT9p|+F}>{lA|r%+-t zZdOtb%uN1gyLW#quZtc0F(N4O<@ij|eQ+I3IX!>!Yg>M;{r9j*Wr?@~g6Or?AX;8# zIsMl6XYEM5e_p2_w0cYigT$~1LaG<)ZA;H|0OD`5?S-Lam>8dLFiVLAIoGyp0u>$yuZ=6i?=IR_EHdu(GMJ8Mv5E?sS0xtxRrocwRb<&*z zL-C3T4(R&}GZ6?j0`h!f7AUL=Iv2NprmI%!xW>K`lvgIt)>$`9%-ZKi+i zHAqB36s{TYW=1Wuqf~}olMq*aWUBLy*LLoE{IHgwMn&j~GqLdGJ@qI}mFExo+Xm~; zd*$>u={UI&{Zij7#v`eCY2?*^i)(v*zmq2YYw!8FpLe ztbXjR1;#@;{}p@B)>j$y3g|TP89n}~ zZqXCN&AR0GE63fOuugZ(P`*16{&Q%nh;)M3byV*NW4teLr~TeXn;CD&;ukju_wB3A zZVK_msOgv1Q&gG17~F_CKb6gvxa>^njf1cd=PAV^4L@Oh5v(kI;KnMh*szV8Yg zI8qZ*WnQx!B7gML+;rRCvddXX#dLW*ujl7>$WCJzQBi-5(U3$oT|%R^MYR!vS=et7 z=O7)`=Y~~UqKJ<8V#K_W?JI=P(&QRT3I%JF7Ar^_V4m9FlRXUnNbexR(2;6_QuBt5 z3<-kUs}71V@HR&>z|~b4#}_D}`q~oBPYFrQ$xD^##qC;8-}?BkTg+e~T7F3j!CB-$o*_J?QhZ+yeF-lYR&9)n-+8^J7OCO8@5+-aT z07b~|hlSrYAeiD?*|PIh%P@+9Kap-xOrXwo)({IC$Pb~X3hW2-yXC8|NI39CPd@g_ zUrMFA@7)v+7trm|t)aNFC?qy%Av=bxSH;F?kISZ>2rYLuhik4uMU5kn|9$c;nOYD7 zI!{t*U5QR^hUvZEdQup*zsLs!MObKw(Zpx90)&i*wBm=AD9{rLqu`Zv3jyOszCaN-^L>;UiQKrFCIb=69flJrUok8lbQqp zL0H8Na#5X!dGMR{au^&&O7u{T3(jchqQ-#9QUa$nC4;lzE$`f(i%;y@r&^11l88&j zdmS#r)JQ+zJVvI?6`_bm7+Rue#SO<|Wh=&&0-|ewwGFH=#)wddRsh}X1RuE)O_m87#Z7I&JFbOaqgfq~6WSc=G8D9}2B zgwsV&VA;v;_Ug%uFKhb=1R>I3+JhkeRAu_P0)>kgJfQU+`YXQ#NV7Pw8}SQc%kn+| zRnkO3kAydiBW!fw_aTeep5#vxq1z=zop%IF=`GTGV}5Gw2BMJQ-8S|8Dza^M27cEI zu#=YZ)1LFOu^!^y4pQ15d=0=@DIeRITC1+7t(W`!56TDCMQv#*TiqN3u(tgCyh?7u z8LkzTO~lErl8V$jCcG<-4bWoEWpVncrO0lgsu+aWK16U%f#;|Un>)6#lXLw*VnO*j z_a-!f?`IoG+3$uBNLSvm>Q5WxLz-r5EV-+Au2jSP0`>Y=A_WFhtB6#?WpI?m{>aQb zDv#4;_klA~QTOf1y)Z3B{h!)Pdexk`kn9RU?toQcrL%J&6PbaHTEI8AruKthq6 z0XLiN0T;o<4PQ*&ZSU2ad(aVctD(^&wN^j-$x5K=rk9~Bm>i9KIg`3JNp#oftJ9?r+O0<1jUY($ zTdgvOKklRS<1hq)XPz-SVIAFlk%FC+p#UgA9-AW8mJ+AgHZhUAv#l zN$e*N)%n!;hJ zOJ>H>ee0-kDlR7{Fje~6e2>Z{W0zb(MJm7W-kjjU!=xGt9I>4?koME&EVsfxpQmhE zWB0xB95vo0O)V{~f7cgenXN;Mc11>%80{;$wFqt#3e6p9a=hYh!&vaW_?-$5t4X^h4=RPQvPp~DWjKYw+EX{ z!C+$#u>Qbl$FYY^PHWAy>ie0?lKeZ?G=SY2FPBWMa8P;xms3$ei5OqAYUv8gQdET- zi{FM550yfoOzoNCVt$F5X*M#wB0))4`HVA?9yJe%aUMYE49ma^3WU4&S~bFbIHG}M z$@8%x+TjJ5fq31RdNw99-(T`b62@4ja2c>Mt(Z4usrT@giG!cneiv$>mH+s;sdf9_ zoY!W{gS@B{0o3E8a)WQt6b*W72$4j_!kG zR9zHf!M4FbD=VCm96d#k4=YatQH|nbvth1>;`LVM7=G39$Z}U=QRhm4L6azt0ya6L zxeH6?wWJ-x;`5NUo1-tyKXI+x@k*f_Qc%2N1#N>#i48xnc-ug?sq?fy`~||d-(8bZ znBjK0b8QT`afe?VhpnGpZd}7Bq#?3e9rm+l4e|Q5uo-&xKKg8EE)+9wBh%(sz@&=_ zwoJcIy|ugiW+y>_uHDf45M~w7q)~em)@H*ieka?%r0q({SnnO^9dLmvqZGM#^Xz<| z-vE%rVxUh#`M}rv_=FgGdm;?AwK*hp2~k(k1=uU>q!Y$6x+42f65s!V1^HsX_uJb) z*N$QXiIp>J+U?ki05c$Za;p~SNT^s(w z@UpiIL|EQs=85N&e??ZQX&-BsYVn5~&lMp7h?1-hVyyb$_6J*4OHi4mjmh&zB##7m zcIU1IcN_K_SKQ{**rqp1i#o)+V`Tms`Ps%kH*X47pq71Sp~rh=Ig>owHH3vQmet)% z&t&AN-|5c7CWxpOx&Bx4*Y-9)G6c^@d5B6OasnQWL=i645F0hv&DC*BNEFyZ)??iF zM?cG!_5g6idANkW&Jay$0hsBDJ=d<+<0vrWXTUV8pj05Ytg4ib&CkkmRwAhTn|E8o zPiAJu^EEUw$d^uxPU_#E8ohG-s@_#amR?dG$B{mE)+)J=cOhp6LRHfJi7En#9RH(Lr`yY*5`YEkjWrj!R}_5ot!~ z7zF^nsZr%La)7me2pskSsW2-x57VvJMzQ25up7ieTL$2?x_btBlXs^wRZOMMx zY>8w8XK*3{a2~TwYND@(mE{JNVAK_#QJ>1^oJ#lgqNguM07|S zTGgkkUA;Y#>TFulB5<3mIC-9!R;qnLZ}eYr4M!nOfwSJL*I>ozjiM}}qhhBXMG+pV zM1x`_wVhY+vei|lFe^V?sGkLB|@SSs+{^S%RvgS zL=NjnDub@w{fp6Aj@{@obEe|5AJ{owI4Nqw7H_v4>Y=0^$2$36Uk0`+&_Z?Z1PFXXKO@n;ogT35)(%1Zyq=jIT? zZ}gaPkZgH(N{=$+SVrh4`TuPRj1qpf|7{6Bkl+8eB?OW^a14Xthp0$@k`)epUgk4Z zZZ;IpK0y&G7+#}-nvR083LZXIs|0#?Nj#*C&4LozWq#+}h4rk|!az6moQJj<7{RXT z+`S8ra1hq67%#c!IQ3qVO06R5u)7A0K`FV=e4p;<0GYB7k^tWXO>!B%p#6Tna3f6L z*ONbm2$sz^8mTXURp zSpprWz9&^^<(rrsbS#LVD!6YW6tf+B$q}aXOm=^q94uMmNDokCA*|9Jj0?tIS;&^k zhonawpDLFHsY;9Km$b@|TUEPCz~jU4^4pl{Z+2zIyYZl52I2uiK)1uW=CU+Fv#Ds1^b?7CbvMX=b`zAxbU5jq+ll(00`Z)B z*i};T9U1PzWu8JV?~3+YCw%IesKkBq?)D~2i>9RO6{$eFhp;U)nL|SEC&8;zPwhzrE>@~kMh0N7ut$tAHQ`vtow`L`A7IGCu)OagYX{4R3a^D<~Y zZ2Hnq-|lYclkFwAQQPKr1LN|CChnmug`D*-`pWUQosqjlI}=S(JG3a+ijXr}C8Mna z9%KQDEj(m!^dt28MQ%TJA#y8EX zE4xMsP7!JAq6iz!u>NaM93o3FYBwiAyF!|i9RaSL$(ysRZr}=RHLALgHbSoHT3h`?~9G8x8 z6B^_b3b)T3ZA3e?9)!MtNP}$6WEg3(m?Bf~Q6q{jK5@aw$-T$V9th zFFWpOWJsgKs^8rWtqaEPRJot^-GIVUm*oK4=!ff8^J)afb6cRB&@VHjDE5vJRWs=r zVlzh|6Id_55M)jB#z}s>KAXLaFQkq?N9TT4QW*>iKq%@|9@;Ytlywy1dOTMER@jmR z6oWd!tRCd#bH6>sENkIv%5Q1;7c=GG{`Th=lelPkEG+~ud^A*X{t;|^deJnDUO-oQ zHV5Jk(VpmJl!_|h6{+M37mvRGAWnSDCO?pM7rQlz7k@Xvl08K{Xh%tCSU66SIIj^e zXe((Iy;n8jjdHw@AR!EWd~;~(%7Y?2Ce_l~feQ+KKT7w+XTpxi86!+&C0e)QZaF{^ z&TV9+GaXlcL9Bu_)f-6No9g1iFNDsW<>{er2aB(W`#^{n7L~S8IYtxTqFFjS@rnNR zQCG?sBder`w0DA0DCR*>_aKMl04#X&0_n$ztWjfy=-R#r}j?9OJKVz1)r zkuPJ1IS~G(QRNQ48%W~|Nv3AHtD{z?b|LiKu`RoI@3U9(h%RHt(5G)@|YF}G>s_w-GL`S-f6f(2A?%jkUi*8Cb<|_xq z?dSVB*P|120*mEEW89F@t~+OuXF6>`W}H6m+rPP2P=s*d4a_Q6l8BY*YQQv5dq4T{ z-CV1evaJ^;J8K-~;D2}bNw*Gc&-!GlmytDly_+w+8y4oB+Rtk?Tl%hiHqi^Bn;l}@ zU(I;bLRQ8ezI{URLWLpO`oFoMEXK$6z-rFzf>^rTUhPnbhJcgvtl60X7x;f`l@Qb9 z5&DqAUz!CA?^o8R|U*s)>f@Au@D-s2UZn`r8Nq;wGKM}WoNP}tl^bH>X`l``{hyhy;HTv&7 za|4`K3%j2Av=CLrCnQX$HF_MHI^rO>crWlcEGvt<-iIx4M9Nf3uzs|*T4+lsOuy{V zbQ(?@%EtNb!|+t}usdP!4Ucb4e;jLF`bCp6r1$~%U|FmGf5-Z zPscd1t3+Z*bWkY5SxzTAT35bg1qBsUx@j&{uS+cpvWYyRj?4)pQ}B7j7%2I>FmIgn zY2xN1vWCmZwbW8xciDV?cN@kIuNWOx3m6WpU5v(2Qa+wuy47tc@)Dd1HpD2Y0Aw%hc&ZsbSHx^EKEfO`TzO-_`pAduG|P zMN{FFn@bvx9KP3in=t}+Q&~IvDLum`*4{mDd-aVl_Yii3d@^SUaJaG~z8ye~k zOR#V{P0tb!oQ$sV7?XH-AFHG#9Y?zSwnyfxev^5n>j%4z8gJL7NL`hFZg7TO{>elkXrv##LwsT$9<+LAX8iR zSGFS!47a8vCNhnPDCs7|rLw)ysKwrk_1d3_H2 zQ);_o;Zwb`sCeS_*lQ%ZO2zcqvl+?7Dw!wCXqH)(r?|(TbEGpU1RN@LttGy??ccdv zyxcG`dGiq&4C@4La-BDr-Y?u>X|y#hRLU&Or&=8YW1wZT^Ffcou9ml_tLRvtTb?(x zTx-d@4KK(=Ww>2NqZof?C$K1E>8U$>4Hqt*6orfqvhAPl+^hX1AS+?HzugyZj;C7Q zR~6KtihH$biiP-bsZ$^ZAP}&%y|!<4gcF?`c&}Bux`s3HiJme+wM{c~Ye9E>Nz5II zMySQ=!YL)!o7x~TpQ~-x8MIsaOYoxWHaf(u`+>0wgq)GrZrxQI{Ez=J5Snqth#X}> zr#{@b&s`nJ3t=h9zSbc**ZlRIt(n%*1peE3{&Q7wy0~BNlro13!O~&K1Ef~{Z}0_Y zJDQ6hI=)o^LoFw_@f%fNR>k(?LAdX2i!nCT_qc3s1A;;c+>*tl3(RkK!y1O-z5E0w8V zN#}m};Tbs}&7X=2nWyGrhhSc7`(<#9$e7@yP%^l5EFI^Xb$30O}{WVsN+%iQUQ<M z&#K!Gdr$Vo+l?ebHl@OI5|y<^=TpCspV5cUqxk=~R5VI;fMiF+Y#bjjtw<2awdzc= zRdgI3ff#>In+!%S4&llJV`9GiXMvQf@^5umZU0njhW?VZkQ`tZMSe=UD~a>xGKeK3 zCrnTnaFY4f}gRm>L-6`tmsRhgyeY?=E{l=OHqEOaNP(Q95OD&b5C%NGVPowfw~RQSiVMY_>uQR=QNTm z7={5a625=n-{5zDC-rd8FPM-)@pVIsnd%fK?FD9<^b8}b7JxTdJpZYDAg)5aDz@ve z_jg}oacjEjyD!*idw`=G+diVH(d~q5O>v~`OUJ2m`{Z$FBfyHn*2Lt-Jw``)1#t?Oi2-1OY%lY5`{(E9H)6mJ@n)uxuvV75gh0_el5U7H>G#FMH^pQ zj<}12u`Xe%;+rH_FW$C*oLMs+|J7x!ulo8)=SlfV-AQL{fU&TfNi0dfZ@p{};UySN z7RceR_8Ru7PBLC-8!0_-?!-XO)~hOH&bMB_Ghow>4q|WE5(&1Hqh!Ff6ug?Utiphi zirsAq7w?}?pU=r1@zO1r2G|J8@Z))*P+&+crg`}bPuXgWmPpdoWsIPDhT+jdE!e~=g zwiXUo+T%I*3rp5i0o=xXOjU!^f$U=AXL`l#kLO5`gHx|BX?ii~e=KM67BvT5?DiRZCJ%H%?bahjEJRksSHme z?vL$Ed&VlM5lJPe23a3*jqZqenTI$wh9AnnNtwQV&ws)y$whA zJI6T^jGgxoDXjq~kLFo67^fuG5-2|j#3-~A{jwX(<|Q#om%A6ST(m`o|yC;oie06v&nDb+Bh z^r~P6$l{x*w6l%_wwUsch=srLL#|Mp+K90N?lB>`?2g=j5Q%@@A3tKAO{}~-->GOH z6x6DCXYgnQWX!DFiI+~aFT8FJzanB+Fxz7fLO=Zret;IXI1mjv!Gz9d5C?SxODqCM z^0k-udfFc1pMlG0P%}Sl_7;jy^4bO~WDQCZwndx>rK&>dRhw63DF?-Nkob3F#{JlP zTm=$-17R`M!HwoS^jBP2Yc%;FSrq8TS+&`;Rmd#$GMl0y=f&F}NYQhcyWO@X4zbnk zq4DQeZ+{3FyisnE#DNW_B%OiC_EX*)5d-r5u?{Vxingmy%m0nu6!%C~X3(e5^Aot1 z44uRfvn6U2+HKa+~u>=t=F6iSFd|{-8v-5;Enm-sOY0UQ%riad!(0RFtzKEM6}pL$uQpw z6b=_ue{ZxcTje(3g4GH1d~!96Z)`SY6=pb!fcR+8mfjq4S(w;~U7mEy&=KV*qC zxl-0njL8X2A4S(RvS~JJ$jJ5b_kI|(=?;y%diVMD@0|-tKesC(cv13RO1O2uO^IQOWb_!+LJ|C7)kBy59gJL6DMLQjfsYA_)Hj|a zyxOM9_cAp_tNSE&s*yGFbuFaeguA_LbZ2*_ZuBLl(n_DQ#@{N|Z;L3xv5*VcDvRkA(3ys;_;H06(}M@Z-4la z$!^*Gc^>5J0Ls*7UK7MAB%h4T<{9n(scBda_vmT~5DN|Bm`Hn*K31=i_vV$gTf{K` z-kApsF z@9hyqVuIXu+35PFX(T4iX8tYAas1Vf^z&BTG_&$<NYJRM45$E^>@`?-hQEB0KFM*1l?wPXS@u3qUbp|yyyK8pxg(eU!yY269qWj z93`m^is;K6WGc#A4LbioEf0xe;&HeAujijmVvPnv9INHxoV#!sQI|FQeKZeGtn1ed zwEi9qC-5ca+v91<|7I!hE}YQxG>a6H4)ePEo9=bR{({(jq>m&Knx!9!M!?2}0}Imx zJ@BCg`-g4_Izfxc{DhDUXt(IbgkOIMHsV@QyMIfyMt{mN!wtoKB>&nW(ScwB^Enu34r(9s|L^uxBjTUGLGNVOf|1 z&j{=b{|}G%>n4dqM@k;AU)1muJ=yeGkrzkVG9>rixFe z33f`d4{yVCADHaAY!#$zz7*=dUQL*Du@){9gTkNz|E<=6hweh8W%^C=*iT9bOY|zB3U)bqj=94Yv z6HI6Z{Yt8@BDI2QL?!0Y&?-rWokY=yz7BeF6sU=3f$iB#mF1Kd%{Zm%zGYPTUV0OK z#B0y0+?+2J{tYyRgf5=@hgTrEo!WFbWND92#^;jES@7x;^0+C5PDF_%JqjI`YGj_a z$Tbw1N>WTOc@#OI;tgZ{04a;j)~+SK1Jn^)Agt%;xkG7MKB~VO1EQ8#=oa|RR!{5R zPpae*DoDe1x8HF{VvQKj6pc7Dv~iEOfreT&DK*k$_ue|hV>NDi?fF)pL8|R!i&+~f&%e4^h+4tVpzTy*8q^UIR*r;gd zWivI(>YKDv8dlMc9v53~&bnNf7WxjXfzi$iLD;g)CM9#-2VrAL`=e|F-M-B&|q=&ca!To?cfPx}WL4>SoLk~^*A z)2(T@H=p9|MX3Px7>N)1%&j--I!EKU@H;{EYJ1~uqz+Yzz}uPZE4|GzH-+jZMIU$l zX|#3o=YnU;FJCRore+#iSa*TUzm_pXBA%Jb8DRT2<~V$m@T|?V%G;yqy2!9essDR2x2<(u zqR3H@=su?un$NwJFqfZ9NqSjJ5S+IUMC2K+$&q=_lfMFs4YY&Rz5*Y5DIpj8{!}3y zUw8`%`>BQ~D2-_`GtL!+XqkT%ckv;G2ajhSDBX0OR(KxqOlhhEw%icn(_9(7oahVd zUXjI5h8B&%r9TAUxp!P*58n4jc>3S7e)Rb!^FD>Z@pqP0kBv=aM$9XmXF-r3_WN=k zv3OM++4?WhZ`I`5B98DKO5X+Th1-|$a_SuFk&J0gNP33iQWS5cUI#n@2#JoV@e8e@ z@#_e#Ypanj#n+}CZTui))7T$+fdqiaTY03mhaRW&M{9!X(yA#211kZ31pc$gQ$2^w z>&N4F^GG-}zJ8L?-JTkqTf`eodrX)~*pgV!%fqm9Sa*Ay%VG=U%ZeDMh*S|gg0dCp zu+p)1yJi?e<%Lxowi}|ZM`|#kSQ2a>V@0=a?5}?x~DbB4jXckiK^C_u% zG6vb$p%i__%6bn8%ERBZ1jwEfI?sA^m<@S4K2)Bt{fh*7-`|~JK6nrmwq$dN#3>LDvyekXE*_tYvphA zoi4Vx5^Nk!Ons#6p`PW0AJsoXApLaZui{7RTsB5jr6^61IY|bj0jBBU_oFBT!nL*{ zV^O+sYFwsm``VR#$Pk31ASHuDq?FXFmskD*c%If1+Q*PP8)HSEv+)kdyIQ!*uOOBI zn4#5J!aZhZ`x!1?#Bc+F?oRv@dp!nxAb^@!Y8~2*wM~~>lh6c_`#$3sA19a1#1)!= zVfN63WV%TbPinr}U7O0_^N*EUPjbgzA&pi%Nk%M^Tr6Yg9Fo|9YbEpz&%Y`uMS8Wx%4u3eZ41SFTIum3{Ml23;gCo zj8qCVaJ9(|UxZDr*(dTC7BAwWLJs=Uu&R!rsRgFVI3_58(H1 z0fCF7!T6J~3!`8`OP}qUSpt`++MhKX5ChQsXR`2pg-v9&jP@QUa=cKR0d>XzE3r2D z#Q}CETq|^5b~^aYs_1*bbYsnjS3gX1+u-tOcPs)yJtti>cMOxep+&h1bbQZc4$@eZ z-_l9Z{p{CRJO^0+5nqhQ1Q?d`x@<3VBja9=AnQ85c4MWSYB%{dXlX@ipgd@Oz@jeO z5m;{CD_>_&B*QZRpq!A6h zN3@G0yfOOjuH74If{1l|NO4-=pZnNE0&_Dmg`CBX-%Wj`j!j3g$ag5sqern9ubl?O zN=R)W^{M=X&RPW~`Q@+s>|kRI?!p+%!?}IG9708Fs^rAvx{&r>RYbC1FoiGavP938 zhpo~AD+hf}T;P!Lfa}0H0$*>AxL|ftd;FQ-t@neNPz!*m*Ow#olcuv(igiDX?hgry zQ<~P~PTcd3L7%CHl%*wK=2i$G*T^g-F!>_oqW`#_1ZIqoY;Z@HcZ6g32a4VR-o+42 z^l%3T=a>11#s_lR-#Q*5k&j4$Ft&<)T9)llrF!c!H8S@x`pZs&?e)$wl&rU>KDgpy zB<_$iNKim)j^8*9kB9GKd&#RH$@x1N$kN0j{R?cWftiD!Xtz|pL=nLyd7{KO75Cb) zcBOao)eCYH2^NX3?x2v__6Y6ck~KTQr;DS8=OQTtRHrtdlhkVmNv5?9Ch0k#)s?;) z+Y8(6lJMa=z@MshI>ZR_IvT}wNpCp<@X(1)cj*haXm7P2k%|@CLu-@);!><837Z21 z7hN3HKzLYsXg3s_9-A9w(ZQehy?6!Rm0e}e@LHVg)>XexTV{78cZ9JUDG;n$$UHQOi zVAujQmIH-j>W{`!%tUHKwlz-U&n$p+wfg;bosU8voGMILI{-_%^3b^H*~pIf*?#`S zz#_>xXy4IOn?80);B{I5occlF7j=MXYDA}aj2P;h&#yBP>RgCuLa4$Id@*S@=n&CE z*uM;lPcG6CH&Yt|wCjN*R2n!;>$@*hgpY+w4_D#Q(f(>1UzKKl%WyUfq)7Y|(gD-4 z3p8;TIZO?>&%mgc6oHwvM?r`u6*yYUlI9#9cZT^4E*qW7cywxkLjkvg3wLp~Ly*<@ z^fOS~?PWAan?# z4^m%2%ZrdH3*rKNim`AzgZ-PG)7n!Bb^7$Uv;+jR^9E3%);h&T_ME#jbX1J3IXcgALK6fcik5YX5?Q z12{`DE_8&hw6wwaY~Q?Xnh$O1vzSrlon!@?*wj?w`i42T{pXkM(2T_m#zhMAg(n5`FN#`n)t9LEa<*R@x<`8sIKg9lYqkv>IdDv|s z)LH6S`m0*!7m;}xQK;PH>Dj6N?iK&c4hgrO%#cfNMc*ZKM@OR6dx@O1yo^iZm#Sg4 za+>(jh@MU!o8n?-s%DR?l@{~6yJO0+HIv*gmU`Pl;w`SfJ_&RT;7ipfCfO>B1Z`rSVBNC`=^{CRutFr98o^cMXK_fvi9fHid}+%jYe}soaGp82Xqn5Qyiv(Y6&-Fmkn>yK@Yogl zLD9cIUA1LbW>cpqfBAL&;Wx~C9E5QDDemdlYIdcPD(2o(vTg1eU(R z(CYeX!3PJsa+Jk8x%hN=ml(lhNq&BuxtC@2Ie3dFhj8Hs#E4sr64m#0{QR~N^(g_; zn6eE_pSxFgJo3^@)gK2uu*C{>q0my>2{a)#M|pi%W(2*Gl4nVq$MKEC(c(s@Iy+y_ z%c&*d^%1`cZX@>dZ5;3Z&`H@oa6)d8n*TwK`ZVeX{{!(k1$^6(Mt|o34ofMx3l`QvKe5w!A3|5|sF>4mVY z?|08k%dz)XnTwzjq30J1u)wx>pmrMZ<~c`6A-&)EI<=HI@z7QaWpbMn_vKDwO5PX) z7M4&w5O-1Qr6%KEKB2I?KbG(X@dRe)i9we(F*2US?7`rc zlR&Ic&R=)|CFz0sP$D=4rSRfPmq?w3F ze?r&{H=abJ>>ER-Z4p`$v(`3Cx` z^}0Q})|#V2pHbvW|CAB=g9t#}e#(?O3Q~Sa1ET2l;{k#>iE?CBiWDBqC8q*z-gHI* zYGV`oZ(%!Q1WS1ou&c-FobRMZ$D+!%8~rAmC^pkYh}h0O(j(R-n3!v5uz&k3B!BvZ zpbhksA9tWR4~oRfWVyok-HF2>I_4$E(#P@0jCbt!S$c{4qH-xtU9~^ZTX=^cD?x8A zC^)W=xr}QE#b{FV@B8*H_@;vDPR@&ybIN|tiT^~+gB303RL#v>T-KwM3QHF|fz_cA z8&+0GHsOk-np_McIk7qEfa#<%@J{}?A8@C&%0%|YCU}WRwYL&<%qT5UALJ3lmaB{Jk8&*3YOz8E8Wx1@f^ut>DH z_N%|moU3$Vm$Z&Y#f6*%N*QX-XNgg5iC{2Jm+N_bHKUCeEsOeGrRQP5(4n|nXeH@J zraVu11Euayp)z>E^;r3NADhgzy4`otSZOjBTH=K^H{Y9zCfb~9a~zR+^ovsB47Tx_ z7(cOLHe%N*7lF!|q*6C!EkBsz;Ut^?@+JoOZc#rX3tEU^(LIFyo4P=Fc&L)`UT^qqUsV7eSLoq4E`?0s|PEfyNYWjR3| zeSkON8yqI0n_#c?!~&-@7~kvn9B7AlQV$1V8FsrqxmjD-vXKaMAv_6~PNnLp(4F|} z#LF-=Kh;U~Ytx9bDZ2$m{Knfjp0*n<+Sj7mp`3o_Ks^C6h)jz=4%ZaAA!rJ?$dfl0 zW)x5R$xJ9}m=qJ&NOf%#JCmOSK^%#xIO}zxXP|&z?;JE3zs5{v&q+IQjIMmJ^2ve{w>R^L36C5 z0Z91_+9u8@wq`#67Hs?1;&Y;w!c1_K`lVZ~;!b8kEZb2p@%1>pPkTbSbQVr>JqaZ< z&{FGQblZ7zvs{RH`@44YsZT1jwT2C-upad!a+zAhQEmmh-Os__tOm=eFretQ{63VS zs!c4U++)NXEutsMz*Bo*#&h2PVx)Cu)j&@Fv339o=7&$tl-MvOn>b|)hvjp&6Y}q$ zmSvcU5GX~Q8wFS})prxON)V6!f(&3X+us5TTsazZ+&|ED{1*rAzduW z=~<+(?rtP|OCNMEpXze^N6x1eH7jG97vrF{w&t_fku=+MbIlNNeHJ$m=jp4a(c3u~ zl%K=2gjs0V1f7~T!;cUOng&TE*OLDP5&5$_GkHpB>{~a6K)tk98+L!d{`Ho>DGEr& zqfMa-R;6ANk=IY4>yW2*L>Gh=LU~0~m4U1GF59mHRn94yl>#bn+&v*+_bY*3)&pUA^q9eidvF z$Js#N8gmO)A>ys!zt{72S+j1NQ4ilA-aLh}U1=r%XRZHP^4o9a!r+;xtOMejkf}uQ zFBunUnZ#3xN;|;=O8eI3B7tnCq%g;4@st|~>HgNA)U*3|P|FfbSSF6r8r?${LNwWo zw8h6P0#X7eHAobE^sAIl%VZC3rpRGzS`z~QzFS&qaEih)_;1KT!P42E{ui9=e;(rY zT@~DJd{P2Ldc$;YqF9b=nC}u3+%ulan%Y6>yMt8Rjfk`I<)5j#fnGMDI6A;ooM8|dS zD*)K+$hu^=?yCA;QBE$#|2!oh1T2>?@e7r38WFFd|1KkVyuTjSzcA$QS-3@7*D{Wp zoTSPWlcRRDj~9Mga2!BC7ul5`KD?z*+`ha}+}r9bbP9Cc%D%DS{_`vT=UbQ6-!Io? z43+6_3n!vn=fr&dFZ9gqALG46=qz^LHtqg@{yQQVmFag$e~GcSMQ@!-guMm*9^V)_ z>_VHh1}T+so{FUT(%wWaF5S(EK#`yNpQ{X$9;`MbD$)lGZA{&h?fzYZ|9L6pykKVl z8cu#?y880Q6!lr$F*&T!PD!U{f*h7L4mZiM;5I+KpQDnRnpwfac*mhTDc~|?yS8o> zm3huE{7rV#B>I2^l8rLtfQBl1$MBluX2B~{{%I&`&T$0UB3CZR+dh;|$o~7M=Re5( zg&CUoKRz-)Y7Se&HX)SFtJ<@se}p?+KM#X!`Y++~}=&_`;oPe{MHi)Kg}) z*pKTEU*u!LY+91^MGx|>Aqc|bZ7eTMV-{yVsY8Of8PK2`VFgsSa$gJ?=2UMA|>C;UGm zigP^{3=^s(4m;Z}uJ)>H7i3}qE{wQtF?QSHM>A+`m7g_Luq(Tw9JgCHUZgZURV2-s zdWJ*FxrY02_ajhE3x0KF_9LpWbcM=-85jkq|C}%P@;F!(XGE%-p(m1t{QZE^83cf8RkM zkdJ5+Ay84jsle77!9Jx67}DT*{MauyUG+U-pwE9!(xUXcBBz^k>(8N>&Qq3QduW75 zh})FLY(5VQMt-Na{y$g2f6r8G$6wd4&w- ziaw>PUT@4(R#}`>k$H%hd9h&b-7Df@pK%$ANXXQ-v-)#Z|pax*i}0DBHMmw2vG}v9zT9!=+obMl)PDQ{z;C#_uuv%_1iKvkQnD zW;))avEWrwilW$L^clK(Sct4=$K#1NOH-m;{k*w8k=W{VT>ZJe=T;j12*}T8l2+Ea zZXGHKtq=p`-=+5A@9;(vQF~y`<%sHUPpfxnJ1np+R4?Sn*rgR~c(5fOdQU8c{6wD5 zQdwRelBz84R?Elm7N_msJ6SOO_NwN&~5On)GS{{GbqyG->UEIVkg+M{`S+~@7g0c zt`3>{Qbyq#6aRSWi}W2eZ$JW~A9}kFC=oL7uGB3te9dRK6978^<&;_OUm7hj9Na085T+Aui0hNf^T9?fRY?2iB3PZ+w-^_b8)+rJTR5B2VY!op;pr~CE&}k6> zbp<+v)9S=94k)mdI%HN#T?XEuYC_0eJKO@BN#0o?r3m~jEQ2%BF8~&B17POubgo@C z$5bD4iVY;w{P#F^JpiYWY5)}Xve%T;Vb9*~sc5OhZ4i&e9(qk!oC*(o_=NCx1?*{b zpZ69bH9zg6WqLsDr&dWPH~#nuLC&i4;NScR8zeaN?_Hey>ph&jI^%+e0I>SNz-!CJ z4umb3k`$ga@tlVR#}1HJIb0nuoYx05&=QwTkt1J5_RwRpY!1Kb!?>|fc3Ez&=RLp8 zW;@Wz#NPZe+5rM22mQjEoFzbF1jxT3Yp0Jr5cEJv54HpB;8gvyfsUO4(Ahoan2uz; zl5}BYSjZmVVad3EAb#VWZNujKalC4)VYUXzoOd!J1vwNmO?=*J;Yb9>q(`rhuC4 z82EjZN20sQUk(d+pDxJFjvFfPDTy7uT9@0|?U%Um-WrGe0hTJ659-f1dg<>|PizqP zW~+W~JcKyAZqMYC8XU^ry5l|Mue~nC5I(ckf-#yJto@BonJp4?)R2>f^jY);mQLD z{?t7ydf&y-H0N%*OF)9SzC2Lg0jzYj*8Qvqn0XJW_WPWV*SETB*t)dF1Q6%x?{+5! zp6eubprLQIGE{DkvooZ~gXLMaBS(jV`7RK>fi2M^rQW2Y|A^Y_&tPErKCrS0{%$pD zHOYMFywi%KNWD)fhYdS{e{x=v{pojoCKvSm!o}++uqAEtS`3priquP*+-b@vLGGl1 z18M+N(CT{6lam7ocS^uh?;3dIG==x^TaO(US7+tE%>%;!dA%sjdISzM`7|P~mrJ)8ophSRlJ9Ri zP%JgR+4m_aROw^3U_Bc@Vp#NY7ECb@p0x6yv;JnL8jk#82Ljz4lK?er(&N5=(wMc| zgsF>Hh!l-!e+1|i?u63#?s7Mtnv_U~R+;#K{)ED>#bu|82fFNE&rUt0_V%4Oxw!0QRDZ-^kDW#D^y<5eW`efaD zGQc)X6By%`Jd5gGQo?Y#qln;XqFhoh)atjMYxJ2h&N*pepkp<5;Pbsi#ozlAfCKYP z;4pmX;7erE24p`ACRFp3w%~<;!t=yt!hUBdCN#f#sL_X_#C>n^q2X?a5dB@bwa%HE zxt_70IjgxTz&`rT9D5$83dQ>Ab>gd3sPNtMMat}=e~HNSw*BfPY7WDz_nbO^2Q~jC zJaAabLq0vZnj9kt7&1sknv=2NDA{k_kTXclM&P&z=@zYT~Vh+o)bLpnOz*|V;|p##_eaqzkWRbWoIBZj~G4;7BtLx z>v!EaLz9rx>Wm#n4+hO2P9(?Gs&S4c2KLoI<^p8;Td5ntq`Z_sPFbR4(c*e}na=Ct{jcNqVh!n^aX?vN^; zbCs)beb*7L<7)nWF}3%Oz^M@cJvQk-qM+g3c;o?H^L=-oRUbNj0S1`L6oV8_0RFM8 zAPa5qfXt$!ylKnVH%XWbBZHWYdigvNj{lE7Ke34TF*Fwg)@DoH%6M6Q%EJf=m*fP`fS7JTK;yj z{i!;b!p0HirmjB$^82$R`NJbpV6r~_gp+xw#tHd8DLnNf`cNE0sGlp$SriyT4Ssuu z8GoP{fG0%>jY2BivxsA4CjGT_w5uq(d;|)PgeI!lUzt1kBx+%VNG~nLg)RYPI)vx! z?(oP^TpY45ZYOG^MA9GS{E{s%HERzj+>M!J;|~E*p&4p3(Ix?#Q$;MFp`L>od|}P1 zWgjrO{Fn>IxN$dn<+v01?Cxk+o#%L@?HEtnL5cG=D#BUi*|zx)vEGQ;IX}B`+h3(N z_sFW|7YiTvNN7o5Qs6`YL6l7vU58yU{9J-`{i9dpuz$#6@oNG7q!LnC@?|ZxP)8Vv2^nJpS~N@1=X?$9pkVwlC-Q zqrFvV+@1O|Bn$<)z{nzK>(M7}^l5@Uf03hyKWi{vkKl%q8^3GmPrEs|H4y2oa#*4` z{KLN}S-7OV@x-LPC!wGoT--|6#iPe78|;Gb#W%Dc;RX>ni@0saJ+UE)D2-_V>=(Gp z)Lm+OY(-F%9QjIPF? zJY-F2{shLuG%B3|C`^{~G36`bE_Z+Onq;Cr!@L14edVbo>K(vh{BQzsWEB`UNS(Wf1q-@O_pnUkeF-%iy*(;zb2OUt ztB?PuLVgc!YXm`*F87=xez zH0$l!;RCW=IynwbG49sm#VZb^Js# zq9u}=2^3NuF9lWHNP!`8wwIX>ZSJigb=moj-`w6U$Sn!+N~Y*#fJaEzD&%57f+m06 z!7|9X@lScrEO4O7*Fslt=H!8lgp+b@RK6M1t5Uld0-iQPu@(Z%{A6^yYIG&a z_Rz2Pj{rNNZ012hwuC_QPT{xy!;eoa0S7`gAG1~L@{{*n3i)-Ap6t8;PA>49gn*_$ zZ)v&nY;5&&pOa5oZEA4Yv3N^HmKa<`oUG?%cmg|R^`^#~)LOB5Tme0v0Hbn~2*JnJ zV>V^N7tdEmH(PxPUN(OMDzvcbIts+i&*X3QAai_m(;gg{-MH};{kCLz^}yb8ff~<0 z_Q0i-bx8zI!bZ*==)1!j3bT)F!RZKZLjIseFGC{CcAu0jy$ilG6D2KFO6=$E$_0gB*PH2_K0H~QGC zp~t*l$CS1_Kr6V8+5ZBWrl~iuxk&j1Y~Jk9r@!h>zQu75Y>pMBBq5xmbKf^ZeCwRo zH?HY+vcHJglv6%fFJwSyQ174^*l@fO) zP$T|i`tbK8@$6JuI>oGxW5IAK449D5^*^1RpCL(f2EN=>&=f{tlX3rvE1g3EG(ZEL zbcp9X!5^A8%9@71ReC=>p~X~ngQU6dw7$=E>KE#?9$7;dLx%gZtg&u_5>2be;(bV; z*m-aS5BJt>(mzB!FzWVv|9OoOQB9?>fU_+ZlYmUoGH z@AP3R57J*eO&mDy$*s8tZwt4s@Q>?lspmUt2TgqZ_$la@fZw%u)F!Ym(;SQ})zY%> zAklOOMS{8mw^ozB-v7pe3ou=|ZEb`*>#_!qGS2#3p0}F}el}2LCgEStOF+?UBWTZ4ZZhrirbL_i8P=NQeT({yb2|C6)DOV zt2gt_P?#AI2Gl|o!t(#!bh9~IVL99YOW;-?yr)Km5n|~57#5VkGlG3bbs0z+X~vxl zNQ`e_pX7r4=*Kh5k%%`M=5ORTc z_%>P>J0keSVvmeuJRF~@0*XqzPF@bS>~QXjgIgYC(0A#ct0!DuLy=tpMnH7^Na}|n zc~5VXiT{2kws8G(26WXJc?J{WfDWdlSFemQpdCVssMbNO$8VZHMpc(K&I|SYc`ql7 z^E6mp#^Y$z7u2(tU&o%f{dNgOmlndOj${>nF&ykdbk?ySu-lRgXwcMKLBgVDU3Ki- zv{I^_1WzFp4qBCxyYa`Mo9AKIcxFgau)o^JlBGabM1$!js`>eu%TA*1+cD41Z`t>t zs971FGH36}C{O9F=CMiGoh5OYHYSIaPgMMK%zIbqXU4`{WhkI3TSF^sMKKoX9w9~t zrQ!JxOD~7N?;JQ@54Z&=tK+vs)r;L+;>0DL)#m&Lmc4@&KBo&T^f1oYdRsMBTn_RL z;cZZ0t|!Bm2eDwm*lARxCXj4P46V+2wITCKT?AehCkhkcqyPEn{6RyaeK?cf;=_fzoaWKds1wYY}sRmc1;2 zZtwYrN2*+c`Jvf26~jvL*Vdu%_$EtgNCUvv7abvrAaYR;i_X@^wiLM9fVKfo<7xSK z=XKr}7)LSUm<|m<8iPH$NNexg$&g}+l}MW>7TuK4)E0zb{zpv47u%bD5#9WEeLgb# z3h~Te*MM^F+{dTw&YWK%ooJsz5D;(B5G#NG{Gc^jh-P~Y;LdqFdrA6lG{t|D zH6%Lne6|4n)$G#T3mPz=$4&6~XG$k{JH{o(5|&{Z>*)*#j%)Jt`=*0pti22T;pzbh z7}LQ$5dJhBliH#H4gnNZ6afP$*86q9sRZhAFh5R8aAUimje<&!14~c0>#h6^$h4&u zRODZA>fJhY#Gcf=@|KGAr;L_Uk?I2e;9s@4o{u_x2D{|UyE#~z0|)z zn@^9%4M)E&htiNnoH`Z5CAe}N&4>c{pt5NNeNz7{VDHtMaBGKygF+z%jMZ>n*}PMs5pv94)XGz`C9!c|kQ7{-{FX#` zlw@e|VlQ~YysnVO?@|E`vk*0_h*vKg!6kDBK-C@WnIKs}6lUF#5n5!R$3=nVDN(&* zoUZ{aL!E(g|3^Op?iD<#Vvu=5-|y6a=6BqW`YU(iVkz|GP?1r>l5j;<;T1N?pkyFx zR91_qxdvTOP$ZoK{JHGv5ThldS_pQ+E8-&#={MI&>rLXDGd^=dK=^ou1z*`Z$!({` zV#nwBdb{#u(#z*Wr|wJbJL$4W{$Gn7iX%NsK+GKy>_kV0dcA+EqT6Copyi@hjO_rA z2IEip#`pxmwyd=&>kW$0f*4?gYTAF98l+Xqa*p^SRDsFi47{lpoy$f6k1vz zAPD4;!%g0)D~U>lHAZtvY8d#QnFmO#GKHvA4}5t1QUL~kipiROck*3AU#bvKzB-u( zt;@ztW~mec8vAy#T-MAi(j-81&ew~pW%UV@qd2euVp7S+Uw)Yn%!k+e57q-?jS+Wo zn1@PTFZO$R5>l@~9(h%KmK@L4!R3g!KgRlhV18_rQ=sl5KY3(>$A z{iS~OWB4W(S{eo{?^!lNJ0NDfW8VB$BPyFh`$ESPqOj^%8Z%TGw0-OakEJL9))rVJ z5Cj#n)LpYyNei7wm|mQilkF307pz-l=B{4grH&fPOrzv{$8A-cR>Z% z0ICX_nC}D7V#XT-(Ma~oK_80lSIAer-yRlJwz~2ZL!7$kuI8g(v1e%0;f7i5$wOl< zh@j8D03e(Ycc`VqTMWTN&1`oE9DO8AUW#V6<-xghh8A=z~mlgqCy!DV+V-#fQ2V*&j*$Lm5#I)1ovIp5Y&Aa!C?P*rn!ySn)S@r8&HaFsAB!(Ffxi3;O!yOUZw$mmr zoc-B{72pX3i8!o7bY1pQ=*E&)RGICq{s(U;v804cDIXbq(!%o2gk2gZW%Ijt*@D819o2T(KaD@E_!KiS99{cmM5?@fLPLB)MMWXrgF;{ zDJnXpatyLiBYVU+01XWJVqFAeVDl5=Usk{5MjRFwA~LPV-@@3X8lSwKkynu2XL?6b zzBg%+;Z<$dwtxZW=?ovUml%oIPC37DS`1?`f0NmMKo>>ZMyv06vYkKX-8Bd*wZcS2 zEh6KV;8DCplL{KtjZ)(_640{Sz-dv_;0iFoVzLNpuaSnR#FpYxjJ?ER4!xTJ$%|IW zQWgN`t((y-sMPz+k7}sd4s$Kh8;LqnDb|b6#Q}cWXQQEY>LgONVK1)$I z`>Sd#{WT%N1ZPNuX=n7Xrz!4e?hET89@G&aC72*;GhG!`+vHpxc}XvTNN{j!eh0OB z9MlW@@q*>0QB;cj)Ij&9KP}>&5vVn+T(HQ0f48Gy`o@Moa4{dql+27+a~kNGw66|n z*TEZt`!4rHiAGXgRE!ZNH}6M4VpLjPHh?NiLVFuZTv>BBS~=N9S;zOL*487hZh zKFD-tB!tC^5lB7LF~nk8FehX{$S2*sixw{vi+_Tdp0Kgs-{iN8#nhx_z)rBjry3mt zz=4>OSiT>E)dD27pZwEclnwyL(Rf02zPzR#Gv^A3WyU^uY?56~exVA_E{7EhYQ8ki zzTzNm(v}6Njm)*62d67Z8KVJcim1dr6_qbPWx<~IVGeDxrDNhP-O;LKOr6i>c=Z_`TG}TogwQUGUh$0CD=}SD2@h@Y&7J- zrw5H^s~;B^zh>7)^kQzl`QgvQ`lHMyfU=n#lY>hhzqFZa8dqRM#WBz#vp)2lC^Ge1 z1E^fQWFtt`Ir!v=W4S&^y)o*z_ddww;fHwx9Ns>(DO56he6bNl1?GOAMQtVHoyCTu zF%c^gbga?J&3hXt1e!k8h|hi7jTcH{oy^rnPL{tdo(084EZH~rV2t~9bw!eY8^uN= z&-4~$V35M1r29?URbx_ZWiwTw`cc^LbV1DpW3B6@JfFp2kSAsX}mCy|Cw%;e-CT7Uj(PZTZ>JV1(O4_4S^tj5%?T> zpAu6F%Q|nW(k{uhkEDo@R0$kEXh~Vt*H`O9YYh`T-~f)`$GP?(*kBdT+cT<#JUp08 zp_C>z+F<-gm;gE_YC<#R<^_bwM)+)9$!d`L>S3H7-T`WUs|p<04A>x#2o%}n2;7BFHL{eIkUY>hoG-C zZdH0DrC{83NW*~O#Z6}V3seVOmf&C`6QfUK<}h33`%8H&wEoPQ)9^EQE zwCU$P|7roiGxDu$QLtVD>2-Bipdbeu_~_`7eS)ldflA9h6+23^%Uy8xx+dTtVWFNZC zL^?c0#I${fJw!7{CG%rlprhcWM+myDhq0u;G9g%udAcB4YSe5?jl4?r-dB*ybWAF#JJ-T`XY0(iO4io3(5DwUe6$6FZ-;QS3hN2(x)5|Q@ zUY6#19Q1u3)hP!pQ+hv(0<<|G25t9^$uOo&3-LP?%Y8;Y6*2NQ0AL&0A5$6dQ$i3}qme@>_%SF=QpaX^33pvXT?DOE1`LUNzt$s5Us5$O}p zhZqp7EZJiPC5`OJ2p_VR68OBz&s%gwhtCWp{yu}M6xNXa+ON)_>X}d3oEFYPCiGR$ zwQL-s3C&0~9J)Hej5~J#yVinH|1~Dl6zYjfwbxR81z;g|lba8~6&u_}Q0_}vcEuXQ z3Qc|khN?x+k*O!OW|7W!cB~G*Z;2{X+(Bv_)Jt1DnKEK|${B3DmtR-;-p+jZvdMo% zx8K>3IUry;B;S7~th{6NB81a)5KTLXpNR1hX+SCuDt85yBhF;)n?ZW9l<>!abAopF=4&ebx)-#tA=3`D z1>J^o7u5ivS*Je&|J`^1A^cbTlNlp`y`M?Tfh6%}3`0bT*!sv}zKAcu1W7HYmH-X= zBWdc9<>BzDK%`3e9mIU7HY*b*LiQivjv(W0Kn(efnNvXuW8E%8g<@@^z|@Hsb{f9R zhrK&L+WZ=PC)`HQ-FVRPpikgyN31@{ctj>kB9*OgrYgc%!v+X*_WVX#bCok1J$EDtVBpqJ&k;q&%sBSGpwqM{ z7S*CKP79D#?usUi7 zwrWL`TOJj0qUCb5ar8?(VH`xGYH40(2(7Z9E=B=+>w*$%rn|@W8QBOdY+rn@y|mi# zwzck}9ZDh5PZ7xKcvt(!7S)yU_KXMYSc+GQ-DP`*Z6tKvqHBLB2NLTvy2XfW26O(A zy0xtRjmG_X2#ki+815zR2Ke0g=6^Y-4yi*9{W2L$IPqc46(jGA(OQ=WC^GA1o`?xE5$TbWr5!-q?EV|w|eT4x!| zpb78lmBou1nRJe(o!B04j?l8IYa4ai&|OUcN9$eHUJI`UFEDxl-4liEwq?aWkr5tE72;8~=*np^1-Iv7DFIt)-akY|oi ziMoG@#i7a1!O6Z`{4?Ng0QQMjFgA%=M98ob2Vp~$lza0#xeonFGEY*R_2f2_w2|*S zchuM1wx+bX;!{^J5}&dv(xrgP0CAx;59*{-BeKfsF!AS&lDkIQFDu@JyWL!!VCOF+ zRl4oS$&{Vvr}K<}ei3ASCCQ?)mOd~Nn%`R^+TGpl`4n&L>3U85lE)q=BEWo6q{plf z^x{&!Ag}fOd~k*G@|A3!G#CJfUXy59^mfwXUo)*})>(J&flu?SFj(yo-$pwh=uFEB zS-(lFaM*rh&;p#)qRM9dMHeHPXO@lA0*{o(i+?8&2UhsM3$n*X?_!ui?ul&q2T$Hw zQXx@|ZT(4Rz=((BdEBa(XAmK8hlh0P&Tzd4pV(&ig5;I3>z_i{K5ZtdW&7C+t&g{D zY1mLT2EC?Md;Q*z6q8`ruZaR0iTZjcVJT2OI(iWR%ppy-%J{Kpb$&=L1!>4anuAJZ zKwSUfqQ?8iuzEwsZdu2%F?PF)V=5_``>H2z?dtbJ1Y9=mGu@O_>=(Qh?s?x?v=mQPSATZ;9_f);CsiKwL!ocd@a$(|Qicnb1S6 zKwL^e75RZm7-Oa7unt#576HBCn@x$EONlbilp+sc@L@Q>XL=uw3jjw1$rH5P$3IvJ zI?jx^bZ0+Tzvj=BkuXW6eDbC=IzQDvSoS?m1v%;z=r2iuN3n~{?1G-{uLL>Uab>To za%>%iRRxl&8?0yR!{SD{qkaAhfs{N4VHY8WnS*wf()E$eqJr-C zrNB9P4N(JLspPdLT|B*+3T?`oFlV9)y@&))Mvx=EtHuC0^!;AN(F&Rw}6fl-}n+*;js|mWg zRa%73$KE{G$N#~>{GvAsQhRXYCy@C{!EHv``4gjF-LayO#fouSmsI*E zQCWqkIyO#|*ZrwQiSi`udf*PI767JPmG6wm#NO7ktAEXgdBujnTcalP^GG#%=@2zq z!V8{XRWe^5p2ecKJTm?9Tu1<^uAcSu?TiW+O7#sGF?*IYi5n&~d%Kas5NVgRZGsHB zZaW5^uW>DDp)*3tkULPRFt7fNjYvMVc9SLFoztbZw+W!fVc@YsQik_|lTnqM$@=;1PO6M#`cUZ=V~7Q=K1pzjX?Y!yg@YLynA<8!rPi z?Gxi3u=d~fO-R_(wCn;Y%%-vx23YSdU^2~2Kv97*qJE(OOkU)Y<>PPA%V+>&EttL& zcK0vUfy6VQLok}7|DIkpD`=)zzmCbkPs|MsCl+KD><&XsHU~tM?8Afr8?2sa;$yH2U%Lxq9x07 zVkb{D%fm%uRcA1xX(XVVl#B@1u7_`0gA~GvETn+|_M`vD*;~d%*>-K;r-YPrcMc3) zN=Oe4(v5TosC2i$ASoaWAW{w?64FS6Af1AQARW>mB@OS+d3oOV_2GV>>wccE{&41) z<2d%UuYIj;`>&^3@Js25S2Ut3N|mkQ42{aegg{yz&-u15+r3Ny^a>6&IxjN4$)Ha_ zk;0(XawgXqASvSAf)fc0ixHY?a80Hgr&+)CG(!U8gi^zwGycvOP`ZWd;G2`wgxWJw z^A%EZp9BwhEGA^P#?im5r^kyoOMb462|&*bA#t?WF2r|Kz6HR0u+Y2_J zwD<0w1!}L&f4LmTDnbb(u2VS;Du0X4k@D2J($uCKI>}thvdG#n+O1{zJ5jZN&#(C} z&(FeqEZ8ol!ZeNVmlqBsX=6d`$$c_1Bp(9x0Cx9QHdfWr6Y2rS;E*>Y@yYM23LN0BbJ9C4Crt^p2-5+mxX1>f(VxSbbB> zU#}M;2vx99Y)Ae`neebs6rkajif5l3zUhm;kudkD4H8k9Fy&ucqL03E{1KG0=ilK5 zxseKDKtpSsZaua7$U*eD+MaGO$=|w5{3G^3)euK%pJQVRVtB`5Y9B!F*D0k8H#E(&b$w-8 z4L>DO97-G(0)!x76IdOk^$fTXS$(&tVKGBN@lLtL3nT>zsh zA?HapJ*ywf!S*(<6JFn$G+Xel;)aXu?=tKsf zq}L>e8){i(%AGBv55-Z6{L-pP008-%Pw0YyE{k-f3!lG&qv0~pQs@OSgxNcrI3T%# zu8xKCB%~&umB=w@YaXoig?kQk!uXQ)Ap#RRhEvi`2`zfXWDSM~A01vg_>*({H9)V+ zG@0xVpUj*#b7LQQjyfsEKt^flc=qizTspw!A$|RBY)w2pM?QuFOJ0HjL4|W>*yQ8t zS##1s%zTu=vb2bo@T(1jKGH-2a^+ZST+86?Z(~~rw8R_u^iLbZWD|gVodBZ;^T4H> zwq~5lravWH&eBW;i>V~52ep`E2(dT=?a_5cO$E$@xCNI0#9*$lc_!#<{4Ni^5Do2N=oU3qsrbD22IZ^8@1v#mE$?{nnxBbmC zlw%qJn-7Q+VhN0o>Y2t!!Du?4cf}3bVQ4KopMJm@B;}`n<3mc7{Q0;LK11MaZF}is z)Jv#D()FUr_b_@UfIG#?d233y=jp|7M-rWBi(d;!ztTzHwMe>6&M`){K>} z%?um8J~r&H%#^nTUSK-BRT+R$dGB2(^a<~BxY9>?E*E4671^++*rSyc(;zz@tVz4J zkT26!0y^~L-zbhcGhsaD*RPMNZtSIGOR)$J3=7?Un}ppx&T||dZ8-v)g#44=P*w|{ z?TRy-=Z4II2fh%>jT5zWtBtoTWG|L=U&f2F#uL1ClqJ(UC%CZwM}tR!B9J``+54L9 zdDYv+Ells;(cXH8X`(e<$Z^DXYri|9S&t_6+}!Y*C{s8GM~Rm!juGL7qs8REDL&6m zE0>TxT9baUV&Jqx1Y@TRjoi{T<4|FcPgE=mO!e+ay_r!P5v^OwDQok(3OESmfbH!exTJ{A;z-z~v@ry4l zl)yExlg9&vqVfm*XqfD_mc4a;TNMM0~lo8sg}XLRP`d_rpir8w{UL7d;h z0j}HK&{y(yyEEO;PbO7wphgGJAq3^;QRJE&vKf}99Xw(OHnVqxs`+i@@9bbg5Wg}E z4i_UNqcB;a**Di0yoEoURWeMxXKSoTJwG;}e(6IE#SIsTwkb*d{8tP`5AP61=o=I6E~V*0wEXG5Zzy;bwPRFXi!(A0tuo~)52-mTOyleo+K5u-9P zKxR`Wz;ffZ^aat?swQ^%hCYH;C~s6Kwxd8-Ct!mYAJfQyluLhs8hBSV)jEE#xH63C zoos}EGYB%#CV@L@S>p0s!7bxncg(p&y>_MxeV1TFld%@k!8w<_O?=&7RHB5?!e;8@ z^`9rWE9sS#F!&Ke5DX|T^Gb8ow^rz!39*$ZYKdutwD0+`Kg-k3Zs%$ow2o*}deug= zU4N#?jL2Dw8u7|l zQ^;;#BCKx$N7T82~UD^ah$0fUNC}Cv)gKDAoOw{D?jO& zGFBrt8)(@zz4KPOMX+TQTG7OM27oJUoh|BiTH!L<3F8)n)!FsYx8<>-R}U|I*q)io zlYK|~d}eZ$i_s|J{l$IlyR6e&w2ykFWWw&vY77p4IL~w^(28 zDxj}Kx6Ir18ZrH!R;6YtfHeDMRoAkJJ{c6r6pO%#2t|yb%kK8aP8RBclz8t z?_nd`K0Y zS?=24ue3FI&SUl-zBKN8fvaN2*G)^O@}z`;fktzN-rGd7roCQeh@Xkh64($`{*t!H zu~A4TDZp4(Cxm2P5zKsb%ucWMlZ!!^Vq_icK`_L{bUNy(6O z+EC3!=w1r-gQvRjL_%=^p@tws$(UO{TewX&A?^tvG?hw|jFtE{Poy5&m)0!_K#ViB zv(Fcv?$3IYWB(3TQWr)16$%YoV3EGZ$a%y)DM?VgUDvc(R4lJQtivSD+)v+!@~Ms) zo|lU+Z6PiGZa^_^gE&FZFm{{M0{sCvAVJE3(~G5s0_%6}u;hiw%qKOiP!>r3hrWA( zedyEv)71`EXO#+()6qyt7)_6)$p^;t9+VE2l>0rul-V-Z)!y*QbfxdH%#uF!{Am+b zZSk%3hM}cM_0hSb-<_#9!p>P4$WMk!iA$Rb36ccVKZi0o-OA-IxXA1hKKD?P$pK`1 zQAegK>cnkH@0S@v-V(1$7oX5-f2zR`%3`_c=yKbBGKjNFBW6h0I8=m;>{-Rz2hLyZ z>Hy6FUx>^O0DOXWzn*C+uay8YoGPRbbU7Cd85bW8woI`M)#x zC{2}Fid>#;0bAsXJn(gsDJEv7uhnPFdKQHfxh7Cb-6d1ysSA9Vrwoj(iP}HEyfuH1 z1tID?RBloAg03RM2|E|3(N8j!g=M&^?o%LFmJ`;^nGrR}c zsiCNidle$mmhq!+g4@;-$U$%Zjo~w!6`{UW4Ju4@M8g=4YKk0+9OecTN5zQi4iWA` z_$bYQW}espky>_|kK_|6<-}%VDU!aZyO_K~Z8BPTSP7U})x=~}7N{xE*I_m?zouli zD@bHUvb26JI~$08fnnej`&1I8V*s8e1{XGoh#5C;s2ef0)NiWJhaw4d_1Hwb6|S=n zL>M9rEBCoNTd}lG4VT@ipHUsn)3z@Q#%Gq9A%q z-);2*87L^fcH*tqw(uR4|KV$#YXf~T&XELGu$qr zDdtsr&jagwwst1@SuM$yMQ)6_;wHw^xJ>01ZOh+2;tRxygS_pPMR49#TU-rKioyOI z4i8@7a`uF1?!zgGe~R7=VxZFE=o0l88(%lyXPt+ei{1l_% z;qFU*hdBfvJjB0xbN)23X#{Q`qHKKouX%9(A}r_p=Oh2kQ+qEYECd`16`+iE3Q#P} z?GMyqet8YaJ$*y9zK8m=GBG%>Pzf`Lu&S;>C2USUZT%2Le-ieXKNedT=-<)5AsuIB zI9r38uid-qcQozcr8UOcCr7FN6NyUdIjL0Wv+U>fe-9e|ceKT=P=)3>xI_UMR+=D8 zSsLsko~QgUc2b;+C;!S$T}~N6eWp$g{ETHwga0!S04MyDWm^_dZ=zDDh z+i+HXgVPRe7m}eOoGA$MKFK2k0)|Au`pEY7;g&T2c-D0R5FCXcz!yb_|KmOuxxBse zGpyjr?*IQh*%BF$ItL3P(b!o^5byy)mA6cYp9@4P2LTYo?`{2;TyhV!gs`3tb`+RJ zg@dj#Aq&w3_)Pu`u9QE?H}duq_;&xpcYwSgp@fSOF_v#C=R{laWi?CUI{BLPS?)q} zLU#@zYNk7l7K$Q9I@cyP~mP#GHk2GzV^bWtJ% z7jdr@C?>?W|Jd&T{e=ZV@Y(H8_a{)nxe!*f4U{8kM@!i2!^3jr*_tW1p$=ZndV84n zetdqkLi1p6k%5;rhy{Oeu$4CO2^5!S&#f;_Nt7uzj@c`cWZ#4h?e)!;S+9M;7&L8* zVM@+~NDh|3HJz!`bhSeY80rMk#B4lLj^wb7AKAgbjj50%GSFqP%mli+cmI?&X^d}| z*|IYzB;q#;{6mHK@0k6Wpoa?lMIRk}H0O?5;1VlrNxHG;wbH@xO&g(7MYa+yznAJI zOO)!75)tW#5B-fwa;ZVJ8BvIgm4k^7L6;twkR|t*iK@JI(D5JX)ry$;N}&WB#PyLx zDv32&NVEqlL(0+Of*C`tOMBOKO&3qPy~yX=XNH|)F~>< z?hYSSXEzbB(SCxNKWl|#fgCxob~2tz*bjEl4uKWl+YNnvyVgPzJNf?@uyy}lYjgi$ zt=Yhdz|x2sYlkwzu&l5fdT+!%;E5#CK!n4k09}<(pkB?s=7()$GudzaabZ>x-HOxJ z!L#f7Qu^=D<-d~N%DeySXIK7?*F3N#D*lkUq=O&x{sT_SKtof1NjMR}f$$v1YPzZ9 zEywk*tv-OUKT}ZYAOBNDE{B0-;^JOcFMWM^)+FwWH}Es@7x8FoJ4Z&af5-U#ze1r| z2nvw#TX_G^SHKNwWRytwFFHCn5u2?1^H=~XK2c^2bJ`YAh3@nuuY8<$0#n|tnE)q- zNTzq`pBT?^`|>gW$CvLtJduD~S$Tg*v;CNQjauI1^M)Ri9hA}hwMU}Iyd6||yN7w{ zF?5y;JUgOZwwISNJ^acr+OyUJ18xKZ0?dpS*gENT$OlH)|y7ixHNV|P< zP6oo{d^q`hJpXf`bg{Ty*3`r*qT!m+S=KB4;mnDb8rg`&Js#xKME7$qr8rC``TH%| zGp#9@Q}LRk(;^q|`OZ4Ht2CplT|(&rIh8?^>>vMX0>f?H-U~cdpYO^43ReGyD*@Lf zJpumWRw<+3K?jBL$z$fPh@k1-fAST^uDEh9Kcf(B@@JSMl4OJa=^;xERzvr43J8EN zh%UiJ%Dm%x`zHW0{v80f|2F}!4z5ka^GiF5St=_g?OaS>UCev$I1v&wL}Mi+A7rEk z-ARo2iTIMu9+#+e{=LWhYy>kOli}jb5!{}M)Yk@eP2vNQxbK83eTyK>UHvkgf$qKKp@V8Q7=MZ2ek#A{H%;`ARyq~283Kl z)Ro&U@x@v({s^>L$^Expm;v|9cz>E;fdQERj+$7e!!$*yf`O*q-|??kn}PcFM%TTb zG5HL->dRLD^B#;r29{5p4Gha@pZ(pVOe9O8*G?~zOff+rPDEw!l{08~f_E7AtI`lD zEtU=_orc=z822;TIgn6mlrdB0C+dy9nR)R!y8h&uTVkylX8uHW8I!^c_+}0+@ZA6J zH@$5cDEIcf9NK4Zwg?uH#O_+CHnu!Ei=z5`M$c6i6}eUK>^Bful@vxUnOqmF@8j1m z?mC#gz9>A?CX+J1seRGknBm_EF@^6at3splwc##Hb3E)mL@ZzFq(W{CB9UWFvMeJ` z*krx)o%w(5HiAezVY){E+eoMVF$lv-Ai@Np?XN`ne?pth?E-oEpF-PhZ%iKbEv9Rd z3RI?%r8l41oo0t9Rg-9Bio4^H8{)Z2a{m1d=9RBJqQvZ}K2c#squEUOE_o!PB6LyW zk;9ZKBbPaLQ2DI<4s{mdc^~K_=nkSCqEk%KpX2hdSvwIbo9cZqU%ktRCb17K~TIgjq7kHTMn9crYAg6Tn-E3>+4wPt+ZU|sKjo>nduOsF z5^ZC}Mngk4TEVMTRt2(qpnh<`jrbj=$pln_i9MK*NoZ(isp;H%wa3kW?{5kKYX$tx7*i6cKavF+2PvZ!HOuKd&upcH_dq{c)c@K)eXSCc4sZ!oSF>5 z=UCfu|6`E;bX(jF#z0o<42kqXSk+u)hd8j1p7XSJE2TQzh{)v*F&NaLeQf@frrRmY zX+1cS@D`lXa~YOPhq4RA{X{4!Ky71_X8&B1h}+*eaf%bq?e0MSKPO`%<=|d{J3+K6 zk{hN7?Ugzq;b+Hj;VGc?O$N&%%tLpkBbu3yy84wT!<8h39<$7Y2WBznlD*3Ih6i zV>8#syxuMOj-XE5uMbO>8{*Jdd;s2PC?!t+52};*52_TW$S7RH^ zneCl<4Na=a`81+S#M&5XnnYckc6hwL@g(;~Bk`}&&kI}8LC^hEw9`O})Z6tzoGN)_ zzlInC!V4356b|;!NP)|qXhDR?F*KyoI5fw!pOYFawx{?8dUTxQyRrNtM4jsTb zF@Z)2hP8SMdc~_B&6=k#mSSq=z}$)E_HZ13paow8W7s+Y+MZgnjynH4a8B+5M_mM! zl=p6KGw7xI8vrm$hL~pn;uQI662K4wFZWfVPQq&)zOn8BbOfRr zeh`32$j^b!)h4K|4Hs*#s_f+@sjD>C$2)`4S^5bme5;5`>Es^)Y0YYW9tm!KPQc?@ zr{fgv$BTi-}?_&jCFuo9Lq|)G{LmyghRl>$&j{@Jj^a#CAo>Ybw&-#%_~wv|Ct&#E^6 zm1hs^ru9TXqq(O+p?UamOF%t<$Z$AJavP@r)21%~D^aClMyU-SgC_gZt!8-+_|Nlj zh5f;gdh6YWZrh~FQ_nIe_!_bj;TLiPyx66Vfdl+ew9*=s0G4d+yfe+)3_wY~d7P|d z9LXGdqr--7o8UhmBqV`Z-2P%-+rNgytLl0jDa)Qu;hY#rxdZ^uuQ*>c`H)yybSVk@=G|XGjnQ9t z&hVSq`TEVahJJ)26$lY(*8eF)fJ1BhwVK>tG&{`mOy+^IFBk@w`;~j7KNCv5KH}l# z&m~iNO&?AieK%DR8dQDn;E};g=^T41%zThPg+kl!iH1hb$kTslBUJZ?FmuHvo|?X4 z4~^NAJg!xO1^wXOcb7ZB?_|tDL&TjI221R%nSisRiW|uJ|Ei3S2f|(%g@MeAw{IK@RC0hUO3M+_9%w)y#m6omOzE&t61)ma0k$DWtk$sI^+i0#zG6xko zO8A!dyy^NYNE9LeeI?u7-CSaLTI~ZP`b@_5^2D-e-K2ZjGnBf3;Tl}LK5MBqV zMar{@(D#?Ru0MfURnD7Z8!(j;Js3_*F;W)8f6~-|n}qb>`ROmVJjs~wu``{hD)5P> zw#13=G_vQ4F7YAJ_0n+$r6xPCXvHS{!Mv#>9+n>PLYJlp077oz#NmM8aP0dTAcb-M zUf!KN@VPSPFGAophcttZ7su4{!>9MPR&ZvYOq3X%bM@iBM$ZC+*59WJJI`r)^kgg2 z({2MiNdSa5PL#E_*71jzC%soccdZW?7GvpfmZ zJRHB1nQxC)!{#wpBm&Pp08uLyx_El4MKUmPt)Hw~lb!2j+e^QfH<;~*O*5ZjcbQEj z6cDNgG^6P0LUU(p+2q`eDpzb-6pSJ*MF%g#G4_4+Bk)e1`4>bmrzJRFoxf@VLtW$! z?*$d=Z3&gBrechp?*ehfzCwIZAMoVhKcL-tIc}g%xu%jLuGlwWtjs%VZ7LXW>f(H` zvKBfe->MU_4@#fs^1u)8=C>Y+ez_pLL*Qe`4fBvS9O>b z=%r0{5Y#Fl8B0V7PM`Pw!&y-KHv@tU*PiKoLiZEKbhsemavlY)&7#i7Q|J|yLy_tY zmlisZXz6d9J@^ZpZaXw0G?^sHRCep1A`vVrFF4&IkD^R&v%u(vrsWd~Cg^RwrL4Xw z*Wq#jq0~*As)4wUGJ0B9y%7iwoLD&VtZHxl0iPh#pz-(4+_-^(-jW@t4$KJ-Khm#6 zN!2kh)zgbXQFfURq)mp`ucoBSBmL5i`(r8iwSj7#G!a=p`Cg54aIX!cF(!P(F6Voz zzN!A|P++XF3;Se7s!NIO<@g^E0^*Zwi7zt(+6|1x0$A zU}9bqU>W)mh$pBRmV|uih#JP^7k<>|ns@@l$IUwGqDGM&4s*bXbd>QR3#gB@P9pDT z_ZWfEKb;4gIF7m6`9oNp$N`|u`ZjOo@0hjlKy$jTdJ>?f+8&l+@Qb*u*jMacj27$f z7<&%B%*V0~?@1T)E}g8jRjtv*d6L09Uoi)SB&oJ!D*lM0d1^>V*zijN)(&Go^yOc) z0a5)pU#?tI!lVHtRqkACw^9iYKtV{`q8qvleIV6!Ab3!-evN7-$QG|Iv!k$U@mel1N>b|p5o@g@TRS)&=ceqDU#A~Xu1Do1B^DBJU`Wro(PI>JWylHb)z zh+0Sw@>A=unqbS;`Cp6l9z)i^gzyb8-wyIBaaJPjQ^>*@K;@0qQ1JY;!pf%)I@Ky~ z*5ImcA#}5T*O0k9LpN$^dUszN09x25nT@3|84#z?(zYMY#paNkASU{elS3Oc_EC))W8e$)nNDL0t<26wZvxBDJuW-pdf9`8ie~Lz3{!X$Qi!7Bb zLsN6~RE%Hb2D@Konn*k0TI<8tLSyI6YTN!NkU$)ANxdyJvV;W0#YRE5|KVCIQr`tw z<5I*WUWKU+2cmC^Kbtt510$RB%SaO>TV;Evd;kqB{?ogi@|?U&!xv;^sd*K0mn~WT z&|Oe>P@p}Vt#&AG!hZ#-v(~p|GnaA#i;pQIjfWP=U$Sn+6H&~c{USe`j2)YwSGLyw z(lBb>NjaVwX)x;iXi7AEmECE>{dp#3P#Y12o9EN%vU+J(f77TPM(-{!X_QLSYqxvd zXe@LwNtPxzDI07TDoKN&?rNNF;k9rrP)uiG!KrEHf}GlAc|CH)v3%W zJ_M+*g8H%vkR8K>DFdDOU68>z8&}`jFD7##@=S};Mo`99d)~X#>6pYi=pium@kf|e%=_<`4kx$t{}R)O{;8(=Mm?{BmVR!u zQoZsgU@&d)(5uXI_|~=g6gS)l7?MsN^%UdLK8)UKMt8-6kn{d_ZwozvZ~MwA7lO}_ znQiRsQeJuM?y=iYTuMN?77gjgggkZO#Uu=U{AsGnPJ#6NQF{fN-|wm3r{UkK9g^0Y zkFq+`6mDH8w!U1z*vJF&;9`ye41Bsgxyb$q!Q{;e$9HlVaP9r2PCZN9k?zoZwe$%; zp?hl#mbQ151wA)OAZ!!~Z`Q3Oet$+aMO=nZ$QtdTuuykcH~Zm^LJ%&r7_O;I9ST5e zmm{!nfEgsV0_ZVqFHk9B14;;t}*wk6Tb)AMrrqfHXWd3 z_uYb~G>pk23A;jpvbpF1E%6wTE_%X#cE`~cpgov)I>v7%{e+>~6{(bI_@Zi^wJw!| z%$}Gn&R{A(yON@tl&zGL_T{5DqCf8Ss}2SF1IofUHokYvSa#E?Vj8;!0HZFGvK{>Z zz7Kh?$CwJfXp?Uf*Qf>fHB_vTXd`I*Vzzzm(@v$^b&vAI4R7ij;B+n&rne1+|4!*> z#L;{TF4E;ceXtd$=E&$@3Nyg=Ph@m)A+WG!TpO(HvQhV|8%`aS4X+B?&wC-ZL*u4? z=h$+mgC+&n6_8ny9*9s^UylwdKkr*EnFu3⋙2Ql^ZXqRYqheMb7E<(&>#&fF<#g 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