From 7cb4d455375926a754c3d7664db6f40b29825748 Mon Sep 17 00:00:00 2001 From: Untriex Programming Date: Thu, 4 Mar 2021 12:13:46 +0100 Subject: [PATCH 01/18] Heartbeat fastapi --- .gitignore | 500 +++++++++++++++++++++++++++++++++++++++++++++++++++++ main.py | 44 ++++- 2 files changed, 543 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index e3012b9..b32da44 100644 --- a/.gitignore +++ b/.gitignore @@ -1070,3 +1070,503 @@ .venv/lib/python3.9/site-packages/setuptools/windows_support.py .venv/lib64 .venv/pyvenv.cfg +__pycache__/main.cpython-39.pyc +.venv/lib/python3.9/site-packages/wsproto/utilities.py +.venv/lib/python3.9/site-packages/wsproto/typing.py +.venv/lib/python3.9/site-packages/wsproto/py.typed +.venv/lib/python3.9/site-packages/wsproto/handshake.py +.venv/lib/python3.9/site-packages/wsproto/frame_protocol.py +.venv/lib/python3.9/site-packages/wsproto/extensions.py +.venv/lib/python3.9/site-packages/wsproto/events.py +.venv/lib/python3.9/site-packages/wsproto/connection.py +.venv/lib/python3.9/site-packages/wsproto/__pycache__/utilities.cpython-39.pyc +.venv/lib/python3.9/site-packages/wsproto/__pycache__/typing.cpython-39.pyc +.venv/lib/python3.9/site-packages/wsproto/__pycache__/handshake.cpython-39.pyc +.venv/lib/python3.9/site-packages/wsproto/__pycache__/frame_protocol.cpython-39.pyc +.venv/lib/python3.9/site-packages/wsproto/__pycache__/extensions.cpython-39.pyc +.venv/lib/python3.9/site-packages/wsproto/__pycache__/events.cpython-39.pyc +.venv/lib/python3.9/site-packages/wsproto/__pycache__/connection.cpython-39.pyc +.venv/lib/python3.9/site-packages/wsproto/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/wsproto/__init__.py +.venv/lib/python3.9/site-packages/wsproto-1.0.0.dist-info/WHEEL +.venv/lib/python3.9/site-packages/wsproto-1.0.0.dist-info/top_level.txt +.venv/lib/python3.9/site-packages/wsproto-1.0.0.dist-info/RECORD +.venv/lib/python3.9/site-packages/wsproto-1.0.0.dist-info/METADATA +.venv/lib/python3.9/site-packages/wsproto-1.0.0.dist-info/LICENSE +.venv/lib/python3.9/site-packages/wsproto-1.0.0.dist-info/INSTALLER +.venv/lib/python3.9/site-packages/typing_extensions.py +.venv/lib/python3.9/site-packages/typing_extensions-3.7.4.3.dist-info/WHEEL +.venv/lib/python3.9/site-packages/typing_extensions-3.7.4.3.dist-info/top_level.txt +.venv/lib/python3.9/site-packages/typing_extensions-3.7.4.3.dist-info/RECORD +.venv/lib/python3.9/site-packages/typing_extensions-3.7.4.3.dist-info/METADATA +.venv/lib/python3.9/site-packages/typing_extensions-3.7.4.3.dist-info/LICENSE +.venv/lib/python3.9/site-packages/typing_extensions-3.7.4.3.dist-info/INSTALLER +.venv/lib/python3.9/site-packages/toml/tz.py +.venv/lib/python3.9/site-packages/toml/ordered.py +.venv/lib/python3.9/site-packages/toml/encoder.py +.venv/lib/python3.9/site-packages/toml/decoder.py +.venv/lib/python3.9/site-packages/toml/__pycache__/tz.cpython-39.pyc +.venv/lib/python3.9/site-packages/toml/__pycache__/ordered.cpython-39.pyc +.venv/lib/python3.9/site-packages/toml/__pycache__/encoder.cpython-39.pyc +.venv/lib/python3.9/site-packages/toml/__pycache__/decoder.cpython-39.pyc +.venv/lib/python3.9/site-packages/toml/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/toml/__init__.py +.venv/lib/python3.9/site-packages/toml-0.10.2.dist-info/WHEEL +.venv/lib/python3.9/site-packages/toml-0.10.2.dist-info/top_level.txt +.venv/lib/python3.9/site-packages/toml-0.10.2.dist-info/RECORD +.venv/lib/python3.9/site-packages/toml-0.10.2.dist-info/METADATA +.venv/lib/python3.9/site-packages/toml-0.10.2.dist-info/LICENSE +.venv/lib/python3.9/site-packages/toml-0.10.2.dist-info/INSTALLER +.venv/lib/python3.9/site-packages/starlette/websockets.py +.venv/lib/python3.9/site-packages/starlette/types.py +.venv/lib/python3.9/site-packages/starlette/testclient.py +.venv/lib/python3.9/site-packages/starlette/templating.py +.venv/lib/python3.9/site-packages/starlette/status.py +.venv/lib/python3.9/site-packages/starlette/staticfiles.py +.venv/lib/python3.9/site-packages/starlette/schemas.py +.venv/lib/python3.9/site-packages/starlette/routing.py +.venv/lib/python3.9/site-packages/starlette/responses.py +.venv/lib/python3.9/site-packages/starlette/requests.py +.venv/lib/python3.9/site-packages/starlette/py.typed +.venv/lib/python3.9/site-packages/starlette/middleware/wsgi.py +.venv/lib/python3.9/site-packages/starlette/middleware/trustedhost.py +.venv/lib/python3.9/site-packages/starlette/middleware/sessions.py +.venv/lib/python3.9/site-packages/starlette/middleware/httpsredirect.py +.venv/lib/python3.9/site-packages/starlette/middleware/gzip.py +.venv/lib/python3.9/site-packages/starlette/middleware/errors.py +.venv/lib/python3.9/site-packages/starlette/middleware/cors.py +.venv/lib/python3.9/site-packages/starlette/middleware/base.py +.venv/lib/python3.9/site-packages/starlette/middleware/authentication.py +.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/wsgi.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/trustedhost.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/sessions.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/httpsredirect.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/gzip.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/errors.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/cors.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/base.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/authentication.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/middleware/__init__.py +.venv/lib/python3.9/site-packages/starlette/graphql.py +.venv/lib/python3.9/site-packages/starlette/formparsers.py +.venv/lib/python3.9/site-packages/starlette/exceptions.py +.venv/lib/python3.9/site-packages/starlette/endpoints.py +.venv/lib/python3.9/site-packages/starlette/datastructures.py +.venv/lib/python3.9/site-packages/starlette/convertors.py +.venv/lib/python3.9/site-packages/starlette/config.py +.venv/lib/python3.9/site-packages/starlette/concurrency.py +.venv/lib/python3.9/site-packages/starlette/background.py +.venv/lib/python3.9/site-packages/starlette/authentication.py +.venv/lib/python3.9/site-packages/starlette/applications.py +.venv/lib/python3.9/site-packages/starlette/__pycache__/websockets.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/types.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/testclient.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/templating.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/status.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/staticfiles.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/schemas.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/routing.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/responses.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/requests.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/graphql.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/formparsers.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/exceptions.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/endpoints.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/datastructures.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/convertors.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/config.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/concurrency.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/background.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/authentication.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/applications.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/starlette/__init__.py +.venv/lib/python3.9/site-packages/starlette-0.13.6.dist-info/WHEEL +.venv/lib/python3.9/site-packages/starlette-0.13.6.dist-info/top_level.txt +.venv/lib/python3.9/site-packages/starlette-0.13.6.dist-info/RECORD +.venv/lib/python3.9/site-packages/starlette-0.13.6.dist-info/METADATA +.venv/lib/python3.9/site-packages/starlette-0.13.6.dist-info/LICENSE.md +.venv/lib/python3.9/site-packages/starlette-0.13.6.dist-info/INSTALLER +.venv/lib/python3.9/site-packages/pydantic/version.py +.venv/lib/python3.9/site-packages/pydantic/version.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/validators.py +.venv/lib/python3.9/site-packages/pydantic/validators.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/utils.py +.venv/lib/python3.9/site-packages/pydantic/utils.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/typing.py +.venv/lib/python3.9/site-packages/pydantic/typing.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/types.py +.venv/lib/python3.9/site-packages/pydantic/types.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/tools.py +.venv/lib/python3.9/site-packages/pydantic/tools.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/schema.py +.venv/lib/python3.9/site-packages/pydantic/schema.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/py.typed +.venv/lib/python3.9/site-packages/pydantic/parse.py +.venv/lib/python3.9/site-packages/pydantic/parse.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/networks.py +.venv/lib/python3.9/site-packages/pydantic/networks.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/mypy.py +.venv/lib/python3.9/site-packages/pydantic/mypy.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/main.py +.venv/lib/python3.9/site-packages/pydantic/main.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/json.py +.venv/lib/python3.9/site-packages/pydantic/json.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/generics.py +.venv/lib/python3.9/site-packages/pydantic/fields.py +.venv/lib/python3.9/site-packages/pydantic/fields.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/errors.py +.venv/lib/python3.9/site-packages/pydantic/errors.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/error_wrappers.py +.venv/lib/python3.9/site-packages/pydantic/error_wrappers.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/env_settings.py +.venv/lib/python3.9/site-packages/pydantic/env_settings.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/decorator.py +.venv/lib/python3.9/site-packages/pydantic/decorator.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/datetime_parse.py +.venv/lib/python3.9/site-packages/pydantic/datetime_parse.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/dataclasses.py +.venv/lib/python3.9/site-packages/pydantic/dataclasses.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/color.py +.venv/lib/python3.9/site-packages/pydantic/color.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/class_validators.py +.venv/lib/python3.9/site-packages/pydantic/class_validators.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/annotated_types.py +.venv/lib/python3.9/site-packages/pydantic/annotated_types.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/_hypothesis_plugin.py +.venv/lib/python3.9/site-packages/pydantic/_hypothesis_plugin.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic/__pycache__/version.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/validators.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/utils.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/typing.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/types.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/tools.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/schema.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/parse.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/networks.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/mypy.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/main.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/json.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/generics.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/fields.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/errors.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/error_wrappers.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/env_settings.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/decorator.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/datetime_parse.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/dataclasses.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/color.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/class_validators.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/annotated_types.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/_hypothesis_plugin.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/pydantic/__init__.py +.venv/lib/python3.9/site-packages/pydantic/__init__.cpython-39-x86_64-linux-gnu.so +.venv/lib/python3.9/site-packages/pydantic-1.8.1.dist-info/WHEEL +.venv/lib/python3.9/site-packages/pydantic-1.8.1.dist-info/top_level.txt +.venv/lib/python3.9/site-packages/pydantic-1.8.1.dist-info/RECORD +.venv/lib/python3.9/site-packages/pydantic-1.8.1.dist-info/METADATA +.venv/lib/python3.9/site-packages/pydantic-1.8.1.dist-info/LICENSE +.venv/lib/python3.9/site-packages/pydantic-1.8.1.dist-info/INSTALLER +.venv/lib/python3.9/site-packages/pydantic-1.8.1.dist-info/entry_points.txt +.venv/lib/python3.9/site-packages/priority/priority.py +.venv/lib/python3.9/site-packages/priority/__pycache__/priority.cpython-39.pyc +.venv/lib/python3.9/site-packages/priority/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/priority/__init__.py +.venv/lib/python3.9/site-packages/priority-1.3.0.dist-info/WHEEL +.venv/lib/python3.9/site-packages/priority-1.3.0.dist-info/top_level.txt +.venv/lib/python3.9/site-packages/priority-1.3.0.dist-info/RECORD +.venv/lib/python3.9/site-packages/priority-1.3.0.dist-info/metadata.json +.venv/lib/python3.9/site-packages/priority-1.3.0.dist-info/METADATA +.venv/lib/python3.9/site-packages/priority-1.3.0.dist-info/INSTALLER +.venv/lib/python3.9/site-packages/priority-1.3.0.dist-info/DESCRIPTION.rst +.venv/lib/python3.9/site-packages/hyperframe/frame.py +.venv/lib/python3.9/site-packages/hyperframe/flags.py +.venv/lib/python3.9/site-packages/hyperframe/exceptions.py +.venv/lib/python3.9/site-packages/hyperframe/__pycache__/frame.cpython-39.pyc +.venv/lib/python3.9/site-packages/hyperframe/__pycache__/flags.cpython-39.pyc +.venv/lib/python3.9/site-packages/hyperframe/__pycache__/exceptions.cpython-39.pyc +.venv/lib/python3.9/site-packages/hyperframe/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/hyperframe/__init__.py +.venv/lib/python3.9/site-packages/hyperframe-6.0.0.dist-info/WHEEL +.venv/lib/python3.9/site-packages/hyperframe-6.0.0.dist-info/top_level.txt +.venv/lib/python3.9/site-packages/hyperframe-6.0.0.dist-info/RECORD +.venv/lib/python3.9/site-packages/hyperframe-6.0.0.dist-info/METADATA +.venv/lib/python3.9/site-packages/hyperframe-6.0.0.dist-info/LICENSE +.venv/lib/python3.9/site-packages/hyperframe-6.0.0.dist-info/INSTALLER +.venv/lib/python3.9/site-packages/hypercorn/utils.py +.venv/lib/python3.9/site-packages/hypercorn/typing.py +.venv/lib/python3.9/site-packages/hypercorn/trio/udp_server.py +.venv/lib/python3.9/site-packages/hypercorn/trio/tcp_server.py +.venv/lib/python3.9/site-packages/hypercorn/trio/statsd.py +.venv/lib/python3.9/site-packages/hypercorn/trio/run.py +.venv/lib/python3.9/site-packages/hypercorn/trio/lifespan.py +.venv/lib/python3.9/site-packages/hypercorn/trio/context.py +.venv/lib/python3.9/site-packages/hypercorn/trio/__pycache__/udp_server.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/trio/__pycache__/tcp_server.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/trio/__pycache__/statsd.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/trio/__pycache__/run.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/trio/__pycache__/lifespan.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/trio/__pycache__/context.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/trio/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/trio/__init__.py +.venv/lib/python3.9/site-packages/hypercorn/statsd.py +.venv/lib/python3.9/site-packages/hypercorn/run.py +.venv/lib/python3.9/site-packages/hypercorn/py.typed +.venv/lib/python3.9/site-packages/hypercorn/protocol/ws_stream.py +.venv/lib/python3.9/site-packages/hypercorn/protocol/quic.py +.venv/lib/python3.9/site-packages/hypercorn/protocol/http_stream.py +.venv/lib/python3.9/site-packages/hypercorn/protocol/h3.py +.venv/lib/python3.9/site-packages/hypercorn/protocol/h2.py +.venv/lib/python3.9/site-packages/hypercorn/protocol/h11.py +.venv/lib/python3.9/site-packages/hypercorn/protocol/events.py +.venv/lib/python3.9/site-packages/hypercorn/protocol/__pycache__/ws_stream.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/protocol/__pycache__/quic.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/protocol/__pycache__/http_stream.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/protocol/__pycache__/h3.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/protocol/__pycache__/h2.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/protocol/__pycache__/h11.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/protocol/__pycache__/events.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/protocol/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/protocol/__init__.py +.venv/lib/python3.9/site-packages/hypercorn/middleware/wsgi.py +.venv/lib/python3.9/site-packages/hypercorn/middleware/http_to_https.py +.venv/lib/python3.9/site-packages/hypercorn/middleware/dispatcher.py +.venv/lib/python3.9/site-packages/hypercorn/middleware/__pycache__/wsgi.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/middleware/__pycache__/http_to_https.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/middleware/__pycache__/dispatcher.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/middleware/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/middleware/__init__.py +.venv/lib/python3.9/site-packages/hypercorn/logging.py +.venv/lib/python3.9/site-packages/hypercorn/events.py +.venv/lib/python3.9/site-packages/hypercorn/config.py +.venv/lib/python3.9/site-packages/hypercorn/asyncio/udp_server.py +.venv/lib/python3.9/site-packages/hypercorn/asyncio/tcp_server.py +.venv/lib/python3.9/site-packages/hypercorn/asyncio/task_group.py +.venv/lib/python3.9/site-packages/hypercorn/asyncio/statsd.py +.venv/lib/python3.9/site-packages/hypercorn/asyncio/run.py +.venv/lib/python3.9/site-packages/hypercorn/asyncio/lifespan.py +.venv/lib/python3.9/site-packages/hypercorn/asyncio/context.py +.venv/lib/python3.9/site-packages/hypercorn/asyncio/__pycache__/udp_server.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/asyncio/__pycache__/tcp_server.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/asyncio/__pycache__/task_group.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/asyncio/__pycache__/statsd.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/asyncio/__pycache__/run.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/asyncio/__pycache__/lifespan.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/asyncio/__pycache__/context.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/asyncio/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/asyncio/__init__.py +.venv/lib/python3.9/site-packages/hypercorn/__pycache__/utils.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/__pycache__/typing.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/__pycache__/statsd.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/__pycache__/run.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/__pycache__/logging.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/__pycache__/events.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/__pycache__/config.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/__pycache__/__main__.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/__pycache__/__about__.cpython-39.pyc +.venv/lib/python3.9/site-packages/hypercorn/__main__.py +.venv/lib/python3.9/site-packages/hypercorn/__init__.py +.venv/lib/python3.9/site-packages/hypercorn/__about__.py +.venv/lib/python3.9/site-packages/Hypercorn-0.11.2.dist-info/WHEEL +.venv/lib/python3.9/site-packages/Hypercorn-0.11.2.dist-info/top_level.txt +.venv/lib/python3.9/site-packages/Hypercorn-0.11.2.dist-info/REQUESTED +.venv/lib/python3.9/site-packages/Hypercorn-0.11.2.dist-info/RECORD +.venv/lib/python3.9/site-packages/Hypercorn-0.11.2.dist-info/METADATA +.venv/lib/python3.9/site-packages/Hypercorn-0.11.2.dist-info/LICENSE +.venv/lib/python3.9/site-packages/Hypercorn-0.11.2.dist-info/INSTALLER +.venv/lib/python3.9/site-packages/Hypercorn-0.11.2.dist-info/entry_points.txt +.venv/lib/python3.9/site-packages/hpack/table.py +.venv/lib/python3.9/site-packages/hpack/struct.py +.venv/lib/python3.9/site-packages/hpack/huffman_table.py +.venv/lib/python3.9/site-packages/hpack/huffman_constants.py +.venv/lib/python3.9/site-packages/hpack/huffman.py +.venv/lib/python3.9/site-packages/hpack/hpack.py +.venv/lib/python3.9/site-packages/hpack/exceptions.py +.venv/lib/python3.9/site-packages/hpack/__pycache__/table.cpython-39.pyc +.venv/lib/python3.9/site-packages/hpack/__pycache__/struct.cpython-39.pyc +.venv/lib/python3.9/site-packages/hpack/__pycache__/huffman_table.cpython-39.pyc +.venv/lib/python3.9/site-packages/hpack/__pycache__/huffman_constants.cpython-39.pyc +.venv/lib/python3.9/site-packages/hpack/__pycache__/huffman.cpython-39.pyc +.venv/lib/python3.9/site-packages/hpack/__pycache__/hpack.cpython-39.pyc +.venv/lib/python3.9/site-packages/hpack/__pycache__/exceptions.cpython-39.pyc +.venv/lib/python3.9/site-packages/hpack/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/hpack/__init__.py +.venv/lib/python3.9/site-packages/hpack-4.0.0.dist-info/WHEEL +.venv/lib/python3.9/site-packages/hpack-4.0.0.dist-info/top_level.txt +.venv/lib/python3.9/site-packages/hpack-4.0.0.dist-info/RECORD +.venv/lib/python3.9/site-packages/hpack-4.0.0.dist-info/METADATA +.venv/lib/python3.9/site-packages/hpack-4.0.0.dist-info/LICENSE +.venv/lib/python3.9/site-packages/hpack-4.0.0.dist-info/INSTALLER +.venv/lib/python3.9/site-packages/h2/windows.py +.venv/lib/python3.9/site-packages/h2/utilities.py +.venv/lib/python3.9/site-packages/h2/stream.py +.venv/lib/python3.9/site-packages/h2/settings.py +.venv/lib/python3.9/site-packages/h2/frame_buffer.py +.venv/lib/python3.9/site-packages/h2/exceptions.py +.venv/lib/python3.9/site-packages/h2/events.py +.venv/lib/python3.9/site-packages/h2/errors.py +.venv/lib/python3.9/site-packages/h2/connection.py +.venv/lib/python3.9/site-packages/h2/config.py +.venv/lib/python3.9/site-packages/h2/__pycache__/windows.cpython-39.pyc +.venv/lib/python3.9/site-packages/h2/__pycache__/utilities.cpython-39.pyc +.venv/lib/python3.9/site-packages/h2/__pycache__/stream.cpython-39.pyc +.venv/lib/python3.9/site-packages/h2/__pycache__/settings.cpython-39.pyc +.venv/lib/python3.9/site-packages/h2/__pycache__/frame_buffer.cpython-39.pyc +.venv/lib/python3.9/site-packages/h2/__pycache__/exceptions.cpython-39.pyc +.venv/lib/python3.9/site-packages/h2/__pycache__/events.cpython-39.pyc +.venv/lib/python3.9/site-packages/h2/__pycache__/errors.cpython-39.pyc +.venv/lib/python3.9/site-packages/h2/__pycache__/connection.cpython-39.pyc +.venv/lib/python3.9/site-packages/h2/__pycache__/config.cpython-39.pyc +.venv/lib/python3.9/site-packages/h2/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/h2/__init__.py +.venv/lib/python3.9/site-packages/h2-4.0.0.dist-info/WHEEL +.venv/lib/python3.9/site-packages/h2-4.0.0.dist-info/top_level.txt +.venv/lib/python3.9/site-packages/h2-4.0.0.dist-info/RECORD +.venv/lib/python3.9/site-packages/h2-4.0.0.dist-info/METADATA +.venv/lib/python3.9/site-packages/h2-4.0.0.dist-info/LICENSE +.venv/lib/python3.9/site-packages/h2-4.0.0.dist-info/INSTALLER +.venv/lib/python3.9/site-packages/h11/tests/test_util.py +.venv/lib/python3.9/site-packages/h11/tests/test_state.py +.venv/lib/python3.9/site-packages/h11/tests/test_receivebuffer.py +.venv/lib/python3.9/site-packages/h11/tests/test_io.py +.venv/lib/python3.9/site-packages/h11/tests/test_helpers.py +.venv/lib/python3.9/site-packages/h11/tests/test_headers.py +.venv/lib/python3.9/site-packages/h11/tests/test_events.py +.venv/lib/python3.9/site-packages/h11/tests/test_connection.py +.venv/lib/python3.9/site-packages/h11/tests/test_against_stdlib_http.py +.venv/lib/python3.9/site-packages/h11/tests/helpers.py +.venv/lib/python3.9/site-packages/h11/tests/data/test-file +.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_util.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_state.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_receivebuffer.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_io.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_helpers.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_headers.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_events.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_connection.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_against_stdlib_http.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/tests/__pycache__/helpers.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/tests/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/tests/__init__.py +.venv/lib/python3.9/site-packages/h11/_writers.py +.venv/lib/python3.9/site-packages/h11/_version.py +.venv/lib/python3.9/site-packages/h11/_util.py +.venv/lib/python3.9/site-packages/h11/_state.py +.venv/lib/python3.9/site-packages/h11/_receivebuffer.py +.venv/lib/python3.9/site-packages/h11/_readers.py +.venv/lib/python3.9/site-packages/h11/_headers.py +.venv/lib/python3.9/site-packages/h11/_events.py +.venv/lib/python3.9/site-packages/h11/_connection.py +.venv/lib/python3.9/site-packages/h11/_abnf.py +.venv/lib/python3.9/site-packages/h11/__pycache__/_writers.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/__pycache__/_version.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/__pycache__/_util.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/__pycache__/_state.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/__pycache__/_receivebuffer.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/__pycache__/_readers.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/__pycache__/_headers.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/__pycache__/_events.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/__pycache__/_connection.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/__pycache__/_abnf.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/h11/__init__.py +.venv/lib/python3.9/site-packages/h11-0.12.0.dist-info/WHEEL +.venv/lib/python3.9/site-packages/h11-0.12.0.dist-info/top_level.txt +.venv/lib/python3.9/site-packages/h11-0.12.0.dist-info/RECORD +.venv/lib/python3.9/site-packages/h11-0.12.0.dist-info/METADATA +.venv/lib/python3.9/site-packages/h11-0.12.0.dist-info/LICENSE.txt +.venv/lib/python3.9/site-packages/h11-0.12.0.dist-info/INSTALLER +.venv/lib/python3.9/site-packages/fastapi/websockets.py +.venv/lib/python3.9/site-packages/fastapi/utils.py +.venv/lib/python3.9/site-packages/fastapi/types.py +.venv/lib/python3.9/site-packages/fastapi/testclient.py +.venv/lib/python3.9/site-packages/fastapi/templating.py +.venv/lib/python3.9/site-packages/fastapi/staticfiles.py +.venv/lib/python3.9/site-packages/fastapi/security/utils.py +.venv/lib/python3.9/site-packages/fastapi/security/open_id_connect_url.py +.venv/lib/python3.9/site-packages/fastapi/security/oauth2.py +.venv/lib/python3.9/site-packages/fastapi/security/http.py +.venv/lib/python3.9/site-packages/fastapi/security/base.py +.venv/lib/python3.9/site-packages/fastapi/security/api_key.py +.venv/lib/python3.9/site-packages/fastapi/security/__pycache__/utils.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/security/__pycache__/open_id_connect_url.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/security/__pycache__/oauth2.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/security/__pycache__/http.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/security/__pycache__/base.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/security/__pycache__/api_key.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/security/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/security/__init__.py +.venv/lib/python3.9/site-packages/fastapi/routing.py +.venv/lib/python3.9/site-packages/fastapi/responses.py +.venv/lib/python3.9/site-packages/fastapi/requests.py +.venv/lib/python3.9/site-packages/fastapi/py.typed +.venv/lib/python3.9/site-packages/fastapi/params.py +.venv/lib/python3.9/site-packages/fastapi/param_functions.py +.venv/lib/python3.9/site-packages/fastapi/openapi/utils.py +.venv/lib/python3.9/site-packages/fastapi/openapi/models.py +.venv/lib/python3.9/site-packages/fastapi/openapi/docs.py +.venv/lib/python3.9/site-packages/fastapi/openapi/constants.py +.venv/lib/python3.9/site-packages/fastapi/openapi/__pycache__/utils.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/openapi/__pycache__/models.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/openapi/__pycache__/docs.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/openapi/__pycache__/constants.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/openapi/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/openapi/__init__.py +.venv/lib/python3.9/site-packages/fastapi/middleware/wsgi.py +.venv/lib/python3.9/site-packages/fastapi/middleware/trustedhost.py +.venv/lib/python3.9/site-packages/fastapi/middleware/httpsredirect.py +.venv/lib/python3.9/site-packages/fastapi/middleware/gzip.py +.venv/lib/python3.9/site-packages/fastapi/middleware/cors.py +.venv/lib/python3.9/site-packages/fastapi/middleware/__pycache__/wsgi.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/middleware/__pycache__/trustedhost.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/middleware/__pycache__/httpsredirect.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/middleware/__pycache__/gzip.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/middleware/__pycache__/cors.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/middleware/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/middleware/__init__.py +.venv/lib/python3.9/site-packages/fastapi/logger.py +.venv/lib/python3.9/site-packages/fastapi/exceptions.py +.venv/lib/python3.9/site-packages/fastapi/exception_handlers.py +.venv/lib/python3.9/site-packages/fastapi/encoders.py +.venv/lib/python3.9/site-packages/fastapi/dependencies/utils.py +.venv/lib/python3.9/site-packages/fastapi/dependencies/models.py +.venv/lib/python3.9/site-packages/fastapi/dependencies/__pycache__/utils.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/dependencies/__pycache__/models.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/dependencies/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/dependencies/__init__.py +.venv/lib/python3.9/site-packages/fastapi/datastructures.py +.venv/lib/python3.9/site-packages/fastapi/concurrency.py +.venv/lib/python3.9/site-packages/fastapi/background.py +.venv/lib/python3.9/site-packages/fastapi/applications.py +.venv/lib/python3.9/site-packages/fastapi/__pycache__/websockets.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/utils.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/types.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/testclient.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/templating.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/staticfiles.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/routing.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/responses.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/requests.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/params.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/param_functions.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/logger.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/exceptions.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/exception_handlers.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/encoders.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/datastructures.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/concurrency.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/background.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/applications.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__pycache__/__init__.cpython-39.pyc +.venv/lib/python3.9/site-packages/fastapi/__init__.py +.venv/lib/python3.9/site-packages/fastapi-0.63.0.dist-info/WHEEL +.venv/lib/python3.9/site-packages/fastapi-0.63.0.dist-info/REQUESTED +.venv/lib/python3.9/site-packages/fastapi-0.63.0.dist-info/RECORD +.venv/lib/python3.9/site-packages/fastapi-0.63.0.dist-info/METADATA +.venv/lib/python3.9/site-packages/fastapi-0.63.0.dist-info/LICENSE +.venv/lib/python3.9/site-packages/fastapi-0.63.0.dist-info/INSTALLER +.venv/lib/python3.9/site-packages/__pycache__/typing_extensions.cpython-39.pyc +.venv/bin/hypercorn diff --git a/main.py b/main.py index 1ff8e07..3b1b4cc 100644 --- a/main.py +++ b/main.py @@ -1 +1,43 @@ -print("test") +from fastapi import FastAPI +from pydantic import BaseModel + +app = FastAPI() +location = "izba" +ID = 55 +IP = "192.168.1.25" +filesystem = { + "otvaracie_hod": ["t", {"pon": "10-25"}, {"uto": "10-25"}], + "prehliadka": ["pdf", "/files/prehliadka.pdf"], + "fotky_hrad": ["png_z", ["/files/hrad1.png", "/files/hrad2.png"]] +} +heartbeat_table = { + "ID": [1, 2, 3, 4, 5, 6, 7], + "IP": ["192.168.1.11", "192.168.1.12", "192.168.1.13", "192.168.1.14", "192.168.1.16", "192.168.1.17"], + "location": ["1", "2", "3", "4", "5", "6", "hrad"], + "file_system": ["x", "x", "x", "x", "x", "x", "x"], + "last_heartbeat": [15, 15, 15, 15, 15, 15, 15] +} + + +class Server_table(BaseModel): + ID: list + IP: list + location: list + file_system: list + last_heartbeat: list + + +@app.post("/heartbeat") +def heartbeat(s_table: Server_table): + for position, server_id in enumerate(s_table.ID): + if server_id in heartbeat_table["ID"]: + if heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(server_id)] > s_table.last_heartbeat[position]: + heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(server_id)] = s_table.last_heartbeat[position] + else: + heartbeat_table["ID"].append(s_table.ID[position]) + heartbeat_table["IP"].append(s_table.IP[position]) + heartbeat_table["location"].append(s_table.location[position]) + heartbeat_table["file_system"].append(s_table.file_system[position]) + heartbeat_table["last_heartbeat"].append(s_table.last_heartbeat[position]) + print(heartbeat_table) + return heartbeat_table, {"ID": ID, "file_system": filesystem, "location": location} \ No newline at end of file From 00cffbece631e3cbda7c8ce88742bd4842a75dad Mon Sep 17 00:00:00 2001 From: Untriex Programming <48880229+UntriexTv@users.noreply.github.com> Date: Thu, 4 Mar 2021 12:15:00 +0100 Subject: [PATCH 02/18] Update .gitignore --- .gitignore | 1574 +--------------------------------------------------- 1 file changed, 2 insertions(+), 1572 deletions(-) diff --git a/.gitignore b/.gitignore index b32da44..b3733d5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,1572 +1,2 @@ - -.idea/inspectionProfiles/profiles_settings.xml -.idea/Mabasej_Team.iml -.idea/misc.xml -.idea/modules.xml -.idea/vcs.xml -.venv/bin/activate -.venv/bin/activate.csh -.venv/bin/activate.fish -.venv/bin/Activate.ps1 -.venv/bin/pip -.venv/bin/pip3 -.venv/bin/pip3.9 -.venv/bin/python -.venv/bin/python3 -.venv/bin/python3.9 -.venv/lib/python3.9/site-packages/_distutils_hack/__init__.py -.venv/lib/python3.9/site-packages/_distutils_hack/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/_distutils_hack/__pycache__/override.cpython-39.pyc -.venv/lib/python3.9/site-packages/_distutils_hack/override.py -.venv/lib/python3.9/site-packages/distutils-precedence.pth -.venv/lib/python3.9/site-packages/pip-21.0.1.dist-info/entry_points.txt -.venv/lib/python3.9/site-packages/pip-21.0.1.dist-info/INSTALLER -.venv/lib/python3.9/site-packages/pip-21.0.1.dist-info/LICENSE.txt -.venv/lib/python3.9/site-packages/pip-21.0.1.dist-info/METADATA -.venv/lib/python3.9/site-packages/pip-21.0.1.dist-info/RECORD -.venv/lib/python3.9/site-packages/pip-21.0.1.dist-info/top_level.txt -.venv/lib/python3.9/site-packages/pip-21.0.1.dist-info/WHEEL -.venv/lib/python3.9/site-packages/pip/__init__.py -.venv/lib/python3.9/site-packages/pip/__main__.py -.venv/lib/python3.9/site-packages/pip/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/__pycache__/__main__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/__init__.py -.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/build_env.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/cache.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/configuration.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/exceptions.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/locations.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/main.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/pyproject.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/self_outdated_check.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/__pycache__/wheel_builder.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/build_env.py -.venv/lib/python3.9/site-packages/pip/_internal/cache.py -.venv/lib/python3.9/site-packages/pip/_internal/cli/__init__.py -.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/autocompletion.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/base_command.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/cmdoptions.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/command_context.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/main.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/main_parser.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/parser.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/progress_bars.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/req_command.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/spinners.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/cli/__pycache__/status_codes.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/cli/autocompletion.py -.venv/lib/python3.9/site-packages/pip/_internal/cli/base_command.py -.venv/lib/python3.9/site-packages/pip/_internal/cli/cmdoptions.py -.venv/lib/python3.9/site-packages/pip/_internal/cli/command_context.py -.venv/lib/python3.9/site-packages/pip/_internal/cli/main.py -.venv/lib/python3.9/site-packages/pip/_internal/cli/main_parser.py -.venv/lib/python3.9/site-packages/pip/_internal/cli/parser.py -.venv/lib/python3.9/site-packages/pip/_internal/cli/progress_bars.py -.venv/lib/python3.9/site-packages/pip/_internal/cli/req_command.py -.venv/lib/python3.9/site-packages/pip/_internal/cli/spinners.py -.venv/lib/python3.9/site-packages/pip/_internal/cli/status_codes.py -.venv/lib/python3.9/site-packages/pip/_internal/commands/__init__.py -.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/cache.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/check.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/completion.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/configuration.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/debug.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/download.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/freeze.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/hash.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/help.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/install.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/list.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/search.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/show.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/uninstall.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/commands/__pycache__/wheel.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/commands/cache.py -.venv/lib/python3.9/site-packages/pip/_internal/commands/check.py -.venv/lib/python3.9/site-packages/pip/_internal/commands/completion.py -.venv/lib/python3.9/site-packages/pip/_internal/commands/configuration.py -.venv/lib/python3.9/site-packages/pip/_internal/commands/debug.py -.venv/lib/python3.9/site-packages/pip/_internal/commands/download.py -.venv/lib/python3.9/site-packages/pip/_internal/commands/freeze.py -.venv/lib/python3.9/site-packages/pip/_internal/commands/hash.py -.venv/lib/python3.9/site-packages/pip/_internal/commands/help.py -.venv/lib/python3.9/site-packages/pip/_internal/commands/install.py -.venv/lib/python3.9/site-packages/pip/_internal/commands/list.py -.venv/lib/python3.9/site-packages/pip/_internal/commands/search.py -.venv/lib/python3.9/site-packages/pip/_internal/commands/show.py -.venv/lib/python3.9/site-packages/pip/_internal/commands/uninstall.py -.venv/lib/python3.9/site-packages/pip/_internal/commands/wheel.py -.venv/lib/python3.9/site-packages/pip/_internal/configuration.py -.venv/lib/python3.9/site-packages/pip/_internal/distributions/__init__.py -.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/base.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/installed.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/sdist.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/distributions/__pycache__/wheel.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/distributions/base.py -.venv/lib/python3.9/site-packages/pip/_internal/distributions/installed.py -.venv/lib/python3.9/site-packages/pip/_internal/distributions/sdist.py -.venv/lib/python3.9/site-packages/pip/_internal/distributions/wheel.py -.venv/lib/python3.9/site-packages/pip/_internal/exceptions.py -.venv/lib/python3.9/site-packages/pip/_internal/index/__init__.py -.venv/lib/python3.9/site-packages/pip/_internal/index/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/index/__pycache__/collector.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/index/__pycache__/package_finder.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/index/collector.py -.venv/lib/python3.9/site-packages/pip/_internal/index/package_finder.py -.venv/lib/python3.9/site-packages/pip/_internal/locations.py -.venv/lib/python3.9/site-packages/pip/_internal/main.py -.venv/lib/python3.9/site-packages/pip/_internal/models/__init__.py -.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/candidate.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/direct_url.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/format_control.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/index.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/link.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/scheme.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/search_scope.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/selection_prefs.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/target_python.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/models/__pycache__/wheel.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/models/candidate.py -.venv/lib/python3.9/site-packages/pip/_internal/models/direct_url.py -.venv/lib/python3.9/site-packages/pip/_internal/models/format_control.py -.venv/lib/python3.9/site-packages/pip/_internal/models/index.py -.venv/lib/python3.9/site-packages/pip/_internal/models/link.py -.venv/lib/python3.9/site-packages/pip/_internal/models/scheme.py -.venv/lib/python3.9/site-packages/pip/_internal/models/search_scope.py -.venv/lib/python3.9/site-packages/pip/_internal/models/selection_prefs.py -.venv/lib/python3.9/site-packages/pip/_internal/models/target_python.py -.venv/lib/python3.9/site-packages/pip/_internal/models/wheel.py -.venv/lib/python3.9/site-packages/pip/_internal/network/__init__.py -.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/auth.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/cache.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/download.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/lazy_wheel.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/session.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/utils.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/network/__pycache__/xmlrpc.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/network/auth.py -.venv/lib/python3.9/site-packages/pip/_internal/network/cache.py -.venv/lib/python3.9/site-packages/pip/_internal/network/download.py -.venv/lib/python3.9/site-packages/pip/_internal/network/lazy_wheel.py -.venv/lib/python3.9/site-packages/pip/_internal/network/session.py -.venv/lib/python3.9/site-packages/pip/_internal/network/utils.py -.venv/lib/python3.9/site-packages/pip/_internal/network/xmlrpc.py -.venv/lib/python3.9/site-packages/pip/_internal/operations/__init__.py -.venv/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/check.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/freeze.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/operations/__pycache__/prepare.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__init__.py -.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/metadata.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/metadata_legacy.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/wheel.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/operations/build/__pycache__/wheel_legacy.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata.py -.venv/lib/python3.9/site-packages/pip/_internal/operations/build/metadata_legacy.py -.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel.py -.venv/lib/python3.9/site-packages/pip/_internal/operations/build/wheel_legacy.py -.venv/lib/python3.9/site-packages/pip/_internal/operations/check.py -.venv/lib/python3.9/site-packages/pip/_internal/operations/freeze.py -.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__init__.py -.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__pycache__/editable_legacy.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__pycache__/legacy.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/operations/install/__pycache__/wheel.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/operations/install/editable_legacy.py -.venv/lib/python3.9/site-packages/pip/_internal/operations/install/legacy.py -.venv/lib/python3.9/site-packages/pip/_internal/operations/install/wheel.py -.venv/lib/python3.9/site-packages/pip/_internal/operations/prepare.py -.venv/lib/python3.9/site-packages/pip/_internal/pyproject.py -.venv/lib/python3.9/site-packages/pip/_internal/req/__init__.py -.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/constructors.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_file.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_install.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_set.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_tracker.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/req/__pycache__/req_uninstall.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/req/constructors.py -.venv/lib/python3.9/site-packages/pip/_internal/req/req_file.py -.venv/lib/python3.9/site-packages/pip/_internal/req/req_install.py -.venv/lib/python3.9/site-packages/pip/_internal/req/req_set.py -.venv/lib/python3.9/site-packages/pip/_internal/req/req_tracker.py -.venv/lib/python3.9/site-packages/pip/_internal/req/req_uninstall.py -.venv/lib/python3.9/site-packages/pip/_internal/resolution/__init__.py -.venv/lib/python3.9/site-packages/pip/_internal/resolution/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/resolution/__pycache__/base.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/resolution/base.py -.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__init__.py -.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/__pycache__/resolver.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/resolution/legacy/resolver.py -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__init__.py -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/base.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/candidates.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/factory.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/found_candidates.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/provider.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/reporter.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/requirements.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/__pycache__/resolver.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/base.py -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/candidates.py -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/factory.py -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/provider.py -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/reporter.py -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/requirements.py -.venv/lib/python3.9/site-packages/pip/_internal/resolution/resolvelib/resolver.py -.venv/lib/python3.9/site-packages/pip/_internal/self_outdated_check.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/__init__.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/appdirs.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/compat.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/compatibility_tags.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/datetime.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/deprecation.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/direct_url_helpers.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/distutils_args.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/encoding.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/entrypoints.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/filesystem.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/filetypes.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/glibc.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/hashes.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/inject_securetransport.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/logging.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/misc.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/models.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/packaging.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/parallel.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/pkg_resources.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/setuptools_build.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/subprocess.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/temp_dir.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/typing.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/unpacking.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/urls.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/virtualenv.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/__pycache__/wheel.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/utils/appdirs.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/compat.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/compatibility_tags.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/datetime.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/deprecation.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/direct_url_helpers.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/distutils_args.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/encoding.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/entrypoints.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/filesystem.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/filetypes.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/glibc.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/hashes.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/inject_securetransport.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/logging.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/misc.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/models.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/packaging.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/parallel.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/pkg_resources.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/setuptools_build.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/subprocess.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/temp_dir.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/typing.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/unpacking.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/urls.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/virtualenv.py -.venv/lib/python3.9/site-packages/pip/_internal/utils/wheel.py -.venv/lib/python3.9/site-packages/pip/_internal/vcs/__init__.py -.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/bazaar.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/git.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/mercurial.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/subversion.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/vcs/__pycache__/versioncontrol.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_internal/vcs/bazaar.py -.venv/lib/python3.9/site-packages/pip/_internal/vcs/git.py -.venv/lib/python3.9/site-packages/pip/_internal/vcs/mercurial.py -.venv/lib/python3.9/site-packages/pip/_internal/vcs/subversion.py -.venv/lib/python3.9/site-packages/pip/_internal/vcs/versioncontrol.py -.venv/lib/python3.9/site-packages/pip/_internal/wheel_builder.py -.venv/lib/python3.9/site-packages/pip/_vendor/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/appdirs.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/contextlib2.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/distro.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/pyparsing.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/retrying.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/__pycache__/six.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/appdirs.py -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/_cmd.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/adapter.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/cache.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/compat.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/controller.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/filewrapper.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/heuristics.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/serialize.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/__pycache__/wrapper.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/_cmd.py -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/adapter.py -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/cache.py -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/file_cache.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/__pycache__/redis_cache.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/compat.py -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/controller.py -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/filewrapper.py -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/heuristics.py -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/serialize.py -.venv/lib/python3.9/site-packages/pip/_vendor/cachecontrol/wrapper.py -.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__main__.py -.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__pycache__/__main__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/certifi/__pycache__/core.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/certifi/cacert.pem -.venv/lib/python3.9/site-packages/pip/_vendor/certifi/core.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/big5freq.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/big5prober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/chardistribution.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/charsetgroupprober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/charsetprober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/codingstatemachine.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/compat.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/cp949prober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/enums.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/escprober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/escsm.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/eucjpprober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/euckrfreq.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/euckrprober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/euctwfreq.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/euctwprober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/gb2312freq.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/gb2312prober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/hebrewprober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/jisfreq.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/jpcntx.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langbulgarianmodel.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langgreekmodel.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langhebrewmodel.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langhungarianmodel.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langrussianmodel.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langthaimodel.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/langturkishmodel.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/latin1prober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/mbcharsetprober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/mbcsgroupprober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/mbcssm.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/sbcharsetprober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/sbcsgroupprober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/sjisprober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/universaldetector.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/utf8prober.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/__pycache__/version.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5freq.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/big5prober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/chardistribution.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetgroupprober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/charsetprober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/__pycache__/chardetect.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cli/chardetect.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/codingstatemachine.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/compat.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/cp949prober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/enums.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escprober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/escsm.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/eucjpprober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrfreq.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euckrprober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwfreq.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/euctwprober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312freq.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/gb2312prober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/hebrewprober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jisfreq.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/jpcntx.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langbulgarianmodel.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langgreekmodel.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhebrewmodel.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langhungarianmodel.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langrussianmodel.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langthaimodel.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/langturkishmodel.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/latin1prober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcharsetprober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcsgroupprober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/mbcssm.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/__pycache__/languages.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/metadata/languages.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcharsetprober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sbcsgroupprober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/sjisprober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/universaldetector.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/utf8prober.py -.venv/lib/python3.9/site-packages/pip/_vendor/chardet/version.py -.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/ansi.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/ansitowin32.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/initialise.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/win32.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/colorama/__pycache__/winterm.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansi.py -.venv/lib/python3.9/site-packages/pip/_vendor/colorama/ansitowin32.py -.venv/lib/python3.9/site-packages/pip/_vendor/colorama/initialise.py -.venv/lib/python3.9/site-packages/pip/_vendor/colorama/win32.py -.venv/lib/python3.9/site-packages/pip/_vendor/colorama/winterm.py -.venv/lib/python3.9/site-packages/pip/_vendor/contextlib2.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/compat.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/database.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/index.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/locators.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/manifest.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/markers.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/metadata.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/resources.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/scripts.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/util.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/version.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/__pycache__/wheel.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/misc.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/shutil.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/sysconfig.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/__pycache__/tarfile.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/misc.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/shutil.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/sysconfig.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/_backport/tarfile.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/compat.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/database.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/index.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/locators.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/manifest.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/markers.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/metadata.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/resources.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/scripts.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t32.exe -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/t64.exe -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/util.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/version.py -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w32.exe -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/w64.exe -.venv/lib/python3.9/site-packages/pip/_vendor/distlib/wheel.py -.venv/lib/python3.9/site-packages/pip/_vendor/distro.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/_ihatexml.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/_inputstream.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/_tokenizer.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/_utils.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/constants.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/html5parser.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/__pycache__/serializer.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_ihatexml.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_inputstream.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_tokenizer.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__pycache__/_base.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/__pycache__/py.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/_base.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_trie/py.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/_utils.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/constants.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/alphabeticalattributes.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/base.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/inject_meta_charset.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/lint.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/optionaltags.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/sanitizer.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/__pycache__/whitespace.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/base.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/lint.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/optionaltags.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/sanitizer.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/filters/whitespace.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/html5parser.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/serializer.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/genshi.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/__pycache__/sax.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treeadapters/sax.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/base.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/dom.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/__pycache__/etree_lxml.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/base.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/dom.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/base.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/dom.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/etree_lxml.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/__pycache__/genshi.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/base.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/dom.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py -.venv/lib/python3.9/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py -.venv/lib/python3.9/site-packages/pip/_vendor/idna/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/codec.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/compat.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/core.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/idnadata.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/intranges.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/package_data.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/idna/__pycache__/uts46data.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/idna/codec.py -.venv/lib/python3.9/site-packages/pip/_vendor/idna/compat.py -.venv/lib/python3.9/site-packages/pip/_vendor/idna/core.py -.venv/lib/python3.9/site-packages/pip/_vendor/idna/idnadata.py -.venv/lib/python3.9/site-packages/pip/_vendor/idna/intranges.py -.venv/lib/python3.9/site-packages/pip/_vendor/idna/package_data.py -.venv/lib/python3.9/site-packages/pip/_vendor/idna/uts46data.py -.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/_version.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/exceptions.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/ext.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/__pycache__/fallback.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/_version.py -.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/exceptions.py -.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/ext.py -.venv/lib/python3.9/site-packages/pip/_vendor/msgpack/fallback.py -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__about__.py -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/__about__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/_compat.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/_structures.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/_typing.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/markers.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/requirements.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/tags.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/utils.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/__pycache__/version.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_compat.py -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_structures.py -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/_typing.py -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/markers.py -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/requirements.py -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/specifiers.py -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/tags.py -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/utils.py -.venv/lib/python3.9/site-packages/pip/_vendor/packaging/version.py -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/_in_process.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/build.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/check.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/colorlog.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/compat.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/dirtools.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/envbuild.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/meta.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/__pycache__/wrappers.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/_in_process.py -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/build.py -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/check.py -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/colorlog.py -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/compat.py -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/dirtools.py -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/envbuild.py -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/meta.py -.venv/lib/python3.9/site-packages/pip/_vendor/pep517/wrappers.py -.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/__pycache__/py31compat.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/pkg_resources/py31compat.py -.venv/lib/python3.9/site-packages/pip/_vendor/progress/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/progress/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/progress/__pycache__/bar.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/progress/__pycache__/counter.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/progress/__pycache__/spinner.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/progress/bar.py -.venv/lib/python3.9/site-packages/pip/_vendor/progress/counter.py -.venv/lib/python3.9/site-packages/pip/_vendor/progress/spinner.py -.venv/lib/python3.9/site-packages/pip/_vendor/pyparsing.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/__version__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/_internal_utils.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/adapters.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/api.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/auth.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/certs.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/compat.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/cookies.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/exceptions.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/help.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/hooks.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/models.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/packages.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/sessions.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/status_codes.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/structures.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__pycache__/utils.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/requests/__version__.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/_internal_utils.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/adapters.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/api.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/auth.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/certs.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/compat.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/cookies.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/exceptions.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/help.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/hooks.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/models.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/packages.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/sessions.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/status_codes.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/structures.py -.venv/lib/python3.9/site-packages/pip/_vendor/requests/utils.py -.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/providers.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/reporters.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/resolvers.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/__pycache__/structs.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/__pycache__/collections_abc.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py -.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/providers.py -.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/reporters.py -.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/resolvers.py -.venv/lib/python3.9/site-packages/pip/_vendor/resolvelib/structs.py -.venv/lib/python3.9/site-packages/pip/_vendor/retrying.py -.venv/lib/python3.9/site-packages/pip/_vendor/six.py -.venv/lib/python3.9/site-packages/pip/_vendor/toml/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/toml/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/toml/__pycache__/decoder.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/toml/__pycache__/encoder.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/toml/__pycache__/ordered.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/toml/__pycache__/tz.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/toml/decoder.py -.venv/lib/python3.9/site-packages/pip/_vendor/toml/encoder.py -.venv/lib/python3.9/site-packages/pip/_vendor/toml/ordered.py -.venv/lib/python3.9/site-packages/pip/_vendor/toml/tz.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/_collections.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/_version.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/connection.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/connectionpool.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/exceptions.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/fields.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/filepost.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/poolmanager.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/request.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/__pycache__/response.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_collections.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/_version.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connection.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/connectionpool.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/_appengine_environ.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/appengine.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/ntlmpool.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/pyopenssl.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/securetransport.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/__pycache__/socks.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/bindings.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__pycache__/low_level.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/appengine.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/securetransport.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/contrib/socks.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/exceptions.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/fields.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/filepost.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/__pycache__/six.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/__pycache__/makefile.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/six.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__pycache__/_implementation.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/poolmanager.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/request.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/response.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/connection.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/proxy.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/queue.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/request.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/response.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/retry.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/ssl_.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/ssltransport.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/timeout.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/url.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/__pycache__/wait.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/connection.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/proxy.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/queue.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/request.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/response.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/retry.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssl_.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/ssltransport.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/timeout.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/url.py -.venv/lib/python3.9/site-packages/pip/_vendor/urllib3/util/wait.py -.venv/lib/python3.9/site-packages/pip/_vendor/vendor.txt -.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__init__.py -.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/labels.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/mklabels.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/tests.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/__pycache__/x_user_defined.cpython-39.pyc -.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/labels.py -.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/mklabels.py -.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/tests.py -.venv/lib/python3.9/site-packages/pip/_vendor/webencodings/x_user_defined.py -.venv/lib/python3.9/site-packages/pkg_resources/__init__.py -.venv/lib/python3.9/site-packages/pkg_resources/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__init__.py -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__pycache__/appdirs.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/__pycache__/pyparsing.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/appdirs.py -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__about__.py -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__init__.py -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/__about__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/_compat.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/_structures.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/_typing.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/markers.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/requirements.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/tags.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/utils.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/__pycache__/version.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_compat.py -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_structures.py -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/_typing.py -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/markers.py -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/requirements.py -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/specifiers.py -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/tags.py -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/utils.py -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/packaging/version.py -.venv/lib/python3.9/site-packages/pkg_resources/_vendor/pyparsing.py -.venv/lib/python3.9/site-packages/pkg_resources/extern/__init__.py -.venv/lib/python3.9/site-packages/pkg_resources/extern/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/tests/data/my-test-package-source/__pycache__/setup.cpython-39.pyc -.venv/lib/python3.9/site-packages/pkg_resources/tests/data/my-test-package-source/setup.py -.venv/lib/python3.9/site-packages/setuptools-53.0.0.dist-info/dependency_links.txt -.venv/lib/python3.9/site-packages/setuptools-53.0.0.dist-info/entry_points.txt -.venv/lib/python3.9/site-packages/setuptools-53.0.0.dist-info/INSTALLER -.venv/lib/python3.9/site-packages/setuptools-53.0.0.dist-info/LICENSE -.venv/lib/python3.9/site-packages/setuptools-53.0.0.dist-info/METADATA -.venv/lib/python3.9/site-packages/setuptools-53.0.0.dist-info/RECORD -.venv/lib/python3.9/site-packages/setuptools-53.0.0.dist-info/top_level.txt -.venv/lib/python3.9/site-packages/setuptools-53.0.0.dist-info/WHEEL -.venv/lib/python3.9/site-packages/setuptools/__init__.py -.venv/lib/python3.9/site-packages/setuptools/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/_deprecation_warning.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/_imp.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/archive_util.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/build_meta.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/config.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/dep_util.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/depends.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/dist.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/errors.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/extension.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/glob.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/installer.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/launch.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/lib2to3_ex.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/monkey.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/msvc.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/namespaces.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/package_index.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/py34compat.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/sandbox.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/ssl_support.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/unicode_utils.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/version.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/wheel.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/__pycache__/windows_support.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_deprecation_warning.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/__init__.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/_msvccompiler.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/archive_util.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/bcppcompiler.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/ccompiler.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/cmd.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/config.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/core.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/cygwinccompiler.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/debug.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/dep_util.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/dir_util.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/dist.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/errors.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/extension.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/fancy_getopt.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/file_util.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/filelist.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/log.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/msvc9compiler.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/msvccompiler.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/py35compat.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/py38compat.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/spawn.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/sysconfig.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/text_file.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/unixccompiler.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/util.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/version.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/__pycache__/versionpredicate.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/_msvccompiler.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/archive_util.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/bcppcompiler.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/ccompiler.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/cmd.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__init__.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist_dumb.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist_msi.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist_rpm.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/bdist_wininst.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build_clib.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build_ext.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build_py.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/build_scripts.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/check.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/clean.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/config.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_data.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_egg_info.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_headers.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_lib.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/install_scripts.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/py37compat.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/register.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/sdist.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/__pycache__/upload.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_dumb.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_msi.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_rpm.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/bdist_wininst.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_clib.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_ext.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_py.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/build_scripts.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/check.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/clean.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/config.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_data.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_egg_info.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_headers.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_lib.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/install_scripts.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/py37compat.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/register.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/sdist.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/command/upload.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/config.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/core.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/cygwinccompiler.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/debug.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/dep_util.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/dir_util.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/dist.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/errors.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/extension.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/fancy_getopt.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/file_util.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/filelist.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/log.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/msvc9compiler.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/msvccompiler.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/py35compat.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/py38compat.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/spawn.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/sysconfig.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/text_file.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/unixccompiler.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/util.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/version.py -.venv/lib/python3.9/site-packages/setuptools/_distutils/versionpredicate.py -.venv/lib/python3.9/site-packages/setuptools/_imp.py -.venv/lib/python3.9/site-packages/setuptools/_vendor/__init__.py -.venv/lib/python3.9/site-packages/setuptools/_vendor/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_vendor/__pycache__/ordered_set.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_vendor/__pycache__/pyparsing.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_vendor/ordered_set.py -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__about__.py -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__init__.py -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/__about__.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/_compat.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/_structures.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/_typing.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/markers.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/requirements.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/specifiers.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/tags.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/utils.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/__pycache__/version.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_compat.py -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_structures.py -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/_typing.py -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/markers.py -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/requirements.py -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/specifiers.py -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/tags.py -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/utils.py -.venv/lib/python3.9/site-packages/setuptools/_vendor/packaging/version.py -.venv/lib/python3.9/site-packages/setuptools/_vendor/pyparsing.py -.venv/lib/python3.9/site-packages/setuptools/archive_util.py -.venv/lib/python3.9/site-packages/setuptools/build_meta.py -.venv/lib/python3.9/site-packages/setuptools/cli-32.exe -.venv/lib/python3.9/site-packages/setuptools/cli-64.exe -.venv/lib/python3.9/site-packages/setuptools/cli.exe -.venv/lib/python3.9/site-packages/setuptools/command/__init__.py -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/alias.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/bdist_egg.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/bdist_rpm.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/bdist_wininst.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/build_clib.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/build_ext.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/build_py.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/develop.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/dist_info.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/easy_install.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/egg_info.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/install.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/install_egg_info.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/install_lib.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/install_scripts.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/py36compat.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/register.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/rotate.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/saveopts.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/sdist.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/setopt.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/test.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/upload.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/__pycache__/upload_docs.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/command/alias.py -.venv/lib/python3.9/site-packages/setuptools/command/bdist_egg.py -.venv/lib/python3.9/site-packages/setuptools/command/bdist_rpm.py -.venv/lib/python3.9/site-packages/setuptools/command/bdist_wininst.py -.venv/lib/python3.9/site-packages/setuptools/command/build_clib.py -.venv/lib/python3.9/site-packages/setuptools/command/build_ext.py -.venv/lib/python3.9/site-packages/setuptools/command/build_py.py -.venv/lib/python3.9/site-packages/setuptools/command/develop.py -.venv/lib/python3.9/site-packages/setuptools/command/dist_info.py -.venv/lib/python3.9/site-packages/setuptools/command/easy_install.py -.venv/lib/python3.9/site-packages/setuptools/command/egg_info.py -.venv/lib/python3.9/site-packages/setuptools/command/install.py -.venv/lib/python3.9/site-packages/setuptools/command/install_egg_info.py -.venv/lib/python3.9/site-packages/setuptools/command/install_lib.py -.venv/lib/python3.9/site-packages/setuptools/command/install_scripts.py -.venv/lib/python3.9/site-packages/setuptools/command/launcher manifest.xml -.venv/lib/python3.9/site-packages/setuptools/command/py36compat.py -.venv/lib/python3.9/site-packages/setuptools/command/register.py -.venv/lib/python3.9/site-packages/setuptools/command/rotate.py -.venv/lib/python3.9/site-packages/setuptools/command/saveopts.py -.venv/lib/python3.9/site-packages/setuptools/command/sdist.py -.venv/lib/python3.9/site-packages/setuptools/command/setopt.py -.venv/lib/python3.9/site-packages/setuptools/command/test.py -.venv/lib/python3.9/site-packages/setuptools/command/upload.py -.venv/lib/python3.9/site-packages/setuptools/command/upload_docs.py -.venv/lib/python3.9/site-packages/setuptools/config.py -.venv/lib/python3.9/site-packages/setuptools/dep_util.py -.venv/lib/python3.9/site-packages/setuptools/depends.py -.venv/lib/python3.9/site-packages/setuptools/dist.py -.venv/lib/python3.9/site-packages/setuptools/errors.py -.venv/lib/python3.9/site-packages/setuptools/extension.py -.venv/lib/python3.9/site-packages/setuptools/extern/__init__.py -.venv/lib/python3.9/site-packages/setuptools/extern/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/setuptools/glob.py -.venv/lib/python3.9/site-packages/setuptools/gui-32.exe -.venv/lib/python3.9/site-packages/setuptools/gui-64.exe -.venv/lib/python3.9/site-packages/setuptools/gui.exe -.venv/lib/python3.9/site-packages/setuptools/installer.py -.venv/lib/python3.9/site-packages/setuptools/launch.py -.venv/lib/python3.9/site-packages/setuptools/lib2to3_ex.py -.venv/lib/python3.9/site-packages/setuptools/monkey.py -.venv/lib/python3.9/site-packages/setuptools/msvc.py -.venv/lib/python3.9/site-packages/setuptools/namespaces.py -.venv/lib/python3.9/site-packages/setuptools/package_index.py -.venv/lib/python3.9/site-packages/setuptools/py34compat.py -.venv/lib/python3.9/site-packages/setuptools/sandbox.py -.venv/lib/python3.9/site-packages/setuptools/script (dev).tmpl -.venv/lib/python3.9/site-packages/setuptools/script.tmpl -.venv/lib/python3.9/site-packages/setuptools/ssl_support.py -.venv/lib/python3.9/site-packages/setuptools/unicode_utils.py -.venv/lib/python3.9/site-packages/setuptools/version.py -.venv/lib/python3.9/site-packages/setuptools/wheel.py -.venv/lib/python3.9/site-packages/setuptools/windows_support.py -.venv/lib64 -.venv/pyvenv.cfg -__pycache__/main.cpython-39.pyc -.venv/lib/python3.9/site-packages/wsproto/utilities.py -.venv/lib/python3.9/site-packages/wsproto/typing.py -.venv/lib/python3.9/site-packages/wsproto/py.typed -.venv/lib/python3.9/site-packages/wsproto/handshake.py -.venv/lib/python3.9/site-packages/wsproto/frame_protocol.py -.venv/lib/python3.9/site-packages/wsproto/extensions.py -.venv/lib/python3.9/site-packages/wsproto/events.py -.venv/lib/python3.9/site-packages/wsproto/connection.py -.venv/lib/python3.9/site-packages/wsproto/__pycache__/utilities.cpython-39.pyc -.venv/lib/python3.9/site-packages/wsproto/__pycache__/typing.cpython-39.pyc -.venv/lib/python3.9/site-packages/wsproto/__pycache__/handshake.cpython-39.pyc -.venv/lib/python3.9/site-packages/wsproto/__pycache__/frame_protocol.cpython-39.pyc -.venv/lib/python3.9/site-packages/wsproto/__pycache__/extensions.cpython-39.pyc -.venv/lib/python3.9/site-packages/wsproto/__pycache__/events.cpython-39.pyc -.venv/lib/python3.9/site-packages/wsproto/__pycache__/connection.cpython-39.pyc -.venv/lib/python3.9/site-packages/wsproto/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/wsproto/__init__.py -.venv/lib/python3.9/site-packages/wsproto-1.0.0.dist-info/WHEEL -.venv/lib/python3.9/site-packages/wsproto-1.0.0.dist-info/top_level.txt -.venv/lib/python3.9/site-packages/wsproto-1.0.0.dist-info/RECORD -.venv/lib/python3.9/site-packages/wsproto-1.0.0.dist-info/METADATA -.venv/lib/python3.9/site-packages/wsproto-1.0.0.dist-info/LICENSE -.venv/lib/python3.9/site-packages/wsproto-1.0.0.dist-info/INSTALLER -.venv/lib/python3.9/site-packages/typing_extensions.py -.venv/lib/python3.9/site-packages/typing_extensions-3.7.4.3.dist-info/WHEEL -.venv/lib/python3.9/site-packages/typing_extensions-3.7.4.3.dist-info/top_level.txt -.venv/lib/python3.9/site-packages/typing_extensions-3.7.4.3.dist-info/RECORD -.venv/lib/python3.9/site-packages/typing_extensions-3.7.4.3.dist-info/METADATA -.venv/lib/python3.9/site-packages/typing_extensions-3.7.4.3.dist-info/LICENSE -.venv/lib/python3.9/site-packages/typing_extensions-3.7.4.3.dist-info/INSTALLER -.venv/lib/python3.9/site-packages/toml/tz.py -.venv/lib/python3.9/site-packages/toml/ordered.py -.venv/lib/python3.9/site-packages/toml/encoder.py -.venv/lib/python3.9/site-packages/toml/decoder.py -.venv/lib/python3.9/site-packages/toml/__pycache__/tz.cpython-39.pyc -.venv/lib/python3.9/site-packages/toml/__pycache__/ordered.cpython-39.pyc -.venv/lib/python3.9/site-packages/toml/__pycache__/encoder.cpython-39.pyc -.venv/lib/python3.9/site-packages/toml/__pycache__/decoder.cpython-39.pyc -.venv/lib/python3.9/site-packages/toml/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/toml/__init__.py -.venv/lib/python3.9/site-packages/toml-0.10.2.dist-info/WHEEL -.venv/lib/python3.9/site-packages/toml-0.10.2.dist-info/top_level.txt -.venv/lib/python3.9/site-packages/toml-0.10.2.dist-info/RECORD -.venv/lib/python3.9/site-packages/toml-0.10.2.dist-info/METADATA -.venv/lib/python3.9/site-packages/toml-0.10.2.dist-info/LICENSE -.venv/lib/python3.9/site-packages/toml-0.10.2.dist-info/INSTALLER -.venv/lib/python3.9/site-packages/starlette/websockets.py -.venv/lib/python3.9/site-packages/starlette/types.py -.venv/lib/python3.9/site-packages/starlette/testclient.py -.venv/lib/python3.9/site-packages/starlette/templating.py -.venv/lib/python3.9/site-packages/starlette/status.py -.venv/lib/python3.9/site-packages/starlette/staticfiles.py -.venv/lib/python3.9/site-packages/starlette/schemas.py -.venv/lib/python3.9/site-packages/starlette/routing.py -.venv/lib/python3.9/site-packages/starlette/responses.py -.venv/lib/python3.9/site-packages/starlette/requests.py -.venv/lib/python3.9/site-packages/starlette/py.typed -.venv/lib/python3.9/site-packages/starlette/middleware/wsgi.py -.venv/lib/python3.9/site-packages/starlette/middleware/trustedhost.py -.venv/lib/python3.9/site-packages/starlette/middleware/sessions.py -.venv/lib/python3.9/site-packages/starlette/middleware/httpsredirect.py -.venv/lib/python3.9/site-packages/starlette/middleware/gzip.py -.venv/lib/python3.9/site-packages/starlette/middleware/errors.py -.venv/lib/python3.9/site-packages/starlette/middleware/cors.py -.venv/lib/python3.9/site-packages/starlette/middleware/base.py -.venv/lib/python3.9/site-packages/starlette/middleware/authentication.py -.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/wsgi.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/trustedhost.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/sessions.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/httpsredirect.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/gzip.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/errors.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/cors.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/base.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/authentication.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/middleware/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/middleware/__init__.py -.venv/lib/python3.9/site-packages/starlette/graphql.py -.venv/lib/python3.9/site-packages/starlette/formparsers.py -.venv/lib/python3.9/site-packages/starlette/exceptions.py -.venv/lib/python3.9/site-packages/starlette/endpoints.py -.venv/lib/python3.9/site-packages/starlette/datastructures.py -.venv/lib/python3.9/site-packages/starlette/convertors.py -.venv/lib/python3.9/site-packages/starlette/config.py -.venv/lib/python3.9/site-packages/starlette/concurrency.py -.venv/lib/python3.9/site-packages/starlette/background.py -.venv/lib/python3.9/site-packages/starlette/authentication.py -.venv/lib/python3.9/site-packages/starlette/applications.py -.venv/lib/python3.9/site-packages/starlette/__pycache__/websockets.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/types.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/testclient.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/templating.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/status.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/staticfiles.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/schemas.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/routing.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/responses.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/requests.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/graphql.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/formparsers.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/exceptions.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/endpoints.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/datastructures.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/convertors.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/config.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/concurrency.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/background.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/authentication.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/applications.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/starlette/__init__.py -.venv/lib/python3.9/site-packages/starlette-0.13.6.dist-info/WHEEL -.venv/lib/python3.9/site-packages/starlette-0.13.6.dist-info/top_level.txt -.venv/lib/python3.9/site-packages/starlette-0.13.6.dist-info/RECORD -.venv/lib/python3.9/site-packages/starlette-0.13.6.dist-info/METADATA -.venv/lib/python3.9/site-packages/starlette-0.13.6.dist-info/LICENSE.md -.venv/lib/python3.9/site-packages/starlette-0.13.6.dist-info/INSTALLER -.venv/lib/python3.9/site-packages/pydantic/version.py -.venv/lib/python3.9/site-packages/pydantic/version.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/validators.py -.venv/lib/python3.9/site-packages/pydantic/validators.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/utils.py -.venv/lib/python3.9/site-packages/pydantic/utils.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/typing.py -.venv/lib/python3.9/site-packages/pydantic/typing.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/types.py -.venv/lib/python3.9/site-packages/pydantic/types.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/tools.py -.venv/lib/python3.9/site-packages/pydantic/tools.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/schema.py -.venv/lib/python3.9/site-packages/pydantic/schema.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/py.typed -.venv/lib/python3.9/site-packages/pydantic/parse.py -.venv/lib/python3.9/site-packages/pydantic/parse.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/networks.py -.venv/lib/python3.9/site-packages/pydantic/networks.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/mypy.py -.venv/lib/python3.9/site-packages/pydantic/mypy.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/main.py -.venv/lib/python3.9/site-packages/pydantic/main.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/json.py -.venv/lib/python3.9/site-packages/pydantic/json.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/generics.py -.venv/lib/python3.9/site-packages/pydantic/fields.py -.venv/lib/python3.9/site-packages/pydantic/fields.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/errors.py -.venv/lib/python3.9/site-packages/pydantic/errors.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/error_wrappers.py -.venv/lib/python3.9/site-packages/pydantic/error_wrappers.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/env_settings.py -.venv/lib/python3.9/site-packages/pydantic/env_settings.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/decorator.py -.venv/lib/python3.9/site-packages/pydantic/decorator.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/datetime_parse.py -.venv/lib/python3.9/site-packages/pydantic/datetime_parse.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/dataclasses.py -.venv/lib/python3.9/site-packages/pydantic/dataclasses.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/color.py -.venv/lib/python3.9/site-packages/pydantic/color.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/class_validators.py -.venv/lib/python3.9/site-packages/pydantic/class_validators.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/annotated_types.py -.venv/lib/python3.9/site-packages/pydantic/annotated_types.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/_hypothesis_plugin.py -.venv/lib/python3.9/site-packages/pydantic/_hypothesis_plugin.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic/__pycache__/version.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/validators.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/utils.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/typing.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/types.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/tools.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/schema.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/parse.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/networks.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/mypy.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/main.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/json.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/generics.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/fields.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/errors.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/error_wrappers.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/env_settings.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/decorator.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/datetime_parse.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/dataclasses.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/color.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/class_validators.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/annotated_types.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/_hypothesis_plugin.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/pydantic/__init__.py -.venv/lib/python3.9/site-packages/pydantic/__init__.cpython-39-x86_64-linux-gnu.so -.venv/lib/python3.9/site-packages/pydantic-1.8.1.dist-info/WHEEL -.venv/lib/python3.9/site-packages/pydantic-1.8.1.dist-info/top_level.txt -.venv/lib/python3.9/site-packages/pydantic-1.8.1.dist-info/RECORD -.venv/lib/python3.9/site-packages/pydantic-1.8.1.dist-info/METADATA -.venv/lib/python3.9/site-packages/pydantic-1.8.1.dist-info/LICENSE -.venv/lib/python3.9/site-packages/pydantic-1.8.1.dist-info/INSTALLER -.venv/lib/python3.9/site-packages/pydantic-1.8.1.dist-info/entry_points.txt -.venv/lib/python3.9/site-packages/priority/priority.py -.venv/lib/python3.9/site-packages/priority/__pycache__/priority.cpython-39.pyc -.venv/lib/python3.9/site-packages/priority/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/priority/__init__.py -.venv/lib/python3.9/site-packages/priority-1.3.0.dist-info/WHEEL -.venv/lib/python3.9/site-packages/priority-1.3.0.dist-info/top_level.txt -.venv/lib/python3.9/site-packages/priority-1.3.0.dist-info/RECORD -.venv/lib/python3.9/site-packages/priority-1.3.0.dist-info/metadata.json -.venv/lib/python3.9/site-packages/priority-1.3.0.dist-info/METADATA -.venv/lib/python3.9/site-packages/priority-1.3.0.dist-info/INSTALLER -.venv/lib/python3.9/site-packages/priority-1.3.0.dist-info/DESCRIPTION.rst -.venv/lib/python3.9/site-packages/hyperframe/frame.py -.venv/lib/python3.9/site-packages/hyperframe/flags.py -.venv/lib/python3.9/site-packages/hyperframe/exceptions.py -.venv/lib/python3.9/site-packages/hyperframe/__pycache__/frame.cpython-39.pyc -.venv/lib/python3.9/site-packages/hyperframe/__pycache__/flags.cpython-39.pyc -.venv/lib/python3.9/site-packages/hyperframe/__pycache__/exceptions.cpython-39.pyc -.venv/lib/python3.9/site-packages/hyperframe/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/hyperframe/__init__.py -.venv/lib/python3.9/site-packages/hyperframe-6.0.0.dist-info/WHEEL -.venv/lib/python3.9/site-packages/hyperframe-6.0.0.dist-info/top_level.txt -.venv/lib/python3.9/site-packages/hyperframe-6.0.0.dist-info/RECORD -.venv/lib/python3.9/site-packages/hyperframe-6.0.0.dist-info/METADATA -.venv/lib/python3.9/site-packages/hyperframe-6.0.0.dist-info/LICENSE -.venv/lib/python3.9/site-packages/hyperframe-6.0.0.dist-info/INSTALLER -.venv/lib/python3.9/site-packages/hypercorn/utils.py -.venv/lib/python3.9/site-packages/hypercorn/typing.py -.venv/lib/python3.9/site-packages/hypercorn/trio/udp_server.py -.venv/lib/python3.9/site-packages/hypercorn/trio/tcp_server.py -.venv/lib/python3.9/site-packages/hypercorn/trio/statsd.py -.venv/lib/python3.9/site-packages/hypercorn/trio/run.py -.venv/lib/python3.9/site-packages/hypercorn/trio/lifespan.py -.venv/lib/python3.9/site-packages/hypercorn/trio/context.py -.venv/lib/python3.9/site-packages/hypercorn/trio/__pycache__/udp_server.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/trio/__pycache__/tcp_server.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/trio/__pycache__/statsd.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/trio/__pycache__/run.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/trio/__pycache__/lifespan.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/trio/__pycache__/context.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/trio/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/trio/__init__.py -.venv/lib/python3.9/site-packages/hypercorn/statsd.py -.venv/lib/python3.9/site-packages/hypercorn/run.py -.venv/lib/python3.9/site-packages/hypercorn/py.typed -.venv/lib/python3.9/site-packages/hypercorn/protocol/ws_stream.py -.venv/lib/python3.9/site-packages/hypercorn/protocol/quic.py -.venv/lib/python3.9/site-packages/hypercorn/protocol/http_stream.py -.venv/lib/python3.9/site-packages/hypercorn/protocol/h3.py -.venv/lib/python3.9/site-packages/hypercorn/protocol/h2.py -.venv/lib/python3.9/site-packages/hypercorn/protocol/h11.py -.venv/lib/python3.9/site-packages/hypercorn/protocol/events.py -.venv/lib/python3.9/site-packages/hypercorn/protocol/__pycache__/ws_stream.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/protocol/__pycache__/quic.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/protocol/__pycache__/http_stream.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/protocol/__pycache__/h3.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/protocol/__pycache__/h2.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/protocol/__pycache__/h11.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/protocol/__pycache__/events.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/protocol/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/protocol/__init__.py -.venv/lib/python3.9/site-packages/hypercorn/middleware/wsgi.py -.venv/lib/python3.9/site-packages/hypercorn/middleware/http_to_https.py -.venv/lib/python3.9/site-packages/hypercorn/middleware/dispatcher.py -.venv/lib/python3.9/site-packages/hypercorn/middleware/__pycache__/wsgi.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/middleware/__pycache__/http_to_https.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/middleware/__pycache__/dispatcher.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/middleware/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/middleware/__init__.py -.venv/lib/python3.9/site-packages/hypercorn/logging.py -.venv/lib/python3.9/site-packages/hypercorn/events.py -.venv/lib/python3.9/site-packages/hypercorn/config.py -.venv/lib/python3.9/site-packages/hypercorn/asyncio/udp_server.py -.venv/lib/python3.9/site-packages/hypercorn/asyncio/tcp_server.py -.venv/lib/python3.9/site-packages/hypercorn/asyncio/task_group.py -.venv/lib/python3.9/site-packages/hypercorn/asyncio/statsd.py -.venv/lib/python3.9/site-packages/hypercorn/asyncio/run.py -.venv/lib/python3.9/site-packages/hypercorn/asyncio/lifespan.py -.venv/lib/python3.9/site-packages/hypercorn/asyncio/context.py -.venv/lib/python3.9/site-packages/hypercorn/asyncio/__pycache__/udp_server.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/asyncio/__pycache__/tcp_server.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/asyncio/__pycache__/task_group.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/asyncio/__pycache__/statsd.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/asyncio/__pycache__/run.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/asyncio/__pycache__/lifespan.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/asyncio/__pycache__/context.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/asyncio/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/asyncio/__init__.py -.venv/lib/python3.9/site-packages/hypercorn/__pycache__/utils.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/__pycache__/typing.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/__pycache__/statsd.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/__pycache__/run.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/__pycache__/logging.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/__pycache__/events.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/__pycache__/config.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/__pycache__/__main__.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/__pycache__/__about__.cpython-39.pyc -.venv/lib/python3.9/site-packages/hypercorn/__main__.py -.venv/lib/python3.9/site-packages/hypercorn/__init__.py -.venv/lib/python3.9/site-packages/hypercorn/__about__.py -.venv/lib/python3.9/site-packages/Hypercorn-0.11.2.dist-info/WHEEL -.venv/lib/python3.9/site-packages/Hypercorn-0.11.2.dist-info/top_level.txt -.venv/lib/python3.9/site-packages/Hypercorn-0.11.2.dist-info/REQUESTED -.venv/lib/python3.9/site-packages/Hypercorn-0.11.2.dist-info/RECORD -.venv/lib/python3.9/site-packages/Hypercorn-0.11.2.dist-info/METADATA -.venv/lib/python3.9/site-packages/Hypercorn-0.11.2.dist-info/LICENSE -.venv/lib/python3.9/site-packages/Hypercorn-0.11.2.dist-info/INSTALLER -.venv/lib/python3.9/site-packages/Hypercorn-0.11.2.dist-info/entry_points.txt -.venv/lib/python3.9/site-packages/hpack/table.py -.venv/lib/python3.9/site-packages/hpack/struct.py -.venv/lib/python3.9/site-packages/hpack/huffman_table.py -.venv/lib/python3.9/site-packages/hpack/huffman_constants.py -.venv/lib/python3.9/site-packages/hpack/huffman.py -.venv/lib/python3.9/site-packages/hpack/hpack.py -.venv/lib/python3.9/site-packages/hpack/exceptions.py -.venv/lib/python3.9/site-packages/hpack/__pycache__/table.cpython-39.pyc -.venv/lib/python3.9/site-packages/hpack/__pycache__/struct.cpython-39.pyc -.venv/lib/python3.9/site-packages/hpack/__pycache__/huffman_table.cpython-39.pyc -.venv/lib/python3.9/site-packages/hpack/__pycache__/huffman_constants.cpython-39.pyc -.venv/lib/python3.9/site-packages/hpack/__pycache__/huffman.cpython-39.pyc -.venv/lib/python3.9/site-packages/hpack/__pycache__/hpack.cpython-39.pyc -.venv/lib/python3.9/site-packages/hpack/__pycache__/exceptions.cpython-39.pyc -.venv/lib/python3.9/site-packages/hpack/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/hpack/__init__.py -.venv/lib/python3.9/site-packages/hpack-4.0.0.dist-info/WHEEL -.venv/lib/python3.9/site-packages/hpack-4.0.0.dist-info/top_level.txt -.venv/lib/python3.9/site-packages/hpack-4.0.0.dist-info/RECORD -.venv/lib/python3.9/site-packages/hpack-4.0.0.dist-info/METADATA -.venv/lib/python3.9/site-packages/hpack-4.0.0.dist-info/LICENSE -.venv/lib/python3.9/site-packages/hpack-4.0.0.dist-info/INSTALLER -.venv/lib/python3.9/site-packages/h2/windows.py -.venv/lib/python3.9/site-packages/h2/utilities.py -.venv/lib/python3.9/site-packages/h2/stream.py -.venv/lib/python3.9/site-packages/h2/settings.py -.venv/lib/python3.9/site-packages/h2/frame_buffer.py -.venv/lib/python3.9/site-packages/h2/exceptions.py -.venv/lib/python3.9/site-packages/h2/events.py -.venv/lib/python3.9/site-packages/h2/errors.py -.venv/lib/python3.9/site-packages/h2/connection.py -.venv/lib/python3.9/site-packages/h2/config.py -.venv/lib/python3.9/site-packages/h2/__pycache__/windows.cpython-39.pyc -.venv/lib/python3.9/site-packages/h2/__pycache__/utilities.cpython-39.pyc -.venv/lib/python3.9/site-packages/h2/__pycache__/stream.cpython-39.pyc -.venv/lib/python3.9/site-packages/h2/__pycache__/settings.cpython-39.pyc -.venv/lib/python3.9/site-packages/h2/__pycache__/frame_buffer.cpython-39.pyc -.venv/lib/python3.9/site-packages/h2/__pycache__/exceptions.cpython-39.pyc -.venv/lib/python3.9/site-packages/h2/__pycache__/events.cpython-39.pyc -.venv/lib/python3.9/site-packages/h2/__pycache__/errors.cpython-39.pyc -.venv/lib/python3.9/site-packages/h2/__pycache__/connection.cpython-39.pyc -.venv/lib/python3.9/site-packages/h2/__pycache__/config.cpython-39.pyc -.venv/lib/python3.9/site-packages/h2/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/h2/__init__.py -.venv/lib/python3.9/site-packages/h2-4.0.0.dist-info/WHEEL -.venv/lib/python3.9/site-packages/h2-4.0.0.dist-info/top_level.txt -.venv/lib/python3.9/site-packages/h2-4.0.0.dist-info/RECORD -.venv/lib/python3.9/site-packages/h2-4.0.0.dist-info/METADATA -.venv/lib/python3.9/site-packages/h2-4.0.0.dist-info/LICENSE -.venv/lib/python3.9/site-packages/h2-4.0.0.dist-info/INSTALLER -.venv/lib/python3.9/site-packages/h11/tests/test_util.py -.venv/lib/python3.9/site-packages/h11/tests/test_state.py -.venv/lib/python3.9/site-packages/h11/tests/test_receivebuffer.py -.venv/lib/python3.9/site-packages/h11/tests/test_io.py -.venv/lib/python3.9/site-packages/h11/tests/test_helpers.py -.venv/lib/python3.9/site-packages/h11/tests/test_headers.py -.venv/lib/python3.9/site-packages/h11/tests/test_events.py -.venv/lib/python3.9/site-packages/h11/tests/test_connection.py -.venv/lib/python3.9/site-packages/h11/tests/test_against_stdlib_http.py -.venv/lib/python3.9/site-packages/h11/tests/helpers.py -.venv/lib/python3.9/site-packages/h11/tests/data/test-file -.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_util.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_state.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_receivebuffer.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_io.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_helpers.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_headers.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_events.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_connection.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/tests/__pycache__/test_against_stdlib_http.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/tests/__pycache__/helpers.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/tests/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/tests/__init__.py -.venv/lib/python3.9/site-packages/h11/_writers.py -.venv/lib/python3.9/site-packages/h11/_version.py -.venv/lib/python3.9/site-packages/h11/_util.py -.venv/lib/python3.9/site-packages/h11/_state.py -.venv/lib/python3.9/site-packages/h11/_receivebuffer.py -.venv/lib/python3.9/site-packages/h11/_readers.py -.venv/lib/python3.9/site-packages/h11/_headers.py -.venv/lib/python3.9/site-packages/h11/_events.py -.venv/lib/python3.9/site-packages/h11/_connection.py -.venv/lib/python3.9/site-packages/h11/_abnf.py -.venv/lib/python3.9/site-packages/h11/__pycache__/_writers.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/__pycache__/_version.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/__pycache__/_util.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/__pycache__/_state.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/__pycache__/_receivebuffer.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/__pycache__/_readers.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/__pycache__/_headers.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/__pycache__/_events.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/__pycache__/_connection.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/__pycache__/_abnf.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/h11/__init__.py -.venv/lib/python3.9/site-packages/h11-0.12.0.dist-info/WHEEL -.venv/lib/python3.9/site-packages/h11-0.12.0.dist-info/top_level.txt -.venv/lib/python3.9/site-packages/h11-0.12.0.dist-info/RECORD -.venv/lib/python3.9/site-packages/h11-0.12.0.dist-info/METADATA -.venv/lib/python3.9/site-packages/h11-0.12.0.dist-info/LICENSE.txt -.venv/lib/python3.9/site-packages/h11-0.12.0.dist-info/INSTALLER -.venv/lib/python3.9/site-packages/fastapi/websockets.py -.venv/lib/python3.9/site-packages/fastapi/utils.py -.venv/lib/python3.9/site-packages/fastapi/types.py -.venv/lib/python3.9/site-packages/fastapi/testclient.py -.venv/lib/python3.9/site-packages/fastapi/templating.py -.venv/lib/python3.9/site-packages/fastapi/staticfiles.py -.venv/lib/python3.9/site-packages/fastapi/security/utils.py -.venv/lib/python3.9/site-packages/fastapi/security/open_id_connect_url.py -.venv/lib/python3.9/site-packages/fastapi/security/oauth2.py -.venv/lib/python3.9/site-packages/fastapi/security/http.py -.venv/lib/python3.9/site-packages/fastapi/security/base.py -.venv/lib/python3.9/site-packages/fastapi/security/api_key.py -.venv/lib/python3.9/site-packages/fastapi/security/__pycache__/utils.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/security/__pycache__/open_id_connect_url.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/security/__pycache__/oauth2.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/security/__pycache__/http.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/security/__pycache__/base.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/security/__pycache__/api_key.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/security/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/security/__init__.py -.venv/lib/python3.9/site-packages/fastapi/routing.py -.venv/lib/python3.9/site-packages/fastapi/responses.py -.venv/lib/python3.9/site-packages/fastapi/requests.py -.venv/lib/python3.9/site-packages/fastapi/py.typed -.venv/lib/python3.9/site-packages/fastapi/params.py -.venv/lib/python3.9/site-packages/fastapi/param_functions.py -.venv/lib/python3.9/site-packages/fastapi/openapi/utils.py -.venv/lib/python3.9/site-packages/fastapi/openapi/models.py -.venv/lib/python3.9/site-packages/fastapi/openapi/docs.py -.venv/lib/python3.9/site-packages/fastapi/openapi/constants.py -.venv/lib/python3.9/site-packages/fastapi/openapi/__pycache__/utils.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/openapi/__pycache__/models.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/openapi/__pycache__/docs.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/openapi/__pycache__/constants.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/openapi/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/openapi/__init__.py -.venv/lib/python3.9/site-packages/fastapi/middleware/wsgi.py -.venv/lib/python3.9/site-packages/fastapi/middleware/trustedhost.py -.venv/lib/python3.9/site-packages/fastapi/middleware/httpsredirect.py -.venv/lib/python3.9/site-packages/fastapi/middleware/gzip.py -.venv/lib/python3.9/site-packages/fastapi/middleware/cors.py -.venv/lib/python3.9/site-packages/fastapi/middleware/__pycache__/wsgi.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/middleware/__pycache__/trustedhost.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/middleware/__pycache__/httpsredirect.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/middleware/__pycache__/gzip.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/middleware/__pycache__/cors.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/middleware/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/middleware/__init__.py -.venv/lib/python3.9/site-packages/fastapi/logger.py -.venv/lib/python3.9/site-packages/fastapi/exceptions.py -.venv/lib/python3.9/site-packages/fastapi/exception_handlers.py -.venv/lib/python3.9/site-packages/fastapi/encoders.py -.venv/lib/python3.9/site-packages/fastapi/dependencies/utils.py -.venv/lib/python3.9/site-packages/fastapi/dependencies/models.py -.venv/lib/python3.9/site-packages/fastapi/dependencies/__pycache__/utils.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/dependencies/__pycache__/models.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/dependencies/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/dependencies/__init__.py -.venv/lib/python3.9/site-packages/fastapi/datastructures.py -.venv/lib/python3.9/site-packages/fastapi/concurrency.py -.venv/lib/python3.9/site-packages/fastapi/background.py -.venv/lib/python3.9/site-packages/fastapi/applications.py -.venv/lib/python3.9/site-packages/fastapi/__pycache__/websockets.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/utils.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/types.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/testclient.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/templating.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/staticfiles.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/routing.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/responses.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/requests.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/params.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/param_functions.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/logger.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/exceptions.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/exception_handlers.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/encoders.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/datastructures.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/concurrency.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/background.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/applications.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__pycache__/__init__.cpython-39.pyc -.venv/lib/python3.9/site-packages/fastapi/__init__.py -.venv/lib/python3.9/site-packages/fastapi-0.63.0.dist-info/WHEEL -.venv/lib/python3.9/site-packages/fastapi-0.63.0.dist-info/REQUESTED -.venv/lib/python3.9/site-packages/fastapi-0.63.0.dist-info/RECORD -.venv/lib/python3.9/site-packages/fastapi-0.63.0.dist-info/METADATA -.venv/lib/python3.9/site-packages/fastapi-0.63.0.dist-info/LICENSE -.venv/lib/python3.9/site-packages/fastapi-0.63.0.dist-info/INSTALLER -.venv/lib/python3.9/site-packages/__pycache__/typing_extensions.cpython-39.pyc -.venv/bin/hypercorn +.idea/* +.venv/* From db96998848b1368629c2d088a465a3db5cbf7f42 Mon Sep 17 00:00:00 2001 From: Untriex Programming <48880229+UntriexTv@users.noreply.github.com> Date: Thu, 4 Mar 2021 12:16:15 +0100 Subject: [PATCH 03/18] Update .gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index b3733d5..3107f59 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .idea/* .venv/* +./__pycache__ From 3060dee504da6c7f3d036ad9a2f55cfa09ee82d3 Mon Sep 17 00:00:00 2001 From: Untriex Programming Date: Thu, 4 Mar 2021 18:36:21 +0100 Subject: [PATCH 04/18] Log system/sensors update --- .gitignore | 1 + engine.py | 37 +++++++++++++++++++++++++++++++++++++ log.txt | 0 main.py | 51 +++++++++++++++++++++++++++++++++++++-------------- 4 files changed, 75 insertions(+), 14 deletions(-) create mode 100644 engine.py create mode 100644 log.txt diff --git a/.gitignore b/.gitignore index 3107f59..49030a7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ .idea/* .venv/* ./__pycache__ +*.pyc diff --git a/engine.py b/engine.py new file mode 100644 index 0000000..85e8ed2 --- /dev/null +++ b/engine.py @@ -0,0 +1,37 @@ +from datetime import datetime + + +class Log(): + def __init__(self, save_e=True, save_w=False, save_m=False, print_e=True, print_w=True, print_m=False, debug = False): + self.save_error = save_e + self.save_warning = save_w + self.save_messages = save_m + self.print_error = print_e + self.print_warning = print_w + self.print_messages = print_m + self.debug_e = debug + + def error(self, error): + if self.print_error: + print(f"{datetime.now()} -> ERROR: {error}") + if self.save_error: + with open("log.txt", "a") as file: + file.write(f"\n{datetime.now()} -> ERROR: {error}") + + def warning(self, warning): + if self.print_warning: + print(f"{datetime.now()} -> Warning: {warning}") + if self.save_warning: + with open("log.txt", "a") as file: + file.write(f"\n{datetime.now()} -> Warning: {warning}") + + def message(self, message): + if self.print_messages: + print(f"{datetime.now()} -> message: {message}") + if self.save_messages: + with open("log.txt", "a") as file: + file.write(f"\n{datetime.now()} -> message: {message}") + + def debug(self, debug): + if self.debug_e: + print(f"{datetime.now()} -> DEBUG: {debug}") \ No newline at end of file diff --git a/log.txt b/log.txt new file mode 100644 index 0000000..e69de29 diff --git a/main.py b/main.py index 3b1b4cc..5257884 100644 --- a/main.py +++ b/main.py @@ -1,7 +1,17 @@ -from fastapi import FastAPI +from fastapi import FastAPI, Request from pydantic import BaseModel +import engine app = FastAPI() + +sensors = { + "teplota": 24, + "vlhkosť": 25, + "počet ľudí": 10, + "doba čakania": 2 +} +log = engine.Log(print_m=True, debug=True) + location = "izba" ID = 55 IP = "192.168.1.25" @@ -28,16 +38,29 @@ class Server_table(BaseModel): @app.post("/heartbeat") -def heartbeat(s_table: Server_table): - for position, server_id in enumerate(s_table.ID): - if server_id in heartbeat_table["ID"]: - if heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(server_id)] > s_table.last_heartbeat[position]: - heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(server_id)] = s_table.last_heartbeat[position] - else: - heartbeat_table["ID"].append(s_table.ID[position]) - heartbeat_table["IP"].append(s_table.IP[position]) - heartbeat_table["location"].append(s_table.location[position]) - heartbeat_table["file_system"].append(s_table.file_system[position]) - heartbeat_table["last_heartbeat"].append(s_table.last_heartbeat[position]) - print(heartbeat_table) - return heartbeat_table, {"ID": ID, "file_system": filesystem, "location": location} \ No newline at end of file +def heartbeat(s_table: Server_table, request: Request): + log.message(f"heartbeat requested: {request.client.host}:{request.client.port}") + log.debug(f"Recieved server table: {s_table}") + try: + for position, server_id in enumerate(s_table.ID): + if server_id in heartbeat_table["ID"]: + if heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(server_id)] > s_table.last_heartbeat[ + position]: + heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(server_id)] = s_table.last_heartbeat[ + position] + else: + heartbeat_table["ID"].append(s_table.ID[position]) + heartbeat_table["IP"].append(s_table.IP[position]) + heartbeat_table["location"].append(s_table.location[position]) + heartbeat_table["file_system"].append(s_table.file_system[position]) + heartbeat_table["last_heartbeat"].append(s_table.last_heartbeat[position]) + except Exception as error: + log.error(f"heartbeat > {error}") + return heartbeat_table, {"ID": ID, "file_system": filesystem, "location": location} + + +@app.get("/sensors") +def get_sensors(request: Request): + log.message(f"sensor data sent to {request.client.host}:{request.client.port}") + log.debug(f"sensor data: {sensors}") + return sensors From 5da0be552c911c4d4861f3338ea102c8d80602bc Mon Sep 17 00:00:00 2001 From: Untriex Programming Date: Fri, 5 Mar 2021 19:09:00 +0100 Subject: [PATCH 05/18] Update main.py --- main.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/main.py b/main.py index 5257884..ef3081d 100644 --- a/main.py +++ b/main.py @@ -44,8 +44,8 @@ def heartbeat(s_table: Server_table, request: Request): try: for position, server_id in enumerate(s_table.ID): if server_id in heartbeat_table["ID"]: - if heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(server_id)] > s_table.last_heartbeat[ - position]: + if heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(server_id)] > \ + s_table.last_heartbeat[position]: heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(server_id)] = s_table.last_heartbeat[ position] else: @@ -64,3 +64,15 @@ def get_sensors(request: Request): log.message(f"sensor data sent to {request.client.host}:{request.client.port}") log.debug(f"sensor data: {sensors}") return sensors + + +@app.get("/files/{file}") +def get_file(file: str): + pass + + +def send_heartbeat(server_table, ID, files_table): + pass + +while True: + for server in heartbeat_table["IP"]: From 23be55253713670ae9e6e1171c09e4e0d52d904b Mon Sep 17 00:00:00 2001 From: Tucan444 Date: Fri, 5 Mar 2021 19:12:33 +0100 Subject: [PATCH 06/18] Garbage added some garbage --- garbage/Directory/directory.py | 285 ++++++++++++++++++++ garbage/Directory/files/subfolder/files.txt | 1 + garbage/Directory/files/test.json | 15 ++ garbage/Directory/files/welcome.json | 11 + garbage/Directory/files/zaujimavosti.json | 20 ++ garbage/Directory/main.py | 31 +++ 6 files changed, 363 insertions(+) create mode 100644 garbage/Directory/directory.py create mode 100644 garbage/Directory/files/subfolder/files.txt create mode 100644 garbage/Directory/files/test.json create mode 100644 garbage/Directory/files/welcome.json create mode 100644 garbage/Directory/files/zaujimavosti.json create mode 100644 garbage/Directory/main.py diff --git a/garbage/Directory/directory.py b/garbage/Directory/directory.py new file mode 100644 index 0000000..6b5507c --- /dev/null +++ b/garbage/Directory/directory.py @@ -0,0 +1,285 @@ +import os +import copy +import json + + +# todo !!!! currently don't use . in directory names !!! +# todo also dont use name 'directory__' + + +class Directory: + # "c" is used in loaded files as content variable containing the loaded file + def __init__(self): + pass + + def __str__(self): + return "directory__" + + def append_data(self, name, data, auto_convert=True): # usually data about file + if name != "": # ignoring .smt files + + if auto_convert: + if type(data) != type({}): + data = { + "directory__": False, + "c": data + } + else: + if "directory__" not in data.keys(): + data["directory__"] = False + + self.__setattr__(name, data) + + def append_directory(self, name, path=None, load_local=False): + new_directory = Directory() + + if load_local: + + result = new_directory.load_local(path) + if result == "not_directory": + data = { + "path": path, + "filename": path.split("\\")[-1], + "filetype": "unknown", + "directory__": False + } + + self.__setattr__(data["filename"], data) + + self.__setattr__(name, new_directory) + + def load(self, data_): + for data_key in data_.keys(): + if data_key != "directory__": + + if self.check_for_json_content(data_[data_key]): + data_[data_key]["c"] = self.unpack_dictionary(data_[data_key]["c"]) + + if hasattr(self, data_key): + obj = getattr(self, data_key) + if str(obj) == "directory__": + obj.load(data_[data_key]) + else: + + self.__setattr__(data_key, data_[data_key]) + + else: + if data_[data_key]["directory__"] is True: + new_dir = Directory() + self.__setattr__(data_key, new_dir) + new_dir.load(data_[data_key]) + else: + self.__setattr__(data_key, data_[data_key]) + + def load_local(self, path=""): + + current_directory = os.getcwd() + + if path != "": + try: + os.chdir(path) + except: + return "not_directory" + + new_directory = os.getcwd() + + for file in os.listdir(): + + if len(file) == len(file.split(".")[0]): + self.append_directory(file, f"{new_directory}\\{file}", True) + else: + data = { + "path": f"{new_directory}\\{file}", + "filename": "".join(file.split(".")[:-1]), + "filetype": file.split(".")[-1], + "directory__": False + } + + if data["filetype"] == "txt": + + try: + with open(file, "r") as f: + data["c"] = f.read().split("\n") + except: + pass + + elif data["filetype"] == "json": + + try: + with open(file, "r") as f: + data["c"] = json.load(f) + + data["c"] = self.unpack_dictionary(data["c"]) + except: + pass + + # making sure we don't overwrite something + + if data["filename"] in os.listdir(): + data["filename"] += "_" + + while hasattr(self, data["filename"]): + data["filename"] += "_" + + self.append_data(data["filename"], data) + + os.chdir(current_directory) + + return "successful" + + def get_dictionary(self, root=True): + dictionary = {} + if root is False: + dictionary["directory__"] = True + + for attribute in vars(self): + obj = getattr(self, attribute) + if str(obj) == "directory__": + dictionary[attribute] = obj.get_dictionary(False) + else: + dictionary[attribute] = copy.copy(obj) + + if self.check_for_json_content(obj): + dictionary[attribute]["c"] = self.pack_to_dictionary(obj["c"]) + + return dictionary + + def unpack_dictionary(self, dict_): + root = Directory() + + for key in dict_.keys(): + if type(dict_[key]) == type({}): + obj = self.unpack_dictionary(dict_[key]) + + root.__setattr__(key, obj) + + else: + root.append_data(key, dict_[key], auto_convert=False) + + return root + + def pack_to_dictionary(self, obj): + dict_ = {} + + for attribute in vars(obj): + if str(getattr(obj, attribute)) == "directory__": + dict_[attribute] = self.pack_to_dictionary(getattr(obj, attribute)) + else: + dict_[attribute] = getattr(obj, attribute) + + return dict_ + + def search(self, name, directories=True, filetype="any", exact=True): + # this func only searches for files + # for unpacked json use search_iuj as search in unpacked json + occurrences = [] + + for attribute in vars(self): + + search = True + is_directory = False + + obj = getattr(self, attribute) + + if str(obj) == "directory__": + is_directory = True + if directories is False or (filetype != "any" and filetype != "directory"): + search = False + occurrences += obj.search(name, directories, filetype, exact) + else: + if filetype != "any": + if type(obj) == type({}): + if "filetype" in obj.keys(): + if obj["filetype"] != filetype: + search = False + + if search: + if exact: + if name == attribute.strip("_"): + if str(obj) == "directory__": + obj.name__ = attribute + occurrences.append(obj) + elif type(obj) == type({}): + if obj.keys() != ["directory__", "c"]: + occurrences.append(obj) + else: + occurrences.append({attribute: obj["c"]}) + else: + occurrences.append({attribute: obj}) + + else: + if name in attribute: + if str(obj) == "directory__": + obj.name__ = attribute + occurrences.append(obj) + elif type(obj) == type({}): + if obj.keys() != ["directory__", "c"]: + occurrences.append(obj) + else: + occurrences.append({attribute: obj["c"]}) + else: + occurrences.append({attribute: obj}) + + return occurrences + + def search_iuj(self, name, exact=True, in_content=False): + occurrences = [] + + if in_content is False: + for attribute in vars(self): + obj = getattr(self, attribute) + + if str(obj) == "directory__": + occurrences += obj.search_iuj(name, exact=exact) + else: + if self.check_for_json_content(obj): + occurrences += obj["c"].search_iuj(name, exact=exact, in_content=True) + + else: + for attribute in vars(self): + obj = getattr(self, attribute) + + if str(obj) == "directory__": + occurrences += obj.search_iuj(name, exact=exact, in_content=True) + + if exact: + if name == attribute: + if str(obj) == "directory__": + obj.name__ = attribute + occurrences.append(obj) + else: + occurrences.append({attribute: obj}) + + else: + if name in attribute: + if str(obj) == "directory__": + obj.name__ = attribute + occurrences.append(obj) + else: + occurrences.append({attribute: obj}) + + return occurrences + + @staticmethod + def check_for_json_content(data): + if type(data) == type({}): + if "filetype" in data.keys(): + if data["filetype"] == "json": + if "c" in data.keys(): + return True + + return False + + def save_files(self): # saves txt and json files + for attribute in vars(self): + obj = getattr(self, attribute) + + if str(obj) == "directory__": + obj.save_files() + else: + if obj["filetype"] == "txt": + with open(obj["path"], "w") as f: + f.write("".join(obj["c"])) + elif obj["filetype"] == "json": + with open(obj["path"], "w") as f: + json.dump(self.pack_to_dictionary(obj["c"]), f, indent=4) diff --git a/garbage/Directory/files/subfolder/files.txt b/garbage/Directory/files/subfolder/files.txt new file mode 100644 index 0000000..6b3c8f3 --- /dev/null +++ b/garbage/Directory/files/subfolder/files.txt @@ -0,0 +1 @@ +for testing \ No newline at end of file diff --git a/garbage/Directory/files/test.json b/garbage/Directory/files/test.json new file mode 100644 index 0000000..251f683 --- /dev/null +++ b/garbage/Directory/files/test.json @@ -0,0 +1,15 @@ +{ + "hello": "chello", + "x": { + "aa": 55, + "bb": 44, + "cc": { + "oo": 11 + } + }, + "list": [ + 1, + 2, + 3 + ] +} \ No newline at end of file diff --git a/garbage/Directory/files/welcome.json b/garbage/Directory/files/welcome.json new file mode 100644 index 0000000..398f390 --- /dev/null +++ b/garbage/Directory/files/welcome.json @@ -0,0 +1,11 @@ +{ + "D_backround": "files/bg2.pmg", + "D_menu": "Pova\u017esk\u00fd hrad", + "D_text": "info o hrade!", + "prehliadka": [ + "pdf", + "files/prehliadky/prehliadka1.pdf", + "show" + ], + "hello": "chello" +} \ No newline at end of file diff --git a/garbage/Directory/files/zaujimavosti.json b/garbage/Directory/files/zaujimavosti.json new file mode 100644 index 0000000..25b5d0a --- /dev/null +++ b/garbage/Directory/files/zaujimavosti.json @@ -0,0 +1,20 @@ +{ + "D_backround": "files/bg3.pmg", + "D_menu": "Zauj\u00edmavosti Pova\u017esk\u00e9ho hradu", + "D_text": "Tu dole si m\u00f4\u017ete pozrie\u0165 zauj\u00edmavosti", + "historia": [ + "txt", + "files/txt/txt1.txt", + "menu" + ], + "novinky": [ + "txt", + "files/txt/txt2.txt", + "download" + ], + "aktu\u00e1lny hrad": [ + "mp4", + "files/video/video1.mp4", + "show" + ] +} \ No newline at end of file diff --git a/garbage/Directory/main.py b/garbage/Directory/main.py new file mode 100644 index 0000000..a1d00c7 --- /dev/null +++ b/garbage/Directory/main.py @@ -0,0 +1,31 @@ +from Python.MyLibraries.Directory.directory import Directory + + +filesystem = Directory() +filesystem.load_local() # loads local directory and unpacks jsons + +filesystem.files.welcome["c"].D_text = "info o hrade!" # changes attribute D_text in welcome +# "c" as content +filesystem.save_files() # saves all changes to txt, json files + + +filesystem_dictionary = filesystem.get_dictionary() # saves as dictionary + +"""send(filesystem_dictionary)""" # pseudocode + +filesystem_2 = Directory() +filesystem_2.load(filesystem_dictionary) # loads from dictionary + +welcome = filesystem.search("welcome") # searches for welcome +zaujimavosti = filesystem.search("mavosti", exact=False) # searches for names that include mavosti +json_files = filesystem.search("", filetype="json", exact=False) # searches for filetype json +folders = filesystem.search("", filetype="directory", exact=False) # searches for directories/folders +files = filesystem.search("files", directories=False) # search doesnt include directories +test = filesystem.search("test", filetype="json") + +test_dict = test[0]["c"].get_dictionary() + +oo = filesystem.search_iuj("oo") +attributes = test[0]["c"].search_iuj("o", exact=False, in_content=True) + +print("run in debugger please") # use breakpoints, for less confusion try keeping urself in main.py From a4d947e08233674445e6fd647ff5cd7594915f87 Mon Sep 17 00:00:00 2001 From: Tucan444 Date: Fri, 5 Mar 2021 19:35:12 +0100 Subject: [PATCH 07/18] deleting garbage cc --- garbage/Directory/directory.py | 285 -------------------- garbage/Directory/files/subfolder/files.txt | 1 - garbage/Directory/files/test.json | 15 -- garbage/Directory/files/welcome.json | 11 - garbage/Directory/files/zaujimavosti.json | 20 -- garbage/Directory/main.py | 31 --- 6 files changed, 363 deletions(-) delete mode 100644 garbage/Directory/directory.py delete mode 100644 garbage/Directory/files/subfolder/files.txt delete mode 100644 garbage/Directory/files/test.json delete mode 100644 garbage/Directory/files/welcome.json delete mode 100644 garbage/Directory/files/zaujimavosti.json delete mode 100644 garbage/Directory/main.py diff --git a/garbage/Directory/directory.py b/garbage/Directory/directory.py deleted file mode 100644 index 6b5507c..0000000 --- a/garbage/Directory/directory.py +++ /dev/null @@ -1,285 +0,0 @@ -import os -import copy -import json - - -# todo !!!! currently don't use . in directory names !!! -# todo also dont use name 'directory__' - - -class Directory: - # "c" is used in loaded files as content variable containing the loaded file - def __init__(self): - pass - - def __str__(self): - return "directory__" - - def append_data(self, name, data, auto_convert=True): # usually data about file - if name != "": # ignoring .smt files - - if auto_convert: - if type(data) != type({}): - data = { - "directory__": False, - "c": data - } - else: - if "directory__" not in data.keys(): - data["directory__"] = False - - self.__setattr__(name, data) - - def append_directory(self, name, path=None, load_local=False): - new_directory = Directory() - - if load_local: - - result = new_directory.load_local(path) - if result == "not_directory": - data = { - "path": path, - "filename": path.split("\\")[-1], - "filetype": "unknown", - "directory__": False - } - - self.__setattr__(data["filename"], data) - - self.__setattr__(name, new_directory) - - def load(self, data_): - for data_key in data_.keys(): - if data_key != "directory__": - - if self.check_for_json_content(data_[data_key]): - data_[data_key]["c"] = self.unpack_dictionary(data_[data_key]["c"]) - - if hasattr(self, data_key): - obj = getattr(self, data_key) - if str(obj) == "directory__": - obj.load(data_[data_key]) - else: - - self.__setattr__(data_key, data_[data_key]) - - else: - if data_[data_key]["directory__"] is True: - new_dir = Directory() - self.__setattr__(data_key, new_dir) - new_dir.load(data_[data_key]) - else: - self.__setattr__(data_key, data_[data_key]) - - def load_local(self, path=""): - - current_directory = os.getcwd() - - if path != "": - try: - os.chdir(path) - except: - return "not_directory" - - new_directory = os.getcwd() - - for file in os.listdir(): - - if len(file) == len(file.split(".")[0]): - self.append_directory(file, f"{new_directory}\\{file}", True) - else: - data = { - "path": f"{new_directory}\\{file}", - "filename": "".join(file.split(".")[:-1]), - "filetype": file.split(".")[-1], - "directory__": False - } - - if data["filetype"] == "txt": - - try: - with open(file, "r") as f: - data["c"] = f.read().split("\n") - except: - pass - - elif data["filetype"] == "json": - - try: - with open(file, "r") as f: - data["c"] = json.load(f) - - data["c"] = self.unpack_dictionary(data["c"]) - except: - pass - - # making sure we don't overwrite something - - if data["filename"] in os.listdir(): - data["filename"] += "_" - - while hasattr(self, data["filename"]): - data["filename"] += "_" - - self.append_data(data["filename"], data) - - os.chdir(current_directory) - - return "successful" - - def get_dictionary(self, root=True): - dictionary = {} - if root is False: - dictionary["directory__"] = True - - for attribute in vars(self): - obj = getattr(self, attribute) - if str(obj) == "directory__": - dictionary[attribute] = obj.get_dictionary(False) - else: - dictionary[attribute] = copy.copy(obj) - - if self.check_for_json_content(obj): - dictionary[attribute]["c"] = self.pack_to_dictionary(obj["c"]) - - return dictionary - - def unpack_dictionary(self, dict_): - root = Directory() - - for key in dict_.keys(): - if type(dict_[key]) == type({}): - obj = self.unpack_dictionary(dict_[key]) - - root.__setattr__(key, obj) - - else: - root.append_data(key, dict_[key], auto_convert=False) - - return root - - def pack_to_dictionary(self, obj): - dict_ = {} - - for attribute in vars(obj): - if str(getattr(obj, attribute)) == "directory__": - dict_[attribute] = self.pack_to_dictionary(getattr(obj, attribute)) - else: - dict_[attribute] = getattr(obj, attribute) - - return dict_ - - def search(self, name, directories=True, filetype="any", exact=True): - # this func only searches for files - # for unpacked json use search_iuj as search in unpacked json - occurrences = [] - - for attribute in vars(self): - - search = True - is_directory = False - - obj = getattr(self, attribute) - - if str(obj) == "directory__": - is_directory = True - if directories is False or (filetype != "any" and filetype != "directory"): - search = False - occurrences += obj.search(name, directories, filetype, exact) - else: - if filetype != "any": - if type(obj) == type({}): - if "filetype" in obj.keys(): - if obj["filetype"] != filetype: - search = False - - if search: - if exact: - if name == attribute.strip("_"): - if str(obj) == "directory__": - obj.name__ = attribute - occurrences.append(obj) - elif type(obj) == type({}): - if obj.keys() != ["directory__", "c"]: - occurrences.append(obj) - else: - occurrences.append({attribute: obj["c"]}) - else: - occurrences.append({attribute: obj}) - - else: - if name in attribute: - if str(obj) == "directory__": - obj.name__ = attribute - occurrences.append(obj) - elif type(obj) == type({}): - if obj.keys() != ["directory__", "c"]: - occurrences.append(obj) - else: - occurrences.append({attribute: obj["c"]}) - else: - occurrences.append({attribute: obj}) - - return occurrences - - def search_iuj(self, name, exact=True, in_content=False): - occurrences = [] - - if in_content is False: - for attribute in vars(self): - obj = getattr(self, attribute) - - if str(obj) == "directory__": - occurrences += obj.search_iuj(name, exact=exact) - else: - if self.check_for_json_content(obj): - occurrences += obj["c"].search_iuj(name, exact=exact, in_content=True) - - else: - for attribute in vars(self): - obj = getattr(self, attribute) - - if str(obj) == "directory__": - occurrences += obj.search_iuj(name, exact=exact, in_content=True) - - if exact: - if name == attribute: - if str(obj) == "directory__": - obj.name__ = attribute - occurrences.append(obj) - else: - occurrences.append({attribute: obj}) - - else: - if name in attribute: - if str(obj) == "directory__": - obj.name__ = attribute - occurrences.append(obj) - else: - occurrences.append({attribute: obj}) - - return occurrences - - @staticmethod - def check_for_json_content(data): - if type(data) == type({}): - if "filetype" in data.keys(): - if data["filetype"] == "json": - if "c" in data.keys(): - return True - - return False - - def save_files(self): # saves txt and json files - for attribute in vars(self): - obj = getattr(self, attribute) - - if str(obj) == "directory__": - obj.save_files() - else: - if obj["filetype"] == "txt": - with open(obj["path"], "w") as f: - f.write("".join(obj["c"])) - elif obj["filetype"] == "json": - with open(obj["path"], "w") as f: - json.dump(self.pack_to_dictionary(obj["c"]), f, indent=4) diff --git a/garbage/Directory/files/subfolder/files.txt b/garbage/Directory/files/subfolder/files.txt deleted file mode 100644 index 6b3c8f3..0000000 --- a/garbage/Directory/files/subfolder/files.txt +++ /dev/null @@ -1 +0,0 @@ -for testing \ No newline at end of file diff --git a/garbage/Directory/files/test.json b/garbage/Directory/files/test.json deleted file mode 100644 index 251f683..0000000 --- a/garbage/Directory/files/test.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "hello": "chello", - "x": { - "aa": 55, - "bb": 44, - "cc": { - "oo": 11 - } - }, - "list": [ - 1, - 2, - 3 - ] -} \ No newline at end of file diff --git a/garbage/Directory/files/welcome.json b/garbage/Directory/files/welcome.json deleted file mode 100644 index 398f390..0000000 --- a/garbage/Directory/files/welcome.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "D_backround": "files/bg2.pmg", - "D_menu": "Pova\u017esk\u00fd hrad", - "D_text": "info o hrade!", - "prehliadka": [ - "pdf", - "files/prehliadky/prehliadka1.pdf", - "show" - ], - "hello": "chello" -} \ No newline at end of file diff --git a/garbage/Directory/files/zaujimavosti.json b/garbage/Directory/files/zaujimavosti.json deleted file mode 100644 index 25b5d0a..0000000 --- a/garbage/Directory/files/zaujimavosti.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "D_backround": "files/bg3.pmg", - "D_menu": "Zauj\u00edmavosti Pova\u017esk\u00e9ho hradu", - "D_text": "Tu dole si m\u00f4\u017ete pozrie\u0165 zauj\u00edmavosti", - "historia": [ - "txt", - "files/txt/txt1.txt", - "menu" - ], - "novinky": [ - "txt", - "files/txt/txt2.txt", - "download" - ], - "aktu\u00e1lny hrad": [ - "mp4", - "files/video/video1.mp4", - "show" - ] -} \ No newline at end of file diff --git a/garbage/Directory/main.py b/garbage/Directory/main.py deleted file mode 100644 index a1d00c7..0000000 --- a/garbage/Directory/main.py +++ /dev/null @@ -1,31 +0,0 @@ -from Python.MyLibraries.Directory.directory import Directory - - -filesystem = Directory() -filesystem.load_local() # loads local directory and unpacks jsons - -filesystem.files.welcome["c"].D_text = "info o hrade!" # changes attribute D_text in welcome -# "c" as content -filesystem.save_files() # saves all changes to txt, json files - - -filesystem_dictionary = filesystem.get_dictionary() # saves as dictionary - -"""send(filesystem_dictionary)""" # pseudocode - -filesystem_2 = Directory() -filesystem_2.load(filesystem_dictionary) # loads from dictionary - -welcome = filesystem.search("welcome") # searches for welcome -zaujimavosti = filesystem.search("mavosti", exact=False) # searches for names that include mavosti -json_files = filesystem.search("", filetype="json", exact=False) # searches for filetype json -folders = filesystem.search("", filetype="directory", exact=False) # searches for directories/folders -files = filesystem.search("files", directories=False) # search doesnt include directories -test = filesystem.search("test", filetype="json") - -test_dict = test[0]["c"].get_dictionary() - -oo = filesystem.search_iuj("oo") -attributes = test[0]["c"].search_iuj("o", exact=False, in_content=True) - -print("run in debugger please") # use breakpoints, for less confusion try keeping urself in main.py From d5fcd70dcf23caed57cb80a20f55f9dbc549aa91 Mon Sep 17 00:00:00 2001 From: Untriex Programming Date: Mon, 8 Mar 2021 21:06:35 +0100 Subject: [PATCH 08/18] Heartbeat update Heartbeat is now working between two devices (maybe even more, not tested yet). Crappy ID handeling is little bit fixed. Mistake in line 57 fixed (> changed to <) Cleared testing id table. --- engine.py | 4 ++-- main.py | 58 +++++++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 46 insertions(+), 16 deletions(-) diff --git a/engine.py b/engine.py index 85e8ed2..b589e64 100644 --- a/engine.py +++ b/engine.py @@ -2,7 +2,7 @@ from datetime import datetime class Log(): - def __init__(self, save_e=True, save_w=False, save_m=False, print_e=True, print_w=True, print_m=False, debug = False): + def __init__(self, save_e=True, save_w=False, save_m=False, print_e=True, print_w=True, print_m=False, debug=False): self.save_error = save_e self.save_warning = save_w self.save_messages = save_m @@ -34,4 +34,4 @@ class Log(): def debug(self, debug): if self.debug_e: - print(f"{datetime.now()} -> DEBUG: {debug}") \ No newline at end of file + print(f"{datetime.now()} -> DEBUG: {debug}") diff --git a/main.py b/main.py index ef3081d..6b05cf7 100644 --- a/main.py +++ b/main.py @@ -1,6 +1,10 @@ from fastapi import FastAPI, Request from pydantic import BaseModel import engine +import requests +import time +import json +import threading app = FastAPI() @@ -12,22 +16,28 @@ sensors = { } log = engine.Log(print_m=True, debug=True) -location = "izba" -ID = 55 -IP = "192.168.1.25" +time_to_heartbeat = 60 #Seconds +location = "2" +ID = 2 +IP = "192.168.1.99" filesystem = { "otvaracie_hod": ["t", {"pon": "10-25"}, {"uto": "10-25"}], "prehliadka": ["pdf", "/files/prehliadka.pdf"], "fotky_hrad": ["png_z", ["/files/hrad1.png", "/files/hrad2.png"]] } heartbeat_table = { - "ID": [1, 2, 3, 4, 5, 6, 7], - "IP": ["192.168.1.11", "192.168.1.12", "192.168.1.13", "192.168.1.14", "192.168.1.16", "192.168.1.17"], - "location": ["1", "2", "3", "4", "5", "6", "hrad"], - "file_system": ["x", "x", "x", "x", "x", "x", "x"], - "last_heartbeat": [15, 15, 15, 15, 15, 15, 15] + "ID": [1], + "IP": ["192.168.1.231"], + "location": ["1"], + "file_system": ["x"], + "last_heartbeat": [7] } - +heartbeat_table["ID"].append(ID) +heartbeat_table["IP"].append(IP) +heartbeat_table["location"].append(location) +heartbeat_table["file_system"].append(filesystem) +heartbeat_table["last_heartbeat"].append(time_to_heartbeat) +# Todo better "host" ID handeling class Server_table(BaseModel): ID: list @@ -44,10 +54,15 @@ def heartbeat(s_table: Server_table, request: Request): try: for position, server_id in enumerate(s_table.ID): if server_id in heartbeat_table["ID"]: - if heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(server_id)] > \ + if heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(server_id)] < \ s_table.last_heartbeat[position]: heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(server_id)] = s_table.last_heartbeat[ position] + log.debug(f"updated {server_id}`s heartbeat to {s_table.last_heartbeat[position]}") + #Todo update filesystem too. Now updating only last heartbeat + elif server_id == ID: + log.debug(f"Updated my heartbeat from {s_table.last_heartbeat[position]} to {time_to_heartbeat}") + heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(ID)] = time_to_heartbeat else: heartbeat_table["ID"].append(s_table.ID[position]) heartbeat_table["IP"].append(s_table.IP[position]) @@ -69,10 +84,25 @@ def get_sensors(request: Request): @app.get("/files/{file}") def get_file(file: str): pass + #Todo Get files function for client (phone/ther rpi) -def send_heartbeat(server_table, ID, files_table): - pass +def send_heartbeat(ip): + log.message(f"requesting heartbeat from {ip}") + cache_request = requests.post(f"http://{ip}:8000/heartbeat", data=json.dumps(heartbeat_table)) + log.debug(json.dumps(cache_request.json(), indent=4)) -while True: - for server in heartbeat_table["IP"]: + +def mainloop(): + while True: + for device_number, device_ID in enumerate(heartbeat_table["ID"]): + if device_ID != ID: + if heartbeat_table["last_heartbeat"][device_number] < 0: + send_heartbeat(heartbeat_table["IP"][device_number]) + heartbeat_table["last_heartbeat"][device_number] = time_to_heartbeat + 5 + print(f"""{device_ID} : time to heartbeat : {heartbeat_table["last_heartbeat"][device_number]}""") + heartbeat_table["last_heartbeat"][device_number] -= 1 + time.sleep(1) + +thread_1 = threading.Thread(target=mainloop, daemon=True) +thread_1.start() From a8152f9ca33fe5e0b865012ed1089a940ef14b9d Mon Sep 17 00:00:00 2001 From: Untriex Programming Date: Wed, 10 Mar 2021 13:26:44 +0100 Subject: [PATCH 09/18] test files/comunication App is now working (partly) --- files/test.txt | 1 + files/test2.txt | 1 + log.txt | 3 +++ main.py | 50 +++++++++++++++++++++++++++++++++++++++---------- 4 files changed, 45 insertions(+), 10 deletions(-) create mode 100644 files/test.txt create mode 100644 files/test2.txt diff --git a/files/test.txt b/files/test.txt new file mode 100644 index 0000000..57dbbb2 --- /dev/null +++ b/files/test.txt @@ -0,0 +1 @@ +toto je test číslo 1 \ No newline at end of file diff --git a/files/test2.txt b/files/test2.txt new file mode 100644 index 0000000..96a90c6 --- /dev/null +++ b/files/test2.txt @@ -0,0 +1 @@ +toto je test n. 2 \ No newline at end of file diff --git a/log.txt b/log.txt index e69de29..60bcbdd 100644 --- a/log.txt +++ b/log.txt @@ -0,0 +1,3 @@ + +2021-03-10 12:20:52.490547 -> ERROR: heartbeat > list indices must be integers or slices, not str +2021-03-10 12:29:03.690483 -> ERROR: heartbeat > list indices must be integers or slices, not str \ No newline at end of file diff --git a/main.py b/main.py index 6b05cf7..5c9d426 100644 --- a/main.py +++ b/main.py @@ -1,9 +1,11 @@ from fastapi import FastAPI, Request +from fastapi.responses import FileResponse from pydantic import BaseModel import engine import requests import time import json +import os import threading app = FastAPI() @@ -14,12 +16,13 @@ sensors = { "počet ľudí": 10, "doba čakania": 2 } -log = engine.Log(print_m=True, debug=True) +log = engine.Log(print_m=True, debug=False) -time_to_heartbeat = 60 #Seconds +time_to_heartbeat = 20 # Seconds location = "2" ID = 2 IP = "192.168.1.99" + filesystem = { "otvaracie_hod": ["t", {"pon": "10-25"}, {"uto": "10-25"}], "prehliadka": ["pdf", "/files/prehliadka.pdf"], @@ -30,13 +33,15 @@ heartbeat_table = { "IP": ["192.168.1.231"], "location": ["1"], "file_system": ["x"], - "last_heartbeat": [7] + "last_heartbeat": [20] } heartbeat_table["ID"].append(ID) heartbeat_table["IP"].append(IP) heartbeat_table["location"].append(location) heartbeat_table["file_system"].append(filesystem) heartbeat_table["last_heartbeat"].append(time_to_heartbeat) + + # Todo better "host" ID handeling class Server_table(BaseModel): @@ -59,7 +64,7 @@ def heartbeat(s_table: Server_table, request: Request): heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(server_id)] = s_table.last_heartbeat[ position] log.debug(f"updated {server_id}`s heartbeat to {s_table.last_heartbeat[position]}") - #Todo update filesystem too. Now updating only last heartbeat + # Todo update filesystem too. Now updating only last heartbeat elif server_id == ID: log.debug(f"Updated my heartbeat from {s_table.last_heartbeat[position]} to {time_to_heartbeat}") heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(ID)] = time_to_heartbeat @@ -81,15 +86,39 @@ def get_sensors(request: Request): return sensors -@app.get("/files/{file}") -def get_file(file: str): - pass - #Todo Get files function for client (phone/ther rpi) +@app.get("/files/{IDx}/{file}") +def get_file(IDx: int, file: str): + if IDx == ID: + return FileResponse(f"files/{file}") + elif IDx in heartbeat_table["ID"]: + r = requests.get(f"""http://{heartbeat_table["IP"][heartbeat_table["ID"].index(IDx)]}:8000/files/{IDx}/{file}""") + r.encoding = "utf-8" + if os.path.isdir(f"cache/{IDx}"): + if os.path.isfile(f"cache/{IDx}/{file}"): + pass + # Todo cache time to live/compare files on server and cache with not resource heavy function + else: + with open(f"cache/{IDx}/{file}", "wb") as save: + save.write(bytes(r.content)) + else: + os.mkdir(f"cache/{IDx}") + with open(f"cache/{IDx}/{file}", "wb") as save: + save.write(bytes(r.content)) + return FileResponse(f"cache/{IDx}/{file}") + # Todo Get files function for client (phone/ther rpi) +@app.post("/update") +def update_sensors(): + pass + # Todo Make option to upload "live data" manually to rpi + def send_heartbeat(ip): + global heartbeat_table log.message(f"requesting heartbeat from {ip}") cache_request = requests.post(f"http://{ip}:8000/heartbeat", data=json.dumps(heartbeat_table)) + heartbeat_table = dict(cache_request.json()[0]) + #Todo test heartbeat table update log.debug(json.dumps(cache_request.json(), indent=4)) @@ -99,10 +128,11 @@ def mainloop(): if device_ID != ID: if heartbeat_table["last_heartbeat"][device_number] < 0: send_heartbeat(heartbeat_table["IP"][device_number]) - heartbeat_table["last_heartbeat"][device_number] = time_to_heartbeat + 5 - print(f"""{device_ID} : time to heartbeat : {heartbeat_table["last_heartbeat"][device_number]}""") + heartbeat_table["last_heartbeat"][int(device_number)] = int(time_to_heartbeat) + 5 + log.debug(f"""{device_ID} : time to heartbeat : {heartbeat_table["last_heartbeat"][device_number]}""") heartbeat_table["last_heartbeat"][device_number] -= 1 time.sleep(1) + thread_1 = threading.Thread(target=mainloop, daemon=True) thread_1.start() From 1df6405a3d3ca91864bde4a40206bc5d45e02b27 Mon Sep 17 00:00:00 2001 From: Untriex Programming Date: Fri, 12 Mar 2021 17:26:05 +0100 Subject: [PATCH 10/18] configuration in json and offline client support Program will now work even if some of rpi are offline. Server settings are now saved in settings.json for easier update on servers. Uploaded more testing files. Also slight improvments of formating and comenting of the code --- engine.py | 19 +++++++----- files/test.jpg | Bin 0 -> 362578 bytes files/test.txt | 2 +- files/test2.txt | 2 +- log.txt | 3 -- main.py | 78 +++++++++++++++++++++++++++++------------------- settings.json | 23 ++++++++++++++ 7 files changed, 84 insertions(+), 43 deletions(-) create mode 100644 files/test.jpg create mode 100644 settings.json diff --git a/engine.py b/engine.py index b589e64..be87120 100644 --- a/engine.py +++ b/engine.py @@ -2,14 +2,17 @@ from datetime import datetime class Log(): - def __init__(self, save_e=True, save_w=False, save_m=False, print_e=True, print_w=True, print_m=False, debug=False): - self.save_error = save_e - self.save_warning = save_w - self.save_messages = save_m - self.print_error = print_e - self.print_warning = print_w - self.print_messages = print_m - self.debug_e = debug + def __init__(self, settings=None): + if settings is None: + settings = {"save_error": True, "print_error": True, "save_warning": True, "print_warning": True, + "save_message": False, "print_message": True, "enable_debug": False} + self.save_error = settings["save_error"] + self.save_warning = settings["save_warning"] + self.save_messages = settings["save_message"] + self.print_error = settings["print_error"] + self.print_warning = settings["print_warning"] + self.print_messages = settings["print_message"] + self.debug_e = settings["enable_debug"] def error(self, error): if self.print_error: diff --git a/files/test.jpg b/files/test.jpg new file mode 100644 index 0000000000000000000000000000000000000000..7777c367f9be195f703cc37b9160b5208a2d61a9 GIT binary patch literal 362578 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μ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�x}E3gL-UrZ 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 z%0D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ξ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 E0qvjPRR910 literal 0 HcmV?d00001 diff --git a/files/test.txt b/files/test.txt index 57dbbb2..e63327e 100644 --- a/files/test.txt +++ b/files/test.txt @@ -1 +1 @@ -toto je test číslo 1 \ No newline at end of file +toto je test číslo 1 zo serveru s ID 2 \ No newline at end of file diff --git a/files/test2.txt b/files/test2.txt index 96a90c6..e4c078a 100644 --- a/files/test2.txt +++ b/files/test2.txt @@ -1 +1 @@ -toto je test n. 2 \ No newline at end of file +toto je test n. 2 zo serveru ID2 \ No newline at end of file diff --git a/log.txt b/log.txt index 60bcbdd..e69de29 100644 --- a/log.txt +++ b/log.txt @@ -1,3 +0,0 @@ - -2021-03-10 12:20:52.490547 -> ERROR: heartbeat > list indices must be integers or slices, not str -2021-03-10 12:29:03.690483 -> ERROR: heartbeat > list indices must be integers or slices, not str \ No newline at end of file diff --git a/main.py b/main.py index 5c9d426..e9b9a59 100644 --- a/main.py +++ b/main.py @@ -8,33 +8,34 @@ import json import os import threading -app = FastAPI() +with open("settings.json", "r") as f: #loading settings + settings = json.load(f) -sensors = { +IP = settings["IP"] +ID = settings["ID"] +location = settings["location"] + +app = FastAPI() #init of FastAPI +log = engine.Log(settings["log"]) # init of LOG +offline = [] + +time_to_heartbeat = settings["time_to_heartbeat"] # Raspberry will be requesting heartbeat every __ seconds +time_to_heartbeat_offline = settings["time_to_heartbeat_offline"] # Raspberry will be requesting heartbeat every __ seconds from offline rpi + +# json variables +filesystem = { # Here will be files saved on this raspberry + "otvaracie_hod": ["t", {"pon": "10-25"}, {"uto": "10-25"}], + "prehliadka": ["pdf", "/files/prehliadka.pdf"], + "fotky_hrad": ["png_z", ["/files/hrad1.png", "/files/hrad2.png"]] +} +heartbeat_table = settings["heartbeat_table"] +sensors = { # List of "live" data like tempeature, etc. "teplota": 24, "vlhkosť": 25, "počet ľudí": 10, "doba čakania": 2 } -log = engine.Log(print_m=True, debug=False) -time_to_heartbeat = 20 # Seconds -location = "2" -ID = 2 -IP = "192.168.1.99" - -filesystem = { - "otvaracie_hod": ["t", {"pon": "10-25"}, {"uto": "10-25"}], - "prehliadka": ["pdf", "/files/prehliadka.pdf"], - "fotky_hrad": ["png_z", ["/files/hrad1.png", "/files/hrad2.png"]] -} -heartbeat_table = { - "ID": [1], - "IP": ["192.168.1.231"], - "location": ["1"], - "file_system": ["x"], - "last_heartbeat": [20] -} heartbeat_table["ID"].append(ID) heartbeat_table["IP"].append(IP) heartbeat_table["location"].append(location) @@ -44,7 +45,7 @@ heartbeat_table["last_heartbeat"].append(time_to_heartbeat) # Todo better "host" ID handeling -class Server_table(BaseModel): +class Server_table(BaseModel): # table of content for heartbeat request ID: list IP: list location: list @@ -54,7 +55,7 @@ class Server_table(BaseModel): @app.post("/heartbeat") def heartbeat(s_table: Server_table, request: Request): - log.message(f"heartbeat requested: {request.client.host}:{request.client.port}") + log.message(f"server requested heartbeat {request.client.host}:{request.client.port}") log.debug(f"Recieved server table: {s_table}") try: for position, server_id in enumerate(s_table.ID): @@ -64,7 +65,8 @@ def heartbeat(s_table: Server_table, request: Request): heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(server_id)] = s_table.last_heartbeat[ position] log.debug(f"updated {server_id}`s heartbeat to {s_table.last_heartbeat[position]}") - # Todo update filesystem too. Now updating only last heartbeat + heartbeat_table["file_system"][heartbeat_table["ID"].index(server_id)] = s_table.file_system[ + position] elif server_id == ID: log.debug(f"Updated my heartbeat from {s_table.last_heartbeat[position]} to {time_to_heartbeat}") heartbeat_table["last_heartbeat"][heartbeat_table["ID"].index(ID)] = time_to_heartbeat @@ -76,6 +78,9 @@ def heartbeat(s_table: Server_table, request: Request): heartbeat_table["last_heartbeat"].append(s_table.last_heartbeat[position]) except Exception as error: log.error(f"heartbeat > {error}") + if heartbeat_table["ID"][heartbeat_table["IP"].index(request.client.host)] in offline: + offline.remove(heartbeat_table["ID"][heartbeat_table["IP"].index(request.client.host)]) + log.message(f"{request.client.host} gone online") return heartbeat_table, {"ID": ID, "file_system": filesystem, "location": location} @@ -91,7 +96,8 @@ def get_file(IDx: int, file: str): if IDx == ID: return FileResponse(f"files/{file}") elif IDx in heartbeat_table["ID"]: - r = requests.get(f"""http://{heartbeat_table["IP"][heartbeat_table["ID"].index(IDx)]}:8000/files/{IDx}/{file}""") + r = requests.get( + f"""http://{heartbeat_table["IP"][heartbeat_table["ID"].index(IDx)]}:8000/files/{IDx}/{file}""") r.encoding = "utf-8" if os.path.isdir(f"cache/{IDx}"): if os.path.isfile(f"cache/{IDx}/{file}"): @@ -105,7 +111,6 @@ def get_file(IDx: int, file: str): with open(f"cache/{IDx}/{file}", "wb") as save: save.write(bytes(r.content)) return FileResponse(f"cache/{IDx}/{file}") - # Todo Get files function for client (phone/ther rpi) @app.post("/update") @@ -113,12 +118,12 @@ def update_sensors(): pass # Todo Make option to upload "live data" manually to rpi -def send_heartbeat(ip): + +def send_heartbeat(ip, id): global heartbeat_table - log.message(f"requesting heartbeat from {ip}") + log.message(f"""sending heartbeat to {ip}({"offline" if id in offline else "online"})""") cache_request = requests.post(f"http://{ip}:8000/heartbeat", data=json.dumps(heartbeat_table)) heartbeat_table = dict(cache_request.json()[0]) - #Todo test heartbeat table update log.debug(json.dumps(cache_request.json(), indent=4)) @@ -127,8 +132,18 @@ def mainloop(): for device_number, device_ID in enumerate(heartbeat_table["ID"]): if device_ID != ID: if heartbeat_table["last_heartbeat"][device_number] < 0: - send_heartbeat(heartbeat_table["IP"][device_number]) - heartbeat_table["last_heartbeat"][int(device_number)] = int(time_to_heartbeat) + 5 + try: + send_heartbeat(heartbeat_table["IP"][device_number], heartbeat_table["ID"][device_number]) + except requests.exceptions.ConnectionError: + if heartbeat_table["ID"][device_number] not in offline: + log.warning(f"""{heartbeat_table["IP"][device_number]} disconnected/is not available""") + offline.append(heartbeat_table["ID"][device_number]) + heartbeat_table["last_heartbeat"][int(device_number)] = int(time_to_heartbeat_offline) + else: + if heartbeat_table["ID"][device_number] in offline: + offline.remove(heartbeat_table["ID"][device_number]) + log.message(f"""{heartbeat_table["IP"][device_number]} gone online""") + heartbeat_table["last_heartbeat"][int(device_number)] = int(time_to_heartbeat) + 5 log.debug(f"""{device_ID} : time to heartbeat : {heartbeat_table["last_heartbeat"][device_number]}""") heartbeat_table["last_heartbeat"][device_number] -= 1 time.sleep(1) @@ -136,3 +151,6 @@ def mainloop(): thread_1 = threading.Thread(target=mainloop, daemon=True) thread_1.start() + +# Todo in next release: disconnect offline client after set time +# Todo better formating code + comments \ No newline at end of file diff --git a/settings.json b/settings.json new file mode 100644 index 0000000..e670bca --- /dev/null +++ b/settings.json @@ -0,0 +1,23 @@ +{ + "ID": 0, + "IP": "192.168.1.99", + "location": "izba", + "time_to_heartbeat": 20, + "time_to_heartbeat_offline": 25, + "log": { + "save_error": true, + "print_error": true, + "save_warning": true, + "print_warning": true, + "save_message": false, + "print_message": true, + "enable_debug": false + }, + "heartbeat_table": { + "ID": [], + "IP": [], + "location": [], + "file_system": [], + "last_heartbeat": [] +} +} \ No newline at end of file From 169abb06caacf41c641355f06b40817d68491785 Mon Sep 17 00:00:00 2001 From: Untriex Programming Date: Tue, 16 Mar 2021 20:00:41 +0100 Subject: [PATCH 11/18] Update of files !not tested! merged because of addon of app --- engine.py | 2 +- filesystem.json | 22 ++++++++++++++++++ log.txt | 3 +++ main.py | 59 +++++++++++++++++++++++++++++++++++-------------- settings.json | 9 +------- version.json | 4 ++++ 6 files changed, 74 insertions(+), 25 deletions(-) create mode 100644 filesystem.json create mode 100644 version.json diff --git a/engine.py b/engine.py index be87120..1d0a044 100644 --- a/engine.py +++ b/engine.py @@ -1,7 +1,7 @@ from datetime import datetime -class Log(): +class Log: def __init__(self, settings=None): if settings is None: settings = {"save_error": True, "print_error": True, "save_warning": True, "print_warning": True, diff --git a/filesystem.json b/filesystem.json new file mode 100644 index 0000000..bfb59b2 --- /dev/null +++ b/filesystem.json @@ -0,0 +1,22 @@ +{ + "ID": 0, + "location": "izba", + "descrpition": { + "title": "legionrpi", + "description_s": "krátky popis, ktorý bude zobrazený iba v náhladovom okne", + "description_l": "dlhší popis zariadenia, ktorý bude zobrazený po otvorení", + "photo_s": "mala_fotka.png", + "photo_b": "velka fotka.png" + }, + "files": [ + { + "name": "test", + "format": ".jpg", + "description": "toto je jpg test file" + }, { + "name": "test2", + "format": ".txt", + "description": "toto je txt test file" + } + ] +} \ No newline at end of file diff --git a/log.txt b/log.txt index e69de29..66ecc27 100644 --- a/log.txt +++ b/log.txt @@ -0,0 +1,3 @@ + +2021-03-15 10:13:26.660898 -> Warning: 192.168.1.232 disconnected/is not available +2021-03-15 11:23:33.589998 -> Warning: 192.168.1.231 disconnected/is not available \ No newline at end of file diff --git a/main.py b/main.py index e9b9a59..9c6f979 100644 --- a/main.py +++ b/main.py @@ -7,20 +7,22 @@ import time import json import os import threading +import hashlib -with open("settings.json", "r") as f: #loading settings +with open("settings.json", "r") as f: # loading settings settings = json.load(f) IP = settings["IP"] ID = settings["ID"] location = settings["location"] -app = FastAPI() #init of FastAPI +app = FastAPI() # init of FastAPI log = engine.Log(settings["log"]) # init of LOG offline = [] time_to_heartbeat = settings["time_to_heartbeat"] # Raspberry will be requesting heartbeat every __ seconds -time_to_heartbeat_offline = settings["time_to_heartbeat_offline"] # Raspberry will be requesting heartbeat every __ seconds from offline rpi +time_to_heartbeat_offline = settings[ + "time_to_heartbeat_offline"] # Raspberry will be requesting heartbeat every __ seconds from offline rpi # json variables filesystem = { # Here will be files saved on this raspberry @@ -45,7 +47,7 @@ heartbeat_table["last_heartbeat"].append(time_to_heartbeat) # Todo better "host" ID handeling -class Server_table(BaseModel): # table of content for heartbeat request +class ServerTable(BaseModel): # table of content for heartbeat request ID: list IP: list location: list @@ -54,9 +56,10 @@ class Server_table(BaseModel): # table of content for heartbeat request @app.post("/heartbeat") -def heartbeat(s_table: Server_table, request: Request): +def heartbeat(s_table: ServerTable, request: Request): log.message(f"server requested heartbeat {request.client.host}:{request.client.port}") log.debug(f"Recieved server table: {s_table}") + try: for position, server_id in enumerate(s_table.ID): if server_id in heartbeat_table["ID"]: @@ -78,9 +81,11 @@ def heartbeat(s_table: Server_table, request: Request): heartbeat_table["last_heartbeat"].append(s_table.last_heartbeat[position]) except Exception as error: log.error(f"heartbeat > {error}") + if heartbeat_table["ID"][heartbeat_table["IP"].index(request.client.host)] in offline: offline.remove(heartbeat_table["ID"][heartbeat_table["IP"].index(request.client.host)]) log.message(f"{request.client.host} gone online") + return heartbeat_table, {"ID": ID, "file_system": filesystem, "location": location} @@ -93,23 +98,28 @@ def get_sensors(request: Request): @app.get("/files/{IDx}/{file}") def get_file(IDx: int, file: str): + server_ip = heartbeat_table["IP"][heartbeat_table["ID"].index(IDx)] if IDx == ID: return FileResponse(f"files/{file}") elif IDx in heartbeat_table["ID"]: - r = requests.get( - f"""http://{heartbeat_table["IP"][heartbeat_table["ID"].index(IDx)]}:8000/files/{IDx}/{file}""") - r.encoding = "utf-8" if os.path.isdir(f"cache/{IDx}"): if os.path.isfile(f"cache/{IDx}/{file}"): - pass - # Todo cache time to live/compare files on server and cache with not resource heavy function - else: - with open(f"cache/{IDx}/{file}", "wb") as save: - save.write(bytes(r.content)) + with open(f"cache/{IDx}/{file}", "rb") as compared_file: + m = hashlib.md5() + for line in compared_file: + m.update(line) + rr = requests.get(f"""http://{server_ip}:8000/compare/{file}""") + if rr.text.strip('"') != str(m.hexdigest()): + log.message(f"{file} on server {server_ip} is changed.") + else: + log.debug(f"returning cached file cache/{IDx}{file}") + return FileResponse(f"cache/{IDx}/{file}") else: os.mkdir(f"cache/{IDx}") - with open(f"cache/{IDx}/{file}", "wb") as save: - save.write(bytes(r.content)) + log.message(f"downloading {file} from {server_ip}") + r = requests.get(f"http://{server_ip}:8000/files/{IDx}/{file}") + with open(f"cache/{IDx}/{file}", "wb") as save: + save.write(bytes(r.content)) return FileResponse(f"cache/{IDx}/{file}") @@ -119,6 +129,20 @@ def update_sensors(): # Todo Make option to upload "live data" manually to rpi +@app.get("/compare/{file}") +def comparision(file: str): + with open(f"files/{file}", "rb") as compared_file: + m = hashlib.md5() + for line in compared_file: + m.update(line) + return m.hexdigest() + + +@app.get("/devices_list") +def get_devices_list(): + return heartbeat_table + + def send_heartbeat(ip, id): global heartbeat_table log.message(f"""sending heartbeat to {ip}({"offline" if id in offline else "online"})""") @@ -153,4 +177,7 @@ thread_1 = threading.Thread(target=mainloop, daemon=True) thread_1.start() # Todo in next release: disconnect offline client after set time -# Todo better formating code + comments \ No newline at end of file +# Todo send to mobile +# Todo new filesystem handeling +# Todo implement update system +# Todo settings for easy adding/editing files/id/text \ No newline at end of file diff --git a/settings.json b/settings.json index e670bca..989602e 100644 --- a/settings.json +++ b/settings.json @@ -12,12 +12,5 @@ "save_message": false, "print_message": true, "enable_debug": false - }, - "heartbeat_table": { - "ID": [], - "IP": [], - "location": [], - "file_system": [], - "last_heartbeat": [] + } } -} \ No newline at end of file diff --git a/version.json b/version.json new file mode 100644 index 0000000..63f5b53 --- /dev/null +++ b/version.json @@ -0,0 +1,4 @@ +{ + "version": "0.1", + "type": "Alpha" +} \ No newline at end of file From 777b9c4749250fc105d83b6543afd9d6a4c14d94 Mon Sep 17 00:00:00 2001 From: Tucan444 <66880425+Tucan444@users.noreply.github.com> Date: Tue, 16 Mar 2021 20:03:36 +0100 Subject: [PATCH 12/18] Added app files --- app/WikiSpot/.gitignore | 15 ++ app/WikiSpot/.idea/.gitignore | 3 + app/WikiSpot/.idea/compiler.xml | 6 + app/WikiSpot/.idea/gradle.xml | 22 +++ app/WikiSpot/.idea/jarRepositories.xml | 25 +++ app/WikiSpot/.idea/misc.xml | 9 + app/WikiSpot/app/.gitignore | 1 + app/WikiSpot/app/build.gradle | 70 +++++++ app/WikiSpot/app/proguard-rules.pro | 21 +++ .../wikispot/ExampleInstrumentedTest.kt | 24 +++ app/WikiSpot/app/src/main/AndroidManifest.xml | 22 +++ .../java/com/example/wikispot/AppConstants.kt | 3 + .../wikispot/activities/MainActivity.kt | 28 +++ .../java/com/example/wikispot/extentions.kt | 14 ++ .../wikispot/fragments/chatFragment.kt | 12 ++ .../wikispot/fragments/exploreFragment.kt | 8 + .../wikispot/fragments/homeFragment.kt | 12 ++ .../example/wikispot/fragments/mapFragment.kt | 12 ++ .../wikispot/fragments/settingsFragment.kt | 12 ++ .../drawable-v24/ic_launcher_foreground.xml | 30 +++ .../main/res/drawable/ic_baseline_chat_24.xml | 10 + .../main/res/drawable/ic_baseline_home_24.xml | 10 + .../main/res/drawable/ic_baseline_map_24.xml | 10 + .../res/drawable/ic_baseline_settings_24.xml | 10 + .../res/drawable/ic_baseline_view_list_24.xml | 11 ++ .../res/drawable/ic_launcher_background.xml | 170 +++++++++++++++++ .../app/src/main/res/layout/activity_main.xml | 30 +++ .../app/src/main/res/layout/fragment_chat.xml | 24 +++ .../src/main/res/layout/fragment_explore.xml | 23 +++ .../app/src/main/res/layout/fragment_home.xml | 23 +++ .../app/src/main/res/layout/fragment_map.xml | 23 +++ .../src/main/res/layout/fragment_settings.xml | 23 +++ .../main/res/menu/main_bottom_nav_menu.xml | 29 +++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 5 + .../mipmap-anydpi-v26/ic_launcher_round.xml | 5 + .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3593 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 5339 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2636 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 3388 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4926 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 7472 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7909 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 11873 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 10652 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 16570 bytes .../navigation/main_activity_navigation.xml | 37 ++++ .../app/src/main/res/values-night/themes.xml | 16 ++ .../app/src/main/res/values/arrays.xml | 12 ++ .../app/src/main/res/values/colors.xml | 10 + .../app/src/main/res/values/strings.xml | 24 +++ .../app/src/main/res/values/themes.xml | 29 +++ .../com/example/wikispot/ExampleUnitTest.kt | 17 ++ app/WikiSpot/build.gradle | 28 +++ app/WikiSpot/gradle.properties | 21 +++ .../gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 54329 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + app/WikiSpot/gradlew | 172 ++++++++++++++++++ app/WikiSpot/gradlew.bat | 84 +++++++++ app/WikiSpot/settings.gradle | 2 + 59 files changed, 1213 insertions(+) create mode 100644 app/WikiSpot/.gitignore create mode 100644 app/WikiSpot/.idea/.gitignore create mode 100644 app/WikiSpot/.idea/compiler.xml create mode 100644 app/WikiSpot/.idea/gradle.xml create mode 100644 app/WikiSpot/.idea/jarRepositories.xml create mode 100644 app/WikiSpot/.idea/misc.xml create mode 100644 app/WikiSpot/app/.gitignore create mode 100644 app/WikiSpot/app/build.gradle create mode 100644 app/WikiSpot/app/proguard-rules.pro create mode 100644 app/WikiSpot/app/src/androidTest/java/com/example/wikispot/ExampleInstrumentedTest.kt create mode 100644 app/WikiSpot/app/src/main/AndroidManifest.xml create mode 100644 app/WikiSpot/app/src/main/java/com/example/wikispot/AppConstants.kt create mode 100644 app/WikiSpot/app/src/main/java/com/example/wikispot/activities/MainActivity.kt create mode 100644 app/WikiSpot/app/src/main/java/com/example/wikispot/extentions.kt create mode 100644 app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/chatFragment.kt create mode 100644 app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/exploreFragment.kt create mode 100644 app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/homeFragment.kt create mode 100644 app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/mapFragment.kt create mode 100644 app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/settingsFragment.kt create mode 100644 app/WikiSpot/app/src/main/res/drawable-v24/ic_launcher_foreground.xml create mode 100644 app/WikiSpot/app/src/main/res/drawable/ic_baseline_chat_24.xml create mode 100644 app/WikiSpot/app/src/main/res/drawable/ic_baseline_home_24.xml create mode 100644 app/WikiSpot/app/src/main/res/drawable/ic_baseline_map_24.xml create mode 100644 app/WikiSpot/app/src/main/res/drawable/ic_baseline_settings_24.xml create mode 100644 app/WikiSpot/app/src/main/res/drawable/ic_baseline_view_list_24.xml create mode 100644 app/WikiSpot/app/src/main/res/drawable/ic_launcher_background.xml create mode 100644 app/WikiSpot/app/src/main/res/layout/activity_main.xml create mode 100644 app/WikiSpot/app/src/main/res/layout/fragment_chat.xml create mode 100644 app/WikiSpot/app/src/main/res/layout/fragment_explore.xml create mode 100644 app/WikiSpot/app/src/main/res/layout/fragment_home.xml create mode 100644 app/WikiSpot/app/src/main/res/layout/fragment_map.xml create mode 100644 app/WikiSpot/app/src/main/res/layout/fragment_settings.xml create mode 100644 app/WikiSpot/app/src/main/res/menu/main_bottom_nav_menu.xml create mode 100644 app/WikiSpot/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 app/WikiSpot/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 app/WikiSpot/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 app/WikiSpot/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 app/WikiSpot/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 app/WikiSpot/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 app/WikiSpot/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 app/WikiSpot/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 app/WikiSpot/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 app/WikiSpot/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 app/WikiSpot/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 app/WikiSpot/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 app/WikiSpot/app/src/main/res/navigation/main_activity_navigation.xml create mode 100644 app/WikiSpot/app/src/main/res/values-night/themes.xml create mode 100644 app/WikiSpot/app/src/main/res/values/arrays.xml create mode 100644 app/WikiSpot/app/src/main/res/values/colors.xml create mode 100644 app/WikiSpot/app/src/main/res/values/strings.xml create mode 100644 app/WikiSpot/app/src/main/res/values/themes.xml create mode 100644 app/WikiSpot/app/src/test/java/com/example/wikispot/ExampleUnitTest.kt create mode 100644 app/WikiSpot/build.gradle create mode 100644 app/WikiSpot/gradle.properties create mode 100644 app/WikiSpot/gradle/wrapper/gradle-wrapper.jar create mode 100644 app/WikiSpot/gradle/wrapper/gradle-wrapper.properties create mode 100644 app/WikiSpot/gradlew create mode 100644 app/WikiSpot/gradlew.bat create mode 100644 app/WikiSpot/settings.gradle diff --git a/app/WikiSpot/.gitignore b/app/WikiSpot/.gitignore new file mode 100644 index 0000000..aa724b7 --- /dev/null +++ b/app/WikiSpot/.gitignore @@ -0,0 +1,15 @@ +*.iml +.gradle +/local.properties +/.idea/caches +/.idea/libraries +/.idea/modules.xml +/.idea/workspace.xml +/.idea/navEditor.xml +/.idea/assetWizardSettings.xml +.DS_Store +/build +/captures +.externalNativeBuild +.cxx +local.properties diff --git a/app/WikiSpot/.idea/.gitignore b/app/WikiSpot/.idea/.gitignore new file mode 100644 index 0000000..26d3352 --- /dev/null +++ b/app/WikiSpot/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/app/WikiSpot/.idea/compiler.xml b/app/WikiSpot/.idea/compiler.xml new file mode 100644 index 0000000..61a9130 --- /dev/null +++ b/app/WikiSpot/.idea/compiler.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/app/WikiSpot/.idea/gradle.xml b/app/WikiSpot/.idea/gradle.xml new file mode 100644 index 0000000..23a89bb --- /dev/null +++ b/app/WikiSpot/.idea/gradle.xml @@ -0,0 +1,22 @@ + + + + + + + \ No newline at end of file diff --git a/app/WikiSpot/.idea/jarRepositories.xml b/app/WikiSpot/.idea/jarRepositories.xml new file mode 100644 index 0000000..a5f05cd --- /dev/null +++ b/app/WikiSpot/.idea/jarRepositories.xml @@ -0,0 +1,25 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/WikiSpot/.idea/misc.xml b/app/WikiSpot/.idea/misc.xml new file mode 100644 index 0000000..d5d35ec --- /dev/null +++ b/app/WikiSpot/.idea/misc.xml @@ -0,0 +1,9 @@ + + + + + + + + \ No newline at end of file diff --git a/app/WikiSpot/app/.gitignore b/app/WikiSpot/app/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/app/WikiSpot/app/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/app/WikiSpot/app/build.gradle b/app/WikiSpot/app/build.gradle new file mode 100644 index 0000000..ffc9d79 --- /dev/null +++ b/app/WikiSpot/app/build.gradle @@ -0,0 +1,70 @@ +plugins { + id 'com.android.application' + id 'kotlin-android' + id 'com.chaquo.python' +} + +android { + compileSdkVersion 30 + buildToolsVersion "30.0.3" + + defaultConfig { + applicationId "com.example.wikispot" + minSdkVersion 16 + targetSdkVersion 30 + versionCode 1 + versionName "1.0" + + testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" + + sourceSets { + main { + python { + srcDirs = ["src/main/python"] + } + } + } + python { + buildPython "/urs/local/bin/python3" + buildPython "python3" + } + + ndk { + abiFilters "armeabi-v7a", "x86" + } + } + + buildFeatures { + viewBinding = true + } + + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' + } + } + compileOptions { + sourceCompatibility JavaVersion.VERSION_1_8 + targetCompatibility JavaVersion.VERSION_1_8 + } + kotlinOptions { + jvmTarget = '1.8' + } +} + +dependencies { + + implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" + implementation 'androidx.core:core-ktx:1.3.2' + implementation 'androidx.appcompat:appcompat:1.2.0' + implementation 'com.google.android.material:material:1.3.0' + implementation 'androidx.constraintlayout:constraintlayout:2.0.4' + implementation 'androidx.navigation:navigation-fragment-ktx:2.3.4' + implementation 'androidx.navigation:navigation-ui-ktx:2.3.4' + implementation 'androidx.legacy:legacy-support-v4:1.0.0' + implementation 'androidx.preference:preference:1.1.1' + testImplementation 'junit:junit:4.13.2' + androidTestImplementation 'androidx.test.ext:junit:1.1.2' + androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0' +} \ No newline at end of file diff --git a/app/WikiSpot/app/proguard-rules.pro b/app/WikiSpot/app/proguard-rules.pro new file mode 100644 index 0000000..481bb43 --- /dev/null +++ b/app/WikiSpot/app/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/app/WikiSpot/app/src/androidTest/java/com/example/wikispot/ExampleInstrumentedTest.kt b/app/WikiSpot/app/src/androidTest/java/com/example/wikispot/ExampleInstrumentedTest.kt new file mode 100644 index 0000000..0cdcc77 --- /dev/null +++ b/app/WikiSpot/app/src/androidTest/java/com/example/wikispot/ExampleInstrumentedTest.kt @@ -0,0 +1,24 @@ +package com.example.wikispot + +import androidx.test.platform.app.InstrumentationRegistry +import androidx.test.ext.junit.runners.AndroidJUnit4 + +import org.junit.Test +import org.junit.runner.RunWith + +import org.junit.Assert.* + +/** + * Instrumented test, which will execute on an Android device. + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +@RunWith(AndroidJUnit4::class) +class ExampleInstrumentedTest { + @Test + fun useAppContext() { + // Context of the app under test. + val appContext = InstrumentationRegistry.getInstrumentation().targetContext + assertEquals("com.example.wikispot", appContext.packageName) + } +} \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/AndroidManifest.xml b/app/WikiSpot/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..b16dbab --- /dev/null +++ b/app/WikiSpot/app/src/main/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/java/com/example/wikispot/AppConstants.kt b/app/WikiSpot/app/src/main/java/com/example/wikispot/AppConstants.kt new file mode 100644 index 0000000..00b284a --- /dev/null +++ b/app/WikiSpot/app/src/main/java/com/example/wikispot/AppConstants.kt @@ -0,0 +1,3 @@ +package com.example.wikispot + +object Constants {} diff --git a/app/WikiSpot/app/src/main/java/com/example/wikispot/activities/MainActivity.kt b/app/WikiSpot/app/src/main/java/com/example/wikispot/activities/MainActivity.kt new file mode 100644 index 0000000..1a62fad --- /dev/null +++ b/app/WikiSpot/app/src/main/java/com/example/wikispot/activities/MainActivity.kt @@ -0,0 +1,28 @@ +package com.example.wikispot.activities + +import androidx.appcompat.app.AppCompatActivity +import android.os.Bundle +import android.view.Window +import android.view.WindowManager +import androidx.navigation.findNavController +import androidx.navigation.ui.setupWithNavController +import com.example.wikispot.R +import com.example.wikispot.databinding.ActivityMainBinding +import com.google.android.material.bottomnavigation.BottomNavigationView + +class MainActivity : AppCompatActivity() { + + //private lateinit var binding: ActivityMainBinding + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_main) + //binding = ActivityMainBinding.inflate(layoutInflater) + //setContentView(binding.root) + + val navController = findNavController(R.id.mainFragmentHost) + val bottomNavView = findViewById(R.id.mainBottomNavigationView) + + bottomNavView.setupWithNavController(navController) + } +} \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/java/com/example/wikispot/extentions.kt b/app/WikiSpot/app/src/main/java/com/example/wikispot/extentions.kt new file mode 100644 index 0000000..e694871 --- /dev/null +++ b/app/WikiSpot/app/src/main/java/com/example/wikispot/extentions.kt @@ -0,0 +1,14 @@ +package com.example.wikispot + +import android.content.Context +import android.view.View +import android.widget.Toast +import com.google.android.material.snackbar.Snackbar + +fun Context.showToast(message: String, length: Int=Toast.LENGTH_SHORT) { + Toast.makeText(this, message, length).show() +} + +fun Context.showSnack(message: String, view: View, length: Int=Snackbar.LENGTH_LONG) { + Snackbar.make(this, view, message, length).show() +} \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/chatFragment.kt b/app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/chatFragment.kt new file mode 100644 index 0000000..fba0890 --- /dev/null +++ b/app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/chatFragment.kt @@ -0,0 +1,12 @@ +package com.example.wikispot.fragments + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import com.example.wikispot.R + + +class chatFragment : Fragment(R.layout.fragment_chat) { +} \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/exploreFragment.kt b/app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/exploreFragment.kt new file mode 100644 index 0000000..c290ca6 --- /dev/null +++ b/app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/exploreFragment.kt @@ -0,0 +1,8 @@ +package com.example.wikispot.fragments + +import androidx.fragment.app.Fragment +import com.example.wikispot.R + + +class exploreFragment : Fragment(R.layout.fragment_explore) { +} \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/homeFragment.kt b/app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/homeFragment.kt new file mode 100644 index 0000000..c753c7f --- /dev/null +++ b/app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/homeFragment.kt @@ -0,0 +1,12 @@ +package com.example.wikispot.fragments + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import com.example.wikispot.R + + +class homeFragment : Fragment(R.layout.fragment_home) { +} \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/mapFragment.kt b/app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/mapFragment.kt new file mode 100644 index 0000000..cb87847 --- /dev/null +++ b/app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/mapFragment.kt @@ -0,0 +1,12 @@ +package com.example.wikispot.fragments + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import com.example.wikispot.R + + +class mapFragment : Fragment(R.layout.fragment_map) { +} \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/settingsFragment.kt b/app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/settingsFragment.kt new file mode 100644 index 0000000..1c45fef --- /dev/null +++ b/app/WikiSpot/app/src/main/java/com/example/wikispot/fragments/settingsFragment.kt @@ -0,0 +1,12 @@ +package com.example.wikispot.fragments + +import android.os.Bundle +import androidx.fragment.app.Fragment +import android.view.LayoutInflater +import android.view.View +import android.view.ViewGroup +import com.example.wikispot.R + + +class settingsFragment : Fragment(R.layout.fragment_settings) { +} \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/app/WikiSpot/app/src/main/res/drawable-v24/ic_launcher_foreground.xml new file mode 100644 index 0000000..2b068d1 --- /dev/null +++ b/app/WikiSpot/app/src/main/res/drawable-v24/ic_launcher_foreground.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/res/drawable/ic_baseline_chat_24.xml b/app/WikiSpot/app/src/main/res/drawable/ic_baseline_chat_24.xml new file mode 100644 index 0000000..26208ad --- /dev/null +++ b/app/WikiSpot/app/src/main/res/drawable/ic_baseline_chat_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/WikiSpot/app/src/main/res/drawable/ic_baseline_home_24.xml b/app/WikiSpot/app/src/main/res/drawable/ic_baseline_home_24.xml new file mode 100644 index 0000000..3a4c7da --- /dev/null +++ b/app/WikiSpot/app/src/main/res/drawable/ic_baseline_home_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/WikiSpot/app/src/main/res/drawable/ic_baseline_map_24.xml b/app/WikiSpot/app/src/main/res/drawable/ic_baseline_map_24.xml new file mode 100644 index 0000000..d1274d8 --- /dev/null +++ b/app/WikiSpot/app/src/main/res/drawable/ic_baseline_map_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/WikiSpot/app/src/main/res/drawable/ic_baseline_settings_24.xml b/app/WikiSpot/app/src/main/res/drawable/ic_baseline_settings_24.xml new file mode 100644 index 0000000..41a82ed --- /dev/null +++ b/app/WikiSpot/app/src/main/res/drawable/ic_baseline_settings_24.xml @@ -0,0 +1,10 @@ + + + diff --git a/app/WikiSpot/app/src/main/res/drawable/ic_baseline_view_list_24.xml b/app/WikiSpot/app/src/main/res/drawable/ic_baseline_view_list_24.xml new file mode 100644 index 0000000..37ffb91 --- /dev/null +++ b/app/WikiSpot/app/src/main/res/drawable/ic_baseline_view_list_24.xml @@ -0,0 +1,11 @@ + + + diff --git a/app/WikiSpot/app/src/main/res/drawable/ic_launcher_background.xml b/app/WikiSpot/app/src/main/res/drawable/ic_launcher_background.xml new file mode 100644 index 0000000..07d5da9 --- /dev/null +++ b/app/WikiSpot/app/src/main/res/drawable/ic_launcher_background.xml @@ -0,0 +1,170 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/WikiSpot/app/src/main/res/layout/activity_main.xml b/app/WikiSpot/app/src/main/res/layout/activity_main.xml new file mode 100644 index 0000000..cfe0e9b --- /dev/null +++ b/app/WikiSpot/app/src/main/res/layout/activity_main.xml @@ -0,0 +1,30 @@ + + + + + + + \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/res/layout/fragment_chat.xml b/app/WikiSpot/app/src/main/res/layout/fragment_chat.xml new file mode 100644 index 0000000..19ba521 --- /dev/null +++ b/app/WikiSpot/app/src/main/res/layout/fragment_chat.xml @@ -0,0 +1,24 @@ + + + + + + \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/res/layout/fragment_explore.xml b/app/WikiSpot/app/src/main/res/layout/fragment_explore.xml new file mode 100644 index 0000000..c6efd2e --- /dev/null +++ b/app/WikiSpot/app/src/main/res/layout/fragment_explore.xml @@ -0,0 +1,23 @@ + + + + + + \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/res/layout/fragment_home.xml b/app/WikiSpot/app/src/main/res/layout/fragment_home.xml new file mode 100644 index 0000000..6d3ea6e --- /dev/null +++ b/app/WikiSpot/app/src/main/res/layout/fragment_home.xml @@ -0,0 +1,23 @@ + + + + + + \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/res/layout/fragment_map.xml b/app/WikiSpot/app/src/main/res/layout/fragment_map.xml new file mode 100644 index 0000000..1b9a114 --- /dev/null +++ b/app/WikiSpot/app/src/main/res/layout/fragment_map.xml @@ -0,0 +1,23 @@ + + + + + + \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/res/layout/fragment_settings.xml b/app/WikiSpot/app/src/main/res/layout/fragment_settings.xml new file mode 100644 index 0000000..35d69c5 --- /dev/null +++ b/app/WikiSpot/app/src/main/res/layout/fragment_settings.xml @@ -0,0 +1,23 @@ + + + + + + \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/res/menu/main_bottom_nav_menu.xml b/app/WikiSpot/app/src/main/res/menu/main_bottom_nav_menu.xml new file mode 100644 index 0000000..3036217 --- /dev/null +++ b/app/WikiSpot/app/src/main/res/menu/main_bottom_nav_menu.xml @@ -0,0 +1,29 @@ + +

+ + + + + + + + + + + + \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/app/WikiSpot/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/app/WikiSpot/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/app/WikiSpot/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..eca70cf --- /dev/null +++ b/app/WikiSpot/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/res/mipmap-hdpi/ic_launcher.png b/app/WikiSpot/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..a571e60098c92c2baca8a5df62f2929cbff01b52 GIT binary patch literal 3593 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 P00000NkvXXu0mjfP=x?Y literal 0 HcmV?d00001 diff --git a/app/WikiSpot/app/src/main/res/mipmap-hdpi/ic_launcher_round.png b/app/WikiSpot/app/src/main/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..61da551c5594a1f9d26193983d2cd69189014603 GIT binary patch literal 5339 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 literal 0 HcmV?d00001 diff --git a/app/WikiSpot/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png b/app/WikiSpot/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..b216f2d313cc673d8b8c4da591c174ebed52795c GIT binary patch literal 11873 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 literal 0 HcmV?d00001 diff --git a/app/WikiSpot/app/src/main/res/navigation/main_activity_navigation.xml b/app/WikiSpot/app/src/main/res/navigation/main_activity_navigation.xml new file mode 100644 index 0000000..8941056 --- /dev/null +++ b/app/WikiSpot/app/src/main/res/navigation/main_activity_navigation.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/res/values-night/themes.xml b/app/WikiSpot/app/src/main/res/values-night/themes.xml new file mode 100644 index 0000000..c962c43 --- /dev/null +++ b/app/WikiSpot/app/src/main/res/values-night/themes.xml @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/res/values/arrays.xml b/app/WikiSpot/app/src/main/res/values/arrays.xml new file mode 100644 index 0000000..6cf9ed4 --- /dev/null +++ b/app/WikiSpot/app/src/main/res/values/arrays.xml @@ -0,0 +1,12 @@ + + + + Reply + Reply to all + + + + reply + reply_all + + \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/res/values/colors.xml b/app/WikiSpot/app/src/main/res/values/colors.xml new file mode 100644 index 0000000..f8c6127 --- /dev/null +++ b/app/WikiSpot/app/src/main/res/values/colors.xml @@ -0,0 +1,10 @@ + + + #FFBB86FC + #FF6200EE + #FF3700B3 + #FF03DAC5 + #FF018786 + #FF000000 + #FFFFFFFF + \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/res/values/strings.xml b/app/WikiSpot/app/src/main/res/values/strings.xml new file mode 100644 index 0000000..2972b56 --- /dev/null +++ b/app/WikiSpot/app/src/main/res/values/strings.xml @@ -0,0 +1,24 @@ + + WikiSpot + Chat + Explore + Home + Map + Settings + + Hello blank fragment + + Messages + Sync + + + Your signature + Default reply action + + + Sync email periodically + Download incoming attachments + Automatically download attachments for incoming emails + + Only download attachments when manually requested + \ No newline at end of file diff --git a/app/WikiSpot/app/src/main/res/values/themes.xml b/app/WikiSpot/app/src/main/res/values/themes.xml new file mode 100644 index 0000000..15251f6 --- /dev/null +++ b/app/WikiSpot/app/src/main/res/values/themes.xml @@ -0,0 +1,29 @@ + + + + + + \ No newline at end of file diff --git a/app/WikiSpot/app/src/test/java/com/example/wikispot/ExampleUnitTest.kt b/app/WikiSpot/app/src/test/java/com/example/wikispot/ExampleUnitTest.kt new file mode 100644 index 0000000..27d7c2b --- /dev/null +++ b/app/WikiSpot/app/src/test/java/com/example/wikispot/ExampleUnitTest.kt @@ -0,0 +1,17 @@ +package com.example.wikispot + +import org.junit.Test + +import org.junit.Assert.* + +/** + * Example local unit test, which will execute on the development machine (host). + * + * See [testing documentation](http://d.android.com/tools/testing). + */ +class ExampleUnitTest { + @Test + fun addition_isCorrect() { + assertEquals(4, 2 + 2) + } +} \ No newline at end of file diff --git a/app/WikiSpot/build.gradle b/app/WikiSpot/build.gradle new file mode 100644 index 0000000..d86f008 --- /dev/null +++ b/app/WikiSpot/build.gradle @@ -0,0 +1,28 @@ +// Top-level build file where you can add configuration options common to all sub-projects/modules. +buildscript { + ext.kotlin_version = "1.4.31" + repositories { + google() + jcenter() + maven {url "https://chaquo.com/maven"} + } + dependencies { + classpath "com.android.tools.build:gradle:4.1.1" + classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" + classpath "com.chaquo.python:gradle:9.1.0" + + // NOTE: Do not place your application dependencies here; they belong + // in the individual module build.gradle files + } +} + +allprojects { + repositories { + google() + jcenter() + } +} + +task clean(type: Delete) { + delete rootProject.buildDir +} \ No newline at end of file diff --git a/app/WikiSpot/gradle.properties b/app/WikiSpot/gradle.properties new file mode 100644 index 0000000..98bed16 --- /dev/null +++ b/app/WikiSpot/gradle.properties @@ -0,0 +1,21 @@ +# Project-wide Gradle settings. +# IDE (e.g. Android Studio) users: +# Gradle settings configured through the IDE *will override* +# any settings specified in this file. +# For more details on how to configure your build environment visit +# http://www.gradle.org/docs/current/userguide/build_environment.html +# Specifies the JVM arguments used for the daemon process. +# The setting is particularly useful for tweaking memory settings. +org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 +# When configured, Gradle will run in incubating parallel mode. +# This option should only be used with decoupled projects. More details, visit +# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects +# org.gradle.parallel=true +# AndroidX package structure to make it clearer which packages are bundled with the +# Android operating system, and which are packaged with your app"s APK +# https://developer.android.com/topic/libraries/support-library/androidx-rn +android.useAndroidX=true +# Automatically convert third-party libraries to use AndroidX +android.enableJetifier=true +# Kotlin code style for this project: "official" or "obsolete": +kotlin.code.style=official \ No newline at end of file diff --git a/app/WikiSpot/gradle/wrapper/gradle-wrapper.jar b/app/WikiSpot/gradle/wrapper/gradle-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..f6b961fd5a86aa5fbfe90f707c3138408be7c718 GIT binary patch literal 54329 zcmagFV|ZrKvM!pAZQHhO+qP}9lTNj?q^^Y^VFp)SH8qbSJ)2BQ2giqr}t zFG7D6)c?v~^Z#E_K}1nTQbJ9gQ9<%vVRAxVj)8FwL5_iTdUB>&m3fhE=kRWl;g`&m z!W5kh{WsV%fO*%je&j+Lv4xxK~zsEYQls$Q-p&dwID|A)!7uWtJF-=Tm1{V@#x*+kUI$=%KUuf2ka zjiZ{oiL1MXE2EjciJM!jrjFNwCh`~hL>iemrqwqnX?T*MX;U>>8yRcZb{Oy+VKZos zLiFKYPw=LcaaQt8tj=eoo3-@bG_342HQ%?jpgAE?KCLEHC+DmjxAfJ%Og^$dpC8Xw zAcp-)tfJm}BPNq_+6m4gBgBm3+CvmL>4|$2N$^Bz7W(}fz1?U-u;nE`+9`KCLuqg} zwNstNM!J4Uw|78&Y9~9>MLf56to!@qGkJw5Thx%zkzj%Ek9Nn1QA@8NBXbwyWC>9H z#EPwjMNYPigE>*Ofz)HfTF&%PFj$U6mCe-AFw$U%-L?~-+nSXHHKkdgC5KJRTF}`G zE_HNdrE}S0zf4j{r_f-V2imSqW?}3w-4=f@o@-q+cZgaAbZ((hn))@|eWWhcT2pLpTpL!;_5*vM=sRL8 zqU##{U#lJKuyqW^X$ETU5ETeEVzhU|1m1750#f}38_5N9)B_2|v@1hUu=Kt7-@dhA zq_`OMgW01n`%1dB*}C)qxC8q;?zPeF_r;>}%JYmlER_1CUbKa07+=TV45~symC*g8 zW-8(gag#cAOuM0B1xG8eTp5HGVLE}+gYTmK=`XVVV*U!>H`~j4+ROIQ+NkN$LY>h4 zqpwdeE_@AX@PL};e5vTn`Ro(EjHVf$;^oiA%@IBQq>R7_D>m2D4OwwEepkg}R_k*M zM-o;+P27087eb+%*+6vWFCo9UEGw>t&WI17Pe7QVuoAoGHdJ(TEQNlJOqnjZ8adCb zI`}op16D@v7UOEo%8E-~m?c8FL1utPYlg@m$q@q7%mQ4?OK1h%ODjTjFvqd!C z-PI?8qX8{a@6d&Lb_X+hKxCImb*3GFemm?W_du5_&EqRq!+H?5#xiX#w$eLti-?E$;Dhu`{R(o>LzM4CjO>ICf z&DMfES#FW7npnbcuqREgjPQM#gs6h>`av_oEWwOJZ2i2|D|0~pYd#WazE2Bbsa}X@ zu;(9fi~%!VcjK6)?_wMAW-YXJAR{QHxrD5g(ou9mR6LPSA4BRG1QSZT6A?kelP_g- zH(JQjLc!`H4N=oLw=f3{+WmPA*s8QEeEUf6Vg}@!xwnsnR0bl~^2GSa5vb!Yl&4!> zWb|KQUsC$lT=3A|7vM9+d;mq=@L%uWKwXiO9}a~gP4s_4Yohc!fKEgV7WbVo>2ITbE*i`a|V!^p@~^<={#?Gz57 zyPWeM2@p>D*FW#W5Q`1`#5NW62XduP1XNO(bhg&cX`-LYZa|m-**bu|>}S;3)eP8_ zpNTnTfm8 ze+7wDH3KJ95p)5tlwk`S7mbD`SqHnYD*6`;gpp8VdHDz%RR_~I_Ar>5)vE-Pgu7^Y z|9Px+>pi3!DV%E%4N;ii0U3VBd2ZJNUY1YC^-e+{DYq+l@cGtmu(H#Oh%ibUBOd?C z{y5jW3v=0eV0r@qMLgv1JjZC|cZ9l9Q)k1lLgm))UR@#FrJd>w^`+iy$c9F@ic-|q zVHe@S2UAnc5VY_U4253QJxm&Ip!XKP8WNcnx9^cQ;KH6PlW8%pSihSH2(@{2m_o+m zr((MvBja2ctg0d0&U5XTD;5?d?h%JcRJp{_1BQW1xu&BrA3(a4Fh9hon-ly$pyeHq zG&;6q?m%NJ36K1Sq_=fdP(4f{Hop;_G_(i?sPzvB zDM}>*(uOsY0I1j^{$yn3#U(;B*g4cy$-1DTOkh3P!LQ;lJlP%jY8}Nya=h8$XD~%Y zbV&HJ%eCD9nui-0cw!+n`V~p6VCRqh5fRX z8`GbdZ@73r7~myQLBW%db;+BI?c-a>Y)m-FW~M=1^|<21_Sh9RT3iGbO{o-hpN%d6 z7%++#WekoBOP^d0$$|5npPe>u3PLvX_gjH2x(?{&z{jJ2tAOWTznPxv-pAv<*V7r$ z6&glt>7CAClWz6FEi3bToz-soY^{ScrjwVPV51=>n->c(NJngMj6TyHty`bfkF1hc zkJS%A@cL~QV0-aK4>Id!9dh7>0IV;1J9(myDO+gv76L3NLMUm9XyPauvNu$S<)-|F zZS}(kK_WnB)Cl`U?jsdYfAV4nrgzIF@+%1U8$poW&h^c6>kCx3;||fS1_7JvQT~CV zQ8Js+!p)3oW>Df(-}uqC`Tcd%E7GdJ0p}kYj5j8NKMp(KUs9u7?jQ94C)}0rba($~ zqyBx$(1ae^HEDG`Zc@-rXk1cqc7v0wibOR4qpgRDt#>-*8N3P;uKV0CgJE2SP>#8h z=+;i_CGlv+B^+$5a}SicVaSeaNn29K`C&=}`=#Nj&WJP9Xhz4mVa<+yP6hkrq1vo= z1rX4qg8dc4pmEvq%NAkpMK>mf2g?tg_1k2%v}<3`$6~Wlq@ItJ*PhHPoEh1Yi>v57 z4k0JMO)*=S`tKvR5gb-(VTEo>5Y>DZJZzgR+j6{Y`kd|jCVrg!>2hVjz({kZR z`dLlKhoqT!aI8=S+fVp(5*Dn6RrbpyO~0+?fy;bm$0jmTN|t5i6rxqr4=O}dY+ROd zo9Et|x}!u*xi~>-y>!M^+f&jc;IAsGiM_^}+4|pHRn{LThFFpD{bZ|TA*wcGm}XV^ zr*C6~@^5X-*R%FrHIgo-hJTBcyQ|3QEj+cSqp#>&t`ZzB?cXM6S(lRQw$I2?m5=wd z78ki`R?%;o%VUhXH?Z#(uwAn9$m`npJ=cA+lHGk@T7qq_M6Zoy1Lm9E0UUysN)I_x zW__OAqvku^>`J&CB=ie@yNWsaFmem}#L3T(x?a`oZ+$;3O-icj2(5z72Hnj=9Z0w% z<2#q-R=>hig*(t0^v)eGq2DHC%GymE-_j1WwBVGoU=GORGjtaqr0BNigOCqyt;O(S zKG+DoBsZU~okF<7ahjS}bzwXxbAxFfQAk&O@>LsZMsZ`?N?|CDWM(vOm%B3CBPC3o z%2t@%H$fwur}SSnckUm0-k)mOtht`?nwsDz=2#v=RBPGg39i#%odKq{K^;bTD!6A9 zskz$}t)sU^=a#jLZP@I=bPo?f-L}wpMs{Tc!m7-bi!Ldqj3EA~V;4(dltJmTXqH0r z%HAWKGutEc9vOo3P6Q;JdC^YTnby->VZ6&X8f{obffZ??1(cm&L2h7q)*w**+sE6dG*;(H|_Q!WxU{g)CeoT z(KY&bv!Usc|m+Fqfmk;h&RNF|LWuNZ!+DdX*L=s-=_iH=@i` z?Z+Okq^cFO4}_n|G*!)Wl_i%qiMBaH8(WuXtgI7EO=M>=i_+;MDjf3aY~6S9w0K zUuDO7O5Ta6+k40~xh~)D{=L&?Y0?c$s9cw*Ufe18)zzk%#ZY>Tr^|e%8KPb0ht`b( zuP@8#Ox@nQIqz9}AbW0RzE`Cf>39bOWz5N3qzS}ocxI=o$W|(nD~@EhW13Rj5nAp; zu2obEJa=kGC*#3=MkdkWy_%RKcN=?g$7!AZ8vBYKr$ePY(8aIQ&yRPlQ=mudv#q$q z4%WzAx=B{i)UdLFx4os?rZp6poShD7Vc&mSD@RdBJ=_m^&OlkEE1DFU@csgKcBifJ zz4N7+XEJhYzzO=86 z#%eBQZ$Nsf2+X0XPHUNmg#(sNt^NW1Y0|M(${e<0kW6f2q5M!2YE|hSEQ*X-%qo(V zHaFwyGZ0on=I{=fhe<=zo{=Og-_(to3?cvL4m6PymtNsdDINsBh8m>a%!5o3s(en) z=1I z6O+YNertC|OFNqd6P=$gMyvmfa`w~p9*gKDESFqNBy(~Zw3TFDYh}$iudn)9HxPBi zdokK@o~nu?%imcURr5Y~?6oo_JBe}t|pU5qjai|#JDyG=i^V~7+a{dEnO<(y>ahND#_X_fcEBNiZ)uc&%1HVtx8Ts z*H_Btvx^IhkfOB#{szN*n6;y05A>3eARDXslaE>tnLa>+`V&cgho?ED+&vv5KJszf zG4@G;7i;4_bVvZ>!mli3j7~tPgybF5|J6=Lt`u$D%X0l}#iY9nOXH@(%FFJLtzb%p zzHfABnSs;v-9(&nzbZytLiqqDIWzn>JQDk#JULcE5CyPq_m#4QV!}3421haQ+LcfO*>r;rg6K|r#5Sh|y@h1ao%Cl)t*u`4 zMTP!deC?aL7uTxm5^nUv#q2vS-5QbBKP|drbDXS%erB>fYM84Kpk^au99-BQBZR z7CDynflrIAi&ahza+kUryju5LR_}-Z27g)jqOc(!Lx9y)e z{cYc&_r947s9pteaa4}dc|!$$N9+M38sUr7h(%@Ehq`4HJtTpA>B8CLNO__@%(F5d z`SmX5jbux6i#qc}xOhumzbAELh*Mfr2SW99=WNOZRZgoCU4A2|4i|ZVFQt6qEhH#B zK_9G;&h*LO6tB`5dXRSBF0hq0tk{2q__aCKXYkP#9n^)@cq}`&Lo)1KM{W+>5mSed zKp~=}$p7>~nK@va`vN{mYzWN1(tE=u2BZhga5(VtPKk(*TvE&zmn5vSbjo zZLVobTl%;t@6;4SsZ>5+U-XEGUZGG;+~|V(pE&qqrp_f~{_1h@5ZrNETqe{bt9ioZ z#Qn~gWCH!t#Ha^n&fT2?{`}D@s4?9kXj;E;lWV9Zw8_4yM0Qg-6YSsKgvQ*fF{#Pq z{=(nyV>#*`RloBVCs;Lp*R1PBIQOY=EK4CQa*BD0MsYcg=opP?8;xYQDSAJBeJpw5 zPBc_Ft9?;<0?pBhCmOtWU*pN*;CkjJ_}qVic`}V@$TwFi15!mF1*m2wVX+>5p%(+R zQ~JUW*zWkalde{90@2v+oVlkxOZFihE&ZJ){c?hX3L2@R7jk*xjYtHi=}qb+4B(XJ z$gYcNudR~4Kz_WRq8eS((>ALWCO)&R-MXE+YxDn9V#X{_H@j616<|P(8h(7z?q*r+ zmpqR#7+g$cT@e&(%_|ipI&A%9+47%30TLY(yuf&*knx1wNx|%*H^;YB%ftt%5>QM= z^i;*6_KTSRzQm%qz*>cK&EISvF^ovbS4|R%)zKhTH_2K>jP3mBGn5{95&G9^a#4|K zv+!>fIsR8z{^x4)FIr*cYT@Q4Z{y}};rLHL+atCgHbfX*;+k&37DIgENn&=k(*lKD zG;uL-KAdLn*JQ?@r6Q!0V$xXP=J2i~;_+i3|F;_En;oAMG|I-RX#FwnmU&G}w`7R{ z788CrR-g1DW4h_`&$Z`ctN~{A)Hv_-Bl!%+pfif8wN32rMD zJDs$eVWBYQx1&2sCdB0!vU5~uf)=vy*{}t{2VBpcz<+~h0wb7F3?V^44*&83Z2#F` z32!rd4>uc63rQP$3lTH3zb-47IGR}f)8kZ4JvX#toIpXH`L%NnPDE~$QI1)0)|HS4 zVcITo$$oWWwCN@E-5h>N?Hua!N9CYb6f8vTFd>h3q5Jg-lCI6y%vu{Z_Uf z$MU{{^o~;nD_@m2|E{J)q;|BK7rx%`m``+OqZAqAVj-Dy+pD4-S3xK?($>wn5bi90CFAQ+ACd;&m6DQB8_o zjAq^=eUYc1o{#+p+ zn;K<)Pn*4u742P!;H^E3^Qu%2dM{2slouc$AN_3V^M7H_KY3H)#n7qd5_p~Za7zAj|s9{l)RdbV9e||_67`#Tu*c<8!I=zb@ z(MSvQ9;Wrkq6d)!9afh+G`!f$Ip!F<4ADdc*OY-y7BZMsau%y?EN6*hW4mOF%Q~bw z2==Z3^~?q<1GTeS>xGN-?CHZ7a#M4kDL zQxQr~1ZMzCSKFK5+32C%+C1kE#(2L=15AR!er7GKbp?Xd1qkkGipx5Q~FI-6zt< z*PTpeVI)Ngnnyaz5noIIgNZtb4bQdKG{Bs~&tf)?nM$a;7>r36djllw%hQxeCXeW^ z(i6@TEIuxD<2ulwLTt|&gZP%Ei+l!(%p5Yij6U(H#HMkqM8U$@OKB|5@vUiuY^d6X zW}fP3;Kps6051OEO(|JzmVU6SX(8q>*yf*x5QoxDK={PH^F?!VCzES_Qs>()_y|jg6LJlJWp;L zKM*g5DK7>W_*uv}{0WUB0>MHZ#oJZmO!b3MjEc}VhsLD~;E-qNNd?x7Q6~v zR=0$u>Zc2Xr}>x_5$-s#l!oz6I>W?lw;m9Ae{Tf9eMX;TI-Wf_mZ6sVrMnY#F}cDd z%CV*}fDsXUF7Vbw>PuDaGhu631+3|{xp<@Kl|%WxU+vuLlcrklMC!Aq+7n~I3cmQ! z`e3cA!XUEGdEPSu``&lZEKD1IKO(-VGvcnSc153m(i!8ohi`)N2n>U_BemYJ`uY>8B*Epj!oXRLV}XK}>D*^DHQ7?NY*&LJ9VSo`Ogi9J zGa;clWI8vIQqkngv2>xKd91K>?0`Sw;E&TMg&6dcd20|FcTsnUT7Yn{oI5V4@Ow~m zz#k~8TM!A9L7T!|colrC0P2WKZW7PNj_X4MfESbt<-soq*0LzShZ}fyUx!(xIIDwx zRHt^_GAWe0-Vm~bDZ(}XG%E+`XhKpPlMBo*5q_z$BGxYef8O!ToS8aT8pmjbPq)nV z%x*PF5ZuSHRJqJ!`5<4xC*xb2vC?7u1iljB_*iUGl6+yPyjn?F?GOF2_KW&gOkJ?w z3e^qc-te;zez`H$rsUCE0<@7PKGW?7sT1SPYWId|FJ8H`uEdNu4YJjre`8F*D}6Wh z|FQ`xf7yiphHIAkU&OYCn}w^ilY@o4larl?^M7&8YI;hzBIsX|i3UrLsx{QDKwCX< zy;a>yjfJ6!sz`NcVi+a!Fqk^VE^{6G53L?@Tif|j!3QZ0fk9QeUq8CWI;OmO-Hs+F zuZ4sHLA3{}LR2Qlyo+{d@?;`tpp6YB^BMoJt?&MHFY!JQwoa0nTSD+#Ku^4b{5SZVFwU9<~APYbaLO zu~Z)nS#dxI-5lmS-Bnw!(u15by(80LlC@|ynj{TzW)XcspC*}z0~8VRZq>#Z49G`I zgl|C#H&=}n-ajxfo{=pxPV(L*7g}gHET9b*s=cGV7VFa<;Htgjk>KyW@S!|z`lR1( zGSYkEl&@-bZ*d2WQ~hw3NpP=YNHF^XC{TMG$Gn+{b6pZn+5=<()>C!N^jncl0w6BJ zdHdnmSEGK5BlMeZD!v4t5m7ct7{k~$1Ie3GLFoHjAH*b?++s<|=yTF+^I&jT#zuMx z)MLhU+;LFk8bse|_{j+d*a=&cm2}M?*arjBPnfPgLwv)86D$6L zLJ0wPul7IenMvVAK$z^q5<^!)7aI|<&GGEbOr=E;UmGOIa}yO~EIr5xWU_(ol$&fa zR5E(2vB?S3EvJglTXdU#@qfDbCYs#82Yo^aZN6`{Ex#M)easBTe_J8utXu(fY1j|R z9o(sQbj$bKU{IjyhosYahY{63>}$9_+hWxB3j}VQkJ@2$D@vpeRSldU?&7I;qd2MF zSYmJ>zA(@N_iK}m*AMPIJG#Y&1KR)6`LJ83qg~`Do3v^B0>fU&wUx(qefuTgzFED{sJ65!iw{F2}1fQ3= ziFIP{kezQxmlx-!yo+sC4PEtG#K=5VM9YIN0z9~c4XTX?*4e@m;hFM!zVo>A`#566 z>f&3g94lJ{r)QJ5m7Xe3SLau_lOpL;A($wsjHR`;xTXgIiZ#o&vt~ zGR6KdU$FFbLfZCC3AEu$b`tj!9XgOGLSV=QPIYW zjI!hSP#?8pn0@ezuenOzoka8!8~jXTbiJ6+ZuItsWW03uzASFyn*zV2kIgPFR$Yzm zE<$cZlF>R8?Nr2_i?KiripBc+TGgJvG@vRTY2o?(_Di}D30!k&CT`>+7ry2!!iC*X z<@=U0_C#16=PN7bB39w+zPwDOHX}h20Ap);dx}kjXX0-QkRk=cr};GYsjSvyLZa-t zzHONWddi*)RDUH@RTAsGB_#&O+QJaaL+H<<9LLSE+nB@eGF1fALwjVOl8X_sdOYme z0lk!X=S(@25=TZHR7LlPp}fY~yNeThMIjD}pd9+q=j<_inh0$>mIzWVY+Z9p<{D^#0Xk+b_@eNSiR8;KzSZ#7lUsk~NGMcB8C2c=m2l5paHPq`q{S(kdA7Z1a zyfk2Y;w?^t`?@yC5Pz9&pzo}Hc#}mLgDmhKV|PJ3lKOY(Km@Fi2AV~CuET*YfUi}u zfInZnqDX(<#vaS<^fszuR=l)AbqG{}9{rnyx?PbZz3Pyu!eSJK`uwkJU!ORQXy4x83r!PNgOyD33}}L=>xX_93l6njNTuqL8J{l%*3FVn3MG4&Fv*`lBXZ z?=;kn6HTT^#SrPX-N)4EZiIZI!0ByXTWy;;J-Tht{jq1mjh`DSy7yGjHxIaY%*sTx zuy9#9CqE#qi>1misx=KRWm=qx4rk|}vd+LMY3M`ow8)}m$3Ggv&)Ri*ON+}<^P%T5 z_7JPVPfdM=Pv-oH<tecoE}(0O7|YZc*d8`Uv_M*3Rzv7$yZnJE6N_W=AQ3_BgU_TjA_T?a)U1csCmJ&YqMp-lJe`y6>N zt++Bi;ZMOD%%1c&-Q;bKsYg!SmS^#J@8UFY|G3!rtyaTFb!5@e(@l?1t(87ln8rG? z--$1)YC~vWnXiW3GXm`FNSyzu!m$qT=Eldf$sMl#PEfGmzQs^oUd=GIQfj(X=}dw+ zT*oa0*oS%@cLgvB&PKIQ=Ok?>x#c#dC#sQifgMwtAG^l3D9nIg(Zqi;D%807TtUUCL3_;kjyte#cAg?S%e4S2W>9^A(uy8Ss0Tc++ZTjJw1 z&Em2g!3lo@LlDyri(P^I8BPpn$RE7n*q9Q-c^>rfOMM6Pd5671I=ZBjAvpj8oIi$! zl0exNl(>NIiQpX~FRS9UgK|0l#s@#)p4?^?XAz}Gjb1?4Qe4?j&cL$C8u}n)?A@YC zfmbSM`Hl5pQFwv$CQBF=_$Sq zxsV?BHI5bGZTk?B6B&KLdIN-40S426X3j_|ceLla*M3}3gx3(_7MVY1++4mzhH#7# zD>2gTHy*%i$~}mqc#gK83288SKp@y3wz1L_e8fF$Rb}ex+`(h)j}%~Ld^3DUZkgez zOUNy^%>>HHE|-y$V@B}-M|_{h!vXpk01xaD%{l{oQ|~+^>rR*rv9iQen5t?{BHg|% zR`;S|KtUb!X<22RTBA4AAUM6#M?=w5VY-hEV)b`!y1^mPNEoy2K)a>OyA?Q~Q*&(O zRzQI~y_W=IPi?-OJX*&&8dvY0zWM2%yXdFI!D-n@6FsG)pEYdJbuA`g4yy;qrgR?G z8Mj7gv1oiWq)+_$GqqQ$(ZM@#|0j7})=#$S&hZwdoijFI4aCFLVI3tMH5fLreZ;KD zqA`)0l~D2tuIBYOy+LGw&hJ5OyE+@cnZ0L5+;yo2pIMdt@4$r^5Y!x7nHs{@>|W(MzJjATyWGNwZ^4j+EPU0RpAl-oTM@u{lx*i0^yyWPfHt6QwPvYpk9xFMWfBFt!+Gu6TlAmr zeQ#PX71vzN*_-xh&__N`IXv6`>CgV#eA_%e@7wjgkj8jlKzO~Ic6g$cT`^W{R{606 zCDP~+NVZ6DMO$jhL~#+!g*$T!XW63#(ngDn#Qwy71yj^gazS{e;3jGRM0HedGD@pt z?(ln3pCUA(ekqAvvnKy0G@?-|-dh=eS%4Civ&c}s%wF@0K5Bltaq^2Os1n6Z3%?-Q zAlC4goQ&vK6TpgtzkHVt*1!tBYt-`|5HLV1V7*#45Vb+GACuU+QB&hZ=N_flPy0TY zR^HIrdskB#<$aU;HY(K{a3(OQa$0<9qH(oa)lg@Uf>M5g2W0U5 zk!JSlhrw8quBx9A>RJ6}=;W&wt@2E$7J=9SVHsdC?K(L(KACb#z)@C$xXD8^!7|uv zZh$6fkq)aoD}^79VqdJ!Nz-8$IrU(_-&^cHBI;4 z^$B+1aPe|LG)C55LjP;jab{dTf$0~xbXS9!!QdcmDYLbL^jvxu2y*qnx2%jbL%rB z{aP85qBJe#(&O~Prk%IJARcdEypZ)vah%ZZ%;Zk{eW(U)Bx7VlzgOi8)x z`rh4l`@l_Ada7z&yUK>ZF;i6YLGwI*Sg#Fk#Qr0Jg&VLax(nNN$u-XJ5=MsP3|(lEdIOJ7|(x3iY;ea)5#BW*mDV%^=8qOeYO&gIdJVuLLN3cFaN=xZtFB=b zH{l)PZl_j^u+qx@89}gAQW7ofb+k)QwX=aegihossZq*+@PlCpb$rpp>Cbk9UJO<~ zDjlXQ_Ig#W0zdD3&*ei(FwlN#3b%FSR%&M^ywF@Fr>d~do@-kIS$e%wkIVfJ|Ohh=zc zF&Rnic^|>@R%v?@jO}a9;nY3Qrg_!xC=ZWUcYiA5R+|2nsM*$+c$TOs6pm!}Z}dfM zGeBhMGWw3$6KZXav^>YNA=r6Es>p<6HRYcZY)z{>yasbC81A*G-le8~QoV;rtKnkx z;+os8BvEe?0A6W*a#dOudsv3aWs?d% z0oNngyVMjavLjtjiG`!007#?62ClTqqU$@kIY`=x^$2e>iqIy1>o|@Tw@)P)B8_1$r#6>DB_5 zmaOaoE~^9TolgDgooKFuEFB#klSF%9-~d2~_|kQ0Y{Ek=HH5yq9s zDq#1S551c`kSiWPZbweN^A4kWiP#Qg6er1}HcKv{fxb1*BULboD0fwfaNM_<55>qM zETZ8TJDO4V)=aPp_eQjX%||Ud<>wkIzvDlpNjqW>I}W!-j7M^TNe5JIFh#-}zAV!$ICOju8Kx)N z0vLtzDdy*rQN!7r>Xz7rLw8J-(GzQlYYVH$WK#F`i_i^qVlzTNAh>gBWKV@XC$T-` z3|kj#iCquDhiO7NKum07i|<-NuVsX}Q}mIP$jBJDMfUiaWR3c|F_kWBMw0_Sr|6h4 zk`_r5=0&rCR^*tOy$A8K;@|NqwncjZ>Y-75vlpxq%Cl3EgH`}^^~=u zoll6xxY@a>0f%Ddpi;=cY}fyG!K2N-dEyXXmUP5u){4VnyS^T4?pjN@Ot4zjL(Puw z_U#wMH2Z#8Pts{olG5Dy0tZj;N@;fHheu>YKYQU=4Bk|wcD9MbA`3O4bj$hNRHwzb zSLcG0SLV%zywdbuwl(^E_!@&)TdXge4O{MRWk2RKOt@!8E{$BU-AH(@4{gxs=YAz9LIob|Hzto0}9cWoz6Tp2x0&xi#$ zHh$dwO&UCR1Ob2w00-2eG7d4=cN(Y>0R#$q8?||q@iTi+7-w-xR%uMr&StFIthC<# zvK(aPduwuNB}oJUV8+Zl)%cnfsHI%4`;x6XW^UF^e4s3Z@S<&EV8?56Wya;HNs0E> z`$0dgRdiUz9RO9Au3RmYq>K#G=X%*_dUbSJHP`lSfBaN8t-~@F>)BL1RT*9I851A3 z<-+Gb#_QRX>~av#Ni<#zLswtu-c6{jGHR>wflhKLzC4P@b%8&~u)fosoNjk4r#GvC zlU#UU9&0Hv;d%g72Wq?Ym<&&vtA3AB##L}=ZjiTR4hh7J)e>ei} zt*u+>h%MwN`%3}b4wYpV=QwbY!jwfIj#{me)TDOG`?tI!%l=AwL2G@9I~}?_dA5g6 zCKgK(;6Q0&P&K21Tx~k=o6jwV{dI_G+Ba*Zts|Tl6q1zeC?iYJTb{hel*x>^wb|2RkHkU$!+S4OU4ZOKPZjV>9OVsqNnv5jK8TRAE$A&^yRwK zj-MJ3Pl?)KA~fq#*K~W0l4$0=8GRx^9+?w z!QT8*-)w|S^B0)ZeY5gZPI2G(QtQf?DjuK(s^$rMA!C%P22vynZY4SuOE=wX2f8$R z)A}mzJi4WJnZ`!bHG1=$lwaxm!GOnRbR15F$nRC-M*H<*VfF|pQw(;tbSfp({>9^5 zw_M1-SJ9eGF~m(0dvp*P8uaA0Yw+EkP-SWqu zqal$hK8SmM7#Mrs0@OD+%_J%H*bMyZiWAZdsIBj#lkZ!l2c&IpLu(5^T0Ge5PHzR} zn;TXs$+IQ_&;O~u=Jz+XE0wbOy`=6>m9JVG} zJ~Kp1e5m?K3x@@>!D)piw^eMIHjD4RebtR`|IlckplP1;r21wTi8v((KqNqn%2CB< zifaQc&T}*M&0i|LW^LgdjIaX|o~I$`owHolRqeH_CFrqCUCleN130&vH}dK|^kC>) z-r2P~mApHotL4dRX$25lIcRh_*kJaxi^%ZN5-GAAMOxfB!6flLPY-p&QzL9TE%ho( zRwftE3sy5<*^)qYzKkL|rE>n@hyr;xPqncY6QJ8125!MWr`UCWuC~A#G1AqF1@V$kv>@NBvN&2ygy*{QvxolkRRb%Ui zsmKROR%{*g*WjUUod@@cS^4eF^}yQ1>;WlGwOli z+Y$(8I`0(^d|w>{eaf!_BBM;NpCoeem2>J}82*!em=}}ymoXk>QEfJ>G(3LNA2-46 z5PGvjr)Xh9>aSe>vEzM*>xp{tJyZox1ZRl}QjcvX2TEgNc^(_-hir@Es>NySoa1g^ zFow_twnHdx(j?Q_3q51t3XI7YlJ4_q&(0#)&a+RUy{IcBq?)eaWo*=H2UUVIqtp&lW9JTJiP&u zw8+4vo~_IJXZIJb_U^&=GI1nSD%e;P!c{kZALNCm5c%%oF+I3DrA63_@4)(v4(t~JiddILp7jmoy+>cD~ivwoctFfEL zP*#2Rx?_&bCpX26MBgp^4G>@h`Hxc(lnqyj!*t>9sOBcXN(hTwEDpn^X{x!!gPX?1 z*uM$}cYRwHXuf+gYTB}gDTcw{TXSOUU$S?8BeP&sc!Lc{{pEv}x#ELX>6*ipI1#>8 zKes$bHjiJ1OygZge_ak^Hz#k;=od1wZ=o71ba7oClBMq>Uk6hVq|ePPt)@FM5bW$I z;d2Or@wBjbTyZj|;+iHp%Bo!Vy(X3YM-}lasMItEV_QrP-Kk_J4C>)L&I3Xxj=E?| zsAF(IfVQ4w+dRRnJ>)}o^3_012YYgFWE)5TT=l2657*L8_u1KC>Y-R{7w^S&A^X^U}h20jpS zQsdeaA#WIE*<8KG*oXc~$izYilTc#z{5xhpXmdT-YUnGh9v4c#lrHG6X82F2-t35} zB`jo$HjKe~E*W$=g|j&P>70_cI`GnOQ;Jp*JK#CT zuEGCn{8A@bC)~0%wsEv?O^hSZF*iqjO~_h|>xv>PO+?525Nw2472(yqS>(#R)D7O( zg)Zrj9n9$}=~b00=Wjf?E418qP-@8%MQ%PBiCTX=$B)e5cHFDu$LnOeJ~NC;xmOk# z>z&TbsK>Qzk)!88lNI8fOE2$Uxso^j*1fz>6Ot49y@=po)j4hbTIcVR`ePHpuJSfp zxaD^Dn3X}Na3@<_Pc>a;-|^Pon(>|ytG_+U^8j_JxP=_d>L$Hj?|0lz>_qQ#a|$+( z(x=Lipuc8p4^}1EQhI|TubffZvB~lu$zz9ao%T?%ZLyV5S9}cLeT?c} z>yCN9<04NRi~1oR)CiBakoNhY9BPnv)kw%*iv8vdr&&VgLGIs(-FbJ?d_gfbL2={- zBk4lkdPk~7+jIxd4{M(-W1AC_WcN&Oza@jZoj zaE*9Y;g83#m(OhA!w~LNfUJNUuRz*H-=$s*z+q+;snKPRm9EptejugC-@7-a-}Tz0 z@KHra#Y@OXK+KsaSN9WiGf?&jlZ!V7L||%KHP;SLksMFfjkeIMf<1e~t?!G3{n)H8 zQAlFY#QwfKuj;l@<$YDATAk;%PtD%B(0<|8>rXU< zJ66rkAVW_~Dj!7JGdGGi4NFuE?7ZafdMxIh65Sz7yQoA7fBZCE@WwysB=+`kT^LFX zz8#FlSA5)6FG9(qL3~A24mpzL@@2D#>0J7mMS1T*9UJ zvOq!!a(%IYY69+h45CE?(&v9H4FCr>gK0>mK~F}5RdOuH2{4|}k@5XpsX7+LZo^Qa4sH5`eUj>iffoBVm+ zz4Mtf`h?NW$*q1yr|}E&eNl)J``SZvTf6Qr*&S%tVv_OBpbjnA0&Vz#(;QmGiq-k! zgS0br4I&+^2mgA15*~Cd00cXLYOLA#Ep}_)eED>m+K@JTPr_|lSN}(OzFXQSBc6fM z@f-%2;1@BzhZa*LFV z-LrLmkmB%<<&jEURBEW>soaZ*rSIJNwaV%-RSaCZi4X)qYy^PxZ=oL?6N-5OGOMD2 z;q_JK?zkwQ@b3~ln&sDtT5SpW9a0q+5Gm|fpVY2|zqlNYBR}E5+ahgdj!CvK$Tlk0 z9g$5N;aar=CqMsudQV>yb4l@hN(9Jcc=1(|OHsqH6|g=K-WBd8GxZ`AkT?OO z-z_Ued-??Z*R4~L7jwJ%-`s~FK|qNAJ;EmIVDVpk{Lr7T4l{}vL)|GuUuswe9c5F| zv*5%u01hlv08?00Vpwyk*Q&&fY8k6MjOfpZfKa@F-^6d=Zv|0@&4_544RP5(s|4VPVP-f>%u(J@23BHqo2=zJ#v9g=F!cP((h zpt0|(s++ej?|$;2PE%+kc6JMmJjDW)3BXvBK!h!E`8Y&*7hS{c_Z?4SFP&Y<3evqf z9-ke+bSj$%Pk{CJlJbWwlBg^mEC^@%Ou?o>*|O)rl&`KIbHrjcpqsc$Zqt0^^F-gU2O=BusO+(Op}!jNzLMc zT;0YT%$@ClS%V+6lMTfhuzzxomoat=1H?1$5Ei7&M|gxo`~{UiV5w64Np6xV zVK^nL$)#^tjhCpTQMspXI({TW^U5h&Wi1Jl8g?P1YCV4=%ZYyjSo#5$SX&`r&1PyC zzc;uzCd)VTIih|8eNqFNeBMe#j_FS6rq81b>5?aXg+E#&$m++Gz9<+2)h=K(xtn}F ziV{rmu+Y>A)qvF}ms}4X^Isy!M&1%$E!rTO~5(p+8{U6#hWu>(Ll1}eD64Xa>~73A*538wry?v$vW z>^O#FRdbj(k0Nr&)U`Tl(4PI*%IV~;ZcI2z&rmq=(k^}zGOYZF3b2~Klpzd2eZJl> zB=MOLwI1{$RxQ7Y4e30&yOx?BvAvDkTBvWPpl4V8B7o>4SJn*+h1Ms&fHso%XLN5j z-zEwT%dTefp~)J_C8;Q6i$t!dnlh-!%haR1X_NuYUuP-)`IGWjwzAvp!9@h`kPZhf zwLwFk{m3arCdx8rD~K2`42mIN4}m%OQ|f)4kf%pL?Af5Ul<3M2fv>;nlhEPR8b)u} zIV*2-wyyD%%) zl$G@KrC#cUwoL?YdQyf9WH)@gWB{jd5w4evI& zOFF)p_D8>;3-N1z6mES!OPe>B^<;9xsh)){Cw$Vs-ez5nXS95NOr3s$IU;>VZSzKn zBvub8_J~I%(DozZW@{)Vp37-zevxMRZ8$8iRfwHmYvyjOxIOAF2FUngKj289!(uxY zaClWm!%x&teKmr^ABrvZ(ikx{{I-lEzw5&4t3P0eX%M~>$wG0ZjA4Mb&op+0$#SO_ z--R`>X!aqFu^F|a!{Up-iF(K+alKB{MNMs>e(i@Tpy+7Z-dK%IEjQFO(G+2mOb@BO zP>WHlS#fSQm0et)bG8^ZDScGnh-qRKIFz zfUdnk=m){ej0i(VBd@RLtRq3Ep=>&2zZ2%&vvf?Iex01hx1X!8U+?>ER;yJlR-2q4 z;Y@hzhEC=d+Le%=esE>OQ!Q|E%6yG3V_2*uh&_nguPcZ{q?DNq8h_2ahaP6=pP-+x zK!(ve(yfoYC+n(_+chiJ6N(ZaN+XSZ{|H{TR1J_s8x4jpis-Z-rlRvRK#U%SMJ(`C z?T2 zF(NNfO_&W%2roEC2j#v*(nRgl1X)V-USp-H|CwFNs?n@&vpRcj@W@xCJwR6@T!jt377?XjZ06=`d*MFyTdyvW!`mQm~t3luzYzvh^F zM|V}rO>IlBjZc}9Z zd$&!tthvr>5)m;5;96LWiAV0?t)7suqdh0cZis`^Pyg@?t>Ms~7{nCU;z`Xl+raSr zXpp=W1oHB*98s!Tpw=R5C)O{{Inl>9l7M*kq%#w9a$6N~v?BY2GKOVRkXYCgg*d

<5G2M1WZP5 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 F{|7XC?P&l2 literal 0 HcmV?d00001 diff --git a/app/WikiSpot/gradle/wrapper/gradle-wrapper.properties b/app/WikiSpot/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..5b141c0 --- /dev/null +++ b/app/WikiSpot/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +#Tue Mar 16 07:03:08 CET 2021 +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip diff --git a/app/WikiSpot/gradlew b/app/WikiSpot/gradlew new file mode 100644 index 0000000..cccdd3d --- /dev/null +++ b/app/WikiSpot/gradlew @@ -0,0 +1,172 @@ +#!/usr/bin/env sh + +############################################################################## +## +## Gradle start up script for UN*X +## +############################################################################## + +# Attempt to set APP_HOME +# Resolve links: $0 may be a link +PRG="$0" +# Need this for relative symlinks. +while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG=`dirname "$PRG"`"/$link" + fi +done +SAVED="`pwd`" +cd "`dirname \"$PRG\"`/" >/dev/null +APP_HOME="`pwd -P`" +cd "$SAVED" >/dev/null + +APP_NAME="Gradle" +APP_BASE_NAME=`basename "$0"` + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS="" + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD="maximum" + +warn () { + echo "$*" +} + +die () { + echo + echo "$*" + echo + exit 1 +} + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "`uname`" in + CYGWIN* ) + cygwin=true + ;; + Darwin* ) + darwin=true + ;; + MINGW* ) + msys=true + ;; + NONSTOP* ) + nonstop=true + ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD="java" + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then + MAX_FD_LIMIT=`ulimit -H -n` + if [ $? -eq 0 ] ; then + if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then + MAX_FD="$MAX_FD_LIMIT" + fi + ulimit -n $MAX_FD + if [ $? -ne 0 ] ; then + warn "Could not set maximum file descriptor limit: $MAX_FD" + fi + else + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" + fi +fi + +# For Darwin, add options to specify how the application appears in the dock +if $darwin; then + GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\"" +fi + +# For Cygwin, switch paths to Windows format before running java +if $cygwin ; then + APP_HOME=`cygpath --path --mixed "$APP_HOME"` + CLASSPATH=`cygpath --path --mixed "$CLASSPATH"` + JAVACMD=`cygpath --unix "$JAVACMD"` + + # We build the pattern for arguments to be converted via cygpath + ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null` + SEP="" + for dir in $ROOTDIRSRAW ; do + ROOTDIRS="$ROOTDIRS$SEP$dir" + SEP="|" + done + OURCYGPATTERN="(^($ROOTDIRS))" + # Add a user-defined pattern to the cygpath arguments + if [ "$GRADLE_CYGPATTERN" != "" ] ; then + OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)" + fi + # Now convert the arguments - kludge to limit ourselves to /bin/sh + i=0 + for arg in "$@" ; do + CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -` + CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option + + if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition + eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"` + else + eval `echo args$i`="\"$arg\"" + fi + i=$((i+1)) + done + case $i in + (0) set -- ;; + (1) set -- "$args0" ;; + (2) set -- "$args0" "$args1" ;; + (3) set -- "$args0" "$args1" "$args2" ;; + (4) set -- "$args0" "$args1" "$args2" "$args3" ;; + (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;; + (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;; + (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;; + (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;; + (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;; + esac +fi + +# Escape application args +save () { + for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done + echo " " +} +APP_ARGS=$(save "$@") + +# Collect all arguments for the java command, following the shell quoting and substitution rules +eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS" + +# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong +if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then + cd "$(dirname "$0")" +fi + +exec "$JAVACMD" "$@" diff --git a/app/WikiSpot/gradlew.bat b/app/WikiSpot/gradlew.bat new file mode 100644 index 0000000..f955316 --- /dev/null +++ b/app/WikiSpot/gradlew.bat @@ -0,0 +1,84 @@ +@if "%DEBUG%" == "" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%" == "" set DIRNAME=. +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS= + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if "%ERRORLEVEL%" == "0" goto init + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto init + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:init +@rem Get command-line arguments, handling Windows variants + +if not "%OS%" == "Windows_NT" goto win9xME_args + +:win9xME_args +@rem Slurp the command line arguments. +set CMD_LINE_ARGS= +set _SKIP=2 + +:win9xME_args_slurp +if "x%~1" == "x" goto execute + +set CMD_LINE_ARGS=%* + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS% + +:end +@rem End local scope for the variables with windows NT shell +if "%ERRORLEVEL%"=="0" goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 +exit /b 1 + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/app/WikiSpot/settings.gradle b/app/WikiSpot/settings.gradle new file mode 100644 index 0000000..dd02d2b --- /dev/null +++ b/app/WikiSpot/settings.gradle @@ -0,0 +1,2 @@ +include ':app' +rootProject.name = "WikiSpot" \ No newline at end of file From f53ed7653fc67a5708a6a74fb2ae7d34597b6877 Mon Sep 17 00:00:00 2001 From: Tucan444 <66880425+Tucan444@users.noreply.github.com> Date: Tue, 16 Mar 2021 20:42:48 +0100 Subject: [PATCH 13/18] Small changes --- .../example/wikispot/activities/MainActivity.kt | 15 +++++++++------ .../res/navigation/main_activity_navigation.xml | 10 +++++++--- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/app/WikiSpot/app/src/main/java/com/example/wikispot/activities/MainActivity.kt b/app/WikiSpot/app/src/main/java/com/example/wikispot/activities/MainActivity.kt index 1a62fad..5673be7 100644 --- a/app/WikiSpot/app/src/main/java/com/example/wikispot/activities/MainActivity.kt +++ b/app/WikiSpot/app/src/main/java/com/example/wikispot/activities/MainActivity.kt @@ -2,23 +2,26 @@ package com.example.wikispot.activities import androidx.appcompat.app.AppCompatActivity import android.os.Bundle -import android.view.Window -import android.view.WindowManager +import androidx.appcompat.app.AlertDialog import androidx.navigation.findNavController import androidx.navigation.ui.setupWithNavController import com.example.wikispot.R -import com.example.wikispot.databinding.ActivityMainBinding import com.google.android.material.bottomnavigation.BottomNavigationView class MainActivity : AppCompatActivity() { - //private lateinit var binding: ActivityMainBinding + override fun onBackPressed() { + val builder = AlertDialog.Builder(this) + builder.setTitle("Confirm") + builder.setMessage("Do you want to quit the application?") + builder.setPositiveButton("Yes") {_, _ -> finish()} + builder.setNegativeButton("No") {_, _ -> } + builder.show() + } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) - //binding = ActivityMainBinding.inflate(layoutInflater) - //setContentView(binding.root) val navController = findNavController(R.id.mainFragmentHost) val bottomNavView = findViewById(R.id.mainBottomNavigationView) diff --git a/app/WikiSpot/app/src/main/res/navigation/main_activity_navigation.xml b/app/WikiSpot/app/src/main/res/navigation/main_activity_navigation.xml index 8941056..d2b6544 100644 --- a/app/WikiSpot/app/src/main/res/navigation/main_activity_navigation.xml +++ b/app/WikiSpot/app/src/main/res/navigation/main_activity_navigation.xml @@ -3,7 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/main_activity_navigation" - app:startDestination="@id/chatFragment"> + app:startDestination="@id/homeFragment"> + tools:layout="@layout/fragment_explore"> @@ -28,7 +28,11 @@ android:id="@+id/mapFragment" android:name="com.example.wikispot.fragments.mapFragment" android:label="fragment_map" - tools:layout="@layout/fragment_map" /> + tools:layout="@layout/fragment_map"> + + Date: Tue, 16 Mar 2021 23:16:26 +0100 Subject: [PATCH 14/18] =?UTF-8?q?=C3=BApln=C3=BD=20z=C3=A1klad?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit potrebujem vedieť či to môže takto zatiaľ byť --- websites/styles.css | 63 +++++++++++++++++++++++++++++++++++++++++ websites/travellly.html | 26 +++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 websites/styles.css create mode 100644 websites/travellly.html diff --git a/websites/styles.css b/websites/styles.css new file mode 100644 index 0000000..b9ff64b --- /dev/null +++ b/websites/styles.css @@ -0,0 +1,63 @@ +nav{ + float: right; + position: sticky; +} +li{ + padding-top: 50px; + padding-bottom: 50px; + padding-left: 50px; + padding-right: 50px; + display: inline-block; + font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; + font-size: 18px; + transition: background-color 0.5s; +} +header{ + background-color:#0077B6; + padding-bottom: 23px; +} +body{ + background-color: #00B4D8; + margin: 0; +} +img{ + padding-top: 25px; + padding-left: 25px; +} +li:hover{ + background-color: rgba(79, 80, 80, 0.356); + transition: ease-in-out; + transition: background-color 0.5s; + +} +ul{ + margin: 0; +} +.an{ + color: #FFFFFF; + font-family: 'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif; + font-size: 35px; + margin: 0; + margin-top: 340px; + margin-left: 150px; +} +#here{ + margin-top: 150px; +} +#phone{ + width: 200px; + height: 400px; + border: 10px solid grey; + border-radius: 5%; + background-color: black; + margin-left: 150px; + margin-top: 150px; +} +div{ + display: inline-block; + float: left; +} +a{ + text-decoration: none; + color: #FFFFFF; +} diff --git a/websites/travellly.html b/websites/travellly.html new file mode 100644 index 0000000..e280248 --- /dev/null +++ b/websites/travellly.html @@ -0,0 +1,26 @@ + + + + Travellly + + + +

+ +
+ +
+ + \ No newline at end of file From deaf21737024a7709d8710127c6bc65a02024584 Mon Sep 17 00:00:00 2001 From: Untriex Programming Date: Wed, 17 Mar 2021 08:12:52 +0100 Subject: [PATCH 15/18] moved server to own folder --- app/WikiSpot/.idea/vcs.xml | 6 +++ engine.py => server/engine.py | 0 {files => server/files}/test.jpg | Bin {files => server/files}/test.txt | 0 {files => server/files}/test2.txt | 0 filesystem.json => server/filesystem.json | 2 +- log.txt => server/log.txt | 0 main.py => server/main.py | 0 settings.json => server/settings.json | 0 server/setup.py | 12 +++++ server/test.json | 47 +++++++++++++++++ server/test.py | 60 ++++++++++++++++++++++ version.json => server/version.json | 0 13 files changed, 126 insertions(+), 1 deletion(-) create mode 100644 app/WikiSpot/.idea/vcs.xml rename engine.py => server/engine.py (100%) rename {files => server/files}/test.jpg (100%) rename {files => server/files}/test.txt (100%) rename {files => server/files}/test2.txt (100%) rename filesystem.json => server/filesystem.json (99%) rename log.txt => server/log.txt (100%) rename main.py => server/main.py (100%) rename settings.json => server/settings.json (100%) create mode 100644 server/setup.py create mode 100644 server/test.json create mode 100644 server/test.py rename version.json => server/version.json (100%) diff --git a/app/WikiSpot/.idea/vcs.xml b/app/WikiSpot/.idea/vcs.xml new file mode 100644 index 0000000..b2bdec2 --- /dev/null +++ b/app/WikiSpot/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/engine.py b/server/engine.py similarity index 100% rename from engine.py rename to server/engine.py diff --git a/files/test.jpg b/server/files/test.jpg similarity index 100% rename from files/test.jpg rename to server/files/test.jpg diff --git a/files/test.txt b/server/files/test.txt similarity index 100% rename from files/test.txt rename to server/files/test.txt diff --git a/files/test2.txt b/server/files/test2.txt similarity index 100% rename from files/test2.txt rename to server/files/test2.txt diff --git a/filesystem.json b/server/filesystem.json similarity index 99% rename from filesystem.json rename to server/filesystem.json index bfb59b2..2031326 100644 --- a/filesystem.json +++ b/server/filesystem.json @@ -19,4 +19,4 @@ "description": "toto je txt test file" } ] -} \ No newline at end of file +} diff --git a/log.txt b/server/log.txt similarity index 100% rename from log.txt rename to server/log.txt diff --git a/main.py b/server/main.py similarity index 100% rename from main.py rename to server/main.py diff --git a/settings.json b/server/settings.json similarity index 100% rename from settings.json rename to server/settings.json diff --git a/server/setup.py b/server/setup.py new file mode 100644 index 0000000..88d6fa2 --- /dev/null +++ b/server/setup.py @@ -0,0 +1,12 @@ +import tkinter +import json +height = 750 +width = 1200 +with open("settings.json", "r") as file: + settings = json.load(file) +with open("settings.json", "r") as file: + filesystem = json.load(file) +canvas = tkinter.Canvas(height=height, width=width) +canvas.pack() + +canvas.mainloop() \ No newline at end of file diff --git a/server/test.json b/server/test.json new file mode 100644 index 0000000..ea7f657 --- /dev/null +++ b/server/test.json @@ -0,0 +1,47 @@ +{ + "connected_id": 1, + "1": { + "ID": 1, + "location": "GPS", + "descrpition": { + "title": "nazov rpi ako nazov", + "description_s": "krátky popis, ktorý bude zobrazený iba v náhladovom okne", + "description_l": "dlhší popis zariadenia, ktorý bude zobrazený po otvorení", + "photo_s": "mala_fotka.png", + "photo_b": "velka_fotka.png" + }, + "files": [ + { + "name": "prehliadky", + "format": ".pdf", + "description": "tento súbor obsahuje prehliadky" + }, { + "name": "prehliadky", + "format": ".pdf", + "description": "tento súbor obsahuje prehliadky" + } + ] + }, + "2": { + "ID": 2, + "location": "GPS", + "descrpition": { + "title": "nazov rpi ako nazov", + "description_s": "krátky popis, ktorý bude zobrazený iba v náhladovom okne", + "description_l": "dlhší popis zariadenia, ktorý bude zobrazený po otvorení", + "photo_s": "mala_fotka.png", + "photo_b": "velka fotka.png" + }, + "files": [ + { + "name": "prehliadky", + "format": ".pdf", + "description": "tento súbor obsahuje prehliadky" + }, { + "name": "prehliadky", + "format": ".pdf", + "description": "tento súbor obsahuje prehliadky" + } + ] + } +} \ No newline at end of file diff --git a/server/test.py b/server/test.py new file mode 100644 index 0000000..81785ff --- /dev/null +++ b/server/test.py @@ -0,0 +1,60 @@ +import curses + +menu = ['Home', 'Play', 'Scoreboard', 'Exit'] + + +def print_menu(stdscr, selected_row_idx): + stdscr.clear() + h, w = stdscr.getmaxyx() + for idx, row in enumerate(menu): + x = w//2 - len(row)//2 + y = h//2 - len(menu)//2 + idx + if idx == selected_row_idx: + stdscr.attron(curses.color_pair(1)) + stdscr.addstr(y, x, row) + stdscr.attroff(curses.color_pair(1)) + else: + stdscr.addstr(y, x, row) + stdscr.refresh() + + +def print_center(stdscr, text): + stdscr.clear() + h, w = stdscr.getmaxyx() + x = w//2 - len(text)//2 + y = h//2 + stdscr.addstr(y, x, text) + stdscr.refresh() + + +def main(stdscr): + # turn off cursor blinking + curses.curs_set(0) + + # color scheme for selected row + curses.init_pair(1, curses.COLOR_BLACK, curses.COLOR_WHITE) + + # specify the current selected row + current_row = 0 + + # print the menu + print_menu(stdscr, current_row) + + while 1: + key = stdscr.getch() + + if key == curses.KEY_UP and current_row > 0: + current_row -= 1 + elif key == curses.KEY_DOWN and current_row < len(menu)-1: + current_row += 1 + elif key == curses.KEY_ENTER or key in [10, 13]: + print_center(stdscr, "You selected '{}'".format(menu[current_row])) + stdscr.getch() + # if user selected last row, exit the program + if current_row == len(menu)-1: + break + + print_menu(stdscr, current_row) + + +curses.wrapper(main) \ No newline at end of file diff --git a/version.json b/server/version.json similarity index 100% rename from version.json rename to server/version.json From 8b03f484e600f77c92626b45bf8e580cb94b2814 Mon Sep 17 00:00:00 2001 From: Untriex Programming <48880229+UntriexTv@users.noreply.github.com> Date: Wed, 17 Mar 2021 08:28:18 +0100 Subject: [PATCH 16/18] Update README.md --- README.md | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index fe6799b..6cbff57 100644 --- a/README.md +++ b/README.md @@ -5,8 +5,16 @@ We are working on system, that will help tourists in cities to get information a - work in progress (but probabbly we will use rpi with external antena for wifi) # Software -- python 3.9 based server with basic web interface +- python 3.9.2 compatible server with basic web interface - python 3.x based mobile app with help of android studio -# Known issues -- no code writen (needs to be fixed app does not work because of it) +# Server +To run server you need to install +- hypercorn - "pip install hypercorn" +- fastapi - "pip install fastapi" +- requests - "pip install requests" + +then run by command - "hypercorn main:app --bind " +To connect to another rpi you need to edit settings.json with different ID and fill heartbeat table. + +This is not finished product From 1979672c62d996a70c64c34ceec6c4f8f1821db7 Mon Sep 17 00:00:00 2001 From: Untriex Programming Date: Wed, 17 Mar 2021 08:48:03 +0100 Subject: [PATCH 17/18] Update of server table --- server/main.py | 10 ++++------ server/settings.json | 9 ++++++++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/server/main.py b/server/main.py index 9c6f979..1ec9f9c 100644 --- a/server/main.py +++ b/server/main.py @@ -12,6 +12,9 @@ import hashlib with open("settings.json", "r") as f: # loading settings settings = json.load(f) +with open("filesystem.json", "r") as f: # loading settings + filesystem = json.load(f) + IP = settings["IP"] ID = settings["ID"] location = settings["location"] @@ -25,11 +28,6 @@ time_to_heartbeat_offline = settings[ "time_to_heartbeat_offline"] # Raspberry will be requesting heartbeat every __ seconds from offline rpi # json variables -filesystem = { # Here will be files saved on this raspberry - "otvaracie_hod": ["t", {"pon": "10-25"}, {"uto": "10-25"}], - "prehliadka": ["pdf", "/files/prehliadka.pdf"], - "fotky_hrad": ["png_z", ["/files/hrad1.png", "/files/hrad2.png"]] -} heartbeat_table = settings["heartbeat_table"] sensors = { # List of "live" data like tempeature, etc. "teplota": 24, @@ -140,7 +138,7 @@ def comparision(file: str): @app.get("/devices_list") def get_devices_list(): - return heartbeat_table + return heartbeat_table["file_system"] def send_heartbeat(ip, id): diff --git a/server/settings.json b/server/settings.json index 989602e..ebf1394 100644 --- a/server/settings.json +++ b/server/settings.json @@ -12,5 +12,12 @@ "save_message": false, "print_message": true, "enable_debug": false - } + }, + "heartbeat_table": { + "ID": [], + "IP": [], + "location": [], + "file_system": [], + "last_heartbeat": [] +} } From 4e75a3f2a2c3334d8daf6e8c09223e31e332d11c Mon Sep 17 00:00:00 2001 From: Untriex Programming <48880229+UntriexTv@users.noreply.github.com> Date: Wed, 17 Mar 2021 13:09:03 +0100 Subject: [PATCH 18/18] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6cbff57..0bfdce9 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,7 @@ To run server you need to install - hypercorn - "pip install hypercorn" - fastapi - "pip install fastapi" - requests - "pip install requests" +- aiofiles - "pip install aiofiles" then run by command - "hypercorn main:app --bind " To connect to another rpi you need to edit settings.json with different ID and fill heartbeat table.
+ + +